CN1957414B - 一次写入盘的数据记录/再现 - Google Patents

一次写入盘的数据记录/再现 Download PDF

Info

Publication number
CN1957414B
CN1957414B CN2005800145512A CN200580014551A CN1957414B CN 1957414 B CN1957414 B CN 1957414B CN 2005800145512 A CN2005800145512 A CN 2005800145512A CN 200580014551 A CN200580014551 A CN 200580014551A CN 1957414 B CN1957414 B CN 1957414B
Authority
CN
China
Prior art keywords
write
rail
data
file
metadata
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.)
Expired - Fee Related
Application number
CN2005800145512A
Other languages
English (en)
Other versions
CN1957414A (zh
Inventor
加勒特·J·布班
后藤芳稔
拉吉夫·Y·纳加尔
萨罗什·C·哈维瓦拉
韦莎尔·V·高特格
拉温德·S·森德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Microsoft Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd, Microsoft Corp filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1957414A publication Critical patent/CN1957414A/zh
Application granted granted Critical
Publication of CN1957414B publication Critical patent/CN1957414B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/036Insert-editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10898Overwriting or replacing recorded data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10898Overwriting or replacing recorded data
    • G11B2020/10907Overwriting or replacing recorded data using pseudo-overwriting, i.e. virtually or logically overwriting data on WORM media by remapping recorded blocks to alternate areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1288Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B2020/1873Temporary defect structures for write-once discs, e.g. TDDS, TDMA or TDFL
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • G11B2020/1893Methods for assignment of alternate areas for defective areas using linear replacement to relocate data from a defective block to a non-contiguous spare area, e.g. with a secondary defect list [SDL]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/218Write-once discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种文件系统,对于一次写入盘可以使用元数据分区而不是VAT,并通过伪重写方法尤其是对于元数据和文件数据提供有多条轨。在将本发明用于支持伪重写介质的驱动装置上,该文件系统从附加的数据区分重写的数据(S1701)。在数据新写入逻辑扇区的时候,所述驱动装置将数据写入逻辑扇区对应的物理扇区(S1703)。在所重写的数据是存储在逻辑扇区中的数据的时候,将数据写入卷空间中其他的未记录物理扇区(S1704),且写入重映射信息(S1705)。重映射信息指定物理扇区的原始地址,以及其中写入数据的物理扇区的重映射地址。

Description

一次写入盘的数据记录/再现
发明领域
本发明涉及使用逻辑可重写(overwritable)机制对于一次写入盘的记录方法和装置,以及再现方法和装置,以及用在记录装置和/或再现装置中使用的半导体集成电路。
技术背景
通过对从OSTA(Optical Storage Technology Association)公开的UDF(Universal Disk)规格进行开发的各种活动,对光盘的文件系统作出了改进。
对于一次写入盘,记录方法从多段记录改进成了使用VAT(虚拟分配表)的逐文件记录。
另外,对于可再写(rewritable)盘,卷(volume)和文件结构已经从使用EMCA 167中定义的非顺序记录的结构改进到UDF修改2.5(此后称作UDF 2.5)中指定的使用元数据分区的结构,其中所述EMCA167定义的结构是国际标准。使用元数据分区的优点在于包括对于检索元数据的性能改进,诸如文件条目/目录,以及对于介质损坏的健壮性增加。
然而,元数据分区不能用于在一次性写入盘上的数据附加使用。这是因为由于实施此结合较困难,所以在UDF2.5中不允许使用具有VAT的元数据分区。
通常的,也很难开发用于一次写入盘的新的记录方法。这是由于一次写入盘的物理特性不允许一旦所写入的数据被重写。由于新的记录方法需要与计算机结构兼容,并需要在驱动器装置中实现,并还考虑到了消费装置的可用资源,新记录方法的研究从几个方面开展。
考虑到上述方面而作出本发明,其包括对于在一次写入盘上的数据记录使用来提供元数据分区的好处。
发明内容
指示具有伪重写功能的驱动装置在一次写入盘上写入数据的记录方法,其中该一次写入盘包括卷空间,所述卷空间包括根据本发明的多条轨,所述伪重写功能允许所述驱动装置通过替换操作对将数据写入到已经记录区域的指令做出响应而将数据写入到未记录区域,该方法包括下面的步骤:(a)接收至少指定要写入文件的数据的写入请求;(b)指示驱动装置从一次写入盘的位置读取包含用于管理文件的元数据的元数据文件的文件条目,从而获得元数据文件的文件条目;(c)获得表示多条轨中每个的位置的轨信息;(d)基于元数据文件的文件条目和轨信息,从随后将写入元数据的多条轨确定轨;(e)指示驱动器装置从一次写入盘的位置读入元数据,从而获得元数据;(f)在除了步骤(d)确定的轨之外的轨中,获得表示随后将写入数据的位置的下一个可写入地址,该轨从所述多条轨中选出;(g)更新该元数据以反映所述写入请求指定的数据写入;(h)指示所述驱动装置将所述写入请求指定的数据写入所述一次写入盘中由所述下一可写入地址表示的位置;以及(i)指示所述驱动装置至少将部分所述更新的元数据写入所述一次写入盘中在步骤(e)中读取元数据的位置,其特征在于,所述方法还包括下面的步骤:确定步骤(d)确定的所述轨内的下一个可写入地址是否有效;并且在确定了步骤(d)中确定的轨中所述下一个可写入地址无效的时候,指示所述驱动装置分配其中随后将写入元数据的第一轨,以及其中随后将写入数据的第二轨,并更新步骤(f)中获得的所述下一个可写入地址为所述第二轨中的下一个可写入地址。
在本发明的一个实施例中,第一轨和第二轨在步骤(f)所选出的轨中进行分配。
在本发明的一个实施例中,所述方法还包括下面的步骤:指示所述驱动装置将所述更新元数据的至少一部分写入到所述第一轨中下一个可写入地址表示的位置;确定是不是分配了所述第一轨,以及至少一部分所述更新的元数据被写入所述第一轨中;并且在确定分配了所述第一轨以及至少一部分所述更新的元数据被写入所述第一轨的时候,更新所述元数据文件的文件条目,以反映至少一部分所述更新元数据的写入,并指示驱动装置将所述元数据文件更新的文件条目写入到所述一次写入盘中步骤(b)读取所述元数据文件的文件条目的位置。
在本发明的一个实施例中,所述方法使用计算机程序执行。
根据本发明的另一方面,提供一种系统控制器,用来指示具有伪重写功能的驱动装置在一次写入盘上写入数据,其中所述一次写入盘包括卷空间,并且所述卷空间包括多条轨,所述伪重写功能允许所述驱动装置通过替换操作对将数据写入到已经记录区域的指令做出响应而将数据写入到未记录区域,所述系统控制器包括控制所述驱动装置的控制器,其中所述控制器被配置为执行包括根据上述方法所述的步骤的处理。
在本发明的一个实施例中,所述控制器包括半导体集成电路。
根据本发明的另一方面的在一次写入盘上写入数据的记录方法,所述一次写入盘具有多个物理扇区,所述一次写入盘包括具有多个逻辑扇区的卷空间,多个逻辑扇区的每个对应于多个物理扇区中的一个,所述一次写入盘具有多条轨,所述多条轨的每条包括所述多个物理扇区中至少一个物理扇区,该方法包括下面的步骤:(a)接收至少指定将写入的数据逻辑扇区的写入指令;(b)获得表示所述多条轨中每条的位置的轨信息;(c)基于所述写入指令指定的所述逻辑扇区和在步骤(b)中获得的所述轨信息,从其中下面将写入元数据的多条轨中确定轨;(d)确定所述写入指令指定的所述逻辑扇区是对应于记录的物理扇区还是对应于未记录的物理扇区;(e)在确定了写入指令指定的所述逻辑扇区对应于未记录的物理扇区的时候,将所述数据写入所述未记录的物理扇区;以及(f)在确定了写入指令指定的所述逻辑扇区对应于记录的物理扇区的时候,将所述数据写入步骤(c)中确定的轨中下一个可写入地址所示的物理扇区,产生重映射表,该表包括重映射信息,该信息重映射记录的物理扇区的原始地址到所述下一个可写入地址表示的物理扇区的重映射地址,并将所述重映射表写入一次写入盘中,其中所述方法还包括下面的步骤:接收分配指令;响应于所述分配指令分配至少一条轨,其中所述分配至少一条轨的步骤包括在步骤(c)中确定的所述轨中分配第一轨和第二轨的步骤。
根据本发明的另一方面,一种用于将数据写入一次写入盘上的驱动装置,所述一次写入盘具有多个物理扇区,所述一次写入盘包括具有多个逻辑扇区的卷空间,所述多个逻辑扇区的每个对应于所述多个物理扇区中的一个,所述一次写入盘具有多条轨,所述多条轨中的每条包括所述多个物理扇区中至少一个物理扇区,所述驱动装置具有用于对所述一次写入盘执行记录操作的驱动机构;以及控制所述驱动机构的驱动控制部分,其中所述控制部分可以执行包括根据上述方法所述的步骤的处理。
根据本发明的另一方面,提供了在将数据写入一次写入盘上的驱动装置中使用的一种半导体集成电路,所述一次写入盘具有多个物理扇区,所述一次写入盘包括具有多个逻辑扇区的卷空间,所述多个逻辑扇区的每个对应于所述多个物理扇区中的一个,所述一次写入盘具有多条轨,所述多条轨中的每条包括所述多个物理扇区中至少一个物理扇区,其中:所述半导体集成电路被配置为控制驱动机构来对所述一次写入盘执行记录操作,其特征在于,所述半导体集成电路用于执行包括根据上述方法所述的步骤的处理。
通过对下面参照附图的详细描述的阅读和理解,本发明的这些和其他优点将变得对于本领域技术人员显而易见。
附图简述
图1是示出记录文件时区域结构的图;
图2是示出数据A文件记录在具有图1所示状态的盘的根目录中的时候区域结构的图;
图3是示出数据A文件记录在具有更大剩余区域的盘的根目录中的时候区域结构的图;
图4是示出记录文件的过程的流程图;
图5是示出光盘信息记录/再现系统的图;
图6是示出驱动装置和系统控制器间命令传送的图;
图7A-7D中的每个包括示出对可重写盘的情况和一次写入盘情况将数据重映射的时候,用户数据区域中的块的图,
图8A和8B中的每个包括示出在数据写入NWA的时候用户数据区域中块的图;
图9是示出重映射表的数据结构的图;
图10A-10E中的每个包括示出说明多轨记录的策略的区域结构的图;
图11是示出说明伪重写方法的区域结构的图;
图12是示出具有在元数据镜像文件(Metadata Mirror file)中写入元数据的轨的区域结构的图;
图13是在分配了用于写入元数据的新轨后区域结构的图;
图14是示出将元数据写入用于元数据写入的新轨后,区域结构的图;
图15A-15D中的每个包括示出使用伪重写方法写入数据的时候,用户数据区域中的块的图;
图16是示出在光盘信息记录/再现系统的控制器中由文件系统执行的写入数据的过程的流程图;
图17A-17B中的每个包括示出通过光盘信息记录/再现系统的驱动装置进行的数据写入过程的流程图;
图18是示出作为消费者视频播放器或部分消费者视频记录器的光盘信息记录/再现系统的图;
图19是示出图18说明的记录/再现系统在一次写入光盘上写入数据的过程的流程图;
图20是示出图5和图18说明的记录/再现系统从一次写入光盘读取数据的过程的流程图;
图21A-21C中的每个包括在逻辑格式化之后并在记录了一些文件之后轨布局的例子。
发明详述
已经研究了通过驱动装置执行的对一次写入盘的可重写功能。然而,很难将其投入实际应用,因为驱动装置不知道将重写多少数据以及数据将重写在何处。
例如,将要重写的数据存储在作为一次写入盘的其他位置,且指定原始位置和替换位置的信息将在驱动装置中处理。在重写数据量增加的时候,就需要更长时间来搜索在哪里将其替换。因此,由于其较少的资源(例如,CPU速度和存储器),这种驱动装置不能以足够的性能进行读取/写入。
认为新的文件系统应该区分将要被重写的数据以及最新将要写入的数据,且该新文件系统可以匹配于具有可重写功能的驱动装置。因而,发现可以将元数据分区应用于在一次写入盘上的数据附加使用,而不用VAT。
这种想法的策略重要性包括:通过使得设备处理现存块的重写,文件系统不需要实现该逻辑。这就减少了文件系统驱动器的复杂性。
同时,一次写入介质是将数据写入可拆卸介质中的一种最便宜且最快速的方式。然而,其本质上要求驱动器将数据写入到盘上的一个位置。随着写入数据此位置向前移动。通常地,这可以导致数据实质上的破碎。即,特定类型或文件的数据散落在盘上的很多区域。
下面描述的想法是通过使用盘上的多个写入点来帮助减轻部分上述碎片的一种方法。即,元数据和文件将存储在盘上多个分开的位置。通过提供在盘上不同位置进行写入的机制,可以去除对于其有用性的部分限制。
在下面的实施例中,详细示出基于此想法的研究。
(实施例1)
通过优化此文件系统中的过程,可以减少重写数据的量。在此实施例中,依照具有对一次写入盘的可重写功能的驱动装置的新记录方法,说明基本的读取/写入操作。
此后,将参照附图描述本发明的实施例。
图1和图2是示出区域结构的图。图4是示出记录文件的过程的流程图。图1示出逻辑格式化操作之后的状态。图2示出数据A文件已经记录在具有图1所示状态的盘的根目录中的状态。
首先,将描述图1。
数据区域包括诸如导入区域(lead-in area)、卷空间(volume space)和导出区域(lead-out area)的区域(其中所述导入区域和导出区域是通过物理层管理的)。物理扇区是数据区域中的可寻址单元,且该物理扇区号码以升序分配给每个物理扇区。卷空间包括逻辑扇区,且逻辑扇区号码以升序分配给每个逻辑扇区。每个逻辑扇区预先独一地对应于物理扇区。例如,具有逻辑扇区号码0的逻辑扇区对应于具有物理扇区号码10000的物理扇区,且卷空间的开始地址存储在导入区域中。
缺陷管理区域(DMA)是这样一个区域,其中表示在替换操作中将被替换的块的地址和替换块的地址之间的对应关系的信息被记录为缺陷列表。
临时DMA(TDMA)是这样一个区域,其中临时缺陷列表在增量的(incremental)写入操作中记录。在盘被最终完成以禁止增量写入操作的时候,临时缺陷列表登记为DMA中的缺陷列表。该DMA设置在盘的两个部分上,即内部部分和外部部分。这样,就在两个不同的区域记录了两次缺陷列表。在DMA中,就记录了诸如轨信息、剩余区域的位置信息等的盘信息。
剩余区域(spare area)是替换区域,其中通过替换操作来记录数据,其等于线性替换方法。剩余区域是在卷空间之外分配的,该卷空间通过文件系统处理。此例子中,数据记录在剩余区域的一部分中。剩余区域中的地址固有地通过使用物理地址来指定。为了简化说明,通过SA’s(剩余区域地址)表示剩余区域中的相对地址。剩余区域中的扇区处于未记录状态。
本发明中,将通常用于缺陷管理的线性替换算法应用到驱动装置执行的重写中。
卷空间包括四个轨。轨是其中在一次写入盘上从轨的开始顺序记录数据的区域。通过驱动装置管理轨中记录区域的结束。轨状态(关闭和打开)表示轨的状态。“关闭”表示轨中的所有扇区已经被用于数据记录。“打开”表示至少有一个扇区没有被用于数据记录。换句话说,可以将数据增量地写入打开的轨中。
(卷结构)
卷和文件结构遵从UDF 2.5。位于具有较小逻辑扇区号码的区域中的卷结构包括稳定卷描述符指针(Anchor Volume DescriptorPointer)、卷辨别序列、卷描述符序列以及逻辑卷完整性序列。位于具有较大逻辑扇区号码的区域中的卷结构,包括稳定卷描述符指针和卷描述符序列。逻辑卷完整性序列,其中记录有逻辑卷完整性描述符,是卷结构的一部分。由于已经预先记录了卷结构,轨#1和#4处于关闭状态。轨#2是为了写入元数据而分配的区域。图1中例如,轨#2中分配的元数据文件具有未记录区域。元数据文件还称作元数据分区。包括轨#2和#3的该区域称作物理分区。轨#3是指派为写入文件的数据的区域。因此,记录区域后面的区域处于未记录状态。
(文件结构)
元数据位映射FE(元数据位映射文件文件条目)是用于组织对元数据位映射分配的区域的文件条目。元数据位映射是用于指定准备好在元数据文件中使用的可用扇区的位映射。通过删除文件条目或是目录,不仅是未记录区域而且是变为未使用区域的区域,在位映射中登记为可用区域。源数据文件FE(元数据文件文件条目)是用于组织对元数据文件分配的区域的文件条目。在元数据文件中,记录有文件条目和目录。在UDF中,还记录有文件集描述符,其没有在图中示出。
根目录FE(根目录文件条目)是用于组织对根目录分配的区域的文件条目。根目录FE记录在MA#0中。根目录记录在MA#1中。MA(元数据文件地址)表示元数据文件内的相对地址。
(文件记录过程)
将参照图2和图4描述描述图1的一次写入盘上记录数据A文件的实例过程。
步骤S101中,元数据位映射被读取到存储器中并在存储器中更新以获得元数据文件中的记录区域。
步骤S102中,将其中要登记文件的目录读取到存储器中,并在存储器中更新。在此例子中,读出根目录并登记数据A文件。
步骤S103中,目录的文件条目被读取到存储器中,且更新目录的信息(例如,尺寸和更新时间等)。
步骤S104中,数据A文件数据从轨#3中未记录区域的开始处记录。
步骤S105中,为了登记记录数据的位置信息,在存储器中产生数据A文件的文件条目。
步骤S106中,记录存储器中更新并产生的元数据和元数据位映射。对于根目录,指示该驱动装置使得将数据写入MA#2(未记录扇区)。因此,在MA#1记录的根目录变为无效,在MA#1的扇区变为逻辑空间中可用的扇区。即使指示驱动装置使得将数据写入这种元数据文件中可用区域的时候,只要该区域已经被记录了,该数据也不能被物理地写入上述区域中。对于根目录中的文件条目,指示将数据写入MA#0中(已经记录区域),且将数据存储到剩余区域中的SA#0,其是剩余区域中未记录区域的开始。对于数据A文件的文件条目,指示数据写入MA#3(未记录扇区)。对于元数据位映射,指示将数据写入同样的位置(已经记录的区域),并且随后将数据存储到SA#1中。
替换操作是本发明的伪重写操作。如在这里使用的,术语“伪重写操作”表示逻辑重写操作,其中替换操作的机构响应于将数据写入已记录区域的指令,用于将数据写入未记录区域。
在步骤S107中,指示逻辑卷完整性描述符更新以表示文件结构的完整性状态。通过伪重写操作将数据存储在剩余区域中(图中未示出)。
如步骤S106所示,通过一起记录多条数据,使得通过使用高速缓冲器将尽量多的数据记录在同样的ECC块中(记录定时),就可以有效地利用未记录区域。尤其是,元数据位映射或是逻辑卷完整性描述符不必在每次记录文件的时候更新。通过在记录了多个文件之后,记录元数据位映射或逻辑卷完整性描述符,就可以有效地使用剩余区域的未记录区域。
数据A文件以下面的方式读出。读出轨#1中的卷结构。此后,为了访问元数据文件,读出元数据文件的文件条目。此后,在读出根目录的文件条目时,光盘的外部区域需要被访问,因为实际的数据记录在该剩余区域中。随后,读出记录在扇区MA#2中的根目录和记录在扇区MA#3中的数据A文件的文件条目。所以,在获得数据A的地址信息的情况下可以访问文件数据。
图5示出根据本发明的光盘信息记录/再现系统500。该信息记录/再现系统500包括系统控制器510、从光盘读取信息和向光盘写入信息的驱动装置520、以及输入/输出总线530。
系统控制器510和驱动装置520之间,通过输入/输出总线530来执行使用命令集的指令和响应以及读取/写入数据的传送。
系统控制器510包括控制器511以及存储器512。系统控制器510可以是个人计算机。控制器511例如可以是诸如CPU(中央处理单元)的半导体集成电路,并执行本发明实施例中上述的方法。
此外,使得控制器5 11执行上面实施例所述方法的程序存储在存储器512中。在控制器511中,可以执行文件系统、应用程序或设备驱动器。
驱动装置520包括系统LSI 521、存储器522和驱动机构523。使得系统LSI 521执行本发明实施例所述方法的程序可以存储在存储器522中。系统LSI 521可以形成在半导体芯片上,并且可以包括微处理器。
驱动机构523包括加载光盘的机构、用于从/向光盘读取/写入数据的拾取器524、用于移动拾取器524的横移(traverse)机构。驱动机构523通过系统LSI 521进行控制。
如上所述,可以不重写而记录文件的数据,可以使用伪重写记录部分元数据。通常,更新文件需要的元数据尺寸小于该文件的数据尺寸,且随后可以减小要被重写的数据的尺寸。文件条目的尺寸为2048字节,且目录的尺寸依赖于文件的数量和文件名的长度。例如,如果每个文件名是12个字符,并在目录中记录了39个文件,就可以在2048个字节的扇区中记录目录信息。因此,可以通过结合新记录方法和具有重写功能的驱动装置,对于一次写入盘来基本上实现读取/写入操作。
(实施例2)
此实施例描述了一种记录方法,用于通过预先在元数据文件中所有区域进行记录而读出文件的时候,来改进访问性能。
在UDF 2.5中,引入元数据文件在局部化(localized)的区域中记录诸如文件条目和目录信息的元数据,从而防止元数据在卷空间中散开,由此实现对文件管理信息的有效访问。这还可以在通过诸如扫描磁盘的工具修复损坏的盘上的元数据时,显著地改进性能。然而,如实施例1所述,如果数据需要经受伪重写操作,元数据文件中的部分数据不可避免地记录在剩余区域中。因此,就需要额外的访问时间。如果要记录的文件数量较小,额外的访问时间不会是大问题。然而,如果目录的层级变为更深且每个目录之下文件的数量增加,尤其是在大容量光盘的情况下,访问规定文件所需的时间就大到成为严重的问题。
在此实施例中,元数据文件中的所有区域都在逻辑格式化的时候记录。图3是示出其中写有图2所示同样数据的盘上区域的配置的图。图3与图2之间的区别在于,在写入文件之前对于元数据文件分配的区域被记录。因此,轨#2处于关闭状态。
将参照图3在下面描述记录数据A文件的过程。文件系统指示驱动装置,使得将根目录逻辑地记录在MA#2中。尽管数据记录在元数据文件的逻辑可用区域中,但是该元数据文件中的区域是已经记录过的区域。因此,根目录不能物理地重写到MA#2中。这样,通过伪重写操作将根目录物理地写入SA#0中。类似地,尽管由文件系统指示,使得将根目录FE逻辑地记录在MA#0中,但是该数据通过伪重写操作物理地写入SA#1中。此后,数据A文件的数据从未记录区域的开始处写入轨#3。文件系统在执行写入操作之前,获得未记录区域开始处的地址信息。为了指定数据A文件所记录的位置,文件系统作出指示,使得将数据A文件的文件条目逻辑地记录到MA#3中,且数据实际上通过伪重写操作写入到SA#2中。
文件系统辨别出根目录、根目录FE、以及数据AFE已经被逻辑地记录在元数据文件中。由于通过光盘驱动装置执行伪重写操作,所以仅有逻辑地址信息经过驱动装置和系统控制器之间的接口传送。此时,MA#1可用,且MA#2和MA#3是在元数据文件中已经逻辑地记录了的区域。文件系统作出指示,使得更新并记录元数据位映射,从而表示上述状态,随后将对应数据通过伪重写操作记录在剩余区域中的SA#3上。
已经用本发明记录方法记录的图3中的数据A文件,按照下述方式读出。在从轨#1读取卷结构之后,读出元数据文件的文件条目。此后,读出根目录的文件条目、根目录以及剩余区域中数据A的文件条目。所有的信息已经通过伪重写操作记录在剩余区域中。所以,不需要元数据文件和剩余区域间的访问。
就实现了引入元数据文件的本质目的。这是因为尽管在物理分区中逻辑地分配了元数据文件,但是写入元数据文件的数据实际上通过伪重写操作写入了剩余区域。因此,不管元数据文件中是否存在缺陷,数据都记录到剩余区域中。
图6是示出在驱动装置和系统控制器间利用命令的数据传送的图。具体命令可以用于ANSI(美国国家标准组织)定义的标准,或是INCITS(国际信息技术标准委员会)T10定义的多媒体命令集标准。
步骤S601、S603、S605以及S607表示系统控制器执行的过程。步骤S602、S604、S606以及S608表示驱动装置的过程。
步骤S601中,从系统控制器请求加载到驱动装置中的介质类型,且该系统控制器辨别出该介质是一次写入伪重写盘,并辨别出该驱动装置支持该伪重写功能。
步骤S602中,驱动装置读取加载的盘的类型的信息。该驱动装置还确定对于该盘是否支持该伪重写功能。该驱动装置通知系统控制器这些信息。
步骤S603中,通过请求一次写入盘的轨信息,该系统控制器从驱动装置获得信息。具体的说,请求轨#3中未记录区域的尺寸和轨中下一个可写入地址或是轨中最后一个记录地址。为了写入文件的数据,需要预先获得上述信息,且要检查未记录区域是具有规定的尺寸还是更大尺寸。由于轨#3中可以分配额外的元数据文件,例如,对于整个23GB容量的盘,该规定尺寸可以是128MB。如果未记录区域的尺寸小于规定尺寸,该盘就用作只读盘。如果该尺寸等于或是大于规定尺寸,过程前进到下一步骤。文件条目的尺寸是2KB。在仅有文件条目记录在128MB的可用区域中的时候,可以记录最多对应于65536个文件的文件条目。
在步骤S604中,驱动装置从加载的盘的导入区域、DMA、或TDMA读取与轨号码相关的信息、位置信息以及每条轨的打开/关闭状态,或是最后记录的地址信息。系统控制器被告知这些信息。
在步骤S605中,指示驱动装置读取元数据位映射区域。结果,系统控制器获得元数据位映射,并检查是否还有可用的扇区。如果还有可用扇区,该过程前进到下一步骤。如果没有可用扇区,将元数据文件的额外区域指派到轨#3的未记录区域中,以保存可用扇区。在此检查中,通过使用可用扇区的规定尺寸,系统控制器可以确定对于元数据文件的额外区域是否被保存,例如,该规定尺寸可以是128KB。
在步骤S606中,驱动装置从指定区域读取数据,并将数据传送到系统控制器。
在步骤S607中,通过对驱动装置请求剩余区域信息,系统控制器获得该信息并检查在剩余区域中的未记录区域是否具有规定尺寸或更大尺寸。
例如,在未记录区域的尺寸等于或大于8MB的时候,该盘用作可记录盘。在尺寸小于8MB的时候,将盘用作只读盘。剩余区域不仅用于伪重写,还可以用于缺陷管理。因此,需要额外未记录区域来恢复盘上的缺陷扇区。
在步骤S608中,驱动装置从加载盘的导入区域、DMA、或TDMA读取剩余区域的数量、剩余区域的尺寸、以及每个剩余区域中未记录区域的尺寸。系统控制器被通知这些信息。
如上所述,通过伪重写或缺陷管理在剩余区域中的未记录区域中记录数据。本发明的一次写入盘驱动装置具有这样一种功能,即将空闲区域信息以及介质的类型信息发送到系统控制器,因为该驱动装置将数据存储在不同于文件系统所期望位置的一些位置。不管何时记录文件,通过请求此空闲区域信息,该系统控制器确定是否可以记录该文件,结果,系统控制器可以用元数据文件中相关的数据正确地记录文件。
(实施例3)
在前面的实施例2中,元数据被重映射到剩余区域中以减少取回(retrieve)元数据的访问时间。为了实现此目的,需要在一次写入盘上进行格式化的时候指派具有充足尺寸的剩余区域,因为剩余区域的尺寸在此后不会扩大。然而,用户不知道有多少文件将记录在盘上和将记录在盘上的文件的尺寸,因此,在格式化的时候很难确定剩余区域的适当尺寸。如果使用了所有的剩余区域,甚至在用户数据区域中保存有未记录区域的时候,在盘上也不能记录文件。另外,如果指派了较大剩余区域,在使用了所有用户数据之后,在剩余区域中还可以留有未记录区域。
此外,在实施例2的例子中,在重映射表中将使用比实施例1中更多的条目。这就需要驱动装置可以处理更大的表以搜索重映射的扇区。该文件系统驱动器需要在每次记录文件的时候,检查剩余区域中未记录区域的尺寸,因此空间管理变得更难实行。
所以,此后说明这样一种记录方法,其中替换数据的方向不仅在剩余区域内,而且还在用户数据区域内。
首先,描述本发明的想法:
通过将新数据写入下一个可写入块并在驱动装置存储的重映射表中创建条目,设备处理现存数据的重写。文件系统继续使用同样的逻辑块号码,且驱动装置基于表中的条目重映射请求到新位置。为了减少表的尺寸,在块被释放之后文件系统不重新使用该块。即,文件系统需要意识到其在使用一次写入介质,并需要以此调整其行为。
该设备使用正常的卷空间来存储重映射的数据。即,写入到存在原始块的同样轨内的下一个可写位置。无论何时需要分配新空间的时候,文件系统询问该设备下个可写块。所以文件系统和该设备都共享用于写入的相同空间。
第二,上述想法的有效性使用图7A-7D、8A-8B和9来描述:
图7A-7D、8A-8B示出用户数据区域中的块。这里,将块而不是扇区用于总体说明该想法。通过文件系统将用户数据区域辨别为卷空间。对于每个块来说,分配物理块地址(此后称作PBA)和逻辑块地址(此后称作LBA),从而预先确定PBA和LBA之间的对应关系,其中作为例子,PBA从号码100开始分配,且LBA从号码0开始分配。
图9示出驱动装置存储的重映射表的数据结构。该表具有多个条目,其中每个条目指定原始地址和重映射地址。此数据结构可以是具有用于可再写盘缺陷管理的缺陷列表的通用数据结构。
通常,看上去上述想法没有效果,因为在应用于可再写盘的时候存在矛盾。
如图7A所示,可再写盘具有剩余区域,其中例如PBA从号码200开始分配。在可再写盘的常用情况下,如果数据写入LBA2和5的块,且这些块是有缺陷的,则这些数据使用线性替换算法存储在剩余区域的块PBA 200和201中。这意味着LBA2和5被重新分配给PBA 200和201。因此,由于缺陷,在卷空间中同样的块变为不可用块的时候,就用剩余区域中的好块来补偿。
如果上述想法用于可再写盘,如图7B所示,写入LBA2和5的数据将存储在用户数据区域的块中,例如,PBA 103或107。然而,PBA 103和107的这些重映射块不能用于存储对LBA 3和7所请求的数据,因为这些块被替换为LBA2和5。这种情况打破了这样一种假设,即在通过文件系统记录任何数据的时候,提供一种没有缺陷的逻辑空间,其中假设可再写盘上的数据容量没有减少。此外,在这种情况下,驱动装置不能确定重映射数据的位置,因为文件系统可能随机写入数据,并且仅有文件系统处理指定记录可用区域的空间位映射。
如实施例1所述,线性替换算法还可以用于一次写入盘。如图7C所示,将剩余区域预先分配给一次写入盘。如果该块被重写或由于缺陷不能写入,就用剩余区域中的块来补偿该块。作为例子,在将数据D1写入LBA 2的时候,如果该块是有缺陷的,就用PBA 200的块来补偿该块。在LBA 5通过数据D2写入的时候,甚至在已经记录了PBA 105的时候,将数据存储到PBA 201中。
假设将重写的块和有缺陷的块应该用属于卷空间之外的另一个块来补偿。这个想法看上去不仅对于可再写盘是一种矛盾,而且对一次写入盘也是一种矛盾。
然而,根据本实施例,一次写入盘可能不能保证提供类似可再写盘的没有缺陷的逻辑空间,因为如果一旦写入一次写入盘上的块,就不可以改变块中的数据。并且对于一次写入盘的新文件系统应该使用顺序记录写入数据。在这一点上,这种想法对于如图7D所示的一次写入盘有效。数据D1、D2和D3顺序写入到LBA0、1和2,此时如果块PBA 102有缺陷,则数据可以写入下个块PBA 103。此外,数据D4、D5和D6顺序写入LBA4、5和6,且随后更新的数据D5’可以重写到LBA 5中。在此重写中,将数据存储到作为下个可写位置的块PBA 107中。这样,这种想法不需要改变逻辑块号码的分配,因为不论何时需要重写,直到用光了用户数据区域,数据可以写到下个可写位置。在可再写盘的情况下,数据不能记录在用于重映射的块中,但是对于本发明的一次写入盘没有问题。例如,数据可以进一步记录在LBA 7的块中。在此情况下,数据存储在PBA 108中,且将指定从PBA 107的原始地址重映射到PBA 108的重映射地址的条目添加到重映射表中。
如上所述,根据本发明,甚至在逻辑块地址是双预定(doublebooking)的时候,驱动装置可以通过分配新的物理块地址给NWA来记录数据。
对于上述想法实际的另一重要问题是,通过询问从文件系统到驱动装置的下个可写地址来保存重映射表中存储的条目。图8A和8B示出减少该表尺寸的机制。在此图中,预先记录块PBA 100到105。如图8A所示,在将数据D1写入LBA1中的时候,数据存储在下个可写位置PBA 106且添加一个条目来指定PBA 101被重映射到PBA106。此时,文件系统不知道将数据重映射到哪里。如果文件系统指示将新数据D2写入中先前的下个可写位置LBA6,就将数据存储到下个块PBA 107并添加一个条目。本发明中,在除重写之外记录任何数据之前,文件系统检查更新的下个可写地址,并指示写入在更新的下个可写地址中的数据,该可写地址是图8B所示的LBA7。这样,不需要额外的条目。文件系统不用重分配数据到删除的文件区域中,除了为了同样原因的要求重写。
此外,文件系统管理的空间可以简化,由于文件系统仅使用每个轨中的NWA来分配用于记录的新区域。这就意味着在剩余区域中可以不检查文件系统,且不记录空间位映射尤其是元数据位映射。
重映射该区域的单元可以是包括多个物理扇区的ECC块。在重映射物理扇区的时候,该物理扇区所属的ECC块中所有的物理扇区被重映射。在此情况下,重映射表条目中的原始地址和重映射地址通过ECC块开始扇区的物理地址指定。作为可寻址单元,物理块和逻辑块可以是物理扇区和逻辑扇区。甚至在一个扇区是新写入的时候,写入包括该扇区的一个ECC块,则将NWA移动到下个ECC块的开始扇区。因此,当写入若干数据的时候,分配这些数据使得这些数据以同样的ECC块写入。
通过本发明,对于使用一次写入盘可以提供使用元数据分区的好处。首先,要重写的数据在写入元数据的轨内重映射,随后可以使得取回元数据的访问局部化,并改进取回的性能。通常,重写的数据存储在同样的轨中,只要该轨具有未记录的扇区。由于对将数据写入同样轨中其他未记录物理块给予优先级,在数据记录将该轨用完的时候,重写的数据可以存储在其他轨中。其次,在对于元数据镜像文件分配了额外轨的时候,可以记录元数据镜像文件以改进鲁棒性。
这些优点来自于下面的想法:
在写入数据的时候,文件系统基于数据类型确定使用哪个轨。随后其询问该设备来确定对于此轨下个写入点的位置。如果该轨变满,文件系统可以用自己的判断来选择不同的轨。
例如,考虑以两个轨来格式化介质的时候。第一轨被用于存储元数据。第二轨用于存储文件数据。在文件系统需要写入元数据的时候,就询问设备第一轨的写入点并使用该位置来存储元数据。如果文件系统需要写入文件数据,就询问设备第二轨的写入点并使用该位置来存储文件数据。如果两个轨都变满,文件系统可以决定使用在其他轨中存在的空闲空间。这使得文件系统尽可能地将元数据在一起、将文件数据在一起进行分组。通过将这些数据在一起分组,就减少了碎片。
这个想法可以用于通用盘格式(UDF)文件系统。这可以使得将2.50版本的一些优点用于一次写入盘中。当前,由于存储元数据的方式,UDF 2.50需要可再写的介质。开发UDF 2.50的一个主要原因在于将元数据分组在一起;与文件数据分开。这种优点在一次写入介质上不具有。通过使用这种想法,这种优点可以在一次写入介质上实现。
这种想法还可以将类似的数据分组在一起用于特定的目的。例如,音频可以存储在一条轨中,且视频存储在另一条轨中。或者,将静止图片存储在一条轨中,而视频存储在另一条轨中。这里的优点在于将具有不同更新模式的数据分开。如果用户经常创建、编辑以及删除图片,这些数据可以与连续添加的视频分开。这能够防止图片数据与视频流混合。
如果保存了两个轨,就可以使用特殊的分配方法。这种方法将创建一个固定尺寸的保存轨,以及令第二轨处于开放状态。如果第一轨变满,第二轨可以在其当前写入点关闭,且创建两条新轨。这些新轨将遵循与前两条轨一样的模式。这个过程将继续直到盘变满。这使得文件系统以大块将类似的数据分组在一起。例如,这可以与UDF文件系统一起使用,使得以类似于将元数据用UDF 2.50存储在可再写介质上的方式,将元数据以大块(chunk)存储在一次写入介质上。
图10A-10E是示出说明多轨记录的上述策略的区域结构的图。在图10A-10E中示出特定的分配方法。
图10A中,保存两条轨以写入元数据以及文件数据。在对于元数据的第一轨用完的时候,文件系统请求驱动装置分配图10B中所示数据的轨中的一条新轨。随后用于写入元数据的新轨#3保存在图10A中的轨#2中,并且剩余的轨#4可以用于数据写入。很清楚轨#1和#2中不再有任何NWA。由于轨#3和#4是新分配的,所以NWA在新分配的轨的开始地址处可用。图10C中,元数据和文件数据可以写入新轨中:轨#3和#4。
图10D中,保存两条轨以写入元数据和文件数据。在此情况下,用于元数据写入的轨#1大于图10A中描述的轨,以在需要的时候记录元数据。在用完了对于数据的第二轨的时候,文件系统请求驱动装置分配元数据的轨后面的新轨,如图10E所示,使得第一轨和第二轨具有未记录区域。随后将用于写入数据的新轨#2保存在图10D的轨#1中;因此将分配更短的轨作为轨#1。在保存了轨#2后,图10D中轨#2的轨号码变为图10E中的轨#3。这样在轨#3中就不再有NWA。由于轨#2是新分配的,所以在新保存的轨的开始地址处NWA可用。图10E中,元数据和文件数据可以写到新轨中:轨#1和轨#2。
这里,对于盘容量为23GB(=23×1024^3字节)、ECC块包括32个扇区、且扇区尺寸是2KB(=2×1024字节)的例子的情况下,估计重写的可能。如果记录在盘上的文件的平均尺寸为128KB,且平均在目录下存储10个文件的时候,大约188000个文件和18800个目录可以记录在盘上。在文件系统把要更新的文件条目设置分簇到ECC块中的时候,在重映射表中需要约6400个条目。在该条目的尺寸是8字节的时候,该表的尺寸变为约50KB。在驱动装置可以处理的最大尺寸的重映射表为256KB的时候,就可以随机写入188000个文件和18800个目录。因此本发明对于使用蓝色激光技术的下一代一次写入光盘也是实用的。
下面描述将上述想法用于基于UDF的新文件系统和下一代一次写入盘的例子。
图11是示出区域结构来说明上述重映射的图。实施例1中说明的区域布局也用于此实施例。
缺陷管理区域(DMA)是这样一个区域,其中记录缺陷列表,并且临时DMA(TDMA)是这样一种区域,其中记录临时缺陷列表。这种重映射表可以记录在具有缺陷列表和临时缺陷列表的DMA和TDMA中。这里,缺陷列表和临时缺陷列表可以用于指定通过缺陷管理的替换信息和使用同样数据结构的重映射信息。这将有助于简化驱动装置的实现,因为条目的解释对于缺陷管理和对于伪重写是共同的。在条目指定重映射信息的时候,表中的条目表示将重映射的块地址和已经重映射的块地址之间的对应关系。
在卷空间中分配剩余区域,且剩余区域中的地址通过SA’s表示(剩余区域地址)。
卷空间包括三条轨,其中每条轨中顺序记录数据。轨中未记录区域的开始地址被管理为下个可写地址(NWA)。轨的状态通过新的术语描述:“使用”和“保留”,以表示这些轨中的数据可以重写,且可以在保留的轨中重映射数据。使用的轨表示轨中的所有扇区已经用于数据记录。保留的轨表示有(多个)扇区还没有记录。即,数据可以以增量地写入保留的轨中。由于已经预先记录了卷结构,轨#1就是使用了的轨。轨#2是保留的轨,分配为用于元数据记录。轨#3是保留的轨,分配为用于用户数据记录。
下面描述对于更新数据A文件和记录数据B文件到一次写入光盘上的示例性过程。
首先,读取元数据FE以获得分配给元数据文件的区域,并且已经获得了轨信息。随后文件系统可以辨别出哪个轨可以用于写入元数据,其中MA(元数据文件地址)表示元数据文件中的相对地址。
在文件系统更新数据A文件的时候,在存储器中读取文件条目,且该文件条目被更新,以登记该信息来指定更新的数据将写入的位置以及存储器中涉及的信息(例如,尺寸和更新的时间等等)。文件系统指示驱动装置逻辑地重写数据A文件的数据。随后,由于已经记录对应的物理扇区且驱动装置将该条目添加到缺陷列表中,驱动装置物理地存储数据(数据A’)到NWA中。如果询问驱动装置后,文件系统指示将数据写入NWA,就不需要将条目添加到缺陷列表中。在本发明中,推荐这种保存条目的方法,因为数据的位置可以登记在文件条目中。然而,在要更新部分大文件的时候,可以重写将要更新的数据而不是写入文件的整个数据。在数据写入到盘上之后,文件系统指示逻辑地重写文件条目(数据A’FE)以指定写入数据的位置和更新时间。随后,驱动装置物理地写入数据到MA#k+1所示的扇区,并存储该条目到缺陷列表中。
当文件系统在根目录下新记录数据B文件的时候,将该目录读入存储器,且将该目录更新以添加新文件(数据B文件)到存储器中的此目录。在存储器中创建数据B文件的文件条目之前,将数据B文件的数据写入轨#3中的NWA,并且随后从轨#2中MA#k+2所示的NWA写入存储器中的文件条目(数据BFE)和根目录。为了指定根目录的新位置,对于目录的更新文件条目被指示重写且将数据写入MA#k+4所示的NWA。因此,仅有元数据中目录的文件条目被重写以保存该条目,且写入其他元数据(文件的文件条目和目录)和文件的数据而不进行重写。
为了表示文件结构的完整性,更新的逻辑卷完整性描述符被指示为重写(此图中没有示出)。
在上述伪重写操作中,要重写的数据可以响应于将数据写入已经记录区域的指令,而存储在剩余区域或是保留的轨的NWA中。存储数据的目的地可以由驱动装置来确定。类似地,在由于缺陷不能在扇区中记录数据的时候,可以通过缺陷管理在剩余区域内来替换数据或在轨中的NWA中来替换数据。
在可再写盘的情况下,文件系统重新使用可用区域。然而,本发明中,在可用区域用过一次的时候,可用区域不重新使用。例如,图11中,尽管其中写入根目录的MA#i+1处的逻辑扇区变为可用扇区,但是该文件系统将不能在MA#i+1处分配任何数据。如果数据将再次写入MA#i+1处,则将重映射该数据。甚至仅指示将写入ECC块的一个扇区,且无效数据记录在ECC块的其他扇区中,在ECC块的基础上写入数据的情况下,写入一个ECC块。文件系统也不重新使用为了同样原因记录无效数据的区域。
图12是示出区域结构的图,以说明上述重新映射。与图11类似,数据A文件被更新,且新记录数据B文件。与图11相比,打算用于元数据镜像文件的轨被额外地保存为轨#4,且元数据镜像文件FE指定元数据镜像文件的位置。根据UDF 2.5,如果存在元数据镜像文件,任何元数据都应该被分别记录在元数据文件和元数据镜像文件中同样的相对地址处。尽管为了简化的目的,在不存在元数据镜像文件的时候,在图11、13和14中没有示出元数据文件FE,元数据镜像文件FE表示元数据文件的位置。
更新数据A文件和记录数据B文件到一次写入光盘上的示例性过程与对于图11所说明的过程一样。在此例子中,在元数据写入元数据文件之后,将同样的元数据写入元数据镜像文件。该文件系统指示驱动装置读取元数据文件FE以及元数据镜像文件FE,以了解对于元数据文件以及元数据镜像文件分配的区域。随后,该文件系统辨别哪个轨可以用于元数据写入,其中MA(元数据文件地址)表示元数据文件以及元数据镜像文件中的相对地址。
在文件系统更新数据A文件的情况下,文件系统指示逻辑地重写元数据文件的轨#2中的文件条目(数据A’FE)后,文件系统指示驱动装置重写同样的文件条目到元数据镜像文件中相同的相对地址MA#k中。驱动装置将数据物理地写入MA#k+1所示的扇区并将该条目存储到缺陷列表中。
在文件系统在根目录中新记录数据B文件的情况下,文件系统指示从轨#2的元数据文件中的MA#k+2所示NWA写入文件条目(数据B FE)和根目录之后,文件系统指示驱动装置从轨#4的元数据镜像文件中MA#k+2所示NWA写入同样文件条目和同样根目录。随后,在文件系统指示对于轨#2的元数据文件中MA#k+4所述NWA处目录重写更新的文件条目之后,文件系统指示将重写轨#4的元数据镜像文件中MA#k+4所述NWA处同样的更新的文件条目。
这样,由于将同样元数据写入元数据文件和元数据镜像文件中同样的相对地址中,就改进了读取元数据的时候的鲁棒性。
图13是示出说明上述重映射的区域结构的图。图13中,新保存的轨被分配为图11中说明的卷空间上的轨#3。该轨保存在用于写入用户数据的轨的未记录区域中,以写入额外元数据,因为用于写入元数据的轨#2已经用完了。例如,图11中的轨#3在记录区域的端点结束;在轨#3结束之后,新轨#4从未记录区域分配。
图14是示出说明上述重映射的区域结构的图。图14中,数据C文件被新记录在图13说明的卷空间上的根目录中。该目录被读取到存储器中,且该目录被更新以添加新文件(数据C文件)到存储器中的此目录中。数据C文件的文件条目在存储器中创建,数据C文件的数据被写入轨#5中的NWA,随后存储器上的文件条目(数据CFE)和根目录从轨#4中MA#k+5所示的NWA写入。为了指定根目录的新位置,指示目录的更新文件条目在MA#i处重写。由于轨#2已经用完了,将数据写入其他轨中的NWA处。在此例子中,将其写入轨#4中的MA#k+7。指示元数据文件FE重写,以指定元数据文件的额外范围#2,且该数据被写入MA#k+8所示的NWA处。给元数据文件分配的范围可以与新分配的轨不一样,因为元数据文件的范围可以通过更新元数据文件FE来扩展。因此,元数据文件的范围可以是轨的一部分。
此后描述本发明的写入过程。通过图5所示的光盘信息记录/再现系统执行此写入过程。
图15A-15D中的每个包括示出使用伪重写方法写入数据的时候,用户数据区域中的块的图。用户数据区域、PBA和LBA与图7所述一样定义。在图15A和15B中描述更新文件的过程。如图15A所示,在更新文件之前,记录块PBA 100、101和102,并保存两条轨。将被更新的该文件的文件条目(D3)存储在块LBA2中。如图15B所示,该文件系统;
1)预先指示从LBA2读取文件条目,
2)对该驱动装置询问NWA,
3)指示将文件的更新数据(D4)写入到用于写入数据的轨的NWA(LBA9)中,从而写入数据而不重写,并创建文件条目(D3’)从而改变读取的文件条目中的位置信息,以指定写入更新数据的区域,并且随后
4)指示写入更新的文件条目(D3’)到用于写入元数据的轨的LBA2中,从而重写文件条目。在此例子中,在PBA 110物理地写入数据D3’,而前一次写入在PBA 109上。因此,对于重写,驱动装置可以将数据写入另一条轨。
在目录中记录文件的过程在图15C和15D中描述。如图15C所示,记录块PBA 100、101、102、108和109,并保存两条轨。该目录的文件条目(D1)和目录(D2)存储在LBA 0和1的块中。如图15D所示,该文件系统;
1)指示从LBA 0读取目录的文件条目和目录,
2)指示从LBA 1读取该目录,
3)对驱动装置询问每条轨的NWA以确定写入数据而不重写的位置,
3-1)创建文件的文件条目(D6),其具有对于文件的数据所分配的区域的位置信息,
3-2)创建了目录(D7),从而将新文件登记在读取目录中(D2),且
3-3)创建目录的文件条目(D1’),从而改变读取的文件条目(D1)中的位置信息,以指定分配更新目录的区域,
4)指示将文件的数据(D5)写入用于写入数据的轨#2中的NWA(LBA 10)中,
5)指示从用于写入元数据的轨#1中NWA(LBA 3)来写入文件的文件条目(D6)。
6)指示将目录(D7)写入到下一个地址,从而将数据连续写入,并且随后
7)指示将更新的文件条目(D1’)写入LBA 0,从而重写该文件条目。
因此,在写入任何数据之前,文件系统询问NWA。这是因为NWA可以改变,而驱动装置可以用其自身的重映射来写入数据。下面,文件系统提供指令,以从NWA写入数据,使得不重写而写入数据。随后,文件系统指示更新的数据用重写来写入。写入数据的这种顺序对于在重映射表中保存条目很重要。
在图15B的情况下,如果写入过程不是此顺序,即数据D3’在写入数据D4之前被重写,则数据D3’可以写入到PBA 109中且NWA被改变。这表示数据D4将以重写来写入LBA 9,但是数据需要被重映射到PBA 110中。在图15D所示的情况中,如果写入过程不是以此顺序,就还将额外的条目添加到重映射表中。
在可再写盘的情况下没有这种要求。通常地,在写入过程可能意外结束的时候,考虑到恢复,对于可再写盘的情况使用不同的顺序来提高可靠性。另外,在一次写入盘的情况下,这种恢复不重要;更合适的是,将条目保存在重映射表中是很重要的,因为前一状态通过一次写入特征来保持。
图11A和11B中的每个包括流程图,示出将数据写入在一次写入光盘上的过程。这种写入过程通过图5所示光盘信息记录/再现系统来执行。
在更新文件的时候,文件系统将指示写入文件的数据,使得将不重写而写入数据,且文件系统将通过更新写入的文件条目来创建该文件条目,并且将指示写入该文件条目,使得重写该文件条目。
在将新文件记录在目录之下的时候,文件系统创建文件的文件条目,并通过更新存储器中写入的目录及其文件条目,来创建目录和该目录的文件条目,并指示写入文件的数据、文件条目和目录,从而不重写而写入这些数据。随后,文件系统将指示写入目录的文件条目,从而重写文件条目。
图16示出过程中包括的步骤,以将数据写入一次写入光盘。一种程序用于实现该过程,并通过系统控制器510中包括的控制器511来执行。系统控制器510指示驱动装置520将数据写入一次写入光盘。控制器511可以包括半导体集成电路。以多种方式提供该程序。例如,可以用具有该程序记录其上的计算机可读介质的形式来提供该程序。或者,可以通过互联网从服务器下载程序来提供此程序。一旦将该程序安装到计算机上,该计算机就用作系统控制器510。该一次写入光盘包括多条轨。
图17A和17B示出驱动装置520执行的过程。
在步骤S1601中,系统控制器510接收写入请求,其至少指定将从用户写入的文件的数据。例如,该请求将替换数据A文件为新数据,或从其他介质拷贝数据B文件到此盘的根目录之下。将写入的数据传送到系统控制器510的存储器512中,且记录数据的目的地通过目录树结构中的路径名称表示。
在步骤S1602中,控制器511指示驱动装置520读取元数据文件,即元数据文件FE的文件条目,该元数据文件包括管理从一次写入盘通过用户请求的文件的元数据。从此元数据,获得文件FE。
步骤S1603中,控制器511指示驱动装置520获得表示多条轨中每条轨的位置的轨信息。
在步骤S1604中,控制器511检查每条轨,以基于元数据文件的文件条目和轨信息,确定其中随后写入元数据的轨。如果轨的一部分分配给元数据文件或元数据镜像文件的范围,该轨就将用于分别写入元数据到元数据文件或元数据镜像文件中。
在步骤S1605中,控制器511指示驱动装置520从一次写入光盘的位置读取元数据,从而获得元数据。诸如文件条目和目录的元数据从元数据文件读取。
在步骤S1606中,在指示驱动装置520写入数据之前,控制器511询问驱动装置520下一个可写地址NWA,其表示在轨中下面将写入数据的位置。这是因为有可能驱动装置520将移动NWA。驱动装置520将询问的NWA发送到系统控制器510,并且系统控制器510将NWA发送到控制器511。该轨从多条轨中选出。控制器511可以询问多条轨的NWA,但是至少询问对步骤S1604中确定的轨之外的轨的NWA。
在步骤S1607中,控制器511确定在步骤S1604中确定的轨中的下个可写地址NWA是不是有效的。如果轨中的NWA不是有效的,该过程就前进到步骤S1608。例如,如果无效地址作为步骤S1606中的NWA返回,就可以知道轨中没有NWA。在步骤S1604或S1606中,可以经过询问驱动装置520来询问轨的状态。如果轨是使用状态,在轨中就没有NWA。
在步骤S1608中,控制器511指示驱动装置520分配第一轨和第二轨,其中第一轨中随后将写入元数据,第二轨中随后将写入数据。由于文件系统指示驱动装置520分配新轨,控制器511就可以更新步骤S1606获得的NWA为第二轨中的NWA。在图13的情况下,NWA在轨#4和#5的开始地址处。第一轨和第二轨在步骤S1606中选择的轨中分配。
在步骤S1609中,响应于用户写入请求,控制器511创建或更新至少部分元数据,从而通过区分将写入的数据类型,来使得将要重写的数据量最小化。如图11所述,在更新文件的情况下,文件系统创建文件条目以指定要写入的数据的位置。此文件条目是将要重写的数据。在目录下记录新文件的情况下,文件系统创建新文件的文件条目并更新该目录以登记新文件和目录的文件条目。目录的文件条目是要重写的数据且其他元数据是可以不用重写而写入的数据。作为更新的元数据的例子,更新的元数据可以包括其中记录了文件的目录的文件条目,或是该文件的文件条目。
在步骤S1610中,控制器511指示驱动装置520在NWA表示的位置,写入那些可以不用重写而写入的数据。
在步骤S1611中,控制器511指示驱动装置520在读取元数据的位置,至少写入部分更新的元数据,使得在逻辑扇区中重写数据。在步骤S1610和S1611中,可以使用同样的写入命令来指示写入数据,因为驱动装置可以通过在步骤S1702检查逻辑扇区的状态,来确定应该用重写还是不用重写来将数据写入。在步骤S1610和S1611中,数据被写入由不同方式表示的不同地址,例如,步骤S1610写入用户写入请求(步骤S1601)指定的数据,同时步骤S1611写入已经被读取的元数据(步骤S1602)。为了避免可能的误差,步骤S1610之后执行步骤S1611。
步骤S1612中,控制器511确定是否分配了第一轨,且至少部分更新的元数据被写入第一轨。如果确定分配了第一轨,且至少部分更新的元数据被写入第一轨,该处理前进到步骤S1613。
在步骤S1613中,控制器511更新元数据文件的文件条目,以反映写入至少部分更新的元数据,并指示驱动装置520将元数据文件的更新文件条目写入到步骤S1602中读取元数据文件的文件条目的位置。
响应于控制器511的指令写入数据,图17A示出驱动装置520进行的下面的过程。
在步骤S1701中,驱动装置520从控制器511接受写入指令,该指令至少指定其中将写入数据的逻辑扇区,并检查将写入哪个轨。驱动装置520还获得表示多条轨中每条轨的位置的轨信息,并基于写入指令和轨信息指定的逻辑扇区,从其中随后将写入数据的每条轨来确定轨。
在步骤S1702中,驱动装置520确定写入指令指定的逻辑扇区是对应于到记录的物理扇区上的记录、还是对应于到未记录物理扇区上的记录。在此检验中,驱动装置520使用逻辑扇区号码判断物理扇区的状态,其中逻辑扇区号码被指示为通过控制器511进行写入。在逻辑扇区号码小于NWA的时候,记录物理扇区,否则不记录。如果写入指令指定的逻辑扇区对应于未记录的物理扇区,则该处理前进到步骤S1703,或者如果该逻辑扇区对应于记录的物理扇区,则处理前进至步骤S1704。
在步骤S1703,驱动装置520将数据写入未记录物理扇区,其预先与对应逻辑扇区相对应。
在步骤S1704中,驱动装置520将数据写入步骤S1701确定的轨中下一个可写地址表示的物理扇区。在ECC块的基础上重映射数据的时候,其他的未记录物理扇区是属于作为下个可写块的ECC块的扇区之一。例如,在ECC块包括32个扇区的时候,ECC块中的第二扇区被指示为重写,将数据物理地写入下个可写ECC块中的第二扇区。这样,ECC块中的相对地址对于重映射ECC块而保持。
在步骤S1705中,驱动装置520产生包括重映射信息的重映射表,该重映射信息将记录的物理扇区原始地址重映射到下个可写地址表示的物理扇区的重映射地址,并且存储重映射信息到缺陷列表/重映射表中。在ECC块包括32个扇区的时候,原始地址是ECC块的开始地址,其中该原始物理扇区属于该ECC块,且该重映射地址是ECC块的开始地址,其中重映射的物理扇区属于该ECC块。
响应于控制器511的指令来保存轨,驱动装置520进行的过程在图17B中示出。
在步骤S1711中,驱动装置520接收控制器511的分配指令,并响应于分配指令分配至少一条轨。对于至少一条轨的分配包括在步骤S1701确定的轨中分配第一轨和第二轨。
当本发明用于诸如消费视频记录器或消费视频播放器的记录/再现系统中的时候,控制器511和驱动装置520可以通过图18所示的共用微处理器来控制。在此情况下,控制器511可以不向驱动装置520询问NWA,因为记录/再现系统知道NWA。首先,在盘加载到驱动单元中的时候检查每个轨中的NWA,随后在写入一些数据后此系统可以管理NWA。
图18示出光盘信息记录/再现系统1800,其作为消费视频记录器或消费视频播放器的一部分。该信息记录/再现系统1800包括控制器1811、存储器1812以及用于从光盘读取信息和将信息写入到光盘上的驱动机构523。控制器1811例如可以是诸如CPU(中央处理单元)的半导体集成电路,并执行本发明实施例中所述的方法。此外,使得控制器1811执行本实施例所述方法的程序存储在存储器1812中。在控制器1811中,可以执行文件系统、工具程序或是设备驱动器。驱动机构523可以通过控制器1811来控制。
图19是示出通过图18所示记录/再现系统向一次写入光盘写入数据的过程的流程图。
在步骤S1901中,控制器1811接收来自用户的请求。例如,请求替换数据A文件为新的数据,或是从其他介质拷贝数据B文件到此盘的根目录上。要被写入的数据传送到存储器1812中,且记录数据的目的地通过目录树结构的路径名来表示。
在步骤S1902中,文件系统指示驱动装置读取作为元数据文件FE的数据,以辨别分配给元数据文件和元数据镜像文件的区域。
在步骤S1903中,文件系统指示驱动装置获得轨信息。
在步骤S1904中,文件系统对每个轨检查该轨是否可以用于写入元数据。如果轨的部分被分配给元数据文件或元数据镜像文件的范围,该轨将用于把元数据分别写入元数据文件或元数据镜像文件。
在步骤S1905中,文件系统读取数据以取回用户请求的目录或文件。诸如文件条目的该元数据和目录从元数据文件读取。
在步骤S1906中,文件系统在写入数据之前获得NWA。
在步骤S1907中,文件系统检查是否使用了每条轨。如果用于写入元数据的轨被用完,过程就前进至步骤S1908。
在步骤S1908中,驱动装置分配新的轨,作为用于写入数据的轨中保存的轨。
在步骤S1909中,响应于用户请求,文件系统创建一些元数据,使得通过区分要写入的数据类型,来最小化要重写的数据量。如图11的说明中所述,在更新文件的情况下,文件系统创建文件条目以指定将要写入数据的位置。此文件条目是要重写的数据。在新文件记录在目录下的情况中,文件系统创建新文件的文件条目并更新目录以登记新文件和该目录的文件条目。目录的文件条目是要重写的数据的目录,且其他数据是可以不用重写而写入的数据。数据类型区分为类型I:不需要重写;以及类型II:需要重写。
在步骤S1910中,文件系统指示从NWA写入类型I的数据到逻辑扇区。随后,过程前进至步骤S1911,该步骤是不重写而写入数据的操作。
在步骤S1912中,文件系统指示重写类型II数据到逻辑扇区中。随后,过程前进至步骤S1913,以执行重写逻辑扇区中数据的操作。指示写入数据的写入命令对于类型I和类型II可能不同。
在步骤S1911中,数据预先写入对应于该逻辑扇区的物理扇区。
在步骤S1913中,将数据逻辑地重写到逻辑扇区并物理地写入其他未记录的物理扇区,尤其是NWA中。
在步骤S1914中,创建作为重映射信息的条目,以预先指定对应于逻辑扇区的物理扇区的原始地址和其中写入数据的物理扇区的重映射地址,并存储到缺陷列表中。
在步骤S1915中,文件系统检查分配为元数据文件和元数据镜像文件范围的区域是不是被扩展。如果扩展了该区域,该过程前进至步骤S1916。
在步骤S1916中,文件系统改变元数据文件和元数据镜像文件的文件条目,使得文件条目指定扩展的区域,并指示驱动装置将文件条目写入到其在步骤S1902中读取的逻辑扇区中。
后面描述使用上面图16、17A、17B和19所述的方法,对其上写入有数据的一次写入盘的再现过程。图20是流程图,示出通过图5和18描述的记录/再现系统从一次写入光盘读取数据的过程。图20中,记录/再现系统接收读取指令,该指令从读取数据的位置指定至少一个逻辑扇区。
在步骤S2001中,搜索重映射表中存储的所有条目的原始地址。由于指示了要读取的逻辑扇区号码,预先对应于逻辑扇区的物理扇区的号码用于搜索表示重映射的物理扇区的条目。在以ECC块的基础上执行重映射的时候,ECC块的开始地址登记在条目中。在此情况下,检查物理扇区号码是否属于重映射的ECC块。在图5所示的信息记录/再现系统的情况下,此操作可以通过驱动装置进行。
在步骤S2002中,如果找到条目,则过程前进至步骤S2003,否则前进到步骤S2004。
在步骤S2003中,物理扇区的原始地址替换为物理扇区的重映射地址,该重映射地址在找到的条目中表示。如果步骤S2002中没有找到该条目,则将读取的地址被确定为与由读取指令指定的逻辑扇区相对应的物理扇区地址。如果在步骤S2002找到该条目,则将要读取的地址被确定为与重映射表中找到的原始地址相对应的重映射地址。
在步骤S2004中,在预定的地址读取数据。
如上所述,在没有找到地址的时候,预先从对应于逻辑扇区的物理扇区读取数据,因为重映射表示出存储在逻辑扇区中的数据没有被重映射到其他物理扇区。
在找到地址的时候,从找到的重映射信息中重映射地址指定的物理扇区读取数据,因为在重映射表中找到的条目示出了逻辑扇区中存储的数据被重映射。
如果在卷空间中重映射数据,尤其是重映射到轨中的NWA而不是在剩余区域中,就可以更快速地读出数据。
如上述实施例所述,本发明可以用于驱动装置,其中假设文件系统最小化要重写的数据量,且在不用重写而写入数据的时候,文件系统通过询问驱动装置指示将数据写入未记录扇区。
(实施例4)
在本实施例中,例如对于UDF文件系统实现描述引导线和要求。
(使用伪重写方法的优点)
为了减少由于物理特性的复杂性,具有重写特征的新顺序记录介质被引入为伪可重写介质。该伪重写方法用于此伪可重写介质。下面描述引入该新顺序记录介质的一些好处。
1)类似于可再写(rewritable)介质,提供了可重写卷空间和无缺陷空间,换句话说,通过支持可重写机构和缺陷管理的驱动单元来确保与一次写入介质的兼容性。
2)区段(session)关闭和边界关闭不是必须的,因为只读驱动单元支持对未记录区域可以访问的伪重写介质。
3)可以使用元数据分区及其镜像。
(伪可重写介质的特性)
伪可重写介质的物理特性从文件系统驱动器所要求的观点来描述。
伪可重写介质支持卷空间中逻辑扇区的多轨记录和可重写功能。可以将多于一条轨用于记录。新轨可以被分配为保存的轨。在轨中将使用顺序记录模式,以简化空间管理。对于可记录区域的指针是下个可写地址(NWA),这是通过询问驱动装置而获得的。
当打算在记录的逻辑扇区上记录数据的时候,通过线性替换算法将数据记录在剩余区域中,或是记录在卷空间中的NWA上。作为将数据重映射到卷空间内NWA上的好处,甚至在所有的剩余区域都被记录了的时候,可以使用所有可用的介质容量。还支持读取修改写入操作,因此,每个逻辑扇区可以被分开重写。
替换或是从原始地址重映射数据的地址信息被存储为卷空间中的缺陷列表条目并通过驱动装置来管理。
(文件系统的写入策略)
总之,可以通过考虑要记录的数据类型来分配轨,该数据类型例如元数据或是诸如音频/可视数据的具体数据、静止图片数据、音乐数据等等。在多轨记录中,当用完了保存的轨的时候,就分配新的轨,适用于记录的数据的量。记录元数据的轨明确地表示为元数据文件或元数据镜像文件的范围。
如果伪重写介质具有这样的限制,即在卷空间的末尾分配轨之后,不能分配新的轨,就在中间状态使用多轨记录,其中在中间该状态中仅有一个AVDP记录在LSN 256中。对于ECMA 167要求,AVDP应该记录在三个位置中至少两个上(即,LSN 256、LSN-256以及最后LSN)。在此例子中,分配轨来将AVDP记录在最后LSN-256或最后LSN上。
也可以使用元数据镜像文件。在存储该盘用于存档的时候,推荐创建元数据镜像文件。对于在线使用的情况下,该实现为记录,使得记录在元数据文件和元数据镜像文件中的内容在每个文件中具有同样的偏移(offset),尽管由于每条轨的记录条件,在每条轨中NWA的偏移有时候可能不一样。
图21A示出逻辑格式化之后轨布局的例子。包括在LSN 256处AVDP的第一卷结构以及相关的文件结构被记录。随后,对于元数据记录分配轨,且元数据记录在轨中。卷空间中剩余的区域用于文件数据记录。
图21B示出记录一些文件之后的轨布局的例子。在第一轨用完之后分配新轨。因此,可以一个接一个地分配额外的轨。
图21C示出记录了一些文件之后的轨布局的另一个例子。在对于元数据记录的轨用完之后,可以在数据轨中分配元数据文件的额外区域作为范围,而不是轨。
(对于文件系统的要求)
对于伪重写方法的要求列在下面:
1)实施为通过询问驱动单元来辨别伪可重写介质。
2)不应该记录未分配空间位映射和未分配空间表。
3)不应该记录元数据位映射文件。
4)在写入额外数据记录之前,实施应该始终询问在每条轨中的NWA。如果发行写入命令到已经记录的区域,就使用缺陷列表条目。因此,由于缺陷列表的尺寸是受限的,所以这种要求对于减少不需要的缺陷列表条目是重要的。
5)不应重新使用删除的块来对于同样的原因询问NWA。
6)应该最小化将要重写的元数据,推荐仅应该重写目录文件条目。
产业应用
本发明用于对使用逻辑可重写机制的一次写入盘提供记录方法,本发明对于提供一种在记录装置或再现装置中使用的半导体集成电路也是有用的。

Claims (8)

1.一种记录方法,用于指示具有伪重写功能的驱动装置在一次写入盘上写入数据,所述一次写入盘包括卷空间,所述卷空间包括多条轨,所述伪重写功能允许所述驱动装置通过替换操作对将数据写入到已经记录区域的指令做出响应而将数据写入到未记录区域,
所述记录方法包括下面的步骤:
(a)接收用于至少指定将要写入的文件的数据的写入请求;
(b)指示所述驱动装置从所述一次写入盘的位置读取包含用于管理所述文件的元数据的元数据文件的文件条目,从而获得所述元数据文件的文件条目;
(c)获得表示所述多条轨中每条轨的位置的轨信息;
(d)基于所述元数据文件的文件条目和所述轨信息,从随后将写入元数据的所述多条轨中确定一条轨;
(e)指示所述驱动装置从所述一次写入盘的位置读取所述元数据,从而获得所述元数据;
(f)在除了步骤(d)确定的轨之外的轨中,获得表示随后将写入数据的位置的下一个可写入地址,所述轨从所述多条轨中选出;
(g)更新所述元数据以反映所述写入请求指定的数据写入;
(h)指示所述驱动装置将所述写入请求指定的数据写入所述一次写入盘中由所述下一个可写入地址表示的位置;以及
(i)指示所述驱动装置至少将部分所述更新的元数据写入所述一次写入盘中在步骤(e)读取所述元数据的位置,
其特征在于,所述方法还包括下面的步骤:
在步骤(f)之后和在步骤(g)之前,确定步骤(d)确定的所述轨内的下一个可写入地址是否有效;并且
在确定了步骤(d)中确定的轨中所述下一个可写入地址无效的时候,指示所述驱动装置分配其中随后将写入元数据的第一轨,以及其中随后将写入数据的第二轨,并更新步骤(f)中获得的所述下一个可写入地址为所述第二轨中的下一个可写入地址,
其中所述第一轨和第二轨被分配在步骤(f)所选的轨中。
2.根据权利要求1所述的记录方法,还包括下面的步骤:
指示所述驱动装置至少将所述更新元数据的一部分写入到所述第一轨中由下一个可写入地址表示的位置;
确定是否分配了所述第一轨,以及是否至少部分所述更新的元数据被写入所述第一轨中;并且
在确定分配了所述第一轨且至少部分所述更新的元数据被写入所述第一轨的时候,更新所述元数据文件的文件条目,以反映至少部分所述更新元数据的写入,并指示所述驱动装置将所述元数据文件的更新的文件条目写入到所述一次写入盘中在步骤(b)读取所述元数据文件的文件条目的位置。
3.根据权利要求1所述的记录方法,其中所述记录方法使用计算机程序执行。
4.一种系统控制器,用于指示具有伪重写功能的驱动装置在一次写入盘上写入数据,所述一次写入盘包括卷空间,并且所述卷空间包括多条轨,所述伪重写功能允许所述驱动装置通过替换操作对将数据写入到已经记录区域的指令做出响应而将数据写入到未记录区域,
所述系统控制器包括控制所述驱动装置的控制器,
其特征在于,所述控制器被配置为执行包括根据权利要求1所述的记录方法的所述步骤的处理。
5.根据权利要求4的系统控制器,其中所述控制器包括半导体集成电路。
6.一种用于在一次写入盘上写入数据的记录方法,
所述一次写入盘具有多个物理扇区,所述一次写入盘包括具有多个逻辑扇区的卷空间,所述多个逻辑扇区的每个对应于所述多个物理扇区中的一个,所述一次写入盘具有多条轨,所述多条轨的每条包括所述多个物理扇区中至少一个物理扇区,
所述方法包括下面的步骤:
(a)接收至少指定其中将写入数据的逻辑扇区的写入指令;
(b)获得表示所述多条轨中每条轨的位置的轨信息;
(c)基于所述写入指令指定的所述逻辑扇区和在步骤(b)中获得的所述轨信息,从其中随后将写入数据的所述多条轨中确定一条轨;
(d)确定所述写入指令指定的所述逻辑扇区是对应于记录的物理扇区还是对应于未记录的物理扇区;
(e)在确定了所述写入指令指定的所述逻辑扇区对应于未记录的物理扇区的时候,将所述数据写入所述未记录的物理扇区;以及
(f)在确定了所述写入指令指定的所述逻辑扇区对应于记录的物理扇区的时候,将所述数据写入步骤(c)中确定的轨中下一个可写入地址表示的物理扇区,产生包括重映射信息的重映射表,所述信息将所述记录的物理扇区的原始地址重映射到所述下一个可写入地址表示的所述物理扇区的重映射地址,并将所述重映射表写入所述一次写入盘中,
其特征在于,所述方法还包括下面的步骤:
在步骤(f)之后接收分配指令;以及
对所述分配指令做出响应而分配至少一条轨,
其中所述分配至少一条轨的步骤包括在步骤(c)确定的所述轨中分配第一轨和第二轨的步骤。
7.一种用于将数据写入一次写入盘上的驱动装置,
所述一次写入盘具有多个物理扇区,所述一次写入盘包括具有多个逻辑扇区的卷空间,所述多个逻辑扇区的每个对应于所述多个物理扇区中的一个,所述一次写入盘具有多条轨,所述多条轨中的每条轨包括所述多个物理扇区中至少一个物理扇区,
所述驱动装置包括:
用于对所述一次写入盘执行记录操作的驱动机构;以及
控制所述驱动机构的驱动控制部分,
其中所述驱动控制部分用于执行包括根据权利要求1所述的记录方法的所述步骤的处理。
8.一种记录装置,用于指示具有伪重写功能的驱动装置在一次写入盘上写入数据,所述一次写入盘包括卷空间,所述卷空间包括多条轨,所述伪重写功能允许所述驱动装置通过替换操作对将数据写入到已经记录区域的指令做出响应而将数据写入到未记录区域,
所述记录装置包括:
用于接收用于至少指定将要写入的文件的数据的写入请求的模块;
用于指示所述驱动装置从所述一次写入盘的位置读取包含用于管理所述文件的元数据的元数据文件的文件条目,从而获得所述元数据文件的文件条目的模块;
用于获得表示所述多条轨中每条轨的位置的轨信息的模块;
用于基于所述元数据文件的文件条目和所述轨信息,从随后将写入元数据的所述多条轨中确定一条轨的模块;
用于指示所述驱动装置从所述一次写入盘的位置读取所述元数据,从而获得所述元数据的模块;
用于在除了所述确定模块所确定的轨之外的轨中,获得表示随后将写入数据的位置的下一个可写入地址的模块,其中所述轨从所述多条轨中选出;
用于更新所述元数据以反映所述写入请求指定的数据写入的模块;
用于指示所述驱动装置将所述写入请求指定的数据写入所述一次写入盘中由所述下一个可写入地址表示的位置的模块;以及
用于指示所述驱动装置至少将部分所述更新的元数据写入所述一次写入盘中所述读取模块读取所述元数据的位置的模块,
其特征在于,所述纪录装置还包括:
用于在所述获取模块获取所述下一个可写入地址之后和在所述更新模块更新所述元数据之前,确定所述确定模块所确定的所述轨内的下一个可写入地址是否有效的模块;以及
用于在确定了所述确定的轨中所述下一个可写入地址无效的时候,指示所述驱动装置分配其中随后将写入元数据的第一轨,以及其中随后将写入数据的第二轨,并更新所述获取模块所获得的所述下一个可写入地址为所述第二轨中的下一个可写入地址的模块,
其中所述第一轨和第二轨被分配从所述多个轨所选的轨中。
CN2005800145512A 2004-05-10 2005-05-09 一次写入盘的数据记录/再现 Expired - Fee Related CN1957414B (zh)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US56953604P 2004-05-10 2004-05-10
US56953704P 2004-05-10 2004-05-10
US60/569,537 2004-05-10
US60/569,536 2004-05-10
US57761604P 2004-06-07 2004-06-07
US57773404P 2004-06-07 2004-06-07
US60/577,734 2004-06-07
US60/577,616 2004-06-07
US60549104P 2004-08-30 2004-08-30
US60/605,491 2004-08-30
US60548804P 2004-08-31 2004-08-31
US60/605,488 2004-08-31
US66823605P 2005-04-04 2005-04-04
US66823705P 2005-04-04 2005-04-04
US60/668,236 2005-04-04
US60/668,237 2005-04-04
PCT/JP2005/008823 WO2005109428A1 (en) 2004-05-10 2005-05-09 Data recording/reproduction for write-once discs

Publications (2)

Publication Number Publication Date
CN1957414A CN1957414A (zh) 2007-05-02
CN1957414B true CN1957414B (zh) 2011-04-20

Family

ID=34979252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800145512A Expired - Fee Related CN1957414B (zh) 2004-05-10 2005-05-09 一次写入盘的数据记录/再现

Country Status (7)

Country Link
US (1) US8072860B2 (zh)
EP (1) EP1745480A1 (zh)
JP (1) JP5128131B2 (zh)
KR (1) KR101066807B1 (zh)
CN (1) CN1957414B (zh)
TW (1) TWI345229B (zh)
WO (1) WO2005109428A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1745479A1 (en) * 2004-05-10 2007-01-24 Matsushita Electric Industrial Co., Ltd. Pseudo-overwriting data on write-once discs
US7821896B2 (en) * 2004-05-10 2010-10-26 Panasonic Corporation Data recording/reproduction for write-once discs
KR20070029704A (ko) * 2004-05-10 2007-03-14 마쯔시다덴기산교 가부시키가이샤 1회 기록 디스크들을 위한 데이터 기록/재생
WO2006006086A1 (en) * 2004-07-05 2006-01-19 Koninklijke Philips Electronics N.V. Device for and method of recording information on write-once record carrier
US8515249B2 (en) * 2005-10-17 2013-08-20 Mediatek Inc. Methods and apparatus for creating and playing a playable unfinalized recordable disc
JP4933532B2 (ja) * 2006-04-06 2012-05-16 パナソニック株式会社 追記型記録媒体に対するデータ記録方法及びデータ記録装置
JP5049518B2 (ja) * 2006-06-14 2012-10-17 株式会社日立製作所 記録方法及び光ディスク記録装置
JP4734215B2 (ja) * 2006-10-30 2011-07-27 株式会社日立製作所 記録方法及び光ディスク記録装置
EP2081111A4 (en) * 2006-11-06 2012-09-19 Panasonic Corp RECORDING DEVICE
US8271751B2 (en) 2008-04-24 2012-09-18 Echostar Technologies L.L.C. Systems and methods for reliably managing files in a computer system
US8738621B2 (en) * 2009-01-27 2014-05-27 EchoStar Technologies, L.L.C. Systems and methods for managing files on a storage device
JP5259780B2 (ja) * 2010-09-14 2013-08-07 株式会社東芝 映像ファイル作成装置および映像ファイル作成方法
JP6429124B2 (ja) * 2015-03-27 2018-11-28 パナソニックIpマネジメント株式会社 光ディスク装置、方法およびコンピュータプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448728A (en) * 1991-08-08 1995-09-05 Sharp Kabushiki Kaisha Storage medium control system for controlling a write-once read-many storage medium
US6502174B1 (en) * 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63146287A (ja) * 1986-12-10 1988-06-18 Ricoh Co Ltd 光デイスクの記憶管理方法
JP2002117548A (ja) * 2000-10-06 2002-04-19 Mitsubishi Chemicals Corp 情報記録媒体及び情報記録媒体の記録再生方法
TWI235927B (en) 2001-04-25 2005-07-11 Koninkl Philips Electronics Nv Methods and devices for recording or reading files on/from a sequential medium and sequential medium
JP4100913B2 (ja) * 2002-01-15 2008-06-11 株式会社リコー 情報再生装置、データ管理情報取得方法、データ管理情報取得プログラム、記憶媒体、及び再生システム
EP1745479A1 (en) * 2004-05-10 2007-01-24 Matsushita Electric Industrial Co., Ltd. Pseudo-overwriting data on write-once discs
KR20070029704A (ko) * 2004-05-10 2007-03-14 마쯔시다덴기산교 가부시키가이샤 1회 기록 디스크들을 위한 데이터 기록/재생
US7821896B2 (en) * 2004-05-10 2010-10-26 Panasonic Corporation Data recording/reproduction for write-once discs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448728A (en) * 1991-08-08 1995-09-05 Sharp Kabushiki Kaisha Storage medium control system for controlling a write-once read-many storage medium
US6502174B1 (en) * 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data

Also Published As

Publication number Publication date
EP1745480A1 (en) 2007-01-24
WO2005109428A1 (en) 2005-11-17
JP2007536675A (ja) 2007-12-13
KR101066807B1 (ko) 2011-09-22
KR20070012822A (ko) 2007-01-29
TW200606886A (en) 2006-02-16
CN1957414A (zh) 2007-05-02
JP5128131B2 (ja) 2013-01-23
US8072860B2 (en) 2011-12-06
US20080232210A1 (en) 2008-09-25
TWI345229B (en) 2011-07-11

Similar Documents

Publication Publication Date Title
CN1957414B (zh) 一次写入盘的数据记录/再现
US5029125A (en) Method of reading and writing files on nonerasable storage media
US8019925B1 (en) Methods and structure for dynamically mapped mass storage device
KR101208321B1 (ko) 1회 기록형 디스크들 상에 데이터를 의사-겹쳐쓰기하는 방법
US20060181993A1 (en) Apparatus for an method of recording digital information signals
CN1860547B (zh) 记录装置、再现装置、记录方法、再现方法和操作方法
CN1957416B (zh) 记录装置、主机装置、驱动装置、记录方法、再生装置、再生方法
KR100891088B1 (ko) 1회 기록 디스크 상에 데이터를 기록하는 방법 및 장치, 및반도체 집적 회로
JPH02281474A (ja) 記憶媒体のオートチェンジャ装置
CN101707060B (zh) 驱动装置
KR20070029704A (ko) 1회 기록 디스크들을 위한 데이터 기록/재생
US7447714B1 (en) Management of multiple virtual data copies
CN100573693C (zh) 在一次写入型盘上伪重写数据
US5875476A (en) Filing system for managing recording and retrieving of information
KR20030061948A (ko) 정보 저장 장치 및 그를 이용한 파일 관리 방법
CN101006510A (zh) 驱动装置
JP3641254B2 (ja) コンピュータシステム
JPH01282778A (ja) 光ディスクの記憶管理方法
JP3936839B2 (ja) データ保管システム
CN100412976C (zh) 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
JP2005004437A (ja) データ処理方法
JPH08212125A (ja) 情報記録方法
JPH08212121A (ja) 情報記録方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110420

Termination date: 20190509

CF01 Termination of patent right due to non-payment of annual fee