将流式音频视频数据写入磁盘驱动器的方法

文档序号:7913337阅读:256来源:国知局
专利名称:将流式音频视频数据写入磁盘驱动器的方法
技术领域
本发明总体上涉及一种磁记录磁盘驱动器,更具体地说涉及优化用于写入并且读取音频和/或视频(音频视频或“AV”)数据的磁盘驱动器。
背景技术
在用在计算机数据处理环境中的传统磁记录磁盘驱动器中,数据以称为固定块结构的格式存储在磁盘上的固定长度(固定比特数)物理扇区中。在FBA磁盘驱动器中,磁盘上的同心数据磁道具有共同的索引,它代表这些磁道的起始,并且每个磁道上的每个扇区具有一物理扇区号或地址。当前在计算机数据处理环境中使用的磁盘驱动器的特征在于随机存取模式和小数据块。相反,在AV环境中,数据处理的特征在于大顺序数据块的流,以及多个数据流的交错。例如,AV数据流的交错使得数字录象机(DVR)能够同时记录和播放实时电视,并记录两个电视节目。
用于在AV环境中进行数据存储的基准基于性能的单位成本。AV磁盘驱动器数据工作负荷分为占优势的大读取和写入,点缀以小读取和写入,小的读写可能频繁进行但只包含少量数据。因此,磁盘驱动器可能会由于旋转等待时间而花费相当多的时间等待,所谓旋转等待时间,即写磁头在下一次写入可以进行之前等待磁盘转动直到检测到索引所需要的延迟时间。
AV环境的另一个方面在于,如果磁盘上的数据扇区存在不可校正的错误,则没有时间来重新读取该数据。相反,DVR会注意到该数据不正确,并且试图隐藏丢失的比特,例如通过短暂地冻结AV数据流以掩盖该错误。
所需要的是这样一种AV优化的磁盘驱动器,它不会出现由于旋转等待时间而引起的延迟并且在数据错误的情况中重新读取该数据。

发明内容
本发明是一种用于通过将数据组织成簇(cluster),并且向读取/写入磁头已稳定到旋转磁盘上的目标磁道上之后所遇到的第一物理扇区开始写入所述簇从而将流式音频视频数据写入到磁盘驱动器上的方法。一个数据簇包含的数据块数与磁盘上的整数个磁道中的物理扇区数目相对应,从而单簇的写入是向磁盘上的整数个全磁道进行写入。即使该磁盘驱动器可以具有用来识别所有磁道中的第一物理扇区的物理索引,簇数据的写入也可以在无需索引的条件下进行。
在音频视频数据的交错存储期间,在多个记录任务循环进行直到完成所有任务时,在第一任务的第一部分中的簇在第一交错存储循环或时段期间被写入,然后将磁头定位到另一个磁道上,在那里从磁头遇到的第一物理扇区开始在下一个交错存储时段期间写入在第二任务的第一部分中的簇,而无需等待索引。
通过将块编号写入到物理扇区或通过将簇标记(clusterindicator)的起始写到写入该簇的磁道上,从而标识出簇数据的第一数据块所写入的位置。
因为音频视频数据是以全磁道簇增量写入的,所以可以在不增加显著性能冲击的情况下在线(传输中、飞行式,on-the-fly)计算用于纠错的奇偶校验扇区。因为可以通过与完整簇相关的奇偶校验来覆盖一个或多个完整扇区的丢失,所以可以取消对每个单独数据扇区进行的二级纠错。
为了更全面地理解本发明的特性和优点,应该参照以下详细说明以及附图。


图1显示出与磁盘上的单个数据磁道的八个物理扇区(S6...S5)相关联的八个固定长度逻辑块(B0...B7)的单磁道簇;图2为磁盘驱动器的示意图,显示出具有包含所记录的数据逻辑块的物理扇区的单磁道;图3为写入单个数据簇的过程的流程图;图4A显示出用于向物理扇区写入两个交错存储数据流的逻辑块的现有技术过程,它需要等待每个磁道的索引;图4B显示出用于向在完成对目标磁道的查找之后所遇到的第一物理扇区写入两个交错存储数据流的逻辑块的本发明过程;图5A显示出在现有技术FBA中数据和纠错码(ECC)在磁道上的布局;图5B显示出在本发明的簇结构中数据和纠错码(ECC)在磁道上的布局。
具体实施例方式
在本发明中,用于AV流式数据的基本单元是在磁盘上的整数个全磁道,被称为一个簇。如果该整数为1,则一个全磁道单元是该簇。所有的数据写入因此是全磁道写入。数据簇分解为整数个固定长度数据块,就象在传统的FBA格式中一样。簇中的数据块包含AV数据,并且在该簇中的至少一个数据块可以包含从一组包含AV数据的数据块中计算出的纠错信息。由于簇是整数个全磁道,所以簇中的数据块的数目等于在构成该簇的所有磁道中的物理扇区数目。
在没有现有技术的在逻辑块地址和磁道上的物理扇区号之间的关联的情况下,将数据写入到磁道中的物理扇区上。图1显示出八个固定长度逻辑块B0...B7的示例性单磁道簇,每个逻辑块是一个物理数据扇区的尺寸。将这些数据块这样写入到数据磁道上,从而如图中所示一样,数据块B0写入到数据扇区S6,数据块B1写入到数据扇区S7等。扇区S0...S7是在磁道上的物理扇区。扇区S0保存着数据块B2。在传统的FBA格式中,扇区S0将保存着数据块B0,S1保存着数据块B1,等等。
图2为方框图,显示出将逻辑块写入到这些物理扇区上的方法。磁盘驱动器促动器悬臂101使读/写(R/W)磁头102在磁盘103上大体上径向移动(如靠近磁头102的箭头所示),从而将它定位到目标数据磁道上。包含物理扇区S0...S7的数据磁道显示在磁盘103上。在优选的实施方案中,每个物理扇区具有记录在扇区起始处的扇区号或地址。这些扇区号在对磁盘进行格式化时被记录,此时还记录伺服定位信息。但是,本发明的关键方面在于格式是“无索引的”,即不需要用于标识磁道的起始的物理索引标记。即使在每个磁道上有一个初始物理扇区号S0,该扇区也不会用来标识磁道上的簇的起始。当将包含逻辑块B0...B7的AV数据簇写入到空磁道上时,将第一数据块B0写入到R/W磁头102所遇到的第一物理扇区,从而最小化了在R/W磁头必须等待索引或特定物理扇区的情况下会出现的旋转等待时间。
当写入操作开始时,使R/W磁头102移动到预先被控制逻辑142识别为具有自由空间的磁道的数据磁道。对目标磁道的这种“查找”是通过磁头102从磁盘中读取预记录的伺服定位信息,并由磁头读写处理器140给伺服控制器141发信号以使促动器悬臂101移动所要求的方向和距离来进行的。在这个查找操作进行期间,来自AV数据源(例如,数字TV,DVR)的数据流被传送通过接口控制器144,通过控制逻辑142被组织成数据簇并且被装载进缓冲存储器143。
缓冲器143用来保存从AV数据源145接收的写入数据。通常,缓冲器143的空间大于1簇。主数据流(host data stream)通常以一组具有起始地址和长度的数据块的形式被传送。在一些流系统中,例如基于对象或文件的流中,命令由对象标识符、数据组(dataset)、偏移地址和长度构成,起始地址是所标识的目标的基地址和偏移地址的和。从起始地址确定在缓冲器143中用来存储数据块的位置。由于将数据写入到磁盘上的空簇上,所以簇是从通常包含在自由空间表中的标识为空的簇组中选择的。当存在多个数据流时,主机应该,比如通过利用目标标识符来标识数据所属的数据流。
优选在簇边界上开始一个数据流,并且顺序将进一步的数据放在这些簇中。当使磁头102定位并且稳定下来以进行写入时,将簇的第一块B0写入所遇到的第一物理扇区,在图1和2中示为S6。这个扇区S6现在变为簇的第一扇区。剩下的簇数据块B1...B6然后被顺序写入到物理扇区S7和S0...S5(图2显示出块B7还没有被写入,因为物理扇区S5还没有在磁头102下通过)直到将完整的簇写入到该全磁道中。
图3显示出在本发明中的基本写入操作。该过程中的初始步骤涉及设置磁盘驱动器以便传送来自AV数据源的数据。标为n的对簇的读取或写入命令对标号为0-m-1的数据块的簇(在图2中所述和所示的实施例中,m=8)进行操作,如200所示。控制逻辑142计算出对于簇n(202)而言在磁盘驱动器上的磁道(c,h)。(由于大多数磁盘驱动器具有多个磁盘,并具有与特定磁盘表面相关的R/W磁头,所以磁头被标识为“h”,与那个磁头相关的磁道被标识为柱面“c”,表示排列成“圆柱体”的磁盘叠上的所有磁道)。然后指令该驱动器查找该磁道(204)。
伺服控制器141和控制逻辑142识别出所遇到的第一物理扇区以及该簇的第一块对于该磁道(206)将被存储的位置。然后,将第一块B0写入到所遇到的第一物理扇区(在图2的实施例中为S6),并且将该簇中随后的数据块写入到后续的物理扇区(208)中。随后剩余磁道(210,212)也一样依次进行,直到完全写完该簇(214)。没有显示出的是更新驱动器的内部表(包括作为簇起始的物理扇区的位置)以使得以后能够进行数据查找和空簇的识别的过程。在一个实施方案中,因为每个数据块(B0...B7)的标识被写入到数据块所处的物理扇区中,所以可以识别出簇的起始扇区。
可以使用任何类型的文件系统或自由空间管理器来注意空簇,并且自由空间的位置对于控制逻辑142而言是已知的。例如,传统的基于文件分配表(FAT)的系统通常采用其大小是磁道尺寸的倍数的簇尺寸。对于具有分区记录结构(zoned-recording architecture)的磁盘驱动器而言,磁道容量,从而簇尺寸,将根据区而变化。因此在分区驱动器中,这将需要调节存储单元尺寸(例如,在一个区中每个簇具有250个数据块/物理扇区,在另一个区中每个簇具有240数据块/物理扇区)。
当AV数据流包含多个簇时,则使写入动作按一系列单独的单簇写入进行,但是优选写入到一系列邻近或相邻磁道上。不正好是一个簇长度的数据写入被上舍入为一整个簇长度。
通过向磁头稳定到所要求的磁道上后从写磁头下通过的第一物理扇区写入簇,本发明提供了在使用交错存储的情况下很显著的优点。在交错存储期间,多个记录和/或回放任务之间循环,直到完成所有任务。当记录数据时,在每个循环的开始,数据的下一个部分再次被写入到第一可用扇区上,而不用等待索引。例如,在DVR中,可以同时记录两个视频流。
在图4A-4B中图解了其优点,该图显示出一组磁道,不同的任务与这些磁道相关,在一个例子中,在一簇中具有256个数据块(B0...B255)。在图4A中显示出在现有技术FBA中的两个交错存储簇写入的顺序,在图4B中显示出本发明的无索引格式。首先在图4A中考察一个两簇写入,可以看出驱动器在将第一簇的第一逻辑数据块B0写入到在磁道2中在索引(S0)之后的第一物理扇区之前必须等待索引扇区411来到磁头之下。以虚线412显示出这个没有被利用的时间(查找时间和旋转等待时间)。在驱动器结束写入第一簇之后将有进一步的等待时间,然后从磁道2查找到磁道5以在那里写入第二簇,因为需要再次等待索引411。以虚线413显示出这个未被利用的时间。在图4B的新的无索引格式中,磁头能够在将磁头稳定到磁道2上后立即就开始将第一数据块B0写入到一个新扇区上。该扇区示为物理扇区S2。而且,将第二簇写入到在磁道5所碰到的第一物理扇区(扇区S6)消除了第二等待时间。在完成写入第一交错存储簇和开始写入第二交错存储簇之间,仅有的延迟是查找和稳定到新的磁道所用的时间,如虚线414所示。而图4A的现有技术方案需要4圈磁盘旋转(2圈用来写入全磁道簇,2圈用来等待索引)来完成交错存储任务,图4B的无索引方案需要2-3圈转动(2圈用来写入完整磁道簇,而不到1圈的旋转用来查找磁道)。另外,如果在磁道2和磁道5处的数据簇不是被交错存储而是来自相同的AV数据流的话,则当回读该数据流时,已经最佳地配置了磁道偏移(track skew)(即,磁头在从磁道2查找至磁道5之后可以立即读取)。这减少了读取延迟。
在上述的优选实施方案中,物理扇区具有地址号,因此在磁头从查找状态稳定下来之后所遇到的第一扇区的扇区号被读取出并且与逻辑数据块B0相关联。还有其它方法来写入到所遇到的第一扇区并且将那个扇区标识为所记录的簇的起始。这可以通过许多方式来完成*将块号(B0...B255)写入到这些物理扇区中,*将簇标记的起始写在该磁道上(例如,在其中一个物理扇区内),*将簇起始位置存储在存储器中,并且将该信息存储在驱动器上的特定位置中(例如,作为部分自由空间或文件位置信息)。
净效应是对于写入操作而言消除去了旋转等待时间,并且一旦磁头稳定到磁道上,则所有写入只需要磁盘旋转一圈就能完成。对于记录多簇数据时所需要的磁道到磁道的查找和磁头切换而言,本发明是优选的,因为在新磁道上所碰到的第一扇区就是写入继续的扇区,从而不用等待索引或预定偏移(skew)。
读取操作没有受到影响,仍然是零等待时间操作。在读取操作期间,在查找之后所碰到的第一物理扇区将是随机。因此,在写入操作中引入的随机化将没有任何净效应。当磁头到达磁道上时,它开始读取它们所遇到的扇区。对于需要按序进行数据传送的主机系统而言,一旦读到第一簇扇区就可以将数据输送给主机。
本发明的一个重要特征在于,能够增加磁道上的奇偶校验扇区,而不会损失读取/修改/写入性能。IBM的美国专利5737344披露了在数据磁道上使用奇偶校验扇区以便保护数据扇区。在本发明中,因为数据以全磁道簇增量被写入,所以可以在传输中(在线,on-the-fly)计算奇偶校验扇区,且不会产生显著的性能冲击。另外,因为现在可以通过奇偶校验覆盖一个或多个完整扇区的丢失,所以可以取消数据扇区上的二级纠错码(ECC)以及每个扇区上的其它开销(overhead)例如双同步(dual sync)。由于磁道通常具有200个以上的扇区,所以每个磁道增加2个奇偶校验扇区在容量方面会有1%的损失,这比通过取消二级ECC(每次交错每字节1.2%)和双同步(4-5%)所补偿的要大。没有通过一级ECC校正或不能同步的任何扇区由奇偶校验扇区在传输中(在线,on-the-fly)进行校正。
图5A显示出现有技术FBA结构的ECC方案,而图5B显示出本发明的AV簇结构的ECC。在FBA系统(图5A)中,可以单独地访问每个物理扇区501-504,因此每个扇区必须由二级ECC(相应为511-514)保护以确保数据完整性。在本发明的簇结构(图5B)中,即使将簇写入到相邻物理扇区601-604,也可以在这些簇中对数据进行处理。因此,ECC扇区611可以应用在整个簇上,从而使得各个扇区601-604不会受到二级ECC的阻碍。ECC扇区611将覆盖扇区601-604中任何一个的数据丢失。
当前硬盘通常被规定对于每1013比特读取而言具有大约为1比特错误的硬错误率(10-13的错误率)。在本发明的簇结构中,假设原始坏扇区率(没有同步或一级ECC无效)为10-5,并且每200个数据扇区具有2个奇偶校验扇区,则具有未校正的扇区的磁道的概率为10-9。这对应于输送给主机的硬比特错误率10-17。因此,本发明明显比当前磁盘驱动器更加可靠。
当数据扇区具有一级ECC不能校正的错误(扇区循环冗余校验无效),或者如果不能读出同步信息,则在将数据输送给主机之前将校正该丢失的扇区。一旦已经读取了在奇偶校验组(parity group)中的所有数据扇区,则可以在无需重新读取该数据的情况下重新构建2个以下的坏扇区。另外,由于错误的位置对于驱动器而言是已知的(它们在技术上被称为“消失错误”(疑符,erasure)),所以重新构建过程可以在读取该磁道结束之后在大致一个扇区时间内完成。这将提供优于当前错误恢复程序例如重试和软件ECC校正的相当大的性能优势。这种性能对于实时流式数据流而言是至关重要的。
对奇偶校验信息编码具有各种方案。两个优选的方案是里德-索罗蒙Reed-Solomon(RS)码和奇-偶码。RS码基本上类似于一级ECC。用在奇偶校验计算中的扇区数目被称为奇偶校验组。如果每个奇偶校验组的扇区数目被限制为255,则可以使用具有两个检验符号(象数据扇区中的一个交错)的8位符号尺寸来作为ECC以填充2个奇偶扇区。这将校正一个奇偶校验组中的任意两个坏扇区。奇偶码采用行和对角奇偶方案来形成2个奇偶扇区,这可以校正在一个奇偶校验组中的任意两个坏扇区。这两个方案都可以扩展到任意奇偶校验组尺寸和坏扇区数目。
在分区驱动器中,每个磁道的物理扇区数目在各区域之间是不同的;因此在一个奇偶组中的数据扇区的数目也可以变化。另外,在一个磁道上可以有一个以上的奇偶校验组。例如,如果在一个磁道上具有400个数据扇区,则最好使用2个奇偶校验组来限制每个奇偶校验扇区的数据扇区数目。这将导致簇尺寸和奇偶校验组尺寸不同。由于缺陷管理(标出磁道上的缺陷扇区),在簇尺寸上也可以有不同。
为对本发明进行性能测试,使用采用零等待时间写入方案的外部文件系统来作为进行比较的基准,给其分配一个100%的性能数值。在基准系统中,零等待时间写入不会改变索引扇区在磁道上的位置,因此将块Bn写入到扇区Sn上,但是可以无序地写入这些扇区。数据写入可以在缓冲器包含数据块Bn时并且磁头位于Sn上时开始。如果当磁头已稳定到磁道上时用于数据磁道的所有块处于缓冲存储器中的话,则零等待时间写入只需要旋转一周就可以完成,但是如果在磁头已稳定时还没有接收到一些数据块的话,则需要转动一圈以上。由于最糟糕情况下的性能在AV环境中尤为重要,所以操作被限定为一个全数据带或区域查找加上完成一个全磁道扇区的写入的时间。上述本发明的格式是基准性能的115-135%,这意味着它在进行写入操作时快15-35%。如果将簇尺寸选择为3个全磁道,则性能提高为179-211%。虽然更大的簇尺寸对于处理能力具有很大的影响,但是它需要按比例增大的缓冲器。
虽然已经参照优选实施方案对本发明进行具体显示和说明,但是本领域普通技术人员应该理解的是,在不脱离本发明的精神、范围和教导的情况下可以在形式和细节上作出各种变化。因此,所披露的发明主要应该被认为是举例说明,并且其范围应该由所附权利要求限定。
权利要求
1.一种用于从主机将数据写入到磁盘驱动器的方法,该磁盘驱动器具有用来写数据的磁头和具有多个数据磁道的磁盘,每个数据磁道具有多个物理扇区,该方法包括接收来自主机的数据流;将该数据流组织成多个数据簇,每个簇具有多个数据块,其中在一个簇中的数据块的数目等于在一个磁道中的扇区数目的整数倍;将磁头定位到将要开始写入数据流的磁道上;将第一簇的第一数据块写入到磁头稳定到所述磁道上之后该磁头所碰到的第一物理扇区上;并且将该第一簇的随后数据块写入到该磁头所碰到的后续物理扇区上。
2.如权利要求1所述的方法,还包括,在写入第一簇之后,将该磁头定位到第二磁道上,将第二簇的第一数据块写入到磁头稳定到所述第二磁道上之后该磁头所碰到的第一物理扇区上,并且将第二簇的随后数据块写入到该磁头所碰到的后续物理扇区上。
3.如权利要求1所述的方法,还包括存储至少一个数据块的物理扇区位置。
4.如权利要求3所述的方法,其中存储位置信息包括将数据块号写入到写入该数据块的物理扇区中。
5.如权利要求3所述的方法,其中存储位置信息包括在写入该簇的磁道上写入簇标记的起始。
6.如权利要求1所述的方法,其中,在每簇中的至少一个数据块包含纠错信息,其中,将数据流组织为多个数据簇包括从每个所述簇中的一组数据块计算出每簇的纠错信息。
7.如权利要求6所述的方法,其中计算纠错信息包括计算奇偶校验信息。
8.如权利要求6所述的方法,其中计算纠错信息包括计算里德-索罗蒙纠错码。
9.如权利要求1所述的方法,其中所述整数倍数为1,由此将在第一簇中的所有数据块写入到同一磁道中的物理扇区上。
10.如权利要求1所述的方法,其中所述整数倍数至少为2,并且其中将随后数据块写入到后续物理扇区上包括进行写入直到在第一磁道中的物理扇区已经被填满,然后将该磁头定位到相邻磁道上并且向所述相邻磁道中的相继的物理扇区上写入,直到第一簇中的所有数据块被写入。
11.如权利要求1所述的方法,其中所述主机是一种音频视频系统,并且其中数据流是音频视频数据流。
12.如权利要求11所述的方法,其中所述音频视频数据流是一种交错数据流。
全文摘要
将流式音频视频数据写入磁盘驱动器的方法将数据组织为簇,并在读/写磁头稳定到旋转磁盘目标磁道上后开始将簇写入碰到的第一物理扇区。一簇所含数据块数与盘上整数个磁道中的物理扇区数相应,故写入单个簇是写磁盘上整数个全磁道。即使驱动器可有识别所有磁道第一物理扇区的物理索引,簇数据写入也可不管索引位置。在音频视频数据交错存储,循环多个记录任务直到完成所有任务时,在第一交错期间写入第一任务的第一部分的簇,然后将磁头定位到另一磁道,在下一交错期间写入第二任务的第一部分的簇从磁头碰到的第一物理扇区开始,无需等待索引。将块号写入物理扇区或在写入该簇的磁道上写入簇标记的起始来标识写入簇数据的第一块的位置。
文档编号H04N5/781GK1503225SQ0315496
公开日2004年6月9日 申请日期2003年8月19日 优先权日2002年8月23日
发明者史蒂文·R·赫兹勒, 丹尼尔·F·史密斯, F 史密斯, 史蒂文 R 赫兹勒 申请人:日立环球储存科技荷兰有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1