首页> 中国专利> 使用周期性变化的符号映射对数据施加调制约束的技术

使用周期性变化的符号映射对数据施加调制约束的技术

摘要

本发明提供了一种技术,用于通过使用周期性变换的符号映射而对数据施加调制约束,以代替某些禁止的易于出错的数据模式。开始,使用基准转换技术将在第一基准中的用户数据映射为第二基准的整数。在第二基准中的整数与符号对应。随后,在将基准转换映射到允许的符号期间所产生禁止的符号期间,执行周期性变化的符号映射。在多个阶段中发生周期性变化的符号映射,并且所禁止的符号在每个阶段中不同。由在一些实施例中的预编码器来处理结果数据。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-02-16

    未缴年费专利权终止 IPC(主分类):G11B20/10 授权公告日:20090812 终止日期:20091229 申请日:20051129

    专利权的终止

  • 2009-08-12

    授权

    授权

  • 2006-09-20

    实质审查的生效

    实质审查的生效

  • 2006-07-26

    公开

    公开

说明书

技术领域

本发明涉及一种对数据施加调制约束以删除易于产生阅读错误的数据模式(pattern)的技术,更具体地说,涉及一种用于确保特定禁止的符号不周期性地出现的技术。

背景技术

盘驱动器可以将数据比特写到诸如磁性硬盘的数据存储盘上。盘驱动器还可以读出已经被存储在数据盘上的数据比特。很难将特定数据模式写到盘上并且当回读这种数据模式时其经常引起错误。连续零和连续一的长序列(例如40个连续的零)就是易于出错的数据模式的例子。交替极性比特的长序列(010101010.....)是易出错的数据模式的另一个例子。

因此,期望删除在通道输入数据中的易出错模式。删除易出错模式确保检测器的可靠操作和在盘驱动系统中的定时循环。一种删除易出错数据模式的方法是用不易引起错误的数据模式来替代那些易出错模式。可以将替代符号存储在存储器中的查询表中。但是因为查询表需要大量的存储器,所以它们不适合用于对带有大量比特的数据模式执行替换。

许多盘驱动器具有使用调制代码来删除易出错数据模式的调制编码器。调制编码器将全局和/或交错(interleave)的约束施加于数据以删除特定数据模式。在1/(1+D2)预编码器的输入处的全局G约束禁止带有多于G个连续零的数据模式。在1/(1+D2)预编码器的输入处的交错I约束禁止带有以偶或奇交错的多于I个连续零的数据模式。

已经在磁和光数据存储中广泛地使用也被称为约束代码的调制代码来删除记录和再现数字数据的过程所不期望的序列。在实际中使用各种类别的调制代码。例如,使用诸如-1/2 RLL(2,7)等级和-2/3 RLL(1,7)等级代码的运行长度受限RLL(d,k)约束代码的峰值检测系统已经在低规范化(normalized)线性密度的数字磁存储中处于统治地位。

在中度规范化线性密度,将部分响应最大似然性(PRML)检测通道引入到需要不同类型的约束代码的数据存储。被称为PRML(G,I)代码的这种类别的代码方便了定时恢复和增益控制,并且限制了序列检测器的路径存储器长度,从而解码被延迟,但并不显著地降低检测器的性能。与1/(1+D2)预编码器和噪声预测最大似然性(NPML)通道结合使用PRML(G,I)代码,其概括了PRML概念。

最近,已经引入了最大转移运行(MTR)代码,特别是MTR(j,k)和MTR(j,k,t)代码,来为噪声预测最大似然性通道提供编码增益。通过以增加波特率为代价消除或降低在序列检测器的输出端处的主要错误事件的发生,并且通过实施时变的格子结构将j约束合并到检测器中,与1/(1+D)预编码器结合使用的MTR代码提高了检测器的性能。

使用调制代码来减少错误发生的许多现有技术需要较长的等待时间。因此,期望提供一种替代的调制编码技术,用于删除易出错数据模式并且减小等待时间。

发明内容

本发明提供一种技术,用于通过利用周期性改变的符号映射代替特定禁止的易出错数据模式来将调制约束施加于数据。本发明的技术是倒置连接(concatenation)编码方案的应用。

开始,使用基准(base)变换方法将在第一基准的用户数据映射为第二基准的整数。第二基准的整数对应于符号。

随后,执行周期性变化的符号映射,在此期间将基准变换期间所产生的禁止符号映射为允许的符号的期间。周期性变化的符号映射在多个阶段中发生,并且被禁止的符号在每个阶段中不同。在一些实施例中由预编码器对结果数据进行处理。

根据本发明的一个实施例,将输入数据分离为偶和奇交错。对偶和奇交错的子集执行基数(radix)变换以及随后的符号替换。再将结果数据与分离比特重新合并。然后由预编码器处理合并的数据。

根据本发明的另一个实施例,部分交错器以达到结果数据的最好调制约束的方式在里德-所罗门(RS)数据符号组间中交错RS奇偶符号。

通过考虑下面的详细说明和附图,本发明其他的目的、特征和优点将变得明显,其中在所有的附图中相同的附图标记代表相同的特征。

附图说明

图1A-1B示出了两种倒置连接方案,其中可以合并本发明的调制编码技术;

图2A示出了根据本发明的实施例的概括技术,用于使用基准转换和周期性变化的符号映射将调制约束施加于数据;

图2B示出了根据本发明的实施例的具体技术,用于使用基准转换和周期性变化的符号映射将调制约束施加于数据;

图3A示出了根据本发明的实施例的另一个概括技术,用于使用基准转换、周期性变化的符号映射、和预编码将调制约束施加于数据;

图3B-3C示出了根据本发明的实施例的两种具体技术,用于使用基准转换、周期性变化的符号映射、和预编码将调制约束施加于数据;

图4示出了根据本发明的实施例的技术,用于使用基准转换、针对偶和奇交错的符号替代、和预编码将调制约束施加于数据;和

图5A-5B示出了根据本发明的实施例的、以达到结果数据的最佳调制约束的方式、在里德-所罗门数据符号的组间中交错里德-所罗门奇偶符号的技术。

具体实施方式

倒置连接是一种编码技术,其使用在用于RS奇偶符号的对称里德-所罗门(RS)编码器和后RS调制编码器之前的有效调制编码器。具有有效预RS调制代码的倒置连接架构可以使用较大的块尺寸。因为用于这些有效代码的调制解码器跟随RS解码器,所以倒置连接架构不受错误传播的影响。将从检测器或内部奇偶解码器来的软信息方便地提供给ECC解码器。

图1A示出了以传统的倒置连接方案级联的内部奇偶编码器的例子,该方案在里德-所罗门(RS)奇偶符号产生之前和之后将调制代码插入到数据流。首先由第一调制编码器模块101编码用户数据。第一调制编码器例如可以是在1/(1+D)预编码器之前的非常有效的MTR(j,k,t)编码器。然后由里德-所罗门编码器102产生RS奇偶符号作为MTR编码的数据流的函数。

由第二调制编码器模块103编码RS编码器102的输出流。第二调制编码器可以是例如在1/(1+D)预编码器之前的、带有强错误传播特性的MTR(j,k,t)编码器。多路复用器104将模块103的输出流附连到模块101的调制编码的用户数据输出。奇偶插入模块105产生m个内部奇偶比特作为n个调制编码的比特的函数,并且将它们插入到调制编码的数据流中。模块105的输出流的内部奇偶代码率是n/(n+m)。

图1B示出了倒置连接架构的例子,其只在里德-所罗门(RS)奇偶符号的产生之前将调制代码插入到数据流中。由模块111中的调制编码器编码用户数据。调制编码器可以是例如在1/(1+D)预编码器之前的非常有效的MTR(j,k,t)编码器或在1/(1+D2)预编码器之前的PRML(G,I)编码器。里德-所罗门编码器112产生RS奇偶符号作为编码的数据流的函数。多路复用器113将模块111的输出流附连到RS编码器112的编码的数据输出上。

奇偶交错器模块114将RS奇偶符号部分地交错到从模块111来的所约束的编码符号流中。将根据图5A-5B在下面详细地描述部分交错。将未约束的RS奇偶符号部分交错于约束的符号流的深度依赖于具体的编码方案,并且选择该深度以达到对记录通道输入的可能的最佳约束。奇偶插入模块115产生m个内部奇偶比特作为n个比特的函数,并且将内部奇偶比特插入到编码的数据流中。由模块115所产生的内部奇偶代码率是n/(n+m)。

现在根据图2A-2B、3A-3C和4来讨论可以由调制编码器101、103和111执行的本发明的调制编码方案的例子。将首先描述图2A-2B的实施例。

图2A示出了根据本发明实施例的概要的方案200,用于使用周期性变化的符号映射来对数据执行调制编码以达到高代码率。方案200利用基准变换,然后周期性改变符号映射。

在步骤201,使用基准转换技术,将在调制编码器的输入处的(n-1)-比特数字[ai]形式的用户数据从第一基准转换为第二基准L中的整数[bi]。在步骤202,使用布尔逻辑或查询表,执行周期性变化的符号映射以将处于第二基准的结果符号映射为约束的s-比特符号[ci]。属于这个类别的(n-1)/n率的代码的存在条件是2n-1Ln/s,其中′s′是在[bi]2的每个符号中表示的比特的数量。

图2B示出了图2A的概要调制编码实施例的具体例子。图2B的调制编码技术210通过在符号映射的步骤后使用带有周期p的周期性改变的符号替代,来达到高代码率。调制编码技术210具有199/200比特的代码率。

调制编码器施加G=26的全局约束和I=22的交错的约束。在没有预编码器的情况下,这些约束等效于将DC模式00...0和11...1和奈奎斯特模式0101...和1010...的最大长度限制到G+2,并且将象以偶数或奇数交错的符号的连续的最大数量约束到I+1。可以将这些约束缩写为PRML(G=26,I=22)。

应该理解根据图2B(以及图3B-3C和图4)所描述的,与诸如全局G和交错的I约束、基准L、以及在每个符号中的比特s的数量的具体参数相关使用的具体数值只是例子,并不试图限制本发明的范围。本领域的技术人员应该理解可以根据本发明的技术,使用许多其他数值用于这些参数。

在步骤211执行基数的转换。美国专利6,236,340中描述了在基数转换步骤211中可使用的基数转换技术的例子,其内容通过参考合并于此。基数转换仅仅是能够根据本发明而被执行的基准转换技术的一个例子。在这里的基数转换的讨论是说明性的,而不试图限制本发明的范围。

在基数转换步骤211期间,将用户数据的199-比特的字映射为基准991中的整数。由比特[a0]2到[a198]2在图2B中表示199比特二进制整数。脚标2指示二进制,而脚标0-198是标识每个比特的索引i。基数转换步骤211将每个199-比特二进制整数映射为具有20个符号的在基准991中的整数。在基准991整数中的每个符号具有991个可能的值。由符号[b0]2到[b19]2以二进制计数法来表示基准991的整数。脚标2指示二进制计数法,而脚标0-19是标识每个符号的索引i。

在基数转换步骤211之后,执行两个周期性变化的符号映射步骤212和213。符号映射步骤212通过使用函数f()映射模块211产生的基准991整数[bi]2。在步骤211产生的整数[bi]2具有20个符号。可以由10个二进制比特来表示每个符号。符号映射步骤212分析在[bi]2整数中的每个10-比特符号。

步骤212将等于0x0x0x0x0x或1111111111的33个符号从基准991中的[bi]的所有可能符号的列表中除去,其中x等于任何二进制值(1或0)。基数转换步骤211可以产生针对[bi]991整数的每个991基准比特的、991个可能的符号。10-比特二进制数字具有1024个可能的值。因此,存在991个可能的符号(1024-33=991)保留用于[bi]2整数的10-比特二进制表示的符号的每一个。

如果[bi]2整数的10-比特二进制表示的符号的任何一个匹配于禁止符号中的一个,则在步骤212以不是被除去的33个符号之一的、并且不是可以在基数步骤211产生的991个可能的符号之一的另一个10-比特符号将其代替。这样的映射是可能的,因为每个10-比特二进制代表的符号都具有1024个可能的符号,减去33个被除去的符号,等于991个可能的符号。将在步骤212产生的整数以[c0]2到[c19]2标记(脚标2指示二进制表示)。

因此,在步骤212执行的函数映射的符号范围是通过将0x0x0x0x0x或1111111111类型的33个符号从所有10-比特符号的列表中除去而获得的10-比特符号的依大小排列的991列表。最好选择这个函数的特定映射,以最小化实施该函数的布尔电路的复杂性。下面的表1列出了在所有四个阶段0-3中除去的33个符号。表1、列2列出了在阶段0(即i mod 4=0)期间在符号映射步骤212被除去的符号。

表1

阶段0(i mod 4=0)阶段1(i mod 4=1)阶段2(i mod 4=2)阶段3(i mod 4=3)被除去的33个符号[di]20x0x0x0x0x11111111111x1x1x1x1x0000000000x0x0x0x0x01111111111x1x1x1x1x10000000000

步骤213对在步骤212产生的整数[ci]执行周期性改变的符号替换。根据[ci]2的哪个符号正在被考虑,步骤213在阶段1-3期间执行随时间变化的符号替换。

当可以将[ci]2的符号的索引i用4除尽时(即i mod 4=0)时,阶段0发生。在阶段0期间,在步骤212代替所除去的符号,如上所述。当[ci]符号的索引是0,4,8,12,16,24等时,在步骤213期间,在阶段0中不采取动作。用[d0]2到[d19]2将在步骤213产生的符号进行标记。

在阶段1、2和3期间对于[ci]2符号在步骤213执行符号替换。在下面的表2中概括了在阶段1-3期间在步骤213所执行的替换。注意在表2中x代表(x1,x2,x3,x4,x5),而~代表布尔非。在阶段1-3中的所有替换都与在阶段0中所允许的符号的列表相关。因此,在阶段0不执行替换。对于这个具体的实施例不需要预编码操作。由三个映射g1(.),g2(.)和g3(.)来将在步骤213执行的周期性变化的符号替换进行定性。

表2

  阶段1  (i mod 4=1)阶段2(i mod 4=2)  阶段3  (i mod 4=3)禁止的符号[ci]2  1x11x21x31x41x5  其中x≠(1,1,1,1,1)x10x20x30x40x50其中x≠(0,0,0,0,0)  x11x21x31x41x51其中x≠(0,0,0,0,0)

  并且x≠(1,1,1,1,1)替换符号[di]2  0(~x1)0(~x2)0(~x3)  0(~x4)0(~x5)  其中x≠(1,1,1,1,1)0x10x20x30x40x5其中x≠(0,0,0,0,0)  0x10x20x30x40x5其中x≠(0,0,0,0,0)  并且x≠(1,1,1,1,1)

每次在[ci]符号的索引i被4除而具有余数1(即i mod 4=1)时,阶段1都发生。例如,当[ci]符号的索引为1、5、9、13、17、25等时,阶段1发生。在阶段1期间,将在表2的第二行、第二列所示的符号用在表2的第三行、第二列的符号代替。该替换符号处于在步骤212中、在阶段0期间所除去的符号(0x0x0x0x0x)集中。

每次在[ci]符号的索引i被4除而具有余数2(即i mod 4=2)时,阶段2都发生。例如,当[ci]符号的索引为2、6、10、14、18、26等时,阶段2发生。在阶段2期间,将在表2的第二行、第三列所示的符号用在表2的第三行、第三列的符号代替。该替换符号处于在步骤212中、在阶段0期间所除去的符号(0x0x0x0x0x)集中。

每次在[ci]符号的索引i被4除而具有余数3(即i mod 4=3)时,阶段3都发生。例如,当[ci]符号的索引为3、7、11、15、18、27等时,阶段3发生。在阶段3期间,将在表2的第二行、第四列所示的符号用在表2的第三行、第四列的符号代替。该替换符号处于在步骤212中、在阶段0期间所除去的符号(0x0x0x0x0x)集中。

图2B的调制编码技术具有n=200、L=991和s=10的参数。将这些特定的参数称为代码1。变量n指在代码字块中的比特数量。变量L指基数变换步骤211所产生的整数[bi]的基准。变量s指在符号[bi]2、[ci]2和[di]2的每个中的比特数量。

在这个家族中的代码具有尺寸为L=2s/2(2s/2-1)-1的符号字母表,并且满足约束G=3s-4以及I=5(s/2)-3,其中假设s为偶数,并且可以由4s将代码字尺寸(n比特)除尽。虽然对这种类别的代码没有使用预编码器,还是用等效全局G和交错的I约束值将约束进行定性。换言之,在记录通道输入处的DC-和奈奎斯特模式的最大长度是G+2,并且在记录通道输入的奇或偶交错中DC-模式的最大长度是I+1。还可以使用编码器200来构造一个编码器,其具有带有参数n=210、L=991和s=10代码的209/210PRML(26,22)代码率,虽然210不能被40除尽。在这种情况中,在阶段(j mod 4)中,代码字j的第一符号出现,从而在图2B中每个代码字的第一符号总出现在阶段0。

图3A示出了根据本发明的另外实施例的概括的方案300,用于使用周期性变化的符号映射来执行数据的调制编码以达到高代码率。编码器300利用基准变换,随后进行周期性变化的符号映射和预编码。

在步骤301,执行基准变化技术以将第一基准中的用户数据转换为第二基准L中由[bi]表示的整数。在步骤302,执行周期性变化的符号映射以使用布尔逻辑或查询表将结果基准L符号映射为被约束的s比特符号[ci]。

然后预编码器303在步骤302之后编码结果的约束符号。预编码步骤删除禁止的符号x1x1x1x1x1和1x1x1x1x1x。结果,在步骤302只执行两个阶段的符号映射以删除禁止的符号0x0x0x0x0x和x0x0x0x0x0。

图3B示出了图3A的概括的调制编码实施例的具体例子。调制编码器310具有199/200比特的代码率,并且用参数n=200、L=992和s=10产生PRML(G=18,I=13)代码。将这些参数称为代码2。

调制编码器310的基数变换步骤311使用在编码器输入处的199比特字的基数基准992变换。步骤312执行在步骤311产生的[bi]符号的符号映射。步骤313对在步骤312产生的[ci]符号执行周期性变化的符号替换。步骤314对步骤313所产生的[di]符号执行1/(1+D2)预编码。

下面的表3列出了在编码器310的两个阶段的每一个中被除去的32个符号。通过等式i mod 2来表示2个阶段。符号映射步骤312执行的符号映射f(.)的范围,其是通过从所有1024个可能的10比特符号的列表中除去类型0x0x0x0x0x的32个符号所获得的10比特符号的依大小排列的992列表。如果[bi]2的10比特符号任何一个等于0x0x0x0x0x,则将这些符号映射到不等于0x0x0x0x0x的另一个10比特符号。

10比特二进制数字具有1024个可能的符号。如果从1024个可能的符号中减去32个被除去的符号,则剩下992个可能的符号。每个[bi]992具有992个可能的符号。因此,存在足够的剩余符号以将不符合约束0x0x0x0x0x的每个符号映射到不符合这个约束的、并且不是在基数变换步骤中产生的符号。最好选择具体的映射f(.)以将实现f(.)的布尔电路的复杂性最小化。如可以从表3中看出的,符号映射步骤312在阶段0中(即i mod 2=0)施加约束。

表3

阶段0(i mod 2=0)阶段1(i mod 2=1)被除去的32个符号[di]20x0x0x0x0xx0x0x0x0x0

步骤313在阶段1期间施加周期性改变的符号替换。下面的表4示出了由步骤313禁止的符号和用于替代所禁止的符号的符号。执行在表4中所示的符号替代,其中以替代符号[di]2代替在阶段1中的禁止符号[ci]2。由映射g1(.)将周期性改变的符号替换进行定性。注意在表4中的x代表(x1,x2,x3,x4,x5),而~代表布尔非。

表4

阶段1(i mod 2=1)被禁止的符号[ci]2x10x20x30x40x50其中x≠(0,0,0,0,0)替换符号[di]20x10x20x30x40x5其中x≠(0,0,0,0,0)

在阶段1中的所有替换都与在阶段0中的允许符号的列表相关,因此在阶段0中不执行替换。在阶段1中的替换符号处于步骤312处的阶段0中被除去的符号(0x0x0x0x0x)集中。

对于带有s=10的这种类别代码,最大可能码率是209/210,这是因为2209=99221并且2219>99222。在这个家族中的代码具有尺寸为L=2s/2(2s/2-1)的符号字母表,并且满足约束G=2(s-1)和I=3(s/2)-2,其中我们假设s为偶数并且代码字尺寸(n比特)可以由2s除尽。虽然210不能被20除尽,但是还可以构造带有参数n=210、L=992和s=10代码的码率209/210PRML(G=18,I=13)代码的、图3A所示类型的调制编码器。在这种情况中,代码字j的第一符号出现在阶段(j mod 2)中,从而在图3B中每个代码字的第一符号总出现在阶段0中。

作为本发明的另一个实施例,在其他除去的符号之外,如果还除去在阶段0中的符号1000000000和在阶段1中的符号0000000001,则可以获得带有参数n=200、L=991和s=10的码率199/200PRML(G=16,I=13)代码。这种代码称为代码3。在图3C中示出了的代码3的调制编码器320。在图3C中的基数转换步骤321执行将输入数据的199比特块基数转换为基准991整数。将每个基准991整数表示为二进制符号[bi]2。符号映射步骤322和符号替代步骤323在两个阶段期间代替被禁止的符号。下面的表5列出了在i mod 2的两个阶段的每一个中被除去的33个符号[di]2

表5

  阶段0  (i mod 2=0)  阶段1  (i mod 2=1)被除去的33个符号[di]2  0x0x0x0x0x  1000000000  x0x0x0x0x0  0000000001

符号映射步骤322执行的符号映射f(.)的范围是通过从所有10比特符号的列表中除去类型0x0x0x0x0x和1000000000的33个符号所获得的10比特符号的从小到大排列的991列表。最好选择特定的映射f(.)以将实现f(.)的布尔电路的复杂性最小化。如可以从表5中看出的,步骤322施加在阶段0(即i mod 2=0)中所需要的约束。

为了在阶段1期间施加所需要的约束,在步骤323执行周期性改变的符号替换。下面的表6示出了步骤323执行的周期性改变的符号替换。注意在表6中的x代表(x1,x2,x3,x4,x5),而~代表布尔非。由图3C中的映射g1(.)将在步骤323执行的符号替换进行定性。

表6

阶段1(i mod 2=1)  被禁止的符号[ci]20000000001x10x20x30x40x50其中x≠(0,0,0,0,0)  替换符号[di]21000000000x10x20x30x40x50其中x≠(0,0,0,0,0)

所有在阶段1中的替换都与在阶段0中所允许的符号的列表相关,因此在步骤323的阶段0中不执行替换。对于带有s=10的这种类别代码,最大码率是209/210,这是因为2209=99121并且2219>99122。在这个家族中的代码具有尺寸为L=2s/2(2s/2-1)-1的符号字母表,并且满足约束G=2(s-1)-2和I=3(s/2)-2,其中假设s为偶数并且代码字尺寸(n比特)可以被2s除尽。虽然210不能被20除尽,但是还可以构造带有参数n=210、L=991和s=10代码的码率209/210PRML(16,13)代码。在这种情况中,在阶段(j mod 2)中代码字j的第一符号出现,从而在图3C中每个代码字的第一符号总出现在阶段0中。

未平衡的交错的代码是具有固定尺寸、周期性变化的符号字母表的代码的子类,并且可以由基于带有约束数据的交错非约束输入数据的简单编码/解码结构来实现。在这种类别中的代码具有尺寸为L=2s/2(2s/2-1)的符号字母表,并且满足约束G=2(s-1)和I=3(s/2)-2,其中假设s为偶数并且代码字尺寸(n比特)可以被2s除尽。

图4示出了简化的码率199/200调制编码器400,其现在被视为不平衡的交错的代码。调制编码器400是代码2的交替编码结构。对于带有s=10的代码2,应用下面参数值:L=992、G=18和I=13。还可以将调制编码器400应用于其他代码。

参照图4,在步骤401以特定的方式解多路复用199比特输入字420。通过从偶数编号的符号提取偶数编号的比特和从奇数编号的符号提取奇数编号的比特来执行解多路复用,以产生99比特的字[ai]。从10个偶数编号的符号提取五个偶数比特,从第一个9奇数编号的符号提取5个奇数比特,并且从第十个奇数编号的符号提取4比特以产生[ai]的99比特。将[ai]的99个提取的比特示出作为在字420中的没有X的空方框。从原始的199比特字删除字420的剩余的100比特,如有X的方框所示,然后在步骤404将其再组合,如下所述。

将在用户数据的字中的第一符号通常考虑作为第0个符号,从而是偶数编号的符号。下一个符号是奇,在此后的符号为偶,等等。而将在符号中的第一个比特通常称为第0个比特,从而是偶比特。在符号中的第二个比特是奇,在此后的比特为偶,等等。

在基数转换步骤402将99比特的字[ai]编码为(约束的数据的)100比特字。在步骤402,将在编码器[ai]的输入处的99比特数字转换为基数31整数表示[bi]。在[ai]整数中的i索引(0-98)与[ai]的99比特对应。在[bi]整数中的索引i(0-19)与[bi]的二十个符号对应。可以由5个比特来表示[bi]的每一个符号。

在步骤403,替换操作代替[bi]中禁止的模式。替换操作403用替换模式11111(ci=31)代替比特模式00000(bi=0),以产生具有20个符号[ci]的约束的整数,可以由5个二进制比特来表示每个符号。因为在步骤401从偶数编号的符号中提取偶数编号的比特并且从奇数编号的符号中提取奇数编号的比特,替换步骤403能够删除在输入数据中的所有禁止的符号(x0x0x0x0x0和0x0x0x0x0x),而不用执行在之前的实施例中所使用的多阶段替换。

在替换步骤403后,在步骤404将从字420来的未约束的100比特和约束的符号[ci]多路复用在一起,以产生200比特字421,如图4所示。然后在步骤405由1/(1+D2)预编码器处理合并的200比特字。

根据本发明的另一个实施例,可以使用基于霍恩尔(Horner)规则的简单和有效算法来实施在2s/2基准数字表示和(2s/2-1)基准数字表示之间的基数转换。在美国专利6,236,340中讨论了基于矩阵乘法的基数转换算法。

对于s=10,在编码器方的对于代码2的算法是基于使用在基准31算法中的19个连续的乘法和加法在基数转换引擎的输入处评估99比特整数数字的。因为根据等式(1),在基准31算法中32=31+1次的乘法等效于移动和加法,所以只需要在基准31算法中的19次加法以获得二十个5比特的基准31数字。

>>x>=>>Σ>>j>=>0>>19>>>x>j> >32>j>>=>>(>>(>·>·>·>·>>(>>x>19>>32>+>>x>18>>)>>32>+>·>·>·>·>)>>32>+>>x>1>>)>>32>+>>x>0>>=>>Σ>>j>=>0>>19>>>b>j> >31>j>>->->->->>(>1>)>>>s>

可以由在其输入带有两个5比特加数和1比特进位的、在其输出带有一个5比特31基准数字和1比特进位的2+3+4.....+20=209个连续的5比特全加器来实现在编码器中的基数转换算法。可以使用布尔逻辑来实现用于5比特加法的计算单元,其中将11比特映射到6比特并且从等待时间的角度来优化逻辑电路。而且,可以将两个或更多的加法汇总在一起并且针对延迟和门数量而进行优化。例如,通过布尔电路映射21比特到11比特来执行两个5比特加法。

在解码器方的算法是基于在使用基准31算法中的19个连续的乘和减的基数转换引擎的输入处评估100比特整数数字的。因为如等式(2)所示在基准32算法中31=32-1的乘法等效于移位和减法,所以只需要在基准32算法中执行19次减法以获得20个5比特的基准32数字。

>>x>=>>Σ>>j>=>0>>19>>>b>j> >31>j>>=>>(>>(>·>·>·>>(>>b>19>>31>+>>b>18>>)>>31>+>·>·>·>)>>31>+>>b>1>>)>>31>+>>b>0>>=>>Σ>>j>=>0>>19>>>x>j> >32>j>>->->->->>(>2>)>>>s>

在解码器中的基数转换算法可以通过2+3+4.....+20=209个连续的5比特减法来实现。

在里德-所罗门(RS)编码器的输入处将之前所讨论的PRML(G,I)代码的三个家族的约束进行定性。在下面的表7中概括了这些代码的代码参数。如上所述,L表示在基数转换步骤处产生的数字的基准,p是阶段的号码,G是全局约束,I是交错的约束,而s是在每个符号中的二进制比特的数量。

表7

  代码1  代码2  代码3  L  2s/2(2s/2-1)-1  2s/2(2s/2-1)-1  2s/2(2s/2-1)-1  p  4  2  2  G  3s-4  2(s-1)  2(s-2)  I  5(s/2)-3  3(s/2)-2  3(s/2)-2

从总体系统的视角来说,在记录通道的输入处的约束是重要的。换言之,需要计算在记录通道输入处的DC和奈奎斯特模式的最大长度,和在记录通道的奇或偶交错中的DC模式的最大长度。可以通过研究在图1B中所示的部分符号交错器114的输出处的序列的调制性质来确定这些参数。

应该选择部分符号交错的深度,从而在记录通道输入处的调制约束尽可能的严格(tight)。一种可以将在记录通道输入处的调制约束变严格的方法是通过在约束的RS数据符号之间散布未约束的RS奇偶符号,从而没有任何两个RS奇偶符号彼此相邻。将参照图5A和5B在下面说明这种技术的例子。

图5A示出了已经为代码1选择的深度5的部分符号交错方案,其中n表示RS代码字的长度(以符号为单位)。图5A示出了RS编码器112所产生的代码字和由部分符号交错器114所产生的代码字。其下面具有未画阴影方框的比特是里德-所罗门(RS)数据符号,而其下面具有阴影方框的比特是RS奇偶符号。如在图5A中所示,部分符号交错器114在RS数据符号之间散布RS奇偶符号。由4个RS数据符号将每个RS奇偶符号与另一个RS奇偶符号分开。例如,由4个RS数据符号将RS奇偶符号n和n-5分开。

图5B示出了已经从代码2和代码3中选择的深度4的部分符号交错方案。图5B示出了由RS编码器112产生的代码字和由部分符号交错器114产生的代码字。其下面具有未画阴影方框的比特是里德-所罗门(RS)数据符号,而其下面具有阴影方框的比特是RS奇偶符号。如在图5B中所示,部分符号交错器114在RS数据符号之间散布RS奇偶符号。由3个RS数据符号将每个RS奇偶符号与另一个RS奇偶符号分开。例如,由3个RS数据符号将RS奇偶符号n和n-4分开。

下面的表8概括了对于代码1、代码2和代码3遵从部分符号交错和内奇偶比特插入的调制约束,其中假设内奇偶代码是码率100/102代码。

表8

  代码1  代码2  代码3(G,I)  (38,28)  (30,19)  (28,19)

虽然参照其具体实施例在这里已经说明了本发明,但是在本发明中还试图提供修改、各种改变、和替换的自由。在一些例子中,只要不偏离本发明所述的范围,可以采用本发明的特征而不必相应使用其他特征。因此,只要不偏离本发明的本质范围和精神,可以进行许多改进以适应所公开的具体的配置或方法。本发明并不限于所公开的具体实施例,而本发明应该包括落在权利要求的范围内的所有实施例和等效物。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号