CN1176714A - 用于三错校正和四错校正的改进系统 - Google Patents

用于三错校正和四错校正的改进系统 Download PDF

Info

Publication number
CN1176714A
CN1176714A CN96192220A CN96192220A CN1176714A CN 1176714 A CN1176714 A CN 1176714A CN 96192220 A CN96192220 A CN 96192220A CN 96192220 A CN96192220 A CN 96192220A CN 1176714 A CN1176714 A CN 1176714A
Authority
CN
China
Prior art keywords
sigma
equation
root
theta
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN96192220A
Other languages
English (en)
Inventor
利-杰·温
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quantum Corp
Original Assignee
Quantum Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quantum Corp filed Critical Quantum Corp
Publication of CN1176714A publication Critical patent/CN1176714A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

通过将四次错误定位多项式最终变换为两个二次方程,查找这些方程的解,从这些解中确定错误定位多项式的根,系统确定GF(22m)中四错的错误位置。系统首先将如下形式的错误定位多项式:σ(x)=σ4x43x3σ2x21x+σ0 [1],变换为:θ(y)=y42y2iy+θ0 [2],其中θi为错误定位多项式的各项系数的组合。因此,系统得到y3项的系数为零的方程。然后系统将θ(y)因式分解为θ(y)=(y2+t*y+u)*(y2+v*y+w) [3]其中“*”表示乘法。通过使θ(y)的两个表达式的系数相等,并首先求出变量t(等于v),然后再求出变量w和u,系统确定值t、u、v和w。一旦确定了这些变量,系统就求解两个二次方程,每个二次方程对应方程3的一个因子。根据这些解,系统确定与四次错误定位多项式有关的四个错误位置。

Description

用于三错校正和四错校正的改进系统
本发明一般涉及数据处理系统,具体涉及采用错误校正码进行译码并且校正数据中错误的系统。
通常,存储在诸如磁盘等磁性介质上的数据是以编码形式存储的,从而能够校正所存储数据中的错误。例如,可能由于内部符号干扰、磁盘缺陷、噪声等引起错误。随着磁盘上存储数据密度的增加,可能会出现更多的错误,并且要求系统校正更多的错误。对于系统处理数据的总体速度而言,系统校正错误的速度是很重要的。
在记录之前,采用错误校正码(ECC)编码多位数据符号。当从磁盘检索数据符号并进行解调时,采用ECC(正如其名字所示)校正错误数据。
具体而言,在将k个数据符号串写到磁盘之前,采用一个(n,k)ECC进行数学编码构成一个n-k ECC符号。然后将该ECC符号添加到数据串尾构成一个n-符号错误校正码字,随后将该码字写到,即存储到磁盘。当从该磁盘读取数据时,检索包含数据符号和ECC符号的编码字,并进行数学译码。在译码期间,检测数据中的错误,若可能,则经过ECC符号处理校正[关于译码的详细说明请参见,Peterson和Weldon著,错误校正码,第二版,MIT出版社,1972]。
通常为了校正数据符号串中的多个错误,系统采用具有以下性质的ECC,该ECC能够有效利用称为有限域的符号集的各种数学特性。有限域表示为“GF(Pm)”,其中,“P”为一个素数,“m”为该域上每个元素或符号中的数字数(以“P”为基)。通常在数字计算机和磁盘驱动器应用中,P的值为2,因此,m为每个符号中的位数。通常与有限域一起使用的ECC为Reed Solomon码或BCH码。
在译码Reed-Solomon码或BCH码的错误码字中,必须有四个主要步骤。第一,根据ECC符号的处理结果,确定错误症状。第二,采用该错误症状,系统确定一错误定位多项式,该多项式的次数为错误数。第三,系统查找该错误定位多项式的根,并且从每个根中确定码字中相关错误的位置。最后,系统查找错误位置的错误值。在诸如计算机等的二进制系统中,对于每个错误位置而言,只可能有一个错误值,因此,确定错误值的步骤是非常明显的。
在错误校正处理中,确定错误症状和查找错误位置是最费时的。本发明减少了错误校正系统查找三错位置或四错位置所需的时间。其中包括查找三次和四次错误定位多项式的根。
在现有系统中,通过试探或者矩阵运算或查找表确定四次多项式的根。将每个可能值(即,与码字位置有关的合适的GF(P2m)上的每个元素)代入到该多项式,并计算该多项式的值来运用试探法。对某一给定值而言,如果该多项式等于零,则该值便是一个根。通过将下一个可能值代入到该多项式,并决定该值是否是一个根,系统继续进行试探处理;依此类推,直至试探了所有可能值,或者确定了四个根。试探处理(其优化形式称为Chien搜索)是很费时的。另外,由于码字中的错误位置不同,所以不能预测所需时间。
矩阵运算和查找表方法包括将具有如下形式的一般四次多项式:
σ4x43x32x21x+σ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。然后,系统处理该矩阵以确定矩阵扩张空间的零空间。随后从零空间的扩张向量中获得多项式的根。[其详细说明请参见,E.R.Berlekamp著,代数编码理论,McGraw Hill图书公司,1968]。以上方法需要逐位处理一个m×m矩阵,并且通常需要大量处理操作以变换该矩阵。因此,该方法是费时的和计算密集的。
这里所述的发明系统减少了系统查找四个错误位置所需的时间,其中包括确定四次多项式的根。该系统利用了众所周知的确定二次多项式的根的方法,如Berlekamp的代数编码理论所述。另外,该系统利用了确定三次多项式的根的方法,如Van der Horst和Berger在三错校正二进制BCH编码的完全译码中所述,IEEE信息论论文集,Vol.IT-22,pp.138-147,1976。
根据Van der Horst和Berger的学说,查找三次多项式的根需要确定GF(22m)上有限域元素的立方根。如后面所述,我已经开发了用于快速和简便查找立方根的、具有创造性的电路。
本发明是一个确定四错错误位置的系统,通过将四次错误定位多项式最终变换为两个二次方程,查找这些方程的解,从这些解中确定错误定位多项式的根。
具体而言,系统首先将如下四次多项式:
σ(x)=σ4x43x3σ2x21x+σ0              [1]变换为:
θ(y)=y42y21y+θ0                      [2]其中θi为错误定位多项式的各项系数的组合。请注意y3项的系数为零。然后系统将θ(y)因式分解为:
θ(y)=(y2+t*y+u)*(y2+v*y+w),                [3]其中“*”表示乘法,将以上表达式展开为:
θ(y)=y4+(t+v)y3+(t*v+u+w)y2+(t*w+v*u)y+u*w,[4]其中t、u、v和w为未知数。通过使表达式2和表达式3的系数相等,系统确定:
t+v=0
t*v+u*w=t2+u*w=θ2                          [5]
t*w+u*v=t+w+t*u=t*(w+u)=θ1
u*w=θ0然后,系统生成以下方程,其中t为唯一未知数:
t32t+θ1=0                                [6]采用Van der Horst和Berger的所述方法,能够解以上三次方程,以下详细说明。
一旦确定了方程6的一个根t0,就将该根代入到θ1的表达式,使用该表达式和θ0表达式构成一个二次方程,其中u和w为其根:
p2+(θ2+t0 2)p+θ0=0                         [7]
然后,系统利用求解二次多项式的Berlekamp方法,查找方程7的根p0和p1。将根p0和p1(即u和w)分别代入到多项式3,并且将每项设置为零,生成两个二次方程:
y2+t0*y+p0=0
                                             [8]
y2+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用于确定四个以上错误位置。
两错、三错和四错处理器20、22和24是互连的。如下所述,通过将相应的错误定位多项式最终变换为相关二次方程组,错误定位处理器16减少了系统确定三个和四个错误位置所需的时间。为此,四错处理器26同时利用三错处理器24和两错处理器22。同样,三错处理器24利用两错处理器22。尽管以上所述处理发生在独立的、专用处理器中,也可以用一个或多个多能处理器实现以上处理。
错误定位处理器16以常规方式确定一个错误和两个错误位置。该错误定位处理器以所述Van der Horst和Berger方法确定三个错误位置。然而,该处理器利用发明电路完成所需的、确定有限域元素立方根的步骤。以下参照图2和图3说明本电路和确定三个错误位置的方法。
参照图4,错误定位处理器16采用下述特定处理确定四个错误位置。在说明该处理之前,首先在分别在A节和B节说明两个错误和三个错误位置处理。A.确定两个错误位置
如果码字包含两个错误,则错误定位多项式具有如下形式:
σ(x)=σ2x21x+σ0x                          [1]为了查找以上多项式的根,系统设置以上多项式等于零:
σ(x)=σ2x21x+σ0x=0                       [2]求解以上方程,其解为x0和x1
为了解方程2,错误定位处理器16将以上方程变换为:
y2+y+C=0                                       [3]这是通过作以下变换实现的: x = σ 1 σ 2 y . . . . . . . [ 4 ] 从而方程2变为 σσ ( σ 1 σ 2 y ) = σ 1 2 σ 2 y 2 + σ 1 2 σ 2 y + σ 0 然后,除以 ,系统得到方程: y 2 + y + σ 0 σ 2 σ 1 2 = 0 . . . . . . [ 5 ] 因此,方程3中的C为
要使方程5在GF(22m)内有解,则等式两边的“迹”(trace)必须相等。迹定义为: Trace ( α i ) = Σ k = 0 2 m - 1 ( α i ) 2 k . . . . . . . . . [ 6 ] Trace(0)等于零,因此,要在有限域内存在解,则必须
Trace[y2+y+C]=0                              [7]各项之和的迹等于各项迹之和。在GF(22m)内,Trace(y2)=Trace(y)并且其和(采用有限域加法)为零。因此,如果Trace(C)等于零,则方程5在GF(22m)内有解。
方程5的通解是2m-1个“基解”的线性组合。当方程3中的C为有限域的“基元”C1、C2...C2m-1之一时,其解为一基解。如果域上的某些元素能够线性组合得到该域上所有其他元素,则这些元素为基元。例如,该元素可为以下2m-1个元素,每个元素包括2m-1个0和唯一一个1,即,αi=000...1至αj=10000。在该域上,C=00110...0是基元00100...0和00010...0的线性组合。方程5的通解是对应基元(其和为
Figure A9619222000117
)基解的线性组合。
在由生成多项式x4+x+1定义的GF(24)内,对每个元素αi,如果其迹为零,则0为其最高有效位。因此,在该域内,有意义的C为基元α0=0001、α1=0010和α2=0100的组合。相应的基解为:(α5)25=α0       对于y0=α59)29=α1       对于y0=α93)23=α2       对于y0=α3另一组基解为:(α10)210=α0     对于y1=α107)27=α1       对于y1=α714)214=α2     对于y1=α14例如,在该有限域内,对于C等于α8=0101,按以下形式分解C以确定方程3的解:
C=α02=0001+0100并累加相应的基解组,如:
y0=α53=α11得到第一个根,并按如下方式确定第二个根:
y1=y00然后,以如下方式确定二次错误定位多项式的根: x 0 = y 0 ( σ 1 σ 2 ) x 1 = y 1 ( σ 1 σ 2 ) B.确定三个错误位置
与三错有关的错误定位多项式具有如下形式:
σ(x)=σ3x32x21x+σ0                 [8]为了查找其根,系统设置以上多项式等于零:
σ(x)=σ3x32x21x+σ0=0              [9]并将以上方程变换为:
y3+ay+b=0为此,系统作如下变量替换: x = y + σ 2 σ 3 方程9变为 σ ( y + σ 2 σ 3 ) = σ 3 ( y + σ 2 σ 3 ) 3 + σ 2 ( y + σ 2 σ 3 ) 2 + σ 1 ( y + σ 2 σ 3 ) + σ 0 = 0 . . . . . . . . . . [ 10 ] 系统然后展开方程10的各项: σ 3 ( y 3 + y 2 σ 2 σ 3 + y ( σ 2 σ 3 ) 2 + ( σ 2 σ 3 ) 3 ) + σ 2 ( y 2 + ( σ 2 σ 3 ) 2 ) + σ 1 ( y + σ 2 σ 3 ) + σ 0 = 0 合并同类项得: σσ 3 y 3 + ( σ 2 + σ 2 ) y 2 + ( σ 2 2 σ 3 + σ 1 ) y + σ 2 3 σ 3 2 + σ 2 3 σ 3 2 + σ 1 σ 2 σ 3 + σ 0 = 0 . . . . . . [ 11 ] 在GF(P2m)内,相同项之和为零,因此,以上方程变为: σσ 3 y 3 + 0 y 2 + ( σ 2 2 σ 3 + σ 1 ) y + 0 + σ 1 σ 2 σ 3 + σ 0 = 0 . . . . [ 12 ] 系统将方程12除以σ3,得到如下方程:y3+ay+b=0                                      [13]其中, a = σ 2 2 σ 3 2 + σ 1 σ 3 , b = σ 0 σ 3 + σ 1 σ 2 σ 3 2 。如果a≠0,系统作变量替换: y = z + a z . . . . . [ 14 ] 方程13变为: ( z + a z ) 3 + a ( z + a z ) + b = 0 . . . . [ 15 ] 随后展开方程15,合并同类项得: z 3 + a z z 2 + ( a z ) 2 z + ( a z ) 3 az + a 2 z + b = z 3 + az + a 2 z + a 3 z 3 + az + a 2 z + b = z 3 + a 3 z 3 + b = 0 . . . . [ 16 ] 系统将方程16乘以z3得:(z3)2+bz3+a=0,                                [17]该方程是一个以z3为变量的二次方程。采用A节讨论的确定二个错误位置的方法能够求解方程17。
一旦确定了解z03,系统就采用所述电路(参照图2和图3)查找立方根z0。只要m是偶数,则方程17的第二个解为: z 1 = z 0 * αα 2 2 m - 1 3 其中,指数
Figure A96192220001310
永远为整数,这是因为对于m,22m-1能够被3整除。方程17的第三个解为:
z2=z1+z0然后,系统将以上解代入到y的表达式,并将所得的代入结果分别加上 从而得到三次错误定位多项式的根x0、x1和x2
如果a=0,则方程13的解为y=b1/3。为了求解该立方根,系统采用了图2所示的电路。一旦确定了该立方根,系统就按如下方式确定y1和y2 y 1 = y 0 * αα 2 2 m - 1 3
y2=y1+y0。并从以上值确定根x0、x1和x2
现在参照图2和图3,通过将GF(22m)的元素α3k自乘到与
Figure A9619222000143
关联的次幂,电路200查找该元素的立方根。采用多个常规有限域乘法器,很容易将GF(22m)上的任何元素自乘到2L次幂。
电路200利用了等式x2-1=(x-1)*(x+1)。x等于2m,则该等式变为22m-1=(2m-1)*(2m+1)。因式2m-1或2m+1两者之一能被3整除,但两者不能同时被3整除。例如,对于m=4,因式2m-1能被3整除,而2m+1却不能。同时,电路200还利用了事实 ( α 2 m - 1 ) * ( α 2 m + 1 ) = α 2 m + 1
采用电路200,在乘法器202中,将有限域元素α3k自乘到以下次幂,即与等式中不能整除3的因式具有相同的次幂(步骤300)。对于m=4而言,自乘到2m+1次幂。然后,利用查找表查找乘积
Figure A9619222000145
的立方根
Figure A9619222000146
(步骤302)。由于该查找表只有可能乘积
Figure A9619222000147
的立方根入口,所以该表比较小。例如,对于GF(28),该表仅有5个入口。
同时,乘法器202还将元素α3k自乘到 次幂(步骤304),并在GF乘法器206中将该结果乘以从查找表204中得到的立方根(步骤306): α k ( 2 m + 1 ) * α k ( 2 m - 1 ) = α k ( 2 m + 1 ) . 在步骤308,系统将该积自乘到 次幂,从而得到立方根αk
图4说明了用于GF(28)(即m=4)的电路200。为了将α3k自乘到2m+1次幂,在GF乘法器201中,电路首先将该元素自乘到2m(即24=16)次幂。然后,在GF乘法器203中,将乘积α3k(16)=α48k乘以元素α3k,得到乘积 α 3 k ( 2 m + 1 ) = α 51 k 。利用该乘积进入5元素查找表204:α0 →α0
α51→α17
α102 →α34
α153 →α51
α204→α68得到α17k
采用GF乘法器207和209,将α3k自乘到 2 4 - 1 3 = 5 次幂。GF乘法器207首先将该元素自乘到22(即4)次幂,然后,GF乘法器209将乘积α3k(4)=α12k乘以α3k得到α15k
随后,GF乘法器206将两个乘积相乘得α1715=α32k。最后,在乘法器210中,将以上结果自乘到 1 2 5 = 1 32 得到立方根αk
对每个作用到电路200的元素,电路均得到一个结果。但是,对有限域上的每个元素,不一定都有立方根。因此,系统必须测试该结果(步骤310),以决定该结果是否为实际立方根。系统将该结果自乘两次,并确定乘积是否等于作用到该电路上的元素值(步骤312)。若相等,则该立方根是精确的,并能够确定错误位置(步骤314)。但是,若该乘积不等于该元素值,则系统确定不能找到错误位置(步骤316)。随后,系统结束错误位置的查找处理。C.确定四个错误位置
与四错有关的错误定位多项式具有如下形式:
σ(x)=σ4x43x32x21x+σ0           [18]为了查找其根,系统设置以上多项式等于零:
σ(x)=σ4x43x32x21x+σ0=0        [19]并将以上方程变为如下形式:
y4+dy2+ey+h=0具体而言,参照图5,系统在步骤500作以下变量替换:
x=y+r,其中 γ = ( σ 1 σ 3 ) 1.2 方程19变为:
γ(y)=σ4(y+r)43(y+r)32(y+r)21(y+r)+σ0=0               [20]在步骤502,系统将以上各项展开得:
γ(y)=σ4(y4+r4)+σ3(y3+y2r+yr2+r3)+σ2(y2+r2)+σ1(y+r)+σ0=0合并同类项得:γ(y)=σ4y43y3+(σ3r+σ2)y2+(σ3r21)y+σ4r43r32r21r+σ0=0  [21]然后,在步骤504,系统代入
Figure A9619222000161
取代r,并且一次项的系数为0,这是由于 σσ 3 [ ( σ 1 σ 3 ) 1.2 ] 2 + σ 1 = σ 1 + σ 1 = 0 因此,方程21变为σ4y43y3+[(σ31)1/22]y2+s,                [22]其中,“s”为方程21的常数项。
系统并不直接求解以上方程,而是在步骤506查找以下方程的根 θθ ( y ) = y 4 * γ ( 1 y ) s . . . . . . [ 23 ] 因此,系统求解 θθ ( y ) = y 4 s [ σ 4 1 y 4 + σ 3 1 y 3 + [ ( σ 3 * σ 1 ) 1.2 + σ 2 ] 1 y 2 ] + s . . . . . [ 24 ] 即θθ(y)=y42y21y+θ0=0                       [25]其中 θθ 2 = ( σ 3 * σ 1 ) 12 + σ 2 s θθ 1 = σ 3 s θθ 0 = σ 4 s . 在步骤508,系统首先将方程25因式分解为:
θ(y)=(y2+t*y+u)*(y2+v*y+w)=0.               [26]以上假设方程25能够分解,若错误定位多项式在GF(22m)内有解,则以上假设是正确的。
系统将方程26的各项展开得:
θ(y)=y4+(t+v)y3+(t*v+u+w)y2+(t*w+v*u)y+u*w=0      [27]并且使以上方程的系数等于方程25的系数(步骤510):
t+v=0
t*v+u+w=θ2
t*w+v*u=θ1
u*w=θ0因此,
t=v
t2+(u+w)=θ2
t*(w+u)=θ1
u*w=θ0
然后,在步骤512,系统确定一个以“t”为唯一未知数的方程。请回忆θ2、θ1和θ0是已知的,这是因为它们是错误定位多项式系数的组合。因此,令 u + w = θ 1 t , 代入到的表达式θ2并乘以t,系统生成方程:
t32t+θ1=0                         [28]
利用B节所述的操作能够求解以上三次多项式(步骤514)。具体而言,系统作变量替换: t = z + a z         其中a=θ2方程28变为 ( z + a z ) 3 + a ( z + a z ) + θ 1 = 0 展开并合并同类项 z 3 + ( a z ) 2 z + a z z 2 + ( a z ) 3 + a 3 + a 2 z + θ 1 = z 3 + az + a 2 z + a 3 z + az + a 2 z + θ 1 = z 3 + a 3 z 3 + θ 1 = 0 . . . . . . [ 29 ] 乘以z3,系统得到方程(z3)21z3+a3=0,该方程是一个以z3为变量的二次方程。
系统利用A节的方法查找方程29的根。
为此,系统作变量替换:
z3=θ1g                                     [30]二次方程变为:
θ1 2g21 2g+a3=0                           [31]即 g 2 + g + a 3 θ 1 2 = 0 如果 Trace . ( a 3 θ 1 2 ) = 0 , 则方程31在GF(22m)内有解。假设该解存在,则通过将 a 3 θ 1 2 = θ 2 2 θ 1 2 分解为基元的线性组合,并使基元与相应的基解关联,可以确定方程的解。
一旦确定了方程的解,系统就将某一解(如g0)代入到z3的表达式30,并使用图2的电路确定z3的立方根z0。然后,系统从以下表达式中,用z0取代z以便确定t0 t = z + a z . . . . . . . [ 32 ]
为了确定w和u,在步骤516,系统利用值t0和表达式:
t2+(u+w)=θ2以及
u*w=θ0得到二次方程33,其中u和w为其根:
(p+u)*(p+w)=
p2+(u+w)*p+(u*w)=
p2+(θ2+t0 2)*p+θ0=0,                  [33]然后,系统采用A节的方法确定方程33的解。在步骤518,系统将解p0和p1代入到方程26的因式中,得到二次方程组:
y2+t0*y+p0=0和                                           [34]
y2+t0*y+p1=0在步骤520,系统采用A节的方法求解根y0、y1以及y2、y3。方程33的根y0、y1、y2和y3为θ(y)的根,而1/y0、1/y1、1/y2和1/y3为γ(y)的根。然后,在步骤522,系统将1/y0、1/y1、1/y2和1/y3代入到表达式x=y+r,以便确定四次错误定位多项式的根。最后,在步骤524,系统使错误定位多项式的根与码字中的位置相关联。
直接确定错误定位多项式的根的方法比进行Chien搜索或者进行m×m矩阵运算都要快。另外,与其他现有系统不同,本系统也不需要大型查找表。

Claims (7)

1.一种确定Reed-Solomon或BCH编码码字中四个错误位置的方法,该方法包括以下步骤:
a.计算四次错误定位多项式
σ(x)=σ4x43x32x21x+σ0
得到多项式:
θθ(y)=y42y21y+θ2
b.将以上多项式因式分解为θ(y)=(y2+t*y+u)*(y2+v*y+w);
c.使步骤a和步骤b中多项式的系数相等
t+v=0
t*v+u+w=θ2
t*w+v*u=θ1
u*w=θ0
d.以t为唯一未知数确定方程:
t32t+θ1=0
e.求出其根t0
f.以u和w为根,构造二次方程:
p2+(θ2+t0 2)p+θ0=0
g.求出其根p0和p1
h.将该根代入到θ(y)并确定二次方程对的根:
y2+t0*y+p1=0
y2+t0*y+p1=0;
i.使二次方程对的根y0、y1以及y2、y3与四次错误定位多项式的根关联;
j.使四次错误定位多项式的根与码字中的位置关联。
2.权利要求1的方法,其中求解方程t32t+θ1=0的根的步骤包括:
i.作变量替换: t = z + a z , 其中a=θ2,得到方程 z 3 + a 3 z 3 + θ 1 = 0 ;
ii.将步骤i的方程乘以z3,得到以z3为变量的二次方程:
    (z3)21z3+a3=0;
iii.解出步骤ii的二次方程中的z3
iv.确定z3的立方根z0
v.将值z0代入到表达式 t = z - a z
3.权利要求1的方法,其中将错误定位多项式变换为θ(y)包括:
i.作以下变量替换,x=y+r,其中 r = ( σ 1 σ 3 ) 1.2 , 展开并合并同类项得到以下方程:γ(y)=σ4y43y3+(σ3r+σ2)y2+(σ3r21)y+σ4r43r32r21r+σ0=0;
ii.将 r = ( σ 1 σ 3 ) 1.2 代入到步骤i的方程中,得到方程:
γ(y)=σ4y43y3+[(σ31)1/22]y2+s
其中,s为步骤i的方程中的常数项;
iii.求解以下方程的根 θθ ( y ) = y 4 * γ ( 1 y ) s , 展开为
θθ(y)=y42y21y+θ2=0其中 θθ 2 = ( σ 3 * σ 1 ) 1.2 + σ 2 s θθ 1 = σ 3 s and θθ 0 = σ 4 s
4.一种确定Reed-Solomon或BCH编码码字中四个错误位置的方法,该方法包括以下步骤:
a.计算四次错误定位多项式
σ(x)=σ4x43x32x21x10
得到多项式:
θθ(y)=y42y21y+θ2
b.将以上多项式因式分解为θ(y)=(y2+t*y+u)*(y2+v*y+w);
c.确定值t、u、v和w;
d.将值t、u、v和w代入到θ(y)中,并确定二次方程对的根:
y2+t*y+u=0
y2+v*y+w=0;
e.使二次方程对的根y0、y1以及y2、y3与四次错误定位多项式的根关联;
f.使四次错误定位多项式的根与码字中的位置关联。
5.权利要求4的方法,其中确定值t、u、v和w的步骤包括以下步骤:
i.使步骤a和步骤b中多项式的系数相等
t+v=0
t*v+u+w=θ2
t*w+v*u=θ1
u*w=θ0
ii.以t为唯一未知数确定方程:
t32t+θ1=0
iii.求出其根t0
iv.以u和w为根,构造二次方程:
p2+(θ2+t0 2)p+θ0=0
v.求出其根p0和p1,即为u和w。
6.权利要求5的方法,其中求解方程t32t+θ1=0的根的步骤包括:
a.作变量替换: t = z + a z , 其中a=θ2,得到方程 z 3 + a 3 z 3 + θ 1 = 0 ;
b.将步骤a的方程乘以z3,得到以z3为变量的二次方程:
(z3)21z3+a3=0;
c.解步骤b的二次方程,求出z3
d.确定z3的立方根z0
e.将值z0代入到表达式 t = z + a z
7.权利要求4的方法,其中将错误定位多项式变换为θ(y)包括:
i.作以下变量替换x=y+r,其中 γ = ( σ 1 σ 3 ) 12 , 展开并合并同类项得到以下方程:γ(y)=σ4y43y3+(σ3r+σ2)y2+(σ3r21)y+σ4r43r32r21r+σ0=0;
ii.将 γ = ( σ 1 σ 3 ) 12 代入到步骤i的方程中,得到方程:
γ(y)=σ4y43y3+[(σ31)1/22]y2+s,其中,s为步骤i的方程中的常数项;
iiii.求解以下方程的根: θθ ( y ) = y 4 * γ ( 1 y ) s . 展开为θθ(y)=y42y21y+θ2=0其中 θθ 2 = ( σ 3 * σ 1 ) 12 + σ 2 s θθ 1 = σ 3 s and θθ 0 = σ 4 s .
CN96192220A 1995-12-28 1996-12-18 用于三错校正和四错校正的改进系统 Pending CN1176714A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/580,351 1995-12-28
US08/580,351 US5710782A (en) 1995-12-28 1995-12-28 System for correction of three and four errors

Publications (1)

Publication Number Publication Date
CN1176714A true CN1176714A (zh) 1998-03-18

Family

ID=24320729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96192220A Pending CN1176714A (zh) 1995-12-28 1996-12-18 用于三错校正和四错校正的改进系统

Country Status (8)

Country Link
US (1) US5710782A (zh)
EP (1) EP0830742A4 (zh)
JP (1) JP3830527B2 (zh)
KR (1) KR19980702551A (zh)
CN (1) CN1176714A (zh)
AU (2) AU7681696A (zh)
CA (1) CA2213293A1 (zh)
WO (2) WO1997024812A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561005B (zh) * 2004-02-20 2010-12-08 汇智系统股份有限公司 快速纠双错bch码译码器
CN112468290A (zh) * 2020-10-30 2021-03-09 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199188B1 (en) * 1997-10-07 2001-03-06 Quantum Corporation System for finding roots of degree three and degree four error locator polynomials over GF(2M)
US5978956A (en) * 1997-12-03 1999-11-02 Quantum Corporation Five-error correction system
US6343367B1 (en) * 1999-03-29 2002-01-29 Maxtor Corporation Error correction system for five or more errors
US7006530B2 (en) * 2000-12-22 2006-02-28 Wi-Lan, Inc. Method and system for adaptively obtaining bandwidth allocation requests
US7962836B1 (en) * 2000-01-06 2011-06-14 Supertalent Electronics, Inc. Electronic data flash card with bose, ray-chaudhuri, hocquenghem (BCH) error detection/correction
US6671850B1 (en) 2000-05-01 2003-12-30 International Business Machines Corporation On-the-fly algebraic error correction system and method for reducing error location search
US7003715B1 (en) * 2001-03-30 2006-02-21 Cisco Technology, Inc. Galois field multiply accumulator
US7124064B1 (en) 2001-03-30 2006-10-17 Cisco Technology, Inc. Automatic generation of hardware description language code for complex polynomial functions
US7447982B1 (en) 2001-03-30 2008-11-04 Cisco Technology, Inc. BCH forward error correction decoder
US6983414B1 (en) 2001-03-30 2006-01-03 Cisco Technology, Inc. Error insertion circuit for SONET forward error correction
US6792569B2 (en) 2001-04-24 2004-09-14 International Business Machines Corporation Root solver and associated method for solving finite field polynomial equations
JP4891704B2 (ja) * 2006-08-28 2012-03-07 株式会社東芝 半導体記憶装置
JP5259343B2 (ja) * 2008-10-31 2013-08-07 株式会社東芝 メモリ装置
US8453038B2 (en) * 2009-06-30 2013-05-28 Apple Inc. Chien search using multiple basis representation
US9804828B2 (en) 2014-11-24 2017-10-31 Apple Inc. Cubic root of a galois field element
US9473176B2 (en) 2014-11-27 2016-10-18 Apple Inc. Implementation of log and inverse operation in a Galois Field
DE102015118668B4 (de) 2015-10-30 2020-06-04 Infineon Technologies Ag Fehlerkorrektur

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4099160A (en) * 1976-07-15 1978-07-04 International Business Machines Corporation Error location apparatus and methods
US4567594A (en) * 1983-06-07 1986-01-28 Burroughs Corporation Reed-Solomon error detecting and correcting system employing pipelined processors
US4839896A (en) * 1987-02-10 1989-06-13 Data Systems Technology Corp. Fast remainder decoding for a Reed-Solomon code

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561005B (zh) * 2004-02-20 2010-12-08 汇智系统股份有限公司 快速纠双错bch码译码器
CN112468290A (zh) * 2020-10-30 2021-03-09 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Also Published As

Publication number Publication date
AU7681696A (en) 1997-07-28
EP0830742A1 (en) 1998-03-25
EP0830742A4 (en) 2003-02-05
AU1346897A (en) 1997-07-28
JPH11501795A (ja) 1999-02-09
KR19980702551A (ko) 1998-07-15
WO1997024813A1 (en) 1997-07-10
WO1997024812A1 (en) 1997-07-10
CA2213293A1 (en) 1997-07-10
US5710782A (en) 1998-01-20
JP3830527B2 (ja) 2006-10-04

Similar Documents

Publication Publication Date Title
CN1176714A (zh) 用于三错校正和四错校正的改进系统
KR930005427B1 (ko) 실시간 bch 에러 정정 코드 디코딩 메카니즘
US6199188B1 (en) System for finding roots of degree three and degree four error locator polynomials over GF(2M)
US20050138533A1 (en) Encoding/decoding device using a reed-solomon encoder/decoder
CN1288542A (zh) 用于循环纠错码的物理块地址恢复设备、系统和方法
CN1467918A (zh) 里得-索罗门解码器
CN103986475A (zh) 里德-所罗门伞型代码的并行分解
CN1636324A (zh) 纠错解码器的钱搜索单元
US8739006B2 (en) Reduced circuit implementation of encoder and syndrome generator
CN1176534A (zh) 测定用在里德-索洛蒙译码器中的误差定位子多项式的装置
US20040078747A1 (en) Generalized forney algorithm circuit
CN1308414A (zh) 纠错装置
CN1303763C (zh) 用于降低rs码编译码复杂度的方法
Sakata et al. Fast erasure-and-error decoding of algebraic geometry codes up to the Feng-Rao bound
JP2662472B2 (ja) 誤り訂正処理用シンドローム演算回路
JP3614978B2 (ja) ガロア体の除算方法および除算装置
CN1849750A (zh) 里得-所罗门编码和解码方法
US6598201B1 (en) Error coding structure and method
Kurz The ${[46, 9, 20] _2} $ code is unique
CN108847851B (zh) 一种二元bch码伴随式矩阵的实现方法
JPH07226687A (ja) 誤り訂正処理装置
KR20000037517A (ko) 리드-솔로몬 디코더 회로
CN1144376C (zh) 简化的里德-索罗门译码电路及其译码方法
JP2940386B2 (ja) 誤り訂正復号装置
JPH09185518A (ja) 原始元αのべき乗生成方式及びその装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication