CN101483442A - 根据Nand Flash多余空间来配置纠错能力的BCH解码器 - Google Patents

根据Nand Flash多余空间来配置纠错能力的BCH解码器 Download PDF

Info

Publication number
CN101483442A
CN101483442A CNA200910046088XA CN200910046088A CN101483442A CN 101483442 A CN101483442 A CN 101483442A CN A200910046088X A CNA200910046088X A CN A200910046088XA CN 200910046088 A CN200910046088 A CN 200910046088A CN 101483442 A CN101483442 A CN 101483442A
Authority
CN
China
Prior art keywords
error correction
syndrome
msub
mrow
module
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.)
Granted
Application number
CNA200910046088XA
Other languages
English (en)
Other versions
CN101483442B (zh
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.)
Core Holdings Ltd Co
Xinyuan Microelectronics (shanghai) Co Ltd
VeriSilicon Microelectronics Beijing Co Ltd
Original Assignee
VERISILICON HOLDINGS CO Ltd
VeriSilicon Microelectronics Shanghai Co Ltd
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 VERISILICON HOLDINGS CO Ltd, VeriSilicon Microelectronics Shanghai Co Ltd filed Critical VERISILICON HOLDINGS CO Ltd
Priority to CN200910046088XA priority Critical patent/CN101483442B/zh
Publication of CN101483442A publication Critical patent/CN101483442A/zh
Application granted granted Critical
Publication of CN101483442B publication Critical patent/CN101483442B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种根据Nand Flash多余空间来配置纠错能力的BCH解码器包括:用于根据Nand Flash多余空间来配置解码器的纠错比特数的纠错能力指示模块;用于根据配置的纠错比特数、及输入的码字,采用迭代法并行计算出相应奇数序号的校正子的奇数校正子计算模块;用于根据所计算出的奇数序号的校正子串行计算出偶数序号的校正子的偶数校正子计算模块;用于根据所计算出奇数序号和偶数序号的校正子,采用无逆简化的BMA算法迭代求解出错误位置方程的各系数、及错误码字个数的解牛顿恒等式模块;用于根据所求解出的各系数和错误码字的个数,搜索出错误比特位置以对其进行纠正,进而实现译码的chien搜索模块,此译码延迟小,兼容性好,且硬件复用率高。

Description

根据Nand Flash多余空间来配置纠错能力的BCH解码器
技术领域
本发明涉及一种BCH解码器,特别涉及一种根据Nand Flash多余空间来配置纠错能力的BCH解码器。
背景技术
GF(2m)是一种伽罗华域,它是GF(2)域的扩展域,该域由系数在GF(2)域上的m次本原多项式p(x)生成,域中有一个本原元素α,其为本原多项式的根。GF(2m)域的基本性质如下:
1.域中共有2m个元素,除0元素外,其余元素皆为α的幂。
2.该域中两个元素相加,和仍为该域中的元素,且等于这两个元素向量表示的各分量的异或。
3.设β1=αi和β2=αj分别为该域中的两个元素,则β1×β2仍为该域中的元素,其值为α(i+j)%n,n=2m-1,%表示求模运算。
作为循环码的(n,k)BCH码,其码字长度满足n=2m-1,校验位长度n-k满足n-k≤mt,t是能够纠正的错误数目,其生成多项式以GF(2m)域上的前2t个元素为根。而对于码长不满足n=2m-1的二进制BCH码(n-l,k-l),其被称为缩短BCH码,可被看作前l个信息位为0所形成的码字,因而其解码方法与普通BCH码相同。
现有二进制BCH解码器的解码过程通常可分为三步:
第一步:利用接收码字计算校正子。
若r(x)=r0+r1x+r2x2+……rn-1xn-1为接收码字多项式,t为BCH码可纠正的错误数,则2t个校正子可以按照下式(1)计算:
si=r0+r1αi+r2α2i+……rn-1α(n-1)i,i=1……2t    (1)
其中α为GF(2m)的本原元素,si是第i个校正子。
第二步:利用校正子计算错误位置方程。
主要是利用Berlekamp-Massey等算法解如下的牛顿恒等式(2):
s11=0
s21s1+2σ2=0
s31s22s1+3σ3=0
           .
           .
           .
sv1sv-1+……+σv-1s1+vσv=0             (2)
sv+11sv+……+σv-1s2vs1=0
           .
           .
           .
s2t1s2t-1+……+σv-1s2t-v+1vs2t-v=0
其中,s1……s2t是第一步计算出的校正子,σ1,σ2,……σv是错误位置方程的系数,v是该码字中错误的个数,v≤t,由此可得到错误位置方程如下式(3)
1+σ1x+σ2x2+……+σvxv=0                 (3)
而目前多采用简化的无逆BMA算法来计算错误位置方程系数,所述算法描述如下:
初始化:(Initialize):σ0=1,β0=z,l0=0,δ0=1
开始(Begin):
     for k=0……t-1
     begin
        
Figure A200910046088D00061
        σ2k+2=δ2kσ2k+d2kβ2k
        
Figure A200910046088D00062
        
Figure A200910046088D00063
        
Figure A200910046088D00064
     结束(end)
end
其中,σ是需要求得并输出的错误位置方程系数,l是需要求得并输出的码字错误个数。其余皆是中间变量。
第三步:利用错误位置方程搜索错误位置,并对错误位置的错误值进行纠正以实现解码
主要是通过chien搜索等算法找到错误位置方程的根,所述根中包含错误位置的信息。例如,设αk为错误位置方程的根,即:
1+σ1αk2k)2+……+σvk)v=0           (4)
则相应错误位置位于2m-1-k处。
然而,对于现有用于通信的BCH解码器,由于其码字长度较短,大多采用串行方式进行解码,即在计算校正子时直接采用上式(1)进行计算或者利用输入码字首先计算出校验多项式再计算校正子,进行chien搜索的时候都采用串行搜索方法逐比特搜索,因此解码器的面积比较小,同时由于码字长度较短,因此译码延迟也是可以接受的。但当码字长度较长时,如此译码则延迟太大,难以接受。此外,在计算过程中,现有许多解码器都采用查表法来求得GF(2m)域的乘法,这样就需要一个只读存储器(ROM)来存储GF(2m)域元素表。当码字长度较长时,所述元素表会很大,会占用大量的硬件资源。再有,现有采用直接求解或者查表的方法来求解错误位置方程时,当码字长度较短时,所需硬件面积和译码延迟都较小,而当码长很大时,所需硬件面积和译码延迟都会非常大。
还有,现有用于Nand Flash控制器的BCH解码器,其纠错能力是固定的,一般为4比特或8比特,其优点在于专用性较好,面积较小,适用于现有的16字节/512字节或128字节/4K字节的多余空间(spare area)。然而,由于工艺的进步,线宽的降低,Nand Flash存储密度越来越高,错误概率也越来越大,因此新一代Nand Flash中的多余空间提高到了218字节/4K字节,这样也就使得Nand Flash控制器能够采用纠更多比特错误的BCH码,来降低Nand Flash的错误率,而现有仅能纠正4比特或8比特错误是远远不够的。另一方面,现有能够纠正15比特以下错误的解码器,由于其不可配置性,使得校验比特长度固定并且大于16字节,只能用于新一代MLC/QLC型的Nand Flash,不能应用于普通的Nand Flash,其向下兼容性不好。
因此,如何解决现有BCH解码器存在的诸多问题,实已成为本领域技术人员亟待解决的技术课题。
发明内容
本发明的目的在于提供一种延迟小、兼容性好的根据Nand Flash多余空间来配置纠错能力的BCH解码器。
为了达到上述目的及其他目的,本发明提供的根据Nand Flash多余空间来配置纠错能力的BCH解码器包括:用于根据Nand Flash多余空间来配置解码器的纠错比特数的纠错能力指示模块;用于根据所述纠错能力指示模块所配置的纠错比特数、及输入的码字,采用迭代法并行计算出相应奇数序号的校正子的奇数校正子计算模块;用于根据所述纠错能力指示模块所配置的纠错比特数、及所述奇数校正子计算模块所计算出的奇数序号的校正子串行计算出偶数序号的校正子的偶数校正子计算模块;用于根据所述纠错能力指示模块所配置的纠错比特数、及所计算出奇数序号和偶数序号的校正子,采用无逆简化的BMA算法迭代求解出错误位置方程的各系数、及错误码字的个数的解牛顿恒等式模块;用于根据所述解牛顿恒等式模块所求解出的错误位置方程的各系数和错误码字的个数、及所述纠错能力指示模块所配置的纠错比特数,搜索出错误比特在Nand Flash中位置以对其进行纠正,进而实现译码的chien搜索模块。
其中,配置的纠错比特数为8或15。
综上所述,本发明的根据Nand Flash多余空间来配置纠错能力的BCH解码器硬件复用率非常高,其纠错能力可达到8比特或15比特,而且延迟小,其既可支持现在的普通Nand Flash,也支持下一代MLC/QLC型Nand Flash,还可以用于Nand Flash控制器中,也可以用于通信系统中的前向纠错模块中,具有较好的兼容性,且硬件复用率高。
附图说明
图1为本发明的根据Nand Flash多余空间来配置纠错能力的BCH解码器的基本结构示意图。
图2为本发明的根据Nand Flash多余空间来配置纠错能力的BCH解码器的奇数校正子计算模块结构示意图。
图3为本发明的根据Nand Flash多余空间来配置纠错能力的BCH解码器的解牛顿恒等式模块结构示意图。
图4为本发明的根据Nand Flash多余空间来配置纠错能力的BCH解码器的chien搜索模块结构示意图。
具体实施方式
请参阅图1,本发明的根据Nand Flash多余空间来配置纠错能力的BCH解码器至少包括:纠错能力指示模块、奇数校正子计算模块、偶数校正子计算模块、解牛顿恒等式模块、及chien搜索模块,其可对(4200,4096)缩短码或(4291,4096)缩短码进行解码。
所述纠错能力指示模块用于根据Nand Flash多余空间来配置解码器的纠错比特数,通常可配置的纠错比特数为8比特或15比特。
所述奇数校正子计算模块用于根据所述纠错能力指示模块所配置的纠错比特数、及输入的码字,采用迭代法并行计算出相应奇数序号的校正子。当配置的纠错比特数为15比特,需要计算的奇数校正子数目最多为15个,采用并行计算,则所述奇数校正子计算模块中所包含的计算单元的数目为15个。当配置的纠错比特数为8比特时,需要计算的校正子数目为8个,则15个计算单元中的后7个在8比特纠错的情况下是不工作的,其对应的后7个输出也为0。由于Nand Flash是以字节为单位输入码字,因此每输入一个单位的码字,所述奇数校正子计
               s _ new i k = s _ old i k α 8 i + c 7 + c 6 α i + c 5 α 2 i + c 4 α 3 i + c 2 α 5 i + c 1 α 6 i + c 0 α 7 i
算模块即按照: s _ old i k + 1 = s _ new i k
进行一次迭代,在迭代last次后即可计算出相应奇数序号的校正子,其中,last=输入的总的码字长度/8,
Figure A200910046088D00093
是在计算序号为i的校正子时迭代第k+1次时所得到的值,
Figure A200910046088D00094
是在计算序号为i的校正子时迭代第k次时所得到的值,c7……c0是第k+1次输入的一个字节的数据,c7为输入码字中的最低位,c0为输入码字中的最高位。当配置的纠错比特数为8比特时,码字长度为4200比特正好能够被8整除,因此,最后一轮迭代仍按照上式进行,当配置的纠错比特数为15比特,码字长度为4291比特,不能被8整除,因此最后一次的迭代则按照下式进行:
s _ new i last = s _ old i last α 3 i + c 2 + c 1 α + c 0 α 2
式中,c2……c0是最后一次输入字节中的有效码字。
请参见图2,在本实施例中,所述奇数校正子计算模块包括:用于计算
Figure A200910046088D00096
Figure A200910046088D00097
的校正子更新单元;用于计算c7+c6αi+c5α2i+c4α3i+c3α4i+c2α5i+c1α6i+c0α7i和c2+c1α+c0α2的校正子增量计算单元;及用于将所述校正子更新单元和校正子增量计算单元所计算出的结果进行GF(213)域相加的第一加法器,其中,所述校正子更新单元采用变量与常数乘法器来实现,变量为
Figure A200910046088D00098
常数为α8i。对于15比特纠错的情况,在最后一轮迭代(537次迭代)时,校正子更新单元用于计算
Figure A200910046088D00099
因此校正子更新单元就包含两个变量与常数的乘法器。而GF(213)域变量与常数的乘法器即为一系列针对于每一位的异或门。例如,对于x=y×α,其中,y是GF(213)的变量,α是本原元素,是一个常数。若设y的向量表示和x的向量表示为 y = ( y 12 , y 11 , y 10 , y 9 , y 8 , y 7 , y 6 , y 5 , y 4 , y 3 , y 2 , y 1 , y 0 ) x = ( x 12 , x 11 , x 10 , x 9 , x 8 , x 7 , x 6 , x 5 , x 4 , x 3 , x 2 , x 1 , x 0 ) ,则可以得到x的各分量为
x0=y12
x1=y0^y12
x2=y1
x3=y2^y12
x4=y3^y12
x5=y4
x6=y5
x7=y6
x8=y7
x9=y8
x10=y9
x13=y10
x12=y11
上式中“^”表示异或,显然,x=y×α的可采用异或门来实现,其余常数与变量的乘法器实现方法与前述例子相同。所述校正子增量计算单元在15比特纠错最后一轮迭代时用于计算c2+c1α+c0α2,其可为8个带选择信号的异或门。
与现有技术相比,所述奇数校正子计算模块的优势在于:
1)迭代式较为简单。
2)利用校正子更新的同一性,使得8比特纠错校正子的计算能够完全复用15比特纠错情况下的计算单元,从而使8比特纠错校正子计算单元被完全包含进15比特纠错的计算单元中,降低了硬件的面积。
3)在8比特纠错的情况下,后7个计算单元是不工作的,这就降低了硬件的功耗。
4)采用并行更新的方法实现奇数序号的校正子的计算,提高了计算速度,能够达到即时更新的效果,其计算延迟为0,特别适用于数据长度很长,解码延迟要求很高的情况。
所述偶数校正子计算模块用于根据所述纠错能力指示模块所配置的纠错比特数、及所述奇数校正子计算模块所计算出的奇数序号的校正子串行计算出偶数序号的校正子。由于二进制BCH码存在: s 2 i = s i 2 , 故所述偶数校正子计算模块可包括用于计算 s 2 i = s i 2 的第一GF(213)域乘法器;及用于启动所述第一GF(213)域乘法器的启动单元,si是所述奇数校正子计算模块所计算出的序号为i的校正子,s2i为序号为2i的校正子。所述第一GF(213)域乘法器可采用变量与变量乘法器来实现,其可由与门和异或门构成。因为,设两个GF(213)的变量x1、x2,两者的向量表示分别为: x 1 = ( a 12 , a 11 , a 10 , a 9 , a 8 , a 7 , a 6 , a 5 , a 4 , a 3 , a 2 , a 1 , a 0 ) x 2 = ( b 12 , b 11 , b 10 , b 9 , b 8 , b 7 , b 6 , b 5 , b 4 , b 3 , b 2 , b 1 , b 0 ) ,
x 1 = Σ i = 0 12 a i α i , x 2 = Σ i = 0 12 b i α i , 令γ=x1x2=(γ12,γ11,γ10,γ9,γ8,γ7,γ6,γ5,γ4,γ3,γ2,γ1,γ0),则有 γ = Σ i = 0 24 c i α i , 其中, c i = Σ j = max ( 0 , i - 12 ) min ( 12 , i ) a j b i - j , min(a,b)表示a和b中的最小值,max(a,b)表示a和b中的最大值,即 γ i = Σ j c j , j∈{j|αj(i)=1,j=0,……,24},i=0,1,……,12,式中,αj(i)指αj的向量表示中第i分量,由此可见,变量与变量乘法器可由与门和异或门构成。此外,当所述奇数校正子计算模块所计算的校正子都为0时,即输入码字没有错误,所述启动单元不启动所述第一GF(213)域乘法器。当配置的纠错比特数为15比特,需要计算的偶数校正子数目最多为15个,当配置的纠错比特数为8比特,需要计算的偶数校正子数目最多为8个。
与现有技术相比,所述偶数校正子计算模块的优势在于:
1)采用GF(213)域乘法器,串行计算偶数校正子,降低了硬件的面积。
2)在输入码字无错的情况下,所述第一GF(213)域乘法器不启动,整个解码结束,此时,译码延迟为0。
3)在8比特纠错情况下,只计算前8个偶数序号校正子,并且由于两者所处的域相同,因此8比特纠错偶数序号的校正子计算可以完全复用15比特纠错的硬件,而无需增加任何新硬件,提高了复用度,降低了硬件面积。
所述解牛顿恒等式模块用于根据所述纠错能力指示模块所配置的纠错比特数、及所计算出奇数序号和偶数序号的校正子,采用无逆简化的BMA算法以求解出错误位置方程的各系数、及错误码字的个数。在本实施例中,奇数序号和偶数序号的校正子都由所述偶数校正子计算模块输出。请参见图3,所述解牛顿恒等式模块包括:第二GF(213)域乘法器、第三GF(213)域乘法器、第二加法器、第四GF(213)域乘法器、第三加法器、及变量更新单元等。所述第二GF(213)域乘法器用于计算
Figure A200910046088D00117
其中,k=0……t-1,i=0……k,t为所配置的纠错比特数,σ是错误位置方程系数;第三GF(213)域乘法器用于计算δ2kσ2k,其中,δ0=1;第二加法器用于当k为一定值而i为不同值时所述第二GF(213)域乘法器计算出的各结果进行GF(213)域累加,即用于计算 d 2 k = Σ i = 0 k σ i 2 k s 2 k - i , 例如,当k=0时,i只能为0,故所述第二加法器输出值为
Figure A200910046088D00122
第四GF(213)域乘法器用于将所述第二加法器计算出的结果与β2k进行GF(213)相乘,即用于计算d2kβ2k,其中,β0=z,z为中间变量;第三加法器用于将所述第三GF(213)域乘法器和第四GF(213)域乘法器计算出的结果进行GF(213)域相加,即用于计算σ2k+2=δ2kσ2k+d2kβ2k;变量更新单元用于根据所述第二加法器计算出的结果对变量β、δ、及l进行更新的,其中,l是码字错误个数,且l0=0,其可根据:
Figure A200910046088D00123
Figure A200910046088D00124
Figure A200910046088D00125
当配置的纠错比特数为15比特时,需要迭代15次,当配置的纠错比特数为8比特,只需要迭代8次。
与现有技术相比,所述解牛顿恒等式模块的优势在于:
1)利用3个乘法器和2个加法器进行串行迭代,使硬件规模和计算所需的时钟周期数都很适中。
2)在进行8比特纠错时,只需减少迭代次数,而无需增加硬件。
所述chien搜索模块用于根据所述解牛顿恒等式模块所求解出的错误位置方程的各系数和错误码字的个数、及所述纠错能力指示模块所配置的纠错比特数,搜索出错误比特在NandFlash中位置以对其进行纠正,进而实现译码。其可采用并行度为8的chien搜索算法进行搜索,即当Nand Flash处理数据的最小单元为1个字节,一次可搜索一个字节的错误。请参见图4,当配置的纠错比特数为15比特时,所述chien搜索模块从α3901开始搜索,首先由所述chien搜索模块的15个乘积因子计算及更新单元计算出15个基本乘积因子,即计算a1=σ1α3901,a2=σ2α2×3901,……,a15=σ15α15×3901,其中,σ1,……,σ15是解牛顿恒等式模块输出的错误位置方程中的第1阶到第15阶的系数,a1,……,a15是用于搜索的15个基本乘积因子,然后由所述chien搜索模块的105个变量常数乘法器和120个GF域加法器进行相应运算,使输出的8个并行求和分支为:
sum1=σ0+a1+a2+……+a15
sum2=σ0+a1α+a2α2+……+a15α15
sum3=σ0+a1α22α4+……+a15α30
sum4=σ0+a1α3+a2α6+……+a15α45
                                                         ,
sum5=σ0+a1α4+a2α8+……+a15α60
sum6=σ0+a1α5+a2α10+……+a15α75
sum7=σ0+a1α6+a2α12+……+a15α90
sum8=σ0+a1α7+a2α14+……+a15α105
σ0是错误位置方程的0阶系数。sum1,……,sum8是8个求和分支计算出的错误位置方程的值,进行完一轮搜索后,15个乘积因子计算及更新单元按照a1=a1α8,a2=α2α16,……,a15=a15α8×15对基本乘积因子进行更新,同时判断单元判断搜索到的错误数目是否等于解牛顿恒等式模块输出的码字错误数目,若是,则停止搜索,否则继续搜索。例如,设第k轮搜索中第i个求和分支计算出的结果为0,则所述chien搜索模块输出的错误行位置为k,输出错误列位置的第i比特为0,其余比特皆为1,输出的错误标志为1。当配置的纠错比特数为15比特时,其搜索仍从α3901开始,但放弃开始的11次搜索结果。
与现有技术相比,所述chien搜索模块的优势在于:
1)采用并行度为8的chien搜索算法,使其能够方便的应用于Nand Flash控制器。
2)8比特纠错的搜索可以完全利用15比特纠错的搜索的硬件资源,无需增加任何硬件。
3)当搜索到的错误数目等于码字错误数目时,停止搜索可减少解码延迟,这对于错误数目较少时是非常有用的。
4)整个搜索模块虽然采取并行搜索的模式,但只需存储15个基本乘积因子,其余乘积因子都可以由这15个计算得到,降低了寄存器的数目,从而也降低了硬件的面积。
利用Synopsys公司的Design Compiler综合工具和SMIC公司的0.13μm的工艺库,对本发明和相同架构的单独的15比特纠错的解码器分别进行综合,得到本发明的硬件面积为228119平方微米。而同架构的15比特纠错的解码器面积为226804平方微米,两者基本相同。
综上所述,本发明的根据Nand Flash多余空间来配置纠错能力的BCH解码器能够支持(4200,4096)和(4291,4096)两种缩短BCH码,由于其译码延迟较低,因此适合于码字长度较长时的解码,又由于其支持两种大小的多余空间,因此特别适用于Nand Flash控制器中的ECC模块;再者,由于无需存储GF(213)域的表,而完全通过与门和异或门来实现GF域乘法和加法,大大降低了硬件的面积其复用程度非常高,使整体电路面积与同架构的单独的15比特纠错的解码器面积基本相同;还有,由于采用了当校正子无误时不纠错和搜索出的错误数目与计算得到的码字错误数目相等时纠错结束这两项技术,使得译码延迟大大降低;此外,采用经过简化的算法并在计算时尽量减少寄存器的使用,不需要的计算单元不启动,使得面积和功耗都比较低。

Claims (12)

1.一种根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于包括:
纠错能力指示模块,用于根据NandFlash多余空间来配置解码器的纠错比特数;
奇数校正子计算模块,用于根据所述纠错能力指示模块所配置的纠错比特数、及输入的码字,采用迭代法并行计算出相应奇数序号的校正子;
偶数校正子计算模块,用于根据所述纠错能力指示模块所配置的纠错比特数、及所述奇数校正子计算模块所计算出的奇数序号的校正子串行计算出偶数序号的校正子;
解牛顿恒等式模块,用于根据所述纠错能力指示模块所配置的纠错比特数、及所计算出奇数序号和偶数序号的校正子,采用无逆简化的BMA算法迭代求解出错误位置方程的各系数、及错误码字的个数;
chien搜索模块,用于根据所述解牛顿恒等式模块所求解出的错误位置方程的各系数和错误码字的个数、及所述纠错能力指示模块所配置的纠错比特数,搜索出错误比特在Nand Flash中位置以对其进行纠正,进而实现译码。
2.如权利要求1所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:所述BCH解码器为对(4200,4096)码或(4291,4096)码进行解码的解码器。
3.如权利要求1或2所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:配置的纠错比特数为8或15。
4.如权利要求1所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:所述奇数校正子计算模块在计算每一校正子时,当Nand Flash以字节为单位输入码字,则每输入一个单位的码字,所述奇数校正子计算模块即进行一次迭代,在迭代last次后计算出相应奇数序号的校正子,last=输入的总的码字长度/8,且其按 s _ new i k = s _ old i k α 8 i + c 7 + c 6 α i + c 5 α 2 i + c 4 α 3 i + c 3 α 4 i + c 2 α 5 i + c 1 α 6 i + c 0 α 7 i 照: s _ old i k + 1 = s _ new i k 进行迭代,其中,
Figure A200910046088C00023
是在计算序号为i的校正子时迭代第k+1次时所得到的值,
Figure A200910046088C00024
是在计算序号为i的校正子时迭代第k次时所得到的值,c7……c0是第k+1次输入的一个字节的数据,c7为输入码字中的最低位,c0为输入码字中的最高位。
5.如权利要求4所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:当码字长度为4291比特,最后一次迭代按式 s _ new i last = s _ old i last α 3 i + c 2 + c 1 α + c 0 α 2 进行。
6.如权利要求4或5所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:所述奇数校正子计算模块包括:用于计算
Figure A200910046088C00032
Figure A200910046088C00033
的校正子更新单元;用于计算c7+c6αi+c5α2i+c4α3i+c3α4i+c2α5i+c1α6i+c0α7i和c2+c1α+c0α2的校正子增量计算单元;及用于将所述校正子更新单元和校正子增量计算单元所计算出的结果进行GF(213)域相加的第一加法器,其中,所述校正子更新单元采用变量与常数乘法器来实现,所述校正子增量计算单元为8个带选择信号的异或门。
7.如权利要求1所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:所述偶数校正子计算模块包括用于计算
Figure A200910046088C00034
的第一GF(213)域乘法器;及用于启动所述第一GF(213)域乘法器的启动单元,其中,si是所述奇数校正子计算模块所计算出的序号为i的校正子,s2i为序号为2i的校正子。
8.如权利要求7所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:当所述奇数校正子计算模块所计算的校正子都为0时,所述启动单元不启动所述第一GF(213)域乘法器。
9.如权利要求1所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:所述解牛顿恒等式模块包括:用于计算
Figure A200910046088C00035
的第二GF(213)域乘法器,其中,k=0……t-1,i=0……k,t为所配置的纠错比特数,σ是错误位置方程系数;用于计算δ2kσ2k的第三GF(213)域乘法器,其中,δ01;用于当k为一定值而i为不同值时所述第二GF(213)域乘法器计算出的各结果进行GF(213)域累加的第二加法器;用于将所述第二加法器计算出的结果与β2k进行GF(213)相乘的第四GF(213)域乘法器,其中,β0=z,z为中间变量;用于将所述第三GF(213)域乘法器和第四GF(213)域乘法器计算出的结果进行GF(213)域相加的第三加法器、及用于根据所述第二加法器计算出的结果对变量β、δ、及l进行更新的变量更新单元,其中,l是码字错误个数,且l0=0。
10.如权利要求1所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:所述变量更新单元按照
Figure A200910046088C00041
Figure A200910046088C00042
Figure A200910046088C00043
11.如权利要求1所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:所述chien搜索模块为采用并行度为8的chien搜索算法进行搜索的模块。
12.如权利要求11所述的根据Nand Flash多余空间来配置纠错能力的BCH解码器,其特征在于:所述chien搜索模块包括一判断搜索到的错误数目是否等于解牛顿恒等式模块输出的码字错误数目的判断单元。
CN200910046088XA 2009-02-11 2009-02-11 根据Nand Flash多余空间来配置纠错能力的BCH解码器 Active CN101483442B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910046088XA CN101483442B (zh) 2009-02-11 2009-02-11 根据Nand Flash多余空间来配置纠错能力的BCH解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910046088XA CN101483442B (zh) 2009-02-11 2009-02-11 根据Nand Flash多余空间来配置纠错能力的BCH解码器

Publications (2)

Publication Number Publication Date
CN101483442A true CN101483442A (zh) 2009-07-15
CN101483442B CN101483442B (zh) 2011-02-16

Family

ID=40880402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910046088XA Active CN101483442B (zh) 2009-02-11 2009-02-11 根据Nand Flash多余空间来配置纠错能力的BCH解码器

Country Status (1)

Country Link
CN (1) CN101483442B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101848001A (zh) * 2010-03-22 2010-09-29 苏州国芯科技有限公司 Flash控制器中BCH编译码的数据长度扩展方法
CN102394114A (zh) * 2011-11-14 2012-03-28 清华大学 具有自适应纠错能力的bch码纠错方法
CN103138770A (zh) * 2010-01-12 2013-06-05 北京忆恒创源科技有限公司 有限域平方计算电路
CN103580793A (zh) * 2012-08-02 2014-02-12 北京兆易创新科技股份有限公司 纠错处理方法和系统
CN104378121A (zh) * 2013-08-13 2015-02-25 北京兆易创新科技股份有限公司 一种译码方法及译码装置
CN104639179A (zh) * 2013-11-13 2015-05-20 上海华虹集成电路有限责任公司 通过二进制本原bch码的缩短码检测特殊错误模式的方法
CN105161137A (zh) * 2015-08-27 2015-12-16 大唐微电子技术有限公司 一种MLC架构中Nand Flash控制器电路实现装置
CN107204782A (zh) * 2017-04-10 2017-09-26 北京大学 一种bch译码器及生成该译码器的编译器的实现方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728227B2 (ja) * 1985-06-07 1995-03-29 ソニー株式会社 Bch符号の復号装置
US5323402A (en) * 1991-02-14 1994-06-21 The Mitre Corporation Programmable systolic BCH decoder
US5995559A (en) * 1995-08-31 1999-11-30 Telefonaktiebolaget Lm Ericsson Methods for improved communication using repeated words
CN1102261C (zh) * 1999-07-12 2003-02-26 南京师范大学 群变换方法构成的bch符号编码、解码、多重纠错器件
EP1102406A3 (en) * 1999-11-17 2003-11-19 STMicroelectronics, Inc. Apparatus and method for decoding digital data

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103138770A (zh) * 2010-01-12 2013-06-05 北京忆恒创源科技有限公司 有限域平方计算电路
CN101848001A (zh) * 2010-03-22 2010-09-29 苏州国芯科技有限公司 Flash控制器中BCH编译码的数据长度扩展方法
CN101848001B (zh) * 2010-03-22 2012-10-17 苏州国芯科技有限公司 Flash控制器中BCH编译码的数据长度扩展方法
CN102394114A (zh) * 2011-11-14 2012-03-28 清华大学 具有自适应纠错能力的bch码纠错方法
CN102394114B (zh) * 2011-11-14 2014-01-01 清华大学 具有自适应纠错能力的bch码纠错方法
CN103580793A (zh) * 2012-08-02 2014-02-12 北京兆易创新科技股份有限公司 纠错处理方法和系统
CN104378121A (zh) * 2013-08-13 2015-02-25 北京兆易创新科技股份有限公司 一种译码方法及译码装置
CN104639179A (zh) * 2013-11-13 2015-05-20 上海华虹集成电路有限责任公司 通过二进制本原bch码的缩短码检测特殊错误模式的方法
CN104639179B (zh) * 2013-11-13 2018-08-14 上海华虹集成电路有限责任公司 通过二进制本原bch码的缩短码检测特殊错误模式的方法
CN105161137A (zh) * 2015-08-27 2015-12-16 大唐微电子技术有限公司 一种MLC架构中Nand Flash控制器电路实现装置
CN105161137B (zh) * 2015-08-27 2019-04-19 大唐微电子技术有限公司 一种MLC架构中Nand Flash控制器电路实现装置
CN107204782A (zh) * 2017-04-10 2017-09-26 北京大学 一种bch译码器及生成该译码器的编译器的实现方法
CN107204782B (zh) * 2017-04-10 2020-11-20 北京大学 一种bch译码器及生成该译码器的编译器的实现方法

Also Published As

Publication number Publication date
CN101483442B (zh) 2011-02-16

Similar Documents

Publication Publication Date Title
CN101483442B (zh) 根据Nand Flash多余空间来配置纠错能力的BCH解码器
US9535788B2 (en) High-performance ECC decoder
US5715262A (en) Errors and erasures correcting reed-solomon decoder
US6374383B1 (en) Determining error locations using error correction codes
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US6119262A (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
WO2011142133A1 (ja) 誤り訂正符号処理方法及びその装置
WO2007074441A1 (en) Error detection / correction circuit and corresponding method
US10439643B2 (en) Reed-Solomon decoders and decoding methods
CN105553485A (zh) 基于fpga的bch编解码装置及其编解码方法
JP2004032737A (ja) リード−ソロモン復号器
EP1502356B1 (en) A method of soft-decision decoding of reed-solomon codes
US20080155381A1 (en) Low Area Architecture in BCH Decoder
US6263471B1 (en) Method and apparatus for decoding an error correction code
US9337869B2 (en) Encoding and syndrome computing co-design circuit for BCH code and method for deciding the same
US10367529B2 (en) List decode circuits
US20100174970A1 (en) Efficient implementation of a key-equation solver for bch codes
US6735737B2 (en) Error correction structures and methods
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
CN107688506B (zh) 一种流水结构的bch译码系统
US9459836B2 (en) Simplified inversionless berlekamp-massey algorithm for binary BCH code and circuit implementing therefor
US9287898B2 (en) Method and circuit for shortening latency of Chien'S search algorithm for BCH codewords
US5787100A (en) Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder
US9467173B2 (en) Multi-code Chien's search circuit for BCH codes with various values of m in GF(2m)
Park et al. High-speed low-complexity Reed-Solomon decoder using pipelined Berlekamp-Massey algorithm

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: VERISILICON HOLDINGS CO., LTD. BEIJING VERISILICON

Free format text: FORMER OWNER: VERISILICON HOLDINGS CO., LTD.

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 201204 TO: 201203

TA01 Transfer of patent application right

Effective date of registration: 20100927

Address after: 201203, Pudong New Area Zhangjiang hi tech park, Zhang Heng Road, No. 1, building 3, floor 200,, 4

Applicant after: VeriSilicon Microelectronics (Shanghai) Co., Ltd.

Co-applicant after: VeriSilicon Holdings Co., Ltd.

Co-applicant after: VeriSilicon Microelectronics (Beijing) Co., Ltd.

Address before: 201204, Pudong New Area Zhangjiang hi tech park, Zhang Heng Road, No. 1, building 3, floor 200,, 4

Applicant before: VeriSilicon Microelectronics (Shanghai) Co., Ltd.

Co-applicant before: VeriSilicon Holdings Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 201203 Shanghai City Songtao road Pudong New Area Zhangjiang hi tech park, No. 560 Zhang Jiang Building 20A

Patentee after: VeriSilicon Microelectronics (Shanghai) Co., Ltd.

Patentee after: VeriSilicon Holdings Co., Ltd.

Patentee after: VeriSilicon Microelectronics (Beijing) Co., Ltd.

Address before: 201203, Pudong New Area Zhangjiang hi tech park, Zhang Heng Road, No. 1, building 3, floor 200,, 4

Patentee before: VeriSilicon Microelectronics (Shanghai) Co., Ltd.

Patentee before: VeriSilicon Holdings Co., Ltd.

Patentee before: VeriSilicon Microelectronics (Beijing) Co., Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: BCH decoder for configuring error correcting capability according to Nand Flash extra space

Effective date of registration: 20170726

Granted publication date: 20110216

Pledgee: National integrated circuit industry investment fund, Limited by Share Ltd

Pledgor: VeriSilicon Microelectronics (Shanghai) Co., Ltd.|VeriSilicon Holdings Co., Ltd.|VeriSilicon Microelectronics (Beijing) Co., Ltd.

Registration number: 2017990000684

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20190306

Granted publication date: 20110216

Pledgee: National integrated circuit industry investment fund, Limited by Share Ltd

Pledgor: VeriSilicon Microelectronics (Shanghai) Co., Ltd.|VeriSilicon Holdings Co., Ltd. |VeriSilicon Microelectronics (Beijing) Co., Ltd.

Registration number: 2017990000684

PC01 Cancellation of the registration of the contract for pledge of patent right
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 201203 Zhangjiang Building 20A, 289 Chunxiao Road, China (Shanghai) Free Trade Pilot Area, Pudong New Area, Shanghai

Co-patentee after: Core holdings limited company

Patentee after: Xinyuan Microelectronics (Shanghai) Co., Ltd.

Co-patentee after: VeriSilicon Microelectronics (Beijing) Co., Ltd.

Address before: 201203 Zhangjiang Building 20A, 560 Songtao Road, Zhangjiang High-tech Park, Pudong New Area, Shanghai

Co-patentee before: VeriSilicon Holdings Co., Ltd.

Patentee before: VeriSilicon Microelectronics (Shanghai) Co., Ltd.

Co-patentee before: VeriSilicon Microelectronics (Beijing) Co., Ltd.