用于数据解码系统中的动态定标的系统和方法转让专利

申请号 : CN201010599616.7

文献号 : CN102223203B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨少华M·伊威科维克

申请人 : 安华高科技通用IP(新加坡)公司

摘要 :

本发明涉及用于数据解码系统中的动态定标的系统和方法。本发明的各种实施例提供了用于数据处理的系统和方法。作为示例,公开了一种数据处理电路,其包括解码器电路和标量电路。解码器电路可操作用于通过处理至少一个解码器消息来执行数据解码算法,并且标量电路可操作用于使解码器消息乘以可变标量值。

权利要求 :

1.一种数据处理电路,所述电路包括:

解码器电路,可操作用于通过产生所述解码器电路内部的至少一个解码器消息作为数据解码算法的一部分来执行所述数据解码算法,其中所述数据解码算法的输出是作为所述数据解码算法的一部分的;以及标量电路,其中所述标量电路可操作用于使所述解码器消息乘以可变标量值。

2.根据权利要求1所述的数据处理电路,其中所述可变标量值包括第一标量值和第二标量值,其中所述解码器电路可操作用于执行第一解码处理和第二解码处理,以及其中所述标量电路在所述第一解码处理期间使所述解码器消息乘以第一标量值并且在所述第二解码处理期间使所述解码器消息乘以第二标量值。

3.根据权利要求2所述的数据处理电路,其中所述第一解码处理是作为所述数据处理电路的第一全局迭代的一部分而执行的,以及其中所述第二解码处理是作为所述数据处理电路的第二全局迭代的一部分而执行的。

4.根据权利要求2所述的数据处理电路,其中所述第一解码处理是作为所述数据处理电路的第一局部迭代的一部分而执行的,以及其中所述第二解码处理是作为所述数据处理电路的第二局部迭代的一部分而执行的。

5.根据权利要求2所述的数据处理电路,其中所述第一标量值大于所述第二标量值,其中所述第一标量值被选择为促进所述数据解码算法的快速收敛,以及其中所述第二标量值被选择为向所述数据解码算法提供增强信息。

6.根据权利要求1所述的数据处理电路,其中所述解码器电路是低密度奇偶校验解码器。

7.根据权利要求6所述的数据处理电路,其中所述低密度奇偶校验解码器包括至少一个变量节点和至少一个校验节点,以及其中所述解码器消息从所述变量节点传递到所述校验节点。

8.根据权利要求6所述的数据处理电路,其中所述低密度奇偶校验解码器包括至少一个变量节点和至少一个校验节点,以及其中所述解码器消息从所述校验节点传递到所述变量节点。

9.根据权利要求1所述的数据处理电路,其中所述数据处理电路被实现为存储设备的一部分。

10.根据权利要求1所述的数据处理电路,其中所述数据处理电路被实现为数据传送设备的一部分。

11.一种数据处理系统,所述数据处理系统包括:

数据检测器电路,可操作用于接收数据输入并且提供检测输出;

数据解码器电路,可操作用于对所述检测输出执行一次或更多次局部迭代并且提供解码输出,其中所述解码器电路可操作用于通过产生所述解码器电路内部的至少一个解码器消息作为数据解码算法的一部分来执行所述数据解码算法,以及其中所述解码器电路包括标量电路,其可操作用于使所述解码器消息乘以可变标量值,其中所述数据解码算法的输出是作为所述数据解码算法的一部分的。

12.根据权利要求11所述的数据处理系统,其中所述可变标量值包括第一标量值和第二标量值,其中所述解码器电路可操作用于执行第一解码处理和第二解码处理,以及其中所述标量电路在所述第一解码处理期间使所述解码器消息乘以第一标量值并且在所述第二解码处理期间使所述解码器消息乘以第二标量值。

13.根据权利要求12所述的数据处理系统,其中所述第一解码处理是作为第一全局迭代的一部分而执行的,所述第一全局迭代包括通过所述数据检测器电路和所述数据解码器电路的处理,以及其中所述第二解码处理是作为第二全局迭代的一部分而执行的,所述第二全局迭代包括通过所述数据检测器电路和所述数据解码器电路的处理。

14.根据权利要求12所述的数据处理系统,其中所述第一解码处理是作为所述数据解码器电路中的第一局部迭代的一部分而执行的,以及其中所述第二解码处理是作为所述数据解码器电路中的第二局部迭代的一部分而执行的。

15.根据权利要求12所述的数据处理系统,其中所述第一标量值大于所述第二标量值,其中所述第一标量值被选择为促进所述数据解码算法的快速收敛,以及其中所述第二标量值被选择为向所述数据解码算法提供增强信息。

16.一种用于数据处理的方法,所述方法包括:

通过数据解码器电路将数据解码算法应用于数据集合,包括产生对应于所述数据集合的作为所述数据解码算法的一部分的至少一个解码器消息,其中所述数据解码算法的输出是作为所述数据解码算法的一部分的;以及使所述解码器消息乘以可变标量值。

17.根据权利要求16所述的方法,其中所述可变标量值包括第一标量值和第二标量值,其中所述解码器消息是第一解码器消息,其中使所述第一解码器消息乘以所述可变标量值是使所述第一解码器消息乘以所述第一标量值,以及其中所述方法进一步包括:将所述数据解码算法应用于所述数据集合的导出物,包括处理对应于所述数据集合的导出物的至少第二解码器消息;以及使所述第二解码器消息乘以所述第二标量值。

18.根据权利要求17所述的方法,其中将所述数据解码算法应用于所述数据集合包括:作为数据解码器电路的第一局部迭代的一部分,处理至少所述第一解码器消息,以及其中将所述数据解码算法应用于所述数据集合的所述导出物包括:作为所述数据解码器电路的第二局部迭代的一部分,处理至少所述第二解码器消息。

19.根据权利要求17所述的方法,其中将所述数据解码算法应用于所述数据集合包括:作为包括数据解码器电路和数据检测器电路的数据处理电路的第一全局迭代的一部分,处理至少所述第一解码器消息,以及其中将所述数据解码算法应用于所述数据集合的所述导出物包括:作为所述数据处理电路的第二全局迭代的一部分,处理至少所述第二解码器消息。

20.根据权利要求16所述的方法,所述数据解码算法是低密度奇偶校验解码算法。

说明书 :

用于数据解码系统中的动态定标的系统和方法

技术领域

[0001] 本发明涉及用于检测信息和/或解码信息的系统和方法,更具体地,涉及用于执行可变定标数据处理的系统和方法。

背景技术

[0002] 已开发了各种数据传输系统,包括存储系统、蜂窝电话系统和无线电传送系统。在这些系统中的每一个中,数据经由某种介质从发送器传输到接收器。例如,在存储系统中,数据经由存储介质从发送器(即,写入功能)传送到接收器(即,读取功能)。任何传输的效率受到由各种因素引起的任何数据损失的影响。在一些情况下,编码/解码处理被用于增强检测数据错误和纠正这些数据错误的能力。作为示例,可以执行简单的数据检测和解码,然而,该简单的处理常常缺乏收敛在经纠正的数据流上的能力。
[0003] 为了提高收敛的可能性,各种现有的处理利用两次或更多次检测和解码迭代。转到图1,示出了示例性的现有技术的两级数据检测和解码电路100。两级数据检测和解码电路100接收施加到检测器110的数据输入105。来自检测器110的硬和软输出被提供给低密度奇偶校验解码器(LDPC解码器)115。输入105经由缓冲器130被前馈到另一检测器120。检测器120使用LDPC解码器115的软输出和输入105以执行额外的数据检测处理。来自检测器120的硬和软输出被提供给LDPC解码器125,该LDPC解码器125执行第二解码处理并且提供输出135。在检测器110和LDPC解码器115提供的初始检测和解码未收敛的情况下,由检测器120和LDPC解码器125提供的后继的检测和解码提供了另外的收敛机会。在这些系统中,各种标量被设计到系统中以通知各种处理级之间的数据。这些标量是在设计时固定的或者是在系统被部署在存储介质中时可以进行调整的可编程静态值。然而,在一些情况下,从一级到另一级的数据饱和,限制了系统的性能。
[0004] 因此,至少出于前述原因,在本领域中需要用于数据处理的高级系统和方法。

发明内容

[0005] 本发明涉及用于检测和/或解码信息的系统和方法,更具体地,涉及用于执行可变定标数据处理的系统和方法。
[0006] 本发明的各种实施例提供了数据处理电路,其包括解码器电路和标量电路。解码器电路可操作用于通过处理至少一个解码器消息来执行数据解码算法,并且标量电路可操作用于使解码器消息乘以可变标量值。在前述实施例的一些实例中,标量电路在第一解码处理期间使解码器消息乘以可变解码器值的第一实例并且在第二解码处理期间使解码器消息乘以可变标量值的第二实例。在一些情况下,第一解码处理是作为数据处理电路的第一全局迭代的一部分而执行的,并且第二解码处理是作为数据处理电路的第二全局迭代的一部分而执行的。在其他情况下,第一解码处理是作为数据处理电路的第一局部迭代的一部分而执行的,并且第二解码处理是作为数据处理电路的第二局部迭代的一部分而执行的。在特定的情况下,第一值大于第二值。第一值被选择为促进数据解码算法的快速收敛,而第二标量被选择为向数据解码算法提供增强信息。在前述实施例的特定实例中,解码器电路是低密度奇偶校验解码器。在一些这样的实例中,低密度奇偶校验解码器包括至少一个变量节点和至少一个校验节点,并且解码器消息从变量节点传递到校验节点。在其他这样的实例中,低密度奇偶校验解码器包括至少一个变量节点和至少一个校验节点,并且解码器消息从校验节点传递到变量节点。
[0007] 本发明的其他实施例提供了数据处理系统,其包括数据检测器电路和数据解码器电路。数据检测器电路可操作用于接收数据输入并且提供检测输出。数据解码器电路可操作用于对检测输出执行一次或多次局部迭代并且提供解码输出。解码器电路可操作用于通过处理至少一个解码器消息来执行数据解码算法,并且解码器电路包括标量电路,其可操作用于使解码器消息乘以可变标量值。
[0008] 本发明的其他实施例提供了用于数据处理的方法,其包括:将数据解码算法应用于数据集合,包括处理对应于该数据集合的至少一个解码器消息;以及使该解码器消息乘以可变标量值。在一些情况下,可变标量值包括第一标量值和第二标量值,解码器消息是第一解码器消息,并且使第一解码器消息乘以可变标量值包括使第一解码器消息乘以第一标量值。这些方法进一步包括将数据解码算法应用于数据集合的导出物,至少包括处理对应于该数据集合的导出物的第二解码器消息;以及使该第二解码器消息乘以第二标量值。
[0009] 本发明内容仅提供了本发明的一些实施例的一般概述。通过下面的详细描述、所述权利要求以及附图,本发明的许多其他目的、特征、优点和其他实施例将更全面地是明显的。

附图说明

[0010] 参照在本说明书的以下部分中描述的附图,可以实现本发明的各种实施例的进一步的理解。在附图中,贯穿于若干个附图沿用相同的附图标记以表示相似的部件。在一些实例中,包括小写字母的下标与附图标记关联以表示多个相似部件中的一个。当在没有指定现有下标的情况下提到附图标记时,应指的是所有这些多个相似的部件。
[0011] 图1示出了现有技术的两级数据检测和解码系统;
[0012] 图2a示出了根据本发明的一个或多个实施例的包括具有内部动态定标的解码器电路的数据处理电路;
[0013] 图2b示出了根据本发明的一些实施例的包括具有内部动态定标和全局动态定标的解码器电路的另一数据处理电路;
[0014] 图3是示出根据本发明的一些实施例的动态定标的LDPC解码器电路的图示;
[0015] 图4a示出了包括根据本发明的各种实施例示出了解码器消息的动态定标的排队检测和解码电路;
[0016] 图4b示出了包括根据本发明的各种实施例的解码器消息的动态定标和全局循环中的动态定标的排队检测和解码电路;
[0017] 图5a是示出根据本发明的一些实施例的用于使用解码器消息的动态定标来处理数据的方法的流程图;
[0018] 图5b是示出根据本发明的一些实施例的用于使用解码器消息的动态定标和全局处理循环中的动态定标来处理数据的方法的流程图;
[0019] 图6a至6d是示出根据本发明的不同实施例的用于动态计算定标因子的不同方法的四个流程图;
[0020] 图7示出了具有根据本发明的各种实施例的动态解码器定标的存储系统;以及[0021] 图8示出了包括具有读取信道电路的接收器的通信系统,该读取信道电路具有根据本发明的不同实施例的可变定标解码器处理。

具体实施方式

[0022] 本发明涉及用于检测和/或解码信息的系统和方法,更具体地,涉及用于执行可变定标数据处理的系统和方法。
[0023] 本发明的各种实施例提供了适用于读取信道、无线传送和其他应用的解码的解决方案。该解码/检测电路包括向数据检测器提供数据的软判决解码器。使用局部定标值对软判决解码器中的消息定标。该方法允许通过初始使用相对高的局部标量值来以相对小量的噪声加速码字的收敛,同时实现码字的较好的解码性能,否则,通过稍后使用相对低的局部标量值可能不能收敛。
[0024] 本发明的一些实施例提供了数据处理电路,其包括解码器电路和标量电路。如这里使用的术语“解码器电路”按其最广泛的含义用于意指可操作用于对先前编码的数据集合进行解码的任何电路。因此,作为示例,解码器电路可以是LDPC解码器电路。基于这里提供的公开,本领域的普通技术人员将认识到可以就本发明的不同实施例使用的多种解码器电路。如这里使用的,术语“标量电路”按其最广泛的含义用于意指可操作用于对接收到的输入定标的任何电路。基于这里提供的公开,本领域的普通技术人员将认识到可以就本发明的不同实施例使用的多种标量电路。解码器电路可操作用于通过处理至少一个解码器消息来执行数据解码算法,并且标量电路可操作用于使解码器消息乘以可变的标量值。如这里使用的术语“解码器消息”按其最广泛的含义用于意指传递到解码器电路内部的任何值。因此,作为示例,解码器消息可以是LDPC解码器中的从变量节点传递到校验节点的数据集合,或者LDPC解码器中的从校验节点传递到变量节点的数据集合。基于这里提供的公开,本领域的普通技术人员将认识到可以就本发明的不同实施例使用的多种解码器消息。
[0025] 在前述实施例的一些实例中,标量电路在第一解码处理期间使解码器消息乘以可变解码器值的第一实例(即,第一值)并且在第二解码处理期间使解码器消息乘以可变标量值的第二实例(即,第二值)。在一些情况下,第一解码处理被执行作为数据处理电路的第一全局迭代的一部分,并且第二解码处理被执行作为数据处理电路的第二全局迭代的一部分。如这里使用的,术语“全局迭代”按其最广泛的含义用于意指其中应用了数据检测算法和数据解码算法的处理。因此,作为示例,全局迭代可以包括将数据检测算法应用于数据集合,随后一次或多次将数据解码算法应用于数据检测的结果。基于这里提供的公开,本领域的普通技术人员将认识到可以就本发明的不同实施例使用的多种全局迭代。在其他情况下,第一解码处理被执行作为数据处理电路的第一局部迭代的一部分,并且第二解码处理被执行作为数据处理电路的第二局部迭代的一部分。如这里使用的,术语“局部迭代”按其最广泛的含义用于意指其中应用了数据检测算法或数据解码算法之一的处理。因此,作为示例,局部迭代可以包括由数据检测器电路应用数据解码算法。在全局迭代期间仅应用一次数据解码算法的情况下,称为仅发生一次局部迭代。另一方面,在应用两次或更多次数据解码算法的情况下,称为应用了两次或更多次局部迭代。基于这里提供的公开,本领域的普通技术人员将认识到可以就本发明的不同实施例使用的多种局部迭代。
[0026] 转到图2a,示出了根据本发明的一个或多个实施例的包括解码器电路295的数据处理电路200,该解码器电路295包括内部动态定标。此外,数据处理电路200包括信道检测器电路210。数据处理电路200在信道检测器210处接收数据输入205。数据输入205可以例如得自存储介质或者传送信道。在特定的情况下,数据输入205是作为数据组或者数据集合(有时被称为码字)而提供的。在硬盘驱动器的情况下,接收到的数据集合可以是来自硬盘驱动器的存储介质的数据扇区。基于这里提供的公开,本领域的普通技术人员将认识到数据输入的其他源,以及可以根据本发明的不同实施例处理的其他数据集合。
[0027] 信道检测器210可以是本领域中已知的任何信道检测器,包括但不限于,软输出Viterbi算法(SOVA)检测器或者最大后验(MAP)检测器。基于这里提供的公开,本领域的普通技术人员将认识到,可以根据本发明的不同实施例使用的多种信道检测器。信道检测器210的输出被提供给解码器电路295。
[0028] 解码器电路295包括LDPC解码器215和可变标量电路220。LDPC解码器215在最初时执行对信道检测器210接收到的输出的LDPC解码。在此初始解码传递(即,初始局部迭代)时,LDPC解码器215使信道检测器210的输出乘以初始标量值,该初始标量值从可变标量电路220提供作为输出290。一旦解码处理完成,则确定是否需要通过LDPC解码器215的另一次传递(即,另一次局部迭代)。该确定是基于LDPC解码器215是否收敛,以及基于通过LDPC解码器215的额外传递是否对收敛失败有益。可以使用本领域中已知的用于确定需要额外的局部解码器循环的任何方法。在将执行额外的局部迭代的情况下,LDPC解码器215声明信号299,并且可变标量电路220动态地修改被作为输出290提供的标量值。此外,LDPC解码器215的输出297被反馈用于再处理。在通过LDPC解码器215的后继的传递时,对与作为输出290而接收到的经修改的标量值相乘的输出297应用解码处理。针对通过LDPC解码器215的每次局部迭代重复该处理。
[0029] 在本发明的一个特定的实施例中,作为输出290而提供的初始标量值是0.75,并且在通过LDPC解码器215的每次连续的局部迭代时,可变标量电路220使作为输出290提供的标量值减少对硬件友好的值1/32。因此,在第二次局部迭代时,标量值是0.7188;在第三次局部迭代时,标量值是0.6875;在第四次局部迭代时,标量值是0.6563;在第五次局部迭代时,标量值是0.625;在第六次局部迭代时,标量值是0.5938;在第七次局部迭代时,标量值是0.5625;在第八次局部迭代时,标量值是0.5313;在第九次局部迭代时,标量值是0.5。在某个点处,可变标量电路220使作为输出290而提供的标量值的修改中断,并且使标量值维持恒定。因此,使用前面的示例,在第十次和以后的局部迭代时,可变标量电路220使标量值维持在0.5。一旦所有局部迭代完成,则LDPC解码器215提供数据输出225。
[0030] 转到图2b,示出了根据本发明的一些实施例的包括解码器电路296的数据处理电路201,该解码器电路296包括内部动态定标和全局动态定标。此外,数据处理电路201包括信道检测器电路211,其中接收数据输入206。数据输入206可以得自存储介质或者传送信道。在特定的情况下,数据输入206是作为数据组或者数据集合(有时被称为码字)而提供的。在硬盘驱动器的情况下,接收到的数据集合可以是来自硬盘驱动器的存储介质的数据扇区。基于这里提供的公开,本领域的普通技术人员将认识到数据输入的其他源,以及可以根据本发明的不同实施例进行处理的其他数据集合。
[0031] 信道检测器211可以是本领域中已知的任何信道检测器,包括但不限于,软输出Viterbi算法检测器(SOVA)或者最大后验(MAP)检测器。基于这里提供的公开,本领域的普通技术人员将认识到可以根据本发明的不同实施例使用的多种信道检测器。信道检测器211的输出被提供给解码器电路296。
[0032] 解码器电路296包括LDPC解码器216和可变标量电路221。LDPC解码器216在最初时执行对从信道检测器211接收到的输出的LDPC解码。在此初始解码传递(即,初始局部迭代)上,LDPC解码器216使信道检测器211的输出乘以从可变标量电路221提供作为输出294的初始标量值。一旦解码处理完成,则确定是否需要通过LDPC解码器216的另一次传递。该确定是基于LDPC解码器216是否收敛,以及通过LDPC解码器216的额外的传递是否对收敛的失败有益而进行的。可以使用本领域中已知的用于确定需要额外的局部解码器循环的任何方法。在将执行额外的局部迭代的情况下,LDPC解码器216声明信号296,并且可变标量电路221动态地修改作为输出294提供的标量值。此外,LDPC解码器216的输出298被反馈用于再处理。在通过LDPC解码器216的后继的传递时,对与作为输出294接收的经修改的标量值相乘的输出298应用解码处理。针对通过LDPC解码器216的每次局部迭代重复该处理。
[0033] 在本发明的一个特定的实施例中,作为输出294提供的初始标量值是0.75,并且在通过LDPC解码器216的每次连续的局部迭代时,可变标量电路221使作为输出294提供的标量值减少对硬件友好的值1/32。因此,在第二次局部迭代时,标量值是0.7188;在第三次局部迭代时,标量值是0.6875;在第四次局部迭代时,标量值是0.6563;在第五次局部迭代时,标量值是0.625;在第六次局部迭代时,标量值是0.5938;在第七次局部迭代时,标量值是0.5625;在第八次局部迭代时,标量值是0.5313;在第九次局部迭代时,标量值是0.5。在某个点处,可变标量电路221使作为输出294提供的标量值的修改中断,并且使标量值维持恒定。因此,使用前面的示例,在第十次和以后的局部迭代时,可变标量电路221使标量值维持在0.5。一旦所有局部迭代完成,则LDPC解码器216提供数据输出226。
[0034] 此外,多次全局迭代(即,通过信道检测器211和解码器电路296进行处理)是可能的。在需要另外的全局迭代的情况下,数据输出226被反馈到信道检测器211,其中通过信道检测器211和解码器电路296对其进行重新处理。可以使用本领域中已知的任何标准来进行关于是否执行另一次全局操作的判定。
[0035] 转到图3,示出了根据本发明的一些实施例的LDPC解码器电路的图示300,其表现出动态定标。图示300呈现了LDPC解码器的示例性操作。图示300示出了从上游检测器(未示出)的输出端接收到的输入310,以及作为电路输出提供的或者提供给上游或下游检测器(未示出)的输出320。输入数据被提供给标为V1、V2、V3、V4、V5、V6、V7的多个变量节点。如箭头所指示的,来自这些变量节点的消息被传递到标为C1、C2、C3的校验节点。使用标为S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12的乘法器使这些消息与局部标量值相乘。由乘法器S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12中的每一个进行乘法的局部标量值可以根据局部迭代次数和全局迭代次数之一或此两者而动态地改变。在未进行如箭头所示的乘法的情况下,校验节点C1、C2、C3实现的校验的结果被提供回到变量节点V1、V2、V3、V4、V5、V6、V7。这些结果可以作为输出320提供,或者在需要另一次局部解码器迭代的情况下,如箭头所指示的,变量V1、V2、V3、V4、V5、V6、V7处的值被再次转发到校验节点C1、C2、C3,并且执行可变局部标量值的乘法。在该处理中,根据下式使在变量V1、V2、V3、V4、V5、V6、V7和校验节点C1、C2、C3之间传递的消息与局部标量值相乘:
[0036] (从V到C的消息)=(局部标量值)(从V到C的消息)。
[0037] 应当注意,该定标可以应用于LDPC解码器而与任何更新调度无关,并且可以结合分层解码器和利用洪水式(flooding)调度的解码器使用。此外,应当注意,尽管该内部定标被讨论为应用于从变量节点传输到校验节点的消息,但是在本发明的其他实施例中,定标可以被应用于从校验节点传输到变量节点的消息。
[0038] 转到图4a,示出了根据本发明的各种实施例的包括解码器消息的动态定标的排队检测和解码电路400。排队检测和解码电路400包括馈送到信道检测器409的数据输入405。在一些实施例中,数据输入405可以得自存储介质或传送信道。在特定的情况下,数据输入
405是作为数据组或者数据集合(有时被称为码字)提供的。在硬盘驱动器的情况下,接收到的数据集合可以是来自硬盘驱动器的存储介质的数据扇区。基于这里提供的公开,本领域的普通技术人员将认识到数据输入的其他源,以及可以根据本发明的不同实施例进行处理的其他数据集合。
[0039] 信道检测器409可以是本领域中已知的任何类型的信道检测器,包括但不限于,软输出Viterbi算法检测器(SOVA)或者最大后验(MAP)检测器。基于这里提供的公开,本领域的普通技术人员将认识到可以根据本发明的不同实施例使用的多种信道检测器。此外,数据输入405被提供给存储器缓冲器413,其被设计用于保存从数据输入405接收到的多个数据集合。如下文更全面地描述的,存储器缓冲器413的尺寸可以被选择为提供足够的缓冲,使得经由数据输入405提供的数据集合至少在该同一数据集合的第一迭代处理完成之前保持可用并且经处理的数据在队列缓冲器449中可用。存储器缓冲器413向信道检测器417提供数据集合。与信道检测器409相似,信道检测器417可以是本领域中已知的任何类型的信道检测器,包括但不限于,SOVA检测器或者MAP检测器。再次地,基于这里提供的公开,本领域的普通技术人员将认识到可以根据本发明的不同实施例使用的多种信道检测器。
[0040] 信道检测器409的输出481被提供给交织器电路494,并且信道检测器417的输出483被提供给另一交织器电路492。交织器电路494使用乒乓(ping pong)缓冲器496交织信道检测器409的输出,而交织器电路492使用乒乓缓冲器498交织信道检测器417的输出。乒乓缓冲器496中的一个缓冲器保存来自信道检测器409的输出的先前交织处理的结果并且经由多路复用器421卸载到LDPC解码器437,而乒乓缓冲器496的另一缓冲器保存当前正进行交织的来自信道检测器409的数据集合。相似地,乒乓缓冲器498中的一个缓冲器保存来自信道检测器417的输出的先前交织处理的结果并且经由多路复用器421卸载到LDPC解码器437,而乒乓缓冲器498的另一缓冲器保存当前正进行交织的来自信道检测器417的数据集合。应当注意,在本发明的不同的实施例中可以使用其他软判决数据解码器来替换LDPC解码器437。
[0041] LDPC解码器437能够同时对一个或多个数据集合进行解码。作为示例,LDPC解码器437可以被设计为对来自乒乓缓冲器496的交织的数据集合进行解码,对来自乒乓缓冲器
498的交织的数据集合进行解码,或者同时对来自乒乓缓冲器496和乒乓缓冲器498的交织的数据集合进行解码。可能需要通过LDPC解码器437的一次或多次传递。再次地,这些传递在这里被称为局部迭代并且再次牵涉通过LDPC解码器对LDPC解码器437的输出的再处理。
在这些情况下,可以使LDPC解码器437的内部消息乘以由局部动态标量电路439生成的局部动态标量值。该乘法处理可以按与上文就图3讨论的方式相似的方式实现。
[0042] 在本发明的一些实施例中,局部动态标量电路439提供在第一全局迭代(即,通过信道检测器409和LDPC解码器437的处理)时使用的初始局部标量值,并且针对该特定全局迭代之后的每次连续的局部迭代,使用同一局部标量值。当发生每次额外的全局迭代(即,通过信道检测器417和LDPC解码器437的处理)时,使标量值减少定义的量,并且减少的标量值用于后续的局部迭代。在本发明的一个特定的实施例中,初始标量值是0.75,并且在每次连续的全局迭代时,局部动态标量电路439使标量值减少对硬件友好的值1/32。因此,在第二次全局迭代时,标量值是0.7188;在第三次全局迭代时,标量值是0.6875;在第四次全局迭代时,标量值是0.6563;在第五次全局迭代时,标量值是0.625;在第六次全局迭代时,标量值是0.5938;在第七次全局迭代时,标量值是0.5625;在第八次全局迭代时,标量值是0.5313;在第九次全局迭代时,标量值是0.5。在某个点处,局部动态标量电路439使局部标量值的修改中断,并且使局部标量值维持恒定。因此,使用前面的示例,在第十次和以后的全局迭代时,局部动态标量电路439使局部标量值维持在0.5。在执行解码处理之前,LDPC解码器437使来自多路复用器421的数据输出487乘以来自局部动态标量电路439的局部标量值。应当注意,在本发明的其他实施例中,除了在每次全局迭代之后进行的修改之外或者作为在每次全局迭代之后进行修改的替换,局部标量值的值可以在每次局部迭代之后被修改。
[0043] 作为一般规则,使用较高的局部标量值导致了存在低噪声的情况下的解码器的收敛速率的增加。相反,使用较低的局部标量值导致了在数据流的一个或多个位中呈现较高噪声的情况下的收敛速率的减小以及收敛可能性的增加。由于与较小标量相乘的位不太可能使解码器电路饱和并且因此保持了更多的数据在解码处理中使用,因此出现了较高的收敛概率。通过使用可变局部标量值,本发明的一些实施例在码字中的呈现出较低水平噪声的各种区域上提供了相对快的收敛。此后,利用逐渐降低的标量来处理码字中的呈现出较高水平噪声的区域,所述标量使收敛速率减小,但是使可用于实现收敛的数据范围增加。
[0044] 一旦LDPC解码器437完成了所期望的局部迭代,则得到的经解码的数据被提供为硬判决输出441或者作为输出485提供给解交织器电路445,该解交织器电路445使用队列缓冲器449来对经解码的数据进行解交织并且存储经解交织的数据,直至信道检测器417可用于额外的处理。
[0045] 队列缓冲器449中的一个缓冲器保存先前的解交织处理的结果并且卸载到信道检测器417,而队列缓冲器449的另一缓冲器保存当前正被解交织的经解码的数据集合,并且队列缓冲器449中的一个或多个其他缓冲器保存等待由信道检测器417处理的其他未收敛数据。来自队列缓冲器449的未收敛数据由解交织器445进行解交织并且被传递到信道检测器417,该信道检测器417访问存储器缓冲器413中的相应的数据集合。信道检测器417执行的数据检测与信道检测器409执行的数据检测相似。可替选地,在数据集合在LDPC解码器437中收敛的情况下,其作为硬判决输出441被提供给解交织器电路457,该解交织器电路
457对接收到的硬判决输出441进行解交织,并且将经解交织的结果存储在多个存储器缓冲器461中的其中一个中。最后,解交织器电路457提供存储器缓冲器461中存储的经解交织的数据作为输出471。
[0046] 排队检测/解码电路400允许根据所引入的数据执行次数可变的检测和解码迭代。此外,在一些情况下,通过使用排队检测/解码电路400可以实现可观的功率节约。此外,在一些情况下,可以实现更快的LDPC解码器,其中由于不一定需要多次迭代而存在第一迭代数据基本上收敛,因此这使得增加了吞吐量。此外,通过允许乱序地报告LDPC解码器437的结果,上游处理不必等待下游处理的完成。乱序结果的重新排序可以由排队检测/解码电路
400完成或者由输出471的下游接收方完成。此外,在解码器437中使用动态标量允许使用相对高的局部标量值来快速地解决码字的基本上没有噪声的区域,并且允许使用相对小的局部标量值来解决码字的噪声较大的区域。基于这里提供的公开,本领域的普通技术人员将认识到可以通过本发明的一个或多个实施例的实现方案来实现的多种其他优点。
[0047] 转到图4b,示出了根据本发明的各种实施例的包括解码器消息的动态定标和全局循环中的动态定标的排队检测和解码电路499。排队检测和解码电路499包括馈送到信道检测器409的数据输入405。此外,数据输入405被提供给存储器缓冲器413,其被设计用于保存从数据输入405接收到的多个数据集合。如下文更全面地描述的,存储器缓冲器413的尺寸可以被选择为提供足够的缓冲,使得经由数据输入405提供的数据集合至少在该同一数据集合的第一迭代处理完成之前保持可用并且经处理的数据在队列缓冲器449中可用。存储器缓冲器413向信道检测器417提供数据集合。
[0048] 信道检测器409的输出481被提供给交织器电路494,并且信道检测器417的输出483被提供给交织器电路492。交织器电路494使用乒乓缓冲器496交织信道检测器409的输出,而交织器电路492使用乒乓缓冲器498交织信道检测器417的输出。乒乓缓冲器496中的一个缓冲器保存来自信道检测器409的输出的先前交织处理的结果并且经由多路复用器
421卸载到LDPC解码器437,而乒乓缓冲器496的另一缓冲器保存当前正进行交织的来自信道检测器409的数据集合。相似地,乒乓缓冲器498中的一个缓冲器保存来自信道检测器417的输出的先前交织处理的结果并且经由多路复用器421卸载到LDPC解码器437,而乒乓缓冲器498的另一缓冲器保存当前正进行交织的来自信道检测器417的数据集合。
[0049] 可能需要通过LDPC解码器437的一次或多次传递(即,局部迭代)。在这些情况下,可以使LDPC解码器437的内部消息乘以由局部动态标量电路439生成的局部动态标量值。该乘法处理可以按与上文就图3讨论的方式相似的方式实现。
[0050] 在本发明的一些实施例中,局部动态标量电路439提供在第一全局迭代(即,通过信道检测器409和LDPC解码器437的处理)时使用的初始局部标量值,并且针对该特定全局迭代之后的每次连续的局部迭代使用同一局部标量值。当发生每次额外的全局迭代(即,通过信道检测器417和LDPC解码器437的处理)时,使标量值减少定义的量,并且减少的标量值用于后续的局部迭代。
[0051] 一旦LDPC解码器437完成了所期望的局部迭代,则得到的经解码的数据被提供为硬判决输出441或者作为输出485提供给解交织器电路445,该解交织器电路445使用队列缓冲器449来对经解码的数据进行解交织并且存储经解交织的数据,直至信道检测器417可用于另外的处理。
[0052] 队列缓冲器449中的一个缓冲器保存先前解交织处理的结果并且卸载到信道检测器417,而队列缓冲器449的另一缓冲器保存当前正被解交织的经解码的数据集合,并且队列缓冲器449中的一个或多个其他缓冲器保存等待由信道检测器417处理的其他未收敛数据。来自队列缓冲器449的未收敛数据由解交织器445进行解交织并且被传递到信道检测器417,该信道检测器417访问存储器缓冲器413中的相应的数据集合。特别地,使用乘法器电路427使来自解交织器445的经解交织的数据乘以动态标量因子407(βx),并且将乘法器的乘积输出429提供给信道检测器417。信道检测器417执行的数据检测与信道检测器409执行的数据检测相似。可替选地,在数据集合在LDPC解码器437中收敛的情况下,其作为硬判决输出441被提供给解交织器电路457,该解交织器电路457对接收到的硬判决输出441进行解交织并且将经解交织的结果存储在多个存储器缓冲器461中的一个中。最后,解交织器电路
457提供存储器缓冲器461中存储的经解交织的数据作为输出471。
[0053] 基于对应于各个码字的经解码的输出485来为每个码字计算动态定标因子403和动态定标因子407。队列缓冲器449中的每个缓冲器包括用于存储关于各个码字的经解码的输出485的区域441,以及用于存储对应于各个码字的动态定标因子403和动态定标因子407的另一区域443。当从各个队列缓冲器中取出经解码的输出用于由信道检测器417进行解交织和处理时,从相应的队列缓冲器的区域441中取出定标因子403和定标因子407的值,并且将其用于乘法器493的乘法。
[0054] 动态标量计算电路497基于对应于各个码字的经解码的输出485来为各个码字计算定标因子403和定标因子407的值。计算的定标因子被存储到队列缓冲器449中的对应于经解码的输出485的缓冲器,其中根据该经解码的输出485计算了定标因子。
[0055] 使用经解码的输出485,动态标量计算电路497首先确定是否将更新定标因子403和定标因子407的值。具体的,动态标量计算电路497接收当前由LDPC解码器电路437处理的数据集合的奇偶校验保持违规的次数的指示。该次数在这里被称为违规计数。此外,动态标量计算电路497对经解码的输出485中的饱和(即,具有等于最大可实现值的值)的位周期的数目进行计数。该值被称为饱和计数。动态标量计算电路497将违规计数与阈值423比较并且将饱和计数与另一阈值425比较。在一些实施例中,阈值423和阈值425均是可编程的。如果违规计数小于阈值423或者饱和计数大于阈值425,则更新定标因子403和定标因子407的值。下面的伪代码描述了更新条件:
[0056] 如果(违规计数<阈值423||饱和计数>阈值425){
[0057]   更新定标因子
[0058] }
[0059] 否则{
[0060]     保持定标因子
[0061] }
[0062] 在示例性情况下,仅在存在相当数目的饱和软判决时才进行定标因子403和定标因子407的动态修改。
[0063] 在要求更新时,可以根据特定的实现方案按多种方式来完成定标因子403和定标因子407的更新。例如,可以通过在最初时将定标因子403和定标因子407设定为等于缺省值来完成更新。下面的伪代码描述了初始条件:
[0064] 定标因子407=β缺省;以及
[0065] 定标因子403=α缺省。
[0066] 缺省值β缺省和α缺省可以在设计时被硬编码,或者可以是可编程的,允许根据排队检测和解码电路499的特定部署而更新。缺省值β缺省和α缺省可以被选择为仅通过最小的饱和提供良好的性能。在一个实施例中,在决定更新定标因子403和定标因子407的值时,根据下面的伪代码将定标因子403和定标因子407修改为最小值定标因子:
[0067] 如果(违规计数<阈值423||饱和计数>阈值425){
[0068]     定标因子407=β最大;以及
[0069]     定标因子403=α最小
[0070] }
[0071] 否则{
[0072]     定标因子407=β缺省;以及
[0073]     定标因子403=α缺省
[0074] }
[0075] β最大和α最小的值可以在设计时被硬编码,或者可以是可编程的,允许根据特定的部署而更新。缺省值、β最大和α最小可以被选择为提供良好的性能,但是其值被设定为避免缺省定标因子所允许的某些饱和。
[0076] 排队检测/解码电路499允许根据所引入的数据执行次数可变的检测和解码迭代。此外,在一些情况下,通过使用排队检测/解码电路499可以实现可观的功率节约。此外,在一些情况下,可以实现更快的LDPC解码器,其中由于不一定需要多次迭代而存在第一迭代数据基本上收敛,因此这使得增加了吞吐量。此外,通过允许乱序地报告LDPC解码器437的结果,上游处理不必等待下游处理的完成。乱序结果的重新排序可以由排队检测/解码电路
499完成或者由输出471的下游接收方完成。此外,在解码器437中使用动态标量允许使用相对高的局部标量值来快速地解决码字的基本上没有噪声的区域,以及允许使用相对小的局部标量值来解决码字的噪声较大的区域。基于这里提供的公开,本领域的普通技术人员将认识到,可以通过本发明的一个或多个实施例的实现方案来实现的多种其他优点。
[0077] 转到图5a,流程图500示出了根据本发明的一些实施例的用于使用解码器消息的动态定标进行数据处理的方法。遵循流程图500,接收数据输入(框520)。该数据输入可以是,但不限于,从磁记录介质接收到的一系列数据位或者从传送信道接收到的一系列位。基于这里提供的公开,本领域的普通技术人员将认识到关于接收到的数据输入的各种源和格式。将接收到的数据的样本存储在缓冲器中并且保留用于以后的处理(框525)。对接收到的数据执行数据检测处理(框555)。使得到的检测数据交织(框560)。
[0078] 对经交织的数据进行解码(框565)。随后确定是否需要另一次局部迭代(即,是否需要通过解码器的另一次传递)(框592)。该确定是基于解码器是否收敛,以及通过解码器的额外的传递是否对收敛的失败有益而进行的。可以使用本领域中已知的用于确定需要额外的局部解码器循环的任何方法。在需要额外的局部迭代(即,通过解码处理的另一次传递)的情况下(框592),计算局部标量(框594)。在一些情况下,该局部标量计算牵涉到从多个预定的标量值中选择一个标量值。在本发明的一些实施例中,在第一全局迭代时使用初始局部标量值(即,执行数据检测和数据解码),并且针对该全局迭代之后的每次连续的局部迭代使用同一局部标量值。当每次额外的全局迭代发生时,使标量值减少定义的量,并且减少的标量值被用于后续的局部迭代。在本发明的一个特定的实施例中,初始标量值是0.75,并且在每次连续的全局迭代时,标量值减少对硬件友好的值1/32。因此,在第二次全局迭代时,标量值是0.7188;在第三次全局迭代时,标量值是0.6875;在第四次全局迭代时,标量值是0.6563;在第五次全局迭代时,标量值是0.625;在第六次全局迭代时,标量值是
0.5938;在第七次全局迭代时,标量值是0.5625;在第八次全局迭代时,标量值是0.5313;在第九次全局迭代时,标量值是0.5。在某个点处,标量值不再减小并且保持恒定。因此,使用前面的示例,在第十次和以后的全局迭代时,标量值维持在0.5。应当注意,在本发明的其他实施例中,除了在每次全局迭代之后进行修改之外或者作为在每次全局迭代之后进行修改的替换,可以在每次局部迭代之后修改标量值。使解码器电路的内部值乘以局部标量值(框
596)并且重复解码器处理(框565)。随后确定是否需要另一次局部迭代(框592)。
[0079] 作为一般规则,使用较高的局部标量值导致了低噪声情况下的解码器的收敛速率的增加。相反,使用较低的局部标量值导致了在数据流的一个或多个位中呈现较高的噪声的情况下收敛速率的减小以及收敛的可能性的增加。由于与较小标量相乘的位不太可能使解码器电路饱和并且因此保持了更多的数据在解码处理中使用,因此出现了较高的收敛概率。通过使用可变的局部标量值,本发明的一些实施例在码字中的呈现出较低水平的噪声的各种区域上提供了相对快的收敛。此后,利用逐渐降低的标量来处理码字中的呈现出较高水平的噪声的区域,这些标量使收敛速率减小,但是使可用于实现收敛的数据范围增加。
[0080] 在确定不需要额外的局部迭代的情况(框592)下,确定解码处理是否收敛(框545),以及是否存在可用于对数据进行重新处理的足够的缓冲(框550)。在解码处理收敛(框545)或者可用的缓冲不足(框550)的情况下,对经解码的数据进行解交织(框570)并且将其存储在缓冲器中(框575)。缓冲器包括可能变为乱序可用的各种结果,并且因此在缓冲器中对各种结果进行重新排序以呈现原始接收相应的数据输入的顺序(框580)。随后确定在缓冲器中是否可以获得完整的时间集合(框585)。完整的时间集合包括与给定的时间段上的接收到的输入相对应的每个结果。因此,例如,在第一结果被延迟而报告两个后面的结果的情况下,一旦在缓冲器中最终可获得第一结果,则存在关于这三个结果的完整的时间集合。应当注意,在本发明的一些实施例中,乱序地向接收方报告这些结果。在这些情况下,不需要对结果进行重新排序或者确定是否可获得完整的时间集合。在可获得完整的时间集合(框585)的情况下或者在接收到结果时将报告结果而不考虑顺序的情况下,将结果输出到接收方(框590)。
[0081] 可替选地,在解码处理未能收敛(框545)并且存在足够可用的缓冲(框550)的情况下,执行另一次全局迭代。全局迭代包括对经解码的数据进行解交织(框505)并且将经解交织的解码数据存储到缓冲器(框510)。一旦数据检测器是可用的,则使经解交织的数据与相应的数据输入的样本对准(框515)。将经解交织的数据和相应的样本数据输入提供给数据检测器,其中使用在同一数据输入的早先的处理中发展出的软输入(框555、560、565、592、594、596、545、550、505、510、515)对原始存储的数据输入的样本(框525)执行后继的数据检测(框530)。使数据检测处理的结果交织(框535)并且对经交织的数据进行解码(框565)。此时,重复框592、594、596、545、550的处理。
[0082] 转到图5b,流程图501示出了根据本发明的一些实施例的使用解码器消息的动态定标和全局处理循环中的动态定标进行数据处理的方法。遵循流程图501,接收数据输入(框521)。该数据输入可以是,但不限于,从磁记录介质接收到的一系列数据位或者从传送信道接收到的一系列位。基于这里提供的公开,本领域的普通技术人员将认识到关于接收到的数据输入的各种源和格式。将接收到的数据的样本存储在缓冲器中并且保留用于以后的处理(框526),并且对接收到的数据执行数据检测处理(框556)。使得到的检测数据乘以定标因子(α)(框558),并且使乘法的乘积交织(框561)。
[0083] 对经交织的数据进行解码(框566)。随后确定是否需要另一次局部迭代(即,是否需要通过解码器的另一次传递)(框593)。该确定是基于解码器是否收敛,以及基于通过解码器的额外的传递是否对收敛的失败有益而进行的。可以使用本领域中已知的用于确定需要额外的局部解码器循环的任何方法。在需要额外的局部迭代(即,通过解码处理的另一次传递)的情况下(框592),计算局部标量(框595)。在一些情况下,该局部标量计算牵涉到从多个预定的标量值中选择一个标量值。在本发明的一些实施例中,在第一全局迭代(即,执行数据检测和数据解码)时使用初始局部标量值,并且针对该全局迭代之后的每次连续的局部迭代使用同一局部标量值。当每次额外的全局迭代发生时,使标量值减少定义的量,并且减少的标量值被用于后续的局部迭代。在本发明的一个特定的实施例中,初始标量值是0.75,并且在每次连续的全局迭代时,标量值减少对硬件友好的值1/32。因此,在第二次全局迭代时,标量值是0.7188;在第三次全局迭代时,标量值是0.6875;在第四次全局迭代时,标量值是0.6563;在第五次全局迭代时,标量值是0.625;在第六次全局迭代时,标量值是
0.5938;在第七次全局迭代时,标量值是0.5625;在第八次全局迭代时,标量值是0.5313;在第九次全局迭代时,标量值是0.5。在某个点处,标量值不再减小并且保持恒定。因此,使用前面的示例,在第十次和以后的全局迭代时,标量值维持在0.5。应当注意,在本发明的其他实施例中,除了在每次全局迭代之后进行修改之外或者作为在每次全局迭代之后进行修改的替换,可以在每次局部迭代之后修改标量值。使解码器电路的内部值乘以局部标量值(框
597)并且重复解码器处理(框566)。随后确定是否需要另一次局部迭代(框593)。
[0084] 作为一般规则,使用较高的局部标量值导致了低噪声情况下的解码器的收敛速率的增加。相反,使用较低的局部标量值导致了在数据流的一个或多个位中呈现较高的噪声的情况下的收敛速率的减小以及收敛的可能性的增加。由于与较小标量相乘的位不太可能使解码器电路饱和并且因此保持了更多的数据在解码处理中使用,因此出现了较高的收敛概率。通过使用可变的局部标量值,本发明的一些实施例在码字中的呈现出较低水平的噪声的各种区域上提供了相对快的收敛。此后,利用逐渐降低的标量来处理码字中的呈现出较高水平的噪声的区域,这些标量使收敛速率减小,但是使可用于实现收敛的数据范围增加。
[0085] 在确定不需要额外的局部迭代的情况(框593)下,确定解码处理是否收敛(框546),以及是否存在可用于对数据进行重新处理的足够的缓冲(框551)。在解码处理收敛(框546)或者可用的缓冲不足(框551)的情况下,对经解码的数据进行解交织(框571)并且将其存储在缓冲器中(框576)。缓冲器包括可能变为乱序可用的各种结果,并且因此在缓冲器中对各种结果进行重新排序以呈现原始接收相应数据输入的顺序(框581)。随后确定在缓冲器中是否可以获得完整的时间集合(框586)。完整的时间集合包括与给定的时间段上接收到的输入相对应的每个结果。因此,例如,在第一结果被延迟而报告两个后面的结果的情况下,一旦在缓冲器中最终可获得第一结果,则存在关于这三个结果的完整的时间集合。
应当注意,在本发明的一些实施例中,乱序地向接收方报告这些结果。在这些情况下,不需要对结果进行重新排序或者确定是否可获得完整的时间集合。在可获得完整的时间集合(框586)的情况下或者在接收到结果时将报告结果而不考虑顺序的情况下,将结果输出到接收方(框591)。
[0086] 可替选地,在解码处理未能收敛(框546)并且存在足够可用的缓冲(框551)的情况下,执行另一次全局迭代。全局迭代包括基于经解码的数据来计算全局定标因子βx和αx(框503)。可以使用下文就图6a至6c描述的方法之一来计算这些定标因子。还对经解码的数据进行解交织(框506)并且将经解交织的解码数据存储到缓冲器(框510)。一旦数据检测器可用,则使经解交织的数据与相应的数据输入的样本对准(框516),并且乘以定标因子βx(框
512)。将经解交织的数据和相应的样本数据输入提供给数据检测器,在那里使用在同一数据输入的早先的处理中发展出的软输入(框556、558、561、566、593、595、597、546、551、503、
506、511、512、516)对原始存储的数据输入的样本(框526)执行后继的数据检测(框531)。使检测到的数据乘以定标因子αx(框532)。使数据检测处理的结果交织(框536)并且对经交织的数据进行解码(框566)。此时,重复框593、595、597、546、551的处理。
[0087] 转到图6a至6c,示出了根据本发明的不同实施例的用于动态计算关于全局循环的定标因子的三种不同的方法。遵循图6a的流程图700,每当解码处理完成时,确定违规计数是否小于第一阈值(即,阈值A)(框701)或者饱和计数是否大于第二阈值(即,阈值B)(框703)。在任一情况为真的情况下(框701、703),更新定标因子(框707)。特别地,根据下式更新这些定标因子:
[0088] β定标因子=β最大;以及
[0089] α定标因子=α最小。
[0090] 否则,在未要求更新的情况下(框701、703),根据下式将定标因子设定到缺省水平(框705):
[0091] β定标因子=β缺省;以及
[0092] α定标因子=α缺省。
[0093] 遵循图6b的流程图710,每当解码处理完成时,确定违规计数是否小于第一阈值(即,阈值A)(框711)或者饱和计数是否大于第二阈值(即,阈值B)(框713)。在任一情况为真的情况下(框711、713),使用于从查找表格中访问定标数据的索引(i)递增(框717)。随后使用该索引从查找表格中取出该定标因子(框729)。特别地,根据下式更新这些定标因子:
[0094] β定标因子=β(i);以及
[0095] α定标因子=α(i)。
[0096] β(i+1)大于β(i)并且α(i+1)小于α(i)。否则,在不要求更新的情况下(框711、713),根据下式将定标因子设定到缺省水平(框715):
[0097] β定标因子=β缺省;以及
[0098] α定标因子=α缺省。
[0099] 遵循图6c的流程图720,每当解码处理完成时,确定违规计数是否小于第一阈值(即,阈值A)(框721)或者饱和计数是否大于第二阈值(即,阈值B)(框723)。在任一情况为真的情况下(框721、723),计算对应于饱和计数的索引(框727)。在一些情况下,该索引是与标量值相乘的饱和计数并且增加到下一整数。随后使用该索引从查找表格中取出这些定标因子(框729)。特别地,根据下式更新这些定标因子:
[0100] β定标因子=β(索引);以及
[0101] α定标因子=α(索引)。
[0102] β(i+1)大于β(i)并且α(i+1)小于α(i)。否则,在不要求更新的情况下(框721、723),根据下式将定标因子设定到缺省水平(框725):
[0103] β定标因子=β缺省;以及
[0104] α定标因子=α缺省。
[0105] 遵循图6d的流程图820,每当解码处理完成时,确定违规计数是否小于阈值(框821)。在该情况为真的情况下(框821),计算定标因子(βx、αx)(框829)。否则,在不要求更新的情况下(框821),根据下式将定标因子设定到缺省水平(框825):
[0106] β定标因子=β缺省;以及
[0107] α定标因子=α缺省。
[0108] 转到图7,示出了包括读取信道710的存储系统700,该读取信道710包括根据本发明的各种实施例的动态解码器定标。存储系统700可以是例如硬盘驱动器。读取信道710可以包括但不限于,与上文就图2或图4描述的包括具有动态定标的解码器电路的数据处理编解码器相似的数据处理编解码器。在一些情况下,数据处理编解码器可以按与就图5之一描述的方式相似的方式进行操作。
[0109] 存储系统700还包括前置放大器770、接口控制器720、硬盘控制器766、电机控制器768、主轴电机772、盘片778和读/写磁头组件776。接口控制器720控制去往/来自盘片778的数据的寻址和时序。盘片778上的数据包括在将读/写磁头组件776适当地安置在盘片778上时可由该组件检测到的磁信号组。在一个实施例中,盘片778包括根据垂直记录方案记录的磁信号。例如,磁信号可以被记录为纵向或垂直记录信号。
[0110] 在典型的读取操作中,电机控制器768将读/写磁头组件776准确地安置在盘片778上的期望数据磁道上。适当的数据磁道由经由接口控制器720接收到的地址来定义。电机控制器768相对于盘片778安置读/写磁头组件776并且通过在硬盘控制器766的引导下使读/写磁头组件移动到盘片778上的适当的数据磁道来驱动主轴电机772。主轴电机772使盘片778按确定的旋转速率(RPM)旋转。一旦读/写磁头组件776被安置为与适当的数据磁道相邻,则当主轴电机772使盘片778旋转时,读/写磁头组件776感测表示盘片778上的数据的磁信号。感测到的磁信号被提供为表示盘片778上的磁数据的连续的微弱的模拟信号。该微弱的模拟信号从读/写磁头组件776经由前置放大器770传输到读取信道710。前置放大器770可操作用于对从盘片778获取的微弱的模拟信号进行放大。依次地,读取信道模块710对接收到的模拟信号进行解码和数字化,以重建原始写入盘片778的信息。在解码器电路的输出被动态定标并且被提供为解码器电路的输入的情况下,解码处理可以利用局部迭代循环。
该输入被再次解码。读取数据被提供作为读取数据703。写入操作基本上与前述读取操作相反,写入数据701被提供给读取信道模块710。该数据随后被编码并且写入盘片778。
[0111] 转到图8,示出了包括具有读取信道电路的接收器895的通信系统891,该读取信道电路具有根据本发明的不同实施例的可变定标解码器处理。通信系统891包括如本领域中已知的可操作用于经由传输介质897传送经编码的信息的传送器893。接收器895从传输介质897接收经编码的数据。接收器895使读取信道电路与可变定标解码器处理合并。经合并的读取信道电路能够自适应地基于输入流的处理来计算解码器定标因子。因此,可以根据上文就图2至5描述的内容来实现自适应计算电路。基于这里提供的公开,本领域的普通技术人员将认识到可以完成根据本发明的实施例的均衡和定标的多种介质。
[0112] 总之,本发明提供了用于执行数据解码和/或检测的新型的系统、设备、方法和配置。尽管上文已给出了本发明的一个或多个实施例的详细描述,但是在不偏离本发明的精神的情况下,各种替选、修改和等同方案对于本领域的技术人员将是明显的。例如,本发明的一个或多个实施例可以应用于各种数据存储系统和数字通信系统,诸如例如,磁带记录系统、光盘驱动器、无线系统和数字订阅线路系统。因此,上文的描述不应被视为限制本发明的范围,本发明的范围由所附权利要求限定。