专利名称:在光盘上存储信息的方法
技术领域:
本发明总的来说涉及在光盘上存储信息的方法。更特别的是,本发明涉及一种存储方法,其中以ECC块的形式存储信息。同时,本发明还涉及从这种光盘读取信息的方法。
此外,本发明涉及用于向/从光存储盘写/读取信息的磁盘驱动装置,这种磁盘驱动装置还将表示为“光盘驱动器”。
背景技术:
正如公知的,光存储盘包括至少一个磁道,存储空间既可以以连续螺旋的方式又可以以多个同心圆的方式,其中可以以数据图形形式存储信息。光盘可以是只读型的,其中信息在制造时被记录,该信息只能由用户读取。所述光存储盘也可以是可写型的,其中信息可以由用户存储。这种光盘可以是一次写入型的,其只能被写入一次,或者是可重写型的,其可以被写入很多次。本发明原则上涉及所有类型的光盘,但是为了举例说明,将对可重写型光盘进行具体说明,尽管如此,该示例不应当被认为是将本发明的范围限制到该领域。由于一般来说光盘的技术,在光盘中存储信息的方式,以及从光盘中读取光盘数据的方式都是公知的,因此在此没有必要更加详细的描述该技术。
当在记录介质上存储信息时,信息根据预定的格式在数据字中编码。对于不同的应用,存在不同的格式。一个普遍的问题是,在写和/或读时,会发生错误,因而从记录读回的数据与原始数据不一致。这是不希望的。因此,已经开发出多种纠错方案,能够在一定程度上纠正数据的错误。这种纠错方案涉及添加纠错位到原始数据中。在特定类型的纠错方案中,预定数量的原始数据和纠错位根据预定的算法被混合在一起。该组合构成纠错码块(ECC块)。
由于ECC块的编码方案对于那些本领域技术人员来说是已知的,同时本发明并不涉及编码方案本身,因此在此将省略对编码算法的详细论述。为了举例说明,参照DVD标准ECMA267“120mm DVD只读光盘”,1997年12月,第4部分“数据格式”。同时,参照Van Dijk等人的美国专利63367049及6378100,其描述了一种用于编码多字信息的方法。
基本上,ECC块包括预定数量的码字,每个码字具有预定长度,即包括预定数量的数据字节和预定数量的纠错字节。因此,ECC块可以被看作是码字的集合。当向存储介质写入ECC块时,一个ECC块的码字的各个字节按预定顺序被写入,以便一个码字的字节在物理上相互以相对较大的间距进行定位。在从存储介质中读取时,如果通过将码字的所有字节按照正确的顺序重构完整的码字,则可以仅解码该码字。在存储介质上各个字节的分布使得即使仅需要解码一个码字,也必须读取整个ECC块。
将会理解到,ECC编码的鲁棒性取决于纠错字节的数量与数据字节的数量之比码字包括的纠错字节越多,可以校正的错误就越多,但是折衷办法在于减少码字的数据容量。在任何情况下,如果纠错字节的数量固定,则在一个码字中可以校正的错误的最大数量也是固定的。如果一个码字中错误的实际数量超过所述最大值,则作为一个整体所述码字不能在没有错误的情况下被解码。这将被表示为ECC块的误差敏感性敏感性越低,则可以被纠正的错误就越多。
存在朝向减少数据存储设备的物理尺寸的趋势。近来,开发了用于小磁盘(SFFO)的磁盘驱动器,适合在诸如移动电话、个人数字助理(PDA)等移动设备中实现。用于SFFO的标准仍然在开发中。当开发一个新的标准时,如果这种新的标准可以尽可能多的基于现有的标准则是很有益的,因为用在新的标准中的编码器和解码器就可以基于已为现有标准开发的编码器和解码器的技术。用作SFFO标准的基础的一种潜在的适合标准是Blu-Ray磁盘(以下表示为BRD),本发明依靠BRD标准的背景设计。
在BRD标准中,一个ECC块具有64k字节(数据字节)的大小。当在磁盘上写时,这种块占据大约71mm的磁道长度。最小的磁道,即内磁道,在BRD中具有24mm的半径,因此具有大约150mm的长度,这比一个64k字节的ECC块占据的磁道长度要长。
SFFO磁盘具有半径约为6mm的内磁道,因此内磁道的长度约为38mm,这比一个64k字节的ECC块占据的磁道长度要小。换句话说,如果在此情况下使用现有的BRD标准,ECC块将占据SFFO磁盘的内部区域中的大约两个相邻的360°磁道部分。
这种情况将增加ECC块的误差敏感性,至少对于某些类型的误差来说。
第一个例子是突发误差(burst error),即通常与磁盘的机械不规则性相关的相对较大的误差,例如灰尘颗粒、指纹、划痕等。这种机械不规则性典型地具有比两个相邻磁道之间的距离大的物理尺寸,从而必然是突发误差将影响两个或多个相邻的磁道。在ECC块将扩展到两个相邻块的情况下,一个突发误差将引起在相同的ECC块内的两个误差由一个突发误差破坏的ECC块部分现在有两倍大。
第二个例子是随机误差,即相当小但是对于可能影响两个相邻磁道来说却足够大的误差。目前,在ECC块扩展到两个相邻磁道的情况下,会发生在某一半径,一个相同码字的两个字节对齐,即定位在相邻磁道中相互相邻的位置。在这种情况下,随机误差,很小,然而会影响这种一个字的两个字节,即导致一个字中两个误差。此外,BRD的标准交错过程使得如果一个码字的两个字节对齐,则极有可能相同的情况应用到相同码字的更多对字节中,此外极有可能相同的情况应用到相同ECC块的更多码字中。
本发明的主要目的是克服所述问题,或至少减少ECC块的误差敏感性。
发明内容
为了减轻所述与减少记录盘的记录磁道的半径有关的至少某些所述问题,本发明提出使用具有32kB大小的ECC块。与64kB的ECC块相比,这种ECC块所占的磁道的物理长度被减少因数2,这导致大约36mm的长度,即比一个360°的磁道部分小。
应当注意的是,当一个ECC块的大小被减少因数2时,可以被纠正的突发误差的最大尺寸也被减少因数2。然而,对于随机误差,32kB的块的纠错能力与64kB的块的纠错能力相同。因此,即使随机误差会导致在两个连续的32kB的块中的两个误差,这两个误差将总是出现在两个不同的码字中,即这种随机误差现在将仅会导致每个码字一个误差。因此,基本上每个32kB的块对随机误差的敏感性与64kB的块对这种随机误差的敏感性相同。
当然,也可以基于32kB的ECC块开发一种新的标准。但是,这不是最适宜的最好是尽可能地保留BRD标准。为了满足这一目标,本发明提供一种使用用于64kB的ECC块的BRD标准作为起始点来计算32kB的ECC块。
本发明的这些及其他方面、特征及优点将参照附图通过以下对本发明的优选实施例所作的详细说明作进一步的解释,附图中相同的参考标记表示相同或相似的部件,其中图1示意性地示出了一光盘驱动器的相关部件;图2示出了一数字数据流;图3示出了一个248字节的码字;图4示出了一个初级矩阵;图5示出了一次级矩阵;图6示意性地示出了在行变换之后的次级矩阵;图7示意性地示出了在插入BIS列之后的矩阵;图8示意性地示出了块段(block segments)的写入;图9示意性地示出了随机误差的结果;图10示意性地示出了根据本发明的次级矩阵;图11示意性地示出了在循环行变换操作之后的该矩阵;图12示意性地示出了在插入BIS列之后的该矩阵;图13示意性地示出了写入字节作为块段;图14示意性地示出了随机误差的作用;以及图15示意性地示出了计算155×248矩阵的过程的实施例。
具体实施例方式
下面,将使用符号z(x)=MOD(x,y)来表示x的函数,通过如果x>0则减去n*y,或者如果x<0则将n*y加上x从而导致z的值在0≤z≤(y-1)范围内,n为整数。
此外,符号z=DIV(x,y)将用于表示除法函数,其中x被y除(x/y),结果被四舍五入为最接近的整数。
图1示意性地示出了光盘驱动器1的相关部件,可以在光盘2上存储信息。光盘驱动器1包括处理电路4,其在输入端3接收将要存储的来自任意数据源(未示出)的信息。
图2示出了作为数字数据流6接收的信息,被表现为字节“序列”7,其此后也被表示为数据字节Bd(α),α为用作系数的整数。假定“序列”从左至右传送,并且其数据字节按Bd(1)、Bd(2)、Bd(3)等的顺序到达处理电路4,正如图2中从右至左所示的。
处理电路4提供要写入的字节到读/写装置5,其对光盘2执行实际的写入。读/写装置5包括用于旋转光盘2的旋转装置,用于产生光写入束的激光装置等等,正如那些本领域技术人员很清楚的。由于这种读/写装置本身是已知的,因此这里没必要对这种读/写装置进行详细描述。然而,应当注意的是,字节被写入光盘的顺序与通过处理电路4接收时字节的顺序不相同。
下面,将对字节的写入顺序进行说明,首先根据现有的BRD标准,随后根据由本发明提出的方法。所述说明将以矩阵表示,同时字节将被表示为占据这种矩阵中的位置。这种表示在某种意义上阐明了,事实上,可以通过实际使用矩阵存储器来实现信息写入处理。然而,将会理解到这里矩阵仅仅是作为解释的工具来使用,而决不是作为实现的工具。最后,唯一的事情就是字节写入顺序,并且知道哪个字节属于哪个码字。那些本领域技术人员可以设计一个处理电路从而按所需的顺序写入字节。
首先,处理电路4执行码字构造步骤。
从在输入端3接收的数据字节Bd中,处理电路4首先根据预定的纠错码构造码字11。虽然其他纠错码也是可用的,但是通用且公知的纠错码为Reed Solomon码,以下将假定码字是依照该Reed Solomon码的。处理电路4接收数量为Nd(Nd小于248)的数据字节,并计算纠错字节的数量Ne(Ne为248-Nd)。合起来,这些Nd数据字节和对应的Ne纠错字节构成了一个具有长度为248字节的码字11,如图3所示。对于以下说明,Nd和Ne的准确值并不重要。需要充分提及的是,如果一个码字的所有Nd数据字节和所有Ne纠错字节都是可用的,则可以在该码字中检测和纠正某些错误;广义的说,就是增加的纠错字节越多,则可以纠正越多的字节。
从一组304个这种码字11中定义一个ECC块,而不包含另一个码字的任何字节。这样,一个ECC块包括304×248=75392个字节。
在图4中,ECC块被表现为一个矩阵10,其中示出了304个码字作为列0、1、2...303,并且其中这些码字11的字节被表示为248个行0、1、2...247。由于在该矩阵10中每行都正好包含一个码字,因此以后该矩阵将被表示为初级矩阵。
该初级矩阵10的75392个元素以下被表示为元素e(i,j),其中i表示行数,j表示列数。参照图2,元素e(i=0-(Nd-1),0)对应于第一码字11(0)的数据字节Bd(α=1-Nd),元素e(i=0-(Nd-1),1)对应于第二码字11(1)的数据字节Bd(α=(Nd+1)-2Nd)等等。元素e(i=Nd-247,0)对应于纠错字节,其将被表示为Be(β=1-Ne),β为用作系数(index)的整数。
从该初级矩阵10中,构造具有152列496个字节的次级矩阵20,每列包括两个码字的字节。该次级矩阵20如图5所示。次级矩阵20的元素将被表示为f(k,1),其中k表示行数,1表示列数。对于0到151之间的每个1,通过码字11(21)和11(21+1)的字节填充列1,即初级矩阵10的元素e(i=0=247,21)和e(i=0-247,21+1)。初级矩阵10的元素e(i,21)放置在次级矩阵20的位置f(2i,1),同时初级矩阵10的元素e(i,21+1)放置在二级矩阵20的位置f(2i+1,1)。这样,原始304×248 ECC块矩阵10的元素e(i,j)根据以下关系被置换为152×496矩阵20的元素f(k,1)k=2ij=0,2,4,6,8,...302(1a)1=j/2 j=0,2,4,6,8,...302(1b)k=2i+1 j=1,3,5,7,9,...303(1c)1=(j-1)/2 j=1,3,5,7,9,...303(1d)下一步,对152×496矩阵20的元素f(k,1)执行行变换操作,以获得152×496第三矩阵,其元素将被表示为g(m,n),如图6所示。行0和1保留在适当的位置,行2和3的元素f(2,1=0-151)和f(3,1=0-151)向左移3位(即到位置g(m,n),m=k,n=1-3),行4和5的元素f(4,1=0-151)和f(5,1=0-151)向左移6位(即到位置g(m,n),m=k,n=1-6),等等。一般来说,对于系数i=0-247,行2i和2i+1的元素f(2i,1=0-151)和f(2i+1,1=0-151)被变换到位置g(m=k,n=1-3(i-1))。这些变换操作是循环的,这意味着左侧消失的元素会添加到右侧。这可以通过公式n=MOD(1-3(i-1),152)来表示。
因此,在某一行的元素呆在该行内,即对于所有的元素m=k。
该行变换操作的目的是防止比特滑动(bit slip),即让所有码字从写入磁盘的同步图案中受益,正如那些本领域技术人员将会理解的。
下一步,引入三个BIS列41,每个BIS列具有496字节到第三矩阵30中,以获得155×496第四矩阵40,其元素将被表示为h(p,q),如图7所示。
BIS列4以规则间隔插入,即插在第三矩阵30的列37和38之间、列75和76之间以及列113与114之间。每个BIS列包含8个码字,每个62字节。每个码字由30个数据字节和32个奇偶校验字节构成,从而可以非常好的保护所述码字以免错误(比主数据好)。
BIS列41用作突发指示符(BIS=Burst Indicator Subcode)。在解码时,BIS列被首先解码。如果在磁盘中两个或多个随后的BIS符号需要纠正,则这是突发误差的指示。该信息在主数据码字的纠正期间被应用于擦除,由此增加了可以被校正的错误的数量。
如上所示,所述BIS列包含24个码字,每个码字62字节。与主数据类似,这些码字被分成段,每个段包含每个码字的一个符号。在第六步,对BIS列的元素应用循环行变换,类似于如上对第四步所述的,以便保护所有的BIS码字同样不遭受比特滑动。
如上所示,BIS码字由30个数据字节和32个奇偶校验字节构成。所述30个数据字节为信息提供存储空间。换句话说,所述BIS列平行于主数据通道构成辅助数据通道。该辅助数据通道的一部分被用于存储寻址信息。ECC块被分成16组,称为扇区,每个31行。每个扇区包含一个地址,其存储在前三行的BIS列中(给出9个符号存储寻址信息)。
如果BIS码字被直接分成段,与主数据通道中的相同,则所有的奇偶校验符号将在ECC块的最后256行BIS列中结束(end up)。在这些行所包含的扇区中这将不会留下任何空间来存储地址。而是,码字的符号被分成段,使得初始24×62矩阵的前6行结束在每个扇区的前三行中。奇偶校验符号结束在每个扇区的后16行中。换句话说,BIS码字的符号仍然被分成段,但是是以这种方式进行,例如码字1的第一个符号可以在与码字10的第五个符号相同的段中结束。由于码字中的所有符号都同样重要,因此对于纠错能力没有任何暗示。
所述地址信息可以被看作是16×9矩阵(ECC块中对于16个扇区中的每个扇区9个符号一个地址)。该矩阵应当以这样一种方式被拷贝成原始的24×62个BIS矩阵的前6行,即在24×62矩阵转换到3×496矩阵之后,地址按正确的顺序在每个扇区的前三行结束。这被称为地址预交错。
在上述步骤之后,所得到的矩阵的元素被逐行写入磁盘中。在图8中,所得到的ECC块的磁道记录被表现为纵向带。该记录包括496个块段12(p),每个块段12(p)包含一行h 155个字节(p,q=0-154)。换句话说,在每两个连续块段12(p)和12(p+1)的组中每个码字11(j)具有一个字节e(i,j)。因此,一个码字11(j)的两个连续字节e(i,j)和e(i+1,j)之间的间距总是尽可能的大。还可以看出,不可能重构所有码字11(j)的所有数据字节,直到已读取了ECC块的所有块段12(p)为止。
图9示意性地示出了接近磁盘内径的一个64k字节ECC块的磁道记录。如图中所示,磁盘上该ECC块的长度大约对应于2×360°磁道长度,从而在一个实际的长度内,一个磁道13a中的块段与相邻磁道13b中的块段属于相同的ECC块。在图9的放大图中,示出了随机误差。该随机误差14具有较小的尺寸,但是该随机误差14的大小仍然影响到磁道13a中的三个相邻元素以及磁道13b中的三个相邻元素。磁道13a中三个受影响的相邻元素属于三个不同的码字;磁道13b中的三个受影响的相邻元素适用相同的情况。然而,可能会发生相邻磁道13a和13b的块元素或多或少对齐的情况,从而磁道13a中三个受影响的相邻元素之一与磁道13b中三个受影响的相邻元素之一属于一个相同的码字,如图9所示,对于用星号表示的元素。因此,该随机误差14将导致一个码字中两个误差。很明显,同样的情况将适用于其他的元素,特别是直接与用星号表示的元素相邻的那些元素。
本发明提出了一种算法,用于计算写入码字11字节的新的顺序,以便写入信息可以被看作是构成比原始ECC块10的尺寸小的两个ECC块。为了说明本发明的一般概念,将描述写入304个码字11的75392个字节的新的顺序。本发明的方法导致两个32k字节的ECC块,其也具有突发指示(burst indication)和地址预交错的属性,如以上对在说明本发明之前,ECC块将被定义为一组字节,其-作为一个封闭组被写入磁盘中,即字节被连续写入磁盘中;
-包含某一数量码字的所有(数据和纠错)字节的集合,即该集合包含这些码字的所有字节并且不包含其他码字的任何字节。
因此,为了能够解码一个码字,有必要读取整个75392个字节的组,于是所有的304个码字都可以被解码。应当注意的是,一个ECC决保持一个ECC块不变,即使所述字节的顺序发生了变化。
在现有技术的写入方法中,如上所述,每个码字的248个字节实际上分布在第一矩阵10的整个75392字节组中,从而该组构成一个64k字节的ECC块。在由本发明提出的写入方法中,任何一个码字的248个字节都分布在一组的第一半或一组的第二半。然后,为了能够解码一个码字,仅充分地读取组的对应的一半,于是就可以解码152个码字,同时另外152个码字不能被解码。因此,根据本发明,每半个组本身就满足上述ECC块的定义,现在为一个32k字节的块。以下,这些半个组将被表示为小的ECC块,以与原始的64k字节的ECC块区分。
本发明将通过首先假定在第一阶段(第一和第二步),处理电路4使用与现有技术相同类型的码(Reed Solomon)构造304个码字进行说明,如上所述,并且通过附图4的304×248初级矩阵10来表现。
接着,构造具有152列496字节的次级矩阵120,每列包括两个码字的字节。该次级152×496矩阵120在图10中示出。该次级矩阵120的元素将被表示为ff(r,s)。
在现有技术的方法中,如参照图5所描述的,次级152×496矩阵20的列通过使两个码字相互“交错(zipping)”形成,即交替从一个码字取一个字节并从另一个码字取一个字节。根据本发明的一个重要方面,次级152×496矩阵120的列通过将两个码字放在相互以下形成。原则上,可以总是初级矩阵10中的两个相互邻接的码字。在图10所示的优选实施例中,码字(s+152)放置在码字s以下,s的范围从0到151。这样,原始304*248 ECC块矩阵10的元素e(i,j)根据以下关系就被置换成152*496次级矩阵120的元素ff(r,s)r=i,i=0-247,j=0-151(2a)s=j,i=0-247,j=0-151(2b)r=i+248,i=0-247,j=152-303 (2c)s=j-152,i=0-247,j=152-303 (2d)因此,可以看出,例如,元素e(0,152)被置换成元素ff(248,0)。
下一步,对152×496次级矩阵120的元素ff(r,s)执行循环行变换,以获得152×496第三矩阵130,其元素将被表示为gg(t,u),如图11所示。行0保持在适当的位置,行1的元素ff(1,s=0-151)向左移动3个位置(即以u=s-3移到位置gg(1,u)),行2的元素ff(2,s=0-151)向左移动6个位置(即以u=s-6移到位置gg(2,u)),等等。通常,对于系数r=0-495,行r的元素ff(r,s=0-151)根据以下关系被移动到152×496第三矩阵130的位置gg(t,u)t=r(3a)u=MOD(1-MOD(3*MOD(m,248),152)+152,152) (3b)应当注意的是,某一矩阵行中的所有元素呆在该行以内,即对于所有的元素t=r。
下一步,三个BIS列41,每个具有496字节,被引入到第三矩阵130中,以获得155×496第四矩阵,其元素将被表示为hh(v,w),如图12所示。
该操作类似于参照现有技术描述的操作。
如上所示,该BIS列可以被看作是24×62矩阵,并且所述地址信息可以被看作是16×9矩阵(对于ECC块中16个扇区中的每个扇区9个符号一个地址)。在现有技术中,16×9地址矩阵被以这样一种方式拷贝成原始24×62 BIS矩阵的前6行,即在24×62矩阵转换到3×496矩阵之后,地址在每个扇区的前三行按纠错顺序结束。根据本发明,24×62 BIS矩阵被分成两个12×62 BIS矩阵。前8个扇区的地址被预交错成第一个12×62 BIS矩阵的前6行。后8个扇区的地址被预交错成第二个12*62 BIS矩阵的前6行。然后,两个12×62 BIS矩阵每个被相互交错成独立的3×248矩阵,从而以类似于上述用于较大BIS矩阵的方式形成BIS列。第一个3×248矩阵被插入到第一个小的ECC块中,第二个3×248矩阵被插入到第二个小的ECC块中。
总而言之,当24×62 BIS矩阵被表示为bBIS(N,C)时,其中C表示BIS码字(C=0-23),并且其中N表示码字中的符号(N=0-61),这些字节根据以下公式被放置在单元uu、行rr以及列cc中uu=MOD({DIV(N,2)+4-DIV(MOD(C,12),3)},4)+4*MOD(N,2)+8*DIV(C,12) (4a)rr=DIV(N,2) (4b)
cc=MOD({C+30-DIV(N,2)},3)(4c)此外,当16×9地址矩阵的字节被表示为AF(x,y)时,其中y表示地址字(y=0-15),并且其中x表示地址字中的符号(x=0-8),这些字节根据以下公式被放置在行rrr和列ccc中rrr=2*DIV(x,3)+DIV({MOD(y,8)},4)(5a)ccc=3*MOD({DIV(x,3)+16-y},4)+MOD({x+DIV(x,3)},3)+12*DIV(y,8) (5b)图11所示的行变换操作没有从一行到另一行置换矩阵元素ff(r,s)。同样情况适用于如图12所示的BIS列的插入中。同时还适用于BIS矩阵和地址矩阵的交错操作,但是这些操作没有示出。因此,可以重构前152个码字的所有数据字节,只要前248个块段112已被读取。类似的,可以重构第二152个码字的所有数据字节,只要第二248个块段112已被读取。因此,由于根据本发明,初级矩阵通过将两个码字放置相互以下来定义,矩阵120的上半部分可以被看作是小的ECC块121a,包含码字0到151,矩阵120的下半部分可以被看作是小的ECC块121b,包含码字152到303。如果该矩阵140的元素hh(v,w)通过首先写入第一行的元素hh(0,0),hh(0,1),hh(0,2),...hh(0,154)进行写,然后写入第二行的元素hh(1,w=0-154),接着写入第三行的元素hh(2,w=0-154)等等,则所得到的记录在图13中示出,其中记录被表示为一个纵向带,与图8相似。155个元素hh(v,w=0-154)的集合将被表示为块段112(v)。该记录包括496个这种块段112,每个块段112包含152个码字11的一个字节。因此,一个码字的两个字节hh(v,w)与hh(v+1,w)之间的间距减少因数2。
图14是类似于图9的示意图,说明了矩阵140的记录,还说明了在记录矩阵140时的随机误差14的结果。当比较图14与图9时,可以看出记录140的总长度等于记录10的总长度。然而,小的ECC块141a、141b的记录长度(分别对应于小的ECC块121a、121b,在行变换和引入BIS列之后)现在比磁道长度短。如果随机误差14影响两个相邻磁道113a、113b的两个字节,则这两个字节将属于不同的小ECC块141a,141b,因此将属于不同的码字。这样,相同的随机误差14仅导致在任何一个码字中最多一个误差。
应当注意的是,与现有技术相比,ECC块的大小已经减小。通常,ECC块大小的减小导致突发误差的有效纠正能力减少。当由本发明提出的用于SFFO光盘的方法的有效纠错能力与应用于BRD光盘的现有技术相比时,在本发明的情况下这也是事实。然而,当现有技术方法被应用到SFFO光盘时,有效纠错能力已经由于一个ECC块占据了大约两个磁道的事实而减少。采用这种形式作为起始点,按照本发明提出的减少ECC块的大小不会导致在有效纠正能力方面进一步减少。
以上,为了有利于与现有技术相比较,基于304个码字对本发明进行了说明,该现有技术也是基于304个码字。然而,正如所说明的,矩阵120还可以被看作是两个小ECC块的组合,分别通过行0到247以及行248到495体现。因此,没有必要计算304个码字,而是可以仅计算152个码字。换句话说,根据本发明,只要收到152个码字,就可以定义一个ECC块121a,并实现本发明的发明理念。这可以减少所需的存储空间量。
图15示意性地示出了根据本发明如何确定字节写入顺序。
首先,采集Nd数据字节,并通过计算Ne=248-Nd纠错字节定义包含248字节的码字11,如上所述。
下一步(1),152个这种码字的被放置在具有152列和248行的初级矩阵M1中,该初级矩阵M1的元素被表示为m1(i,j)。这样,码字j的字节i被放置在位置m1(i,j)中。
下一步(2),执行循环行变换,产生具有152列和248行的第二矩阵M2,该第二矩阵M2的元素被表示为m2(t,u)。因此,初级矩阵M1的元素m1(i,j)根据以下公式被放置在位置m2(t,u)中t=iu=MOD(j-MOD(3*i,152)+152,152)下一步(3),将第二矩阵M2变换成具有155列和248行的第三矩阵M3,该第三矩阵M3的元素被表示为m3(v,w),以便创建用于BIS列的空间。经过变换使得第二矩阵M2的元素m2(t,u)根据以下公式放置在m3(v,w)v=tw=u+DIV(u,38)步骤(4),(5)和(6)示出了BIS列的定义和插入。
首先,定义8个地址,每个地址具有9字节,这8个地址放置在具有8列9行的地址矩阵AF中,该地址矩阵AF的元素被表示为AF(x,y)。因此,地址x的字节y被放置在位置AF(x,y)。
同时,定义12个BIS码字,每个码字具有62字节,这12个BIS码字被放置在具有12列62行的BIS矩阵BIS中,该BIS矩阵的元素被表示为bBIS(n,c)。
然后执行地址预交错步骤(4),其中地址字节AF(x,y)根据以下公式被放置在BIS矩阵位置bBIS(n,c)n=2*DIV(x,3)+DIV(y,4)c=3*MOD({DIV(x,3)+8-y},4)+MOD({x+DIV(x,3)},3)然后,在步骤(5),12*62 BIS矩阵变换成具有3列248行的第二BIS矩阵B2,该第二BIS矩阵B2的元素被表示为b2(r,s),其中该BIS字节bBIS(n,c)根据以下公式被放置在第二BIS矩阵B2的位置b2(r,s)uu=MOD({DIV(n,2)+4-DIV(c,3)},4)+4*MOD(n,2)rr=DIV(n,2)r=31*uu+rrs=MOD({c+30-DIV(n,2)},3)之后,该第二BIS矩阵B2的每列将被表示为包括248个BIS字节的BIS行BL(s)。
然后,在步骤(6),该第二BIS矩阵B2的3列被插入到第三矩阵M3中,其中B2的字节b2(r,s)根据以下公式被放置在第三矩阵M3的位置m3(v,w)w=39*s+38v=r应当注意的是,地址字节AF(x,y)根据以下公式放置在第三矩阵M3的位置m3(v,w)w=39*MOD(y,3)+38v=31*x+DIV(y,3)然后,该第三矩阵M3的38440个元素以逐行的方式写入。这可以通过以下公式表示B(x)=m3(DIV(x,155),MOD(x,155)),其中B(x)表示要写入的第x字节,x是范围从0到38439的系数。
因此,B(0)=m3(0,0),B(1)=m3(0,1),B(2)=m3(0,2),...
B(155)=m3(1,0),...B(38439)=m3(247,154)。
应当注意的是,上述作为多个后续矩阵变换的重排序的步骤实际上不需要作为后续变换步骤执行。应当很明显,整个重排序过程可以被看作是从输入的152×248矩阵M1到输出的155×248矩阵M3的一个矩阵变换,其特征在于在输入矩阵元素m1(i,j)的坐标(i,j)与输出矩阵元素m3(v,w)的坐标(v,w)之间的唯一的变换关系。换句话说,输出矩阵元素m3(v,w)的坐标可以表示为函数v(i,j)和w(i,j),该函数可以存储在处理电路4的存储器8中,例如作为查找表。类似的,BIS矩阵BIS的坐标bBIS(n,c)与输出矩阵元素m3(v,w)的坐标(v,2)之间也存在唯一的变换关系。
此外,当然还可以是处理单路4实际构造一个具有输出矩阵元素m3(v,w)的输出155×248矩阵M3,并将该矩阵存储在相关的存储器中,并且在写入阶段处理电路4从该输出133×248矩阵M3中逐行读取所述元素。事实上,这是一种可能的实用的实现方案。然而,并不一定只有一种可能的实现方案。唯一的重要方面在于处理电路4采集152×Nd数据字节,计算152×Ne纠错字节,计算12×62 BIS字节,并按正确的预定顺序传送38440字节的集合到写入装置5中。换句话说,处理电路4可以以任何一种方式编程,该方式确保其知道输出字节ξ,ξ=0-38439,是否是一个Nd数据字节、一个纠错字节或一个BIS字节,此外还知道是所述字节的哪一个。
磁盘驱动器设备1还可以从磁盘2读取数据。在读取阶段,读/写装置5从磁盘2读取字节,并将所述读取的字节提供给处理电路4,处理电路4可以将所述字节存储在155×248矩阵M3中。然后,在重构阶段,处理电路4可以使用与上述相同的公式重构具有元素e(i,j)的152×248ECC块。更特别的是,对于每一个系数i和j的值,处理电路4读取如上述公式定义的位置m3(v,w)的对应字节。如果需要,处理电路4使用纠错字节对由矩阵M1利用元素e(i,j)形成的小的ECC块的每个码字11纠正可能的错误。现在处理电路4就可能在其输出端9输出数据字节7。
那些本领域技术人员应当很清楚的是,本发明并不局限于上述的典型实施例,而是在所附的权利要求书定义的本发明的保护范围内可以进行各种变化和修改。
例如,虽然对照BRD标准的背景对本发明进行了描述,并且以上针对该特定的实例对本发明进行了说明,但是如果使用其它标准作为起始点,本发明的创造性概念也是可以应用的。使如上所述的典型方法适应这种不同的标准只需要进行较小的修改,正如那些本领域技术人员将会很清楚的。
此外,虽然本发明是为了解决与圆形记录介质相关的问题而设计的,但是由本发明提出的信息写入方法在向直线(linear)介质写入信息时也是可以应用的。
权利要求
1.向记录介质写信息的方法,其中将152个码字[11(j)],每个码字具有248字节[m1(i,j)]与12个BIS字,每个BIS字具有62个BIS字节[b2(r,s)]组合,以构成具有38440个元素[m3(v,w)]的ECC块(M3),所述元素被连续写入所述介质。
2.向记录介质写信息的方法,包括以下步骤(a)在预定数量(Nd)的数据字节(Bd)的基础上计算预定数量(Ne)的纠错字节(Be),以形成248个码字字节的码字(11);(b)重复步骤(a)直到形成152个所述码字[11(j)],每个码字包括248个码字字节[m1(i,j)],j表示范围从0到151的系数,i表示范围从0到247的系数;(c)产生3个BIS行[BL(s)],每个BIS行包括248个BIS字节[b2(r,s)],s表示范围从0到2的系数,r表示范围从0到247的系数;(d)按照通过以下可获得的顺序写入152×248码字字节[m1(i,j)]与3×248BIS字节[b2(r,s)]的组合(d1)将152个码字[11(j)]作为列放置在具有第一矩阵元素[m1(i,j)]的152×248第一矩阵(M1)中;(d2)对该第一矩阵(M1)执行预定的循环行变换操作,以获得具有第二矩阵元素[m2(t,u)]的152×248第二矩阵(M2);(d3)根据以下公式将该第二矩阵(M2)的第二矩阵元素[m2(t,u)]放置在155×248第三矩阵(M3)的位置[m3(v,w)]中v=tw=u+DIV(u,38)(d4)根据以下公式将所述BIS字节[b2(r,s)]放置在所述155×248第三矩阵(M3)的位置[m3(v,w)]中v=rw=39*s+38(d5)根据以下公式以逐行的方式写入所述155×248第三矩阵(M3)的元素[m3(v,w)]B(ξ)=m3(DIV(ξ,155),MOD(ξ,155)),其中B(ξ)表示要写入的第ξ个字节,ξ是范围从0到38439的系数。
3.根据权利要求2所述的方法,其中根据以下公式执行所述循环行变换t=iu=MOD(j-MOD(3*i,152)+152,152)
4.根据权利要求2所述的方法,进一步包括以下步骤产生12个BIS码字,每个BIS码字具有62个BIS字节[bBIS(n,c)],c表示范围从0到11的系数,n表示范围从0到61的系数;以及通过组合4个所述BIS码字以形成一个BIS行来产生3个所述BIS行[BL(s)]。
5.根据权利要求4所述的方法,其中一方面所述3个BIS行[BL(s)]的所述BIS字节[b2(r,s)]与另一方面所述12个BIS码字的所述BIS字节[bBIS(n,c)]之间的关系符合以下公式b2(r,s)=bBIS(n,c),s=MOD({c+30-DIV(n,2)},3)并且r=31*uu+DIV(n,2),其中uu=MOD({DIV(n,2)+4-DIV(c,3)},4)+4*MOD(n,2)。
6.根据权利要求4所述的方法,进一步包括以下步骤产生8个地址字,每个地址字具有9个地址字节[AF(x,y)],x表示范围从0到7的系数,y表示范围从0到8的系数;将所述地址字节[AF(x,y)]放入到所述12个BIS码字中,其中一方面所述地址字的所述地址字节[AF(x,y)]与另一方面所述12个BIS码字的所述BIS字节[bBIS(n,c)]之间的关系符合以下公式[bBIS(n,c)]=AF(x,y)n=2*DIV(x,3)+DIV(y,4)c=3*MOD({DIV(x,3)+8-y},4)+MOD({x+DIV(x,3)},3)。
7.从记录介质中读取信息的方法,其中读取具有38440个元素[m3(v,w)]的ECC块(M3),从中重构152个码字[11(j)],每个码字具有248字节[m1(i,j)],以及12个BIS字,每个BIS字具有62个BIS字节[b2(r,s)]。
8.从记录介质中读取信息的方法,包括以下步骤(a)读取38440个连续字节[B(ξ)],ξ表示范围从0到38439的系数;(b)从所述读取的字节[B(ξ)]中重构152个码字[11(j)],每个码字包括248个码字字节[m1(i,j)],j表示范围从0到151的系数,I表示范围从0到247的系数;其中一方面所述码字字节[m1(i,j)]与另一方面所述读取字节[B(ξ)]之间的关系符合以下公式m1(i,j)=B(ξ),ξ=i*155+u+DIV(u,38)其中u=MOD(j-MOD(3*i,152)+152,152)
9.根据权利要求8所述的方法,其中所述248个字节被提交给在每个这样重构的码字[11(j)]中的纠错处理;并且其中从纠错字节中输出预定数量(Nd)作为数据字节(Bd)。
10.根据权利要求8所述的方法,进一步包括从所述读取字节[B(ξ)]重构12个BIS字的步骤,每个BIS字包括62个BIS字节[bBIS(n,c)];c表示范围从0到11的系数,n表示范围从0到61的系数;其中一方面所述BIS字节[bBIS(n,c)]与另一方面所述读取字节[B(ξ)]之间的关系符合以下公式bBIS(n,c)=B(ξ),ξ=r*155+39*s+38其中s=MOD({c+30-DIV(n,2)},3)r=31*uu+DIV(n,2)uu=MOD({DIV(n,2)+4-DIV(c,3)},4)+4*MOD(n,2)
11.根据权利要求10所述的方法,进一步包括从所述重构的BIS字重构8个地址字的步骤,每个地址字包括9个地址字节[AF(x,y)];x表示范围从0到7的系数,y表示范围从0到8的系数;其中一方面所述地址字节[AF(x,y)]与另一方面所述BIS字节[bBIS(n,c)]之间的关系符合以下公式AF(x,y)=bBIS(n,c),n=2*DIV(x,3)+DIV(y,4)c=3*MOD({DIV(x,3)+8-y},4)+MOD({x+DIV(x,3)},3)。
12.信息记录/读取装置(1),被设计成分别根据权利要求1-6中的任何一项向记录介质(2)写信息,或者被设计成分别根据权利要求7-11中的任何一项从记录介质(2)读取信息。
13.记录载体(2),包含通过根据权利要求1-6中的任何一项所述的方法写入的信息。
全文摘要
描述了一种用于向记录介质(2)写信息的方法。将152个码字[11(j)],每个码字具有248字节[m1(i,j)]与12个BIS字,每个BIS字具有62个BIS字节[b2(r,s)]组合,构成具有38440个元素[m3(v,w)]的ECC块(M3),所述元素被连续写入。同时,描述了一种用于从记录介质(2)读信息的方法。读取具有38440个元素[m3(v,w)]的ECC块(M3),从中重构152个码字[11(j)],每个码字具有248字节[ml(i,j)]以及12个BIS字,每个BIS字具有62个BIS字节[b2(r,s)]。
文档编号G11B20/18GK1762101SQ200480007343
公开日2006年4月19日 申请日期2004年3月17日 优先权日2003年3月20日
发明者M·W·布鲁姆, C·P·M·J·巴格根 申请人:皇家飞利浦电子股份有限公司