用于文件系統(tǒng)的方法和裝置制造方法
【專利摘要】本發(fā)明涉及一種用于文件系統(tǒng)的方法和裝置,所述文件系統(tǒng)包括至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū),所述第一邏輯存儲區(qū)的邏輯區(qū)塊與所述第二邏輯存儲區(qū)的邏輯區(qū)塊大小不同,所述方法包括:響應(yīng)于文件創(chuàng)建請求,從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的邏輯存儲區(qū);以及在所選擇的邏輯存儲區(qū)中存儲所述文件。通過本發(fā)明的各種實(shí)施方式,可以在一個文件系統(tǒng)中使用直接和有效的方式來支持可變長度區(qū)塊大小,并且并未增加元數(shù)據(jù)和定位開銷。
【專利說明】用于文件系統(tǒng)的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實(shí)施方式涉及文件系統(tǒng)領(lǐng)域,具體而言涉及用于文件系統(tǒng)的方法和裝置。
【背景技術(shù)】
[0002]隨著計算機(jī)技術(shù)的不斷發(fā)展,對文件系統(tǒng)的各種需求也日新月異。通常,文件系統(tǒng)通過維護(hù)邏輯存儲區(qū)塊來管理對文件的存儲,邏輯存儲區(qū)塊與物理存儲區(qū)塊相對應(yīng),后者用于實(shí)際的文件存儲。在實(shí)踐中,可變的文件塊大小在文件系統(tǒng)的設(shè)計和實(shí)現(xiàn)中非常有用。它可以減少元數(shù)據(jù)的占用、改進(jìn)I/O性能,并且減少碎片。
[0003]然而,雖然許多現(xiàn)代的文件系統(tǒng)能夠支持不同的塊大小,但通常在創(chuàng)建文件系統(tǒng)時僅使用一個塊大小,并且塊大小在文件系統(tǒng)的生命周期期間不能改變。因此,在現(xiàn)有技術(shù)中缺乏對文件系統(tǒng)靈活、高效的管理方式,不能充分利用文件系統(tǒng)的靈活性。
【發(fā)明內(nèi)容】
[0004]為此,本發(fā)明提出了一種用于文件系統(tǒng)的技術(shù)。
[0005]根據(jù)本發(fā)明的一個方面,提供一種用于文件系統(tǒng)的方法,所述文件系統(tǒng)包括至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū),所述第一邏輯存儲區(qū)的邏輯區(qū)塊與所述第二邏輯存儲區(qū)的邏輯區(qū)塊大小不同,所述方法包括:響應(yīng)于文件創(chuàng)建請求,從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的邏輯存儲區(qū);以及在所選擇的邏輯存儲區(qū)中存儲所述文件。
[0006]根據(jù)本發(fā)明的可選實(shí)施方式,基于所述文件的屬性,例如類型和/或文件大小而從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的存儲區(qū)。根據(jù)本發(fā)明的進(jìn)一步可選實(shí)施方式,所述文件的類型包括以下中的一個或多個:視頻文件、音頻文件、數(shù)據(jù)庫文件以及文本文件。
[0007]根據(jù)本發(fā)明的可選實(shí)施方式,在所選擇的邏輯存儲區(qū)中存儲所述文件進(jìn)一步包括:在所述所選擇的邏輯存儲區(qū)中選擇用于存儲所述文件的位置;從物理存儲池中分配對應(yīng)大小的物理存儲塊;以及將所述文件的內(nèi)容寫入所述物理存儲塊中。根據(jù)本發(fā)明的進(jìn)一步可選實(shí)施方式,所述文件系統(tǒng)進(jìn)一步包括用于記錄所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系的映射表,所述在所選擇的邏輯存儲區(qū)中存儲所述文件進(jìn)一步包括:基于所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系,更新塊映射表。
[0008]根據(jù)本發(fā)明的另一方面,提供了一種用于文件系統(tǒng)的裝置,所述文件系統(tǒng)包括至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū),所述第一邏輯存儲區(qū)的邏輯區(qū)塊與所述第二邏輯存儲區(qū)的邏輯區(qū)塊大小不同,所述裝置包括:選擇單元,被配置為響應(yīng)于文件創(chuàng)建請求,從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的邏輯存儲區(qū);以及存儲單元,被配置為在所選擇的邏輯存儲區(qū)中存儲所述文件。
[0009]根據(jù)本發(fā)明的可選實(shí)施方式,所述選擇單元被配置為基于所述文件的類型和/或文件大小而從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的存儲區(qū)。根據(jù)本發(fā)明的進(jìn)一步可選實(shí)施方式,所述文件的類型包括以下中的一個或多個:視頻文件、音頻文件以及文本文件。
[0010]根據(jù)本發(fā)明的可選實(shí)施方式,所述存儲單元進(jìn)一步包括:位置選擇單元,被配置為在所述所選擇的邏輯存儲區(qū)中選擇用于存儲所述文件的位置;分配單元,被配置為從物理存儲池中分配對應(yīng)大小的物理存儲塊;以及寫入單元,被配置為將所述文件的內(nèi)容寫入所述物理存儲塊中。根據(jù)本發(fā)明的進(jìn)一步可選實(shí)施方式,所述文件系統(tǒng)進(jìn)一步包括用于記錄所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系的映射表,所述存儲單元進(jìn)一步包括:更新單元,被配置為基于所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系,更新塊映射表。
[0011]根據(jù)本發(fā)明的又一方面,提供了一種文件系統(tǒng),包括至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū),所述第一邏輯存儲區(qū)的邏輯區(qū)塊與所述第二邏輯存儲區(qū)的邏輯區(qū)塊大小不同,所述文件系統(tǒng)包括前述任一項(xiàng)用于文件系統(tǒng)的裝置。
[0012]根據(jù)本發(fā)明各種實(shí)施方式,可以在一個文件系統(tǒng)中使用直接和有效的方式來支持可變長度區(qū)塊大小,并且并未增加元數(shù)據(jù)和定位開銷??膳渲玫牟呗砸孢€使得能夠更容易和直接地控制塊大小。由此提供了更好的數(shù)據(jù)集成性和高可用性。
【專利附圖】
【附圖說明】
[0013]圖1示出了其中包含有根據(jù)本發(fā)明一個示例性實(shí)施方式用于文件系統(tǒng)的裝置的文件系統(tǒng)100的框圖;
[0014]圖2示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的文件系統(tǒng)地址空間的具體示例;
[0015]圖3示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的在文件系統(tǒng)中創(chuàng)建文件的具體示例;
[0016]圖4示出了根據(jù)本發(fā)明一個示例性實(shí)施方式用于文件系統(tǒng)的方法400的流程圖;
[0017]圖5示出了適于用來實(shí)踐本發(fā)明實(shí)施方式的計算機(jī)系統(tǒng)500的示意性框圖。
[0018]應(yīng)當(dāng)注意,附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施方式的裝置、方法和計算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實(shí)現(xiàn)。
【具體實(shí)施方式】
[0019]下面將參考附圖中示出的若干示例性實(shí)施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,描述這些實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。
[0020]首先參考圖1,其示出了其中包含有根據(jù)本發(fā)明一個示例性實(shí)施方式用于文件系統(tǒng)的裝置的文件系統(tǒng)100的框圖。
[0021]如圖所示,在文件系統(tǒng)100中至少包含第一邏輯存儲區(qū)101和第二邏輯存儲區(qū)102。該第一邏輯存儲區(qū)101的邏輯區(qū)塊大小和第二邏輯存儲區(qū)102的邏輯區(qū)塊大小不同。要注意的是,文件系統(tǒng)100除第一邏輯存儲區(qū)101和第二邏輯存儲區(qū)102之外還可以包括具有其它大小(即不同于第一和第二邏輯存儲區(qū)塊大小)的邏輯存儲區(qū)。本發(fā)明在此方面不受限制。此外,雖然邏輯存儲區(qū)101和102的邏輯區(qū)塊大小不同,但物理存儲區(qū)塊的大小卻是固定的。在根據(jù)本發(fā)明的文件系統(tǒng)100中,文件系統(tǒng)地址空間是虛擬空間,也即在文件系統(tǒng)首次創(chuàng)建時,并不實(shí)際向文件系統(tǒng)提供物理存儲(除非用于超級塊的最小必需的空間)。因此,虛擬地址空間被劃分成相當(dāng)一些子空間,每個子空間對應(yīng)于不同的邏輯區(qū)塊大小。為了清楚地說明文件系統(tǒng)100,參考圖2。圖2示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的文件系統(tǒng)地址空間的具體示例。如圖2所示,文件系統(tǒng)地址空間除了超級塊之外,還包括被劃分成具有不同邏輯區(qū)塊大小的多個子空間,例如8K子空間、16K子空間.....128K子空間等。其中,8K子空間中包含有多個塊大小為8K的邏輯區(qū)塊;16K子空間中包含有多個塊大小為16Κ的邏輯區(qū)塊;...;128Κ子空間中包含有多個塊大小為128Κ的邏輯區(qū)塊,等等。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,8Κ子空間、16Κ子空間.....128Κ子空間等僅僅是示例,根據(jù)本發(fā)明的文件系統(tǒng)100完全可以劃分為其它大小的各個子空間,本發(fā)明的范圍在此不受限制。為了使每個子空間能夠覆蓋所有的物理存儲,可以優(yōu)選地使用64位的FSBN號。同樣,64位也是示例性的,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,完全可以使用更多或更少位數(shù)的FSBN號。另一方面,物理存儲被劃分成固定大小(例如,128ΜΒ)的分片(slice)。術(shù)語“分片”是向文件系統(tǒng)提供的物理存儲的單位。分片代表特定設(shè)備上連續(xù)可尋址范圍的物理存儲。
[0022]返回圖1,根據(jù)本發(fā)明的文件系統(tǒng)100還包括用于該文件系統(tǒng)的裝置103。裝置103包括選擇單元104和存儲單元105,其中,選擇單元104被配置為響應(yīng)于文件創(chuàng)建請求,從至少第一邏輯存儲區(qū)和101第二邏輯存儲區(qū)102中選擇用于存儲所述文件的邏輯存儲區(qū)。在可選的實(shí)施方式中,選擇單元104被配置為基于所述文件的類型和/或文件大小而從所述至少第一邏輯存儲區(qū)101和第二邏輯存儲區(qū)102中選擇用于存儲該文件的存儲區(qū)。在此,文件類型包括以下中的一個或多個:視頻文件、音頻文件以及文本文件。在本發(fā)明的一個可選實(shí)現(xiàn)中,可以采用策略引擎(Policy Engine)來保留用戶配置,在確定新創(chuàng)建的文件的邏輯塊大小時,可以查詢該用戶配置。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,策略引擎僅僅是實(shí)現(xiàn)的一個示例,并不作為對本發(fā)明精神和范圍的限制。在選擇了用于存儲文件的邏輯存儲區(qū)之后,由存儲單元105在所選擇的邏輯存儲區(qū)中存儲所述文件。
[0023]具體而言,在本發(fā)明的優(yōu)選實(shí)施方式中,存儲單元105可以包括位置選擇單元106、分配單元107和寫入單元108。其中,選擇單元106被配置為在所述所選擇的邏輯存儲區(qū)中選擇用于存儲所述文件的位置;分配單元107被配置為從物理存儲池中分配對應(yīng)大小的物理存儲塊;寫入單元108被配置為將所述文件的內(nèi)容寫入所述物理存儲塊中。注意,單兀106-108不是必需的,而是可選的。
[0024]為了清楚地說明前述裝置和單元,結(jié)合圖3作進(jìn)一步說明。圖3示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的在文件系統(tǒng)中創(chuàng)建文件的具體示例。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,下文參照圖3描述的存儲文件的具體實(shí)現(xiàn)僅是示例性的,不能作為對本發(fā)明精神和實(shí)質(zhì)的限制。如圖3所示,在創(chuàng)建文件3時(圖3中的①),通過策略引擎來確定用于(或適于)存儲該文件的邏輯塊大小。在圖3的示例中,確定適于存儲文件3的邏輯塊大小例如為128KB。所確定的邏輯塊大小在一個可選實(shí)現(xiàn)中可以被記錄在i節(jié)點(diǎn)(元數(shù)據(jù)節(jié)點(diǎn))中。此后,文件系統(tǒng)接收到發(fā)來的用于I/O操作的數(shù)據(jù)(圖3中的②)。文件系統(tǒng)嘗試從對應(yīng)于這一塊大小的子空間(邏輯塊大小為128KB的子空間)分配邏輯塊(圖3中的③)。注意,文件系統(tǒng)的大小與存儲池的大小可以相同也可以不同。在本發(fā)明的描述中,為了方便起見,不對存儲池的大小作特定限制,只要保證所需文件系統(tǒng)的大小能夠滿足即可。仍需強(qiáng)調(diào)的是,文件系統(tǒng)大小在創(chuàng)建時確立,而所占用的實(shí)際物理存儲在使用時(例如I/O發(fā)生時)分配。在具體實(shí)現(xiàn)中,在文件系統(tǒng)的超級塊中,會記錄每個子空間中,每個分片(例如,128MB分片)的使用情況,其中包括已經(jīng)使用和剩余的單元。當(dāng)一個子空間中,已經(jīng)請求的所有分片都沒有剩余(或剩余較少,不足以支持I/O操作)的情況下,按照如下步驟從物理存儲池中請求文件系統(tǒng)提供新的分片((圖3中的④):
[0025]a.在文件系統(tǒng)子空間中選擇位置;
[0026]b.從物理存儲池中分配空閑分片。
[0027]可選地,在根據(jù)圖3所示的實(shí)現(xiàn)中還可以包括步驟:
[0028]c.在超級塊的“分片映射表(SliceMapTable)”中填充物理存儲分片信息,從而維護(hù)物理存儲區(qū)塊和邏輯存儲區(qū)塊之間的映射關(guān)系。
[0029]這樣,在根據(jù)“分片映射表”計算出物理存儲上的數(shù)據(jù)偏移(實(shí)際物理存儲位置)之后,即可進(jìn)行實(shí)際的I/o操作。
[0030]備選地或附加地,存儲單元105還可以包括更新單元109,其被配置為基于所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系,更新塊映射表110。
[0031]同樣,圖3中示出的文件I和文件2經(jīng)過類似的上述過程分別被確定為存儲在8KB邏輯塊子空間和16KB的邏輯塊子空間,不再贅述。
[0032]需要注意的是,這里所用的術(shù)語“單元”既可以是硬件模塊,也可以是軟件單元模塊。相應(yīng)地,裝置103可以通過各種方式實(shí)現(xiàn)。例如,在某些實(shí)施方式中,裝置103可以部分或者全部利用軟件和/或固件來實(shí)現(xiàn),例如被實(shí)現(xiàn)為包含在計算機(jī)可讀介質(zhì)上的計算機(jī)程序產(chǎn)品。備選地或附加地,裝置100可以部分或者全部基于硬件來實(shí)現(xiàn),例如被實(shí)現(xiàn)為集成電路(1C)、專用集成電路(ASIC)、片上系統(tǒng)(SOC)、現(xiàn)場可編程門陣列(FPGA)等。本發(fā)明的范圍在此方面不受限制。
[0033]根據(jù)本發(fā)明的上述各種實(shí)施方式,可以在一個文件系統(tǒng)中使用直接和有效的方式來支持可變長度區(qū)塊大小,并且并未增加元數(shù)據(jù)和定位開銷。物理存儲采用隨用隨分配的方式可以使得存儲空間碎片最小化??膳渲玫牟呗砸孢€使得能夠更容易和直接地控制塊大小。由此提供了更好的數(shù)據(jù)集成性和高可用性。
[0034]現(xiàn)在參考圖4,其示出了根據(jù)本發(fā)明一個示例性實(shí)施方式用于文件系統(tǒng)的方法400的流程圖。其中,所述文件系統(tǒng)包括至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū),所述第一邏輯存儲區(qū)的邏輯區(qū)塊與所述第二邏輯存儲區(qū)的邏輯區(qū)塊大小不同。應(yīng)理解的是,方法400中記載的各個步驟可以按照不同的順序執(zhí)行,和/或并行執(zhí)行。方法400還可以包括附加的步驟和/或省略執(zhí)行示出的步驟。本發(fā)明的范圍在此方面不受限制。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,為了簡潔起見,下文對方法400的說明中,與前文類似的術(shù)語表達(dá)相似的含義。
[0035]方法400開始之后,在步驟S401處,響應(yīng)于文件創(chuàng)建請求,從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的邏輯存儲區(qū)。
[0036]接下來,方法400前進(jìn)到步驟S402,在所選擇的邏輯存儲區(qū)中存儲所述文件。
[0037]根據(jù)本發(fā)明的一個實(shí)施方式,基于所述文件的類型和/或文件大小而從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的存儲區(qū)。根據(jù)本發(fā)明的進(jìn)一步實(shí)施方式,所述文件的類型包括以下中的一個或多個:視頻文件、音頻文件以及文本文件。
[0038]在本發(fā)明的優(yōu)選實(shí)施方式中,步驟S402進(jìn)一步包括:在所述所選擇的邏輯存儲區(qū)中選擇用于存儲所述文件的位置;從物理存儲池中分配對應(yīng)大小的物理存儲塊;以及將所述文件的內(nèi)容寫入所述物理存儲塊中。
[0039]根據(jù)本發(fā)明的一個實(shí)施方式,所述文件系統(tǒng)進(jìn)一步包括用于記錄所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系的映射表,步驟S402進(jìn)一步包括基于所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系,更新塊映射表。
[0040]圖5示出了適于用來實(shí)踐本發(fā)明實(shí)施方式的計算機(jī)系統(tǒng)500的示意性框圖。如圖5所示,計算機(jī)系統(tǒng)500可以包括:CPU(中央處理單元)501、RAM (隨機(jī)存取存儲器)502、ROM(只讀存儲器)503、系統(tǒng)總線504、硬盤控制器505、鍵盤控制器506、串行接口控制器507、并行接口控制器508、顯示控制器509、硬盤510、鍵盤511、串行外部設(shè)備512、并行外部設(shè)備513和顯示器514。在這些設(shè)備中,與系統(tǒng)總線503耦合的有CPU501、RAM502、R0M503、硬盤控制器505、鍵盤控制器506、串行控制器507、并行控制器508和顯示控制器509。硬盤510與硬盤控制器505耦合,鍵盤511與鍵盤控制器506耦合,串行外部設(shè)備512與串行接口控制器507耦合,并行外部設(shè)備513與并行接口控制器508耦合,以及顯示器514與顯示控制器509耦合。
[0041]應(yīng)當(dāng)理解,圖5所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設(shè)備。
[0042]特別地,除硬件實(shí)施方式之外,本發(fā)明的實(shí)施方式可以通過計算機(jī)程序產(chǎn)品的形式實(shí)現(xiàn)。例如,參考圖4描述的方法400可以通過計算機(jī)程序產(chǎn)品來實(shí)現(xiàn)。該計算機(jī)程序產(chǎn)品可以存儲在例如圖5所示的RAM502、R0M503、硬盤510和/或任何適當(dāng)?shù)拇鎯橘|(zhì)中,或者通過網(wǎng)絡(luò)從適當(dāng)?shù)奈恢孟螺d到計算機(jī)系統(tǒng)500上。計算機(jī)程序產(chǎn)品可以包括計算機(jī)代碼部分,其包括可由適當(dāng)?shù)奶幚碓O(shè)備(例如,圖5中示出的CPU501)執(zhí)行的程序指令。所述程序指令至少可以包括:用于響應(yīng)于文件創(chuàng)建請求,從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的邏輯存儲區(qū)的指令;以及用于在所選擇的邏輯存儲區(qū)中存儲所述文件的指令。
[0043]上文已經(jīng)結(jié)合若干【具體實(shí)施方式】闡釋了本發(fā)明的精神和原理。根據(jù)本發(fā)明的實(shí)施方式,可以根據(jù)文件本身的特性,為其選擇適當(dāng)大小的邏輯存儲塊,并采用隨用隨分配物理存儲區(qū)的方式,從而能夠減少碎片的產(chǎn)生,并且并未增加元數(shù)據(jù)和定位開銷,從而靈活、高效地實(shí)現(xiàn)對文件系統(tǒng)的管理。
[0044]應(yīng)當(dāng)注意,本發(fā)明的實(shí)施方式可以通過硬件、軟件或者軟件和硬件的結(jié)合來實(shí)現(xiàn)。硬件部分可以利用專用邏輯來實(shí)現(xiàn);軟件部分可以存儲在存儲器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如微處理器或者專用設(shè)計硬件來執(zhí)行。本領(lǐng)域的普通技術(shù)人員可以理解上述的設(shè)備和方法可以使用計算機(jī)可執(zhí)行指令和/或包含在處理器控制代碼中來實(shí)現(xiàn),例如在諸如磁盤、CD或DVD-ROM的載體介質(zhì)、諸如只讀存儲器(固件)的可編程的存儲器或者諸如光學(xué)或電子信號載體的數(shù)據(jù)載體上提供了這樣的代碼。本發(fā)明的設(shè)備及其模塊可以由諸如超大規(guī)模集成電路或門陣列、諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場可編程門陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實(shí)現(xiàn),也可以用由各種類型的處理器執(zhí)行的軟件實(shí)現(xiàn),也可以由上述硬件電路和軟件的結(jié)合例如固件來實(shí)現(xiàn)。
[0045]應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了設(shè)備的若干裝置或子裝置,但是這種劃分僅僅并非強(qiáng)制性的。實(shí)際上,根據(jù)本發(fā)明的實(shí)施方式,上文描述的兩個或更多裝置的特征和功能可以在一個裝置中具體化。反之,上文描述的一個裝置的特征和功能可以進(jìn)一步劃分為由多個裝置來具體化。
[0046]此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟規(guī)約為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
[0047]雖然已經(jīng)參考若干【具體實(shí)施方式】描述了本發(fā)明,但是應(yīng)該理解,本發(fā)明并不限于所公開的【具體實(shí)施方式】。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。所附權(quán)利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結(jié)構(gòu)和功能。
【權(quán)利要求】
1.一種用于文件系統(tǒng)的方法,所述文件系統(tǒng)包括至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū),所述第一邏輯存儲區(qū)的邏輯區(qū)塊與所述第二邏輯存儲區(qū)的邏輯區(qū)塊大小不同,所述方法包括: 響應(yīng)于文件創(chuàng)建請求,從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的邏輯存儲區(qū);以及 在所選擇的邏輯存儲區(qū)中存儲所述文件。
2.根據(jù)權(quán)利要求1所述的方法,其中,基于所述文件的類型和/或文件大小而從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的存儲區(qū)。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述文件的類型包括以下中的一個或多個:視頻文件、音頻文件以及文本文件。
4.根據(jù)權(quán)利要求1所述的方法,其中,在所選擇的邏輯存儲區(qū)中存儲所述文件進(jìn)一步包括: 在所述所選擇的邏輯存儲區(qū)中選擇用于存儲所述文件的位置; 從物理存儲池中分配對應(yīng)大小的物理存儲塊;以及 將所述文件的內(nèi)容寫入所述物理存儲塊中。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述文件系統(tǒng)進(jìn)一步包括用于記錄所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系的映射表,所述在所選擇的邏輯存儲區(qū)中存儲所述文件進(jìn)一步包括: 基于所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系,更新塊映射表。
6.一種用于文件系統(tǒng)的裝置,所述文件系統(tǒng)包括至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū),所述第一邏輯存儲區(qū)的邏輯區(qū)塊與所述第二邏輯存儲區(qū)的邏輯區(qū)塊大小不同,所述裝置包括: 選擇單元,被配置為響應(yīng)于文件創(chuàng)建請求,從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的邏輯存儲區(qū);以及 存儲單元,被配置為在所選擇的邏輯存儲區(qū)中存儲所述文件。
7.根據(jù)權(quán)利要求6所述的裝置,其中,所述選擇單元被配置為基于所述文件的類型和/或文件大小而從所述至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū)中選擇用于存儲所述文件的存儲區(qū)。
8.根據(jù)權(quán)利要求7所述的裝置,其中,所述文件的類型包括以下中的一個或多個:視頻文件、音頻文件以及文本文件。
9.根據(jù)權(quán)利要求6所述的裝置,其中,所述存儲單元進(jìn)一步包括: 位置選擇單元,被配置為在所述所選擇的邏輯存儲區(qū)中選擇用于存儲所述文件的位置; 分配單元,被配置為從物理存儲池中分配對應(yīng)大小的物理存儲塊;以及 寫入單元,被配置為將所述文件的內(nèi)容寫入所述物理存儲塊中。
10.根據(jù)權(quán)利要求9所述的裝置,其中,所述文件系統(tǒng)進(jìn)一步包括用于記錄所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系的映射表,所述存儲單元進(jìn)一步包括: 更新單元,被配置為基于所述邏輯存儲區(qū)和所述物理存儲塊之間的對應(yīng)關(guān)系,更新塊映射表。
11.一種文件系統(tǒng),包括至少第一邏輯存儲區(qū)和第二邏輯存儲區(qū),所述第一邏輯存儲區(qū)的邏輯區(qū)塊與所述第二邏輯存儲區(qū)的邏輯區(qū)塊大小不同,所述文件系統(tǒng)包括根據(jù)權(quán)利要求6-10中任一項(xiàng)所述的裝置。
【文檔編號】G06F17/30GK104516929SQ201310466056
【公開日】2015年4月15日 申請日期:2013年9月27日 優(yōu)先權(quán)日:2013年9月27日
【發(fā)明者】翟佳, 周應(yīng)超, 王文剛, 郭軍, 張森 申請人:伊姆西公司