CN1254881A - 分层管理文件装置和录放方法及含该装置的电子装置 - Google Patents
分层管理文件装置和录放方法及含该装置的电子装置 Download PDFInfo
- Publication number
- CN1254881A CN1254881A CN 99126631 CN99126631A CN1254881A CN 1254881 A CN1254881 A CN 1254881A CN 99126631 CN99126631 CN 99126631 CN 99126631 A CN99126631 A CN 99126631A CN 1254881 A CN1254881 A CN 1254881A
- Authority
- CN
- China
- Prior art keywords
- file
- level
- zone
- information
- bunch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种分层管理文件装置和采用该装置的电子装置,其高效地进行需要连续和高速记录/再现的大文件和离散的小文件,所述大文件和小文件被以混合的方式记录到介质上。记录介质的记录区域分割成多个簇,每个簇又被再细分成多个碎片。各文件被分层地记录在信息记录介质上并从该介质上再现,同时查阅表示簇的链接的簇FAT和每个簇的碎片使用状态,表示碎片链接的碎片FAT,和合并簇FAT和碎片FAT的目录入口表。
Description
本发明涉及一种分层(hierarchical)管理文件装置和一种采用该装置的电子装置,以及记录和再现分层管理文件的方法。具体地说,本发明涉及一种分层管理文件装置,其中信息记录介质的记录区域被分层级地分成多个记录单元长度的区域,每个层级的区域由多个较低层级的区域组成,其中,在第一管理信息和第二管理信息的管理下,根据各层级的区域将文件以分割的方式记录在记录介质的文件记录区域中,并且根据第一管理信息和第二管理信息,通过分层地管理各层级的区域而将该文件从记录介质中再现。本发明还涉及采用此分层管理文件装置的电子装置以及记录和再现分层管理的文件的方法。
具有诸如硬盘、光盘等次级记录装置的信息处理装置设有一种管理记录装置的记录区域的装置,使得信息以文件的形式被记录到记录区域中或从记录区域中再现。此种装置通常称作文件装置。已提出有多种类型的文件装置并且长期地被用于大规模计算机。小尺寸的计算机通常称作个人电脑,从1979年左右开始广泛使用。此外,还有一种管理软盘和硬盘的文件装置。通常,用于这些个人电脑的文件装置通过一种称作FAT(文件分配表)的文件分布管理表来执行。这些FAT不仅用于计算机装置而且还用作各种消费电器和工业装置的文件装置。FAT结构简单,因此被组合到个人电脑或消费应用和工业装置的操作系统中使用。
图33表示一种用到个人电脑中的磁盘。引导扇区是一个存储启动操作系统的装入程序、后面将要描述的路径目录数、FAT数等等的区域。路径目录是一个存储记录文件的名称、文件大小等的区域。通过利用路径目录和FAT可以从一个期望的文件中读出信息和向一个期望的文件中写入信息。
下面将参考图34、35和36对由FAT执行的文件装置的概要作描述。
首先参见图34,信息记录介质的记录区域,以下称作“一卷(volume)”,被分成具有基本的记录单元长度的区域。这些区域以下被称作“簇(cluster)”。簇号分配给这些该簇。信息按簇划分。即基于簇来执行信息的记录和再现。
为了避免后述的簇号的数字和附图中的标号混淆所致的混乱,在此对这些标号的使用规则作一解释。例如,“区域300”这一表述表示记录有一簇的区域,记录有多个簇的记录区域,或记录有数据的簇中的区域。这一区域在附图中示出并被标以标号300。因此,标号300仅用于识别附图上一个区域的目的。相反,“FAT入口(entry)300”这一表述意味着标号300表示是构成FAT的各单元的入口中之一。
一般地,一簇具有从512字节至32千字节范围的大小。假设在下列的描述中簇的大小有512字节。例如,在区域102中的簇的簇号是“2”,区域103中的簇号是“3”。由101标识的区域是一个存储全面信息的系统区域。从系统区域101中可以知道簇的总数、簇的大小等。
文件装置有一个称作“目录”的管理区域,它以一个包含首尾(inclusive)的方式管理多个文件。该目录存储有关目录管理下的文件的各种类型信息,如文件的文件名,文件的数据形式、文件大小等等。
图35表示目录的结构。目录基于簇记录,与文件的情况一样。该目录具有分层的结构,该分层结构具有路径目录和通过路径目录指向的子目录。指定文件的目录入口可以通过分层地跟踪(tracing)目录而到达。
出现在图35的区域204中的表述“FILE2.DAT”表示一个文件名。从区域206中的文件大小可以看出该文件具有2013个字节的大小。区域205存储簇号“4”,它表示构成该文件的多簇中的第一个。通过跟踪始于此簇的FAT链可以执行对构成该文件的所有簇的读出和写入。
图36表示FAT的结构。FAT的每个入口对应于图34所示记录区域的每个簇。这些入口以图36中(2)至(12)的簇号顺序排布。每个FAT的入口表示文件的下一个组成簇的簇号。例如,由图35的目录入口表示的文件FILE2.DAT的第一簇4的FAT入口305(载有簇号“4”的簇,如同其它具有各自簇号的簇的情形)有一个值“7”。这意味着构成此文件的簇的下一个簇是簇7。簇7的FAT入口308的值是11,簇11的FAT入口312的值是9,簇9的FAT入口310的值是65535。值65535具有特殊的含义:即意味着该簇是构成文件的簇的最后一个。
从此FAT入口链可以理解文件FILE2.DAT由四个簇构成:即图34中所示的盘记录区域104的簇4,区域107中的簇7,区域111中的簇11和区域109中的簇9。同时,区域206表示该文件大小是2013。因为每个簇的大小是512个字节,所以可以理解最后一簇9只有477个字节(2013-512×3=477)被使用。区域306、311和313的FAT入口值是“0”。这意味着这些区域的簇未使用。因此,当文件的大小随着写入的结构增长时或当一个新文件形成时,对应于区域306、311和313的FAT入口值的区域105、110和112的簇5、簇10和簇12被用作新的记录区域。
因此依赖于FAT的管理是简单的,但存在下列问题(1)至(4)。
(1)甚至当对一个文件使用连续簇时也需要一个接一个地查阅簇的FAT入口。因此,对FAT入口的访问循环数是不切实际地大,当例如对文件进行随机存取时降低效率。
(2)为了实现对文件的高速存取,希望尽可能地把文件的数据分配给连续的簇。因为空簇也对应各自的FAT入口,所以有必要逐个地查阅空簇以找出一批连续空簇。因此对FAT入口的访问循环数增加。另外,要高效地把文件以尽可能地减小不希望的存储碎片的方式分配到连续簇是不可能的。所使用的“碎片(fragmentation)”一词意指把记录区域分成多个的盘区。所使用的“盘区(extent)”一词意指由多个连续簇构成的一个单元。
(3)当前,扩大记录装置规模的趋势已导致相应的FAT尺寸的扩大。这反过来需要CPU有较高的处理速度和更大的存储空间以查阅FAT入口。结果是使为了避免碎片目的的分层分配受到硬盘使用效率限制的阻碍。
(4)当前的科技进步带来了用计算机处理的数据的种类多样化。如今,需要在同一种记录介质上存储几千字节左右的小文件——如由文字处理器形成的文本,和几兆(M)至几京(G)字节的大文件——如包含音频和视频数据的文件。记录介质中存在的文件大小的变化易于导致碎片。可以通过采用较小大小的簇来增加记录区域的使用效率。但在这种情况下,文件会被不希望地分割成过多的区域,致使数据的传送速率降低,从而给音频和视频数据的实时记录和再现带来不利影响。
图37是数据传送速率(transfer rate)降低的一个例子。区域401、403、405和407的簇以离散的方式分布。因此,除了读取每个簇的数据所需要的时间外还需要由区域402、404和406所示的查找时间。需要这种查找时间是导致数据传送速率降低的原因。
为了管理尽可能多的簇,提出了实施扩展的FAT,此FAT采用大小增至32比特的FAT入口。但此建议并没有提供解决上述问题(1)至(4)的令人满意的方案。也有建议提出对通过采用小尺寸的簇来有效使用记录介质的记录区域。但此建议方案易于导致碎片,尤其当记录大文件如音频/视频文件时会如此。作为处理此类问题的一种方法,用“去碎片”软件在文件记录之后重新分配并再记录簇数据。
鉴于上述,本发明的目的在于提供一种分层管理文件装置和采用此装置的电子装置,该装置在高效利用简单的FAT管理技术的同时,通过采用有较大分配单元的簇FAT和有较小分配单元的碎片FAT,以分层的方式管理记录区域,从而克服上述问题(1)至(4),并能够高效记录各种大小的文件,同时将碎片减到最小并因而确保大数据如音频和视频数据的实时记录和再现。
为了达到上述目的,根据本发明的一个方面,提供了一种分层管理文件装置,其中信息记录介质的记录区域被分层级地分成多个记录单元长度的区域,每个层级的区域由多个较低层级的区域组成,其中文件在用第一管理信息和第二管理信息的管理下基于各层级的区域以分割的方式记录在记录介质的文件记录区域中,并且根据第一管理信息和第二管理信息,通过分层管理各层级的区域而将该文件从记录介质中再现。该分层管理文件装置包括:记录第一管理信息和第二管理信息并能够从中再现第一管理信息和第二管理信息的信息记录介质,其中第一管理信息对于每一层级处理表示每一层级的区域的链接的链接信息,和表示区域的使用状态的使用信息,同时第二管理信息处理文件的属性、用于记录和再现文件的层级的类别(class)和文件的类型,以及开始文件的记录和再现的起始层级的位置;还包括软件控制装置,用于对文件的记录和再现进行控制,同时查阅各个层级的第一管理信息和第二管理信息,使得为了在各层级的区域中记录文件的目的而查阅较低层级的第一管理信息,从而给该文件分配较低层级的区域,并且当较低层级不存在空区域时查阅较高层级的第一管理信息,并再次查阅属于该较高层级的较低层级的第一管理信息,从而能够在各区域中共享该文件,同时根据文件的特点选择性使用各层级。
本发明的分层管理文件装置最好包括下列形式(1)至(13)中的一种。
(1)软件控制装置的操作能够使第一管理信息、第二管理信息和文件记录区域以给到各个层级的区域的号的递增次序来在各个层级的区域中记录和再现,从而通过递增次序的序号来识别各区域。
(2)软件控制装置的操作使得第二管理信息被记录在相同层级的区域中,第二管理信息至少包括表示文件属性的第一类信息,表示用于记录和再现文件的层级和文件类型的第二类信息,和表示文件开始记录和再现所在的层级的区域的位置的第三类信息,并且其中当根据第二类信息确定该文件不是一个分层文件时,通过查阅第三类信息和识别的层级来执行文件的记录和再现。
(3)软件控制装置的操作使得第二管理信息被记录在相同层级的区域中,第二管理信息至少包括表示文件属性的第一类信息,表示用于记录和再现文件的层级和文件类型的第二类信息,和表示文件开始记录和再现所在的层级的区域的位置的第三类信息,并且其中当根据第二类信息确定文件是一个由母(parent)文件和子文件构成的分层文件时,软件控制装置进行控制,使得通过对子文件的第二类信息的检索来识别子文件,其中子文件与表示母文件的层级的开始区域的位置的母文件第三类信息一致,并根据子文件的第三类信息来识别开始子文件记录和再现所在的层级区域的位置,然后软件控制装置进行控制,并同时查阅所识别的子文件的第一管理信息,使得子文件使用的较低层级的区域必须包括在母文件使用的较高层级的区域中。
(4)软件控制装置的操作使得第一管理信息包括具有表示层级的区域的链接的链接信息和表示该层级的区域的使用状态的使用信息的第四类信息,和表示使用其层级低于该层级的区域的状态的第五类信息,使得根据第四类信息确定挨着该层级的区域的要用于记录和再现的区域,使得分配给该文件的区域被连续地用于记录和再现,软件控制装置再进一步根据第五类信息进行操作,以控制是否把较低层级的区域分配给该文件。
(5)较低层级的第一管理信息包括表示较低层级的区域链接的链接信息和表示较低层级的区域的使用状态的使用信息,并且还包括表示较低层级的区域所属于的较高层级的区域的链接的链接信息和表示该较高层级的区域的使用状态的使用信息。
(6)每个层级的第一管理信息包括表示文件结束的信息。
(7)当信息记录介质被初始化时,软件控制装置进行操作以只分配具有最大记录单元长度的最高层级的区域。
(8)软件控制装置进行操作以把文件的连续信息单元分配到较低层级的区域中。
(9)操纵软件控制装置,使得当为一个文件保留一个层级的新区域时并当把该文件记录到该新区域中时,对各个层级更新具有有关该层级的各区域的链接信息和使用信息的第四类信息和表示较低层级的各区域的使用状态的第五类信息。
(10)当为一个文件保留一个层级的新区域时并当该文件被记录到该新区域中时,软件控制装置进行操作以更新表示文件属性的第一类信息和更新包括在第二管理信息中的第二类信息和第三类信息,第二类信息表示被用于记录和再现文件的层级以及文件的类型,第三类信息表示文件的记录和再现开始时所在层级的区域的位置。
(11)操作软件控制装置,使得当通过分配用于记录文件的新区域而更新第一管理信息和第二管理信息时,查阅第一管理信息和第二管理信息,并通过把最近记录的文件所在的当前层级的区域的位置用作参考,查阅最高层级的区域的第一管理信息,其中当前层级的区域属于该最高层级,由此在整个层级中检索具有最高层级的未使用区域,软件控制装置进一步进行操作,以对于相续的较低层级执行与最高层级的区域的检索类似的检索,并且把要加到文件的信息分配给被检索的与当前层级的区域最接近的区域。
(12)操作软件控制装置,使得当通过分配用于记录分层文件的新区域而更新第一管理信息和第二管理信息时,查阅第一管理信息和第二管理信息,并通过把最近记录的分层文件所在的当前层级的区域的位置用作参考,查阅最高层级的区域的第一管理信息,其中该当前层级的区域属于该最高层级并属于母文件,由此在整个分层中检索属于母文件的具有最高层级的未使用区域,该软件控制装置还进行操作,以对于相续的较低层级执行与属于母文件的最高层级的区域的检索类似的检索,并且把该层级的子文件的信息记录到与当前层级的区域最接近的被检索区域。
(13)对于每一层级第一管理信息拥有表示每一层级的区域的使用状态的使用信息,和表示低于每一层级的层级的区域使用状态的使用信息,而表示每一层级的区域的链接的链接信息不是被第二管理信息拥有就是被第三管理信息拥有,其中第三管理信息提供在不同于记录第一管理信息和第二管理信息区域的记录区域中。
本发明的另一方面提供一种带有上述分层管理文件装置的电子装置。
根据本发明的又一个方面,提供了一种在信息记录介质的记录区域记录和从中再现分层管理文件的方法,该记录区域被分层地分成多个记录单元长度的记录区域,每个层级的区域由多个较低层级的区域组成,其中文件在第一管理信息和第二管理信息的管理下根据各层级的区域以分隔的方式记录在记录介质的文件记录区中,并且根据第一管理信息和第二管理信息,通过分层管理各层级的区域而从该记录介质中再现该文件,其中该信息记录介质记录第一管理信息和第二管理信息,对于每一层级,第一管理信息拥有表示每一层级的区域链接的链接信息和表示区域使用状态的使用信息,而第二管理信息拥有文件的属性,用于记录和再现文件的层级的分类和文件的类型,以及文件的记录和再现开始所在的开始层级的区域的位置;该方法包括步骤:查阅各个层级的第一管理信息和第二管理信息,使得为了在各层级的区域中记录文件的目的,查阅较低层级的第一管理信息,以将较低层级的区域分配给该文件;并且当每一较低层级没有空区域时,查阅较高层级的第一管理信息并且再对属于较高层级的较低层级的第一管理信息进行检索,使得能够把此文件分配到各区域,从而在该信息记录介质中进行文件的记录和从中的再现,同时根据文件的特征选择使用层级。
具有上述特点的本发明具备下列(1)至(3)的优点。
(1)信息记录介质的记录区域被分层地划分成不同记录单元长度的区域。一个层级的每个区域由位于上述层级之下的层级的多个区域构成。一个文件通过软件控制装置查阅第一管理信息和第二管理信息而被记录和再现。例如,最好把较长记录单元长度的区域分配给一个需要连续再现的文件,如包含视频和音频信息的文件。这减少了用于存储文件的区域的数目,并因此减少了访问第一管理信息的次数。相反,较短记录单元长度的区域分配给具有较小数据大小并可以以离散的方式再现的文件,如语句,以便可以有效地利用信息记录介质的记录区域。
(2)为了实现高速地存取文件,最好把文件的各段尽可能地记录在连续的区域。根据本发明,记录介质的记录区域被分层划分成多个记录单元长度的区域。每个层级的区域由紧位于该层级之下的层级的多个区域组成。较高层级的区域具有有关较低层级区域的使用的信息。因此,当把一个文件分配给各区域时,可以分层检索未使用区域,因而能够以集中的方式高速记录文件,同时避免碎片。由于同样的原因,记录的文件可以高速地再现。
(3)如上所述,最好把较长记录单元长度的区域分配给需要连续再现的文件,如包含视频和音频信息的文件,而把较短记录单元长度的区域分配给具有较小数据大小并可以以离散的方式再现的文件,如语句。这样显著地减小了第一管理信息的大小。此特征连带上述的特点(1)和(2)极大地减少了采用本发明分层管理文件装置的电子装置的硬件的负载。
图1是分层管理文件装置和采用该文件装置的电子装置的示意图;
图2是根据本发明实施例的信息记录介质的记录区域结构示意图;
图3是根据本发明的簇FAT入口形式的流程图;
图4是根据本发明的碎片FAT入口形式的流程图;
图5是本发明分层管理文件装置实施例的操作示意图,其中采用了图3和图4所示的簇FAT入口形式和碎片FAT入口形式;
图6是根据本发明在软件控制装置的控制下文件读取处理的部分流程图;
图7是根据本发明在软件控制装置的控制下文件读取处理的另一部分流程图;
图8是根据本发明在软件控制装置的控制下基于簇执行文件读取处理的部分流程图;
图9是根据本发明在软件控制装置的控制下基于簇执行文件读取处理的另一部分流程图;
图10是根据本发明在软件控制装置的控制下基于碎片执行文件读取处理的部分流程图;
图11是根据本发明在软件控制装置的控制下对碎片基执行文件读取处理的另一部分流程图;
图12是本发明在软件控制装置的控制下文件写入处理的部分流程图;
图13是本发明在软件控制装置的控制下文件写入处理的另一部分流程图;
图14是本发明在软件控制装置的控制下基于簇执行文件写入处理的部分流程图;
图15是本发明在软件控制装置的控制下基于簇执行文件写入处理的另一部分流程图;
图16是本发明在软件控制装置的控制下新簇获取处理的流程图;
图17是本发明在软件控制装置的控制下执行从检索范围内获取一个新簇的新簇获取处理的部分流程图;
图18是本发明在软件控制装置的控制下执行从检索范围内获取一个新簇的新簇获取处理的另一部分流程图;
图19是本发明在软件控制装置的控制下基于碎片执行写入处理的部分流程图;
图20是本发明在软件控制装置的控制下基于碎片执行写入处理的另一部分流程图;
图21是本发明在软件控制装置的控制下获取新碎片处理流程图;
图22是本发明在软件控制装置的控制下从检索范围内获取新碎片处理的部分流程图;
图23是本发明在软件控制装置的控制下执行从检索范围内获取新碎片处理的另一部分流程图;
图24是本发明在软件控制装置的控制下执行从使用中的簇中获取新碎片处理的部分流程图;
图25是本发明在软件控制装置的控制下执行从使用中的簇中获取新碎片处理的另一部分流程图;
图26是本发明在软件控制装置的控制下执行从使用中的簇中获取新碎片处理的再一部分流程图;
图27是本发明在软件控制装置的控制下获取分层文件的新碎片处理的部分流程图;
图28是本发明在软件控制装置的控制下获取分层文件的新碎片处理的另一部分流程图;
图29是本发明在软件控制装置的控制下形成新文件处理的部分流程图;
图30是本发明在软件控制装置的控制下形成新文件处理的另一部分流程图;
图31是本发明在软件控制装置的控制下新形成分层文件的子文件处理的部分流程图;
图32是本发明在软件控制装置的控制下新形成分层文件的子文件处理的另一部分流程图;
图33是个人电脑的磁盘中传统的记录格式示意图;
图34是图33所示的磁盘记录格式中簇的布局示意图;
图35是图33中磁盘的目录入口布局示意图;
图36是图33中磁盘FAT入口布局示意图;
图37是传统的文件装置执行的碎片处理示意图。
下面将对本发明的分层管理文件装置以及使用此文件装置的电子装置的实施例进行描述。将要描述的实施例的分层文件管理装置使用具有两个层级的分层文件:即一个较高层级和一个较低层级。较高层级被分成作为前述的簇的段,较低的水平被分成下面将要描述的称作“残片”的段或区域。簇FAT用作较高层的第一管理信息,碎片FAT用作较低层的第一管理信息。由簇构成的目录入口表用作第二管理信息。虽然具体描述的是这种类型的分层管理文件装置和采用该装置的电子装置,但应理解到本发明并不限于此,它可应用到其它大类的采用多层分层文件的分层管理文件装置和使用此装置的电子装置。
图1是实施本发明分层管理文件装置及采用该装置的电子装置的实施例简图。
CPU 501根据存储在存储器502中的程序控制一个系统,存储器502可以是高速半导体存储器。程序可以预先记录到没有示出的ROM(只读存储器)中。或者是,通过次级记录装置503或网络驱动器504,或调谐器509把程序传送到存储器502以进行执行。非易失型存储器如硬盘、可互换光盘或快闪ROM可用作次级记录装置503。存储在次级记录装置503的信息记录介质中的文件根据存储在存储器502中的程序由分层管理文件装置管理。CPU501和存储器502组合在一起提供软件控制装置,它用于权利要求1提出的本发明最一般的形式。本发明分层管理文件装置510包括次级记录装置503、软件控制装置和信息记录介质。
为了传送在次级记录装置503中记录文件的日期和从次级记录装置503中读出的文件数据,网络驱动器504支持标为505的网络,如IEEE 1394或Ethernet(以太网)。其布局可以是这样的,当根据存储在存储器502中的程序进行处理之后,利用连接到总线506的CPU或特殊硬件把这些数据传送到网络。
红外线收发器507接收来自用户操纵的遥控器的指令,使得能够通过对存储在存储器502中的程序的操作的控制进行交互操作。图像/声音的输入/输出装置508连接到显示单元,如电视或监视器,从而能够根据存储在存储器502中的程序输出从图形用户界面(未示出)、次级记录装置503和网络驱动器504传送来的图像和声音。
图像/声音的输入/输出装置508连接诸如摄像机或盒式录像带(videodeck),使得能够进行从录像带处拾取声音和图像并在录像带中记录图像和声音。调谐器509连接到天线以接收卫星广播电波或地面波。接收到的数据传送到并由图像/声音的输入/输出装置508再现。
这些数据可以首先存储在次级记录装置503中。由图像/声音的输入/输出装置508和调谐器509处理的输入/输出信号既可以是模拟信号也可以是数字信号。当使用时模拟信号被图像/声音的输入/输出装置508和调谐器509转换成数字信号。这些数字数据经过压缩、数据转换等,使得它们在图1所示的本发明分层管理文件装置中或在电子装置中(以下称作“系统配置”)被处理。
CPU 501、存储器、次级记录装置503、网络驱动器504、红外线接收器507、图象/声音的输入/输出装置508和调谐器509连接到总线506以构成一个系统。图1中所示的系统配置仅用于图示,系统可以省去网络驱动器504、红外线接收器507、图像/声音的输入/输出装置508和调谐器509中的任何一个。系统还可以缺少次级记录装置503。在这种情况下,本发明的文件装置可以操作在连接到远程系统的另一个次级记录装置503中记录文件。也可以连接附加的一个或数个装置给图示的系统。
图2图示了一种由分层管理文件装置510执行的卷(volume)管理的方法。在传统的依赖FAT的文件装置情形中,次级记录装置503的记录区域的卷被分段成固定大小的簇并基于簇进行管理。给各簇分配从2开始的整数的簇序号。
根据本发明,每个簇还被分成称作碎片的小单元。碎片序号分配给簇中的碎片。在图示的实施例中,簇有64K字节的大小而碎片有512字节的大小。因此每个簇由被分配了碎片序号为0至127的128个碎片组成。
本发明的分层管理文件装置510使用一个基于簇管理文件的簇FAT和基于碎片管理文件的碎片FAT。簇FAT记录卷的所有簇的FAT入口,而碎片FAT记录其数目等于卷中簇的数量乘以每个簇中碎片的数量之积的FAT入口。
如上所述,簇FAT的构造使得能够容易地根据簇号检测到簇入口。各FAT被记录在次级记录装置503的簇中,并且FAT的位置,即簇号被标识在系统区域中。为了实现高效率,部分FAT被读出并存储到存储器502中,并根据需要再写回到次级记录装置502中,从而更新数据。
图3标识簇FAT的入口形式。在簇FAT的每一个入口中,根据相关簇的使用方法按照下列五种形式记录32位值。
1)未使用的簇
2)基于碎片使用的簇
3)基于碎片使用的簇(所有的碎片被使用)
4)分配给文件的簇
5)分配给文件的簇(在分层文件中基于碎卡使用)
1)在未使用的簇的情形中,标识符“0”以构成区域701的较高的25位存储。这表示该簇还未被使用,并且因此可分配成2)至5)的任意一种形式。当全部卷被初始化时,所有的簇FAT的入口被初始化到未使用状态。
当簇按照上述2)所表示的形式基于碎片使用时,标识符值“0”存储在构成区域702的较高的25位,而在该簇中使用的碎片数记录在构成区域703的较低的7位。关于簇使用状态的信息可以从使用中的碎片数中得知,不需要查阅碎片FAT,使得可以根据此信息把各碎片有效地分配给文件。例如,当要分配大量的碎片时,最好选择有大的使用中碎片数量的区域,因为这种选择能够使文件的碎片集中到一个可以高速存取的区域。
形式3)是形式2)的一个特例,其中簇的全部碎片都被使用。在这种情况下,标识符值“1”记录在构成区域704的较高的25位中,而标识符“0”记录在较低的7位。
在形式2)和形式3)中,记录区域基于碎片分配给文件,构成此文件的所有碎片通过各个碎片FAT的FAT入口链接。
在以上述4)的形式把簇分配给文件的情形中,在构成该文件的簇的下一个簇的簇号被记录在构成区域706的较高的25位,并且标识符“0”记录在构成区域707的较低的7位。当没有下一个簇时,即当前簇就是最后一个簇时,标识符如33,554,431被储存在构成区域706的较高的25位。
在按上述形式4)把一个簇已分配给一个文件的情况中,卷的记录区域基于簇分配给文件。构成该文件的全部簇通过簇FAT的FAT入口链接。
上述的形式5)最好地证明了本发明分层管理文件装置的优点。卷的记录区域基于簇地分配给一个文件。分配了的簇被划分成也可以分配给另一个或多个文件的碎片。这种类型的文件结构称作分层文件。在分层文件中,基于簇管理的文件被称作“母文件”,而基于碎片管理的文件称作“子文件”。这种分层文件的使用允许子文件以集中到一个位置的方式被高效地记录,使得当例如连续读取多个子文件或在该子文件中连续写入时有利地缩短存取时间。
可用下述方式进行碎片的分配,使用连续的四个碎片为一个单元,并使用该簇以单元为基础将各碎片分配到文件。多个这样的簇的组合作为母文件予以管理。
如前述的形式4)的情形,母文件的下一个簇的簇号被记录在构成图3所示的区域708的较高25位中,并且该簇中使用中的碎片数被记录在构成区域709的较低位7。当所有碎片均被使用时,将“0”记录到低7位。较低的7位在形式4)和5)中均设为“0”,以便区分这些形式4)和5)。但在此文件装置中,可以通过根据目录判断该文件是否是分层文件来区分。这可通过检查碎片FAT的入口,判断记录区域是否被用作一个簇来实现。
图4表示碎片FAT入口的形式。在碎片FAT的入口中,32位的值根据碎片的使用状态以下列三种形式中的一种记录。
1)未使用的碎片
2)基于簇使用的碎片
3)分配给文件的碎片
在形式1)的情形中,基于碎片使用包含碎片的簇。因此,形式1)对应于图3中形式2)、3)和4)的簇FAT入口的一种,另外,该碎片还没有被分配给文件。在这种情形中,标识符“0”被记录在区域801中。
形式2)表示不基于碎片而簇使用包含碎片的簇。这对应于图3中的簇FAT入口形式1)和4),并表示该簇被簇FAT管理。
标识符“1”记录在构成区域802的较高的25位,而标识符“0”记录在构成区域803的较低的7位中。属于该簇的所有碎片的入口具有图4中所示的“2基于簇使用碎片I”的形式。当该卷被初始化时,所有的簇基于簇使用,并且所有碎片FAT的入口已被初始化以表示基于簇管理碎片。这种初始化特点是权利要求8所说的本发明的一种形式。
当基于碎片使用该簇而各碎片已分配给一个文件时,形式3)的使用如同形式1)的情形。该文件的构成该文件的下一个碎片的位置被记录在碎片FAT的入口。因此,该碎片属于的簇的簇号记录在构成区域804的较高的25位,而区分该碎片与簇中其它碎片的碎片号被记录在较低的7位。
下面将具体参考图5A和5B对依据上述簇FAT和碎片FAT的入口形式的本发明分层管理文件装置510的操作进行描述。FAT入口有32位的大小。为了解释的方便,较高的25位和较低的7位用逗号“,”分开,并且数值以十六进制数值附带后缀“h”表示。
图5A中所示的目录具有存储FILE1.DAT的区域901、存储FILE2.DAT的区域905、存储FILE3.DAT的区域909、存储FILE4.DAT的区域913、存储FILE5.DAT的区域917、存储FILE6.DAT的区域921、存储FILE7.DAT的区域925和存储FILE8.DAT的区域929。
该目录存储在该卷的簇或碎片中,如同于文件的情况。该目录还存储较低级的目录,如分层目录的子目录,使得指定文件的目录入口可以通过利用系统区域表示的路径目录来跟踪分层目录而检索。
目录入口具有表示每个文件属性的字段。这些域是:文件名(区域901,905,909,913,917,921,925和929);分配类型(区域902,906,910,914,918,922,926,930);作为第一层级的划分区域的文件前端的位置(区域903,907,911,915,919,923,927和931);和文件的大小(区域904,908,912,91 8,920,924,928和932)。文件名的字段中分配对应于256字符的256字节。上述的文件名和文件大小体现权利要求1中提出的文件属性。文件的前端位置是也在权利要求1中描述的第一层级的区域的位置。如前所述,图5A中所述的目录入口表是权利要求1中提出的第二管理信息的一个实施例。
给分配类型的字段分配四位字节。值“00000000h”意味着该卷基于分配给该文件,而“00000001h”意味着该卷基于碎片分配给该文件。值“FFFFFFFFh”意味着该文件是分层文件的母文件。上述值以外的值标识该文件是分层文件的子文件。在这种情况中,分配类型字段存储母文件的起始簇的号。因此上述值的表示“00000000h”或“00000001h”可以区分基于簇的卷分配和基于碎片的卷分配。这对应于有关权利要求1中所述的分层类型的信息。值“FFFFFFFFh”对应于有关在权利要求1中所述的文件类型的信息。
给文件顶端位置的字段分配四个字节。当已基于簇对文件进行分配时,文件的前端位置如图3中的形式4)所示,而当已基于碎片对文件进行分配时,文件的前端位置如图4所示的形式3)所示。分配有8个字节的文件大小字段存储文件的大小。
图5B表示簇FAT的一个例子。对应于各个簇的FAT入口被记录在区域933至964中。区域933和934的FAT入口被保留,并且表示此表是FAT的标识符、版本等记录在这些保留的区域中。因此,簇FAT的入口以簇号2开始。上述的簇FAT和后面将要描述的碎片FAT对应于权利要求1中提出的第一管理信息。
在图5B中所示的簇FAT中,当次级记录装置503的卷是1G个字节,而簇的大小是64K个字节时,次级记录装置503被划分成16,384段的簇。每个簇入口有32位(4个字节)的记录区域,并且各簇入口从区域935的簇号2的FAT入口开始以增大的顺序排布。具体地说,簇入口按区域935、936、937、938、939、940、941等的顺序排布,并且簇号按2,3,4,5,6,7,8等的顺序响应增加。簇FAT具有大约64K个字节的大小。与文件的情形一样,簇FAT存储在该卷的一个簇或一个碎片中,簇FAT的位置由系统区域指示。
图5C表示碎片FAT的一个实例。各碎片FAT的入口基于簇排布并包括所有簇的碎片FAT的入口。在图5C所示的布局中,假设每个碎片的大小是512个字节,每个簇被划分成128个碎片。各碎片FAT的入口,与簇FAT的情况一样,从对应于带有簇号“2”的簇的碎片号“0”的碎片开始按递增的顺序排布。初始的128个入口属于簇号“2”的簇。以这种方式,对应于16,384簇的碎片入口按簇号递增的顺序排列。每个入口有32位,使得碎片FAT总的大小为8M字节。与文件的情形一样,碎片FAT被存储在该卷之内的一个簇或一个碎片中,且碎片FAT的位置由系统区域示出。碎片FAT和簇FAT按递增顺序的排布对应于权利要求2的特征。
回过来参见图5,区域901的FILE1.DAT,区域905的FILE2.DAT和区域909的FILE3.DAT是基于簇给文件分配卷的例子。在这种情况中,基于簇已进行分配的事实通过构成分配类型字段的区域902、906和910的值“00000000h”得知。
对于区域901的FILE1.DAT目录入口的区域903存储文件的前端位置,即构成该文件的第一个簇的位置。从区域903的较高的25位中的值“000000h”可以得知文件第一簇的号是“2”。
如对于簇FAT,从簇号“2”的区域935的FAT入口的较高25位的值“0000004h”可以得知下一个簇的簇号是“4”。表示簇“4”的下一个簇的簇号“5”的簇存储在簇号“4”的区域937中。同样地,簇号“5”的区域938存储后继簇的号“8”,簇号“8”的区域941存储下一个簇的号“9”。因此可以通过区域937、938、941、942、943、944、945、946、947、948、949、950、953和954的簇FAT的入口跟踪FAT链。上述最后一个区域955中入口的较高25位的值是“1FFFFFFh”。这意味着该簇是构成该文件的最后一个簇。值“1FFFFFFh”对应于指示文件尾部的信息,如权利要求2所述的。
从前面的描述可以理解FILE1.DAT由16个簇构成,即簇号2,4,5,8,9,10,11,12,13,14,15,16,17,20,21和22。目录入口的区域904的文件大小的值是1,032,091个字节,并且在最后一个簇22中只使用49,051个字节。由按簇为基础构成的文件的全部簇FAT入口具有图3所示的形式4)。
还可以与上述相同的方式跟踪对于区域905的FILE2.DAT和对于区域909的FILE.DAT的簇FAT。还可以看到FILE2.DAT由簇“7”单独组成,而FILE3.DAT由簇“23”和“6”组成。
区域913的FILE4.DAT和区域917的FILE5.DAT是基于碎片分配的例子。这通过在分配类型字段区域914,918中的值为“00000001h”的事实证明。
区域913的FILE.DAT的目录入口的区域915存储在构成该文件的碎片中第一个的位置。区域915的高25位的值是“0000012h”,而低7位的是“00h”。这表示第一碎片是簇号“18”的簇的碎片“0”。
参见图5C,第一碎片的碎片FAT入口的区域969表示簇号“18”和碎片号“0”。这表示碎片FAT的第2176个FAT入口(簇数(18-2)×碎片数128+1)。此FAT入口的较高的25位的值是“0000012h”,而较低的7位是“01h”。因此可见,下一个碎片是簇“18”的碎片“1”。
在下一个碎片的FAT入口的区域970中,对应于簇号“18”碎片号“1”,较高的25位为“0000012h”,而较低的7位为“02h”。这表示下一碎片是簇“18”的碎片“2”。因此,作为较低层级的区域的碎片使用表示与相同层级的其它碎片的链接的链接信息和关于使用状态的信息,以及表示与较高层级的区域的簇的链接的链接信息。这对应于权利要求6所述的特征。
以同样的方式,跟踪FAT链通过簇号“18”碎片号“2”的FAT入口971,以到达簇号“18”碎片号“2”的FAT入口976。区域976的FAT入口的较高的25位具有“1FFFFFFh”,表示此碎片是构成该文件的最后一个碎片。
从上述的操纵中可知该文件由四个碎片组成:即簇“18”的碎片“0”,簇“18”的碎片“1”,簇“18”的碎片“2”,簇“18”的碎片“127”。因为区域916的文件大小的值为1581,所以可知该文件使用区域976的最后碎片的45个字节(1581字节-512字节×3=45字节)。
也可以以同样的方式跟踪碎片FAT链,或者是区域917的FILE5.DAT。在这种情况下,从区域919的第一碎片的值开始,经过区域977的入口到区域978的入口跟踪碎片FAT链,由此可知该文件由两个碎片构成,即簇“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的上述操纵是权利要求3所述特征的实施例。
区域921的FILE6.DAT文件的分配类型字段922具有“FFFFFFFFh”,表示FILE6.DAT是分层文件的一个母文件。示于区域927中的关于区域925的FILE7.DAT的文件前端位置的值,和示于区域926中的分配类型的值,以及示于区域929的FILE8.DAT的区域930的分配类型的值是“00000018h”,这个值与示于区域923中的FILE6.DAT的区域923中的文件前端的值“00000018h”一致。这表示区域925的FILE7.DAT和区域929的FILE8.DAT是区域921的FILE6.DAT的子文件。
跟踪分层文件的母文件的FAT链的方法与跟踪基于簇分配类型的普通文件的FAT链的方法相同。示于区域921的FILE6.DAT的区域923中的文件前端位置的值是“00000018h”。这表示第一簇的簇号是“24”。
对于簇“24”的簇FAT中的入口957的较高的25位具有值“0000019h”,表示下一簇的簇号是“25”。簇“25”的簇FAT中的入口958的较高的25位具有值“0000019h”,表示后续簇的簇号是“26”。簇“26”的簇FAT中的入口959的较高的25位具有值“1FFFFFFh”,表示该簇是构成该文件的簇中的最后一个。
从前面的操作中可见区域921的FILE6.DAT由三个簇组成:即簇“24”、簇“25”和簇“26”。认为分层文件的母文件已使用了所有这些簇的数据,使得区域924的文件大小达到196,608个字节。簇FAT的入口957、958和959较低的7位的值分别是“03h”、“03h”和“02h”,表示在各个簇中分别使用三个碎片、三个碎片和两个碎片。因此,较高层级的簇不仅可以识别它自己的链接信息和使用状态信息,而且可以识别较低层级区域的碎片使用状态。这些特征对应于权利要求5。
区域925的FILE7.DAT和区域929的FILE8.DAT是母文件。利用已分配给母文件区域921的FILE6.DAT的簇的碎片来基于碎片对这三个文件执行分配。跟踪一个分层文件子文件的碎片FAT链的方法与前述的对于普通文件基于碎片进行了卷分配的情形一样。
例如,在区域925的FILE7.DAT的情形中,碎片FAT链的跟踪从开始端的簇号“24”和碎片号“0”开始,经碎片FAT的入口981和入口983到达碎片FAT的入口991。因此,可知该文件由三个碎片组成:即簇“24”的碎片“0”,簇“24”的碎片“2”和簇“26”的碎片“2”。
对于区域929的FILE8.DAT也可以使用相同的跟踪方法。即碎片FAT链的跟踪从开始端的簇号“24”和碎片号“1”开始,经碎片FAT的入口982、985、986和987到达碎片FAT的入口990。因此,可知该文件由五个碎片组成;即簇“24”的碎片“1”,簇“25”的碎片“0”,簇“25”的碎片“1”,簇“25”的碎片“2”和簇“26”的碎片“1”。上述读取FILE6.DAT至FILE8.DAT的操作体现了权利要求4的特点。
下面将参考图6至32中所示的流程对通过本发明分层管理文件装置执行的上述操作作详细的描述。下面将按所述的顺序对下列操作(1)至(14)进行描述。所有的这些操作将在权利要求1提出的软件控制装置的控制下进行。
(1)读取文件
(2)基于簇读取
(3)基于碎片读取
(4)写入文件
(5)基于簇读取
(6)获取新簇
(7)从检索范围内获取新簇
(8)基于碎片写入
(9)获取新碎片
(10)从检索范围内获取新碎片
(11)从簇中获取新碎片
(12)获取分层文件的新碎片
(13)形成新文件
(14)形成分层文件的新子文件
(1)对“读取文件”操作的描述
图6和图7合在一起表示了“读取文件”操作的流程。
“读取文件”操作从设置文件的路径名称(路径名PathName)的步骤S1000开始。流程图中所示的参数(路径名)表示文件的路径名称。在此流程图和其它的流程图中用类似的表达方式表示其它参数。步骤S1000还设置字节偏移(ByteOffset),它表示在该文件中开始读取的位置,以及要被读出的字节数(字节长度Byte-length)。字节偏移表示从文件的前端位置到文件中开始读取的位置的字节数。因此,读取开始的位置并非总是与簇的前端一致。
步骤S1001根据路径目录,基于路径名称(PathName)跟踪分层目录,从而检索文件的目录入口。步骤S1002判断该文件是否存在。当检索成功,即当文件存在时,处理进行到步骤S1003,否则处理进行到步骤S1004执行误差处理。
在步骤S1003的读取中,从文件的目录入口中读出分配类型,文件的前端位置(Location),如簇或碎片,和文件大小(FileSize)并存储。
步骤S1005判断读出开始位置和读出结束位置是否超过该文件的大小。如果读出开始位置和读出结束位置小于文件的大小,则处理进行到步骤S1006,否则处理进行到步骤S1112,执行差错处理。
步骤S1006检查分配类型。如果文件是已基于簇分配卷的类型(分配类型AllocType==0),或者如果该文件是分层文件的母文件(AllocType==FFFFFFFFh),则在步骤S1007中执行下面将要描述的“基于簇读取”操作。
在其它的情形中,即当文件是已基于碎片分配卷的类型,或当该文件是分层文件的一个子文件时,在步骤S1008执行后面将要描述的“基于碎片读取”的操作。当完成步骤S1007或步骤S1008的处理时,执行步骤S1010以完成“读取文件”的处理。
(2)对“基于簇读取”操作的描述
图8和图9表示“基于簇读取”处理的流程。在此操作模式中,当跟踪簇FAT入口的链时,执行读取。簇的读取从步骤S1101开始,其中设置文件的前端位置(Location),文件中读取开始位置的字节偏移(ByteOffset)和要读出的字节数(ByteLength)。文件的前端位置,读取开始位置和要读出的字节数从目录入口中得出。
步骤S11-2经过步骤S1102框中的计算判断开始簇地址(ClusterAddress),文件中读出位置的簇偏移(Cluster Start簇开始)和读取结束位置的簇偏移(ClusterEnd簇结束)。然后步骤S1102把簇偏移变量(ClusterOffset)初始化到零。簇偏移变量是一个整数,并且每读取一个簇增加“1”。文件的开始端位置(Location)已按图3中的形式4)记录。根据文件开始端位置(Location)的较高的25位确定开始簇的地址(ClusterAddress)。簇的大小是一个在卷中固定的值,并且可以从系统区域中得到。上述的簇地址对应于前述簇号。
步骤S1103判断读取开始位置的簇偏移变量(ClusterOffset)是否不小于读取开始位置的簇偏移(ClusterStart)。如果回答是肯定的,则处理进行到步骤S1104,进行用于读取数据的处理,因为在这种情况下要读取的数据存在于该簇中。反之,如果回答是否定的,即如果簇偏移值(ClusterOffset)小于读取开始位置的簇偏移值(ClusterStart),则处理跳过步骤S1104到步骤S1105。
因此,步骤S1104实际执行簇数据的读出。当从开始簇读取数据时,如果文件中读取位置的字节偏移(ByteOffset)不是簇大小的倍数,则在开始簇的读取位置字节偏移设置为字节偏移%簇大小(%表示“字节偏移”的模计算结果和簇大小,在后面的叙述中表示同样的意义)。同样,当读取最后的簇(ClusterEnd)时,如果(字节偏移+字节长度)不是簇大小的倍数,则从最后簇中读取的字节数设为(字节偏移+字节长度)%簇大小。在其它的所有情况中读出簇的所有数据。
步骤S1105检查当前簇的偏移(ClusterOffset)是否与结束位置的簇偏移(ClusterEnd)一致。如果回答是肯定的,则处理进至步骤S1106,完成“基于簇读取”的处理。但如果回答是否定的,即如果还没有到最后的簇,则处理进行到步骤S1107,其中当前簇的偏移值(ClusterOffset)增加“1”。然后处理进行到步骤S1108,从簇FAT中读取当前簇(增加的)的FAT入口值(入口Entry)。
步骤S1109检查读取入口Entry是否表示当前的簇是构成该文件的最后一个簇。当前簇不能是最后的簇,因为示于图6中的步骤S1005已经检查了文件的大小。当示于图3中形式4)和5)的较高的25位为值“1FFFFFFh”时,处理进到步骤S1110,从而执行差错处理。
如果在步骤S1109中判断当前的簇不是最后的簇时,用下一个簇地址的较高的25位(Entry高25位)替换当前簇的簇地址(ClusterAddress)。然后处理再返回到步骤S1103,并且重复上述操作直到步骤S1105判定当前簇偏移(Cluster Offset)与结束位置的簇偏移(ClusterEnd)一致,然后读出所有需要的数据。
(3)对“基于碎片读取”操作的描述
图10和11表示“基于碎片读取”过程的流程。此过程通过跟踪碎片FAT的Fat入口链执行。该读取过程与前面参考图8和9对“基于簇读取”过程的解释一样,除了步骤S1208使用碎片FAT并且用在步骤S1203和S1211中的入口具有图4中的形式3)。碎片地址对应于前述的碎片号,以后的步骤中也是一样。
(4)对“写入文件”操作的描述
图12和13表示“文件写入”过程的流程。文件的写入基本上以与前面参考图6和图7所解释的“读取文件”相同的方式执行。有两个序列:一个起始于步骤S1310,用于执行后面将要描述的“基于簇写入”的操作,另一个开始于步骤S1311,执行后面将要描述的“基于碎片写入”的过程。“写入文件”过程不执行文件大小的检查。当写入进行时,分配一个新簇和新文件以容纳文件增加的大小(FileSize)。在这种情况下,在步骤S1312中更新目录入口。构成第二管理信息的目录入口的更新体现了权利要求11所述的特征。
可以在一个存在的文件中进行写入。但当在目录入口中不存在文件时,可以根据系统配置形成一个新文件。因此,当通过步骤S1303进行的检索发现没有文件时,过程进行到步骤S1306,执行“形成新文件”过程。
(5)对“基于簇写入”操作的描述
图14和15表示“基于簇写入”过程的流程。“基于簇写入”过程是一个与前面参考图8和9描述的“基于簇读取”的过程基本相同的过程。在步骤S1401中执行数据向簇中的写入。与读取操作的情形相同,在开始簇中有一个字节偏移,同时数据可能没有完全填满最后的簇。在写入操作中,只有要重写的数据需要更新,在同一簇中不改变其它的数据。
当文件的大小不足以容纳写入的数据时,需要分配一个新簇。当步骤S1409判定当前簇是构成该文件的最后一个簇时,执行步骤S1410,以进行“获取新簇”的过程。
在该流程所示的过程中,每次需要进行获取时获取一个簇。但并不限于这种情况,该过程可以被修改,使得为了容纳要写入的全部数据使新获得的簇的数量预先在步骤S1402中确定。在这种情况下,为了顺序地在连续簇中写入数据,可以在后述的“获得新簇”操作中进行未使用簇的检索,以发现连续的未使用簇需要的数量。这体现了权利要求9的特点。
(6)对“获取新簇”操作的描述
图16表示“获取新簇”操作的流程。在此操作中,一个重要的任务就是如何判断未使用的簇。在图16所示的流程中,在不同的检索范围内进行两次对未使用簇的搜索,即步骤S1502和1504。具体地说,在步骤S1502中,从该卷中当前簇到最后一个簇的范围内进行检索。然后,步骤S1504执行从卷的第一簇到当前簇的检索。当尽管执行了两个步骤但仍没有获取新簇时,过程进行到步骤S1506,执行差错处理。
获取新簇的一个基本策略是在尽可能接近当前簇的位置找到一个未使用的簇,以把寻找的时间减到最小。为此目的,最好把步骤S1502和S1504每一个的检索范围划分成数个部分,并且检索在远离当前簇的方向上从最接近当前簇的组开始,以来回跳跃的方式进行。
如段(5)之前的描述,在新需要的簇的全部数量已知时,最好发现未使用的簇,使得在后来寻找这些簇时,寻找这些簇的时间总和最小,而不是当在远处位置找到这些簇时需要很长的寻找时间。这可通过关于以获得有关属于检索范围内每个部分的未使用簇的数量的信息来检查簇的使用状态而实现。这对应于权利要求1和5所提出的特征。
较多的簇需要较长的检索处理时间。根据本发明,文件装置510采用分层FAT,它反过来允许每个簇具有相对较大的大小,并因此减小簇的数量。因此可以进行对未使用簇的高效检索。
(7)对“从检索范围获取新簇”操作的描述
图17和18表示“从检索范围内获得新簇”操作的流程。该过程始于步骤S1601,把当前簇的地址(ClusterAddress)设置到检索开始的簇的簇地址(FindCluster发现簇),并把文件的最后簇的地址设置到检索结束的簇的簇地址(FindEnd发现结束)。
步骤S1602判定一个簇是否落在检索的范围内。参数(FindCluster发现簇)逐渐地变到更大的整数以用作检索中的簇的地址。簇是否在检索的范围之内通过检查FindCluster的值是否不大于最后的簇FindEnd而判断。当该簇位于检索范围之内时,过程进行到步骤S1603,而如果簇在检索范围之外时则过程进行到步骤S1611。在后一种情况中,由于没有找到,结束检索。
步骤S1603从簇FAT中读出簇地址FindCluster的入口值(Entry入口)。然后,步骤S1604判断该簇是否是一个未使用簇。当簇具有图3中所示的形式1)并具有“00000000h”的较高位25时,该簇被判定为是未使用簇。在这种情况中,过程继续到步骤S1605,并将用于检索的簇地址增加“1”。然后,过程返回到步骤S1602以检查下一个簇。重复此操作直到在检索范围内找到未使用的簇。
当在步骤S1604中发现未使用的簇时,过程进行到步骤S1606,设置FAT入口的新值。这总是设置到表示最后一个簇的FAT入口。因此,FAT入口具有图3中所示的形式4),其具有值“FFFFFFh”的较高的25位。在步骤S1607中,上述FAT入口值(Entry)被写作检索的未使用的簇的FAT入口(FindCluster),以更新FAT入口。
找到未使用簇之后作为第一管理信息执行的簇FAT入口的更新,以及后面将要描述的找到未使用碎片后执行的碎片FAT入口的更新体现了权利要求8的特征。
在步骤S1608中,设置当前最后簇的FAT入口以表示已通过检索找到的未使用簇。因此,FAT入口被设置成图3中的形式4),并且发现簇(FindCluster)设置成此形式的较高的25位的值。在步骤S1609中,上述入口(Entry)在簇地址(ClusterAddress)处写入FAT入口中,从而更新FAT入口。但是在形成新文件的情况下,通过“获得新簇”过程获得第一簇。在这种情况下,由目录入口表示前端位置,而不需要更新当前的FAT值,使得不需要执行步骤S1608和S1609的操作。
从步骤S1606到步骤S1609的操作结果是FAT链得到更新。然后步骤S1610执行对当前簇的地址(ClusterAddress)的替换,使得作为检索结果而找到的簇(FindCluster)被设为当前最后簇,由此在步骤S1611中完成“从检索范围中获取新簇”。
(8)对“基于碎片写入”操作的描述
图19和20表示“基于碎片写入”操作的流程。“基于碎片写入”过程基本上与前面参考图14和15所描述的“基于簇写入”一样。与“基于簇写入”相反的是,“基于簇写入”利用目录入口表示的文件的前端位置(簇)的簇FAT,而“基于碎片写入”依据于碎片FAT。当作为写入的结果文件大小增加时,在步骤S1710中执行下面将要描述的“获取新碎片”过程。
(9)对“获取新碎片”操作的描述
图21表示“获取新碎片”过程的流程。如同前面参考图16所描述的“获取新簇”过程的情形一样,“获取新碎片”过程在整个划分的检索范围内进行。步骤S1802判断该目标文件是否是分层文件的子文件。如果上述文件是分层文件的子文件,过程进行到步骤S1804,其中根据下面将要描述的程序执行“获取分层文件的新碎片”。
在普通文件的情况下,过程进行到步骤S1803,执行“获取新碎片”过程。对于簇FAT检查每个簇中碎片的使用状态,然后在所涉及的簇的范围内搜索未使用的碎片。接着执行后面将要描述的“从检索范围内获取新碎片”过程,其中根据当前的碎片地址(FragmentAddress碎片地址)的较高的25位值判断簇地址。然后执行步骤S1803,从该卷的当前簇到最后一个簇的范围内进行检索。如果检索不成功,过程进行到步骤S1806,在该卷的第一簇到当前簇的范围内执行检索。如果没有得到新碎片,则在步骤S1808中执行差错处理。如果获得一个新碎片,则在步骤S1809中完成“获取新碎片”过程。
(10)对“从检索范围获取新碎片”操作的描述
图22和23表示“从检索范围获取新碎片”过程的流程。此过程从步骤S1901开始,在该步骤中与前述的段(9)“获取新碎片”的解释一样,通过给出下列参数设置查找新碎片的检索范围:开始簇(FindCluster发现簇),检索范围的结束簇和上述文件最后碎片的地址(FragmentAddress碎片地址)。开始簇(FindCluster发现簇)是一个整数变量,并且其变化表示检索中的簇。新碎片的检索分两步进行:即簇FAT的检查和碎片FAT的检查。因此,首先执行对较高层级的簇的检索,然后对较低层级的碎片执行检索。这是权利要求12所述特征的一个实施例。
步骤S1902判断被检查的簇是否落在检索的范围之内。当“发现簇(FindCluster)”不大于“FindEnd”时,判定被检查的簇落在检索范围内,使得过程进行到步骤S1903,否则,过程进行到步骤S1909,其中由于不能得到新碎片终止该过程。
当被检查的簇落在检索范围内时,执行步骤S1903,读取对应于检查中的簇(Find Cluster)的簇FAT的入口值(Cluster Entry簇入口)。在步骤S1904中,如果入口值具有图3所示的形式1),具有值“00000000h”,则该簇被判定为未使用簇,使得过程进行到步骤S1907执行“B)从未使用的簇获取新簇”的过程,后面将对此过程进行描述。
如果步骤S1905判定入口值具有图3的形式2),带有一个小于“00000100h”的值,则判定该簇有一个未使用的碎片。在这种情况下,过程进行到步骤S1908,执行“A)从使用的簇获取新碎片”过程,该过程后面将描述。当在步骤S1904和步骤S1905中均不能得到肯定的回答时,过程进行到步骤S1906,将检索的簇的簇地址(ClusterAddress)增加“1”。然后过程返回到步骤S1902,使得在检索范围内重复步骤S1902到步骤S1905的操作。
因此,在步骤S1907和步骤S1908中执行新碎片的获取,并且在步骤S1909中完成“从检索范围内获取碎片”的过程。如果执行步骤S1907,以进行稍后将要描述的“A)从未使用的簇中获取新碎片”过程,未使用的簇不再被用作一个簇,而是用作碎片的集合。因此,如果严格地要求卷的高效使用,则可以在检索范围内执行步骤S1905的单独判定,并且只在步骤S1905的判断不成功时才执行步骤S1904的判断,以启动步骤S1907考虑未使用簇的使用。
为了使要获取的碎片尽可能地属于同一个簇,最好执行步骤S1905,以优选地选择一个具有足够多的未使用的碎片能容纳为写入的目的获取的碎片数量的簇。具有大量未使用碎片的簇的优选部分是权利要求5所述特征的一个实施例。
(11)对“从簇中获取新碎片”操作的描述
图24、25和16表示“从簇中获取新碎片”过程的流程。
此过程根据具体情况有两个分支,即“A)从使用中的簇获取新碎片”和“B)从未使用的簇中获取新碎片”。
“A)从使用中的簇获取新簇”过程始于步骤S2001,该步骤设置当前碎片的地址(FrangmentAddress),检索的簇的簇地址(Find Cluster),和检索的簇的FAT入口值(ClusterEntry)。步骤S2002设置检索的开始碎片地址和检索的结束碎片地址,以确定检索的范围,使得该范围落在上述目标簇之内。簇的前端碎片地址通过设置较高的25位簇的值和设置较低的7位的值“0”而给出。每个簇具有128个碎片,使得通过给开始碎片地址加127来确定结束碎片的地址。标识该簇中进行检索的参数“FindCluster发现簇”是一个可变的整数,并当检索转向另一个簇时发生改变。
步骤S2003判断被检索的碎片是否落在检索的范围之内。当还没有到达结束的簇时,过程进行到步骤S2004,否则,过程进行到步骤S2005,执行差错处理。但实际上并没有产生差错,因为该簇FAT的入口值表示至少存在一个未使用的碎片。[0133]
步骤S2004从碎片FAT中读出被检索的碎片的入口值(FindFragment)。S2006检查此碎片是否是未使用碎片。当入口具有图4所示的形式1)即“0000000h”时,检索未使用的簇并且过程进行到步骤S2008。[0134]
如果步骤S2006判定该碎片不是一个未使用的碎片,则被检索的碎片(FindFragment)增大“1”。并且过程进行到步骤S2003,从而重复步骤S2003至S2007直到在整个检索范围内完成检索。
如果发现一个未使用的碎片,则该碎片所属于的簇的FAT入口值(ClusterEntry)增大“1”,以增加使用中的碎片数。然后过程进行到步骤S2011,把簇地址的入口值(FindCluster)更新到“簇入口”。
步骤S2012把碎片FAT入口值(碎片入口FragmentEntry)设置为图4的形式3),即“FFFFFF80h”,使得该入口值表示文件的最后一个碎片。步骤S2013在碎片FAT入口中的值(FragmentEntry)在被检索的未使用碎片地址处写入,然后更新碎片FAT入口。
步骤S2014设置碎片FAT的入口值(FragmentEntry),使得其表示被检索的未使用碎片(发现碎片FindFragment)的地址。步骤S2015在上述目标文件碎片地址(FragmentAddress)的碎片FAT的入口中写入碎片入口值(FragmentEntry)。但是当碎片地址(FragmentAddress)是零时并不执行更新操作,因为在这种情况下,碎片FAT的入口值由目录入口指示。
由此通过步骤S2012至S2015把对应于该文件的碎片FAT链更新。步骤S2016把检索到的未使用碎片设置成文件最后一个碎片的碎片地址,从而在步骤S2017中完成此过程。
从步骤S2009开始“B)从未使用的簇中获取新碎片”。当该簇是未使用簇时,该簇的所有碎片也都是未使用的。在这种情况下,把该簇的第一碎片设置为一个新碎片。步骤S2010根据图3的形式1),用值“1”替换到表示碎片使用的较低的7位,使得把登记为未使用的簇改变成使用的簇。同时,把包括检索的未使用碎片的簇的簇地址设置到较高的25位中,而“0”设成较低的7位,由此形成未使用碎片的碎片地址。
然后过程进行到步骤S2011,与“A)从使用的簇获取新簇”过程相同的方式更新簇FAT的入口,并且在步骤S2013中根据检索到的碎片更新碎片FAT的入口。在步骤S2015中,更新文件的当前碎片地址并且在步骤S2017中完成该过程。
(12)对“获取分层文件的新碎片”操作的描述
图27和28表示“获取分层文件的新碎片”过程的流程。在母文件的子文件情形中,首先从分配给母文件的簇中搜索出要使用的一个新碎片。如果其中一个簇具有未使用的碎片,则把新簇分配给该母文件,并且在这整个新分配的簇中搜索一个使用的碎片。该过程起始于步骤S2101,其中设置当前碎片(FragmentAddress)和分配类型(AllocType)。此段中描述的特征体现了新区域的检索和分配特点。
当上述目标文件是一个分层文件的子文件时,在目录入口的分配类型(AllocType)中设置母文件的开始地址,使得该地址被设置成在步骤S2102中执行对其的检索的簇的地址。
在步骤S2103中,从簇FAT中读出簇地址(ClusterAddress)的入口值(ClusterEntry)。步骤S2104检查该入口值是否具有图4的形式3),以及该簇是否包括任何未使用的碎片。当较低的7位的值不是“0”,过程进行到步骤S2107,它执行前述的“A)从使用的簇中获取新簇”过程。
当在步骤S2104中没有发现未使用簇S2104时,执行步骤S2105检查该簇是否是最后一个簇。当该入口值具有图3的形式5),带有表示“1FFFFFFh”的簇号时,步骤S2105判定该被检查的簇是最后的簇,并且过程进行到步骤S2108,执行前述的“获取新簇”的过程以获得对于该母文件的一个新簇。
当步骤S2105判定该簇不是最后的簇时,过程进行到步骤S2106,把入口值较高的25位设置成下一个簇的簇地址。然后该过程再返回到步骤S2104,使得重复步骤S2104到步骤S2106的例程。当在步骤S2107中完成“A)从使用中的簇获得新簇”过程时,过程进行到步骤S2111以完成该过程。
步骤S2108执行前述的“(6)获取新簇”。新簇的获取需要母文件目录入口。因此,在步骤S2109中,根据母文件的开始地址(AllocType)在目录中检索母文件,并且更新母文件的文件大小和其它参数。步骤S2110对新分配的簇执行“(B)从未使用的簇中获取新碎片”并在步骤S2111中终止该过程。
(13)对“形成新文件”操作的描述
图29和30表示“形成新文件”操作的流程。参见前述的图12和13,当在“写入文件”操作中没有发现指示的文件时,并且当要产生一个新文件时进行新文件的形成。但是只有当存在母文件时才有可能形成一个子文件。以下将分别参见图31和32对形成新的子文件的过程进行描述。
“形成新文件”的操作起始于步骤S2201,在该步骤中指示要形成文件的路径名称(PathName)和分配类型(AllocType)。步骤S2202提供具有路径名称“PathName”的文件的目录入口。步骤S2203判断是否已形成目录入口。如果形成了目录入口,则过程进行到步骤S2204,而如果没有形成,则过程进行到步骤S2205,执行误差处理。
步骤S2204检查要形成的文件是否是分层文件的母文件。如果参数“分配类型AllocType”具有“FFFFFFFFh”值,则过程进行到步骤S2211,它进行母文件的形成。在步骤S2206中,对是否基于簇形成新文件做出判断。如果参数“AllocType”具有值“0”,则过程进行到步骤S2209,基于簇形成文件,否则过程进行到步骤S2207,基于碎片形成文件。在步骤S2211中,根据前述的“(6)新簇的获取”过程执行母文件的形成。参数“簇地址(ClusterAddress)”设置为“0”,表示该文件还没有任何簇。
步骤S2212设置目录入口的值。在分配类型“AllocType”中设置表示分层目录的母文件的值“FFFFFFFFh”,并且在步骤S2211中把新获取的簇地址设置在该文件前端位置(Location)的较高的25位。文件大小设为“0”。
基于簇形成文件采用在步骤S2209中执行的前述“6)获取新簇”过程。在步骤S2210中设置目录入口。在这种情况下,在分配类型“AllocType”中设置表示基于簇分配的值“0”。
基于碎片形成文件采用在步骤S2207中执行的前述“(9)获取新簇”过程。在步骤S2208中设置目录入口。在这种情况下,基于碎片在分配类型“AllocType”中设置表示基于碎片分配的值“1”。同时,把在步骤S2207中获得的新碎片的地址设置成文件的前端位置。然后对两种情况的每一种设置目录入口,这两种情况即基于簇形成文件和基于碎片形成文件。在每一种情况中,过程进行到步骤S2213,更新目录入口并且在步骤S2214终止该过程。
(14)对“形成分层文件的新子文件”操作的描述
图31和32是解释“形成分层文件的新子文件”过程的流程。
分层文件的子文件基本上以与母文件相同的目录存在。步骤S2301给出母文件的路径名称(PathName)和子文件的文件名(FileName)。虽然母文件和子文件形成在同样的目录中,但这不是绝对的,两个文件可以形成在不同的目录中,只要交替查阅这些目录是可能的。
此过程开始于步骤S2302,根据母文件的路径名检索母文件,并获得目录入口。在步骤S2303中判断是否可以发现母文件。如果回答是肯定的,则过程进行到步骤S2304,而当回答是否定的时,过程进行到步骤S2305,执行差错处理。步骤S2306检查检索的文件是否是分层文件的母文件。如果分配类型“ParentAllocType(母文件分配类型)”具有值“FFFFFFFFh”,则过程进行到步骤S2307,否则过程进行到步骤S2308,执行差错处理。
步骤S2307在相同的目录中以文件名“FileName”的名称形成一个子文件。步骤S2309判断是否发现该文件,当该文件已经形成时,过程进行到步骤S2310,否则过程进行到步骤S2311,执行差错处理。
步骤S2310执行“(12)获得分层文件的新碎片”过程,同时把当前文件的碎片地址(FragmentAddress)设置为值“0”,并把母文件的前端位置(ParentLocation)设置为分配类型AllocType。在步骤S2312中,新获取的碎片地址作为子文件的前端位置(Location)。步骤S2313更新子文件的入口。然后在步骤S2314结束该过程。
在前述的实施例中,簇和碎片分别以FAT链的形式表示。但这并不是绝对的,这可以是通过位图管理用于分配卷的关于使用存储区域的信息这样的配置,而关于文件结构的信息通过不同的方式管理。在这种情况中,位图分别用于簇的管理和碎片的管理,使得能够基于簇分配和基于碎片分配。这种配置与前述实施例的形式具有相同的优点。
当使用这种簇位图时,可以把诸如在每个簇中使用的碎片数的信息加到簇位图中。利用这种配置,可以从对于较高层级的第一管理信息中获得较低层级的第一管理信息。这体现了权利要求14所述的特征。
在列举的实施例中,文件以两个层级管理:即簇和碎片。这只是例示性的,本发明还可以通过把每个碎片分成更细小的单元来进行,以使得通过多层次的管理信息管理一个大的卷。
在所述的实施例中,把信息记录介质的存储区域作为一个单一的卷对待。也可以把物理上分开的信息记录介质在逻辑上用作一个卷,还可把一个信息记录介质的区域划分成多个卷。
上述实施例对所有簇采用碎片FAT入口。但是这种配置可以修改为采用表示用于各个簇的碎片FAT的入口的管理表,使得通过参考该管理表间接地获得碎片FAT入口。在这种情况下,没有基于碎片使用的簇没有任何碎片FAT入口。因此,只有当基于碎片使用与碎片有关的簇时,碎片FAT入口才形成在该卷中。
这种改型能够减小碎片FAT的大小,使得卷的利用更有效率。另外,可以集中必须使用的碎片FATs。当进行查阅时这允许对次级记录装置503进行高效的存取。
在例示的实施例中,对每个文件的卷分配是不变的。然而,可以配置为使得每个文件的分配单元是可变的。为了使在一个文件中的分配单元能够变化,改变入口值的地址大小,使得碎片FAT的入口位置可以用簇FAT的入口表示。
在例示的实施例中,碎片的大小和簇的大小固定。但并不限于此,文件还可以通过使用可变长度的簇和碎片构成。为了实现一个可变长度的簇,把描述起始偏移和结束偏移以确定簇中所使用的区域的一个字段加到簇FAT入口中。类似地,通过给簇FAT入口加入一个描述起始偏移和结束偏移以确定碎片中使用的区域的字段而获得一个可变长度的碎片。此特征使得能够诸如合并文件和删除文件中的数据区域等编辑工作而无需复制文件中的数据成为可能。
采用本发明的分层管理文件装置510中的图1所示的电子装置或系统只是一个举例。本发明的分层管理文件装置可以一般地用于电子装置或系统中,这种类型的装置或系统同时高速处理要连续记录和再现的文件和可以用离散的方式处理的文件。
在本发明的分层管理文件装置中,以及在采用此文件装置的电子装置或系统中,可以根据分配给文件的不同层级的多种类型的区域来管理文件。当需要实时记录和再现图像和声音时,可以分配大记录单元长度的连续的记录区域,以避免不然就会由于碎片出现而发生的文件存取速度的降低。
反之,可以给小文件分配较小记录单元长度的区域,从而避免记录区域容量的使用浪费。
还可以得知,与根据单一记录单元长度进行的分配相比,具有较大记录单元长度的较高层级的区域的第一管理信息数据大小可以减小。因此,减小第一管理信息存储器的大小以便于查阅。同时可以有益地减小存取盘时招致的负载和进行处理时加到CPU上的负载。
当根据具有较大记录单元长度的区域进行分配时,可以很容易地检索要新分配的未使用的记录区域。另外,可以根据较大的记录单元长度执行对第一管理信息和第二管理信息的查阅,从而能够优化分配同时避免碎片出现。
分配的记录区域可以有分层的第一管理信息。该较高层级的第一管理信息可以拥有涉及较低层级的区域使用状态的统计信息。当根据较低层级的区域记录文件时,可以从对于较高层级的第一管理信息中知道较低层级的区域的状态,从而消除查阅较低层级的所有第一管理信息的必要。因此,即使当根据较小记录单元长度的区域进行记录时也能高效地记录文件而同时避免碎片出现。
对具有母文件和子文件的分层文件的使用使得能够将关于子文件的信息集中到以较大记录单元长度分配的区域。因此当在某一时间对整个分层文件进行存取时使存取速度增加。还可以使用分层文件的机制使得母文件具有用作目录的属性。通过把母文件用作目录,可以使目录中的全部文件集中到以较大记录单元长度分配的区域。这进一步增强了对该目录中文件的存取速度。另外,当希望一起删除该文件和目录时,可以以留下较大记录单元长度的区域的方式进行删除,从而避免不希望的未使用记录区域的分散。
可以使用分层文件的机制以体现以下分配原则,分配较小记录单元长度的区域来补充较大的记录单元长度分配的区域。因此,可以把一批多个较小记录单元长度的连续区域用作分配的新单元。
可以把有关较大记录单元长度的区域的第一管理信息数据的大小变小。因此,可以根据物理文件分布,在文件的再现和记录之前很容易地计算文件的记录和写入速度。因此可以得到确保高速存取的分层管理文件。
Claims (16)
1.一种分层管理文件装置,其中信息记录介质的记录区域被分层级地分成多个记录单元长度的区域,每个层级的区域由多个较低层级的区域组成,其中文件在第一管理信息和第二管理信息的管理下根据各层级的区域以分割的形式记录在记录介质的文件记录区域中,并且根据第一管理信息和第二管理信息,通过分层地管理各层级的区域而将该文件从记录介质中再现,该分层管理文件装置包括:
记录第一管理信息和第二管理信息并允许从中再现第一管理信息和第二管理信息的信息记录介质,其中第一管理信息对于每一层级具有表示每个层级的区域的链接的链接信息和表示各区域的使用状态的使用信息,而第二管理信息具有所述文件的属性、用于记录和再现该文件的层级的分类和该文件的类型,以及开始该文件的记录和再现的起始层级的位置;以及
软件控制装置,用于对文件的记录和再现进行控制,并查阅各个层级的第一管理信息和第二管理信息,使得为了在所述层级的区域中记录所述文件的目的而查阅较低级水平的第一管理信息,以给该文件分配较低级水平的区域,并且当没有较低级水平的空区域时,查阅较高水平的第一管理信息,并再查阅属于该较高水平的较低水平的第一管理信息,从而使所述各该区域能够共享该文件,同时根据该文件的特点选择性使用各层级。
2.根据权利要求1所述的分层管理文件装置,其中所述软件控制装置进行操作,使第一管理信息、第二管理信息和所述文件记录区域能够以给到各个层级的区域的号码的递增次序在各个层级的区域中记录和再现,从而通过递增次序的号码来识别各区域。
3.根据权利要求1所述的分层管理文件装置,其中所述软件控制装置进行操作,使得第二管理信息被记录在相同层级的区域中,所述第二管理信息至少包括表示文件属性的第一类信息,表示用于记录和再现文件的层级和文件类型的第二类信息,和表示文件开始记录和再现所在的该层级的区域的位置的第三类信息,其中当根据第二类信息确定所述文件不是分层文件时,通过查阅第三类信息和所识别的层级执行文件的记录和再现。
4.根据权利要求1所述的分层管理文件装置,其中所述软件控制装置进行操作,使得第二管理信息被记录在相同层级的区域中,所述第二管理信息至少包括表示文件属性的第一类信息,表示用于记录和再现文件的层级和文件类型的第二类信息,和表示文件开始记录和再现所在的层级的区域的位置的第三类信息,其中,当根据第二类信息确定所述文件是一个由母文件和子文件构成的分层文件时,所述软件控制装置进行控制,使得通过所述子文件的第二类信息的检索来识别所述子文件,其中该子文件与表示所述母文件层级的开始区域的位置的母文件的第三类信息一致,并且根据所述子文件的第三类信息识别开始该子文件记录和再现所在的该层级的区域的位置,然后所述软件控制装置进行控制,并查阅所识别的子文件的第一管理信息,使得所述子文件使用的较低层级的区域必须包括在由所述母文件使用的较高层级的区域中。
5.根据权利要求1所述的分层管理文件装置,其中第一管理信息包括具有表示层级的区域的链接的链接信息和表示该层级的区域的使用状态的使用信息的第四类信息,和表示层级低于所述层级的区域的使用状态的第五类信息,其中所述软件控制装置进行操作,使得根据第四类信息识别挨着所述层级的区域的用于记录和再现的区域,使得分配给该文件的区域被连续地用于记录和再现,所述软件控制装置进一步进行操作,以根据第五类信息控制是否把较低级水平的区域分配给该文件。
6.根据权利要求1所述的分层管理文件装置,其中所述较低层级的第一管理信息包括表示所述较低级水平的区域的链接的链接信息和表示所述较低级水平的区域的使用状态的使用信息,并且还包括表示所述较低级水平的区域属于的较高级水平的区域的链接的链接信息和表示所述较高级水平的区域使用状态的使用信息。
7.根据权利要求1所述的分层管理文件装置,其中所述每个层级的第一管理信息包括表示所述文件结束的信息。
8.根据权利要求1所述的分层管理文件装置,其中当所述信息记录介质被初始化时,所述软件控制装置进行操作,只分配具有最大记录单元长度的最高层级的区域。
9.根据权利要求1所述的分层管理文件装置,其中所述软件控制装置可进行操作,把所述文件的连续信息单元分配到所述较低级水平的区域中。
10.根据权利要求1所述的分层管理文件装置,其中所述软件控制装置进行操作,使得当为一个文件保留一个层级的新区域并当把该文件记录到该新区域中时,对各个层级更新具有关于该层级的区域的链接信息和使用信息的第四类信息和表示该较低级水平的区域的使用状态的第五类信息。
11.根据权利要求1所述的分层管理文件装置,其中当为一个文件保留一个层级的新区域并当该文件被记录到该新区域中时,所述软件控制装置进行操作,以更新表示所述文件属性的第一类信息,并还更新包括在第二管理信息中的第二类信息和第三类信息,该第二类信息表示要用于记录和再现文件的层级以及文件的类型,该第三类信息表示文件的记录和再现开始时所在层级的区域的位置。
12.根据权利要求1所述的分层管理文件装置,其中所述软件控制装置进行操作,使得当通过分配用于记录所述文件的新的区域而更新第一管理信息和第二管理信息时,查阅第一管理信息和第二管理信息,并通过把文件最近记录所在的当前层级的区域的位置用作参考,查阅所述最高层级的区域的第一管理信息,其中当前层级的区域属于该最高层级,由此在整个分层中检索该最高层级的未使用区域,所述软件控制装置进行操作,以进一步对于连续的较低分层执行类似于最高层级的区域检索的检索,并且把要加到该文件的信息分配给检索的最接近所述当前层级的区域的区域。
13.根据权利要求1所述的分层管理文件装置,其中软件控制装置进行操作,使得当通过分配用于记录文件的新的区域而更新第一管理信息和第二管理信息时,查阅第一管理信息和第二管理信息,并通过把分层文件最近记录的当前层级的区域的位置用作参考,而查阅最高层级的区域的第一管理信息,其中所述当前层级的区域属于该最高层级并属于所述母文件,由此在整个分层中检索属于该母文件的最高层级的未使用区域,所述软件控制装置还进行操作,以对于连续的较低层级,执行类似于属于所述母文件的最高层级的区域的检索的检索,并且把该层级的子文件信息记录到最接近所述当前层级区域的被检索区域。
14.根据权利要求1所述的分层管理文件装置,其中对于每一层级,第一管理信息拥有表示每一层级的区域使用状态的使用信息,和表示低于每个所述层级的层级的区域使用状态的使用信息,而表示每一层级的区域的链接的链接信息不是被第二管理信息拥有就是被第三管理信息拥有,其中第三管理信息在不同于记录第一管理信息和第二管理信息的区域的记录区域中提供。
15.一种包括分层管理文件装置的电子装置,其中所述分层管理文件装置的类型为其中信息记录介质的记录区域被分割成多个记录单元长度的区域,每个层级的区域由多个较低级水平的区域组成,其中文件在第一管理信息和第二管理信息的管理下,根据各层级的区域以分割的形式记录在记录介质的文件记录区域中,并且根据第一管理信息和第二管理信息,通过分层管理各层级的区域而将该文件从记录介质中再现,所述分层管理文件装置包括:
记录第一管理信息和第二管理信息并允许从其中再现第一管理信息和第二管理信息的信息记录介质,其中第一管理信息对于每一层级拥有表示对每个层级的区域的链接的链接信息和表示区域的使用状态的使用信息,并且第二管理信息拥有文件的属性、用于记录和再现文件的层级的分类和文件类型,以及开始文件的记录和再现所在的起始层级的区域的位置;以及
软件控制装置,用于对文件的记录和再现进行控制,并查阅各个层级的第一管理信息和第二管理信息,使得为了在所述各层级的区域中记录文件的目的,而查阅较低级水平的第一管理信息,以给该文件分配较低级水平的区域,并且当没有较低级水平的空区域时,查阅较高水平的第一管理信息,并再查阅属于该较高水平的较低水平的第一管理信息,从而使所述各区域能够共享该文件,并根据该文件的特点选择性使用各层级。
16.一种在信息记录介质的记录区域中记录和从中再现分层管理文件的方法,所述记录区域被分层地分割成多个记录单元长度的记录区域,每个层级的区域由多个较低级水平的区域组成,其中该文件在第一管理信息和第二管理信息的管理下,根据各层级的区域以分割的形式记录在该文件记录区域中,并且根据第一管理信息和第二管理信息,通过分层管理各层级的区域而从该记录介质中再现该文件,
其中,该信息记录介质记录第一管理信息和第二管理信息,对于每一层级,第一管理信息拥有表示每一层级的区域的链接的链接信息和表示区域使用状态的使用信息,第二管理信息拥有文件的属性,用于记录和再现文件的层级的分类和文件的类型,以及文件的记录和再现开始所在的起始层级的区域的位置;该方法包括步骤:
查阅各个层级的第一管理信息和第二管理信息,使得为了在一个层级的区域中记录文件的目的,查阅较低层级的第一管理信息,使得将该较低级水平的区域分配给该文件;
并且,当该较低级水平没有空区域时,查阅该较高级水平的第一管理信息并且再对属于该较高级水平的较低级水平的第一管理信息进行检索,使得能够将该文件分配给所述各区域,从而根据该文件的特点选择性使用各层级,在该信息记录介质中进行文件的记录和从该介质中的再现。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31118298 | 1998-10-30 | ||
JP311182/1998 | 1998-10-30 | ||
JP10343433A JP2000200207A (ja) | 1998-10-30 | 1998-12-02 | 階層管理ファイル装置及びこれを具備した電子機器 |
JP343433/1998 | 1998-12-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1254881A true CN1254881A (zh) | 2000-05-31 |
Family
ID=26566616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 99126631 Pending CN1254881A (zh) | 1998-10-30 | 1999-10-30 | 分层管理文件装置和录放方法及含该装置的电子装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2000200207A (zh) |
CN (1) | CN1254881A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006133597A1 (en) * | 2005-06-15 | 2006-12-21 | Intel Corporation | Using transacted writes and caching mechanism to improve write performance in multi-level cell flash memoty |
CN1329841C (zh) * | 2002-06-28 | 2007-08-01 | 微软公司 | 建立和恢复图像文件的方法和系统 |
CN100403279C (zh) * | 2003-07-16 | 2008-07-16 | 松下电器产业株式会社 | 信息记录介质的数据区域管理方法、使用数据区域管理方法的信息处理装置 |
CN100403303C (zh) * | 2003-02-27 | 2008-07-16 | 索尼株式会社 | 记录装置和文件管理方法 |
CN101853275A (zh) * | 2010-05-05 | 2010-10-06 | 北京中星微电子有限公司 | 一种fat文件系统的数据管理方法和系统 |
CN101983376A (zh) * | 2008-04-04 | 2011-03-02 | 松下电器产业株式会社 | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 |
CN117667951A (zh) * | 2024-01-31 | 2024-03-08 | 杭州海康威视数字技术股份有限公司 | 用于摄像机的特征数据的数据处理方法和装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4256075B2 (ja) | 2001-01-09 | 2009-04-22 | 富士通株式会社 | ファイルシステム及び記憶領域の管理方法 |
KR100400546B1 (ko) * | 2001-05-18 | 2003-10-08 | 엘지전자 주식회사 | 디지탈 파일 기록 및 액세스 방법 |
JP4146380B2 (ja) | 2004-03-29 | 2008-09-10 | 東芝ソリューション株式会社 | ストレージシステム、ブロック再配置制御方法及びプログラム |
JP2007128448A (ja) * | 2005-11-07 | 2007-05-24 | Sony Corp | ファイルシステム及びファイル情報処理方法 |
KR100944240B1 (ko) | 2007-12-17 | 2010-02-24 | 주식회사 텔레칩스 | 파일 액세스 속도 향상 방법 |
KR20090075543A (ko) * | 2008-01-04 | 2009-07-08 | 삼성전자주식회사 | 파일 시스템 처리 방법 및 장치 |
KR102094786B1 (ko) * | 2017-11-28 | 2020-03-31 | 지인정보기술 주식회사 | 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법 |
-
1998
- 1998-12-02 JP JP10343433A patent/JP2000200207A/ja active Pending
-
1999
- 1999-10-30 CN CN 99126631 patent/CN1254881A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1329841C (zh) * | 2002-06-28 | 2007-08-01 | 微软公司 | 建立和恢复图像文件的方法和系统 |
CN100403303C (zh) * | 2003-02-27 | 2008-07-16 | 索尼株式会社 | 记录装置和文件管理方法 |
CN100403279C (zh) * | 2003-07-16 | 2008-07-16 | 松下电器产业株式会社 | 信息记录介质的数据区域管理方法、使用数据区域管理方法的信息处理装置 |
WO2006133597A1 (en) * | 2005-06-15 | 2006-12-21 | Intel Corporation | Using transacted writes and caching mechanism to improve write performance in multi-level cell flash memoty |
CN101983376A (zh) * | 2008-04-04 | 2011-03-02 | 松下电器产业株式会社 | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 |
CN101983376B (zh) * | 2008-04-04 | 2014-04-09 | 松下电器产业株式会社 | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 |
CN101853275A (zh) * | 2010-05-05 | 2010-10-06 | 北京中星微电子有限公司 | 一种fat文件系统的数据管理方法和系统 |
CN117667951A (zh) * | 2024-01-31 | 2024-03-08 | 杭州海康威视数字技术股份有限公司 | 用于摄像机的特征数据的数据处理方法和装置 |
CN117667951B (zh) * | 2024-01-31 | 2024-05-03 | 杭州海康威视数字技术股份有限公司 | 用于摄像机的特征数据的数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2000200207A (ja) | 2000-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1182532C (zh) | 一种重放方法、重放装置及编辑方法、编辑装置 | |
CN1253885C (zh) | 包括系统控制器并用于记录和再现信息的装置及方法 | |
CN1254881A (zh) | 分层管理文件装置和录放方法及含该装置的电子装置 | |
CN1218316C (zh) | 用于在信息记录介质上记录数据的信息记录方法以及在盘上记录数据的盘记录装置 | |
CN1705934A (zh) | 文件更新设备 | |
CN1269109C (zh) | 记录和/或再现装置、文件管理方法 | |
CN1873811A (zh) | 数据记录和/或再现装置及方法、数据传输系统及方法 | |
CN1110197C (zh) | 信息数据记录和再现装置及其方法 | |
CN1752947A (zh) | 存储装置、存储控制方法,以及计算机产品 | |
CN1117321A (zh) | 信息管理方法、数据记录媒体、数据记录方法、信息检索方法和信息检索装置 | |
CN1681030A (zh) | 信息处理装置和方法、记录介质以及程序 | |
CN1252563A (zh) | 文件管理装置和方法及其记录介质 | |
CN1722108A (zh) | 磁盘驱动器、其控制方法以及磁盘伪造的探测方法 | |
CN1910558A (zh) | 半导体存储器装置及其控制方法 | |
CN1882941A (zh) | 记录设备、再现设备、文件管理方法、文件管理方法程序及用于记录文件管理方法程序的记录媒体 | |
CN1701605A (zh) | 信息记录再生装置及其记录系统 | |
CN1756334A (zh) | 用于处理信息的设备、方法和程序 | |
CN1682226A (zh) | 视频节目制作系统、合成表提供设备、终端、终端处理方法、程序以及记录媒体 | |
CN1822190A (zh) | 信息记录设备、信息记录方法、程序存储介质以及程序 | |
CN1145963C (zh) | 编辑设备与编辑方法 | |
CN1277267C (zh) | 制作信息记录介质的方法、信息记录方法、信息记录装置、信息再现方法和信息再现装置 | |
CN1465069A (zh) | 再生装置和编辑装置 | |
CN1251230C (zh) | 记录装置及记录方法 | |
CN101053034A (zh) | 记录装置、记录方法、再生装置、再生方法、程序以及记录介质 | |
CN1673977A (zh) | 记录及重现装置、信息传送及管理方法以及记录介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |