CN108683425B - 一种bch译码器 - Google Patents
一种bch译码器 Download PDFInfo
- Publication number
- CN108683425B CN108683425B CN201810478181.7A CN201810478181A CN108683425B CN 108683425 B CN108683425 B CN 108683425B CN 201810478181 A CN201810478181 A CN 201810478181A CN 108683425 B CN108683425 B CN 108683425B
- Authority
- CN
- China
- Prior art keywords
- circuit module
- error correction
- error
- correction capability
- syndrome
- 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.)
- Active
Links
- 238000012937 correction Methods 0.000 claims abstract description 179
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 132
- 238000004364 calculation method Methods 0.000 claims abstract description 88
- 230000008859 change Effects 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种BCH译码器,该BCH译码器包括:伴随式计算电路模块、错误位置方程生成电路模块、错误位置求解电路模块和纠错能力控制电路模块,其中,所述伴随式计算电路模式包括多个伴随式计算电路,所述错误位置求解电路模块包括多个钱搜索运算单元;所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述伴随式计算电路的工作状态、控制所述错误位置方程生成电路模块的迭代次数和控制所述钱搜索运算单元的工作状态,以改变所述伴随式计算电路模块的纠错能力、所述错误位置方程生成电路模块的纠错能力和所述错误位置求解电路模块的纠错能力。该BCH译码器是一种在保证纠错能力的情况下的低功耗BCH译码器。
Description
技术领域
本发明涉及存储器技术领域,更具体地说,尤其涉及一种BCH译码器。
背景技术
随着科学技术的不断发展,各种各样的存储器已广泛应用于人们的日常生活和工作中,为人们的生活带来了极大的便利。
现如今基于BCH码的ECC(Error Correcting Code,错误检查和纠正)系统被广泛应用于通讯或大容量存储器等尖端领域,随着通讯带宽的拓展或是存储器容量的逐年增加,这些领域对ECC系统的纠错能力与功耗要求也越来越严格。
但是,无论是在通讯领域还是大容量存储器领域,数据误码率都是一个变化值,这就意味着ECC系统将会长时间处于不饱和工作状态。其中,传统的BCH译码器纠错能力固定且运行时存在较多冗余电源消耗,对于误码率不同的数据所消耗的功耗基本相同,也就会有大量的功耗被浪费掉。
那么,如何提供一种在保证纠错能力的情况下的低功耗BCH译码器,是本领域技术人员亟待解决的问题。
发明内容
为解决上述问题,本发明提供了一种BCH译码器,该BCH译码器是一种在保证纠错能力的情况下的低功耗BCH译码器。
为实现上述目的,本发明提供如下技术方案:
一种BCH译码器,所述BCH译码器包括:伴随式计算电路模块、错误位置方程生成电路模块、错误位置求解电路模块和纠错能力控制电路模块,其中,所述伴随式计算电路模式包括多个伴随式计算电路,所述错误位置求解电路模块包括多个钱搜索运算单元;
当所述伴随式计算电路模块处于工作状态时,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述伴随式计算电路的工作状态,以改变所述伴随式计算电路模块的纠错能力;
当所述错误位置方程生成电路模块处于工作状态时,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述错误位置方程生成电路模块的迭代次数,以改变所述错误位置方程生成电路模块的纠错能力;
当所述错误位置求解电路模块处于工作状态时,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述钱搜索运算单元的工作状态,以改变所述错误位置求解电路模块的纠错能力。
优选的,在上述BCH译码器中,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述伴随式计算电路的工作状态,以改变所述伴随式计算电路模块的纠错能力的方法包括:
所述纠错能力控制电路模块依据所述待译码数据的误码率,控制所述伴随式计算电路模块中多个伴随式计算电路中相对应的伴随式计算电路进行工作,其余的伴随式计算电路不进行工作,以改变所述伴随式计算电路模块的纠错能力。
优选的,在上述BCH译码器中,所述纠错能力控制电路模块依据所述待译码数据的误码率,控制所述伴随式计算电路模块中多个伴随式计算电路中相对应的伴随式计算电路进行工作,其余的伴随式计算电路不进行工作,以改变所述伴随式计算电路模块的纠错能力的方法包括:
所述纠错能力控制电路模块依据所述待译码数据的误码率,向所述伴随式计算电路模块中多个伴随式计算电路均发送使能信号,当使能信号打开,相对应的伴随式计算电路开始工作,当使能信号没有打开,相对应的伴随式计算电路不进行工作。
优选的,在上述BCH译码器中,所述伴随式计算电路模块包括多个第一纠错子模块,所述第一纠错子模块包括至少一个所述伴随式计算电路;
所述第一纠错子模块的纠错能力与其包括的伴随式计算电路个数成正比;
纠错能力大的第一纠错子模块包括纠错能力小的第一纠错子模块的至少一个所述伴随式计算电路。
优选的,在上述BCH译码器中,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述钱搜索运算单元的工作状态,以改变所述错误位置求解电路模块的纠错能力的方法包括:
所述纠错能力控制电路模块依据所述待译码数据的误码率,控制所述错误位置求解电路模块中多个钱搜索运算单元中相对应的钱搜索运算单元进行工作,其余的钱搜索运算单元不进行工作,以改变所述错误位置求解电路模块的纠错能力。
优选的,在上述BCH译码器中,所述纠错能力控制电路模块依据所述待译码数据的误码率,控制所述错误位置求解电路模块中多个钱搜索运算单元中相对应的钱搜索运算单元进行工作,其余的钱搜索运算单元不进行工作,以改变所述错误位置求解电路模块的纠错能力的方法包括:
所述纠错能力控制电路模块依据所述待译码数据的误码率,向所述错误位置求解电路模块中多个钱搜索运算单元均发送使能信号,当使能信号打开,相对应的钱搜索运算单元开始工作,当使能信号没有打开,相对应的钱搜索运算单元不进行工作。
优选的,在上述BCH译码器中,所述错误位置求解电路模块包括多个第二纠错子模块,所述第二纠错子模块包括至少一个所述钱搜索运算单元;
所述第二纠错子模块的纠错能力与其包括的钱搜索运算单元个数成正比;
纠错能力大的第二纠错子模块包括纠错能力小的第二纠错子模块的至少一个所述钱搜索运算单元。
优选的,在上述BCH译码器中,所述纠错能力控制电路模块还用于依据所述BCH译码器的纠错能力配置所述伴随式计算电路模块中伴随式计算电路的运行参数,或配置所述错误位置求解电路模块中钱搜索运算单元的运行参数。
通过上述描述可知,本发明提供的一种BCH译码器,所述BCH译码器包括:伴随式计算电路模块、错误位置方程生成电路模块、错误位置求解电路模块和纠错能力控制电路模块,其中,所述伴随式计算电路模式包括多个伴随式计算电路,所述错误位置求解电路模块包括多个钱搜索运算单元;当所述伴随式计算电路模块处于工作状态时,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述伴随式计算电路的工作状态,以改变所述伴随式计算电路模块的纠错能力;当所述错误位置方程生成电路模块处于工作状态时,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述错误位置方程生成电路模块的迭代次数,以改变所述错误位置方程生成电路模块的纠错能力;当所述错误位置求解电路模块处于工作状态时,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述钱搜索运算单元的工作状态,以改变所述错误位置求解电路模块的纠错能力。
由此可知,该BCH译码器通过纠错能力控制电路模块依据待译码数据的误码率,控制伴随式计算电路模块、错误位置方程生成电路模块、错误位置求解电路模块的纠错能力,在实现纠错能力可配置的情况下,大幅度降低了BCH译码器的功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为传统的BCH译码器的结构示意图;
图2为本发明实施例提供的一种BCH译码器的结构示意图;
图3为本发明实施例提供的一种伴随式计算电路模块的结构示意图;
图4为本发明实施例提供的一种伴随式计算电路的结构示意图;
图5为本发明实施例提供的一种错误位置方程生成电路模块的算法流程图;
图6为本发明实施例提供的一种错误位置求解电路模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,图1为现有技术中的一种BCH译码器的原理示意图,如图1所示,待译码数据首先通过伴随式计算电路模块计算伴随式多项式,之后结合伴随式多项式的系数通过错误位置方程生成电路模块计算错误位置多项式方程,最后结合错误位置多项式方程的系数通过错误位置求解电路模块求出错误位置,并结合数据FIFO(First Input First Output,数据先进先出的一种方式,也可以理解为数据缓存)对待译码数据进行纠错译码,最后进行输出。
基于此,传统的BCH译码器不管是伴随式计算电路模块的纠错能力,还是错误位置方程生成电路模块的纠错能力,还是错误位置求解电路模块的纠错能力都是固定不变的,不能随意调整纠错能力,因此在数据误码率不同的情况下功耗变化不大。但是,随着传统的BCH译码器纠错能力的增加,BCH译码器的功耗也逐渐变大,导致这种纠错能力固定的BCH译码器在功耗优化上不够灵活。
例如,闪存芯片的存储单元的数据存储可靠性会随着编程/擦除周期次数的增加而变差,也就是说,在芯片使用的初期,误码率很低的时候对BCH译码器纠错能力要求不高,BCH译码器没必要处于饱和工作状态。
基于上述问题,本发明提供了一种BCH译码器,该BCH译码器是一种在保证纠错能力的情况下的低功耗BCH译码器。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参考图2,图2为本发明实施例提供的一种BCH译码器的原理示意图,如图2所示,所述BCH译码器包括:伴随式计算电路模块21、错误位置方程生成电路模块22、错误位置求解电路模块23和纠错能力控制电路模块24,其中,所述伴随式计算电路模式21包括多个伴随式计算电路,所述错误位置求解电路模块23包括多个钱搜索运算单元。所述纠错能力控制电路模块24用于依据待译码数据的误码率控制所述伴随式计算电路21的工作状态、控制所述错误位置方程生成电路模块22的迭代次数和控制所述钱搜索运算单元的工作状态,以改变所述伴随式计算电路模块21的纠错能力、所述错误位置方程生成电路模块22的纠错能力和所述错误位置求解电路模块23的纠错能力。
通过上述描述可知,BCH译码器对待译码数据的处理过程大致分为三个处理阶段,下面对每一个处理阶段进行具体阐述。
在第一处理阶段
当所述伴随式计算电路模块21处于工作状态时,所述纠错能力控制电路模块24用于依据待译码数据的误码率控制所述伴随式计算电路的工作状态,以改变所述伴随式计算电路模块21的纠错能力。
具体的,如图2所示,待译码数据在通过伴随式计算电路模块21时,所述纠错能力控制电路模块24依据所述待译码数据的误码率,控制所述伴随式计算电路模块21中多个伴随式计算电路中相对应的伴随式计算电路进行工作,其余的伴随式计算电路不进行工作,以改变所述伴随式计算电路模块21的纠错能力,从而计算出伴随式多项式,其伴随式计算电路模块21的输出为伴随式多项式的系数。
其中,所述纠错能力控制电路模块24控制所述伴随式计算电路进行工作是依据所述待译码数据的误码率,向所述伴随式计算电路模块21中多个伴随式计算电路均发送使能信号,当使能信号打开,相对应的伴随式计算电路开始工作,当使能信号没有打开,相对应的伴随式计算电路不进行工作。
如图3所示,所述伴随式计算电路模式21包括多个伴随式计算电路,所述纠错能力控制电路模块24依据所述待译码数据的误码率,向所述伴随式计算电路模块21中多个伴随式计算电路均发送使能信号,EN_1…EN_T/8、EN_T/8+1…EN_T/4…EN_T,当使能信号打开,相对应的伴随式计算电路开始工作,当使能信号没有打开,相对应的伴随式计算电路不进行工作,待译码数据在工作的伴随式计算电路中计算伴随式多项式,之后分别输出伴随式多项式的系数S1…ST/8、ST/8+1…ST/4…ST。
在所述纠错能力控制电路模块24发送使能信号的同时,所述纠错能力控制电路模块24还向所述伴随式计算电路模式21发送参数配置信号,即对所述伴随式计算电路模块21中相对应的伴随式计算电路的运行参数进行配置,所述参数配置信号依据待译码数据的误码率生成。
如图4所示,所述伴随式计算电路包括但不限定于由GF乘法器和D触发器组成,通过使能信号EN_i使相对应的D触发器工作,参数配置信号配置相对应的GF乘法器运行参数。
也就是说,通过硬件调度和配置调整数据走向、改变所述伴随式计算电路模块21的电路结构和修正运算结果等操作,来达到所述伴随式计算电路模式21的不同纠错能力。
例如,假设接收待译码数据为r(x),纠错能力为T,则要生成的2T个校正子的定义如下:
其中,ai为BCH码组中某个根的第i次幂,i的范围从1到2T,(根据BCH码的特性而言,实际运算T个奇数项的Si便可)。
进一步的,如图3所示,纠错能力大的所述伴随式计算电路模块21中工作的伴随式计算电路包括或部分包括纠错能力小的所述伴随式计算电路模块21中工作的伴随式计算电路,也就是说,所述伴随式计算电路模块21包括多个第一纠错子模块,所述第一纠错子模块包括至少一个所述伴随式计算电路;所述第一纠错子模块的纠错能力与其包括的伴随式计算电路个数成正比;纠错能力大的第一纠错子模块包括纠错能力小的第一纠错子模块的至少一个所述伴随式计算电路。
具体的,如图3所示,根据BCH译码器的结构,在译码过程中有很多伴随式计算电路是重复出现的,只是配置参数不同,因此可以采用伴随式计算电路复用的方式,即纠错能力为T时的伴随式计算电路模块21中工作的伴随式计算电路将复用纠错能力为T/2、T/4或T/8时伴随式计算电路模块21中工作的伴随式计算电路。也就是说,在提高纠错能力的过程中,只增加少量逻辑控制便可实现伴随式计算电路模块纠错能力可配置的功能,同时在低误码率情况下大幅度降低BCH译码器的功耗,并且,通过复用伴随式计算电路,不会使得芯片面积增加。
需要说明的是,关于纠错能力T/2、T/4、T/8和T的划分在本发明实施例中仅仅以举例的形式体现,并不作限定。
在第二处理阶段
当所述错误位置方程生成电路模块22处于工作状态时,所述纠错能力控制电路模块24用于依据待译码数据的误码率控制所述错误位置方程生成电路模块22的迭代次数,以改变所述错误位置方程生成电路模块22的纠错能力。
具体的,如图2所示,所述纠错能力控制电路模块24用于依据待译码数据的误码率控制所述错误位置方程生成电路模块22的迭代次数,即控制所述错误位置方程生成电路模块22的递归运算深度,结合在第一处理阶段输出的伴随式多项式的系数通过错误位置方程生成电路模块22计算错误位置多项式方程,最后输出错误位置多项式方程的系数。
其中,在第二处理阶段,通过错误位置方程生成电路模块22计算错误位置多项式方程,通常采用BM算法或者某种优化的BM算法来实现。
BM算法的目的是生成如下多项式:
σ(x)=σ0+σ1x+σ2x2+…+σixi+…+σTxT
其中,σi是该错误位置多项式方程的系数,也是第二处理阶段主要进行运算求解的对象,如果能根据第一处理阶段的伴随式系数求解出越多的系数σi,则纠错能力越强。
在判断所述错误位置方程生成电路模块22的递归运算深度时,将当前递归深度i与纠错能力控制电路模块的输出J进行比较,从而按照不同的纠错能力需要使算法达到不同的递归深度,以实现纠错能力可配置的错误位置方程生成电路模块。
如图5所示,步骤S101:初始化所有相关参数变量:
i=-1;d-1=1;d1=S1;dq(-1)=1;
σ(-1)(x)=1;σ(1)(x)=1;D(-1)(x)=1;
步骤S102:将迭代计数变量i(即递归深度i)加2表示进行了一次迭代:
i=i+2;
步骤S103:判断di是否值为0,其中di表示d的第i次迭代时的值:
di=0?;
若di=0,则执行步骤S104:
D(i)(x)=x2D(i-2)(x);
dq(i)=dq(i-2);
σ(i+2)(x)=σ(i)(x);
若di≠0,,则执行步骤S105:
D(i)(x)=σ(i)(x);
dq(i)=di;
步骤S106:计算下一次迭代时的di值:
其中,S为伴随式计算电路模块的输出;
S107:判断迭代深度是否满足纠错能力控制电路模块的限定子J:
i<J;
若i<J,则返回步骤S102,继续进行迭代;
若i≥J,则执行步骤S108,输出σ(x)=σ(i+2)(x)的值,即为结果。
在第三处理阶段
当所述错误位置求解电路模块23处于工作状态时,所述纠错能力控制电路模块24用于依据待译码数据的误码率控制所述钱搜索运算单元的工作状态,以改变所述错误位置求解电路模块23的纠错能力。
具体的,如图2所示,在第三处理阶段过程中,错误位置多项式方程的系数通过错误位置求解电路模块23时,所述纠错能力控制电路模块24依据所述待译码数据的误码率,控制所述错误位置求解电路模块23中多个钱搜索运算单元中相对应的钱搜索运算单元进行工作,其余的钱搜索运算单元不进行工作,以改变所述错误位置求解电路模块23的纠错能力,从而计算出错误位置并输出,再结合数据FIFO(First Input First Output,数据先进先出的一种方式,也可以理解为数据缓存)对待译码数据进行纠错译码,最后进行输出。
其中,所述纠错能力控制电路模块24控制所述钱搜索运算单元进行工作是依据所述待译码数据的误码率,向所述错误位置求解电路模块23中多个钱搜索运算单元均发送使能信号,当使能信号打开,相对应的钱搜索运算单元开始工作,当使能信号没有打开,相对应的钱搜索运算单元不进行工作。
如图5所示,所述错误位置求解电路模块23包括多个钱搜索运算单元,所述纠错能力控制电路模块24依据所述待译码数据的误码率,向所述错误位置求解电路模块23中多个钱搜索运算单元均发送使能信号,EN_1…EN_T/8、EN_T/8+1…EN_T/4…EN_T,当使能信号打开,相对应的钱搜索运算单元开始工作,当使能信号没有打开,相对应的钱搜索运算单元不进行工作,错误位置多项式方程的系数在工作的钱搜索运算单元中计算出错误位置并进行数据输出。
在所述纠错能力控制电路模块24发送使能信号的同时,所述纠错能力控制电路模块24还向所述错误位置求解电路模块23发送参数配置信号,即对所述错误位置求解电路模块23中相对应的钱搜索运算单元的运行参数进行配置,所述参数配置信号依据待译码数据的误码率生成。
也就是说,通过硬件调度和配置调整数据走向、改变所述错误位置求解电路模块的电路结构和修正运算结果等操作,来达到所述错误位置求解电路模块的不同纠错能力。
在第三处理阶段,钱搜索运算单元包括但不限定于通过以下计算式求解:
σ(x)=σ0+σ1x+σ2x2+…+σixi+…+σTxT
其中,σi是错误位置多项式方程的系数值,通过钱搜索运算单元把对应的BCH码的每个码元带入上述方程,当解为0时,表示相对应的根所指向的位置发生了错误。
需要说明的是,错误位置求解电路模块23的纠错能力与上述方程中的项数有关,项数越多错误位置求解电路模块23的纠错能力就越强,消耗的钱搜索运算单元资源就越多,运行时功耗就越大。
那么,在面对低误码率时,只需要计算上述多项式的前几项即可,而不是计算完整的多项式,实现方式是通过配置来减少工作的钱搜索运算单元的数量,进而降低功耗。
进一步的,如图5所示,纠错能力大的所述错误位置求解电路模块23中工作的钱搜索运算单元包括或部分包括纠错能力小的所述错误位置求解电路模块23中工作的钱搜索运算单元,也就是说,所述错误位置求解电路模块23包括多个第二纠错子模块,所述第二纠错子模块包括至少一个所述钱搜索运算单元;所述第二纠错子模块的纠错能力与其包括的钱搜索运算单元个数成正比;纠错能力大的第二纠错子模块包括纠错能力小的第二纠错子模块的至少一个所述钱搜索运算单元。
具体的,如图6所示,根据BCH译码器的结构,在译码过程中有很多钱搜索运算单元是重复出现的,只是配置参数不同,因此可以采用钱搜索运算单元复用的方式,即纠错能力为T时的错误位置求解电路模块23中工作的钱搜索运算单元将复用纠错能力为T/2、T/4或T/8时错误位置求解电路模块23中工作的钱搜索运算单元。也就是说,在提高纠错能力的过程中,只增加少量逻辑控制便可实现错误位置求解电路模块23纠错能力可配置的功能,同时在低误码率情况下大幅度降低BCH译码器的功耗,并且,通过复用钱搜索运算单元,不会使得芯片面积增加。
需要说明的是,关于纠错能力T/2、T/4、T/8和T的划分在本发明实施例中仅仅以举例的形式体现,并不作限定。
通过上述描述可知,该BCH译码器通过纠错能力控制电路模块依据待译码数据的误码率,控制伴随式计算电路模块、错误位置方程生成电路模块、错误位置求解电路模块的纠错能力,在实现纠错能力可配置的情况下,大幅度降低了BCH译码器的功耗。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种BCH译码器,其特征在于,所述BCH译码器包括:伴随式计算电路模块、错误位置方程生成电路模块、错误位置求解电路模块和纠错能力控制电路模块,其中,所述伴随式计算电路模块 包括多个伴随式计算电路,所述错误位置求解电路模块包括多个钱搜索运算单元;
当所述伴随式计算电路模块处于工作状态时,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述伴随式计算电路的工作状态,以改变所述伴随式计算电路模块的纠错能力;
当所述错误位置方程生成电路模块处于工作状态时,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述错误位置方程生成电路模块的迭代次数,以改变所述错误位置方程生成电路模块的纠错能力;
当所述错误位置求解电路模块处于工作状态时,所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述钱搜索运算单元的工作状态,以改变所述错误位置求解电路模块的纠错能力;
所述纠错能力控制电路模块还用于依据所述BCH译码器的纠错能力配置所述伴随式计算电路模块中伴随式计算电路的运行参数,或配置所述错误位置求解电路模块中钱搜索运算单元的运行参数;
所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述伴随式计算电路的工作状态,以改变所述伴随式计算电路模块的纠错能力的方法包括:
所述纠错能力控制电路模块依据所述待译码数据的误码率,控制所述伴随式计算电路模块中多个并行的伴随式计算电路中相对应的伴随式计算电路进行工作,其余的伴随式计算电路不进行工作,以改变所述伴随式计算电路模块的纠错能力;
所述纠错能力控制电路模块用于依据待译码数据的误码率控制所述钱搜索运算单元的工作状态,以改变所述错误位置求解电路模块的纠错能力的方法包括:
所述纠错能力控制电路模块依据所述待译码数据的误码率,控制所述错误位置求解电路模块中多个并行的钱搜索运算单元中相对应的钱搜索运算单元进行工作,其余的钱搜索运算单元不进行工作,以改变所述错误位置求解电路模块的纠错能力。
2.根据权利要求1所述的BCH译码器,其特征在于,所述纠错能力控制电路模块依据所述待译码数据的误码率,控制所述伴随式计算电路模块中多个伴随式计算电路中相对应的伴随式计算电路进行工作,其余的伴随式计算电路不进行工作,以改变所述伴随式计算电路模块的纠错能力的方法包括:
所述纠错能力控制电路模块依据所述待译码数据的误码率,向所述伴随式计算电路模块中多个伴随式计算电路均发送使能信号,当使能信号打开,相对应的伴随式计算电路开始工作,当使能信号没有打开,相对应的伴随式计算电路不进行工作。
3.根据权利要求1所述的BCH译码器,其特征在于,所述伴随式计算电路模块包括多个第一纠错子模块,所述第一纠错子模块包括至少一个所述伴随式计算电路;
所述第一纠错子模块的纠错能力与其包括的伴随式计算电路个数成正比;
纠错能力大的第一纠错子模块包括纠错能力小的第一纠错子模块的至少一个所述伴随式计算电路。
4.根据权利要求1所述的BCH译码器,其特征在于,所述纠错能力控制电路模块依据所述待译码数据的误码率,控制所述错误位置求解电路模块中多个钱搜索运算单元中相对应的钱搜索运算单元进行工作,其余的钱搜索运算单元不进行工作,以改变所述错误位置求解电路模块的纠错能力的方法包括:
所述纠错能力控制电路模块依据所述待译码数据的误码率,向所述错误位置求解电路模块中多个钱搜索运算单元均发送使能信号,当使能信号打开,相对应的钱搜索运算单元开始工作,当使能信号没有打开,相对应的钱搜索运算单元不进行工作。
5.根据权利要求1所述的BCH译码器,其特征在于,所述错误位置求解电路模块包括多个第二纠错子模块,所述第二纠错子模块包括至少一个所述钱搜索运算单元;
所述第二纠错子模块的纠错能力与其包括的钱搜索运算单元个数成正比;
纠错能力大的第二纠错子模块包括纠错能力小的第二纠错子模块的至少一个所述钱搜索运算单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810478181.7A CN108683425B (zh) | 2018-05-18 | 2018-05-18 | 一种bch译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810478181.7A CN108683425B (zh) | 2018-05-18 | 2018-05-18 | 一种bch译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108683425A CN108683425A (zh) | 2018-10-19 |
CN108683425B true CN108683425B (zh) | 2022-08-26 |
Family
ID=63805211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810478181.7A Active CN108683425B (zh) | 2018-05-18 | 2018-05-18 | 一种bch译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108683425B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286716A (zh) * | 2020-10-21 | 2021-01-29 | 天津津航计算技术研究所 | 一种1024字节的存储系统差错控制模块 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122323B2 (en) * | 2007-03-08 | 2012-02-21 | Intel Corporation | Method, apparatus, and system for dynamic ECC code rate adjustment |
CN101499325B (zh) * | 2008-02-03 | 2012-10-03 | 深圳艾科创新微电子有限公司 | 一种具有可变纠错能力的非易失性存储系统及方法 |
CN101425875B (zh) * | 2008-12-17 | 2011-01-26 | 炬力集成电路设计有限公司 | 一种解码器 |
CN101459431B (zh) * | 2008-12-30 | 2012-03-07 | 北京大学 | 一种信道纠错码bch码和rs码的译码方法 |
US8892980B2 (en) * | 2010-06-15 | 2014-11-18 | Fusion-Io, Inc. | Apparatus, system, and method for providing error correction |
CN102122964B (zh) * | 2011-03-31 | 2014-07-02 | 西安电子科技大学 | 一种基于fpga的高速rs编译码器实现方法 |
WO2016090621A1 (zh) * | 2014-12-12 | 2016-06-16 | 华为技术有限公司 | 数据存储的方法和装置 |
-
2018
- 2018-05-18 CN CN201810478181.7A patent/CN108683425B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108683425A (zh) | 2018-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8954828B2 (en) | Memory controller | |
US7613981B2 (en) | System and method for reducing power consumption in a low-density parity-check (LDPC) decoder | |
US20040153942A1 (en) | Soft input soft output decoder for turbo codes | |
JP5840741B2 (ja) | 複数のコード・タイプをプログラマブル復号する方法および装置 | |
CN107204782B (zh) | 一种bch译码器及生成该译码器的编译器的实现方法 | |
CN114499767B (zh) | 一种数据传输系统及其rs编码装置和方法 | |
CN109361403A (zh) | Ldpc译码方法、ldpc译码器及其存储设备 | |
US10742355B2 (en) | Apparatus that receives non-binary polar code and decoding method thereof | |
US10263644B1 (en) | Hybrid architecture for LDPC channel coding in data center | |
CN108683425B (zh) | 一种bch译码器 | |
JP4767266B2 (ja) | 演算ユニット、エラー訂正復号回路及び誤り位置多項式の演算方法 | |
JP4852061B2 (ja) | 低密度パリティ検査(ldpc)デコーダに応用する演算回路 | |
Prescher et al. | A parametrizable low-power high-throughput turbo-decoder | |
CN101499325B (zh) | 一种具有可变纠错能力的非易失性存储系统及方法 | |
US20160378594A1 (en) | Method and apparatus to decode low density parity codes | |
CN106537787A (zh) | 译码方法和译码器 | |
US9065482B1 (en) | Circuit for forward error correction encoding of data blocks | |
US10826534B2 (en) | Encoding method, encoder, and decoder for dynamic power consumption control | |
US8862968B1 (en) | Circuit for forward error correction encoding of data blocks | |
CN112286716A (zh) | 一种1024字节的存储系统差错控制模块 | |
CN111130568B (zh) | 一种bch译码器及其译码方法、ecc系统 | |
CN103944589B (zh) | 一种bch编码、解码方法及装置 | |
CN107688506B (zh) | 一种流水结构的bch译码系统 | |
CN108363639B (zh) | 一种参数可配置的动态bch纠错方法及装置 | |
US20130179484A1 (en) | Efficient Technique for Optimal Re-Use of Hardware In the Implementation of Instructions Used in Viterbi, Turbo and LPDC Decoders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |