在一次写入型盘上伪重写数据的制作方法

文档序号:6784202阅读:99来源:国知局
专利名称:在一次写入型盘上伪重写数据的制作方法
技术领域
本发明涉及使用逻辑可重写机制的一次写入型盘的记录方法以及应用在记录装置和/或再现装置中的半导体集成电路。
背景技术
通过开发OSTA(Optical Storage Technology Association)公开的UDF(Universal Disk Format)规范的各种活动,已经发展了光盘的文件系统。
对于一次写入型盘,记录方法已经从多区段记录改进为使用VAT(虚拟分配表)的逐个文件(file-by-file)记录。
另一方面,对于可重写型盘,卷和文件结构已经从使用国际标准ECMA167中定义的非顺序记录的结构提高到使用UDF修订版2.5(下文中为UDF2.5)中规定的元数据分区(Metadata Partition)的结构。使用元数据分区的优点在于提高了检索诸如文件项目/目录等元数据的性能,并且增大了防止介质损坏健壮性。
然而,元数据分区不能用于一次写入型盘上的数据添加应用。这是因为在UDF2.5中不允许使用具有VAT的元数据分区,因为很难实现这种组合。
通常,也很难开发一种新的用于一次写入型盘的记录方法。这是由于诸如数据一旦被写入就不能被重写的物理特性,因此需要从几个方面研究以使其与计算体系结构、实现驱动装置的可能性以及由于用户设备的专用资源的限制等相一致。
考虑到上述原因而提出本发明,并且本发明包括的目的是将元数据分区的优点提供给一次写入型盘上的数据记录应用中。

发明内容
根据本发明的一种用于指示具有伪重写功能的驱动装置在一次写入型盘上写入数据的记录方法,包括(a)接收用于至少指定要写入文件的数据的写请求;(b)指示驱动装置从一次写入型盘的位置上读取用于管理文件的元数据,以便获得元数据;(c)向驱动装置查询表示下次写入数据位置的下一个可写地址,以便获得下一个可写地址;(d)更新元数据以反映由写请求所指定的数据的写入;(e)指示驱动装置将写请求所指定的数据写入到一次写入型盘中由下一个可写地址所表示的位置;以及(f)指示驱动装置将至少一部分更新的元数据写入到一次写入型盘中的以下位置,即在步骤(b)中,元数据被读取的位置。
在本发明的一个实施例中,使用相同的写指令执行步骤(e)和(f)。
在本发明的一个实施例中,在执行步骤(e)后,执行步骤(f)。
在本发明的一个实施例中,更新的元数据包括目录的文件项目,文件被记录在该目录下。
在本发明的一个实施例中,更新的元数据包括文件的文件项目。
根据本发明的另一方面,提供一种用于指示具有伪重写功能的驱动装置在一次写入型盘上写入数据的系统控制器,该系统控制器包括用于控制驱动装置的控制器,其中将该控制器配置为执行包括以下步骤的过程(a)接收用于至少指定要写入文件的数据的写请求;(b)指示驱动装置从一次写入型盘的位置上读取用于管理文件的元数据,以便获得元数据;(c)向驱动装置查询表示下次写入数据位置的下一个可写地址,以便获得下一个可写地址;(d)更新元数据以反映由写请求所指定的数据的写入;(e)指示驱动装置将写请求所指定的数据写入到一次写入型盘中由下一个可写地址所表示的位置;以及(f)指示驱动装置将至少一部分更新的元数据写入到一次写入型盘的以下位置,即在步骤(b)中,元数据被读取的位置。
在本发明的一个实施例中,该控制器包括半导体集成电路。
根据本发明的另一方面,提供了一种应用在系统控制器中的程序,该系统控制器用于指示具有伪重写功能的驱动装置在一次写入型盘上写入数据,其中将该程序配置为执行包括以下步骤的过程(a)接收用于至少指定要写入文件的数据的写请求;(b)指示驱动装置从一次写入型盘的位置上读取用于管理文件的元数据,以便获得元数据;(c)向驱动装置查询表示下次写入数据位置的下一个可写地址,以便获得下一个可写地址;(d)更新元数据以反映由写请求所指定的数据的写入;(e)指示驱动装置将写请求所指定的数据写入到一次写入型盘中由下一个可写地址所表示的位置;以及(f)指示驱动装置将至少一部分更新的元数据写入到一次写入型盘的以下位置,即在步骤(b)中,元数据被读取的位置。
依据参照附图对下面的详细说明进行阅读和理解,本领域技术人员将明白本发明的这些和其他优点。
附图简述图1是说明在记录文件时的区域结构的图;图2是说明将数据-A文件记录在具有图1所示状态的盘的根目录时的区域结构的图;图3是说明将数据-A文件记录在具有较大空闲区的盘的根目录时的区域结构的图;图4是说明记录文件的过程的流程图;图5是说明光盘信息记录/再现系统的图;图6是说明在驱动装置和系统控制器之间传递命令的图;
图7A-7D各包括一幅图,其说明在可重写型盘情况和一次写入型盘情况下,数据被重映射时的用户数据区中的块;图8A和8B各包括一幅图,其说明在数据被写入NWA时的用户数据区中的块;图9是说明重映射表的数据结构的图;图10是说明用于解释伪重写方法的区域结构的图;图11A和11B各包括一个流程图,其用于说明由光盘信息记录/再现系统写数据的过程;图12是说明作为用户视频记录器或用户视频播放器一部分的光盘信息记录/再现系统的图;图13是说明图12所解释的记录/再现系统将数据写入一次写入型光盘上的过程的流程图;图14是说明图5和图12所解释的记录/再现系统将数据从一次写入型光盘中读出的过程的流程图;图15A-15D各包括一幅图,其说明使用伪重写方法写入数据时的用户数据区中的块;图16A-16C各包括在逻辑格式化和记录一些文件后的轨道布置实例。
最佳实施方式已经研究了由驱动装置执行的对一次写入型盘的重写功能。然而,很难将其实施,这是因为驱动装置不知道将要重写多少数据以及将要在哪里重写这些数据。
例如,把将要重写的数据存储在作为一次写入型盘的其他位置,并且用于指定初始位置和替换位置的信息必须在驱动装置中进行处理。当重写数据的数量增加时,将花费更长的时间来检索其被替换的位置。因此,由于其资源少(例如CPU速度和存储器),所以这样的驱动装置不能够以足够的性能进行读取/写入。
人们认为新文件系统应该区分待重写的数据和将要新写入的数据,并且新文件系统可以与具有重写功能的驱动装置相匹配。然后,发现在不使用VAT的情况下,将用于数据添加用途的元数据分区应用到一次写入型盘上的可能性。
该思想的战略重要性包括;通过使设备处理现有的块的重写,文件系统不需要实现该逻辑。这样降低了文件系统驱动器的复杂性。
在下面的实施例中,详细地示出了基于该思想的研究。
(实施例1)通过优化文件系统中的过程,可以减少重写数据的数量。在本实施例中,根据用于一次写入型盘的具有重写功能的驱动装置的新记录方法来说明基本的读取/写入操作。
下文中,参考


本发明的实施例。
图1和2是示出区域结构的图。图4是示出用于记录文件的过程的流程图。图1示出在逻辑格式化操作后,已记录文件的状态。图2是示出在具有图1状态的盘上的根目录中已记录数据-A文件的状态。
首先,说明图1。
数据区包括诸如导入区、卷空间、导出区等区域(其中导入区和导出区由物理层管理)。物理扇区是数据区中的可寻址单元并且以升序序列给每个物理扇区分配物理扇区编号。该卷空间由逻辑扇区组成并且以升序序列给每个逻辑扇区分配逻辑扇区编号。预先使每一逻辑扇区唯一地对应于物理扇区。例如,逻辑扇区编号为0的逻辑扇区与物理扇区编号为10000的物理扇区相对应,并且卷空间的起始地址被存储在导入区中。
缺陷管理区(DMA)是一个区域,在该区域中,将表示替换操作中的待替换的块的地址与被替换的块的地址之间的对应性的信息记录为缺陷列表。
临时DMA(TDMA)是一个区域,其中,在增量写过程中,在这个区记录临时缺陷列表。当完成该盘以禁止增量写操作时,将临时缺陷列表作为缺陷列表登记在DMA中。DMA设置在盘的两个部分中,即在内部部分和外部部分。因此,缺陷列表在不同的区域中被记录两次。在DMA中,记录诸如轨道信息、空闲区的位置信息等盘信息。
空闲区是一个替换区域,在该区域中,通过与线性替换方法等价的替换操作来记录数据。在由文件系统处理的卷空间的外部分配该空闲区。在这个实例中,在该空闲区的一部分上已经记录了数据。通过使用物理地址,内在地指定了空闲区内的地址。为简化解释,通过SA’s(空闲区地址)表示空闲区内的相对地址。SA#m上及其后的扇区处于未记录的状态。
在本发明中,将通常用于缺陷管理的线性替换算法应用到由驱动装置执行的重写中。
卷空间由三个轨道组成。轨道是一个区域,在该区域中,从一次写入型盘上的轨道的开始部分顺序记录数据。驱动装置管理轨道中已记录区域的结束部分。轨道状态(关闭和开放)表示轨道的状态。“关闭”表示轨道中的所有扇区已经用于数据记录。“开放”表示还存在没有用于数据记录的扇区。换句话说,可以将数据增量地写入到开放的轨道中。
(卷结构)卷结构和文件结构遵守UDF2.5。位于具有较小逻辑扇区编号的区域处的卷结构包括定位卷描述符指针、卷识别序列、卷描述符序列以及逻辑卷完整性序列。位于具有较大逻辑扇区编号的区域处的卷结构包括定位卷描述符指针和卷描述符序列。其中记录有逻辑卷完整性描述符的逻辑卷完整性序列是卷结构的一部分。然而,在本实例中,为便于解释,在卷结构下明确地说明了逻辑卷完整性描述符。由于已经预先记录了卷结构,所以轨道#1和#3处于关闭状态。被说明为轨道#2的区域被分配作为UDF指定的分区。元数据文件也被称为元数据分区。为了区分轨道#2区域与元数据分区,将轨道#2区称为物理分区。在元数据文件中,预先记录未使用的区域。轨道#2是用于记录文件数据的区域。因此,接着已记录区域后面的区域处于未记录状态。
(文件结构)元数据位图FE(元数据位图文件的文件项目)是用于组织分配给该元数据位图的区域的文件项目。元数据位图是用于指定在元数据文件中准备好使用的可用扇区的位图。元数据位图是用于指定准备在元数据文件中使用的可用扇区的位图。不仅未记录区域,而且通过删除文件项目和目录而变成未使用区域的区域都作为可用区域登记在位图中。元数据文件FE(元数据文件的文件项目)是用于组织分配给元数据文件的区域的文件项目。在元数据文件中,记录文件项目和目录。在UDF中,也记录文件组描述符,其未在图中示出。
根目录FE(根目录文件项目)是用于组织分配给该根目录的区域的文件项目。根目录FE记录在MA#i中。根目录记录在MA#i+1中。虽然未示出,但该根目录FE和该根目录实际上是物理存储在空闲区内的扇区中。表示空闲区内的哪个扇区替换根目录FE和根目录的信息被记录在TDMA。MA(元数据文件地址)表示元数据文件内的相对地址。由于先前已经记录了文件,所以MA#k上和其后的区域是可用的。
(文件记录过程)将参照图2和4,说明将数据-A文件记录在图1的一次写入型盘上的示意性过程。
在步骤S101,将元数据位图读入存储器中并且在该存储器中对其更新以获得在元数据文件中的记录区域。
在步骤S102,将其下将要登记文件的目录读入存储器,并且在该存储器中对其进行更新。在本实例中,将根目录读出并登记数据-A文件。
在步骤S103,将目录的文件项目读入存储器,并更新目录的信息(例如,大小和更新时间等等)。
在步骤S104,从轨道#2中未记录区域的开始部分记录数据-A文件数据。
在步骤S105,为了登记已记录数据的位置信息,在存储器中产生文件的文件项目。
在步骤S106,记录在存储器中更新或产生的数据。在图2的实例中,指示驱动装置在同一位置记录元数据位图文件。由于指定的区域是已经被记录的区域,所以该驱动装置在SA#m处记录数据,该SA#m是在空闲区中未记录区域的开始部分。指示在MA#k处记录根目录。因此,记录在MA#+1处的根目录变得无效,并且在MA#i+1处的扇区变为逻辑空间中的可用扇区。即使指示将数据记录在元数据文件中的可用区域中,也不能够将该数据记录到该区域中,因为预先已经在元数据文件中的所有区域进行了记录。因此,通过替换操作将根目录的数据记录到空闲区的SA#m+1中。
该替换操作是本发明的伪重写操作。如在这里所使用的,术语“伪重写操作”指的是逻辑重写操作,其中,响应将数据写入已记录区域的指令,使用替换操作机制将数据写入到未记录的区域中。
指示将根目录的文件项目写入MA#i。在该情况中,MA#i是一个已经被记录的区域。因此,通过伪重写操作,将数据存储到空闲区中的SA#m+2。指示将数据-A文件的文件项目写入MA#k+1。通过伪重写操作将数据存储到SA#m+3。
在步骤S107,指示对逻辑卷完整性描述符进行更新以表示文件结构的完整性状态。通过伪重写操作将数据存储到SA#m+4。
如步骤S106所述,通过将多条数据记录在一起以便通过使用缓存将尽可能多的数据记录在同一ECC块(记录时序),这可以有效地利用空闲区中的未记录区域。特别地,在每次记录文件时,可以不更新元数据位图或逻辑卷完整性描述符。在已经记录多个文件后,通过记录元数据位图或逻辑卷完整性描述符,可以有效地使用空闲区中的未记录区域。
图5示出根据本发明的光盘信息记录/再现系统500。该信息记录/再现系统500包括系统控制器510、用于从光盘读取信息和向光盘写入信息的驱动装置520以及输入/输出总线530。
在系统控制器510和驱动装置520之间,通过输入/输出总线530来执行使用命令集的指令和响应以及读/写数据的传送。
系统控制器510包括控制器511和存储器512。系统控制器510可以是个人计算机。控制器511可以是例如诸如CPU(中央处理单元)等半导体集成电路并且执行在本发明实施例中所述的方法。
此外,将用于使控制器511执行实施例中所述方法的程序存储在存储器512中。在控制器511中,可以执行文件系统、实用程序或者设备驱动器。
驱动装置520包括系统LSI 521、存储器522和驱动机构523。可以将用于使系统LSI 521执行本发明实施例中所述方法的程序存储在存储器522中。该系统LSI 521可以形成在半导体芯片上并且可以包括微处理器。
驱动机构523包括用于载入光盘的机构、用于向盘写数据和从盘读数据的拾取头(pickup)524以及用于移动拾取头524的往返机构。驱动机构523由系统LSI 521控制。
如上所述,可以不用重写而记录文件的数据,使用伪重写可以记录一些元数据。通常,更新文件所需的元数据的大小小于文件的数据大小,于是可以减少将被重写的数据的大小。文件项目的大小是2048个字节,并且目录的大小取决于文件的数量和文件名的长度。例如,如果每个文件名是12个字符并且目录中记录了39个文件,那么该目录信息可以记录在2048字节的扇区内。因此,通过组合新的记录方法和具有重写功能的驱动装置,基本上可以实现一次写入型盘的读/写操作。
(实施例2)本实施例说明另一种将文件写入一次写入型盘的方法,该一次写入型光盘上的状态在实施例1中被解释为图2。
在图2中,未记录区域仅有SA#m+5和#m+6两个扇区,因此,如果将元数据位图和根目录写入空闲区,那么将不能再写入该根目录的文件项目以及该文件的文件项目。因此,即使元数据位图指示元数据文件中的可用区域,也不能记录附加的文件,因为空闲区中的未记录区域已经被用完了。
因此,下文说明了通过检测未记录区域的大小来记录文件的记录方法。
图3是说明盘上的区域结构的图,其中,在该盘上写入与图2所示相同的数据。在图3中,因为逻辑格式化操作已经提供了具有更大尺寸的空闲区,所以该空闲区具有比图2的空闲区更大的未记录区域。
图6是说明使用驱动装置和系统控制器之间的命令来进行数据传输的图。可以将特定的命令应用于由ANSI(美国国家标准局)定义的标准或INCITS(国际信息技术标准委员会)T10定义的多媒体命令集标准。
步骤S601、S603、S605和S607表示系统控制器执行的过程。步骤S602、S604、S606和S608表示驱动装置执行的过程。
在步骤S601,系统控制器请求被载入驱动装置的介质的类型,并且系统控制器确认该介质是一次写入型伪重写盘并且确认该驱动装置支持伪重写功能。
在步骤S602,驱动装置读出被载入盘的类型的信息。驱动装置还确定该盘是否支持伪重写功能。驱动装置将这些信息通知给系统控制器。
在步骤S603,通过请求一次写入型盘的轨道信息,系统控制器从驱动装置获得该信息。确切地讲,请求了轨道#2上未记录区域的大小、轨道上的下一个可写地址或者轨道上的最后记录的地址。为了写文件的数据,需要预先得到上述信息,并且检查未记录区域是否具有规定的大小或者更大。由于可以在Track#2中分配附加的元数据文件,那么例如对于全部容量为23GB的盘,规定的大小可以是128MB。如果未记录区域的大小小于规定的大小,那么该盘被用作只读盘。如果其尺寸等于或者大于规定的大小,那么过程进入下一步骤。文件项目的大小是2KB。当仅将文件项目记录在128MB的可用区域时,至多可以记录对应于65536个文件的文件项目。
在步骤S604,驱动装置从载入盘的导入区、DMA或者TDMA中读取关于轨道数量的信息、每一轨道的位置信息和开放/关闭状态或者最后记录的地址信息。将这些信息通知给系统控制器。
在步骤S605,指示驱动装置读取元数据位图区域。结果,系统控制器获得元数据位图,并且检查是否存在可用扇区。当存在可用扇区时,所述过程进入下一步骤。当不存在可用扇区时,在轨道#2的未记录区域中为元数据文件分配附加区域以保留可用扇区。在该检查中,通过使用可用扇区的规定大小,例如,该规定大小可以是128KB,系统控制器可以确定是否为元数据文件保留了附加区域。
在步骤S606,驱动装置从指定区域读取数据,并且将数据传送到系统控制器。
在步骤S607,通过向驱动装置请求空闲区的信息,系统控制器获得该信息并且检查具有规定大小或者更大的空闲区中是否存在未记录区域。
例如,当未记录区域的大小等于或大于8MB时,盘可用作可记录盘。当该大小小于8MB时,该盘用作只读盘。空闲区不仅可以用于伪重写,而且可以用于缺陷管理。因此,需要附加的未记录区域来恢复盘上的缺陷扇区。
在步骤S608,驱动装置从载入盘的导入区、DMA或TDMA中读取空闲区的数量、空闲区的大小以及每个空闲区中未记录区域的大小。将这些信息通知给系统控制器。
如上所述,通过伪重写或者缺陷管理将数据记录在空闲区中的未记录区域。本发明的一次写入型盘的驱动装置具有将空闲区域的信息以及介质的类型信息发送到系统控制器的功能,因为该驱动装置存储数据的一些位置可能不同于文件系统所期望的位置。每当记录文件时,通过请求该空闲区域的信息,系统控制器都决定是否可以记录文件,结果,使用元数据文件中的相关数据,系统控制器可以正确地记录文件。
(实施例3)在先前的实施例2中,在对一次写入型盘进行格式化时必须分配足够大小的空闲区。然而,用户不能够知道在盘上记录多少文件以及这些文件的大小,因此,在格式化的时候,难以决定空闲区的合适大小。如果使用了所有的空闲区,那么即使在该用户数据区中尚有未记录区域,在该盘上也不能记录文件。另一方面,如果分配了较大的空闲区,那么在使用了所有的用户数据区后,在该空闲区中可能还保留有未记录区。
此外,每次当记录文件时,文件系统驱动器必须检查空闲区中未记录区域的大小,因此空间管理变得难于实现。这不适合于实现计算机系统的文件系统驱动器。
因此,下文说明了一种记录方法,在该记录方法中,对数据替换的控制不仅仅在该空闲区中,还在用户数据区中。
首先说明本发明的思想通过将新数据写入到下一个可写块中并在由驱动装置所存储的重映射表中创建项目,设备处理现有数据的重写。文件系统继续使用相同的逻辑块编号,并且驱动装置基于表中的项目将请求重映射到新的位置。为了减少了该表的大小,当块被释放之后,该文件系统不重新使用它们。也就是说,文件系统必须知道其正使用一次写入型介质,进而相应地调节其行为。
设备使用正常的卷空间来存储重映射数据。也就是说,其正向与初始块所在的同一轨道的下一个可写位置写入。每当需要分配新的空间时,文件系统向设备查询下一个可写块。所以文件系统和所述设备共享同一空间来进行写入。
其次,使用图7A-7D、8A-8B和9来说明上述思想的有效性。
图7A-7D和8A-8B示出了用户数据区中的块。这里,一般使用块而不是扇区来说明该思想。文件系统将用户数据区识别为卷空间。对于每个块,分配物理块地址(下面说明为PBA)和逻辑块地址(下面说明为LBA)以便预先决定PBA和LBA之间的对应性,其中,作为一个实例,从编号100开始分配PBA并且从编号0开始分配LBA。
图9示出了由驱动装置存储的重映射表的数据结构。该表具有多个项目,每个项目指定初始地址和重映射地址。该数据结构可以是具有缺陷列表的通用数据结构,其中该缺陷列表用于可重写型盘的缺陷管理。
通常,似乎上面的思想是无效的,因为当其应用于可重写型盘时存在矛盾。
如图7A所示,可重写型盘具有空闲区,在该空闲区中,例如从编号200开始分配PBA。在可重写型盘的普通情况中,如果将数据写入LAB 2和LAB 5的块并且这些块是有缺陷的,那么使用线性替换算法将这些数据存储到空闲区中的块PBA 200和PBA 201。这意味着LBA 2和5被重分配给PBA 200和PBA 201。因此,当由于缺陷而使卷空间中的一些块变成不可用的块时,使用空闲区中的好的块进行补偿。
如果将上述思想应用于可重写型盘,如图7B所示,用于写入LBA 2和LBA 5的数据被存储到用户数据区的块中,例如,PBA 103和PBA 107。然而,这些重映射的块PBA 103和PBA 107不能用于存储向LBA 3和LBA 7请求的数据,因为这些块被替换为LBA 2和LBA 5。这种情况打破了提供无缺陷的逻辑空间的设想,在该假设中,当文件系统记录任何数据时,可重写型盘上的数据容量不应该减少。此外,在这种情况下,驱动装置不能决定用于重映射数据的位置,因为文件系统可以随机写入数据并且只有文件系统对指定用于记录的可用区域的空间位图进行处理。
如实施例1所述,线性替换算法也可应用于一次写入型盘。如图7C所示,预先为一次写入型盘分配空闲区。如果块被重写或由于缺陷而不能被写入,那么以空闲区中的块来补偿该块。例如,当将数据D1写入LBA 2时,如果该块有缺陷,那么以块PBA 200来补偿该块。当将数据D2写入LBA 5时,即使PBA 105已经被记录,也将数据存储到PBA 201中。
假设应该用属于卷空间外部的其它块来补偿待重写的块和有缺陷的块。不仅对于可重写型盘而且对于一次写入型盘该观点似乎都有矛盾。
然而,根据本发明,一次写入型盘可以不保证提供象可重写型盘那样的无缺陷逻辑空间,因为一次写入型盘上的块一旦被写入,那么则不可能改变该块中的数据。并且一次写入型盘的新文件系统将使用顺序记录来写数据。在这一点上,如图7D所示,这种思想对一次写入型盘是有效的。数据D1、D2和D3顺序地写入LBA 0、LBA 1和LBA 2,在这时,如果块PBA 102有缺陷时,那么该数据可以写入下一个块PBA 103。此外,顺序地将数据D4、D5和D6写入LBA4、LBA 5和LBA 6,然后可以将更新的数据D5′重写入LBA 5。关于该重写,将该数据存储到下一个可写位置的块PBA 107。因此,该思想不需要改变逻辑块编号的分配,因为每当需要重写时,可以将数据写入到下一个可写位置,直到用户数据区用完为止。在可重写型盘的情况下,数据不能够记录在用于重映射的块中,但是对于本发明的一次写入型盘来讲没有该问题。例如,还可以将数据记录在块LBA 7中。在这种情况下,将数据存储在PBA 108中并且将用于指定从PBA 107的初始地址到PBA 108的重映射地址的这种映射的项目添加在重映射表中。
如上所述,根据本发明,即使逻辑块地址是双重登记(doublebooking),驱动装置也可以通过给NWA分配一个新的物理块地址来记录数据。
可应用于上述观点的另一个重点是通过从文件系统向驱动装置查询下一个可写地址来节省存储在重映射表中的项目。图8A和8B示出了减少表大小的机制。在该图中,预先记录块PBA100到PBA105。如图8A所示,当数据D1写入LBA 1时,该数据被存储到下一个可写位置PBA 106中并且增加一个指定将PBA 101重映射到PBA 106的项目。在该时刻,文件系统不知道数据在哪里被重映射。如果文件系统指示将新数据D2写入先前的下一个可写位置LBA 6,那么该数据被存储到下一个块PBA 107重并且增加一个项目。在本发明中,除了重写,在记录任一数据前,该文件系统检查已更新的下一个可写地址,并且指示将数据写入已更新的下一个可写地址,即图8B中的LBA 7。因此,不需要附加的项目。除非由于相同原因需要重写外,该文件系统也不会将数据再分配到已删除的文件区域。
此外,可以简化由文件系统进行的空间管理,因为文件系统仅使用每个轨道上的NWA来分配用于记录的新区域。这意味着在该空闲区中可以不检查文件系统,并且也可以不记录空间位图,特别是元数据位图。
用于重映射区域的单元可以是由多个物理扇区组成的ECC块。当物理扇区被重映射时,ECC块中的所有物理扇区被重映射,其中物理扇区属于该ECC块。在该情况下,通过每个ECC块的起始扇区的物理地址来指定重映射表的项目中的初始地址和重映射地址。作为一个可寻址单元,物理块和逻辑块可以是物理扇区和逻辑扇区。即使一个扇区被新写入,包括该扇区的一个ECC块被写,那么将NWA移动到下一个ECC块的起始扇区。因此,当写入几个数据时,将这些数据分配以便于将这些数据写入到同一个ECC块中。
通过本发明,可以将使用元数据分区的优点提供给一次写入型盘来使用。首先,在用于写元数据的轨道内,重映射待重写的数据,然后可以定位用于检索元数据的访问并且改善了性能。通常,只要轨道有未记录区域,那么就将重写数据存储在同一轨道上。当该轨道被数据记录用光时,可以将重写数据存储在其它轨道上,因为其被赋予了将数据写入到同一轨道中其他未记录的物理块的优先权。其次,当为元数据镜像文件分配附加的轨道时,可以记录元数据镜像文件以提高其健壮性。
在此,为以下实例情况估计重写的可能性盘的容量是23GB(=23×1024^3字节),ECC块由32个扇区组成,并且扇区大小为2KB(=2×1024字节)。如果盘上记录的文件的平均大小为128KB并且目录中平均存储了10个文件,那么该盘大约可以记录188000个文件和18800个目录。当文件系统将待更新的文件项目集中到ECC块时,在重映射表中大约需要6400个项目。当项目的大小为8字节时,表的大小变成大约50KB。当驱动装置能够处理最大尺寸为256KB的重映射表时,可以随机写入188000个文件和18800个目录。因此,本发明也可应用于使用蓝光技术的下一代的一次写入型光盘。
说明一个将上述思想应用于基于UDF的新文件系统和下一代一次写入型盘的实例。
图10是说明用于解释上述重映射的区域结构的图。在本实施例中也使用实施例1中解释的区域布局。
缺陷管理区域(DMA)是在其中记录缺陷列表的区域而临时DMA(TDMA)是在其中记录临时缺陷列表的区域。可以将重映射列表记录在具有缺陷列表和临时缺陷列表的DMA和TDMA中。这里,缺陷列表和临时缺陷列表可以用于指定缺陷管理的替换信息和使用相同数据结构的重映射信息。这将有助于简化驱动装置的实现,因为对于缺陷管理和伪重写而言,项目的解释是通用的。当项目指定重映射信息时,表中的项目表示待重映射的块的地址与重映射块的地址之间的对应性。
在卷空间外分配空闲区,并且通过SA’s(空闲区地址)来表示空闲区中的地址。
卷空间包括三个轨道,在每个轨道中顺序记录数据。将轨道中未记录区域的起始地址管理为下一个可写地址(NWA)。使用新的术语“已用的”和“保留的”来说明轨道的状态以便表示这些轨道中的数据可以被重写并且数据可以在预留的轨道内被重映射。已用的轨道是指轨道中的所有扇区已用于数据记录。预留的轨道是指存在没被记录的扇区。换句话说,可以将数据增量地写入预留的轨道中。由于卷结构先前已经被记录,所以Track#1是已用过的轨道。Track#2是分配用于元数据记录的预留轨道。Track#3是分配用于用户数据记录的预留轨道。
这里说明用于更新数据-A文件以及将数据-B文件记录到一次写入型光盘的示例性过程。
首先,读取元数据文件FE以获得分配给元数据文件的区域,其中MA(元数据文件地址)表示元数据文件内的相对地址。
当文件系统更新数据-A文件时,将文件项目读入存储器中并且更新该文件项目以便登记用于指定更新数据被写入的位置的信息和存储器中的相关信息(例如大小和更新时间等等)。文件系统指示驱动装置逻辑地重写数据-A文件的数据。然后,驱动装置将数据(数据-A′)物理地存储到NWA,因为相应的物理扇区已经被记录并且驱动装置向缺陷列表添加了项目。如果文件系统在查询驱动装置后指示将数据写入NWA,那么不需要在缺陷列表中添加项目。在本发明中,推荐这种节省项目的方式,这是因为可以将数据的位置登记在文件项目中。然而,当必须对大文件的一部分进行更新时,可以重写待更新的数据而不是写文件的全部数据。在数据写入盘后,文件系统指示逻辑重写文件项目(数据-A′FE)以便指定被写入数据的位置和更新时间。然后,驱动装置将数据物理地写入MA#k+1所示的扇区中并且将项目存储在缺陷列表。
当该文件系统在根目录下新记录了数据-B文件时,将该目录读入存储器中并且更新该目录以将新文件(数据-B文件)添加到存储器中的该目录。预先在存储器中创建数据-B文件的文件项目,数据-B文件的数据被写入Track#3中的NWA,然后从Track#2中的如MA#k+2所示的NWA写入存储器中的文件项目(数据-B FE)和根目录。为了指定根目录的新位置,指示目录的更新文件项目进行重写并将数据写入如MA#k+4所示的NWA。由此,仅重写元数据中目录的文件项目以节省项目,并且写入其他元数据(文件的文件项目和目录)和文件的数据,而不用重写。
为了表示文件结构的完整性,指示更新的逻辑卷完整性描述符进行重写,并且将数据写入空闲区中的扇区SA#m。
在上述伪重写操作中,响应将数据写入已记录区域的指令,可以将待重写的数据存储在空闲区内或预留轨道的NWA。驱动装置可以决定存储数据的目的地。同样地,当由于故障而不能够将数据记录在扇区上时,故障管理可以在空闲区内或轨道的NWA中替换数据。
在可重写型盘的情况下,该文件系统重新使用可用区域。然而,在本发明中,当一旦使用可用区域时,可用区域就不会被重新使用。例如,在图10中,尽管其中写入根目录的MA#i+1处的逻辑扇区成为可用扇区,但是文件系统将不会在MA#i+1处分配任何数据。如果再将数据写入MA#i+1,那么数据将被重映射。在基于ECC块而写入数据的情况下,即使仅指示未记录的ECC块的一个扇区被写入并且在ECC块的其他扇区记录了无效数据,一个ECC块也会被写。出于同样的理由,文件系统也将不再使用记录有无效数据的区域。
下文说明本发明的写入过程。图5所述的光盘信息记录/再现系统执行该写入过程。
图15A-15D每个包括一幅图,该图说明当使用伪重写方法写入数据时用户数据区中的块。用户数据区、PBA和LBA的定义与图7所说明的相同。
在图15A和15B中,描述了更新文件的步骤。如图15A所示,在更新文件前,记录块PBA 100、PBA 101和PBA 102。将待更新文件的文件项目(D3)存储在块LBA 2。如图15B所示,文件系统1)预先指示从LBA 2中读取文件项目,2)向驱动装置查询NWA,
3)指示将文件的更新数据(D4)写入NWA(LBA 3),以便在不重写的情况下而写入数据,并且创建文件项目(D3′)以便将所读取的文件项目中的位置信息被改变以指定写入更新数据的区域,接着4)指示将更新文件项目(D3′)写入LBA 2,以便重写文件项目。
在图15C和15D中,说明了在目录下记录文件的过程。如图15C所示,块PBA 100、PBA 101、PBA 102、PBA 108和PBA 109被记录,并且预留两个轨道。将目录的文件项目(D1)和目录(D2)存储在块LBA 0和LBA 1。如图15D所示,文件系统1)指示从LBA 0读取目录的文件项目和目录,2)指示从LBA 1读取目录,3)向驱动装置查询每个轨道的NWA以便决定在不重写的情况下写入数据的位置,3-1)创建文件的文件项目(D6),其具有分配给文件数据的区域的位置信息,3-2)创建目录(D7)以便在读取的目录(D2)中登记新文件,以及3-3)创建目录的文件项目(D1′)以便于改变所读取的文件项目(D1)中的位置信息以指定分配有更新目录的区域,4)指示将文件的数据(D5)写入(LBA 10)Track#2中的NWA,5)指示从(LBA 3)Track#1中的NWA写入文件的文件项目(D6),6)指示将目录(D7)写入下一个地址以便连续写入数据,以及7)指示将更新文件项目(D1′)写入LBA 0以便重写文件项目。
因此,在写入任何数据前,文件系统查询NWA。这是因为当驱动装置使用重映射在其自身上写数据时,NWA可能会改变。接下来,文件系统提供一个从NWA写数据的指令以便在不被重写的情况下写数据。然后,文件系统指示使用重写来写入更新数据。对于节省重映射表中的项目而言,这种写数据的顺序是重要的。
在图15B的情况下,如果写过程不是按照这种顺序,即在写入数据D4前重写数据D3′,那么数据D3′将被写入PBA 103并且NWA被改变。这意味着将使用重写将数据D4写入LBA 3,但该数据将被重映射到PBA 104。在图15D的情况下,如果写过程不是按照这个顺序,那么也将附加的项目添加到重映射表中。
在可重写型盘的情况下,没有这样的要求。当写过程意外终止时,考虑其恢复,对于可重写型盘,通常使用不同的顺序以提高可靠性。另一方面,在一次写入型盘的情况下,这种恢复是不重要的;相反节省重映射表中的项目是重要的,因为通过一次写入特点可以保持先前的状态。
图11A和11B各包括一幅流程图,其说明在一次写入型光盘上写入数据的过程。通过图5所述的光盘信息记录/再现系统来执行该写过程。
当更新文件时,文件系统将指示写入文件的数据,以便写数据而不重写,并且文件系统通过更新写入的文件项目来创建文件项目并且指示写入该文件项目以便重写该文件项目。
当在目录下记录新文件时,文件系统创建该文件的文件项目并且通过对存储器中写入的目录及其文件项目进行更新来创建目录和目录的文件项目,以及指示写入该文件、文件项目和目录的数据,以便在不重写的情况下写入这些数据。然后,文件系统将指示写入该目录的文件项目以便重写该文件项目。
图11A示出了在一次写入型光盘上写入数据的过程中所包括的步骤。使用程序来实现该过程并且该程序由包含在系统控制器510中的控制器511执行。系统控制器510指示驱动装置520在一次写入型光盘上写数据。控制器511可以包括半导体集成电路。可以以各种方式提供该程序。例如以其上记录有该程序的计算机可读介质的形式来提供该程序。或者,可以经由互联网从服务器下载该程序的方式来提供该程序。一旦将程序安装在计算机上,该计算机就将行使系统控制器510的功能。
图11B示出了驱动装置520执行的过程。
在步骤S1101,系统控制器510从用户接收写请求,该写请求至少指定待写入文件的数据。例如,该请求是将数据-A文件替换为新的数据或者将从其他介质的数据-B文件复制到该盘根目录下。将待写的数据传送到系统控制器510内的存储器512并且通过目录树结构中的路径名来表示记录数据的目的地。
在步骤S1102,控制器511指示驱动装置520读取用于管理用户请求的目录或文件的元数据。从元数据文件读取诸如文件项目和目录等元数据。
在步骤S1103,在控制器511指示驱动装置520写数据前,控制器511向驱动装置520查询下一个可写地址NWA,该下一个可写地址NWA表示接下来将写入数据的位置,因为存在驱动装置520将移动NWA的可能性。驱动装置520将查询的NWA发送到系统控制器510并且系统控制器510将该NWA发送到控制器511。
在步骤S1104,响应于用户写请求,控制器511创建或者更新至少一部分元数据,以便通过区分将被写的数据的类型来使将被重写的数据量最小化。如在解释图10中所述,在更新文件的情况下,文件系统创建文件项目来指定将写入数据的位置。该文件项目是将被重写的数据。在将新文件记录在目录下的情况下,文件系统创建该新文件的文件项目并且更新该目录来登记该新文件和该目录的文件项目。该目录的文件项目是将被重写的数据而其它元数据是在不进行重写的情况下而能够写入的数据。作为更新的元数据的实例,更新的元数据可以包括其下记录有文件的目录的文件项目或者文件的文件项目。
在步骤S1105,控制器511指示驱动装置520在NWA所表示的位置上写数据,该数据不需要被重写。
在步骤S1106,控制器511指示驱动装置520在读取元数据的位置处写入至少一部分更新的元数据,以便在逻辑扇区上重写数据。在步骤S1105和S1106中,可以使用相同的写指令来指示写数据,这是因为在步骤S1111中,驱动装置520通过检查逻辑扇区的状态可以确定是使用重写或不使用重写来写入数据。在步骤S1105和S1106中,数据被写入到以不同方式表示的不同地址,例如,步骤S1105写入由用户写请求指定的数据(步骤S1101),而步骤S1106写入已经被读取的元数据(步骤S1102)。为了避免可能的错误,在步骤S1105之后执行步骤S1106。
在步骤S1111,驱动装置520从控制器511接收至少指定其中将写入数据的逻辑扇区的写指令并且确定预先与逻辑扇区对应的物理扇区是否被记录。在该检查中,驱动装置520使用逻辑扇区编号来判断物理扇区的状态,该逻辑扇区编号被指示由控制器511写入。当逻辑扇区编号小于NWA时,物理扇区被记录,否则不记录。如果物理扇区没有被记录,那么进入S1112,否则(如果记录)进入S1113。
在步骤S1112,驱动装置520将数据写入预先与逻辑扇区相对应的物理扇区中。
在步骤S1113,驱动装置520将数据写入其它未记录的物理扇区。当基于ECC块对数据进行重映射时,其它未记录的物理扇区是属于下一个可写块的ECC块中的多个扇区中的一个。例如,假如ECC块由32个扇区组成,那么指示ECC块中的第二个扇区进行重写,数据被物理写入到下一个可写ECC块中的第二个扇区。因此为重映射的ECC块保持ECC块内的相对地址。
在步骤S1114,驱动装置520创建项目来作为重映射信息并将该重映射信息存储到缺陷列表/重映射表,其中该重映射信息用于指定预先与逻辑扇区相对应的物理扇区相关联的初始地址以及与其中写入数据的物理扇区相关联的重映射地址。假如ECC块由32个扇区组成,初始地址是初始物理扇区所归属的ECC块的起始地址,而重映射地址是重映射物理扇区所归属的ECC块的起始地址。
当将该发明应用到诸如用户视频记录器或用户视频播放器等记录/再现系统时,通过图12所示的普通微处理器可以控制文件系统和驱动装置。在这种情况下,文件系统可以不向驱动装置查询NWA,因为记录/再现系统知道NWA。首先,当将盘载入驱动单元时,检查每一轨道的NWA,然后在写入一些数据后,该系统可以管理NWA。
图12示出了作为用户视频记录器或用户视频播放器一部分的光盘信息记录/再现系统1200。该信息记录/再现系统1200包括控制器1211、存储器1212以及用于从光盘读取信息和向光盘写入信息的驱动机构523。例如,控制器1211可以是诸如CPU(中央处理单元等半导体集成电路并且执行本发明实施例中所说明的方法。此外,用于使控制器1211执行实施例所述方法的程序被存储在存储器1212中。在控制器1211中,可以执行文件系统、应用程序、或设备驱动器。通过该控制器1211可以控制该驱动机构523。
图13是用于说明由图12所述记录/再现系统在一次写入型光盘上写入数据的过程的流程图。
在步骤S1301,控制器1211接收到用户的请求。例如,该请求是将数据-A文件替换为新数据或者将其他介质的数据-B文件复制到该盘的根目录。将待写入的数据传送到存储器1212并通过目录树结构的路径名来表示记录数据的目的地。
在步骤S1302,文件系统读取数据来检索用户请求的目录或文件。从元数据文件读取诸如文件项目和目录等元数据。
在步骤S1303,文件系统在写数据前获得NWA。
在步骤S1304,响应用户请求,文件系统创建一些元数据,以便通过区分待写入的数据类型来使待重写的数据量最小化。如解释图10中所述,在更新文件的情况下,文件系统创建文件项目以指定将写入数据的位置。该文件项目是将被重写的数据。在将新文件记录在目录下的情况下,文件系统创建该新文件的文件项目并且更新该目录来登记该新文件和该目录的文件项目。该目录的文件项目是将被重写的数据,而其他数据是能够不用重写而写入的数据。数据类型被区分为类型I不需要被重写和类型II需要被重写。
在步骤S1305,文件系统指示将类型I的数据从NWA写入逻辑扇区。然后,进入写类型I数据的操作的步骤S1311。
在步骤S1306,文件系统指示将类型II数据写入逻辑扇区。然后,进入步骤S1321以执行在逻辑扇区中重写数据的操作。对于类型I和II,用于指示写数据的写指令可以不同。
在步骤S1311,将数据写入预先与逻辑扇区相对应的物理扇区中。
在步骤S1321,在逻辑扇区中逻辑地重写数据并且将数据物理地写入到其他未记录的物理扇区,特别是NWA。
在步骤S1322,创建作为重映射信息的项目并且将该项目存储到缺陷列表,其中,该重映射信息用于指定预先与逻辑扇区相对应的物理扇区的初始地址以及其中写入数据的物理扇区的重映射地址。
下文说明了从一次写入型盘进行的再现过程,其中,使用图11A、图11B和图13所述方法在该一次写入型光上写入数据。图14是一幅流程图,其说明通过图5和12所述的记录/再现系统从一次写入型光盘读取数据的过程。其中,该记录/再现系统接收用于指定至少一个将从其读取数据的逻辑扇区的读指令。
在步骤S1401,查找存储在重映射表中所有项目的初始地址。当指示将被读取的逻辑扇区编号时,使用预先与该逻辑扇区相对应的物理扇区编号来查找表示物理扇区被重映射的项目。当基于ECC块进行重映射时,在该项目中登记ECC块的起始地址。在这种情况下,检查该物理扇区编号是否属于重映射ECC块。假如是图5所述的信息记录/再现系统,那么通过驱动装置可以执行该操作。
在步骤S1402,如果发现该项目,那么进入步骤S1403,否则进入步骤S1404。
在步骤S1403,使用物理扇区的重映射地址来替换物理扇区的初始地址,这是由找到的项目表示的。如果在步骤S1402没有发现该项目,那么把将要读取的地址确定为与由读指令所指定的逻辑扇区相对应的物理扇区的地址。如果在S1402发现该项目,那么把将要读取的地址确定为与重映射表中发现的初始地址相对应的重映射地址。
在步骤S1404,在已确定的地址上读取数据。
如上所述,当找不到该地址,那么从预先对应于逻辑扇区的物理扇区读取数据,因为重映射表显示存储在逻辑扇区的数据没有被重映射到其它物理扇区。
当找到地址时,从由找到的重映射信息中的重映射地址指定的物理扇区读取数据,这是因为在重映射表中找到的该项目显示逻辑扇区中所存储的数据被重映射了。
如果在卷空间内重映射数据,特别是重映射到轨道的NWA而不是被映射到空闲区中,那么能够更快地读出数据。
如上述实施例所述,可以将本发明应用到基于以下假设的驱动装置中文件系统使待重写的数据量最小化,并且,当在不进行重写的情况下写入数据时,文件系统通过查询驱动装置以指示将数据写入未记录的扇区。
(实施例4)在该实施例中,作为实例,说明实现UDF文件系统的的方针和要求。
(使用伪重写方法的好处)
为了减少由于物理特性的复杂性,引入具有重写特征的新的顺序记录介质作为伪重写介质。将伪重写方法应用于该伪重写介质。下面阐述引入该新的顺序记录介质的一些好处1)与可重写介质相似,提供可重写卷空间和无缺陷空间。换句话讲,通过支持可重写机制和缺陷管理的驱动单元来确保由一次写入型介质引起的兼容性。
2)由于支持伪重写介质的只读驱动单元访问未记录区域,所以区段关闭和边界关闭不是必要的。
3)可以使用元数据分区及其镜像。
(伪可重写介质的特性)下面从文件系统驱动器的要求的观点来说明伪可重写介质的物理特性。
伪可重写介质支持多轨道记录并支持卷空间中逻辑扇区的可重写功能。可以使用一个以上的轨道进行记录。可以将一个新轨道分配作为预留的轨道。在轨道内,使用顺序记录模式以简化空间管理。可记录区域的指针是下一个可写地址(NWA),其通过对驱动装置的查询而获得。
当打算将数据记录在已记录的逻辑扇区时,可以通过线性替换算法将该数据记录在空闲区,或者将该数据记录在卷空间内的NWA。作为将数据重映射到卷空间内的NWA的好处,即使全部空闲区被记录,也可以使用所有的可用介质容量。还支持读修改写操作,因此,可以分别对每个逻辑扇区进行重写。
将从初始地址替换或者重映射数据的地址信息存储作为卷空间的缺陷列表项目并通过驱动装置管理。
(文件系统的写策略)通常,通过考虑将被记录的数据类型来分配轨道;例如元数据或诸如音频/视频数据、静止图片数据、音乐数据等具体数据。在多轨道记录时,当用光预留的轨道时,适应已记录的数据量来分配新的轨道。将用于元数据记录的轨道明确地表示为元数据文件或元数据镜像文件的盘区(extent)。
如果伪重写介质具有以下限制在卷空间的末端处分配轨道后不能够分配新的轨道,则在其中在LSN 256处仅记录一个AVDP的中间状态中使用多轨道记录。根据ECMA 167的要求,AVDP应该被记录在三个位置(即,LSN256,LSN-256和Last LSN)中的至少两个位置。在本例中,分配轨道以在Last LSN-256或Last LSN处记录AVDP。
也可以使用元数据镜像文件。当存储盘用于归档时,推荐创建元数据镜像文件。如果在线应用,那么实施方式是进行记录以便于使记录在元数据文件和元数据镜像文件中的内容在每个文件中具有相同的偏置,虽然由于每个轨道的记录条件使每个轨道中NWA的偏置有时候可能不同。
图16A示出逻辑格式化后的轨道布置的实例。包括LSN 256处的AVDP和相关文件结构的第一卷结构被记录。然后,为元数据记录分配轨道,并且在该轨道中记录元数据。卷空间中的剩余区域用于文件数据记录。
图16B示出在记录一些文件后的轨道布置的实例。在第一轨道用完后,分配新的轨道。因此,可以接连地分配附加轨道。
图16C示出记录一些文件后的轨道布置的另一实例。当用于元数据记录的轨道用完时,可以在数据轨道内分配用于元数据文件的附加区域作为一个盘区,而不是轨道。
(文件系统的要求)下面列出伪重写方法的要求1)通过向驱动单元查询来实现对伪可重写介质的识别。
2)不记录未分配的空间位图和未分配的空间表。
3)不记录元数据位图文件。
4)在写附加数据前,实施方式应该查询每个轨道中的NWA。如果写指令被发布到已记录的区域,那么使用缺陷列表项目。因此,对于减少不必要的缺陷列表项目来说,该要求是重要的,因为缺陷列表的大小是有限的。
5)由于相同原因,不应当再使用已被删除的块来查询NWA。
6)应该使将被重写的元数据最小化。推荐仅重写目录文件项目。
工业实用性本发明有助于提供一种利用逻辑可重写机制的一次写入型盘的记录方法,以及用于记录装置或再现装置中的半导体集成电路。
权利要求
1.一种用于指示具有伪重写功能的驱动装置在一次写入型盘上写入数据的记录方法,该记录方法包括以下步骤(a)接收用于至少指定待写入文件的数据的写请求;(b)指示该驱动装置从该一次写入型盘上的位置读取用于管理该文件的元数据,以便获得该元数据;(c)向该驱动装置查询表示下次要写入数据的位置的下一个可写地址,以便获得该下一个可写地址;(d)更新该元数据以反映由该写请求所指定的数据的写入;(e)指示该驱动装置将该写请求所指定的数据写入到该一次写入型盘中由该下一个可写地址所表示的位置;以及(f)指示该驱动装置将至少一部分所述更新的元数据写入到该一次写入型盘的以下位置,即在步骤(b)中,从其中读取该元数据的位置。
2.根据权利要求1所述的记录方法,其中使用相同的写指令执行步骤(e)和(f)。
3.根据权利要求1所述的记录方法,其中在执行步骤(e)之后执行步骤(f)。
4.根据权利要求1所述的记录方法,其中所述更新的元数据包括目录的文件项目,该目录下记录有该文件。
5.根据权利要求1所述的记录方法,其中所述更新的元数据包括该文件的文件项目。
6.一种用于指示具有伪重写功能的驱动装置在一次写入型盘上写入数据的系统控制器,该系统控制器包括用于控制该驱动装置的控制器,其中该控制器被配置为执行包括以下步骤的过程(a)接收用于至少指定待写入文件的数据的写请求;(b)指示该驱动装置从该一次写入型盘上的位置读取用于管理该文件的元数据,以便获得该元数据;(c)向该驱动装置查询表示下次将写入数据的位置的下一个可写地址,以便获得该下一个可写地址;(d)更新该元数据以反映由该写请求所指定的数据的写入;(e)指示该驱动装置将该写请求所指定的数据写入到该一次写入型盘中由该下一个可写地址所表示的位置;以及(f)指示该驱动装置将至少一部分所述更新的元数据写入到该一次写入型盘的以下位置,即在步骤(b)中,从其中读取该元数据的位置。
7.根据权利要求6所述的系统控制器,其中该控制器包括半导体集成电路。
8.一种在用于指示具有伪重写功能的驱动装置在一次写入型盘上写入数据的系统控制器中使用的程序,其中将该程序配置为执行包括以下步骤的过程(a)接收用于至少指定待写入文件的数据的写请求;(b)指示该驱动装置从该一次写入型盘上的位置读取用于管理该文件的元数据,以便获得该元数据;(c)向该驱动装置查询表示下次将写入数据的位置的下一个可写地址,以便获得该下一个可写地址;(d)更新该元数据以反映由该写请求所指定的数据的写入;(e)指示该驱动装置将该写请求所指定的数据写入到该一次写入型盘中由该下一个可写地址所表示的位置;以及(f)指示该驱动装置将至少一部分所述更新的元数据写入到该一次写入型盘的以下位置,即在步骤(b)中,从其中读取该元数据的位置。
全文摘要
通过伪重写方法提供一种文件系统,对于一次写入型盘,该文件系统能够使用元数据分区而不是VAT。在将本发明应用于支持伪重写介质的驱动装置上时,文件系统区分被重写的数据和被添加的数据。当将数据新近写入逻辑扇区时(S1305),驱动装置将该数据写入与该逻辑扇区相对应的物理扇区中(S1311)。当该逻辑扇区被重写时,将数据写入卷空间的另一未记录的物理扇区中(S1321),并且指定初始地址的重映射信息,以及该重映射地址被存储在重映射表中(S1322)。
文档编号G11B20/12GK1957413SQ200580014100
公开日2007年5月2日 申请日期2005年5月9日 优先权日2004年5月10日
发明者拉吉夫·Y·纳加尔, 加勒特·J·布班, 后藤芳稔, 萨罗什·C·哈维瓦拉, 拉温德·S·森德, 韦莎尔·V·高特格 申请人:松下电器产业株式会社, 微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1