專利名稱:分層管理文件裝置和錄放方法及含該裝置的電子裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種分層(hierarchical)管理文件裝置和一種采用該裝置的電子裝置,以及記錄和再現(xiàn)分層管理文件的方法。具體地說,本發(fā)明涉及一種分層管理文件裝置,其中信息記錄介質(zhì)的記錄區(qū)域被分層級地分成多個記錄單元長度的區(qū)域,每個層級的區(qū)域由多個較低層級的區(qū)域組成,其中,在第一管理信息和第二管理信息的管理下,根據(jù)各層級的區(qū)域?qū)⑽募苑指畹姆绞接涗浽谟涗浗橘|(zhì)的文件記錄區(qū)域中,并且根據(jù)第一管理信息和第二管理信息,通過分層地管理各層級的區(qū)域而將該文件從記錄介質(zhì)中再現(xiàn)。本發(fā)明還涉及采用此分層管理文件裝置的電子裝置以及記錄和再現(xiàn)分層管理的文件的方法。
具有諸如硬盤、光盤等次級記錄裝置的信息處理裝置設(shè)有一種管理記錄裝置的記錄區(qū)域的裝置,使得信息以文件的形式被記錄到記錄區(qū)域中或從記錄區(qū)域中再現(xiàn)。此種裝置通常稱作文件裝置。已提出有多種類型的文件裝置并且長期地被用于大規(guī)模計算機(jī)。小尺寸的計算機(jī)通常稱作個人電腦,從1979年左右開始廣泛使用。此外,還有一種管理軟盤和硬盤的文件裝置。通常,用于這些個人電腦的文件裝置通過一種稱作FAT(文件分配表)的文件分布管理表來執(zhí)行。這些FAT不僅用于計算機(jī)裝置而且還用作各種消費(fèi)電器和工業(yè)裝置的文件裝置。FAT結(jié)構(gòu)簡單,因此被組合到個人電腦或消費(fèi)應(yīng)用和工業(yè)裝置的操作系統(tǒng)中使用。
圖33表示一種用到個人電腦中的磁盤。引導(dǎo)扇區(qū)是一個存儲啟動操作系統(tǒng)的裝入程序、后面將要描述的路徑目錄數(shù)、FAT數(shù)等等的區(qū)域。路徑目錄是一個存儲記錄文件的名稱、文件大小等的區(qū)域。通過利用路徑目錄和FAT可以從一個期望的文件中讀出信息和向一個期望的文件中寫入信息。
下面將參考圖34、35和36對由FAT執(zhí)行的文件裝置的概要作描述。
首先參見圖34,信息記錄介質(zhì)的記錄區(qū)域,以下稱作“一卷(volume)”,被分成具有基本的記錄單元長度的區(qū)域。這些區(qū)域以下被稱作“簇(cluster)”。簇號分配給這些該簇。信息按簇劃分。即基于簇來執(zhí)行信息的記錄和再現(xiàn)。
為了避免后述的簇號的數(shù)字和附圖中的標(biāo)號混淆所致的混亂,在此對這些標(biāo)號的使用規(guī)則作一解釋。例如,“區(qū)域300”這一表述表示記錄有一簇的區(qū)域,記錄有多個簇的記錄區(qū)域,或記錄有數(shù)據(jù)的簇中的區(qū)域。這一區(qū)域在附圖中示出并被標(biāo)以標(biāo)號300。因此,標(biāo)號300僅用于識別附圖上一個區(qū)域的目的。相反,“FAT入口(entry)300”這一表述意味著標(biāo)號300表示是構(gòu)成FAT的各單元的入口中之一。
一般地,一簇具有從512字節(jié)至32千字節(jié)范圍的大小。假設(shè)在下列的描述中簇的大小有512字節(jié)。例如,在區(qū)域102中的簇的簇號是“2”,區(qū)域103中的簇號是“3”。由101標(biāo)識的區(qū)域是一個存儲全面信息的系統(tǒng)區(qū)域。從系統(tǒng)區(qū)域101中可以知道簇的總數(shù)、簇的大小等。
文件裝置有一個稱作“目錄”的管理區(qū)域,它以一個包含首尾(inclusive)的方式管理多個文件。該目錄存儲有關(guān)目錄管理下的文件的各種類型信息,如文件的文件名,文件的數(shù)據(jù)形式、文件大小等等。
圖35表示目錄的結(jié)構(gòu)。目錄基于簇記錄,與文件的情況一樣。該目錄具有分層的結(jié)構(gòu),該分層結(jié)構(gòu)具有路徑目錄和通過路徑目錄指向的子目錄。指定文件的目錄入口可以通過分層地跟蹤(tracing)目錄而到達(dá)。
出現(xiàn)在圖35的區(qū)域204中的表述“FILE2.DAT”表示一個文件名。從區(qū)域206中的文件大小可以看出該文件具有2013個字節(jié)的大小。區(qū)域205存儲簇號“4”,它表示構(gòu)成該文件的多簇中的第一個。通過跟蹤始于此簇的FAT鏈可以執(zhí)行對構(gòu)成該文件的所有簇的讀出和寫入。
圖36表示FAT的結(jié)構(gòu)。FAT的每個入口對應(yīng)于圖34所示記錄區(qū)域的每個簇。這些入口以圖36中(2)至(12)的簇號順序排布。每個FAT的入口表示文件的下一個組成簇的簇號。例如,由圖35的目錄入口表示的文件FILE2.DAT的第一簇4的FAT入口305(載有簇號“4”的簇,如同其它具有各自簇號的簇的情形)有一個值“7”。這意味著構(gòu)成此文件的簇的下一個簇是簇7。簇7的FAT入口308的值是11,簇11的FAT入口312的值是9,簇9的FAT入口310的值是65535。值65535具有特殊的含義即意味著該簇是構(gòu)成文件的簇的最后一個。
從此FAT入口鏈可以理解文件FILE2.DAT由四個簇構(gòu)成即圖34中所示的盤記錄區(qū)域104的簇4,區(qū)域107中的簇7,區(qū)域111中的簇11和區(qū)域109中的簇9。同時,區(qū)域206表示該文件大小是2013。因為每個簇的大小是512個字節(jié),所以可以理解最后一簇9只有477個字節(jié)(2013-512×3=477)被使用。區(qū)域306、311和313的FAT入口值是“0”。這意味著這些區(qū)域的簇未使用。因此,當(dāng)文件的大小隨著寫入的結(jié)構(gòu)增長時或當(dāng)一個新文件形成時,對應(yīng)于區(qū)域306、311和313的FAT入口值的區(qū)域105、110和112的簇5、簇10和簇12被用作新的記錄區(qū)域。
因此依賴于FAT的管理是簡單的,但存在下列問題(1)至(4)。
(1)甚至當(dāng)對一個文件使用連續(xù)簇時也需要一個接一個地查閱簇的FAT入口。因此,對FAT入口的訪問循環(huán)數(shù)是不切實際地大,當(dāng)例如對文件進(jìn)行隨機(jī)存取時降低效率。
(2)為了實現(xiàn)對文件的高速存取,希望盡可能地把文件的數(shù)據(jù)分配給連續(xù)的簇。因為空簇也對應(yīng)各自的FAT入口,所以有必要逐個地查閱空簇以找出一批連續(xù)空簇。因此對FAT入口的訪問循環(huán)數(shù)增加。另外,要高效地把文件以盡可能地減小不希望的存儲碎片的方式分配到連續(xù)簇是不可能的。所使用的“碎片(fragmentation)”一詞意指把記錄區(qū)域分成多個的盤區(qū)。所使用的“盤區(qū)(extent)”一詞意指由多個連續(xù)簇構(gòu)成的一個單元。
(3)當(dāng)前,擴(kuò)大記錄裝置規(guī)模的趨勢已導(dǎo)致相應(yīng)的FAT尺寸的擴(kuò)大。這反過來需要CPU有較高的處理速度和更大的存儲空間以查閱FAT入口。結(jié)果是使為了避免碎片目的的分層分配受到硬盤使用效率限制的阻礙。
(4)當(dāng)前的科技進(jìn)步帶來了用計算機(jī)處理的數(shù)據(jù)的種類多樣化。如今,需要在同一種記錄介質(zhì)上存儲幾千字節(jié)左右的小文件——如由文字處理器形成的文本,和幾兆(M)至幾京(G)字節(jié)的大文件——如包含音頻和視頻數(shù)據(jù)的文件。記錄介質(zhì)中存在的文件大小的變化易于導(dǎo)致碎片。可以通過采用較小大小的簇來增加記錄區(qū)域的使用效率。但在這種情況下,文件會被不希望地分割成過多的區(qū)域,致使數(shù)據(jù)的傳送速率降低,從而給音頻和視頻數(shù)據(jù)的實時記錄和再現(xiàn)帶來不利影響。
圖37是數(shù)據(jù)傳送速率(transfer rate)降低的一個例子。區(qū)域401、403、405和407的簇以離散的方式分布。因此,除了讀取每個簇的數(shù)據(jù)所需要的時間外還需要由區(qū)域402、404和406所示的查找時間。需要這種查找時間是導(dǎo)致數(shù)據(jù)傳送速率降低的原因。
為了管理盡可能多的簇,提出了實施擴(kuò)展的FAT,此FAT采用大小增至32比特的FAT入口。但此建議并沒有提供解決上述問題(1)至(4)的令人滿意的方案。也有建議提出對通過采用小尺寸的簇來有效使用記錄介質(zhì)的記錄區(qū)域。但此建議方案易于導(dǎo)致碎片,尤其當(dāng)記錄大文件如音頻/視頻文件時會如此。作為處理此類問題的一種方法,用“去碎片”軟件在文件記錄之后重新分配并再記錄簇數(shù)據(jù)。
鑒于上述,本發(fā)明的目的在于提供一種分層管理文件裝置和采用此裝置的電子裝置,該裝置在高效利用簡單的FAT管理技術(shù)的同時,通過采用有較大分配單元的簇FAT和有較小分配單元的碎片F(xiàn)AT,以分層的方式管理記錄區(qū)域,從而克服上述問題(1)至(4),并能夠高效記錄各種大小的文件,同時將碎片減到最小并因而確保大數(shù)據(jù)如音頻和視頻數(shù)據(jù)的實時記錄和再現(xiàn)。
為了達(dá)到上述目的,根據(jù)本發(fā)明的一個方面,提供了一種分層管理文件裝置,其中信息記錄介質(zhì)的記錄區(qū)域被分層級地分成多個記錄單元長度的區(qū)域,每個層級的區(qū)域由多個較低層級的區(qū)域組成,其中文件在用第一管理信息和第二管理信息的管理下基于各層級的區(qū)域以分割的方式記錄在記錄介質(zhì)的文件記錄區(qū)域中,并且根據(jù)第一管理信息和第二管理信息,通過分層管理各層級的區(qū)域而將該文件從記錄介質(zhì)中再現(xiàn)。該分層管理文件裝置包括記錄第一管理信息和第二管理信息并能夠從中再現(xiàn)第一管理信息和第二管理信息的信息記錄介質(zhì),其中第一管理信息對于每一層級處理表示每一層級的區(qū)域的鏈接的鏈接信息,和表示區(qū)域的使用狀態(tài)的使用信息,同時第二管理信息處理文件的屬性、用于記錄和再現(xiàn)文件的層級的類別(class)和文件的類型,以及開始文件的記錄和再現(xiàn)的起始層級的位置;還包括軟件控制裝置,用于對文件的記錄和再現(xiàn)進(jìn)行控制,同時查閱各個層級的第一管理信息和第二管理信息,使得為了在各層級的區(qū)域中記錄文件的目的而查閱較低層級的第一管理信息,從而給該文件分配較低層級的區(qū)域,并且當(dāng)較低層級不存在空區(qū)域時查閱較高層級的第一管理信息,并再次查閱屬于該較高層級的較低層級的第一管理信息,從而能夠在各區(qū)域中共享該文件,同時根據(jù)文件的特點選擇性使用各層級。
本發(fā)明的分層管理文件裝置最好包括下列形式(1)至(13)中的一種。
(1)軟件控制裝置的操作能夠使第一管理信息、第二管理信息和文件記錄區(qū)域以給到各個層級的區(qū)域的號的遞增次序來在各個層級的區(qū)域中記錄和再現(xiàn),從而通過遞增次序的序號來識別各區(qū)域。
(2)軟件控制裝置的操作使得第二管理信息被記錄在相同層級的區(qū)域中,第二管理信息至少包括表示文件屬性的第一類信息,表示用于記錄和再現(xiàn)文件的層級和文件類型的第二類信息,和表示文件開始記錄和再現(xiàn)所在的層級的區(qū)域的位置的第三類信息,并且其中當(dāng)根據(jù)第二類信息確定該文件不是一個分層文件時,通過查閱第三類信息和識別的層級來執(zhí)行文件的記錄和再現(xiàn)。
(3)軟件控制裝置的操作使得第二管理信息被記錄在相同層級的區(qū)域中,第二管理信息至少包括表示文件屬性的第一類信息,表示用于記錄和再現(xiàn)文件的層級和文件類型的第二類信息,和表示文件開始記錄和再現(xiàn)所在的層級的區(qū)域的位置的第三類信息,并且其中當(dāng)根據(jù)第二類信息確定文件是一個由母(parent)文件和子文件構(gòu)成的分層文件時,軟件控制裝置進(jìn)行控制,使得通過對子文件的第二類信息的檢索來識別子文件,其中子文件與表示母文件的層級的開始區(qū)域的位置的母文件第三類信息一致,并根據(jù)子文件的第三類信息來識別開始子文件記錄和再現(xiàn)所在的層級區(qū)域的位置,然后軟件控制裝置進(jìn)行控制,并同時查閱所識別的子文件的第一管理信息,使得子文件使用的較低層級的區(qū)域必須包括在母文件使用的較高層級的區(qū)域中。
(4)軟件控制裝置的操作使得第一管理信息包括具有表示層級的區(qū)域的鏈接的鏈接信息和表示該層級的區(qū)域的使用狀態(tài)的使用信息的第四類信息,和表示使用其層級低于該層級的區(qū)域的狀態(tài)的第五類信息,使得根據(jù)第四類信息確定挨著該層級的區(qū)域的要用于記錄和再現(xiàn)的區(qū)域,使得分配給該文件的區(qū)域被連續(xù)地用于記錄和再現(xiàn),軟件控制裝置再進(jìn)一步根據(jù)第五類信息進(jìn)行操作,以控制是否把較低層級的區(qū)域分配給該文件。
(5)較低層級的第一管理信息包括表示較低層級的區(qū)域鏈接的鏈接信息和表示較低層級的區(qū)域的使用狀態(tài)的使用信息,并且還包括表示較低層級的區(qū)域所屬于的較高層級的區(qū)域的鏈接的鏈接信息和表示該較高層級的區(qū)域的使用狀態(tài)的使用信息。
(6)每個層級的第一管理信息包括表示文件結(jié)束的信息。
(7)當(dāng)信息記錄介質(zhì)被初始化時,軟件控制裝置進(jìn)行操作以只分配具有最大記錄單元長度的最高層級的區(qū)域。
(8)軟件控制裝置進(jìn)行操作以把文件的連續(xù)信息單元分配到較低層級的區(qū)域中。
(9)操縱軟件控制裝置,使得當(dāng)為一個文件保留一個層級的新區(qū)域時并當(dāng)把該文件記錄到該新區(qū)域中時,對各個層級更新具有有關(guān)該層級的各區(qū)域的鏈接信息和使用信息的第四類信息和表示較低層級的各區(qū)域的使用狀態(tài)的第五類信息。
(10)當(dāng)為一個文件保留一個層級的新區(qū)域時并當(dāng)該文件被記錄到該新區(qū)域中時,軟件控制裝置進(jìn)行操作以更新表示文件屬性的第一類信息和更新包括在第二管理信息中的第二類信息和第三類信息,第二類信息表示被用于記錄和再現(xiàn)文件的層級以及文件的類型,第三類信息表示文件的記錄和再現(xiàn)開始時所在層級的區(qū)域的位置。
(11)操作軟件控制裝置,使得當(dāng)通過分配用于記錄文件的新區(qū)域而更新第一管理信息和第二管理信息時,查閱第一管理信息和第二管理信息,并通過把最近記錄的文件所在的當(dāng)前層級的區(qū)域的位置用作參考,查閱最高層級的區(qū)域的第一管理信息,其中當(dāng)前層級的區(qū)域?qū)儆谠撟罡邔蛹?,由此在整個層級中檢索具有最高層級的未使用區(qū)域,軟件控制裝置進(jìn)一步進(jìn)行操作,以對于相續(xù)的較低層級執(zhí)行與最高層級的區(qū)域的檢索類似的檢索,并且把要加到文件的信息分配給被檢索的與當(dāng)前層級的區(qū)域最接近的區(qū)域。
(12)操作軟件控制裝置,使得當(dāng)通過分配用于記錄分層文件的新區(qū)域而更新第一管理信息和第二管理信息時,查閱第一管理信息和第二管理信息,并通過把最近記錄的分層文件所在的當(dāng)前層級的區(qū)域的位置用作參考,查閱最高層級的區(qū)域的第一管理信息,其中該當(dāng)前層級的區(qū)域?qū)儆谠撟罡邔蛹壊儆谀肝募?,由此在整個分層中檢索屬于母文件的具有最高層級的未使用區(qū)域,該軟件控制裝置還進(jìn)行操作,以對于相續(xù)的較低層級執(zhí)行與屬于母文件的最高層級的區(qū)域的檢索類似的檢索,并且把該層級的子文件的信息記錄到與當(dāng)前層級的區(qū)域最接近的被檢索區(qū)域。
(13)對于每一層級第一管理信息擁有表示每一層級的區(qū)域的使用狀態(tài)的使用信息,和表示低于每一層級的層級的區(qū)域使用狀態(tài)的使用信息,而表示每一層級的區(qū)域的鏈接的鏈接信息不是被第二管理信息擁有就是被第三管理信息擁有,其中第三管理信息提供在不同于記錄第一管理信息和第二管理信息區(qū)域的記錄區(qū)域中。
本發(fā)明的另一方面提供一種帶有上述分層管理文件裝置的電子裝置。
根據(jù)本發(fā)明的又一個方面,提供了一種在信息記錄介質(zhì)的記錄區(qū)域記錄和從中再現(xiàn)分層管理文件的方法,該記錄區(qū)域被分層地分成多個記錄單元長度的記錄區(qū)域,每個層級的區(qū)域由多個較低層級的區(qū)域組成,其中文件在第一管理信息和第二管理信息的管理下根據(jù)各層級的區(qū)域以分隔的方式記錄在記錄介質(zhì)的文件記錄區(qū)中,并且根據(jù)第一管理信息和第二管理信息,通過分層管理各層級的區(qū)域而從該記錄介質(zhì)中再現(xiàn)該文件,其中該信息記錄介質(zhì)記錄第一管理信息和第二管理信息,對于每一層級,第一管理信息擁有表示每一層級的區(qū)域鏈接的鏈接信息和表示區(qū)域使用狀態(tài)的使用信息,而第二管理信息擁有文件的屬性,用于記錄和再現(xiàn)文件的層級的分類和文件的類型,以及文件的記錄和再現(xiàn)開始所在的開始層級的區(qū)域的位置;該方法包括步驟查閱各個層級的第一管理信息和第二管理信息,使得為了在各層級的區(qū)域中記錄文件的目的,查閱較低層級的第一管理信息,以將較低層級的區(qū)域分配給該文件;并且當(dāng)每一較低層級沒有空區(qū)域時,查閱較高層級的第一管理信息并且再對屬于較高層級的較低層級的第一管理信息進(jìn)行檢索,使得能夠把此文件分配到各區(qū)域,從而在該信息記錄介質(zhì)中進(jìn)行文件的記錄和從中的再現(xiàn),同時根據(jù)文件的特征選擇使用層級。
具有上述特點的本發(fā)明具備下列(1)至(3)的優(yōu)點。
(1)信息記錄介質(zhì)的記錄區(qū)域被分層地劃分成不同記錄單元長度的區(qū)域。一個層級的每個區(qū)域由位于上述層級之下的層級的多個區(qū)域構(gòu)成。一個文件通過軟件控制裝置查閱第一管理信息和第二管理信息而被記錄和再現(xiàn)。例如,最好把較長記錄單元長度的區(qū)域分配給一個需要連續(xù)再現(xiàn)的文件,如包含視頻和音頻信息的文件。這減少了用于存儲文件的區(qū)域的數(shù)目,并因此減少了訪問第一管理信息的次數(shù)。相反,較短記錄單元長度的區(qū)域分配給具有較小數(shù)據(jù)大小并可以以離散的方式再現(xiàn)的文件,如語句,以便可以有效地利用信息記錄介質(zhì)的記錄區(qū)域。
(2)為了實現(xiàn)高速地存取文件,最好把文件的各段盡可能地記錄在連續(xù)的區(qū)域。根據(jù)本發(fā)明,記錄介質(zhì)的記錄區(qū)域被分層劃分成多個記錄單元長度的區(qū)域。每個層級的區(qū)域由緊位于該層級之下的層級的多個區(qū)域組成。較高層級的區(qū)域具有有關(guān)較低層級區(qū)域的使用的信息。因此,當(dāng)把一個文件分配給各區(qū)域時,可以分層檢索未使用區(qū)域,因而能夠以集中的方式高速記錄文件,同時避免碎片。由于同樣的原因,記錄的文件可以高速地再現(xiàn)。
(3)如上所述,最好把較長記錄單元長度的區(qū)域分配給需要連續(xù)再現(xiàn)的文件,如包含視頻和音頻信息的文件,而把較短記錄單元長度的區(qū)域分配給具有較小數(shù)據(jù)大小并可以以離散的方式再現(xiàn)的文件,如語句。這樣顯著地減小了第一管理信息的大小。此特征連帶上述的特點(1)和(2)極大地減少了采用本發(fā)明分層管理文件裝置的電子裝置的硬件的負(fù)載。
圖1是分層管理文件裝置和采用該文件裝置的電子裝置的示意圖;圖2是根據(jù)本發(fā)明實施例的信息記錄介質(zhì)的記錄區(qū)域結(jié)構(gòu)示意圖;圖3是根據(jù)本發(fā)明的簇FAT入口形式的流程圖;圖4是根據(jù)本發(fā)明的碎片F(xiàn)AT入口形式的流程圖;圖5是本發(fā)明分層管理文件裝置實施例的操作示意圖,其中采用了圖3和圖4所示的簇FAT入口形式和碎片F(xiàn)AT入口形式;圖6是根據(jù)本發(fā)明在軟件控制裝置的控制下文件讀取處理的部分流程圖;圖7是根據(jù)本發(fā)明在軟件控制裝置的控制下文件讀取處理的另一部分流程圖;圖8是根據(jù)本發(fā)明在軟件控制裝置的控制下基于簇執(zhí)行文件讀取處理的部分流程圖;圖9是根據(jù)本發(fā)明在軟件控制裝置的控制下基于簇執(zhí)行文件讀取處理的另一部分流程圖;圖10是根據(jù)本發(fā)明在軟件控制裝置的控制下基于碎片執(zhí)行文件讀取處理的部分流程圖;圖11是根據(jù)本發(fā)明在軟件控制裝置的控制下對碎片基執(zhí)行文件讀取處理的另一部分流程圖;圖12是本發(fā)明在軟件控制裝置的控制下文件寫入處理的部分流程圖;圖13是本發(fā)明在軟件控制裝置的控制下文件寫入處理的另一部分流程圖;圖14是本發(fā)明在軟件控制裝置的控制下基于簇執(zhí)行文件寫入處理的部分流程圖;圖15是本發(fā)明在軟件控制裝置的控制下基于簇執(zhí)行文件寫入處理的另一部分流程圖;圖16是本發(fā)明在軟件控制裝置的控制下新簇獲取處理的流程圖;圖17是本發(fā)明在軟件控制裝置的控制下執(zhí)行從檢索范圍內(nèi)獲取一個新簇的新簇獲取處理的部分流程圖18是本發(fā)明在軟件控制裝置的控制下執(zhí)行從檢索范圍內(nèi)獲取一個新簇的新簇獲取處理的另一部分流程圖;圖19是本發(fā)明在軟件控制裝置的控制下基于碎片執(zhí)行寫入處理的部分流程圖;圖20是本發(fā)明在軟件控制裝置的控制下基于碎片執(zhí)行寫入處理的另一部分流程圖;圖21是本發(fā)明在軟件控制裝置的控制下獲取新碎片處理流程圖;圖22是本發(fā)明在軟件控制裝置的控制下從檢索范圍內(nèi)獲取新碎片處理的部分流程圖;圖23是本發(fā)明在軟件控制裝置的控制下執(zhí)行從檢索范圍內(nèi)獲取新碎片處理的另一部分流程圖;圖24是本發(fā)明在軟件控制裝置的控制下執(zhí)行從使用中的簇中獲取新碎片處理的部分流程圖;圖25是本發(fā)明在軟件控制裝置的控制下執(zhí)行從使用中的簇中獲取新碎片處理的另一部分流程圖;圖26是本發(fā)明在軟件控制裝置的控制下執(zhí)行從使用中的簇中獲取新碎片處理的再一部分流程圖;圖27是本發(fā)明在軟件控制裝置的控制下獲取分層文件的新碎片處理的部分流程圖;圖28是本發(fā)明在軟件控制裝置的控制下獲取分層文件的新碎片處理的另一部分流程圖;圖29是本發(fā)明在軟件控制裝置的控制下形成新文件處理的部分流程圖;圖30是本發(fā)明在軟件控制裝置的控制下形成新文件處理的另一部分流程圖;圖31是本發(fā)明在軟件控制裝置的控制下新形成分層文件的子文件處理的部分流程圖;圖32是本發(fā)明在軟件控制裝置的控制下新形成分層文件的子文件處理的另一部分流程圖;圖33是個人電腦的磁盤中傳統(tǒng)的記錄格式示意圖;圖34是圖33所示的磁盤記錄格式中簇的布局示意圖35是圖33中磁盤的目錄入口布局示意圖;圖36是圖33中磁盤FAT入口布局示意圖;圖37是傳統(tǒng)的文件裝置執(zhí)行的碎片處理示意圖。
下面將對本發(fā)明的分層管理文件裝置以及使用此文件裝置的電子裝置的實施例進(jìn)行描述。將要描述的實施例的分層文件管理裝置使用具有兩個層級的分層文件即一個較高層級和一個較低層級。較高層級被分成作為前述的簇的段,較低的水平被分成下面將要描述的稱作“殘片”的段或區(qū)域。簇FAT用作較高層的第一管理信息,碎片F(xiàn)AT用作較低層的第一管理信息。由簇構(gòu)成的目錄入口表用作第二管理信息。雖然具體描述的是這種類型的分層管理文件裝置和采用該裝置的電子裝置,但應(yīng)理解到本發(fā)明并不限于此,它可應(yīng)用到其它大類的采用多層分層文件的分層管理文件裝置和使用此裝置的電子裝置。
圖1是實施本發(fā)明分層管理文件裝置及采用該裝置的電子裝置的實施例簡圖。
CPU 501根據(jù)存儲在存儲器502中的程序控制一個系統(tǒng),存儲器502可以是高速半導(dǎo)體存儲器。程序可以預(yù)先記錄到?jīng)]有示出的ROM(只讀存儲器)中?;蛘呤?,通過次級記錄裝置503或網(wǎng)絡(luò)驅(qū)動器504,或調(diào)諧器509把程序傳送到存儲器502以進(jìn)行執(zhí)行。非易失型存儲器如硬盤、可互換光盤或快閃ROM可用作次級記錄裝置503。存儲在次級記錄裝置503的信息記錄介質(zhì)中的文件根據(jù)存儲在存儲器502中的程序由分層管理文件裝置管理。CPU501和存儲器502組合在一起提供軟件控制裝置,它用于權(quán)利要求1提出的本發(fā)明最一般的形式。本發(fā)明分層管理文件裝置510包括次級記錄裝置503、軟件控制裝置和信息記錄介質(zhì)。
為了傳送在次級記錄裝置503中記錄文件的日期和從次級記錄裝置503中讀出的文件數(shù)據(jù),網(wǎng)絡(luò)驅(qū)動器504支持標(biāo)為505的網(wǎng)絡(luò),如IEEE 1394或Ethernet(以太網(wǎng))。其布局可以是這樣的,當(dāng)根據(jù)存儲在存儲器502中的程序進(jìn)行處理之后,利用連接到總線506的CPU或特殊硬件把這些數(shù)據(jù)傳送到網(wǎng)絡(luò)。
紅外線收發(fā)器507接收來自用戶操縱的遙控器的指令,使得能夠通過對存儲在存儲器502中的程序的操作的控制進(jìn)行交互操作。圖像/聲音的輸入/輸出裝置508連接到顯示單元,如電視或監(jiān)視器,從而能夠根據(jù)存儲在存儲器502中的程序輸出從圖形用戶界面(未示出)、次級記錄裝置503和網(wǎng)絡(luò)驅(qū)動器504傳送來的圖像和聲音。
圖像/聲音的輸入/輸出裝置508連接諸如攝像機(jī)或盒式錄像帶(videodeck),使得能夠進(jìn)行從錄像帶處拾取聲音和圖像并在錄像帶中記錄圖像和聲音。調(diào)諧器509連接到天線以接收衛(wèi)星廣播電波或地面波。接收到的數(shù)據(jù)傳送到并由圖像/聲音的輸入/輸出裝置508再現(xiàn)。
這些數(shù)據(jù)可以首先存儲在次級記錄裝置503中。由圖像/聲音的輸入/輸出裝置508和調(diào)諧器509處理的輸入/輸出信號既可以是模擬信號也可以是數(shù)字信號。當(dāng)使用時模擬信號被圖像/聲音的輸入/輸出裝置508和調(diào)諧器509轉(zhuǎn)換成數(shù)字信號。這些數(shù)字?jǐn)?shù)據(jù)經(jīng)過壓縮、數(shù)據(jù)轉(zhuǎn)換等,使得它們在圖1所示的本發(fā)明分層管理文件裝置中或在電子裝置中(以下稱作“系統(tǒng)配置”)被處理。
CPU 501、存儲器、次級記錄裝置503、網(wǎng)絡(luò)驅(qū)動器504、紅外線接收器507、圖象/聲音的輸入/輸出裝置508和調(diào)諧器509連接到總線506以構(gòu)成一個系統(tǒng)。圖1中所示的系統(tǒng)配置僅用于圖示,系統(tǒng)可以省去網(wǎng)絡(luò)驅(qū)動器504、紅外線接收器507、圖像/聲音的輸入/輸出裝置508和調(diào)諧器509中的任何一個。系統(tǒng)還可以缺少次級記錄裝置503。在這種情況下,本發(fā)明的文件裝置可以操作在連接到遠(yuǎn)程系統(tǒng)的另一個次級記錄裝置503中記錄文件。也可以連接附加的一個或數(shù)個裝置給圖示的系統(tǒng)。
圖2圖示了一種由分層管理文件裝置510執(zhí)行的卷(volume)管理的方法。在傳統(tǒng)的依賴FAT的文件裝置情形中,次級記錄裝置503的記錄區(qū)域的卷被分段成固定大小的簇并基于簇進(jìn)行管理。給各簇分配從2開始的整數(shù)的簇序號。
根據(jù)本發(fā)明,每個簇還被分成稱作碎片的小單元。碎片序號分配給簇中的碎片。在圖示的實施例中,簇有64K字節(jié)的大小而碎片有512字節(jié)的大小。因此每個簇由被分配了碎片序號為0至127的128個碎片組成。
本發(fā)明的分層管理文件裝置510使用一個基于簇管理文件的簇FAT和基于碎片管理文件的碎片F(xiàn)AT。簇FAT記錄卷的所有簇的FAT入口,而碎片F(xiàn)AT記錄其數(shù)目等于卷中簇的數(shù)量乘以每個簇中碎片的數(shù)量之積的FAT入口。
如上所述,簇FAT的構(gòu)造使得能夠容易地根據(jù)簇號檢測到簇入口。各FAT被記錄在次級記錄裝置503的簇中,并且FAT的位置,即簇號被標(biāo)識在系統(tǒng)區(qū)域中。為了實現(xiàn)高效率,部分FAT被讀出并存儲到存儲器502中,并根據(jù)需要再寫回到次級記錄裝置502中,從而更新數(shù)據(jù)。
圖3標(biāo)識簇FAT的入口形式。在簇FAT的每一個入口中,根據(jù)相關(guān)簇的使用方法按照下列五種形式記錄32位值。
1)未使用的簇2)基于碎片使用的簇3)基于碎片使用的簇(所有的碎片被使用)4)分配給文件的簇5)分配給文件的簇(在分層文件中基于碎卡使用)1)在未使用的簇的情形中,標(biāo)識符“0”以構(gòu)成區(qū)域701的較高的25位存儲。這表示該簇還未被使用,并且因此可分配成2)至5)的任意一種形式。當(dāng)全部卷被初始化時,所有的簇FAT的入口被初始化到未使用狀態(tài)。
當(dāng)簇按照上述2)所表示的形式基于碎片使用時,標(biāo)識符值“0”存儲在構(gòu)成區(qū)域702的較高的25位,而在該簇中使用的碎片數(shù)記錄在構(gòu)成區(qū)域703的較低的7位。關(guān)于簇使用狀態(tài)的信息可以從使用中的碎片數(shù)中得知,不需要查閱碎片F(xiàn)AT,使得可以根據(jù)此信息把各碎片有效地分配給文件。例如,當(dāng)要分配大量的碎片時,最好選擇有大的使用中碎片數(shù)量的區(qū)域,因為這種選擇能夠使文件的碎片集中到一個可以高速存取的區(qū)域。
形式3)是形式2)的一個特例,其中簇的全部碎片都被使用。在這種情況下,標(biāo)識符值“1”記錄在構(gòu)成區(qū)域704的較高的25位中,而標(biāo)識符“0”記錄在較低的7位。
在形式2)和形式3)中,記錄區(qū)域基于碎片分配給文件,構(gòu)成此文件的所有碎片通過各個碎片F(xiàn)AT的FAT入口鏈接。
在以上述4)的形式把簇分配給文件的情形中,在構(gòu)成該文件的簇的下一個簇的簇號被記錄在構(gòu)成區(qū)域706的較高的25位,并且標(biāo)識符“0”記錄在構(gòu)成區(qū)域707的較低的7位。當(dāng)沒有下一個簇時,即當(dāng)前簇就是最后一個簇時,標(biāo)識符如33,554,431被儲存在構(gòu)成區(qū)域706的較高的25位。
在按上述形式4)把一個簇已分配給一個文件的情況中,卷的記錄區(qū)域基于簇分配給文件。構(gòu)成該文件的全部簇通過簇FAT的FAT入口鏈接。
上述的形式5)最好地證明了本發(fā)明分層管理文件裝置的優(yōu)點。卷的記錄區(qū)域基于簇地分配給一個文件。分配了的簇被劃分成也可以分配給另一個或多個文件的碎片。這種類型的文件結(jié)構(gòu)稱作分層文件。在分層文件中,基于簇管理的文件被稱作“母文件”,而基于碎片管理的文件稱作“子文件”。這種分層文件的使用允許子文件以集中到一個位置的方式被高效地記錄,使得當(dāng)例如連續(xù)讀取多個子文件或在該子文件中連續(xù)寫入時有利地縮短存取時間。
可用下述方式進(jìn)行碎片的分配,使用連續(xù)的四個碎片為一個單元,并使用該簇以單元為基礎(chǔ)將各碎片分配到文件。多個這樣的簇的組合作為母文件予以管理。
如前述的形式4)的情形,母文件的下一個簇的簇號被記錄在構(gòu)成圖3所示的區(qū)域708的較高25位中,并且該簇中使用中的碎片數(shù)被記錄在構(gòu)成區(qū)域709的較低位7。當(dāng)所有碎片均被使用時,將“0”記錄到低7位。較低的7位在形式4)和5)中均設(shè)為“0”,以便區(qū)分這些形式4)和5)。但在此文件裝置中,可以通過根據(jù)目錄判斷該文件是否是分層文件來區(qū)分。這可通過檢查碎片F(xiàn)AT的入口,判斷記錄區(qū)域是否被用作一個簇來實現(xiàn)。
圖4表示碎片F(xiàn)AT入口的形式。在碎片F(xiàn)AT的入口中,32位的值根據(jù)碎片的使用狀態(tài)以下列三種形式中的一種記錄。
1)未使用的碎片2)基于簇使用的碎片3)分配給文件的碎片在形式1)的情形中,基于碎片使用包含碎片的簇。因此,形式1)對應(yīng)于圖3中形式2)、3)和4)的簇FAT入口的一種,另外,該碎片還沒有被分配給文件。在這種情形中,標(biāo)識符“0”被記錄在區(qū)域801中。
形式2)表示不基于碎片而簇使用包含碎片的簇。這對應(yīng)于圖3中的簇FAT入口形式1)和4),并表示該簇被簇FAT管理。
標(biāo)識符“1”記錄在構(gòu)成區(qū)域802的較高的25位,而標(biāo)識符“0”記錄在構(gòu)成區(qū)域803的較低的7位中。屬于該簇的所有碎片的入口具有圖4中所示的“2基于簇使用碎片I”的形式。當(dāng)該卷被初始化時,所有的簇基于簇使用,并且所有碎片F(xiàn)AT的入口已被初始化以表示基于簇管理碎片。這種初始化特點是權(quán)利要求8所說的本發(fā)明的一種形式。
當(dāng)基于碎片使用該簇而各碎片已分配給一個文件時,形式3)的使用如同形式1)的情形。該文件的構(gòu)成該文件的下一個碎片的位置被記錄在碎片F(xiàn)AT的入口。因此,該碎片屬于的簇的簇號記錄在構(gòu)成區(qū)域804的較高的25位,而區(qū)分該碎片與簇中其它碎片的碎片號被記錄在較低的7位。
下面將具體參考圖5A和5B對依據(jù)上述簇FAT和碎片F(xiàn)AT的入口形式的本發(fā)明分層管理文件裝置510的操作進(jìn)行描述。FAT入口有32位的大小。為了解釋的方便,較高的25位和較低的7位用逗號“,”分開,并且數(shù)值以十六進(jìn)制數(shù)值附帶后綴“h”表示。
圖5A中所示的目錄具有存儲FILE1.DAT的區(qū)域901、存儲FILE2.DAT的區(qū)域905、存儲FILE3.DAT的區(qū)域909、存儲FILE4.DAT的區(qū)域913、存儲FILE5.DAT的區(qū)域917、存儲FILE6.DAT的區(qū)域921、存儲FILE7.DAT的區(qū)域925和存儲FILE8.DAT的區(qū)域929。
該目錄存儲在該卷的簇或碎片中,如同于文件的情況。該目錄還存儲較低級的目錄,如分層目錄的子目錄,使得指定文件的目錄入口可以通過利用系統(tǒng)區(qū)域表示的路徑目錄來跟蹤分層目錄而檢索。
目錄入口具有表示每個文件屬性的字段。這些域是文件名(區(qū)域901,905,909,913,917,921,925和929);分配類型(區(qū)域902,906,910,914,918,922,926,930);作為第一層級的劃分區(qū)域的文件前端的位置(區(qū)域903,907,911,915,919,923,927和931);和文件的大小(區(qū)域904,908,912,91 8,920,924,928和932)。文件名的字段中分配對應(yīng)于256字符的256字節(jié)。上述的文件名和文件大小體現(xiàn)權(quán)利要求1中提出的文件屬性。文件的前端位置是也在權(quán)利要求1中描述的第一層級的區(qū)域的位置。如前所述,圖5A中所述的目錄入口表是權(quán)利要求1中提出的第二管理信息的一個實施例。
給分配類型的字段分配四位字節(jié)。值“00000000h”意味著該卷基于分配給該文件,而“00000001h”意味著該卷基于碎片分配給該文件。值“FFFFFFFFh”意味著該文件是分層文件的母文件。上述值以外的值標(biāo)識該文件是分層文件的子文件。在這種情況中,分配類型字段存儲母文件的起始簇的號。因此上述值的表示“00000000h”或“00000001h”可以區(qū)分基于簇的卷分配和基于碎片的卷分配。這對應(yīng)于有關(guān)權(quán)利要求1中所述的分層類型的信息。值“FFFFFFFFh”對應(yīng)于有關(guān)在權(quán)利要求1中所述的文件類型的信息。
給文件頂端位置的字段分配四個字節(jié)。當(dāng)已基于簇對文件進(jìn)行分配時,文件的前端位置如圖3中的形式4)所示,而當(dāng)已基于碎片對文件進(jìn)行分配時,文件的前端位置如圖4所示的形式3)所示。分配有8個字節(jié)的文件大小字段存儲文件的大小。
圖5B表示簇FAT的一個例子。對應(yīng)于各個簇的FAT入口被記錄在區(qū)域933至964中。區(qū)域933和934的FAT入口被保留,并且表示此表是FAT的標(biāo)識符、版本等記錄在這些保留的區(qū)域中。因此,簇FAT的入口以簇號2開始。上述的簇FAT和后面將要描述的碎片F(xiàn)AT對應(yīng)于權(quán)利要求1中提出的第一管理信息。
在圖5B中所示的簇FAT中,當(dāng)次級記錄裝置503的卷是1G個字節(jié),而簇的大小是64K個字節(jié)時,次級記錄裝置503被劃分成16,384段的簇。每個簇入口有32位(4個字節(jié))的記錄區(qū)域,并且各簇入口從區(qū)域935的簇號2的FAT入口開始以增大的順序排布。具體地說,簇入口按區(qū)域935、936、937、938、939、940、941等的順序排布,并且簇號按2,3,4,5,6,7,8等的順序響應(yīng)增加。簇FAT具有大約64K個字節(jié)的大小。與文件的情形一樣,簇FAT存儲在該卷的一個簇或一個碎片中,簇FAT的位置由系統(tǒng)區(qū)域指示。
圖5C表示碎片F(xiàn)AT的一個實例。各碎片F(xiàn)AT的入口基于簇排布并包括所有簇的碎片F(xiàn)AT的入口。在圖5C所示的布局中,假設(shè)每個碎片的大小是512個字節(jié),每個簇被劃分成128個碎片。各碎片F(xiàn)AT的入口,與簇FAT的情況一樣,從對應(yīng)于帶有簇號“2”的簇的碎片號“0”的碎片開始按遞增的順序排布。初始的128個入口屬于簇號“2”的簇。以這種方式,對應(yīng)于16,384簇的碎片入口按簇號遞增的順序排列。每個入口有32位,使得碎片F(xiàn)AT總的大小為8M字節(jié)。與文件的情形一樣,碎片F(xiàn)AT被存儲在該卷之內(nèi)的一個簇或一個碎片中,且碎片F(xiàn)AT的位置由系統(tǒng)區(qū)域示出。碎片F(xiàn)AT和簇FAT按遞增順序的排布對應(yīng)于權(quán)利要求2的特征。
回過來參見圖5,區(qū)域901的FILE1.DAT,區(qū)域905的FILE2.DAT和區(qū)域909的FILE3.DAT是基于簇給文件分配卷的例子。在這種情況中,基于簇已進(jìn)行分配的事實通過構(gòu)成分配類型字段的區(qū)域902、906和910的值“00000000h”得知。
對于區(qū)域901的FILE1.DAT目錄入口的區(qū)域903存儲文件的前端位置,即構(gòu)成該文件的第一個簇的位置。從區(qū)域903的較高的25位中的值“000000h”可以得知文件第一簇的號是“2”。
如對于簇FAT,從簇號“2”的區(qū)域935的FAT入口的較高25位的值“0000004h”可以得知下一個簇的簇號是“4”。表示簇“4”的下一個簇的簇號“5”的簇存儲在簇號“4”的區(qū)域937中。同樣地,簇號“5”的區(qū)域938存儲后繼簇的號“8”,簇號“8”的區(qū)域941存儲下一個簇的號“9”。因此可以通過區(qū)域937、938、941、942、943、944、945、946、947、948、949、950、953和954的簇FAT的入口跟蹤FAT鏈。上述最后一個區(qū)域955中入口的較高25位的值是“1FFFFFFh”。這意味著該簇是構(gòu)成該文件的最后一個簇。值“1FFFFFFh”對應(yīng)于指示文件尾部的信息,如權(quán)利要求2所述的。
從前面的描述可以理解FILE1.DAT由16個簇構(gòu)成,即簇號2,4,5,8,9,10,11,12,13,14,15,16,17,20,21和22。目錄入口的區(qū)域904的文件大小的值是1,032,091個字節(jié),并且在最后一個簇22中只使用49,051個字節(jié)。由按簇為基礎(chǔ)構(gòu)成的文件的全部簇FAT入口具有圖3所示的形式4)。
還可以與上述相同的方式跟蹤對于區(qū)域905的FILE2.DAT和對于區(qū)域909的FILE.DAT的簇FAT。還可以看到FILE2.DAT由簇“7”單獨(dú)組成,而FILE3.DAT由簇“23”和“6”組成。
區(qū)域913的FILE4.DAT和區(qū)域917的FILE5.DAT是基于碎片分配的例子。這通過在分配類型字段區(qū)域914,918中的值為“00000001h”的事實證明。
區(qū)域913的FILE.DAT的目錄入口的區(qū)域915存儲在構(gòu)成該文件的碎片中第一個的位置。區(qū)域915的高25位的值是“0000012h”,而低7位的是“00h”。這表示第一碎片是簇號“18”的簇的碎片“0”。
參見圖5C,第一碎片的碎片F(xiàn)AT入口的區(qū)域969表示簇號“18”和碎片號“0”。這表示碎片F(xiàn)AT的第2176個FAT入口(簇數(shù)(18-2)×碎片數(shù)128+1)。此FAT入口的較高的25位的值是“0000012h”,而較低的7位是“01h”。因此可見,下一個碎片是簇“18”的碎片“1”。
在下一個碎片的FAT入口的區(qū)域970中,對應(yīng)于簇號“18”碎片號“1”,較高的25位為“0000012h”,而較低的7位為“02h”。這表示下一碎片是簇“18”的碎片“2”。因此,作為較低層級的區(qū)域的碎片使用表示與相同層級的其它碎片的鏈接的鏈接信息和關(guān)于使用狀態(tài)的信息,以及表示與較高層級的區(qū)域的簇的鏈接的鏈接信息。這對應(yīng)于權(quán)利要求6所述的特征。
以同樣的方式,跟蹤FAT鏈通過簇號“18”碎片號“2”的FAT入口971,以到達(dá)簇號“18”碎片號“2”的FAT入口976。區(qū)域976的FAT入口的較高的25位具有“1FFFFFFh”,表示此碎片是構(gòu)成該文件的最后一個碎片。
從上述的操縱中可知該文件由四個碎片組成即簇“18”的碎片“0”,簇“18”的碎片“1”,簇“18”的碎片“2”,簇“18”的碎片“127”。因為區(qū)域916的文件大小的值為1581,所以可知該文件使用區(qū)域976的最后碎片的45個字節(jié)(1581字節(jié)-512字節(jié)×3=45字節(jié))。
也可以以同樣的方式跟蹤碎片F(xiàn)AT鏈,或者是區(qū)域917的FILE5.DAT。在這種情況下,從區(qū)域919的第一碎片的值開始,經(jīng)過區(qū)域977的入口到區(qū)域978的入口跟蹤碎片F(xiàn)AT鏈,由此可知該文件由兩個碎片構(gòu)成,即簇“18”的碎片“3”和簇“18”的碎片“1”。
如上所述,基于碎片的分配類型使用簇18和19。簇“18”的簇FAT的入口951較高的25位具有值“0000000h”而較低的7位的值是“05h”。此入口具有圖3中的形式2),表示該簇“18”基于碎片而使用。
較低的7位值表示在此簇中使用5個碎片。簇“19”的簇FAT的入口952較高的25位具有值“0000000h”,而較低的7位值的是“01h”。這表示在簇19中只使用一個碎片。讀取FILE.DAT至FILE5.DAT的上述操縱是權(quán)利要求3所述特征的實施例。
區(qū)域921的FILE6.DAT文件的分配類型字段922具有“FFFFFFFFh”,表示FILE6.DAT是分層文件的一個母文件。示于區(qū)域927中的關(guān)于區(qū)域925的FILE7.DAT的文件前端位置的值,和示于區(qū)域926中的分配類型的值,以及示于區(qū)域929的FILE8.DAT的區(qū)域930的分配類型的值是“00000018h”,這個值與示于區(qū)域923中的FILE6.DAT的區(qū)域923中的文件前端的值“00000018h”一致。這表示區(qū)域925的FILE7.DAT和區(qū)域929的FILE8.DAT是區(qū)域921的FILE6.DAT的子文件。
跟蹤分層文件的母文件的FAT鏈的方法與跟蹤基于簇分配類型的普通文件的FAT鏈的方法相同。示于區(qū)域921的FILE6.DAT的區(qū)域923中的文件前端位置的值是“00000018h”。這表示第一簇的簇號是“24”。
對于簇“24”的簇FAT中的入口957的較高的25位具有值“0000019h”,表示下一簇的簇號是“25”。簇“25”的簇FAT中的入口958的較高的25位具有值“0000019h”,表示后續(xù)簇的簇號是“26”。簇“26”的簇FAT中的入口959的較高的25位具有值“1FFFFFFh”,表示該簇是構(gòu)成該文件的簇中的最后一個。
從前面的操作中可見區(qū)域921的FILE6.DAT由三個簇組成即簇“24”、簇“25”和簇“26”。認(rèn)為分層文件的母文件已使用了所有這些簇的數(shù)據(jù),使得區(qū)域924的文件大小達(dá)到196,608個字節(jié)。簇FAT的入口957、958和959較低的7位的值分別是“03h”、“03h”和“02h”,表示在各個簇中分別使用三個碎片、三個碎片和兩個碎片。因此,較高層級的簇不僅可以識別它自己的鏈接信息和使用狀態(tài)信息,而且可以識別較低層級區(qū)域的碎片使用狀態(tài)。這些特征對應(yīng)于權(quán)利要求5。
區(qū)域925的FILE7.DAT和區(qū)域929的FILE8.DAT是母文件。利用已分配給母文件區(qū)域921的FILE6.DAT的簇的碎片來基于碎片對這三個文件執(zhí)行分配。跟蹤一個分層文件子文件的碎片F(xiàn)AT鏈的方法與前述的對于普通文件基于碎片進(jìn)行了卷分配的情形一樣。
例如,在區(qū)域925的FILE7.DAT的情形中,碎片F(xiàn)AT鏈的跟蹤從開始端的簇號“24”和碎片號“0”開始,經(jīng)碎片F(xiàn)AT的入口981和入口983到達(dá)碎片F(xiàn)AT的入口991。因此,可知該文件由三個碎片組成即簇“24”的碎片“0”,簇“24”的碎片“2”和簇“26”的碎片“2”。
對于區(qū)域929的FILE8.DAT也可以使用相同的跟蹤方法。即碎片F(xiàn)AT鏈的跟蹤從開始端的簇號“24”和碎片號“1”開始,經(jīng)碎片F(xiàn)AT的入口982、985、986和987到達(dá)碎片F(xiàn)AT的入口990。因此,可知該文件由五個碎片組成;即簇“24”的碎片“1”,簇“25”的碎片“0”,簇“25”的碎片“1”,簇“25”的碎片“2”和簇“26”的碎片“1”。上述讀取FILE6.DAT至FILE8.DAT的操作體現(xiàn)了權(quán)利要求4的特點。
下面將參考圖6至32中所示的流程對通過本發(fā)明分層管理文件裝置執(zhí)行的上述操作作詳細(xì)的描述。下面將按所述的順序?qū)ο铝胁僮?1)至(14)進(jìn)行描述。所有的這些操作將在權(quán)利要求1提出的軟件控制裝置的控制下進(jìn)行。
(1)讀取文件(2)基于簇讀取(3)基于碎片讀取
(4)寫入文件(5)基于簇讀取(6)獲取新簇(7)從檢索范圍內(nèi)獲取新簇(8)基于碎片寫入(9)獲取新碎片(10)從檢索范圍內(nèi)獲取新碎片(11)從簇中獲取新碎片(12)獲取分層文件的新碎片(13)形成新文件(14)形成分層文件的新子文件(1)對“讀取文件”操作的描述圖6和圖7合在一起表示了“讀取文件”操作的流程。
“讀取文件”操作從設(shè)置文件的路徑名稱(路徑名PathName)的步驟S1000開始。流程圖中所示的參數(shù)(路徑名)表示文件的路徑名稱。在此流程圖和其它的流程圖中用類似的表達(dá)方式表示其它參數(shù)。步驟S1000還設(shè)置字節(jié)偏移(ByteOffset),它表示在該文件中開始讀取的位置,以及要被讀出的字節(jié)數(shù)(字節(jié)長度Byte-length)。字節(jié)偏移表示從文件的前端位置到文件中開始讀取的位置的字節(jié)數(shù)。因此,讀取開始的位置并非總是與簇的前端一致。
步驟S1001根據(jù)路徑目錄,基于路徑名稱(PathName)跟蹤分層目錄,從而檢索文件的目錄入口。步驟S1002判斷該文件是否存在。當(dāng)檢索成功,即當(dāng)文件存在時,處理進(jìn)行到步驟S1003,否則處理進(jìn)行到步驟S1004執(zhí)行誤差處理。
在步驟S1003的讀取中,從文件的目錄入口中讀出分配類型,文件的前端位置(Location),如簇或碎片,和文件大小(FileSize)并存儲。
步驟S1005判斷讀出開始位置和讀出結(jié)束位置是否超過該文件的大小。如果讀出開始位置和讀出結(jié)束位置小于文件的大小,則處理進(jìn)行到步驟S1006,否則處理進(jìn)行到步驟S1112,執(zhí)行差錯處理。
步驟S1006檢查分配類型。如果文件是已基于簇分配卷的類型(分配類型AllocType==0),或者如果該文件是分層文件的母文件(AllocType==FFFFFFFFh),則在步驟S1007中執(zhí)行下面將要描述的“基于簇讀取”操作。
在其它的情形中,即當(dāng)文件是已基于碎片分配卷的類型,或當(dāng)該文件是分層文件的一個子文件時,在步驟S1008執(zhí)行后面將要描述的“基于碎片讀取”的操作。當(dāng)完成步驟S1007或步驟S1008的處理時,執(zhí)行步驟S1010以完成“讀取文件”的處理。
(2)對“基于簇讀取”操作的描述圖8和圖9表示“基于簇讀取”處理的流程。在此操作模式中,當(dāng)跟蹤簇FAT入口的鏈時,執(zhí)行讀取。簇的讀取從步驟S1101開始,其中設(shè)置文件的前端位置(Location),文件中讀取開始位置的字節(jié)偏移(ByteOffset)和要讀出的字節(jié)數(shù)(ByteLength)。文件的前端位置,讀取開始位置和要讀出的字節(jié)數(shù)從目錄入口中得出。
步驟S11-2經(jīng)過步驟S1102框中的計算判斷開始簇地址(ClusterAddress),文件中讀出位置的簇偏移(Cluster Start簇開始)和讀取結(jié)束位置的簇偏移(ClusterEnd簇結(jié)束)。然后步驟S1102把簇偏移變量(ClusterOffset)初始化到零。簇偏移變量是一個整數(shù),并且每讀取一個簇增加“1”。文件的開始端位置(Location)已按圖3中的形式4)記錄。根據(jù)文件開始端位置(Location)的較高的25位確定開始簇的地址(ClusterAddress)。簇的大小是一個在卷中固定的值,并且可以從系統(tǒng)區(qū)域中得到。上述的簇地址對應(yīng)于前述簇號。
步驟S1103判斷讀取開始位置的簇偏移變量(ClusterOffset)是否不小于讀取開始位置的簇偏移(ClusterStart)。如果回答是肯定的,則處理進(jìn)行到步驟S1104,進(jìn)行用于讀取數(shù)據(jù)的處理,因為在這種情況下要讀取的數(shù)據(jù)存在于該簇中。反之,如果回答是否定的,即如果簇偏移值(ClusterOffset)小于讀取開始位置的簇偏移值(ClusterStart),則處理跳過步驟S1104到步驟S1105。
因此,步驟S1104實際執(zhí)行簇數(shù)據(jù)的讀出。當(dāng)從開始簇讀取數(shù)據(jù)時,如果文件中讀取位置的字節(jié)偏移(ByteOffset)不是簇大小的倍數(shù),則在開始簇的讀取位置字節(jié)偏移設(shè)置為字節(jié)偏移%簇大小(%表示“字節(jié)偏移”的模計算結(jié)果和簇大小,在后面的敘述中表示同樣的意義)。同樣,當(dāng)讀取最后的簇(ClusterEnd)時,如果(字節(jié)偏移+字節(jié)長度)不是簇大小的倍數(shù),則從最后簇中讀取的字節(jié)數(shù)設(shè)為(字節(jié)偏移+字節(jié)長度)%簇大小。在其它的所有情況中讀出簇的所有數(shù)據(jù)。
步驟S1105檢查當(dāng)前簇的偏移(ClusterOffset)是否與結(jié)束位置的簇偏移(ClusterEnd)一致。如果回答是肯定的,則處理進(jìn)至步驟S1106,完成“基于簇讀取”的處理。但如果回答是否定的,即如果還沒有到最后的簇,則處理進(jìn)行到步驟S1107,其中當(dāng)前簇的偏移值(ClusterOffset)增加“1”。然后處理進(jìn)行到步驟S1108,從簇FAT中讀取當(dāng)前簇(增加的)的FAT入口值(入口Entry)。
步驟S1109檢查讀取入口Entry是否表示當(dāng)前的簇是構(gòu)成該文件的最后一個簇。當(dāng)前簇不能是最后的簇,因為示于圖6中的步驟S1005已經(jīng)檢查了文件的大小。當(dāng)示于圖3中形式4)和5)的較高的25位為值“1FFFFFFh”時,處理進(jìn)到步驟S1110,從而執(zhí)行差錯處理。
如果在步驟S1109中判斷當(dāng)前的簇不是最后的簇時,用下一個簇地址的較高的25位(Entry高25位)替換當(dāng)前簇的簇地址(ClusterAddress)。然后處理再返回到步驟S1103,并且重復(fù)上述操作直到步驟S1105判定當(dāng)前簇偏移(Cluster Offset)與結(jié)束位置的簇偏移(ClusterEnd)一致,然后讀出所有需要的數(shù)據(jù)。
(3)對“基于碎片讀取”操作的描述圖10和11表示“基于碎片讀取”過程的流程。此過程通過跟蹤碎片F(xiàn)AT的Fat入口鏈執(zhí)行。該讀取過程與前面參考圖8和9對“基于簇讀取”過程的解釋一樣,除了步驟S1208使用碎片F(xiàn)AT并且用在步驟S1203和S1211中的入口具有圖4中的形式3)。碎片地址對應(yīng)于前述的碎片號,以后的步驟中也是一樣。
(4)對“寫入文件”操作的描述圖12和13表示“文件寫入”過程的流程。文件的寫入基本上以與前面參考圖6和圖7所解釋的“讀取文件”相同的方式執(zhí)行。有兩個序列一個起始于步驟S1310,用于執(zhí)行后面將要描述的“基于簇寫入”的操作,另一個開始于步驟S1311,執(zhí)行后面將要描述的“基于碎片寫入”的過程?!皩懭胛募边^程不執(zhí)行文件大小的檢查。當(dāng)寫入進(jìn)行時,分配一個新簇和新文件以容納文件增加的大小(FileSize)。在這種情況下,在步驟S1312中更新目錄入口。構(gòu)成第二管理信息的目錄入口的更新體現(xiàn)了權(quán)利要求11所述的特征。
可以在一個存在的文件中進(jìn)行寫入。但當(dāng)在目錄入口中不存在文件時,可以根據(jù)系統(tǒng)配置形成一個新文件。因此,當(dāng)通過步驟S1303進(jìn)行的檢索發(fā)現(xiàn)沒有文件時,過程進(jìn)行到步驟S1306,執(zhí)行“形成新文件”過程。
(5)對“基于簇寫入”操作的描述圖14和15表示“基于簇寫入”過程的流程。“基于簇寫入”過程是一個與前面參考圖8和9描述的“基于簇讀取”的過程基本相同的過程。在步驟S1401中執(zhí)行數(shù)據(jù)向簇中的寫入。與讀取操作的情形相同,在開始簇中有一個字節(jié)偏移,同時數(shù)據(jù)可能沒有完全填滿最后的簇。在寫入操作中,只有要重寫的數(shù)據(jù)需要更新,在同一簇中不改變其它的數(shù)據(jù)。
當(dāng)文件的大小不足以容納寫入的數(shù)據(jù)時,需要分配一個新簇。當(dāng)步驟S1409判定當(dāng)前簇是構(gòu)成該文件的最后一個簇時,執(zhí)行步驟S1410,以進(jìn)行“獲取新簇”的過程。
在該流程所示的過程中,每次需要進(jìn)行獲取時獲取一個簇。但并不限于這種情況,該過程可以被修改,使得為了容納要寫入的全部數(shù)據(jù)使新獲得的簇的數(shù)量預(yù)先在步驟S1402中確定。在這種情況下,為了順序地在連續(xù)簇中寫入數(shù)據(jù),可以在后述的“獲得新簇”操作中進(jìn)行未使用簇的檢索,以發(fā)現(xiàn)連續(xù)的未使用簇需要的數(shù)量。這體現(xiàn)了權(quán)利要求9的特點。
(6)對“獲取新簇”操作的描述圖16表示“獲取新簇”操作的流程。在此操作中,一個重要的任務(wù)就是如何判斷未使用的簇。在圖16所示的流程中,在不同的檢索范圍內(nèi)進(jìn)行兩次對未使用簇的搜索,即步驟S1502和1504。具體地說,在步驟S1502中,從該卷中當(dāng)前簇到最后一個簇的范圍內(nèi)進(jìn)行檢索。然后,步驟S1504執(zhí)行從卷的第一簇到當(dāng)前簇的檢索。當(dāng)盡管執(zhí)行了兩個步驟但仍沒有獲取新簇時,過程進(jìn)行到步驟S1506,執(zhí)行差錯處理。
獲取新簇的一個基本策略是在盡可能接近當(dāng)前簇的位置找到一個未使用的簇,以把尋找的時間減到最小。為此目的,最好把步驟S1502和S1504每一個的檢索范圍劃分成數(shù)個部分,并且檢索在遠(yuǎn)離當(dāng)前簇的方向上從最接近當(dāng)前簇的組開始,以來回跳躍的方式進(jìn)行。
如段(5)之前的描述,在新需要的簇的全部數(shù)量已知時,最好發(fā)現(xiàn)未使用的簇,使得在后來尋找這些簇時,尋找這些簇的時間總和最小,而不是當(dāng)在遠(yuǎn)處位置找到這些簇時需要很長的尋找時間。這可通過關(guān)于以獲得有關(guān)屬于檢索范圍內(nèi)每個部分的未使用簇的數(shù)量的信息來檢查簇的使用狀態(tài)而實現(xiàn)。這對應(yīng)于權(quán)利要求1和5所提出的特征。
較多的簇需要較長的檢索處理時間。根據(jù)本發(fā)明,文件裝置510采用分層FAT,它反過來允許每個簇具有相對較大的大小,并因此減小簇的數(shù)量。因此可以進(jìn)行對未使用簇的高效檢索。
(7)對“從檢索范圍獲取新簇”操作的描述圖17和18表示“從檢索范圍內(nèi)獲得新簇”操作的流程。該過程始于步驟S1601,把當(dāng)前簇的地址(ClusterAddress)設(shè)置到檢索開始的簇的簇地址(FindCluster發(fā)現(xiàn)簇),并把文件的最后簇的地址設(shè)置到檢索結(jié)束的簇的簇地址(FindEnd發(fā)現(xiàn)結(jié)束)。
步驟S1602判定一個簇是否落在檢索的范圍內(nèi)。參數(shù)(FindCluster發(fā)現(xiàn)簇)逐漸地變到更大的整數(shù)以用作檢索中的簇的地址。簇是否在檢索的范圍之內(nèi)通過檢查FindCluster的值是否不大于最后的簇FindEnd而判斷。當(dāng)該簇位于檢索范圍之內(nèi)時,過程進(jìn)行到步驟S1603,而如果簇在檢索范圍之外時則過程進(jìn)行到步驟S1611。在后一種情況中,由于沒有找到,結(jié)束檢索。
步驟S1603從簇FAT中讀出簇地址FindCluster的入口值(Entry入口)。然后,步驟S1604判斷該簇是否是一個未使用簇。當(dāng)簇具有圖3中所示的形式1)并具有“00000000h”的較高位25時,該簇被判定為是未使用簇。在這種情況中,過程繼續(xù)到步驟S1605,并將用于檢索的簇地址增加“1”。然后,過程返回到步驟S1602以檢查下一個簇。重復(fù)此操作直到在檢索范圍內(nèi)找到未使用的簇。
當(dāng)在步驟S1604中發(fā)現(xiàn)未使用的簇時,過程進(jìn)行到步驟S1606,設(shè)置FAT入口的新值。這總是設(shè)置到表示最后一個簇的FAT入口。因此,F(xiàn)AT入口具有圖3中所示的形式4),其具有值“FFFFFFh”的較高的25位。在步驟S1607中,上述FAT入口值(Entry)被寫作檢索的未使用的簇的FAT入口(FindCluster),以更新FAT入口。
找到未使用簇之后作為第一管理信息執(zhí)行的簇FAT入口的更新,以及后面將要描述的找到未使用碎片后執(zhí)行的碎片F(xiàn)AT入口的更新體現(xiàn)了權(quán)利要求8的特征。
在步驟S1608中,設(shè)置當(dāng)前最后簇的FAT入口以表示已通過檢索找到的未使用簇。因此,F(xiàn)AT入口被設(shè)置成圖3中的形式4),并且發(fā)現(xiàn)簇(FindCluster)設(shè)置成此形式的較高的25位的值。在步驟S1609中,上述入口(Entry)在簇地址(ClusterAddress)處寫入FAT入口中,從而更新FAT入口。但是在形成新文件的情況下,通過“獲得新簇”過程獲得第一簇。在這種情況下,由目錄入口表示前端位置,而不需要更新當(dāng)前的FAT值,使得不需要執(zhí)行步驟S1608和S1609的操作。
從步驟S1606到步驟S1609的操作結(jié)果是FAT鏈得到更新。然后步驟S1610執(zhí)行對當(dāng)前簇的地址(ClusterAddress)的替換,使得作為檢索結(jié)果而找到的簇(FindCluster)被設(shè)為當(dāng)前最后簇,由此在步驟S1611中完成“從檢索范圍中獲取新簇”。
(8)對“基于碎片寫入”操作的描述圖19和20表示“基于碎片寫入”操作的流程。“基于碎片寫入”過程基本上與前面參考圖14和15所描述的“基于簇寫入”一樣。與“基于簇寫入”相反的是,“基于簇寫入”利用目錄入口表示的文件的前端位置(簇)的簇FAT,而“基于碎片寫入”依據(jù)于碎片F(xiàn)AT。當(dāng)作為寫入的結(jié)果文件大小增加時,在步驟S1710中執(zhí)行下面將要描述的“獲取新碎片”過程。
(9)對“獲取新碎片”操作的描述圖21表示“獲取新碎片”過程的流程。如同前面參考圖16所描述的“獲取新簇”過程的情形一樣,“獲取新碎片”過程在整個劃分的檢索范圍內(nèi)進(jìn)行。步驟S1802判斷該目標(biāo)文件是否是分層文件的子文件。如果上述文件是分層文件的子文件,過程進(jìn)行到步驟S1804,其中根據(jù)下面將要描述的程序執(zhí)行“獲取分層文件的新碎片”。
在普通文件的情況下,過程進(jìn)行到步驟S1803,執(zhí)行“獲取新碎片”過程。對于簇FAT檢查每個簇中碎片的使用狀態(tài),然后在所涉及的簇的范圍內(nèi)搜索未使用的碎片。接著執(zhí)行后面將要描述的“從檢索范圍內(nèi)獲取新碎片”過程,其中根據(jù)當(dāng)前的碎片地址(FragmentAddress碎片地址)的較高的25位值判斷簇地址。然后執(zhí)行步驟S1803,從該卷的當(dāng)前簇到最后一個簇的范圍內(nèi)進(jìn)行檢索。如果檢索不成功,過程進(jìn)行到步驟S1806,在該卷的第一簇到當(dāng)前簇的范圍內(nèi)執(zhí)行檢索。如果沒有得到新碎片,則在步驟S1808中執(zhí)行差錯處理。如果獲得一個新碎片,則在步驟S1809中完成“獲取新碎片”過程。
(10)對“從檢索范圍獲取新碎片”操作的描述圖22和23表示“從檢索范圍獲取新碎片”過程的流程。此過程從步驟S1901開始,在該步驟中與前述的段(9)“獲取新碎片”的解釋一樣,通過給出下列參數(shù)設(shè)置查找新碎片的檢索范圍開始簇(FindCluster發(fā)現(xiàn)簇),檢索范圍的結(jié)束簇和上述文件最后碎片的地址(FragmentAddress碎片地址)。開始簇(FindCluster發(fā)現(xiàn)簇)是一個整數(shù)變量,并且其變化表示檢索中的簇。新碎片的檢索分兩步進(jìn)行即簇FAT的檢查和碎片F(xiàn)AT的檢查。因此,首先執(zhí)行對較高層級的簇的檢索,然后對較低層級的碎片執(zhí)行檢索。這是權(quán)利要求12所述特征的一個實施例。
步驟S1902判斷被檢查的簇是否落在檢索的范圍之內(nèi)。當(dāng)“發(fā)現(xiàn)簇(FindCluster)”不大于“FindEnd”時,判定被檢查的簇落在檢索范圍內(nèi),使得過程進(jìn)行到步驟S1903,否則,過程進(jìn)行到步驟S1909,其中由于不能得到新碎片終止該過程。
當(dāng)被檢查的簇落在檢索范圍內(nèi)時,執(zhí)行步驟S1903,讀取對應(yīng)于檢查中的簇(Find Cluster)的簇FAT的入口值(Cluster Entry簇入口)。在步驟S1904中,如果入口值具有圖3所示的形式1),具有值“00000000h”,則該簇被判定為未使用簇,使得過程進(jìn)行到步驟S1907執(zhí)行“B)從未使用的簇獲取新簇”的過程,后面將對此過程進(jìn)行描述。
如果步驟S1905判定入口值具有圖3的形式2),帶有一個小于“00000100h”的值,則判定該簇有一個未使用的碎片。在這種情況下,過程進(jìn)行到步驟S1908,執(zhí)行“A)從使用的簇獲取新碎片”過程,該過程后面將描述。當(dāng)在步驟S1904和步驟S1905中均不能得到肯定的回答時,過程進(jìn)行到步驟S1906,將檢索的簇的簇地址(ClusterAddress)增加“1”。然后過程返回到步驟S1902,使得在檢索范圍內(nèi)重復(fù)步驟S1902到步驟S1905的操作。
因此,在步驟S1907和步驟S1908中執(zhí)行新碎片的獲取,并且在步驟S1909中完成“從檢索范圍內(nèi)獲取碎片”的過程。如果執(zhí)行步驟S1907,以進(jìn)行稍后將要描述的“A)從未使用的簇中獲取新碎片”過程,未使用的簇不再被用作一個簇,而是用作碎片的集合。因此,如果嚴(yán)格地要求卷的高效使用,則可以在檢索范圍內(nèi)執(zhí)行步驟S1905的單獨(dú)判定,并且只在步驟S1905的判斷不成功時才執(zhí)行步驟S1904的判斷,以啟動步驟S1907考慮未使用簇的使用。
為了使要獲取的碎片盡可能地屬于同一個簇,最好執(zhí)行步驟S1905,以優(yōu)選地選擇一個具有足夠多的未使用的碎片能容納為寫入的目的獲取的碎片數(shù)量的簇。具有大量未使用碎片的簇的優(yōu)選部分是權(quán)利要求5所述特征的一個實施例。
(11)對“從簇中獲取新碎片”操作的描述圖24、25和16表示“從簇中獲取新碎片”過程的流程。
此過程根據(jù)具體情況有兩個分支,即“A)從使用中的簇獲取新碎片”和“B)從未使用的簇中獲取新碎片”。
“A)從使用中的簇獲取新簇”過程始于步驟S2001,該步驟設(shè)置當(dāng)前碎片的地址(FrangmentAddress),檢索的簇的簇地址(Find Cluster),和檢索的簇的FAT入口值(ClusterEntry)。步驟S2002設(shè)置檢索的開始碎片地址和檢索的結(jié)束碎片地址,以確定檢索的范圍,使得該范圍落在上述目標(biāo)簇之內(nèi)。簇的前端碎片地址通過設(shè)置較高的25位簇的值和設(shè)置較低的7位的值“0”而給出。每個簇具有128個碎片,使得通過給開始碎片地址加127來確定結(jié)束碎片的地址。標(biāo)識該簇中進(jìn)行檢索的參數(shù)“FindCluster發(fā)現(xiàn)簇”是一個可變的整數(shù),并當(dāng)檢索轉(zhuǎn)向另一個簇時發(fā)生改變。
步驟S2003判斷被檢索的碎片是否落在檢索的范圍之內(nèi)。當(dāng)還沒有到達(dá)結(jié)束的簇時,過程進(jìn)行到步驟S2004,否則,過程進(jìn)行到步驟S2005,執(zhí)行差錯處理。但實際上并沒有產(chǎn)生差錯,因為該簇FAT的入口值表示至少存在一個未使用的碎片。步驟S2004從碎片F(xiàn)AT中讀出被檢索的碎片的入口值(FindFragment)。S2006檢查此碎片是否是未使用碎片。當(dāng)入口具有圖4所示的形式1)即“0000000h”時,檢索未使用的簇并且過程進(jìn)行到步驟S2008。如果步驟S2006判定該碎片不是一個未使用的碎片,則被檢索的碎片(FindFragment)增大“1”。并且過程進(jìn)行到步驟S2003,從而重復(fù)步驟S2003至S2007直到在整個檢索范圍內(nèi)完成檢索。
如果發(fā)現(xiàn)一個未使用的碎片,則該碎片所屬于的簇的FAT入口值(ClusterEntry)增大“1”,以增加使用中的碎片數(shù)。然后過程進(jìn)行到步驟S2011,把簇地址的入口值(FindCluster)更新到“簇入口”。
步驟S2012把碎片F(xiàn)AT入口值(碎片入口FragmentEntry)設(shè)置為圖4的形式3),即“FFFFFF80h”,使得該入口值表示文件的最后一個碎片。步驟S2013在碎片F(xiàn)AT入口中的值(FragmentEntry)在被檢索的未使用碎片地址處寫入,然后更新碎片F(xiàn)AT入口。
步驟S2014設(shè)置碎片F(xiàn)AT的入口值(FragmentEntry),使得其表示被檢索的未使用碎片(發(fā)現(xiàn)碎片F(xiàn)indFragment)的地址。步驟S2015在上述目標(biāo)文件碎片地址(FragmentAddress)的碎片F(xiàn)AT的入口中寫入碎片入口值(FragmentEntry)。但是當(dāng)碎片地址(FragmentAddress)是零時并不執(zhí)行更新操作,因為在這種情況下,碎片F(xiàn)AT的入口值由目錄入口指示。
由此通過步驟S2012至S2015把對應(yīng)于該文件的碎片F(xiàn)AT鏈更新。步驟S2016把檢索到的未使用碎片設(shè)置成文件最后一個碎片的碎片地址,從而在步驟S2017中完成此過程。
從步驟S2009開始“B)從未使用的簇中獲取新碎片”。當(dāng)該簇是未使用簇時,該簇的所有碎片也都是未使用的。在這種情況下,把該簇的第一碎片設(shè)置為一個新碎片。步驟S2010根據(jù)圖3的形式1),用值“1”替換到表示碎片使用的較低的7位,使得把登記為未使用的簇改變成使用的簇。同時,把包括檢索的未使用碎片的簇的簇地址設(shè)置到較高的25位中,而“0”設(shè)成較低的7位,由此形成未使用碎片的碎片地址。
然后過程進(jìn)行到步驟S2011,與“A)從使用的簇獲取新簇”過程相同的方式更新簇FAT的入口,并且在步驟S2013中根據(jù)檢索到的碎片更新碎片F(xiàn)AT的入口。在步驟S2015中,更新文件的當(dāng)前碎片地址并且在步驟S2017中完成該過程。
(12)對“獲取分層文件的新碎片”操作的描述圖27和28表示“獲取分層文件的新碎片”過程的流程。在母文件的子文件情形中,首先從分配給母文件的簇中搜索出要使用的一個新碎片。如果其中一個簇具有未使用的碎片,則把新簇分配給該母文件,并且在這整個新分配的簇中搜索一個使用的碎片。該過程起始于步驟S2101,其中設(shè)置當(dāng)前碎片(FragmentAddress)和分配類型(AllocType)。此段中描述的特征體現(xiàn)了新區(qū)域的檢索和分配特點。
當(dāng)上述目標(biāo)文件是一個分層文件的子文件時,在目錄入口的分配類型(AllocType)中設(shè)置母文件的開始地址,使得該地址被設(shè)置成在步驟S2102中執(zhí)行對其的檢索的簇的地址。
在步驟S2103中,從簇FAT中讀出簇地址(ClusterAddress)的入口值(ClusterEntry)。步驟S2104檢查該入口值是否具有圖4的形式3),以及該簇是否包括任何未使用的碎片。當(dāng)較低的7位的值不是“0”,過程進(jìn)行到步驟S2107,它執(zhí)行前述的“A)從使用的簇中獲取新簇”過程。
當(dāng)在步驟S2104中沒有發(fā)現(xiàn)未使用簇S2104時,執(zhí)行步驟S2105檢查該簇是否是最后一個簇。當(dāng)該入口值具有圖3的形式5),帶有表示“1FFFFFFh”的簇號時,步驟S2105判定該被檢查的簇是最后的簇,并且過程進(jìn)行到步驟S2108,執(zhí)行前述的“獲取新簇”的過程以獲得對于該母文件的一個新簇。
當(dāng)步驟S2105判定該簇不是最后的簇時,過程進(jìn)行到步驟S2106,把入口值較高的25位設(shè)置成下一個簇的簇地址。然后該過程再返回到步驟S2104,使得重復(fù)步驟S2104到步驟S2106的例程。當(dāng)在步驟S2107中完成“A)從使用中的簇獲得新簇”過程時,過程進(jìn)行到步驟S2111以完成該過程。
步驟S2108執(zhí)行前述的“(6)獲取新簇”。新簇的獲取需要母文件目錄入口。因此,在步驟S2109中,根據(jù)母文件的開始地址(AllocType)在目錄中檢索母文件,并且更新母文件的文件大小和其它參數(shù)。步驟S2110對新分配的簇執(zhí)行“(B)從未使用的簇中獲取新碎片”并在步驟S2111中終止該過程。
(13)對“形成新文件”操作的描述圖29和30表示“形成新文件”操作的流程。參見前述的圖12和13,當(dāng)在“寫入文件”操作中沒有發(fā)現(xiàn)指示的文件時,并且當(dāng)要產(chǎn)生一個新文件時進(jìn)行新文件的形成。但是只有當(dāng)存在母文件時才有可能形成一個子文件。以下將分別參見圖31和32對形成新的子文件的過程進(jìn)行描述。
“形成新文件”的操作起始于步驟S2201,在該步驟中指示要形成文件的路徑名稱(PathName)和分配類型(AllocType)。步驟S2202提供具有路徑名稱“PathName”的文件的目錄入口。步驟S2203判斷是否已形成目錄入口。如果形成了目錄入口,則過程進(jìn)行到步驟S2204,而如果沒有形成,則過程進(jìn)行到步驟S2205,執(zhí)行誤差處理。
步驟S2204檢查要形成的文件是否是分層文件的母文件。如果參數(shù)“分配類型AllocType”具有“FFFFFFFFh”值,則過程進(jìn)行到步驟S2211,它進(jìn)行母文件的形成。在步驟S2206中,對是否基于簇形成新文件做出判斷。如果參數(shù)“AllocType”具有值“0”,則過程進(jìn)行到步驟S2209,基于簇形成文件,否則過程進(jìn)行到步驟S2207,基于碎片形成文件。在步驟S2211中,根據(jù)前述的“(6)新簇的獲取”過程執(zhí)行母文件的形成。參數(shù)“簇地址(ClusterAddress)”設(shè)置為“0”,表示該文件還沒有任何簇。
步驟S2212設(shè)置目錄入口的值。在分配類型“AllocType”中設(shè)置表示分層目錄的母文件的值“FFFFFFFFh”,并且在步驟S2211中把新獲取的簇地址設(shè)置在該文件前端位置(Location)的較高的25位。文件大小設(shè)為“0”。
基于簇形成文件采用在步驟S2209中執(zhí)行的前述“6)獲取新簇”過程。在步驟S2210中設(shè)置目錄入口。在這種情況下,在分配類型“AllocType”中設(shè)置表示基于簇分配的值“0”。
基于碎片形成文件采用在步驟S2207中執(zhí)行的前述“(9)獲取新簇”過程。在步驟S2208中設(shè)置目錄入口。在這種情況下,基于碎片在分配類型“AllocType”中設(shè)置表示基于碎片分配的值“1”。同時,把在步驟S2207中獲得的新碎片的地址設(shè)置成文件的前端位置。然后對兩種情況的每一種設(shè)置目錄入口,這兩種情況即基于簇形成文件和基于碎片形成文件。在每一種情況中,過程進(jìn)行到步驟S2213,更新目錄入口并且在步驟S2214終止該過程。
(14)對“形成分層文件的新子文件”操作的描述圖31和32是解釋“形成分層文件的新子文件”過程的流程。
分層文件的子文件基本上以與母文件相同的目錄存在。步驟S2301給出母文件的路徑名稱(PathName)和子文件的文件名(FileName)。雖然母文件和子文件形成在同樣的目錄中,但這不是絕對的,兩個文件可以形成在不同的目錄中,只要交替查閱這些目錄是可能的。
此過程開始于步驟S2302,根據(jù)母文件的路徑名檢索母文件,并獲得目錄入口。在步驟S2303中判斷是否可以發(fā)現(xiàn)母文件。如果回答是肯定的,則過程進(jìn)行到步驟S2304,而當(dāng)回答是否定的時,過程進(jìn)行到步驟S2305,執(zhí)行差錯處理。步驟S2306檢查檢索的文件是否是分層文件的母文件。如果分配類型“ParentAllocType(母文件分配類型)”具有值“FFFFFFFFh”,則過程進(jìn)行到步驟S2307,否則過程進(jìn)行到步驟S2308,執(zhí)行差錯處理。
步驟S2307在相同的目錄中以文件名“FileName”的名稱形成一個子文件。步驟S2309判斷是否發(fā)現(xiàn)該文件,當(dāng)該文件已經(jīng)形成時,過程進(jìn)行到步驟S2310,否則過程進(jìn)行到步驟S2311,執(zhí)行差錯處理。
步驟S2310執(zhí)行“(12)獲得分層文件的新碎片”過程,同時把當(dāng)前文件的碎片地址(FragmentAddress)設(shè)置為值“0”,并把母文件的前端位置(ParentLocation)設(shè)置為分配類型AllocType。在步驟S2312中,新獲取的碎片地址作為子文件的前端位置(Location)。步驟S2313更新子文件的入口。然后在步驟S2314結(jié)束該過程。
在前述的實施例中,簇和碎片分別以FAT鏈的形式表示。但這并不是絕對的,這可以是通過位圖管理用于分配卷的關(guān)于使用存儲區(qū)域的信息這樣的配置,而關(guān)于文件結(jié)構(gòu)的信息通過不同的方式管理。在這種情況中,位圖分別用于簇的管理和碎片的管理,使得能夠基于簇分配和基于碎片分配。這種配置與前述實施例的形式具有相同的優(yōu)點。
當(dāng)使用這種簇位圖時,可以把諸如在每個簇中使用的碎片數(shù)的信息加到簇位圖中。利用這種配置,可以從對于較高層級的第一管理信息中獲得較低層級的第一管理信息。這體現(xiàn)了權(quán)利要求14所述的特征。
在列舉的實施例中,文件以兩個層級管理即簇和碎片。這只是例示性的,本發(fā)明還可以通過把每個碎片分成更細(xì)小的單元來進(jìn)行,以使得通過多層次的管理信息管理一個大的卷。
在所述的實施例中,把信息記錄介質(zhì)的存儲區(qū)域作為一個單一的卷對待。也可以把物理上分開的信息記錄介質(zhì)在邏輯上用作一個卷,還可把一個信息記錄介質(zhì)的區(qū)域劃分成多個卷。
上述實施例對所有簇采用碎片F(xiàn)AT入口。但是這種配置可以修改為采用表示用于各個簇的碎片F(xiàn)AT的入口的管理表,使得通過參考該管理表間接地獲得碎片F(xiàn)AT入口。在這種情況下,沒有基于碎片使用的簇沒有任何碎片F(xiàn)AT入口。因此,只有當(dāng)基于碎片使用與碎片有關(guān)的簇時,碎片F(xiàn)AT入口才形成在該卷中。
這種改型能夠減小碎片F(xiàn)AT的大小,使得卷的利用更有效率。另外,可以集中必須使用的碎片F(xiàn)ATs。當(dāng)進(jìn)行查閱時這允許對次級記錄裝置503進(jìn)行高效的存取。
在例示的實施例中,對每個文件的卷分配是不變的。然而,可以配置為使得每個文件的分配單元是可變的。為了使在一個文件中的分配單元能夠變化,改變?nèi)肟谥档牡刂反笮?,使得碎片F(xiàn)AT的入口位置可以用簇FAT的入口表示。
在例示的實施例中,碎片的大小和簇的大小固定。但并不限于此,文件還可以通過使用可變長度的簇和碎片構(gòu)成。為了實現(xiàn)一個可變長度的簇,把描述起始偏移和結(jié)束偏移以確定簇中所使用的區(qū)域的一個字段加到簇FAT入口中。類似地,通過給簇FAT入口加入一個描述起始偏移和結(jié)束偏移以確定碎片中使用的區(qū)域的字段而獲得一個可變長度的碎片。此特征使得能夠諸如合并文件和刪除文件中的數(shù)據(jù)區(qū)域等編輯工作而無需復(fù)制文件中的數(shù)據(jù)成為可能。
采用本發(fā)明的分層管理文件裝置510中的圖1所示的電子裝置或系統(tǒng)只是一個舉例。本發(fā)明的分層管理文件裝置可以一般地用于電子裝置或系統(tǒng)中,這種類型的裝置或系統(tǒng)同時高速處理要連續(xù)記錄和再現(xiàn)的文件和可以用離散的方式處理的文件。
在本發(fā)明的分層管理文件裝置中,以及在采用此文件裝置的電子裝置或系統(tǒng)中,可以根據(jù)分配給文件的不同層級的多種類型的區(qū)域來管理文件。當(dāng)需要實時記錄和再現(xiàn)圖像和聲音時,可以分配大記錄單元長度的連續(xù)的記錄區(qū)域,以避免不然就會由于碎片出現(xiàn)而發(fā)生的文件存取速度的降低。
反之,可以給小文件分配較小記錄單元長度的區(qū)域,從而避免記錄區(qū)域容量的使用浪費(fèi)。
還可以得知,與根據(jù)單一記錄單元長度進(jìn)行的分配相比,具有較大記錄單元長度的較高層級的區(qū)域的第一管理信息數(shù)據(jù)大小可以減小。因此,減小第一管理信息存儲器的大小以便于查閱。同時可以有益地減小存取盤時招致的負(fù)載和進(jìn)行處理時加到CPU上的負(fù)載。
當(dāng)根據(jù)具有較大記錄單元長度的區(qū)域進(jìn)行分配時,可以很容易地檢索要新分配的未使用的記錄區(qū)域。另外,可以根據(jù)較大的記錄單元長度執(zhí)行對第一管理信息和第二管理信息的查閱,從而能夠優(yōu)化分配同時避免碎片出現(xiàn)。
分配的記錄區(qū)域可以有分層的第一管理信息。該較高層級的第一管理信息可以擁有涉及較低層級的區(qū)域使用狀態(tài)的統(tǒng)計信息。當(dāng)根據(jù)較低層級的區(qū)域記錄文件時,可以從對于較高層級的第一管理信息中知道較低層級的區(qū)域的狀態(tài),從而消除查閱較低層級的所有第一管理信息的必要。因此,即使當(dāng)根據(jù)較小記錄單元長度的區(qū)域進(jìn)行記錄時也能高效地記錄文件而同時避免碎片出現(xiàn)。
對具有母文件和子文件的分層文件的使用使得能夠?qū)㈥P(guān)于子文件的信息集中到以較大記錄單元長度分配的區(qū)域。因此當(dāng)在某一時間對整個分層文件進(jìn)行存取時使存取速度增加。還可以使用分層文件的機(jī)制使得母文件具有用作目錄的屬性。通過把母文件用作目錄,可以使目錄中的全部文件集中到以較大記錄單元長度分配的區(qū)域。這進(jìn)一步增強(qiáng)了對該目錄中文件的存取速度。另外,當(dāng)希望一起刪除該文件和目錄時,可以以留下較大記錄單元長度的區(qū)域的方式進(jìn)行刪除,從而避免不希望的未使用記錄區(qū)域的分散。
可以使用分層文件的機(jī)制以體現(xiàn)以下分配原則,分配較小記錄單元長度的區(qū)域來補(bǔ)充較大的記錄單元長度分配的區(qū)域。因此,可以把一批多個較小記錄單元長度的連續(xù)區(qū)域用作分配的新單元。
可以把有關(guān)較大記錄單元長度的區(qū)域的第一管理信息數(shù)據(jù)的大小變小。因此,可以根據(jù)物理文件分布,在文件的再現(xiàn)和記錄之前很容易地計算文件的記錄和寫入速度。因此可以得到確保高速存取的分層管理文件。
權(quán)利要求
1.一種分層管理文件裝置,其中信息記錄介質(zhì)的記錄區(qū)域被分層級地分成多個記錄單元長度的區(qū)域,每個層級的區(qū)域由多個較低層級的區(qū)域組成,其中文件在第一管理信息和第二管理信息的管理下根據(jù)各層級的區(qū)域以分割的形式記錄在記錄介質(zhì)的文件記錄區(qū)域中,并且根據(jù)第一管理信息和第二管理信息,通過分層地管理各層級的區(qū)域而將該文件從記錄介質(zhì)中再現(xiàn),該分層管理文件裝置包括記錄第一管理信息和第二管理信息并允許從中再現(xiàn)第一管理信息和第二管理信息的信息記錄介質(zhì),其中第一管理信息對于每一層級具有表示每個層級的區(qū)域的鏈接的鏈接信息和表示各區(qū)域的使用狀態(tài)的使用信息,而第二管理信息具有所述文件的屬性、用于記錄和再現(xiàn)該文件的層級的分類和該文件的類型,以及開始該文件的記錄和再現(xiàn)的起始層級的位置;以及軟件控制裝置,用于對文件的記錄和再現(xiàn)進(jìn)行控制,并查閱各個層級的第一管理信息和第二管理信息,使得為了在所述層級的區(qū)域中記錄所述文件的目的而查閱較低級水平的第一管理信息,以給該文件分配較低級水平的區(qū)域,并且當(dāng)沒有較低級水平的空區(qū)域時,查閱較高水平的第一管理信息,并再查閱屬于該較高水平的較低水平的第一管理信息,從而使所述各該區(qū)域能夠共享該文件,同時根據(jù)該文件的特點選擇性使用各層級。
2.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中所述軟件控制裝置進(jìn)行操作,使第一管理信息、第二管理信息和所述文件記錄區(qū)域能夠以給到各個層級的區(qū)域的號碼的遞增次序在各個層級的區(qū)域中記錄和再現(xiàn),從而通過遞增次序的號碼來識別各區(qū)域。
3.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中所述軟件控制裝置進(jìn)行操作,使得第二管理信息被記錄在相同層級的區(qū)域中,所述第二管理信息至少包括表示文件屬性的第一類信息,表示用于記錄和再現(xiàn)文件的層級和文件類型的第二類信息,和表示文件開始記錄和再現(xiàn)所在的該層級的區(qū)域的位置的第三類信息,其中當(dāng)根據(jù)第二類信息確定所述文件不是分層文件時,通過查閱第三類信息和所識別的層級執(zhí)行文件的記錄和再現(xiàn)。
4.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中所述軟件控制裝置進(jìn)行操作,使得第二管理信息被記錄在相同層級的區(qū)域中,所述第二管理信息至少包括表示文件屬性的第一類信息,表示用于記錄和再現(xiàn)文件的層級和文件類型的第二類信息,和表示文件開始記錄和再現(xiàn)所在的層級的區(qū)域的位置的第三類信息,其中,當(dāng)根據(jù)第二類信息確定所述文件是一個由母文件和子文件構(gòu)成的分層文件時,所述軟件控制裝置進(jìn)行控制,使得通過所述子文件的第二類信息的檢索來識別所述子文件,其中該子文件與表示所述母文件層級的開始區(qū)域的位置的母文件的第三類信息一致,并且根據(jù)所述子文件的第三類信息識別開始該子文件記錄和再現(xiàn)所在的該層級的區(qū)域的位置,然后所述軟件控制裝置進(jìn)行控制,并查閱所識別的子文件的第一管理信息,使得所述子文件使用的較低層級的區(qū)域必須包括在由所述母文件使用的較高層級的區(qū)域中。
5.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中第一管理信息包括具有表示層級的區(qū)域的鏈接的鏈接信息和表示該層級的區(qū)域的使用狀態(tài)的使用信息的第四類信息,和表示層級低于所述層級的區(qū)域的使用狀態(tài)的第五類信息,其中所述軟件控制裝置進(jìn)行操作,使得根據(jù)第四類信息識別挨著所述層級的區(qū)域的用于記錄和再現(xiàn)的區(qū)域,使得分配給該文件的區(qū)域被連續(xù)地用于記錄和再現(xiàn),所述軟件控制裝置進(jìn)一步進(jìn)行操作,以根據(jù)第五類信息控制是否把較低級水平的區(qū)域分配給該文件。
6.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中所述較低層級的第一管理信息包括表示所述較低級水平的區(qū)域的鏈接的鏈接信息和表示所述較低級水平的區(qū)域的使用狀態(tài)的使用信息,并且還包括表示所述較低級水平的區(qū)域?qū)儆诘妮^高級水平的區(qū)域的鏈接的鏈接信息和表示所述較高級水平的區(qū)域使用狀態(tài)的使用信息。
7.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中所述每個層級的第一管理信息包括表示所述文件結(jié)束的信息。
8.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中當(dāng)所述信息記錄介質(zhì)被初始化時,所述軟件控制裝置進(jìn)行操作,只分配具有最大記錄單元長度的最高層級的區(qū)域。
9.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中所述軟件控制裝置可進(jìn)行操作,把所述文件的連續(xù)信息單元分配到所述較低級水平的區(qū)域中。
10.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中所述軟件控制裝置進(jìn)行操作,使得當(dāng)為一個文件保留一個層級的新區(qū)域并當(dāng)把該文件記錄到該新區(qū)域中時,對各個層級更新具有關(guān)于該層級的區(qū)域的鏈接信息和使用信息的第四類信息和表示該較低級水平的區(qū)域的使用狀態(tài)的第五類信息。
11.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中當(dāng)為一個文件保留一個層級的新區(qū)域并當(dāng)該文件被記錄到該新區(qū)域中時,所述軟件控制裝置進(jìn)行操作,以更新表示所述文件屬性的第一類信息,并還更新包括在第二管理信息中的第二類信息和第三類信息,該第二類信息表示要用于記錄和再現(xiàn)文件的層級以及文件的類型,該第三類信息表示文件的記錄和再現(xiàn)開始時所在層級的區(qū)域的位置。
12.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中所述軟件控制裝置進(jìn)行操作,使得當(dāng)通過分配用于記錄所述文件的新的區(qū)域而更新第一管理信息和第二管理信息時,查閱第一管理信息和第二管理信息,并通過把文件最近記錄所在的當(dāng)前層級的區(qū)域的位置用作參考,查閱所述最高層級的區(qū)域的第一管理信息,其中當(dāng)前層級的區(qū)域?qū)儆谠撟罡邔蛹?,由此在整個分層中檢索該最高層級的未使用區(qū)域,所述軟件控制裝置進(jìn)行操作,以進(jìn)一步對于連續(xù)的較低分層執(zhí)行類似于最高層級的區(qū)域檢索的檢索,并且把要加到該文件的信息分配給檢索的最接近所述當(dāng)前層級的區(qū)域的區(qū)域。
13.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中軟件控制裝置進(jìn)行操作,使得當(dāng)通過分配用于記錄文件的新的區(qū)域而更新第一管理信息和第二管理信息時,查閱第一管理信息和第二管理信息,并通過把分層文件最近記錄的當(dāng)前層級的區(qū)域的位置用作參考,而查閱最高層級的區(qū)域的第一管理信息,其中所述當(dāng)前層級的區(qū)域?qū)儆谠撟罡邔蛹壊儆谒瞿肝募纱嗽谡麄€分層中檢索屬于該母文件的最高層級的未使用區(qū)域,所述軟件控制裝置還進(jìn)行操作,以對于連續(xù)的較低層級,執(zhí)行類似于屬于所述母文件的最高層級的區(qū)域的檢索的檢索,并且把該層級的子文件信息記錄到最接近所述當(dāng)前層級區(qū)域的被檢索區(qū)域。
14.根據(jù)權(quán)利要求1所述的分層管理文件裝置,其中對于每一層級,第一管理信息擁有表示每一層級的區(qū)域使用狀態(tài)的使用信息,和表示低于每個所述層級的層級的區(qū)域使用狀態(tài)的使用信息,而表示每一層級的區(qū)域的鏈接的鏈接信息不是被第二管理信息擁有就是被第三管理信息擁有,其中第三管理信息在不同于記錄第一管理信息和第二管理信息的區(qū)域的記錄區(qū)域中提供。
15.一種包括分層管理文件裝置的電子裝置,其中所述分層管理文件裝置的類型為其中信息記錄介質(zhì)的記錄區(qū)域被分割成多個記錄單元長度的區(qū)域,每個層級的區(qū)域由多個較低級水平的區(qū)域組成,其中文件在第一管理信息和第二管理信息的管理下,根據(jù)各層級的區(qū)域以分割的形式記錄在記錄介質(zhì)的文件記錄區(qū)域中,并且根據(jù)第一管理信息和第二管理信息,通過分層管理各層級的區(qū)域而將該文件從記錄介質(zhì)中再現(xiàn),所述分層管理文件裝置包括記錄第一管理信息和第二管理信息并允許從其中再現(xiàn)第一管理信息和第二管理信息的信息記錄介質(zhì),其中第一管理信息對于每一層級擁有表示對每個層級的區(qū)域的鏈接的鏈接信息和表示區(qū)域的使用狀態(tài)的使用信息,并且第二管理信息擁有文件的屬性、用于記錄和再現(xiàn)文件的層級的分類和文件類型,以及開始文件的記錄和再現(xiàn)所在的起始層級的區(qū)域的位置;以及軟件控制裝置,用于對文件的記錄和再現(xiàn)進(jìn)行控制,并查閱各個層級的第一管理信息和第二管理信息,使得為了在所述各層級的區(qū)域中記錄文件的目的,而查閱較低級水平的第一管理信息,以給該文件分配較低級水平的區(qū)域,并且當(dāng)沒有較低級水平的空區(qū)域時,查閱較高水平的第一管理信息,并再查閱屬于該較高水平的較低水平的第一管理信息,從而使所述各區(qū)域能夠共享該文件,并根據(jù)該文件的特點選擇性使用各層級。
16.一種在信息記錄介質(zhì)的記錄區(qū)域中記錄和從中再現(xiàn)分層管理文件的方法,所述記錄區(qū)域被分層地分割成多個記錄單元長度的記錄區(qū)域,每個層級的區(qū)域由多個較低級水平的區(qū)域組成,其中該文件在第一管理信息和第二管理信息的管理下,根據(jù)各層級的區(qū)域以分割的形式記錄在該文件記錄區(qū)域中,并且根據(jù)第一管理信息和第二管理信息,通過分層管理各層級的區(qū)域而從該記錄介質(zhì)中再現(xiàn)該文件,其中,該信息記錄介質(zhì)記錄第一管理信息和第二管理信息,對于每一層級,第一管理信息擁有表示每一層級的區(qū)域的鏈接的鏈接信息和表示區(qū)域使用狀態(tài)的使用信息,第二管理信息擁有文件的屬性,用于記錄和再現(xiàn)文件的層級的分類和文件的類型,以及文件的記錄和再現(xiàn)開始所在的起始層級的區(qū)域的位置;該方法包括步驟查閱各個層級的第一管理信息和第二管理信息,使得為了在一個層級的區(qū)域中記錄文件的目的,查閱較低層級的第一管理信息,使得將該較低級水平的區(qū)域分配給該文件;并且,當(dāng)該較低級水平?jīng)]有空區(qū)域時,查閱該較高級水平的第一管理信息并且再對屬于該較高級水平的較低級水平的第一管理信息進(jìn)行檢索,使得能夠?qū)⒃撐募峙浣o所述各區(qū)域,從而根據(jù)該文件的特點選擇性使用各層級,在該信息記錄介質(zhì)中進(jìn)行文件的記錄和從該介質(zhì)中的再現(xiàn)。
全文摘要
一種分層管理文件裝置和采用該裝置的電子裝置,其高效地進(jìn)行需要連續(xù)和高速記錄/再現(xiàn)的大文件和離散的小文件,所述大文件和小文件被以混合的方式記錄到介質(zhì)上。記錄介質(zhì)的記錄區(qū)域分割成多個簇,每個簇又被再細(xì)分成多個碎片。各文件被分層地記錄在信息記錄介質(zhì)上并從該介質(zhì)上再現(xiàn),同時查閱表示簇的鏈接的簇FAT和每個簇的碎片使用狀態(tài),表示碎片鏈接的碎片F(xiàn)AT,和合并簇FAT和碎片F(xiàn)AT的目錄入口表。
文檔編號G06F12/00GK1254881SQ9912663
公開日2000年5月31日 申請日期1999年10月30日 優(yōu)先權(quán)日1998年10月30日
發(fā)明者五十嵐卓也 申請人:索尼公司