里德-所罗门伞型代码的并行分解的制作方法
【专利摘要】本发明的各实施方式总体上涉及里德-所罗门伞型代码的并行分解。具体地,呈现了一种用于处理码字的系统、方法、装置和技术。接收长度为n个符号并且具有k个校验符号的里德-所罗门母码字,并且接收的里德-所罗门母码字的n个符号被分成v个里德-所罗门子码字,其中v是与接收的里德-所罗门母码字相关联的分解因子。在v个并行处理的相应子集中处理v个里德-所罗门子码字以输出v个解码的码字。
【专利说明】里德-所罗门伞型代码的并行分解
【背景技术】
[0001]许多现代应用在使用循环纠错代码(诸如里德-所罗门代码)在网络上传输数据之前对数据进行编码。此类代码能够提供强大的纠错能力。例如,长度为η并且包括n-k个校验符号的里德-所罗门代码可以检测多达t=n_k个错误符号的任意组合并且纠正多达Li/2J个符号的任意组合,其中U表示地板函数。
[0002]里德-所罗门代码逐渐地用于高速数据应用。例如,针对底板的IEEE802.3标准规定了里德-所罗门代码的使用。然而,足够快地对里德-所罗门代码解码以满足此类高速数据应用的吞吐量要求可能是具有挑战的。在一个方法中,多个前向纠错(FEC)电路被视为解码器的一部分,以便达到期望的数据吞吐量。虽然多个FEC电路可以以与整体器件成本(整体器件成本可以包括用于所需大小的裸片、数字逻辑和收发器以及封装的成本)相比相对低的成本实现,但是考虑到其他因素可能使得此类设计并不是所期望的。例如,实例化与最大情况下所需一样多的FEC可能导致现场可编程门阵列(FPGA)中包括太多的专用组件。
[0003]针对使用FEC代码(诸如里德-所罗门代码)的许多应用,其被设计用于“典型”信道。在已知信道具有比代码被设计更低的错误率的情况下,可以执行码字的部分解码。针对里德-所罗门代码,可以采取完整码字被编码并且仅解码错误多项式的子集的形式。备选地,码字可以仅被部分编码。
【发明内容】
[0004]呈现了一种用于处理码字的系统、方法、装置和技术。在某些布置中,接收长度为η个符号并且具有k个校验符号的里德-所罗门母码字,接收的里德-所罗门母码字的η个符号被分成V个里德-所罗门子(daughter)码字,其中V是与接收的里德_所罗门母码字相关联的分解因子。在V个并行处理的相应子集中处理V个里德-所罗门子码字以输出V个解码的码字。
[0005]在某些布置中,码字处理电路包括:接收器电路,被配置为接收长度为η个符号并且具有k个校验符号的里德-所罗门母码字;并行化电路,被配置为将接收的里德-所罗门母码字的η个符号分成V个里德-所罗门子码字,其中V是与里德-所罗门母码字相关联的分解因子;以及解码电路,被配置为在V个并行处理的相应集合中处理V个里德-所罗门子码字以输出V个解码的码字。
[0006]在某些布置中,错误定位多项式电路包括:以循环移位结构布置的寄存器组,其中该寄存器组被配置为存储里德-所罗门母代码的校验子(syndrome)值并且可分解成多个寄存器子组,每个寄存器子组以循环移位结构布置并且被配置为存储与里德-所罗门母代码相关联的里德-所罗门子代码的校验子值。
[0007]在某些布置中,钱氏搜索电路包括基于伽罗瓦域的乘和加结构,以及分解的乘和加结构。在钱氏搜索电路的某些实现方式中,基于伽罗瓦域的乘和加结构包括多个伽罗瓦域变量乘法器,其中该多个伽罗瓦域变量乘法器被配置为将校验子值集合中的每个校验子值与元素集合中的相应元素相乘,并且将每次乘法运算的结果相加以产生多项式的根。另夕卜,分解的乘和加结构包括与基于伽罗瓦域的乘和加结构的一部分相同的电路,该分解的乘和加结构被配置为向与基于伽罗瓦域的乘和加结构的一部分相同的电路应用元素集合的子集。
[0008]在钱氏搜索电路的某些其他实现方式中,钱氏搜索电路包括基于伽罗瓦域的乘和加结构,该基于伽罗瓦域的乘和加结构包括多个伽罗瓦域固定乘法器,其被配置为选择该多个伽罗瓦域固定乘法器的子集,使用该多个伽罗瓦域固定乘法器的子集中的一个伽罗瓦域固定乘法器逐步地将校验子值集合中的每个校验子值与元素集合中的相应元素相乘,并且将每次乘法运算的结果相加以产生多项式的根。另外,分解的乘和加结构包括与基于伽罗瓦域的乘和加结构的一部分相同的电路,并且被配置为向与基于伽罗瓦域的乘和加结构的一部分相同的电路应用元素集合的子集。
【专利附图】
【附图说明】
[0009]本发明的上述及其他优势在结合附图考虑了以下详细描述之后将容易理解,其中贯穿全文相似的参考字符指代相似的部分,其中:
[0010]图1图示了根据一个布置的里德-所罗门解码架构;
[0011]图2图示了根据一个布置用于从接收的码字的校验子值确定错误定位多项式的架构;
[0012]图3图示了根据一个布置用于基于里德-所罗门代码的伞型分解从接收的码字的校验子值确定错误定位多项式的多核架构;
[0013]图4图示了根据一个布置用于执行钱氏搜索并且计算错误值的架构;
[0014]图5图示了根据一个布置用于执行钱氏搜索并且计算错误值的、基于里德-所罗门代码的伞型分解的架构;
[0015]图6图示了根据一个布置对应于具有长度为16个系数的错误定位多项式(S卩,能够纠正多达16个符号错误)、并且具有并行度为21的里德-所罗门母代码的移位系数;
[0016]图7图示了根据一个布置对应于图6的里德-所罗门母代码的两个里德-所罗门子代码的移位系数;
[0017]图8图示了根据一个布置对应于图6的里德-所罗门母代码的四个里德-所罗门子代码的移位系数;以及
[0018]图9比较并对比用于根据一个布置处理里德-所罗门母代码和里德-所罗门子代码的对应子集的数据流。
【具体实施方式】
[0019]本文公开了一种用于在网络环境中实现里德-所罗门解码器和其他类型的解码器的方法、系统和装置。所公开的方法、系统和装置的优势在于使用了伞型代码以减少与解码里德-所罗门码字相关联的延迟。
[0020]在许多情况下,为了减少的延迟权衡编码增益是占有优势的。此类权衡可以基于里德-所罗门伞型代码在单个架构中实现。具体地,里德-所罗门伞型代码被限定为更大里德-所罗门(RS)代码的整数个子集。例如,(n,k)里德-所罗门代码分解成两个(n/2,k/2)里德-所罗门代码,或者四个(n/4,k/4)里德-所罗门代码。在本公开中,(n,k)里德-所罗门代码将被称为“母代码”,而基于该U,k)里德-所罗门代码分解的里德-所罗门代码(例如,(n/2,k/2)里德-所罗门代码或(n/4,k/4)里德-所罗门代码)将被称为“子代码”。作为第一说明性示例,(440,424)里德-所罗门母代码可以被分解成两个(220,212)里德-所罗门子代码,或者四个(110,106)里德-所罗门子代码。作为另一示例,(528,516)里德-所罗门母代码可以被分解成两个(264,258)里德-所罗门子代码,或者四个(132,129)里德-所罗门子代码。在四个(132,129)里德-所罗门子代码的情况下,每个代码包括三个校验符号,因此能够纠正一个符号错误,这与仅使用两个校验符号纠正的错误的数目相同。然而,这种由(132,129)代码使用奇数个校验符号是有用的,这是因为相比于校验符号的数目仅为二(即,偶数),码字之间增加的距离可以用于更精确地检测错误。
[0021]用于改进FEC伞型代码实现方式的效率的一种可能是基于里德-所罗门代码的伞型分解将里德-所罗门解码器分解成多个并行核。具体地,通过里德-所罗门解码架构的延迟通常与2n成比例,因此如果η被减少了,则延迟也被减少。无论使用多个并行核还是串行分解架构,总功耗将是近似相同的,但是与串行分解情况相比,在多个并行核的情况下延迟将被减少。另外,在多个并行核的情况下,相同的接口和变速箱(gearbox)可以用于母代码和任意子代码。
[0022]图1图示了根据一个布置的里德-所罗门解码架构。解码器100用于连续地处理接收的码字以恢复对应的数据字。解码器100通过有线、无线或混合网络上的接收器电路(图1中未示出)接收码字。在一个布置中,码字在100G底板上接收。
[0023]解码器100接收码 字110,该码字110具有η个符号,其中k个符号对应于数据符号以及n-k个符号对应于校验符号。因此,接收的码字110还可以由其符号 ι,...,rn或者一般地由符号A表示。在一个布置中,接收的码字110由(440,424)里德-所罗门代码(即,k=424并且n=440)生成,其中每个符号输送m=9比特的信息。常规地,针对给定代码符号的可能值的数目由qm表示,其中q和m均是整数(换言之,代码符号选自GF (Cf),其中GF(U)表示u阶伽罗瓦域)。这里,q=2并且m=9。在本发明的其他布置中,可以使用k、η和/或qm的其他值。
[0024]接收的码字110被提供至数据延迟缓冲器120和校验子计算模块130。如这里所使用,术语“模块”指代用于实现关系该模块所述的功能的任意适当电路。在一个布置中,给定模块的功能主要(或全部)以基于FPGA的逻辑实现。数据延迟缓冲器120将接收的码字110的输出延迟(例如,存储在寄存器中)以下时间长度(即,时钟周期的数目),其足够接收的码字110的全部或一部分被校验子计算模块130、错误定位多项式模块140以及钱氏搜索和错误计算模块150处理。如下文所述,校验子计算模块130、错误定位多项式模块140以及钱氏搜索和错误计算模块150中的每一个均采用基于里德-所罗门伞型代码的并行架构。
[0025]校验子计算模块130处理接收的码字110以获得对应于该接收的码字110的2主个校验子值135。该校验子值135将由S1,...,S21表示。例如,在(255,251)解码器的情况下,其特征在于值i=2,校验子值由Sp S2、S3和S4表示。该校验子值根据以下等式计算
【权利要求】
1.一种码字处理电路,包括: 接收器电路,被配置为接收长度为η个符号并且具有k个校验符号的里德-所罗门母码字; 并行化电路,被配置为将所接收的里德-所罗门母码字的所述η个符号分成V个里德-所罗门子码字,其中V是与所接收的里德-所罗门母码字相关联的分解因子;以及解码电路,被配置为在V个并行处理的相应集合中处理所述V个里德-所罗门子码字以输出V个解码的码字。
2.根据权利要求1所述的码字处理电路,进一步包括标识电路,所述标识电路被配置为至少部分基于其上传输所述里德-所罗门母码字的信道质量来确定所述分解因子V。
3.根据权利要求1所述的码字处理电路,其中所述解码电路包括校验子校验子计算模块,所述校验子计算模块被配置为处理对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的符号,以产生对应于所接收的里德-所罗门母码字的校验子校验子值。
4.根据权利要求1所述的码字处理电路,其中所述解码电路包括错误定位多项式模块,所述错误定位多项式模块被配置为: 接收对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的校验子校验子值;以及 在V个并行处理中处理所接收的校验子校验子值以产生V个错误定位多项式,其中每个并行处理对应于所述 V个里德-所罗门子码字中相应的里德-所罗门子码字。
5.根据权利要求1所述的码字处理电路,其中所述解码电路包括错误定位多项式模块,所述错误定位多项式模块被配置为: 接收对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的校验子校验子值;以及 在V个连续处理中处理所接收的校验子校验子值以产生V个错误定位多项式,其中每个连续处理对应于所述V个里德-所罗门子码字中相应的里德-所罗门子码字。
6.根据权利要求1所述的码字处理电路,其中所述解码电路包括: 钱氏搜索和错误计算模块,被配置为接收对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的错误定位多项式系数;以及 在V个并行处理中处理所接收的错误定位多项式系数以产生V个输出码字,其中每个并行处理对应于所述V个里德-所罗门子码字中相应的里德-所罗门子码字。
7.根据权利要求1所述的码字处理电路,其中所述V个里德-所罗门子码字中的每个里德-所罗门子码字是(n/v,k/v)里德-所罗门码字。
8.根据权利要求1所述的码字处理电路,其中所述分解因子V至少部分基于网络数据吞吐量要求。
9.一种方法,包括: 接收长度为η个符号并且具有k个校验符号的里德-所罗门母码字; 将所接收的里德-所罗门母码字的所述η个符号分成V个里德-所罗门子码字,其中V是与所接收的里德-所罗门母码字相关联的分解因子;以及 在V个并行处理的相应集合中处理所述V个里德-所罗门子码字以输出V个解码的码字。
10.根据权利要求9所述的方法,其中所述分解因子V的确定至少部分基于其上传输所述里德-所罗门母码字的信道质量。
11.根据权利要求9所述的方法,进一步包括: 处理对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的符号,以产生对应于所接收的里德-所罗门母码字的校验子校验子值。
12.根据权利要求9所述的方法,进一步包括: 接收对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的校验子校验子值;以及 在V个并行处理中处理所接收的校验子校验子值以产生V个错误定位多项式,其中每个并行处理对应于所述V个里德-所罗门子码字中相应的里德-所罗门子码字。
13.根据权利要求9所述的方法,进一步包括: 接收对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的校验子校验子值;以及 在V个连续处理中处理所接收的校验子校验子值以产生V个错误定位多项式,其中每个连续处理对应于所述V个里德-所罗门子码字中相应的里德-所罗门子码字。
14.根据权利要求9所述的方法,进一步包括: 接收对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的错误定位多项式系数;以及 在V个并行处理中处理所接收的错误定位多项式系数以产生V个输出码字,其中每个并行处理对应于所述V个里德-所罗门子码字中相应的里德-所罗门子码字。
15.根据权利要求9所述的方法,其中所述V个里德-所罗门子码字中的每个里德-所罗门子码字是(n/v,k/v)里德-所罗门码字。
16.一种码字处理电路,包括: 接收器电路,被配置为接收长度为η个符号并且具有k个校验符号的里德-所罗门母码字; 包括校验子校验子计算模块的解码电路,所述校验子校验子计算模块被配置为处理对应于V个里德-所罗门子码字中的每个里德-所罗门子码字的符号,以产生对应于所接收的里德-所罗门母码字的校验子校验子值,其中V是与所接收的里德-所罗门母码字相关联的分解因子。
17.根据权利要求16所述的码字处理电路,进一步包括标识电路,所述标识电路被配置为至少部分基于其上传输所述里德-所罗门母码字的信道质量来确定所述分解因子V。
18.根据权利要求16所述的码字处理电路,其中所述解码电路包括错误定位多项式模块,所述错误定位多项式模块被配置为: 接收对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的校验子校验子值;以及 在V个并行处理中处理所接收的校验子校验子值以产生V个错误定位多项式,其中每个并行处理对应于所述V个里德-所罗门子码字中相应的里德-所罗门子码字。
19.根据权利要求16所述的码字处理电路,其中所述解码电路包括: 钱氏搜索和错误计算模块,被配置为接收对应于所述V个里德-所罗门子码字中的每个里德-所罗门子码字的错误定位多项式系数;以及 在V个并行处理中处理所接收的错误定位多项式系数以产生V个输出码字,其中每个并行处理对应于所述V个里德-所罗门子码字中相应的里德-所罗门子码字。
20.根据权利要求16所述的码字处理电路,其中所述V个里德-所罗门子码字中的每个里德-所罗门子码字是(n/v,k/v )里德-所罗门码字。
【文档编号】H03M13/15GK103986475SQ201410045928
【公开日】2014年8月13日 申请日期:2014年2月8日 优先权日:2013年2月8日
【发明者】M·朗哈默 申请人:阿尔特拉公司