一种确定Reed-Solomon或BCH编码码字中四个错误位置的方法,该方法包括以下步骤: a.计算四次错误定位多项式 σ(x)=σ↓[4]x↑[4]+σ↓[3]x↑[3]+σ↓[2]x↑[2]+σ↓[1]x+σ↓[0] 得到多项式: θθ(y)=y↑[4]+θ↓[2]y↑[2]+θ↓[1]y+θ↓[2]; b.将以上多项式因式分解为θ(y)=(y↑[2]+t*y+u)*(y↑[2]+v*y+w); c.使步骤a和步骤b中多项式的系数相等 t+v=0 t*v+u+w=θ↓[2] t*w+v*u=θ↓[1] u*w=θ↓[0]; d.以t为唯一未知数确定方程: t↑[3]+θ↓[2]t+θ↓[1]=0 e.求出其根t↓[0]; f.以u和w为根,构造二次方程: p↑[2]+(θ↓[2]+t↓[0]↑[2])p+θ↓[0]=0 g.求出其根p↓[0]和p↓[1]; h.将该根代入到θ(y)并确定二次方程对的根: y↑[2]+t↓[0]*y+p↓[1]=0 y↑[2]+t↓[0]*y+p↓[1]=0; i.使二次方程对的根y↓[0]、y↓[1]以及y↓[2]、y↓[3]与四次错误定位多项式的根关联; j.使四次错误定位多项式的根与码字中的位置关联。(*该技术在2016年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术一般涉及数据处理系统,具体涉及采用错误校正码进行译码并且校正数据中错误的系统。通常,存储在诸如磁盘等磁性介质上的数据是以编码形式存储的,从而能够校正所存储数据中的错误。例如,可能由于内部符号干扰、磁盘缺陷、噪声等引起错误。随着磁盘上存储数据密度的增加,可能会出现更多的错误,并且要求系统校正更多的错误。对于系统处理数据的总体速度而言,系统校正错误的速度是很重要的。在记录之前,采用错误校正码(ECC)编码多位数据符号。当从磁盘检索数据符号并进行解调时,采用ECC(正如其名字所示)校正错误数据。具体而言,在将k个数据符号串写到磁盘之前,采用一个(n,k)ECC进行数学编码构成一个n-k ECC符号。然后将该ECC符号添加到数据串尾构成一个n-符号错误校正码字,随后将该码字写到,即存储到磁盘。当从该磁盘读取数据时,检索包含数据符号和ECC符号的编码字,并进行数学译码。在译码期间,检测数据中的错误,若可能,则经过ECC符号处理校正。通常为了校正数据符号串中的多个错误,系统采用具有以下性质的ECC,该ECC能够有效利用称为有限域的符号集的各种数学特性。有限域表示为“GF(Pm)”,其中,“P”为一个素数,“m”为该域上每个元素或符号中的数字数(以“P”为基)。通常在数字计算机和磁盘驱动器应用中,P的值为2,因此,m为每个符号中的位数。通常与有限域一起使用的ECC为Reed Solomon码或BCH码。在译码Reed-Solomon码或BCH码的错误码字中,必须有四个主要步骤。第一,根据ECC符号的处理结果,确定错误症状。第二,采用该错误症状,系统确定一错误定位多项式,该多项式的次数为错误数。第三,系统查找该错误定位多项式的根,并且从每个根中确定码字中相关错误的位置。最后,系统查找错误位置的错误值。在诸如计算机等的二进制系统中,对于每个错误位置而言,只可能有一个错误值,因此,确定错误值的步骤是非常明显的。在错误校正处理中,确定错误症状和查找错误位置是最费时的。本专利技术减少了错误校正系统查找三错位置或四错位置所需的时间。其中包括查找三次和四次错误定位多项式的根。在现有系统中,通过试探或者矩阵运算或查找表确定四次多项式的根。将每个可能值(即,与码字位置有关的合适的GF(P2m)上的每个元素)代入到该多项式,并计算该多项式的值来运用试探法。对某一给定值而言,如果该多项式等于零,则该值便是一个根。通过将下一个可能值代入到该多项式,并决定该值是否是一个根,系统继续进行试探处理;依此类推,直至试探了所有可能值,或者确定了四个根。试探处理(其优化形式称为Chien搜索)是很费时的。另外,由于码字中的错误位置不同,所以不能预测所需时间。矩阵运算和查找表方法包括将具有如下形式的一般四次多项式σ4x4+σ3x3+σ2x2+σ1x+σ0变换为如下形式x4+x2+ax+b.如果使用查找表,则对每组可能的a和b值,该表均包含一组解。现今使用的ECC通常超过GF(28),所以,该表具有216个入口,每个入口为32位,即4个8-比特元素。因此,该表占据大量存储空间,并且需要相对复杂的寻址模式。采用矩阵运算方法的系统,通过确定f(α),f(α1),f(α2) f(αm-1)生成一个m×m的矩阵,其中f(x)=x4+x2+ax+b。然后,系统处理该矩阵以确定矩阵扩张空间的零空间。随后从零空间的扩张向量中获得多项式的根。。以上方法需要逐位处理一个m×m矩阵,并且通常需要大量处理操作以变换该矩阵。因此,该方法是费时的和计算密集的。这里所述的专利技术系统减少了系统查找四个错误位置所需的时间,其中包括确定四次多项式的根。该系统利用了众所周知的确定二次多项式的根的方法,如Berlekamp的代数编码理论所述。另外,该系统利用了确定三次多项式的根的方法,如Van der Horst和Berger在三错校正二进制BCH编码的完全译码中所述,IEEE信息论论文集,Vol.IT-22,pp.138-147,1976。根据Van der Horst和Berger的学说,查找三次多项式的根需要确定GF(22m)上有限域元素的立方根。如后面所述,我已经开发了用于快速和简便查找立方根的、具有创造性的电路。本专利技术是一个确定四错错误位置的系统,通过将四次错误定位多项式最终变换为两个二次方程,查找这些方程的解,从这些解中确定错误定位多项式的根。具体而言,系统首先将如下四次多项式σ(x)=σ4x4+σ3x3σ2x2+σ1x+σ0变换为θ(y)=y4+θ2y2+θ1y+θ0其中θi为错误定位多项式的各项系数的组合。请注意y3项的系数为零。然后系统将θ(y)因式分解为θ(y)=(y2+t*y+u)*(y2+v*y+w),其中“*”表示乘法,将以上表达式展开为θ(y)=y4+(t+v)y3+(t*v+u+w)y2+(t*w+v*u)y+u*w,其中t、u、v和w为未知数。通过使表达式2和表达式3的系数相等,系统确定t+v=0t*v+u*w=t2+u*w=θ2t*w+u*v=t+w+t*u=t*(w+u)=θ1u*w=θ0然后,系统生成以下方程,其中t为唯一未知数t3+θ2t+θ1=0采用Van der Horst和Berger的所述方法,能够解以上三次方程,以下详细说明。一旦确定了方程6的一个根t0,就将该根代入到θ1的表达式,使用该表达式和θ0表达式构成一个二次方程,其中u和w为其根p2+(θ2+t02)p+θ0=0 然后,系统利用求解二次多项式的Berlekamp方法,查找方程7的根p0和p1。将根p0和p1(即u和w)分别代入到多项式3,并且将每项设置为零,生成两个二次方程y2+t0*y+p0=0y2+t0*y+p1=0利用Berlekamp方法确定的方程8的根,也是θ(y)的根,因此,可以直接利用它们得出错误定位多项式的根。以上直接解法要比查找四个根的现有试探法或者矩阵运算法快。另外,该方法并不需要大型查找表的存储和入口,而其他现有系统却需要大型查找表的存储和入口。为了全面理解本专利技术的本质和目的,应与附图一起考虑详细说明,附图为附图说明图1是根据本专利技术构造的译码器的功能框图;图2是用于确定GF(22m)元素立方根的专利技术电路的功能框图;图3是图2中电路操作的流程图;图4是用于GF(28)的图2所示的电路;图5是图1所示的译码器在确定四个错误位置时,译码器执行操作的流程图。这里所述的数学运算加、减、乘、除均为GF(22m)上的有限域运算。现在参照图1,译码器10包括症状生成器12,该症状生成器以常规方式操作以生成有关症状集。若所有症状均为零,则症状生成器12认定该码字正确。反之,症状生成器就将该症状发送到错误定位多项式生成器14,后者从该症状中以常规方式生成一次数为“e”的错误定位多项式,其中e为码字中的错误数。然后,错误定位多项式生成器14将错误定位多项式发送到错误定位处理器16,后者选择并且实现适宜的处理,以便确定错误定位多项式的根,亦即错误位置。图1用不同的方框(处理器)说明了以上处理,换句话说,处理器18用于确定一个错误位置,处理器20用于确定二个错误位置,处理器22用于确定三个错误位置,处理器24用于确定四个错误位置,处理器26用于确定四个以上错误本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:利杰·温,
申请(专利权)人:昆腾公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。