字節尋址儲存系統的制作方法【
技術領域:
】[0001]本發明系關于一種字節尋址(byteaddressable)儲存系統,特別系一種用于字節尋址儲存裝置的字節尋址儲存系統。【
背景技術:
】[0002]習知技術中,索引式的檔案系統(filesystem)通常將儲存裝置的儲存區分為元數據(metadata)儲存區以及數據儲存區。其中,元數據儲存區系用以儲存與檔案個數相應的元數據,數據儲存區又劃分為固定尺寸大小區塊的數據儲存區塊。[0003]而當有檔案欲進行儲存時,首先會配置單一元數據以及多個數據儲存區塊予此檔案。其中,單一元數據主要系用以記錄檔案的屬性(如可否讀寫、使用者、所屬群組、存取時間等)以及所使用的數據儲存區塊于儲存裝置中的位置。據此,每一檔案皆會有相對應的單一元數據以及至少一數據儲存區塊。[0004]然而,于此種檔案系統的結構下,當尺寸較小的檔案數量過多時,將會造成元數據數量過多導致元數據儲存區空間不足,惟數據儲存區仍有可用的空間的情況。類似地,當尺寸較大的檔案數量過多時,將會造成數據儲存區空間提前不足,惟元數據數量較少使得元數據儲存區仍有空間的情況。明顯地,此種檔案系統對于儲存裝置的平均使用效率較差。[0005]更者,由于此種檔案系統于數據儲存區劃分的數據儲存區塊尺寸系固定無法變動,因此,當有檔案大小剛好超過數據儲存區塊尺寸(或其倍數)時,系統將會額外配置一數據儲存區塊予此檔案。然由于額外配置的數據儲存區塊僅用于儲存較小的數據量,且多余的空間無法讓其它檔案所使用,因此,當此種檔案及使用此種儲存方式的機率增加時,亦會造成空間的浪費。[0006]另一方面,于習知的儲存裝置中,由于其裝置的物理特性,因此檔案系統設計于檔案的儲存時,需利用數據儲存區塊的連續空間。如此一來,當檔案因數據變動使得尺寸增力口,導致原本存放的數據儲存區塊的連續空間不敷使用時,便須進行檔案的搬移,則將造成檔案移動的成本。[0007]據此,如何規劃新的檔案系統架構,以更有效率的檔案儲存方式搭配新發展的儲存裝置,并同時提升檔案存取的效率,并改善習知技術的缺點,乃業界亟需努力的目標。【
發明內容】[0008]本發明系關于一種字節尋址儲存系統,包含數據傳輸接口以及處理單元。數據傳輸接口用以與字節尋址儲存裝置連接。處理單元透過數據傳輸接口存取字節尋址儲存裝置,用以于字節尋址儲存裝置中建立第一主要元數據(metadata)表格、第一次要元數據表格、第二次要元數據表格以及間接元數據對應表格。第一主要元數據表格記錄第一次要元數據表格的第一元數據儲存狀態以及第二次要元數據表格的第二元數據儲存狀態。處理單元更用以:根據第一元數據儲存狀態,判斷第一次要元數據表格具有單一已使用元數據項;根據第二元數據儲存狀態,判斷第二次要元數據表格具有未使用元數據項;將第一次要元數據表格的單一已使用元數據項以及第二次要元數據表格的未使用元數據項相應地記錄至間接元數據對應表格;將第一次要元數據表格移除。[0009]本發明又提供一種字節尋址儲存系統,包含數據傳輸接口以及處理單元。數據傳輸接口用以與字節尋址儲存裝置連接。處理單元透過數據傳輸接口存取字節尋址儲存裝置,用以于字節尋址儲存裝置中建立第一主要元數據表格、第一次要元數據表格。第一主要元數據表格記錄第一次要元數據表格的第一元數據儲存狀態。處理單元更用以:根據第一元數據儲存狀態,判斷第一次要元數據表格中不具有可使用元數據項;于第一主要元數據表格中新增第二元數據儲存狀態,并相應地建立第二次要元數據表格。[0010]本發明另提供一種字節尋址儲存系統,包含數據傳輸接口以及處理單元。數據傳輸接口用以與字節尋址儲存裝置連接。處理單元透過數據傳輸接口存取字節尋址儲存裝置,用以于字節尋址儲存裝置中劃分多個儲存區塊,并將多個儲存區塊劃分為多個子儲存區塊。處理單元更用以于字節尋址儲存裝置建立子區塊使用狀態表格,以記錄多個儲存區塊的多個子儲存區塊的使用狀態。處理單元更用以:根據子區塊使用狀態表格,將檔案儲存于字節尋址儲存裝置中。其中,檔案系利用字節尋址的方式,于等子儲存區塊中非序列性地進行存儲。[0011]本發明又提供一種字節尋址儲存系統,包含數據傳輸接口以及處理單元。數據傳輸接口用以與字節尋址儲存裝置連接。處理單元透過數據傳輸接口存取字節尋址儲存裝置,用以于字節尋址儲存裝置中建立元數據。元數據具有一元數據區塊指針,元數據區塊指針具有至少一第一指向字段。處理單元更用以:判斷檔案的檔案尺寸;根據檔案尺寸,配置字節尋址儲存裝置的多個儲存區塊予檔案;將第一指向字段指向多個儲存區塊。將第一指向字段指向多個儲存區塊的步驟包含下列二者其中之一:直接將第一指向字段指向等儲存區塊其中之一;或將第一指向字段指向儲存區塊表格。其中,儲存區塊表格具有第二指向字段。第二指向字段指向多個儲存區塊其中之一。[0012]參閱圖式及隨后描述的實施方式后,所屬
技術領域:
具有通常知識者可更了解本發明的技術手段及具體實施態樣。【附圖說明】[0013]圖1A系本發明第一實施例的字節尋址儲存系統的使用環境示意圖;[0014]圖1B系本發明第一實施例的字節尋址儲存系統的方塊圖;[0015]圖1C-1D系本發明第一實施例的字節尋址儲存系統處理表格的示意圖;[0016]圖2A-2B系本發明第二實施例的字節尋址儲存系統處理表格的示意圖;[0017]圖3系本發明第三實施例的字節尋址儲存系統儲存數據的示意圖;[0018]圖4A-4B系本發明第四實施例的字節尋址儲存系統儲存數據的示意圖;[0019]圖5A-5B系本發明第五實施例的字節尋址儲存系統的元數據多層次記錄數據的示意圖;以及[0020]圖6系本發明第六實施例的字節尋址儲存系統的元數據多層次記錄數據的示意圖。[0021]符號說明[0022]1字節尋址儲存系統[0023]11數據傳輸接口[0024]13處理單元[0025]2字節尋址儲存裝置[0026]Ptablel第一主要元數據表格[0027]Ptable2第二主要元數據表格[0028]Ptable3第三主要元數據表格[0029]Stable1第一次要元數據表格[0030]Stable2第二次要元數據表格[0031]Status1第一元數據儲存狀態[0032]Status2第二元數據儲存狀態[0033]INDtable間接元數據對應表格[0034]Plcnt全域元數據個數字段[0035]Plpre前數據表格指針[0036]Plnext后數據表格指針[0037]cntl第一元數據個數字段[0038]cnt2第二元數據個數字段[0039]bitmapl第一元數據位圖[0040]bitmap2第二元數據位圖[0041]ptrl第一元數據表格儲存區塊指針[0042]ptr2第二元數據表格儲存區塊指針[0043]X單一已使用元數據項[0044]Y未使用元數據項[0045]blocks1?m儲存區塊[0046]sub-blocks1?η子儲存區塊[0047]SSUBtable子儲存區塊[0048]Bstatus使用狀態[0049]Fblock第一儲存區塊[0050]Fsub-blocks1?η第一子儲存區塊[0051]Bcntl第一子儲存區塊個數字段[0052]Bbitmapl第一子儲存區塊位圖[0053]Bptrl第一子儲存區塊指針[0054]Sblock第二儲存區塊[0055]Ssub-blocks1?η第二子儲存區塊[0056]Bcnt2第二子儲存區塊個數字段[0057]Bbitmap2第二子儲存區塊位圖[0058]Bptr2第二子儲存區塊指針[0059]meta元數據[0060]metaPtr元數據區塊指針[0061]Mptrl第一指向字段[0062]Mptr2第二指向字段[0063]Mptra、Mptrb、Mptrx、Mptry、Mptrz指向字段[0064]BLK、BLK1?3儲存區塊[0065]blockTable、blockTablel?2儲存區塊表格【具體實施方式】[0066]以下將透過本發明的實施例來闡釋本發明。然而當前第1頁1 2 3 4