信息处理装置及信息处理方法

文档序号:6745395阅读:198来源:国知局

专利名称::信息处理装置及信息处理方法
技术领域
:本发明涉及一种信息处理装置及信息处理方法,具体地说,涉及一种将信息记录到例如一次写入(write-once)型的盘状记录媒体的信息处理装置及信息处理方法。以往,作为大容量的数据记录媒体,有被称为CD-ROM(CompactDisc-ReadOnlyMemory)的只读媒体。有一种一次写入型的盘状记录媒体,通过在上述CD-ROM上形成记录层,可以只写入一次,以下称之为CD-R(CompactDisc-Recordable)。该CD-R能使用以往的CD-ROM驱动器进行再现,所以,可将全部数据记录在例如硬盘上准备好,通过将该全部数据写入CD-R,可将完成该写入的CD-R作为CD(CompactDisc)使用。但是,这种结构的CD-R只能写入一次,因此在已写入一次的区域很难重写入数据,结果是很难将该CD-R作为象所谓的软盘那样可重写的记录媒体作用。本发明考虑到以上问题,提出一种信息处理装置及信息处理方法,可将一次写入型媒体象可重写的记录媒体那样使用。本发明包括以下部分生成多个文件信息表的文件信息表生成装置,该文件信息表包含多个对应信息,示出指示各文件数据的关键字(key)信息和关键字信息指示的文件数据在媒体上的物理位置之间的对应关系;生成索引表的索引表生成装置,该索引表示出在多个文件信息表中,分别包含各关键字信息的文件信息表;生成管理表的管理表生成装置,该管理表示出多个文件信息对应表及索引表在所述媒体上的物理记录位置;临时性地记录文件信息表、索引表和管理表的存储器装置;将文件数据、文件信息表、索引表和管理表记录到媒体上的记录装置;控制装置,用于在将文件数据记录到媒体上时,将文件数据的关键字信息放入存储器中的某一个文件信息表,对放入的文件信息表和管理表在存储器中更新,用记录装置将文件数据记录到媒体上,并将放入的文件信息表和管理表记录到媒体上新的记录位置。此外本发明还进行下述控制,即在所述控制装置中,在将文件数据记录到媒体上时,在通过文件信息表生成装置在存储器中生成新的文件信息表的场合,将文件数据的关键字信息放入新的文件信息表,对放入的文件信息表、管理表和索引表在存储器中更新,用记录装置将文件数据记录到记录媒体上,并将放入的文件信息表、管理表和索引表记录到媒体上新的记录位置。此外本发明在所述控制装置中,将文件数据的关键字信息放入某一个文件信息表,使得多个文件信息对应表分别放入的对应关系数大致相等。此外本发明在所述控制装置中,用B*树(BStar-tree)算法将文件数据的关键字信息放入某一个文件信息表。此外本发明作为所述关键字信息,采用了文件数据分别固有的序列号及块号。此外本发明作为媒体,采用了一次写入型记录媒体。此外本发明在所述控制装置中,在作为关键字信息的序列号有多个的场合,在存储器内将所述序列号升序排列,按排列的顺序依次分配媒体上的物理位置的地址,对放入的文件信息表和管理表在所述存储器中更新。此外本发明在所述控制装置中控制记录装置,使得将文件数据记录到媒体上后,将更新的文件信息表和更新的管理表记录到媒体上新的记录位置。此外本发明在所述记录装置对文件数据的媒体的记录失败时,控制装置将记录失败的文件数据的关键字信息放入存储器中的某一个文件信息表,对放入的文件信息表和管理表在存储器中更新,用记录装置将记录失败的文件数据记录到媒体上,将放入的文件信息表和管理表记录到媒体上新的记录位置。此外本发明包括以下步骤生成多个文件信息表的步骤,该文件信息表包含多个对应信息,示出指示各文件数据的关键字信息和关键字信息指示的文件数据在媒体上的物理位置之间的对应关系;生成索引表的步骤,该索引表示出在多个文件信息表中,分别包含各关键字信息的文件信息表;生成管理表的步骤,该管理表示出多个文件信息对应表及索引表在所述媒体上的物理记录位置;临时性地记录文件信息表、索引表和管理表的步骤;将文件数据、文件信息表、索引表和管理表记录到媒体上的步骤;在将文件数据记录到媒体上时,将文件数据的关键字信息放入存储器中的某一个文件信息表,对放入的文件信息表和管理表在存储器中更新,用记录装置将文件数据记录到媒体上,并将放入的文件信息表和管理表记录到媒体上新的记录位置的步骤。根据本发明,通过将媒体上的物理记录位置和存储器内的假想地址空间上的逻辑地址相对应,可实现一种地址管理机理,即物理记录位置即使改变了,也无需改变同一块的逻辑地址。于是,一次写入型的记录媒体可作为可重写的记录媒体使用。附图的简单说明图1是根据本发明的CD-R盘装置的整体结构框图;图2是根据本发明的CDRFS的结构框图;图3是用于说明序列管理器SQM进行多个假想地址空间管理的示意图;图4是说明使用B*树的管理机构的示意图;图5是说明使用B*树的管理结构的示意图;图6是用广度(extent)构成的对应表的示意图;图7是节点表的示意图;图8是用于说明块的最大数的示意图;图9(A)及图9(B)是用于说明数据块更新的示意图;图10是用于说明冲洗(flush)操作的流程图;图11(A)至图11(D)是CD-R盘的逻辑结构示意图;图12是PVD的结构示意图;图13是超块(superblock)的结构示意图;图14是超块表项的结构示意图;图15是标记项(tagentry)的结构示意图;图16是节点表的结构示意图;图17是B*树索引节点的结构示意图;图18是索引记录的结构示意图;图19是序列B*树叶节点的结构示意图。图20是广度记录的结构示意图。图21是目录B*树叶节点的结构示意图。图22是目录记录区的结构示意图。图23是目录记录的结构示意图。图24是目录记录关键字的结构示意图。图25是说明类型种类的示意图。图26是文件目录记录的结构示意图。图27是目录记录的结构示意图。图28是连接目录记录的结构示意图。图29是全部冲洗(flushall)操作的流程图。图30(A)至图30(C)是说明重写操作的示意图。图31是监视媒体的可记录余量的处理步骤的流程图。图32说明不与各文件对应而对假想地址空间进行处理的示意图。本发明的优选实施例在图1中,1表示整体的CD-R盘机,包括信息处理装置部4,用于处理写CD-R盘DISC的数据或从CD-R盘DISC读出的数据;由阴极射线管或液晶显示装置构成的显示装置2,用于向用户提供信息处理装置部4的处理数据、处理状态等;输入装置3,由向信息处理装置部4输入数据的键盘等构成;CD-R驱动器装置5,对CD-R盘DISC进行数据写入或读出。信息处理装置部4包括控制整体系统工作的CPU(CentralProcessingUnit)6;临时存储各种信息或各种程序的RAM(RandomAccessMemory)7;存有CPU6工作时必需的基本程序的ROM(ReadOnlyMemory)8;用于向显示装置2输出信息的输入输出电路(I/O)9;用于获取从输入装置3输入的信息的输入输出电路(I/O)10;用于存取硬盘上容纳的各种程序的硬盘驱动器(HDD)11;用于访问该硬盘驱动器11的接口电路(I/F)12;用于访问CD-R驱动器5的接口电路(I/F)13。此外,RAM7除具有简单的存储器功能外,还具有高速缓冲器的功能。在这样构成的信息处理装置部4中,CPU6基于ROM8内存储的程序,通过接口(I/F)12,从硬盘11读出用于CD-R的文件系统(CDRFSCompactDiscRecordableFileSystem)的程序,并存储在RAM7中。然后CPU6通过执行读出的CDRFS来启动系统。在启动的CD-R盘机1中,在将数据记录到CD-R盘DISC的时候,CUP6在CDRFS的管理下,将用户准备的数据以预定的格式块化,将该数据通过接口电路13送至CD-R驱动器5,同时向CD-R驱动器发出写入指令。接收到此指令的CD-R驱动器5将接收的数据以称之为“组(packet)”的写入数据单位依次记录到CD-R盘DISC上。此外,在读出记录在CD-R盘DISC上的数据的时候,信息处理装置部4的CPU6,通过接口电路13向CD-R驱动器5发出读出指令。接收到此命令的CD-R驱动器5访问CD-R盘DISC,并读出分组记录的数据,通过接口电路13送至RAM7。图2表示软件SW的整体结构,通过该软件,对用户来说,在CD-R机1中CD-R盘DISC就象可重写的记录媒体一样,用户通过I/O输入的命令被应用程序AP及操作系统OS解释,然后传递给CD-R用的文件系统CDRFS的文件管理器FLM。文件系统CDRFS由构成上层部分的文件管理器FLM和构成下层部分的假想设备管理器IMM构成,文件管理器FLM进行目录及文件管理。因此当操作系统OS向文件管理器FLM传递例如文件覆盖命令后,文件管理器FLM指定对应的假想地址空间,该假想地址空间是根据所述命令指定的文件名由假想设备管理器IMM形成的。如图3所示,在这里假想设备管理器IMM向文件管理器FLM提供多个假想地址空间CVx(CV1、CV2、CV3、......),各假想地址空间CVx分别由数据块列构成,该数据块列由一个或多个数据块构成。该数据块列称为序列,对应于文件管理器FLM管理的各文件。这样文件管理器FLM通过对假想设备管理器IMM指定序列号,而指定了目标文件的假想地址空间CVx。此时文件管理器FLM可通过被称为序列关键字SQK(图2)的64比特逻辑地址,以块单位指定各假想地址空间。即,假想设备管理器IMM通过序列关键字SQK以块单位管理各假想地址空间CVx,序列关键字SQK的高32比特分配有假想地址空间CVx固有的序列号,低32比特是指定由高32比特指定的序列(假想地址空间)内的块BLK(图3)的序列块号。因此可由该序列块号管理的块数(即各假想地址空间CVx可具有的块数)为每个假想地址空间(一个序列)232个块。各块BLK在CD-R盘格式中为2048字节,从而假想设备管理器IMM可管理上限为8兆兆的一个序列(即一个文件)。这样,假想设备管理器IMM的组成将各假想地址空间CVx与文件对应,从而各假想地址空间CVx构成一个文件。因此假想设备管理器IMM文件指定后,不用进行将该文件的位置转换为逻辑地址然后进行检索的烦杂的步骤就能直接对文件进行访问。这样,从文件管理器FLM将直接对应于64比特的序列关键字SQK表示的文件的逻辑地址传递给假想设备管理器IMM后,该假想设备管理器IMM的序列管理器SQM(图2)用称为B*树的多叉树(Multiwaytree)检索算法使序列关键字SQK表示的逻辑地址和CD-R盘上的物理地址相对应。即,序列管理器SQM的B*树具有图4所示的树结构,由作为中间节点(分支)的索引节点D和叶节点E、F、G构成,该叶节点具有表示逻辑地址和物理地址的对应关系的广度(EXTx)。各叶节点E、F、G分别按序列关键字SQK的升序容纳一个或多个广度EXTx,该广度EXTx表示用序列关键字SQK表示的逻辑地址和物理地址LBA之间的关系。即广度EXTx在CD-R盘上按物理位置连续排列的块中,将块列作为一个单位进行管理,在该块列中序列关键字SQK是按升序连续排列的。该广度EXTx包括由该广度EXTx管理的连续物理块的先头块的序列关键字SQK,对应于该序列关键字SQK的物理地址LBA,以及长度。长度以包含该长度的广度的物理地址LBA为先头,表示由该广度EXTx表示的连续物理块数。因此,例如在广度EXTx(0,0565)表示的场合,对应于0,0这一序列关键字SQK(逻辑地址)的CD-R盘上的物理地址LBA为56,表示由该广度表示的数据在CD-R盘上以物理地址LBA(=56)为先头,有连续的5个块。由这一个广度EXTx管理的5个数据块,由于写入CD-R盘上连续的物理区域,所以可通过在连续的物理地址LBA上记录同一文件(序列)的数据,能避免作为逻辑地址和物理地址LBA之间的地址转换表要素的广度EXTx数增大。实际上,考虑到同一文件的数据被连续处理的概率高这一点,在CD-R盘上的物理位置上连续写入连续的序列关键字SQK的块,通过由广度EXTx对这样的数据进行管理,可减少作为构成序列管理器SQM的管理结构要素的广度EXTx本身的数目。例如,在广度EXTx(0,0565)的情况下,在由该广度EXTx表示的盘上的物理位置上,接着写入相同序列号(文件)的数据(如两个块)时,成为广度EXTx(0,0567),而作为该管理数据的广度EXTx不增加。在图4中,在构成B*树的中间节点的索引节点D上,容纳有构成其分枝的各叶节点E、F及G的各先头广度信息EXTx的序列关键字SQK(key1、key2、key3、......)和对应的叶节点E、F、G的节点号,当指定了该序列关键字SQK(key1、key2、key3、......)时,可参照节点表(图5)从CD-R盘上的物理地址LBA读出由节点号对应的叶节点E、F或G。因此,在序列关键字SQK被指定后,序列管理器SQM从索引节点D检索包含该序列关键字SQK的范围的先头关键字(序列关键字SQK)。例如,假设作为目标的序列关键字SQK是容纳于索引节点D的第一序列关键字key1和第二序列关键字key2之间的值,则序列管理器SQM选择叶节点E(该叶节点E的先头中含有广度EXT11,该广度EXT11具有第一序列关键字key1),在此叶节点E内依次进行检索。这样,由于各叶节点E、F及G内的多个广度EXTx按其序列号的升序排列,所以采用B*树算法能够容易地检索到由期望的序列关键字SQK指定的数据列的物理地址LBA。图5表示实际的通过B*树进行的检索方法,从记录在CD-R盘上的超块(SuperBlock(也叫SVD))A、节点表(NodeTable)B、检索节点(Indexnode)D、叶节点(Leafnode)E、F、G,检索作为目标的CD-R盘上的物理地址LBA(H、I、J、......)。即,序列管理器SQM基于记录在超块上的节点表B的物理地址LBA,在参照CD-R盘上的节点表B的同时,从记录在超块上的根节点号所指定的节点表B的节点号,算出索引节点D的物理地址LBA。由此,序列管理器SQM能够参照CD-R盘上的索引节点D,如上面结合图4所述的那样,从该索引节点D读出对应于期望的序列关键字SQK的节点号,从节点表B读出对应于该节点号的叶节点E、F或G的物理地址LBA。这样,从CD-R盘上能够读出作为目标的叶节点E、F或G,通过参照该叶节点E、F或G,能读出对应于此时被指定的序列关键字的广度EXTx。由该广度EXTx可求出作为目标的数据块列在CD-R盘上的位置(H、I、J、......)。图6表示序列号和物理地址LBA之间关系的一个例子,这4个对应关系可由序列号(123456781h)、LBA(1000h)、长度(5)表示的一个广度EXTx表示。由于构成B*树的各管理数据也记录在CD-R盘上,所以产生了伴随内容更新的重写的必要。因此对于构成B*树的数据块,也设置了逻辑地址和物理地址LBA之间的对应表及其管理机构。在CDRFS中,在构成B*树的块上附加就图5所述的被称为节点号的32比特逻辑地址,将该逻辑地址和物理地址LBA之间的对应表作为以逻辑地址为下标的数组表来管理。图7表示节点表的一个例子,从这个节点表可以看出,节点号为“0”的B*树块的物理地址LBA记录在“30”的位置。在节点表数组表以外,还附有两个数据。即“项数(Numberofentry)”表示数组的无素数,“空余(free)”表示数组内的未使用元素表的首部。所谓未使用元素表,是指数组内未被使用的元素的管理机构,能够简化数组元素的再利用。未使用元素的内容不是块地址,而是下一个未使用元素的下标。最后的未使用元素的内容是数组的元素数“Numberofentry”。在此例中,table2是未使用元素链表的首部,以下是table4、table1。节点表由于记录在CD-R盘上的连续区域,能够省略管理该节点表的机构。在B*树发生变化而重写构成该B*树的块时,将已被更新的节点表写入CD-R盘。例如在管理1千兆字节的数据时,因为各广度EXTx参照一个块,最好只使用各节点的一半,所以如图8所示,必要的B*树的块数的最大值为8095个块。对于每个构成B*树的块,以逻辑地址为下标的数组表需要4个字节,因此,表的大小如下式所示,8095块×4字节+2×4字节=32388字节=15.8块≈16块......(1)为16个块,可知即使在管理1千兆空间的场合,作为B*的管理表所必需的连续区域,最大为16个块。在CDRFS,作为记录在CD-R盘上的记录单位,采用由32个块构成的组,最多16个块的节点表容纳在一个组内。因此,在CDRFS中,在后述的冲洗操作时,在写入到CD-R盘的最后的组中,容纳有该节点表和其他管理信息。这样,在CDRFS中,数据块的逻辑、物理地址管理机构是由B*树和节点表构成的双重结构。之所以采用这样的双重结构,是因为,如果仅采用节点表那样的由单纯的数组表构成的逻辑、物理地址管理机构,在显示时需要大的连续区域。例如,如果考虑和上述的例子同样地管理1千兆空间的情况,需要如下式所示的多达1024个块的连续区域,1×220k字节/2k字节×4/2048k字节=1024块......(2)此外如只想用B*树来管理,则通过物理地址LBA管理B*树的节点,每次更新B*树的节点时都影响到其他的B*树的节点。因此,在CDRFS中,作为逻辑、物理地址管理机构,采用B*树和节点表这样的双重结构。这样,在序列管理器SQM中,用上面就图4及图5所述的检索方法(B*树),由作为逻辑地址的序列关键字SQK求出记录该序列的物理地址LBA。于是,该物理地址LBA和其序列关键字SQK一起传递给图2所示的高速缓冲器管理器(CacheManager)CAM。高速缓冲器管理器CAM通过称为高速缓冲器块的高速缓冲器对与指定的物理地址LBA对应的数据块进行从CD-R盘的读出及写入。即,为了重写数据,当传递来指定的物理地址LBA及其序列关键字SQK时,高速缓冲器管理器CAM判断由该指定的物理地址LBA所表示的数据块是否已存在于高速缓冲器内。如果结果为否定,则高速缓冲器管理器从CD-R盘读出该数据块,放入高速缓冲器中的块(缓冲器块)中,并为放入的该数据块分配临时物理地址(TemporaryLBA)。这个临时物理地址是分配给CD-R盘上的写入位置不确定的高速缓冲器内的块的。这样,通过由高速缓冲器管理器CAM用临时物理地址进行地址管理直至完成实际写入,序列管理器SQM不用考虑物理地址LBA的位置是真实的还是临时的就能访问数据块。另外,此时高速缓冲器管理器将对应于该数据块的序列关键字SQK(从序列管理器SQM传递来)存储到高速缓冲器管理表中,将容纳该块数据的对应于高速缓冲块的数据指针和临时物理地址返回给序列管理器SQM。序列管理器将该临时物理地址和序列关键字之间的对应关系登录在B*树上。与此同时,从高速缓冲器管理器CAM返回的高速缓冲器块的数据指针再从序列管理器SQM返回给文件管理器FLM,在此进行用户指定的数据更新。这样,重写的块被传递给高速缓冲器管理器,在由高速存储器组成的写高速缓冲块(WriteCacheBlock)被作为称作脏块的更新完毕块来管理。这时,脏块处于只在高速缓冲区内被更新或完成的状态,还没有记录到CD-R盘上。因此,当该脏块达到预定数目(32块)后,高速缓冲器管理器CAM将其作为一组,通过设备驱动器写入CD-R盘DISC。这样,脏块在积累到一组之前保存在写高速缓冲器块内,在将该数据写入到CD-R盘上之前如果要对同一数据块再次进行更新,则只要重写高速缓冲器内的数据就可以了,避免了对CD-R盘的更新(即写入到新的物理地址LBA)。以上的说明,虽然是为了重写已经存在于CD-R盘上的数据块所进行的处理,但文件管理器FLM在进行数据的重写时,只看到根据假想设备管理器IMM(图2)的假想地址空间。因此,虽然作为记录媒体使用的是一次写入型的CD-R盘,但是文件管理器FLM能象通常对可重写型媒体的操作一样,在假想地址空间中进行数据的重写。另一方面,在新生成数据块的场合,序列管理器SQM将要生成的块的序列关键字SQK传递给高速缓冲器管理器CAM,要求生成该块。高速缓冲器管理器CAM在高速缓冲器内分配块,为此分配临时物理地址返回给序列管理器SQM。此时从序列管理器SQM传递给高速缓冲器管理器CAM的序列关键字SQK存储在高速缓冲器管理器CAM内的高速缓冲器管理表中,在实际写入CD-R盘上时使用。序列管理器SQM将要生成的块序列关键字SQK和从高速缓冲器CAM返回的物理地址LBA之间的对应关系记录到由B*树构成的管理结构中。与此相对应,在擦除数据块的场合,序列管理器SQM从B*树求出指定的序列关键字SQK的物理地址LBA,并向高速缓冲器管理器CAM指示擦除。高速缓冲器管理器CAM在指定的物理地址LBA的块不存在于高速缓冲器内的情况下,不进行任何处理。另一方面,在该物理地址LBA的块存在于高速缓冲器内的情况下,高速缓冲器管理器CAM使该高速缓冲器块(即高速缓冲器管理器CAM管理的高速缓冲器内的块)无效。最后,序列管理器SQM从B*树删除作为删除对象的序列关键字SQK的项,以完成其擦除。在此,把高速缓冲器内的写高速缓冲器块的数据写入到CD-R盘上的操作称为冲洗(flush),第一,在序列管理器SQM从文件管理器FLM接受到冲洗要求时,或者第二,在序列管理器SQM从高速缓冲器CAM接受到写入要求时,执行该冲洗操作。第一种情况包括应用程序要求冲洗或插入CD-R盘时、以及系统终止时,是以从CDRFS来看是外部的因素为动机的。与此相对,第二种情况是以CDRFS的内部因素为动机的,包括高速缓冲器内的可再利用的块不足以保证CDRFS工作所需的最小值的情况,或为确保CDRFS的可靠性而需要向CD-R盘写入的操作的情况。所谓高速缓冲器内的可再利用的块不足以保证CDRFS工作所需的最小值的情况,是指不能确保高速缓冲器内具有足够的可再利用块以进行作为序列管列器SQM基本操作的序列块读入、生成、更新或擦除等操作的情况。因此,对于不能确保足够的可再利用块的情况,可通过冲洗操作确保该可再利用块。所谓可再利用块是指下面两类块的总称,一类是通过将写高速缓冲器块的数写入CD-R盘,使得该写高速缓冲器块可供其他脏块使用(称作读高速缓冲器块),另一类是本来就不含有效数据的高速缓冲器块(称为空闲高速缓冲器块FreeCacheBlock)。这里说明序列管理器SQM工作所需的可再利用块数。即读序列块时,在高速缓冲器内必须有作为对象的数据块和用于存储B*树管理结构的可再利用块,该B*树管理结构用于检查数据块存在的物理地址LBA。该B*树块在检索时会同时参照两个以上,所以只要一个可再利用块就可以了。因此,如果假设本来要读出的数据块数为N,则序列块读出处理所需的高速缓冲器内的可再利用块数的最大值RBCmax为RBCmax(N)=N+1......(3)序列块生成、更新时,CDRFS在高速缓冲器内分配未写入块。因此为了满足作为生成、更新对象的块的数目,需要可再利用块。实际上,序列管理器SQM为了进行B*树的更新,要进行用于容纳B*树节点的数据块的生成、更新,这就需要高速缓冲器内具有比作为生成、更新对象的数据块数更多的可再利用块。此外,在擦除时也有可能伴随B*树的更新要进行数据块的生成,此时也需要可再利用块。此外,生成序列块时,要生成广度EXTx,并插入到B*树中。如果此时要插入的叶节点没有空余,则进行该叶节点的分割,生成一个用于新的叶节点的数据块。然后,在将由该分割生成的叶节点插入到索引节点时,如果要插入的索引节点没有空余,则为了分割该索引节点而生成新的数据块。在B*树的深度为“3”的情况下,如果考虑这时一个广度EXTx管理的块数为1的效率最低的状态,则在根以外的所有节点只写入1/2的状态下,此时可管理的数据总容量为170×170/2×145/2×2=2095250≈2[G字节]......(4)因此,在容量不足700兆字节的CD-R盘中,不对深度为“3”的B*树的根节点进行分割,由此随着向B*树插入最初的广度EXTx而生成的数据块数最多为2个。此外刚分割后的索引节点,最多只填满2/3,因此要填满该索引节点,最少也要再插入170/3=56个索引。此外,相邻索引节点未填满时,不进行分割,而是进行移动以平均相互的索引数。因此通过向B*树插入最初的索引节点进行索引节点的分割后,直到下次分割,所必需的向B*树插入索引节点的最少次数是170/3×2=113。此外叶节点的情况也一样,为了引起下次分割最少需要插入145/3×2=96个广度EXTx。如果假设本来要生成的数据块数为N,则通过向序列管理器SQM要求一次块生成而产生的数据块数的最大值CBCmax为CBCmax(N)=N+2+(N/96)/113+(N/96)......(5)另一方面,在数据块更新时,除了去除已经存在的广度EXTx的工作,其它和生成情况相同。即广度EXTx通过管理连续的多个块的序列关键字SQK和物理地址LBA之间的对应关系,在去除其一部分的情况下,有时会使广度EXTx数增加一个。例如如图9(A)所示,当存在广度的情况下,如果为了更新序列关键字为“3”到“6”的数据块,将该数据块从广度去除,则此广度如图9(B)所示,置换为两个广度。这样,在去除现存的广度的一部分时,有时会多产生一个广度。考虑到这种情况,如果本来要更新的数据块数为N,则通过对序列管理器SQM请求一次块更新而生成的数据块数的最大值MBCmax为MBCmax(N=N+2+((N+1)/96)/113+((N+1)/96)......(6)此外在擦除数据块时,如果发生广度的部分擦除,则有可能发生叶节点的分割。因此通过对序列管理器SQM请求一次块擦除而生成的数据块数的最大值DBCmax,与要擦除的数据块数无关,为DBCmax=2......(7)此外,在一次操作所处理的数据的大小未定的情况下,有时不需要象(3)式~(7)式那样的复杂计算。例如在“windows95”(商品名)的情况下,用“GetDiskInfo”调用从文件系统读出该分配单元(AllocationUnit)后,就用该分配单元为单位访问文件系统。因此,如果分配单元为例如32块,则序列管理器SQM必须一次操作的数据块数在一组以下。如下式DBCmax<CBCmax(32)=MBCmax(32)=34(块)......(8)在序列管理器SQM操作前高速缓冲器内有34个可再利用块就可以了。下面说明将写高速缓冲器块的数据写入到CD-R盘DISC上的冲洗操作。如图10所示,序列管理器SQM要求高速缓冲器管理器将高速缓冲器内的写高速缓冲器块组合为n组。此时的组数n依赖于高速缓冲器管理器CAM的设置。高速缓冲器管理器CAM在图10的步骤SP1中,根据该要求从写高速缓冲器块中按预定的优先级制定写入CD-R盘DISC上的块表。该优先级由所谓的LRU(LeastRecentlyUsed最少最近使用)算法来决定,该算法从访问该块的频率最少的块(最早被访问的块)开始依次安排优先级。并按照该优先级高的顺序决定写入CD-R盘上的块。此时如果组内有空余,则高速缓冲器管理器为该空区分配哑块(dummyblock)。高速缓冲器管理器CAM对于这样选出的写高速缓冲器块,在步骤SP2中参照高速缓冲器管理表对写高速缓冲器块的块表进行排列,使各写高速缓冲器块对应的序列关键字SQK为升序,在后续步骤SP3中,从该块表的首部开始,分配各块写入CD-R盘DISC上的预定物理地址(称为临时实地址(ContactLBA)),依次为写入开始物理地址LBA、写入开始物理地址LBA+1......。该预定物理地址在写入正常终止时成为CD-R盘上确定的实地址(RealLBA),写入失败时成为上述的临时物理地址。这样,在步骤SP3中,通过对各写高速缓冲器块按其序列关键字SQK的升序分配写入位置(预定物理地址),在CD-R盘上同一序列(文件)的各块位于连续区域的概率提高了,其结果是从CD-R盘上读出时可以连续读出,由此可提高读出性能,同时可防止B*树的要素个数(广度EXTx数)增加,该B*树是用一个广度EXTx来管理同一序列(文件)的物理连续块的。这样,在步骤SP3中为写高速缓冲器块分配了预定物理地址后,序列管理器SQM从高速缓冲器管理器CAM获取分配的该序列关键字SQK及预定物理地址的对应表,在步骤SP4中进行B*树的更新。即在该步骤SP4中,序列管理器SQM将预先数据更新时分配临时物理地址而作成的广度EXTx的该临时物理地址置换为预定物理地址。由于预定物理地址是按序列关键字SQK的升序分配的,所以如果进行多个这样的更新,则几个广度EXTx可结合起来,这样作为B*树整体的广度EXTx数就减少了。其结果是有时可删除构成该B*树的节点(叶节点及中间节点)的一部分。因此序列管理器SQM在步骤SP5中判断构成B*树的块数是否减少。在此,如果得到肯定结果,则表示可以包含所述步骤SP1中用LRU算法没有选择的优先级低的高速缓冲器块,以取代减少的块,此时序列管理器SQM返回所述步骤1,再次重复进行写高速缓冲器块的选择。这样,通过重复步骤SP1~步骤SP5的处理直至没有无用的块,可在步骤SP5中得到否定结果。由此可提高CD-R盘的记录区域的利用效率。如果在步骤SP5中得到否定结果,则高速缓冲器管理器CAM转移到步骤SP6,将由集中在高速缓冲器中的多个块组成的组数据通过设备驱动器送到CD-R驱动器5,由此将其以组为单位写入CD-R盘DISC的新的写入区域。在此,如发生对CD-R盘的写入错误,则在后续步骤SP7中得到肯定结果,此时序列管理器SQM及高速缓冲器管理器CAM转移到步骤SP8,对CD-R盘进行物理修复。即在CD-R盘装置中,按标准决定以组为单位写入数据,对于中途发生写入错误而记录数据中断的组,需要用哑数据(RF信号)填满该组的标准长度。因此,序列管理器SQM及高速缓冲器管理器CAM用哑数据修复不完整的组,将应该作为该组记录的数据从下个组记录区域开始重新记录。由于此时写入数据的物理地址LBA变更了,所以序列管理器SQM及高速缓冲器管理器CAM返回上述步骤SP1,将此时刻未写入写高速缓冲器块的数据重新集中,同时向新集中的写高速缓冲器块分配新的预定物理地址。如果有错误发生前已完成写入的组,则由于包含于此组的数据块已经变更为高速缓冲器中的称为读高速缓冲器块的未更新数据块,所以不作为步骤SP8以后的写高速缓冲器块的重新集中对象。因此,随着每次组的写入成功,写入的候选(写高速缓冲器块)都在减少,最后所有的数据块都写入到CD-R盘上。这样,对于在步骤SP7中得到否定结果(即写入成功的组)的情况,高速缓冲器管理器CAM将高速缓冲器管理器内对应的写高速缓冲器块变更为读高速缓冲器块,重复上述步骤SP6~步骤SP9的处理,直至在后续步骤SP10中得到所有组写入的结果。图11表示写入CD-R盘上的数据的记录状态,在多轮(multi-session)分组记录方式中,如图11(A)所示,在CD-R盘的记录区域上由内圈向外圈呈螺旋状依次记录着多个轮(Session1、Session2、......)。在记录区域内侧确保有功率校准区(PCA)和程序存储区(PMA),这样可记录用于功率调整的信息和各轮的管理信息。各轮分别包括以下部分记录用户制成或更新的序列(文件)的块数据(文件数据)的程序区(ProgramArea)、记录表示轮开始的导入信息的导入区(Lead-InArea)、以及记录表示轮结束的导出信息的导出区(Lead-OutArea)。导入信息和导出信息是在程序区记录一轮文件数据(用户数据)后记录的,是用于保持与CD-ROM的互换性的数据。如图11(B)所示,程序区再次被划分,例如在3个数据轨道(track)的情况下划分为3个轨道。此时各轨道的首部设有索引区,在此部分记录轨道的索引信息。此外如图11(C)所示,轨道是由作为数据写入的基本单位的组的集合构成的。该组如图11(D)所示,分为四个部分连接块(LinkBlock)、跑入块(RunInBlock)、记录文件信息等用户数据的用户数据块(UserDataBlock)、以及跑出块(RunOutBlock)。这里作为如图11(A)所示的程序区中记录的数据,除用户作成的序列(文件)的块数据(用户数据)外,还有表示数据的管理结构的信息,作为该信息,有主容量描述子(PrimaryVolumeDescriptorPVD)、超块(SuperBlock)、节点表(NodeTable)、B*树索引节点(B*TreeIndexNode)、序列B*树叶节点(SequenceB*TreeLeafNode)、目录B*树叶节点(DirectoryB*TreeLeafNode)。此外,除节点表外,所有数据管理结构的大小都为一块(2048字节),记录在边界内。此外虽然节点表是大小为一块以上的可变长度数据结构,但首部是从块边界开始的。主容量描述子PVD是记录在从轮的首部起第16块的信息。其第16块的首部1152字节记录着和ISO9660的PVD相同的内容,从第1153字节以后记录着如图11所示的CDRFS固有的信息。在图12的PVD中,“超块检索方法”表示最新的超块的存储位置。即每当进行后述的全部冲洗操作时,就将超块写入CD-R盘上,由PVD的“超块检索方法”可知最新的位置。例如在“检索方法=0”的情况下,表示记录在“超块LBA”所指示的块内。此外在“检索方法=1”的情况下,表示记录在“最后可存取块”内。此外在“检索方法=2”的情况下,表示在记录于“超块区”的超块中,“超块流水号”记录在最大的位置。此外,所谓“超块区”,是指夹在“超块区的开始LBA”表示的块和“超块区的结束LBA”表示的块之间的全部块。此外,在图12的PVD中表示的“文件系统标志”如果为“0×0001”,则表示采用“寻址方式II”,而如果为“0×0002”,则表示从CDRFS看不见“ISO9660容量”,此外如果为“0×0003”,则表示轮初始的轨道用TAO(TrackAtOnce立即轨道)或可变长度组记录。此外,图12的PVD中所示的“组大小”表示固定长度组的用户数据的块数。但是,该域只有在使用“寻址方式II”时才有效。此外,图12的PVD中所示的“容量”表示在格式化后CD-R盘上能记录的用户数据的总块数。此外,该值是对操作系统OS返回CD-R盘的总容量信息时使用的,是参考值。此外,图13表示超块的结构,例如在初始的“超块首标”中记录有表示该块是超块的信息。在“检索方法=1”时,如果由于某种原因“超块”没有记录在“最后可存取块”中,则根据此“超块首标”寻找旧的“超块”。此外,“超块标志”表示轮中是否记录着有效的数据。“节点表LBA”表示记录节点表的块。节点表的大小为两块以上时,该节点表从“节点表LBA”所示的块开始连续记录。此外,“上次超块LBA”表示上次记录的“超块”的位置,在CD-R盘的情况下,已经记录的数据不会从盘上遗失。因此,通过查找“上次超块LBA”就可以了解过去的容量状态。“序列B*树根节点数”表示上面就图5所述的由B*树构成的管理结构(序列B*树)的根节点的节点号。此外“目录B*树根节点号”表示文件管理器FLM管理的“目录B*树”节点的节点号。“系列号”是超块的连续号。此外,格式化时生成的超块的“系列号”为“0”。此外,“超块表”是集中过去50个“上次超块LBA”的表,是由图14所示的超块表项重复构成的。“超块表”的最初的项,表示容纳“超块表”的超块的前一个超块。这些项按照超块的连续号降序排列。在过去的超块不满50个的情况下,各项从首部开始填入,未使用的项填“0”。“超块标签表”是过去超块的名称标签表,由图15所示的标签项重复构成。在该CDRFS中,一个CD-R盘最多可有24个标签,在标签不满24个的情况下,项从首部开始填入,未使用的项填“0”。此外,节点表如就图5所述的那样,是由B*树构成的管理结构(序列B*树)的各节点的节点号与其物理地址LBA之间的对应表,具有图16所示的结构。此节点表从数据块的首部开始连续记录,如果一个数据块中容纳不下,则将后续部分记录到下一个数据块。此外,索引节点如上面就图5所述的那样,是由B*树构成的管理结构的叶节点以外的节点,记录有图17所示的信息。图17所示的“记录数”表示存储在叶节点中的索引记录的数目。此外,该索引记录具有图18所示的结构,按关键字的升序排序,从“IndexRecord”开始依次填放而记录。此外,如上面就图5所述的那样,序列B*树叶节点是为容纳序列关键字SQK和物理地址LBA之间的对应关系所用的B*树的节点,具有图19所示的结构。该叶节点内的广度EXTx具有图20所示的结构,按关键字的升序排序,从“ExtentRecord”开始填入而记录。并且,节点内的广度EXTx的数目记录在“记录数”中。目录B*树叶节点是用于容纳以下内容的B*树的节点,即容纳文件名和序列关键字SQK、目录名和目录号的对应关系,以及文件和目录的属性信息,该节点具有图21所示的结构。在该叶节点内的“节点数”中,容纳有叶节点的“节点数”与“0×80000000”之和。“记录数”表示该节点容纳的目录记录的数目。“上次节点数”和“下次节点数”分别表示具有最小关键字的叶节点和具有最大关键字的叶节点的“节点数”。假如没有该节点,则记录“0×ffffffff”。“记录总大小”中记录有后述的索引记录偏移量(IndexRecordsOffset)和目录记录的总字节数。目录记录区(DirectoryRecordsArea)的使用如图22所示。“PosX”被称为索引记录偏移量,用从目录记录区的首部算起的字节偏移量来表示存放目录记录的位置。而且,该“PosX”为1字节。此外,“PosX”按其表示的目录记录具有的关键字的顺序进行排序,从目录记录区的首部开始填入而记录。“RecX”为目录记录自身,其位置没有特别规定。但是,如果使用CDRFS所采用的算法,则作为其处理结果,最近产生的目录记录存放在离目录记录区的首部最近的位置。如果用“Nr”表示存放在“记录数”中的值,则“PosNr-1”和“空余的尾部”之间的区域为未使用区域,在目录记录的更新或作成时使用该区域。而且,“PosX”从首部开始,RecX”从尾部开始来利用未使用区域。目录记录是用于容纳以下内容的可变长度数据,即容纳文件名和序列关键字SQK、目录名和目录号的对应关系,以及文件和目录的属性信息,该目录记录具有图23所示的结构。而且,该目录记录记录在所述目录记录区内。该目录记录内的关键字是分配给该目录记录的,其构成如图24所示。在图24中,目录号是每个目录固有的附带的数字,同一目录内的所有目录记录具有同一目录号。“散列关键字(HashedKey)”为该目录记录的名字除以下式表示的生成多项式所得的余数。P(x)=x16+x12+x5+1......(9)该“散列值”有时对于不同的名字有相同的数值。为了避免这个问题,在CDRFS中采用“序列号”。即使和要插入的目录记录有不同的名字也没关系,在B*树内已存在目录号和“散列关键字”相等的目录记录的情况下,CDRFS对B*树内已存在的目录记录的“序列号”加1,将其设定在要插入的目录记录的“序列号”。此外,在图23中,大小(Size)表示包含关键字和大小自身的目录记录的字节数。在该图23中,类型(Type)是表示目录记录种类的域,有图25所示的5种。此外,如果类型的第7位置被置位,则表示该目录记录被一个以上的硬连接目录记录(HardLinkDirectory)所参考。此外,作为参考,图26~图28分别表示文件目录记录、目录目录记录、连接目录记录的结构。这样由B*树构成的管理结构的数据(管理信息),在称为全部冲洗的写入操作中和文件数据(用户数据)一起写入用户数据区(图11)。即,超块中有容纳节点表的块的物理地址LBA、B*树构成的管理结构(图5)的根节点号等,从管理信息到文件的内容,除PVD之外的CD-R盘上的全部数据的连接都从超块开始。此外如上面就图5所述的那样,为了参照由B*树构成的管理结构的节点,需要节点表。因此,构成这样的管理信息的超块,在全部冲洗操作时,写入到用户数据区的下次可写入位置的前一组的最后一块。实行该全部冲洗的时间选择是在经过预先设定的规定时间的时候,以及超过规定量的数据写入CD-R盘的时候,由此,以规定间隔将管理信息(超块)写入CD-R盘。图29表示全部冲洗的操作过程,序列管理器SQM及高速缓冲器管理器CAM从步骤SP20进入该处理过程,在步骤SP21中对于高速缓冲器内的写高速缓冲器块,与上面就图10所述的冲洗操作一样地创建表。即序列管理器SQM要求高速缓冲器管理器CAM将高速缓冲器内的写高速缓冲器块全部集中起来。高速缓冲器管理器CAM将所有未写入的高速缓冲器块和根据需要的哑块制成表后,参照高速缓冲器管理表将对应的序列关键字SQK按升序排列。从这样排列的表的首部块起,依次分配预定物理地址为写入开始的物理地址LBA、写入开始的物理地址LBA+1、......。序列管理器SQM根据序列关键字SQK和物理地址LBA之间的对应表对B*树进行更新。重复前面的处理,直到通过B*树的更新不再产生块的删除为止。接着在步骤SP22中,序列管理器SQM要求高速缓冲器管理器CAM用与通常的块生成同样的步骤进行用于容纳节点表及超块的数据块的生成。由此,高速缓冲器管理器CAM在高速缓冲器内生成用于超块及节点表的块。这里,在节点表的块生成时,作为序列关键字SQK传递“fffffffff00000000(十六进制)”、“ffffffff00000001(十六进制)”,在超块的块生成时,作为序列关键字SQK传递“ffffffffffffffff(十六进制)”。通过这样附加序列关键字SQK,在高速缓冲器管理器CAM的块排列操作时,节点表配置在连续区域内,而超块配置在最后的组的最后的块内。接着高速缓冲器管理器CAM在步骤SP23中,对高速缓冲器内的写高速缓冲器块再次创建表。即序列管理器SQM要求高速缓冲器管理器CAM将高速缓冲器内的写高速缓冲器块全部集中起来。如果有以前没有写入的数据块,则在此重新将其集中起来。然后,象通常那样,由高速缓冲器管理器CAM进行块表的创建和物理地址LBA的决定,以及由序列管理器SQM进行B*树更新这样一系列的处理后,在步骤SP24中将各个内容填入超块和节点表用的块中。此后,进入步骤SP25以后的步骤,实际上以组为单位记录数据,如果全部写完,则进入步骤SP30结束全部冲洗操作。这里,步骤SP25~步骤SP29,分别和冲洗操作的步骤SP6~步骤SP10相同,所以省略了其说明。这样,在全部冲洗操作中,为超块作为序列关键字SQK分配了“fffffffffffffffff(十六进制)”这样的最大的值,与此同时,为节点表作为序列关键字SQK分配了“ffffffff0000000(十六进制)”、“ffffffff00000001(十六进制)”、......这样的大而且连续的值,而为叶节点作为序列关键字SQK则分配了“fffffffe00000000(十六进制)”,“fffffffe00000001(十六进制)”这样的和节点表明显不同的大而且连续的值。这些大的值,与分配给超块、节点表及叶节点以外的构成序列(文件)的块数据(用户数据)的序列关键字SQK(“0000000500000000(十六进制)”、“0000000500000002(十六进制)”、......)相比,是特别大的值。因此,在这样分配序列关键字SQK的情况下进行全部冲洗操作,则用户数据和管理信息(超块、节点表及叶节点)按照序列关键字SQK升序排列而进行块排序,在CD-R盘上按照排序的顺序依次记录。因此,在将分配有大的序列关键字SQK值的超块、节点表及叶节点等管理信息以组为单位记录到CD-R盘上时,它们被连续写入后边的组内。特别地,分配有最大的序列关键字SQK的超块,被写入最后的组的最后的块内。这样,在CDRFS中,只有在CD-R盘上的从后写入的块到先写入的块的方向上,参照关系才成立。因此,例如如图30(A)所示,从左(CD-R盘的内周)向右(CD-R盘的外周)以组为单位依次写入数据时,由于参照关系只在一个方向上成立,即要写入到新的未写入区域的组数据b(例如超块)参照物理地址上在前面写入的组数据a(例如节点表),所以在如图30(B)所示的组数据b写入失败的情况下,如图30(C)所示,只要将写入失败的组数据b重新写入新的未写入区域即可。由此,与前面组数据a参照后面组数据b的方式(这种方式中,当后面组数据b的写入位置变更时,前面组数据a中的后面组数据b的物理地址也要相应重写,对于CD-R,前面组数据也和后面组数据一起写入新的未写入区域)相比,可以在错误发生时进行简单的重写处理。此外,在CDRFS中,将CD-R盘从CD-R驱动器5取出时必须进行冲洗操作,将超块写入最后的组内。因此,在将该CD-R盘再次插入到CD-R驱动器5时,CDRFS对该CD-R盘从记录数据的最外周区域开始进行超块的检索,根据上面就图5所述的该超块的管理信息来参照在该超块的前面(内周)写入的数据。此时,如果向最后的组中写入超块时发生写入故障,则CDRFS从该超块开始依次向内周检索前一个超块。在这种情况下,在前一个超块以后写入的用户数据很难存取。因此在本发明的CDRFS中,对CD-R盘写入数据时的全部冲洗操作,是在经过规定时间、以及从高速缓冲器管理器CAM将超过规定数据量的数据写入CD-R盘上的时候进行的,所以即使在比较频繁地向CD-R盘上写入超块并且由此应存在于最后的组中的超块发生写入故障的情况下,通过读出写入在离该超块比较近的位置的前一个超块,也能避免大量的用户数据遗失。这里,如上面就图11所述的那样,用CD-ROM驱动器读以CDRFS格式写入数据的CD-R盘时,有必要在各轮的前后写入导入信息及导出信息。此操作称为冻结(Freeze)。为了进行该冻结操作,CD-R盘上需要有一定的空余容量,在不能确保该容量的情况下很难写入导出信息,在用CD-ROM驱动器读该CD-R盘时,只能读出确切记录有上次导出信息的轮的内容之前的内容。因此在CDRFS中进行CD-R盘的未使用区域的容量监视。即如果设高速缓冲器内的未写入数据块的数目为Nd,节点表的块数为Nn,在考虑到超块所用的块的情况下,全部冲洗操作所需的空余容量Nfa为Nfa={(Nd+Nn+1+31)/32}×(32+7)......(10)对于冻结来说,在开始向轮写入的时刻就确保了导入信息所用的区域,因此只要监视导出信息所用的容量即可。如果轮为一个,根据CD-ROM的规格,冻结需要的空余容量为1.5×60×75=6750块,第二个以后为30×75=2250块。在此CD-R盘上应确保的空余容量的最小值Nfree为Nfree=Nfa+6750(第一轮)......(11)Nfree=Nfa+2250(第N轮,N≥2)......(12)该数字没有考虑到发生写入错误的情况,例如如果考虑到对于n组写入发生e次写入错误,则写入错误的概率为Pe=n/e......(13)这里,每一次写入错误多消耗一个组,所以对考虑写入错误的空余容量Nfa进行修正,(11)式及(12)式变为Nfree=Nfa(1+Pe)+6750(第一轮)......(14)Nfree=Nfa(1+Pe)+2250(第N轮,N≥2)......(15)这样,在序列块的创建、更新或删除操作之后,如果在CD-R盘上确保了大于Nfree块数的空余容量,就可以进行冻结操作。在CDRFS中,通过对序列管理器SQM发出一次请求而新生成的高速缓冲器内的写高速缓冲器块数的最大值如上面就(6)式所述为MBCmax(Nmax),因此在将空余容量小于Nfree+MBCmax(Nmax)块数的CD-R盘等记录媒体插入驱动器时,向用户警告记录媒体容量不足,禁止序列块的创建、更新或删除操作等对记录媒体(CD-R盘等)的写入。由此CDRFS可保证冻结操作。但是,CDRFS提供的文件访问服务,由对序列块的多次操作组成,如果在对任意的序列块的操作终止时禁止向记录媒体(CD-R盘)的写入,恐怕会丧失作为文件系统的完整性。因此,对记录媒体(CD-R盘)的写入禁止操作,在操作系统OS对CDRFS的操作要求的间隙进行。此时如果假设通过操作系统OS向CDRFS发出一次操作请求而进行的序列块的创建、更新或删除操作的次数为Ncb,则对记录媒体(CD-R盘)写入禁止的空余容量应小于下式表示的值Nfree。Nfree=MBCmax(Nmax)×Ncb......(16)在以上监视方法中,确保了将保持与CD-ROM的兼容性所用的导出信息最后写入CD-R盘上所用的容量,但是也可以在该导出用的容量上再加入脏块部分一起监视。即这样的监视操作是按照图31所示的监视处理过程,在每次将数据写入CD-R盘上时进行的。即CDRFS从图31的步骤SP40进入该监视处理过程,在步骤SP41确认CD-R盘的剩余容量。即,在CD-R盘的制造过程中,在该CD-R盘上记录有全部可记录容量。因此CD-R驱动器5从该CD-R盘由全部可记录容量和现在记录的最终物理位置求出可记录剩余容量。该求出的可记录剩余容量,在步骤SP42中被传递给高速缓冲器管理器CAM,高速缓冲器管理器CAM从可记录剩余容量中减去高速缓冲器内的预定写入数据量(脏块),将其剩余容量传递给序列管理器SQM。序列管理器SQM在步骤SP43,从高速缓冲器管理器传递的剩余容量中,减去B*树管理结构的超块(SVD)及节点表的写入量,将其剩余容量传递给文件管理器CAM。文件管理器FLM在步骤SP44中,从由序列管理器SQM传递的剩余容量中减去记录导出信息等需要的裕量。如果这样算出的剩余容量比“0”大,则CDRFS判断为可以进行写入处理,并转至步骤SP46继续进行处理。与此相反,如果在步骤SP45中得到否定结果,则表示CD-R盘上没有空余写入以后要处理的数据,此时CDRFS转至步骤SP47,向用户显示规定的警告。这样,每当CDRFS在向CD-R盘上执行冲洗操作或全部冲洗操作时,确认执行后的盘上的剩余容量,如果判断为对于其后处理中的写入量没有足够的空余,则通过对用户发出警告,可以预先防止将没有写入空余的CD-R盘仍插在CD-R驱动器5中继续进行其后的处理。此外,在使用CD-R盘的CDRFS中,虽然可将CD-R盘象可重写的媒体一样来使用,但在CD-R盘的情况下,由于每次更新操作都使用新的区域,所以该CD-R盘的可利用剩余容量会减少。因此在每次写入新的数据时,都对该可利用剩余容量进行监视。该剩余容量,除高速缓冲器内的脏块以外,还包括作为B*树构成的管理结构要素的超块及节点表、和为保持与CD-ROM兼容所用的导出信息,通过监视可记录这些信息的剩余容量,保证了用户不会遗失假想地址空间上正在创建或更新的数据,而是确实在保持与CD-ROM兼容的情况下记录到CD-R盘上。在以上的结构中,CDRFS将CD-R盘上的物理地址LBA在假想地址空间与作为逻辑地址的序列关键字SQK相对应来进行管理。因此例如被指示更新的CD-R盘上的块数据,在读出到高速缓冲器内而更新数据后,不变更其序列关键字SQK,只变更物理地址LBA,在规定的定时(冲洗或全部冲洗操作时)内被写入CD-R盘上新的物理地址LBA的位置。由于此时文件管理器FLM在假想地址空间上利用逻辑地址进行数据的更新、创建和删除等数据处理,其结果,虽然使用的媒体是一次写入型的CD-R盘,但也能不意识到这一点,将该CD-R盘象以往的可重写媒体那样进行处理。这样,可将文件管理器FLM的处理功能做成不受记录媒体左右的模块,不必为一次写入型媒体进行特殊的记录处理,能够可靠地只进行目录和文件管理。此外,如上面就图3所述,将多个假想地址空间CV1、CV2、CV3分别分配给文件(序列),使一个假想地址空间与一个文件相对应。这样假想地址空间成为文件本身,因此不需要将文件转换为逻辑地址的操作。图32示出用序列处理块C2将假想地址空间AV转换为记录媒体上的物理地址位置AR的情况,在该方法中,没有为每个文件分配假想地址空间,与图3的情况相比,需要将文件转换为逻辑地址的操作。因此根据本发明,可以象图3那样为每个文件分配假想地址空间,因而与可写入媒体相比,存取文件的性能不会降低,能够构筑对应于一次写入型的文件系统(CDRFS)。根据以上结构,写入CD-R盘上的新物理地址LBA的更新数据块,可以通过具有地址交替处理功能的CDRFS,象存储于更新前地址内的数据块一样使用,这样,可以将一次写入型记录媒体的CD-R盘作为伪可重写的以往的记录媒体对待。此外,通过将参照关系限制为单方向、即后写入的组参照先写入的组,即使写入失败,也可以重写,并不影响其他组。此外,在将高速缓冲器内的脏块集中起来生成组的情况下,根据LRU算法按照优先级集中脏块,向集中起来的脏块分配预定物理地址,使得各序列关键字SQK按升序排列,这样,在将该脏块写入CD-R盘上时,序列排列在连续区域的概率增大,可以提高读出性能。此外,通过监视CD-R盘的可利用剩余容量,可以保证用户正在创建的数据可靠地记录到CD-R盘上。此外,在上述实施例中,关于一次写入型记录媒体是就采用CD-R盘的情况进行描述的,但本发明不局限于此,其他一次写入型的记录媒体也是可以的。此外在上述实施例中,在监视CD-R盘的可利用剩余容量时,如果该剩余容量没有空余则发出警告,但本发明不局限于此,也可以在发出该警告的定时内进行全部冲洗操作及冻结操作,将处理完毕的数据可靠地记录到CD-R盘上。此外在上述实施例中,是就用CDRFS对一个CD-R盘进行数据写入来描述的,但本发明不局限于此,例如也可以设定多个记录媒体以进行多设备化,由一个CDRFS来管理多个媒体。这样,例如管理多个媒体的转换开关或管理多个驱动器的自动电唱机(juke)等都可以用一个文件系统很容易地进行管理。本发明可应用于,对信息进行处理并记录到记录媒体上的系统中的使用一次写入型记录媒体的信息处理装置中。权利要求1.一种信息处理装置,其特征在于它包括生成多个文件信息表的文件信息表生成装置,所述文件信息表包含多个对应信息,示出指示各文件数据的关键字信息和所述关键字信息指示的文件数据在媒体上的物理位置之间的对应关系;生成索引表的索引表生成装置,所述索引表示出在所述多个文件信息表中分别包含所述各关键字信息的文件信息表;生成管理表的管理表生成装置,所述管理表示出所述多个文件信息对应表及所述索引表在所述媒体上的物理记录位置;临时性地记录所述文件信息表、所述索引表和所述管理表的存储器装置;将所述文件数据、所述文件信息表、所述索引表和所述管理表记录到所述媒体上的记录装置;控制装置,用于在将所述文件数据记录到所述媒体上时,将所述文件数据的关键字信息放入所述存储器中的任一个所述文件信息表中,对所述放入的文件信息表和所述管理表在所述存储器中更新,用所述记录装置将所述文件数据记录到所述媒体上,并将所述的放入的文件信息表和所述管理表记录到所述媒体上新的记录位置。2.如权利要求1所述的信息处理装置,其特征在于所述控制装置进行下述控制,即在将所述文件数据记录到所述媒体上时,通过所述文件信息表生成装置在所述存储器中生成新的文件信息表的情况下,将所述文件数据的关键字信息放入所述新的文件信息表中;对所述放入的文件信息表、所述管理表和所述索引表在所述存储器中进行更新;并用所述记录装置将所述文件数据记录到所述记录媒体上;将所述放入的文件信息表、所述管理表和所述索引表记录到所述媒体上新的记录位置。3.如权利要求1所述的信息处理装置,其特征在于所述控制装置将所述文件数据的关键字信息放入某一个所述的文件信息表中,使得分别放入于所述多个文件信息对应表中的所述对应关系数大致相等。4.如权利要求1所述的信息处理装置,其特征在于所述控制装置用B*树算法将所述文件数据的关键字信息放入某一个所述文件信息表中。5.如权利要求1所述的信息处理装置,其特征在于所述关键字信息是所述文件数据分别固有的序列号及块号。6.如权利要求1所述的信息处理装置,其特征在于所述媒体是一次写入型记录媒体。7.如权利要求1所述的信息处理装置,其特征在于所述控制装置,在作为所述关键字信息的序列号有多个的场合,在所述存储器内将所述序列号按升序排列,按排列的顺序依次分配所述媒体上物理位置的地址,对所述放入的文件信息表和所述管理表在所述存储器中更新。8.如权利要求1所述的信息处理装置,其特征在于所述控制装置控制所述记录装置,使得将所述文件数据记录到所述媒体上后,将所述更新的文件信息表和所述更新的管理表记录到所述媒体上新的记录位置。9.如权利要求1所述的信息处理装置,其特征在于,在所述记录装置将所述文件数据记录到所述媒体上的工作失败时,所述控制装置将记录失败的文件数据的关键字信息放入所述存储器中的某一个所述文件信息表内,对所述放入的文件信息表和所述管理表在所述存储器中更新;用所述记录装置将所述记录失败的文件数据记录到所述媒体上,将所述放入的文件信息表和所述管理表记录到所述媒体上新的记录位置。10.一种信息处理方法,其特征在于它包括以下步骤生成多个文件信息表的步骤,所述文件信息表包含多个对应信息,示出指示各文件数据的关键字信息和所述关键字信息所指示的文件数据在媒体上的物理位置之间的对应关系;生成索引表的步骤,所述索引表示出在所述多个文件信息表中的分别包含各关键字信息的文件信息表;生成管理表的步骤,所述管理表示出所述多个文件信息对应表及所述索引表在所述媒体上的物理记录位置;临时性地记录所述文件信息表、所述索引表和所述管理表的步骤;将所述文件数据、所述文件信息表、所述索引表和所述管理表记录到所述媒体上的步骤;在将所述文件数据记录到所述媒体上时,将所述文件数据的关键字信息放入所述存储器中的某一个所述文件信息表中,对所述放入的文件信息表和所述管理表在所述存储器中进行更新,用所述记录装置将所述文件数据记录到所述媒体上,并将所述放入的文件信息表和所述管理表记录到所述媒体上新的记录位置的步骤。全文摘要可将一次写入型记录媒体作为可重写型记录媒体来使用的信息处理装置及信息处理方法。通过在假想地址空间中将记录媒体上的物理记录位置和逻辑地址相对应来管理,这样实现的地址管理机构即使物理记录位置变更了也无需要变更同一块的逻辑地址。这样可将一次写入型记录媒体作为可重写型记录媒体来使用。文档编号G11B27/11GK1168182SQ9619138公开日1997年12月17日申请日期1996年10月31日优先权日1995年11月10日发明者猪口达也,宇田川治,金子康芳申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1