CN101252361A - 一种支持预搜索的面积紧凑型bch并行译码电路 - Google Patents
一种支持预搜索的面积紧凑型bch并行译码电路 Download PDFInfo
- Publication number
- CN101252361A CN101252361A CNA200710123852XA CN200710123852A CN101252361A CN 101252361 A CN101252361 A CN 101252361A CN A200710123852X A CNA200710123852X A CN A200710123852XA CN 200710123852 A CN200710123852 A CN 200710123852A CN 101252361 A CN101252361 A CN 101252361A
- Authority
- CN
- China
- Prior art keywords
- circuit
- search
- error
- syndrome
- decoding
- 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
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
一种支持预搜索的面积紧凑型BCH并行译码电路,是工作在有限域GF(213)上,所述并行译码电路包括伴随式校正子运算电路(1)、有限域GF(213)上IBM错误位置多项式迭代运算的一轮多拍实现电路(2)、具有全组合逻辑预搜索模块(25)的错误地址搜索电路(3)和译码器多功能可配置数据接口(27)。同现有技术相比较,具有硬件复杂度低,电路面积紧凑,成本低廉;数据吞吐率高,错误地址搜索速度快;接口设计简单实用,功能齐全;根据校验元长度的需求,可灵活配置纠错性能,且不受码长变化的影响。
Description
技术领域
本发明涉及用于检错或纠错的编码、译码或代码转换电路,尤其涉及应用循环码,即通过码字循环移位产生校验信息的由多项式、玻色一查德赫利—霍克昆海母(Bose-Chaudhuri-Hocquenghem,即BCH)编码发生器定义的差错控制码,特别是涉及在NandFlash型结构大容量存储设备控制芯片中的一种BCH译码器电路。
背景技术
在NandFlash型结构大容量存储设备的控制芯片中,当数据写入存储单元时,需要按一定规则人为地写入一部分冗余数据,用于差错控制,以保证数据读出时进行误码检测和校正。BCH码是可纠正多个随机错误的码,这与NandFlash存储设备的常规出错类型相符。采用超长BCH码作为NandFlash控制器纠错编码ECC单元的优点是:
(1)在保护相同长度的数据时,对于给定的随机错误数,二进制BCH码需占用的冗余数据空间通常要低于里德—索罗蒙RS(Reed-Solomon)码;
(2)在译码时,二进制BCH码仅需搜索错误位置,待获得错误位置后,只需将错误位取反即完成纠错。
目前,消费类大容量存储器件要求ECC单元不断提升纠错处理性能,并压缩硬件实现低成本。基于这种考虑,以BCH码作为纠错码型,为不同规格和品质的存储器件提供数据保护,需要做到实现代价低、纠错能力强、处理性能高。
对于任意正整数m,设二进制BCH码的标准码长为N=2m-1bits,信息元为Kbits,则该码的相关指标为:校验元长为N-Kbits;纠错能力 (其中m≥3);最小码距dmin≥2t+1。
目前BCH码并行编码电路已经被广泛采用,并行译码电路的实现结构还没有完全统一。通常BCH码的译码主要分为三步:
(1)从接收码字中计算伴随多项式的各校正子Si(x);
(2)采用伯利坎普—梅西BM(Berlekamp-Massey)迭代算法得到差错位置多项式σ(x);
(3)采用Chien搜索法求解差错位置多项式σ(x),并纠错。
在上述第二步中,伯利坎普和梅西提出的BM迭代译码算法是用于BCH和RS解码器中解关键方程的实用方法,与欧几里德(Euclidean)算法和连分数算法相比,BM算法的硬件复杂度较低。此外,BM算法可以设计成只计算错误位置多项式σ(x),而不必同时计算错误值多项式Ω(x),因此在无需计算Ω(x)的二进制BCH码译码中广泛使用。这是因为这种码的错误仅由“1”错成“0”,或由“0”错成“1”两种情况,错误值总为“1”,因此在找到错误位置后只要将该位置的数据按位取反,即可纠正错误。
但是,经典的BM算法中需要复杂的有限域求逆运算,有限域的求逆运算要么需要复杂的硬件实现结构,要么采用查表方式,需在电路中加入ROM或Flash型存储单元。这些方法与低成本和低算法复杂度的设计目标相违背。伯顿(Burton H.)在1971年中提出了一种针对二进制BCH码的无求逆(Inversionless)伯利坎普—梅西译码算法IBM,简化了算法实现。采用IBM迭代算法后,二进制BCH码的译码步骤变更为:
(1)从接收码字中计算伴随多项式S1(x);
(2)采用IBM迭代算法得到常数项非“0”的差错位置多项式μ(x);
(3)采用Chien搜索法求解差错位置多项式μ(x)并纠错。
针对上述译码步骤(1)和(3),Chen Y.等人给出了伴随多项式运算电路和并行Chien搜索电路(参见“Chen Y.and Parhi K.K.,Area efficient parallel decider architecturefor long BCH codes.IEEE Proceedings on ICASSP 2004,2004:73-76.”)。针对上述译码步骤(2),里德(Reed I.S.)等人将IBM算法扩展用于解非二进制BCH码,并给出了IBM算法的超大规模集成电路VLSI结构,当前这种实现结构被广泛采用(参见“Reed 1.S.,ShihM.T.,VLSI design of inverse-free Berlekamp-Massey algorithm.In 1EE Proceedings onComputers and Digital Techniques,1991,138(5):295-298.”)。张军等人提出了超高速低复杂度IBM算法电路结构(参见“张军,王志功,胡庆生等.高速Berlekamp-Massey算法结构及电路实现.电路与系统学报,2006,11(4):85-89.”),降低了关键路径延迟,采用了2t+1个二输入有限域乘法器。
对于BCH码的译码步骤(1)的伴随多项式运算电路,在数据输入端需要大量的有限域常系数乘法单元,电路的实现代价大,关键路径长。
对于BCH码的译码步骤(2),在有限域GF(213)上纠错能力为t比特的BCH码,若采用里德等人的实现电路,实现结构需要3t-1个二输入乘法器,根据不同的工艺库,单个组合逻辑乘法电路的实现面积通常在1000门左右,3t-1个二输入乘法器的实现代价将超过整个译码电路的50%。若采用张军等人的实现电路,虽然降低了关键路径延迟,但仍需采用2t+1个二输入有限域乘法器,实现代价依然较大。
对于BCH码的译码步骤(3),现有的并行Chien搜索电路对常用的BCH截短码并没有采取专门措施,需要对截去的空数据单元进行搜索,限制了错误位置的搜索速度。
由于在上述BCH码的三个译码步骤的实现电路中,现有技术存在硬件实现面积大、关键路径延时长等问题,无法满足大容量便携式存储系统的要求。
为避免上述现有技术的不足之处,中国专利申请2005 1 0134376.2公开了一种“BCH编码中Galois扩域运算的快速实现方法”,预先建立幂次表示和多项式表示之间各元素的对应关系;通过Galois扩域元素的两种表示方法实现混合运算,提高了BCH编解码的运算速度,降低了Galois扩域运算软件实现的复杂性。该算法针对软件实现具有很好的适应性,然而这种Galois扩域运算需要分多个步骤进行,并且需要兼容所有Galois扩域,因而它在硬件实现面积和运算速度上都无法满足当前大容量便携式NandFlash存储产品的需求。
中国专利申请2004 1 0005777.3还公开了一种“快速纠双错BCH码译码电路”,根据译码码字的错误图样不大于2-bit这一特点,给出了一种无需Chien搜索法,也不用查找表ROM,直接从伴随式结果即可计算出错误位置的快速译码算法。译码结构简单,硬件复杂度低。然而,目前大容量NandFlash存储产品的容量在继续不断增大,特别是在消费类数码产品中,NandFlash的质量参差不齐,2-bit的纠错性能已经难以保证各种NandFlash产品的使用可靠性。而本发明“支持预搜索的面积紧凑型BCH并行译码电路”可根据不同的NandFlash产品质量,在一个电路上分别实现纠正16、12、8、4bit的错误,更加适合当前的相关产品应用。
发明内容
本发明要解决的技术问题在于避免现有BCH码译码电路的缺点和应用灵活性上的不足,提出一种BCH码并行译码的VLSI实现电路。在一个译码器的硬件实现结构之上,使BCH译码器的实现面积大幅缩减,提高误码的搜索速度;通过对电路接口的重新设计,使BCH译码器支持多种纠错性能和不同码长。从而使采用该译码电路的集成电路产品达到体积小、成本低、功能全、速度快的特点。
本发明解决所述技术问题可以通过采用以下技术方案来实现:
设计一种支持预搜索的面积紧凑型BCH并行译码电路,所述并行译码电路工作在有限域GF(213)上,包括伴随式校正子运算电路、错误位置多项式迭代电路和错误地址搜索电路;所述伴随式校正子运算电路借助8路双路选通器,在校正子的8-bit并行运算电路输入端完成有限域常系数乘法;所述迭代电路借助IBM迭代运算的一轮多拍实现电路之2套多路选通器,复用一个有限域GF(213)上的二输入乘法器,在实现IBM迭代算法时,运行一轮迭代多拍运算;所述错误地址搜索电路中则设置了全组合逻辑预搜索模块;所述BCH并行译码电路为8-bit并行译码电路。
A.所述伴随式校正子运算电路,采用1-bit变量与13-bit常量有限域乘法的双路选通实现结构,完成二进制接收码序列RN,RN-1…R0与13-bit有限域常量的乘法;对于8-bit并行输入,需要8路双路选通器。设Sj(j∈[1,2t])为伴随式运算结果,伴随式校正子的8-bit并行运算电路模型为:
式(1)中R为接收码字序列,k为运算迭代时的状态变量;接收总码长为N比特,由于编、译码处理及存储方式都以字节为单位,故N可被8整除;式(1)中接收码字第RN-i-bit与13-bit有限域常量α(i-8k)j的乘法采用双路选通实现结构;对于8组双路选通器,其两个输入端分别为“0”和αmj(m=0,1,…7)。当接收比特RN-i=0(i=0,1,...N-1)时,输入端“0”选通,乘法结果为“0”;当接收比特RN-i=1时,输入端常量αmj选通,乘法结果为αmj。
译码码字通过伴随式校正子运算电路得到2t个伴随式校正子Sj(j∈[1,2t]),然后控制IBM_enable使能信号使能错误位置多项式迭代电路,在每轮迭代前2t个校正子Sj(j∈[1,2t])按照从S2t至S1的方向移动一次,移出校正子通过shift[12:0]端口移入到错误位置多项式迭代电路(2)的Tj(j∈[0,t])寄存器组中,且移入方向为T0到Tt,在2t轮迭代完成后错误位置多项式迭代电路得到错误位置多项式各参数μ1、μ2……μt和错误数指示信号Error_num[4:0],此时Search_enable信号有效使能错误地址搜索电路(3),最后搜索出错误地址Error_address[9:0]和相应的错误图样Error_data[7:0]。
B.伴随式校正子运算电路的码字正确指示信号Code_correct和错误地址搜索电路的错误搜索完毕指示信号Search_done做逻辑或,得到译码结束指示信号Decode_done信号;当码字输入完毕若无错,则Code_correct有效,同时Decode_done信号有效;若有错,则错误位置多项式迭代电路和错误地址搜索电路工作完毕后Search_done信号有效,同时Decode_done信号有效。
C.所述的错误位置多项式迭代电路,针对IBM迭代算法,一轮多拍实现结构将状态机与各选通单元的配置逻辑相结合,通过控制单元对2套多路选通器的配置来复用有限域GF(213)上的二输入乘法器,配置信号分为2路,从而用多个时钟周期完成一轮的IBM算法迭代;在一轮IBM迭代中,二输入乘法器被复用3t+2次,复用由控制单元对2套多路选通器的配置完成,且复用顺序符合:(T0μ0),(T1μ1),…(Ttμt),(λt-1Mout),(μtYout),(λt-2Mout),(μt-1Yout),… (λ0Mout),(μ1Yout),(μ0Yout),其中“”表示有限域GF(213)上的乘法运算;该迭代电路对有限域二输入乘法器的复用率高,迭代速度有所降低,而电路的实现面积得到大幅压缩;同时,采用一轮迭代多拍运算,将有助于降低电路中的关键路径延迟。
D.所述具有全组合逻辑预搜索模块的错误地址搜索电路,采用全组合逻辑预搜索模块。在使用有限域GF(213)上的BCH截短码时,标准码长N=213-1被截短为N′,此时Chien搜索电路需要空搜索L=N-N′比特。纠错能力为t比特时,在搜索电路中引入全组合逻辑预搜索模块,将错误位置多项式的参数μ0直接送入并行Chien搜索电路,等效于与α0做有限域乘法;将参数μ1、μ2、…μt分别与调整子αL、α2L、…αtL做有限域乘法后再送入并行Chien搜索电路,如此将跳过Chien搜索法需要空搜索的L个比特,直接从第L+1比特进行错误位置搜索。其硬件实现简单,搜索速度获得大幅提升。
E.所述支持预搜索的面积紧凑型BCH并行译码电路,采用多功能可配置数据接口,不需配置码长N,译码电路根据输入数据长度自行完成校验和纠错,码长N的取值范围在256比特,即32字节,和8184比特,即1023字节之间;且纠错位数t可分别配置为16、12、8、4比特。
同现有技术相比较,本发明“一种支持预搜索的面积紧凑型BCH并行译码电路”的技术效果在于:1.具有硬件复杂度低,电路面积紧凑,成本低廉。2.数据吞吐率高,错误地址搜索速度快。3.接口设计简单实用,功能齐全。4.根据校验元长度的需求,可灵活配置纠错性能,且不受码长变化的影响。
附图说明
图1是本发明的整体电路框图;
图2是本发明的有限域GF(213)上BCH译码器的伴随式校正子运算电路;
图3是本发明的有限域GF(213)上IBM错误位置多项式迭代运算的一轮多拍实现电路;
图4是本发明的采用全组合逻辑预搜索模块的错误地址搜索电路;
图5是本发明的多功能可配置数据接口框图;
图6是现有技术在有限域GF(2n)上的BCH译码IBM迭代运算电路;
附图1-5中“”表示有限域GF(213)上的加法,“”表示有限域GF(213)上的乘法;
附图6中“”表示有限域GF(2n)上的加法,“”表示有限域GF(2n)上的乘法。
具体实施方式
以下结合附图所示之优选实施例作进一步详述:
一种支持预搜索的面积紧凑型BCH并行译码电路,如图1至图5所示,工作在有限域GF(213)上,包括伴随式校正子运算电路1、错误位置多项式迭代电路2和错误地址搜索电路3;所述运算电路1借助伴随式校正子的8-bit并行运算电路4中双路选通器4-1至4-8完成输入端的有限域常系数乘法;所述迭代电路2借助IBM迭代运算的一轮多拍实现电路之2套多路选通器9和10,复用一个有限域GF(213)上的二输入乘法器11,在实现IBM迭代算法时,运行一轮迭代多拍运算;所述错误地址搜索电路3中则设置了全组合逻辑预搜索模块25;所述BCH并行译码电路为8-bit并行译码电路。
图1为其整体电路框图。图中各信号的功能描述如下:
A.输入信号
Clock:系统时钟输入;
Resetn:电路的异步复位端,低电平有效;
Restartn:电路的同步复位端,低电平有效;
In_enable:码字输入使能信号,高电平有效,与首个接收数据同步置“1”;
Input_end:码字输入截止使能信号,高电平有效,数据输入时保持低电平,与最后一个8-bit数据同步置“1”;
Search_next:搜索下一个错误,上升沿使能,使能后Chien搜索电路将脱离等待状态,继续搜索错误;
Ecc_mode[1:0]:纠错能力选择信号,2位信号分别表示四种纠错状态,即纠错位数可配置为16、12、8、4比特;
Data_in[7:0]:译码数据输入端口,共8位。
B.输出信号
Decode_done:译码结束指示信号,高电平有效,无误码时在数据输入完毕后置“1”,出错时在纠错完毕后置“1”,是内部连接信号Code_correct和Search_done的逻辑或输出;
Decode_error:超出纠错能力指示信号,高电平有效,当出错数超过纠错能力时,在纠错完毕后置“1”,否则保持为“0”电平;
Error_occur:误码发生指示信号,码字有误时置“1”,否则保持为“0”电平;
Error_searched:指示搜索到一个出错字节,高电平有效,有效后并行Chien搜索电路26暂停搜索,等待纠错处理完成,译码器收到Search_next高电平信号后,并行Chien搜索电路26开始继续搜索;
Error_address[9:0]:出错字节地址输出,每当Error_searched有效时输出错误字节地址,因为码长在256比特,即32字节,和8184比特,即1023字节之间可变,所以该信号具备10-bit最大位宽;
Error_data[7:0]:错误图样输出,每当Error_searched有效时输出错误字节内的错误图样。
C.内部连接信号
Code_correct:码字正确指示信号,高电平有效,由伴随式并行运算电路1发出;
Search_done:错误搜索完毕指示信号,高电平有效,由错误地址搜索电路3发出;
Code_length[9:0]:码长计数信号,取值在32字节和1023字节之间,由伴随式并行运算电路1发出,具有全组合逻辑预搜索模块25的错误地址搜索电路3收到后控制搜索范围;
IBM_enable:错误位置多项式迭代使能信号,高电平有效,在伴随式运算完毕后,由伴随式校正子运算电路1发送至错误位置多项式迭代运算的一轮多拍实现电路2;
Shift[12:0]:伴随式校正子移位信号,伴随式运算完毕后,在每个IBM迭代轮次开始时,从伴随式校正子运算电路1的寄存器组S中移出一个校正子Sj(j=1,2,...2t),送入错误位置多项式迭代运算的一轮多拍实现电路2的寄存器组T中;
μ0……μt:错误位置多项式各参数,位宽都为13-bit,在错误位置多项式迭代完成后保持,由错误位置多项式迭代运算的一轮多拍实现电路2发至具有全组合逻辑预搜索模块25的错误地址搜索电路3;
Search_enable:具有全组合逻辑预搜索模块25的错误地址搜索电路3使能信号,高电平有效,在错误位置多项式迭代完成后,由错误位置多项式迭代运算的一轮多拍实现电路2发至具有全组合逻辑预搜索模块25的错误地址搜索电路3;
Error_num[4:0]:错误数指示信号,在错误位置多项式迭代完成后给出错误数,由错误位置多项式迭代运算的一轮多拍实现电路2发至具有全组合逻辑预搜索模块25的错误地址搜索电路3。
图2为有限域GF(213)上的伴随式校正子运算电路,输入码字以8-bit并行方式进入电路,在一个时钟周期内8个支路①、②......⑧各输入1-bit数据。输入端采用1-bit变量与13-bit常量有限域乘法的双路选通实现结构4,将1-bit输入数据与GF(213)上的常量做有限域乘法。接收码字第RN-i比特与有限域常量α(i-8k)j的乘法为8路双路选通器4-1至4-8,其两个输入端分别为“0”和αmj(m=0,1,...7)。当接收比特RN-i=0(i=0,1,...N-1)时,“0”输入端选通,乘法结果为“0”;当接收比特RN-i=1时,常量αmj(m=0,1,...7)输入端选通,乘法结果为αmj。接着,8路乘法结果进入有限域加法器5,做异或操作。13-bit寄存器7在每个时钟节拍的上升沿到来时更新为上一拍的输入信号,其寄存数据进入有限域常量α8j乘法器8后,与有限域加法器5的结果再次进入异或单元6,作为下一时钟周期寄存器7的输出,如此每个节拍更新寄存器7,直到所有码字并行输入完毕。当纠错能力为t比特时,需要同时计算2t个校正子Sj(j∈[1,2t]),即2t个伴随式校正子运算电路,构成所述并行伴随式校正子运算电路1。
图3是有限域GF(213)上IBM错误位置多项式迭代运算的一轮多拍实现电路。针对IBM迭代算法,一轮多拍实现结构将状态机12与各选通单元的配置逻辑13相结合,通过控制单元14对多路选通器9和多路选通器10的配置来复用有限域GF(213)上的二输入乘法器11,配置信号分别为ctr1和ctr2,从而用多个时钟周期完成一轮的IBM算法迭代。如图3示,一轮IBM算法的迭代实现步骤如下:
(1)按照IBM迭代算法初始化各寄存器,分别将13-bit寄存器μ0、λ0置为“1”,13-bit寄存器23置为“1”,迭代轮次k=0,误码比特数L=0,其余寄存器全部清“0”。
(2)将校正子Sj按S1、S2、……S2t的顺序移出一个,移入到寄存器T0中,同时将原寄存器Ti(i=0,1,…,t-1)中的数据移动一次到Ti+1中,此时原寄存器Tt中的数据被Tt-1覆盖,如此2t个校正子需按2t个迭代轮次逐个移入寄存器T0...Tt中。
(3)控制单元14发出信号ctr5将反向多路选通器15的通路①打开并保持;同时发出信号ctr1和ctr2将多路选通器9从左至右依次选通,将多路选通器10从上至下依次选通。如此,在t+1个时钟周期中,对有限域GF(213)上的二输入乘法器11的复用顺序为:(T0μ0),(T1μ1),……(Ttμt)。
(4)迭代轮次k=k+1;若13-bit寄存器(18)的乘法累加信号Mout为“0”,则当前误码比特数L保持不变,否则L=k-L+1。
(5)在判断电路21中,若满足Mout=0或2L>k,则发出选通信号Ctr3控制双路选通器22更新13-bit寄存器23;发出信号Ctr4控制λ寄存器组的更新电路24,将t个双路选通器m0、m1……mt-1的通路②打开。若不满足Mout=0或2L>k,则配置选通信号Ctr4打开m0、m1……mt-1的通路①;同时,选通信号Ctr3控制双路选通器22使13-bit寄存器23保持原状态。
(6)信号Mout和Yout确定后,控制多路选通器9和多路选通器10,接着步骤(3)分别从左至右、从上至下继续做有限域乘法。乘法发生的顺序应为(λt-1Mout),(μtYout),(λt-2Mout),(μt-1Yout),……(λ0Mout),(μ1Yout),(μ0Yout)。
(7)步骤(6)第一个乘法(λt-1Mout)完成后,反向多路选通器15的通路②打开,由13-bit寄存器17暂存结果。
(8)第二个乘法(μtYout)完成后,反向多路选通器15的通路③打开,与寄存器17的暂存结果进入异或单元19。控制单元14的发出配置信号ctr6控制反向多路选通器20更新信号μt_next,并将信号μt_next存入寄存器μt中,同时将λ寄存器组更新电路24中的信号λt-1_next存入寄存器λt-1中。
(9)依此类推,将随后乘法(λt-2Mout)和(μt-1Yout)之结果分别更新到寄存器μt-1和λt-2中。
(10)最后一次乘法(μ0Yout)完成后,因为寄存器组λ已经更新完毕,所以13-bit寄存器17清零,反向多路选通器15的通路③打开,配合多路选通单元20得到信号μ0_next并存入寄存器μ0中。返回步骤(2),开始下一轮的IBM算法迭代。
待2t个校正子Sj(j∈[1,2t])全部移入电路并迭代2t轮后,错误位置多项式迭代运算的一轮多拍电路2工作完毕,此时寄存器μ0、μ1……μt即为错误位置多项式各参数,须送入具有全组合逻辑预搜索模块25的错误地址搜索电路3。
图4是具有全组合逻辑预搜索模块25的错误地址搜索电路,仍采用Chien搜索法。在并行Chien搜索电路26的参数输入端,加入了全组合逻辑预搜索模块25。对于错误位置多项式各参数μ0、μ1……μt,将μ0直接送入并行Chien搜索电路26,将错误位置多项式各参数μ1、μ2……μt与调整子αL、α2L、……αtL做有限域乘法后送入并行Chien搜索电路26,近而直接由第L+1比特开始Chien搜索。并行Chien搜索电路26根据实现代价的需求可选择8-bit或4-bit并行。
图5是译码器的多功能可配置数据接口框图,所述BCH码并行译码电路数据处理位宽为8-bit,不需配置码长N,译码电路根据输入数据长度自行改变信息码长K。无须改变电路,纠错位数t可分别配置为16、12、8、4比特。图中输入信号/输出信号的功能描述同图1输入信号/输出信号的功能。
所述伴随式校正子运算电路1,将二进制接收码字序列RN,RN-1…R0与13-bit有限域常量的乘法,变为1-bit变量与13-bit常量有限域乘法的双路选通实现结构4,降低了实现代价和电路的关键路径延迟。
所述错误位置多项式迭代运算的一轮多拍实现电路2,仅采用一个有限域GF(213)上的二输入乘法器11,电路复用率高,虽然迭代速度有所降低,而电路的实现面积得到大幅度压缩,比现有技术降低近60%;同时采用一轮迭代多拍运算,有助于降低电路中的关键路径延迟。
所述全组合逻辑预搜索模块的错误地址搜索电路3,采用全组合逻辑预搜索模块25。对于截去了L比特的BCH截短码,可直接从第L+1比特进行Chien搜索,其硬件实现简单,搜索速度获得大幅提升。
所述并行BCH码译码电路,采用多功能可配置数据接口27。不需配置码长N,译码电路根据输入数据长度自行完成校验与纠错,且无须改变电路,纠错位数t可分别配置为16、12、8、4比特。
采用所述方案设计的BCH码,具有硬件复杂度低,数据吞吐率高,接口设计简单实用,根据校验元长度的需求,可灵活配置纠错性能,且不受码长变化的影响。适合于低成本要求、高处理效率和纠错性能的差错控制系统,特别是大容量NandFlash存储系统中。
如果仅保留所述伴随式并行运算电路,可以仅用作BCH码校验;所述错误地址搜索电路是在有限域GF(213)上的,其中全组合逻辑预搜索模块还可应用于有限域GF(2n)上的BCH译码电路中,应用时数据位宽13调整为n。
本发明所述电路适合于纠随机误码的应用场合,在无线通信终端系统芯片、光纤通信接口芯片等产品中也具有较大的应用空间。
电路描述语言采用Verilog HDL,在Synopsys公司的VCS验证环境下进行了实验验证。采用BCH(4256,4152)码,当纠错能力配置为8比特时,对于4152比特即519字节的全“FF”信息元,得到的104比特即13字节校验元为:
104’h e1 b0 f7 86 79 8a a7 eb 34 ef 16 c8 30
译码输入为519字节信息元加13字节校验元,共532字节。将电路接口配置为8-bit纠错模式,故意造成8-bit的数据差错,其中第1字节的高4位连续出错,最后一个字节,即第532字节的低4位连续出错,即译码器输入:
4256’h 0f ff ff ff……ff e1 b0 f7 86 79 8a a7 eb 34 ef 16 c8 3f译码后输出为:错误1地址(Error_address[9:0]):10’h 000;错误1图样(Error_data[7:0]):8’h f0。错误2地址(Error_address[9:0]):10’h 213;错误2图样(Error_data[7:0]):8’h 0f。其中错误1是信息元出错,错误2为校验元出错,纠错功能完全正确。
Claims (6)
1.一种支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:所述并行译码电路工作在有限域GF(213)上,包括伴随式校正子运算电路(1)、错误位置多项式迭代电路(2)和错误地址搜索电路(3);所述运算电路(1)借助伴随式校正子的8-bit并行运算电路(4)中双路选通器(4-1)至(4-8)完成输入端的有限域常系数乘法;所述迭代电路(2)借助IBM迭代运算的一轮多拍实现电路之多路选通器(9,10),复用一个有限域GF(213)上的二输入乘法器(11),在实现IBM迭代算法时,运行一轮迭代多拍运算;所述错误地址搜索电路(3)中则设置了全组合逻辑预搜索模块(25);所述BCH并行译码电路为8-bit并行译码电路。
2.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:译码码字通过并行伴随式运算电路(1)得到2t个伴随式校正子Sj(j∈[1,2t]),然后控制IBM_enable使能信号使能错误位置多项式迭代电路(2),在每轮迭代前2t个校正子Sj(j∈[1,2t])按照从S2t至S1的方向移动一次,移出校正子通过shift[12:0]端口移入到错误位置多项式迭代电路(2)的Tj(j ∈[0,t])寄存器组中,且移入方向为T0到Tt,在2t轮迭代完成后错误位置多项式迭代电路(2)得到错误位置多项式各参数μ1、μ2……μt和错误数指示信号Error_num[4:0],此时Search_enable信号有效使能错误地址搜索电路(3),最后搜索出错误地址Error_address[9:0]和相应的错误图样Error_data[7:0]。
3.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:并行伴随式运算电路(1)的码字正确指示信号Code_correct和错误地址搜索电路(3)的错误搜索完毕指示信号Search_done做逻辑或,得到译码结束指示信号Decode_done信号;当码字输入完毕若无错,则Code_correct有效,同时Decode_done信号有效;若有错,则错误位置多项式迭代电路(2)和错误地址搜索电路(3)工作完毕后Search_done信号有效,同时Decode_done信号有效。
4.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:所述的错误位置多项式迭代电路(2),针对IBM迭代算法,一轮多拍实现结构将状态机(12)与各选通单元的配置逻辑(13)相结合,通过控制单元(14)对多路选通器(9,10)的配置来复用有限域GF(213)上的二输入乘法器(11),配置信号分别为ctr1和ctr2,从而用多个时钟周期完成一轮的IBM算法迭代;在一轮IBM迭代中,二输入乘法器(11)被复用3t+2次,复用由控制单元(14)对多路选通器9和多路选通器10的配置完成,且复用顺序符合:(T0μ0),(T1μ1),…(Ttμt),(λt-1Mout),(μtYout),(λt-2Mout),(μt-1Yout),…(μ0Mout),(μ1Yout),(μ0Yout),其中“”表示有限域GF(213)上的乘法运算。
5.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:在有限域GF(213)上,当使用截短码时,标准码长N=213-1被截短为N′;所述错误地址搜索电路(3)的全组合逻辑预搜索模块(25)中,对于t比特的纠错能力,全组合逻辑预搜索模块(25)分别将错误位置多项式各参数μ1、μ2、…μt与调整子αL、α2L、…αtL做有限域乘法后,跳过Chien搜索法需要空搜索的L个比特,直接从第L+1比特开始错误位置搜索。
6.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:采用多功能可配置数据接口(27),不需配置码长N,所述译码电路根据输入数据长度自行译码纠错,码长N的取值范围在256比特,即32字节,和8184比特,即1023字节之间;无须改变电路,纠错位数t可分别配置为16、12、8、4比特。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710123852XA CN101252361B (zh) | 2007-10-11 | 2007-10-11 | 一种支持预搜索的面积紧凑型bch并行译码电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710123852XA CN101252361B (zh) | 2007-10-11 | 2007-10-11 | 一种支持预搜索的面积紧凑型bch并行译码电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101252361A true CN101252361A (zh) | 2008-08-27 |
CN101252361B CN101252361B (zh) | 2011-12-21 |
Family
ID=39955563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710123852XA Active CN101252361B (zh) | 2007-10-11 | 2007-10-11 | 一种支持预搜索的面积紧凑型bch并行译码电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101252361B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594370A (zh) * | 2012-02-27 | 2012-07-18 | 成都国微电子有限公司 | 一种高效低延时并行钱搜索方法和装置 |
CN102761340A (zh) * | 2012-08-10 | 2012-10-31 | 济南微晶电子技术有限公司 | 一种bch并行编码电路 |
CN103138770A (zh) * | 2010-01-12 | 2013-06-05 | 北京忆恒创源科技有限公司 | 有限域平方计算电路 |
CN101931415B (zh) * | 2009-06-19 | 2014-04-30 | 成都市华为赛门铁克科技有限公司 | 编码装置及方法、译码装置及方法和纠错系统 |
CN105049062A (zh) * | 2014-04-18 | 2015-11-11 | 株式会社东芝 | 钱式搜索装置、存储装置以及钱式搜索方法 |
CN105553485A (zh) * | 2015-12-08 | 2016-05-04 | 西安电子科技大学 | 基于fpga的bch编解码装置及其编解码方法 |
CN105741880A (zh) * | 2014-12-10 | 2016-07-06 | 上海华虹集成电路有限责任公司 | Sim卡装置及用于sim卡的ecc纠错模块 |
CN103929211B (zh) * | 2014-04-30 | 2017-02-15 | 中国科学院微电子研究所 | 一种bch编码方案自适应调整方法及系统 |
CN106549677A (zh) * | 2016-08-28 | 2017-03-29 | 航天恒星科技有限公司 | 高速并行bch码译码方法及装置 |
CN106961283A (zh) * | 2017-03-31 | 2017-07-18 | 山东超越数控电子有限公司 | 一种基于bch译码器的ibm算法的优化方法 |
CN107040333A (zh) * | 2016-02-03 | 2017-08-11 | 富士施乐株式会社 | 解码装置、信息传输系统和解码方法 |
CN108847851A (zh) * | 2018-06-08 | 2018-11-20 | 山东超越数控电子股份有限公司 | 一种二元bch码伴随式矩阵的实现方法 |
CN111627481A (zh) * | 2020-05-20 | 2020-09-04 | 中国科学院微电子研究所 | 一种字线译码电路、字线选通方法及存储器和电子设备 |
CN111835494A (zh) * | 2020-07-23 | 2020-10-27 | 深圳市龙信信息技术有限公司 | 一种多通道的网络数据传输系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561005B (zh) * | 2004-02-20 | 2010-12-08 | 汇智系统股份有限公司 | 快速纠双错bch码译码器 |
CN100440738C (zh) * | 2005-12-16 | 2008-12-03 | 北京中星微电子有限公司 | BCH编码中Galois扩域运算的快速实现方法 |
-
2007
- 2007-10-11 CN CN200710123852XA patent/CN101252361B/zh active Active
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931415B (zh) * | 2009-06-19 | 2014-04-30 | 成都市华为赛门铁克科技有限公司 | 编码装置及方法、译码装置及方法和纠错系统 |
CN103138770A (zh) * | 2010-01-12 | 2013-06-05 | 北京忆恒创源科技有限公司 | 有限域平方计算电路 |
CN102594370A (zh) * | 2012-02-27 | 2012-07-18 | 成都国微电子有限公司 | 一种高效低延时并行钱搜索方法和装置 |
CN102761340A (zh) * | 2012-08-10 | 2012-10-31 | 济南微晶电子技术有限公司 | 一种bch并行编码电路 |
CN102761340B (zh) * | 2012-08-10 | 2015-04-01 | 济南大学 | 一种bch并行编码电路 |
CN105049062A (zh) * | 2014-04-18 | 2015-11-11 | 株式会社东芝 | 钱式搜索装置、存储装置以及钱式搜索方法 |
CN105049062B (zh) * | 2014-04-18 | 2018-12-11 | 株式会社东芝 | 钱式搜索装置、存储装置以及钱式搜索方法 |
CN103929211B (zh) * | 2014-04-30 | 2017-02-15 | 中国科学院微电子研究所 | 一种bch编码方案自适应调整方法及系统 |
CN105741880A (zh) * | 2014-12-10 | 2016-07-06 | 上海华虹集成电路有限责任公司 | Sim卡装置及用于sim卡的ecc纠错模块 |
CN105553485A (zh) * | 2015-12-08 | 2016-05-04 | 西安电子科技大学 | 基于fpga的bch编解码装置及其编解码方法 |
CN105553485B (zh) * | 2015-12-08 | 2019-03-29 | 西安电子科技大学 | 基于fpga的bch编解码装置及其编解码方法 |
CN107040333B (zh) * | 2016-02-03 | 2021-04-13 | 富士施乐株式会社 | 解码装置、信息传输系统和解码方法 |
CN107040333A (zh) * | 2016-02-03 | 2017-08-11 | 富士施乐株式会社 | 解码装置、信息传输系统和解码方法 |
CN106549677B (zh) * | 2016-08-28 | 2019-10-25 | 航天恒星科技有限公司 | 高速并行bch码译码方法及装置 |
CN106549677A (zh) * | 2016-08-28 | 2017-03-29 | 航天恒星科技有限公司 | 高速并行bch码译码方法及装置 |
CN106961283A (zh) * | 2017-03-31 | 2017-07-18 | 山东超越数控电子有限公司 | 一种基于bch译码器的ibm算法的优化方法 |
CN108847851A (zh) * | 2018-06-08 | 2018-11-20 | 山东超越数控电子股份有限公司 | 一种二元bch码伴随式矩阵的实现方法 |
CN108847851B (zh) * | 2018-06-08 | 2022-03-22 | 超越科技股份有限公司 | 一种二元bch码伴随式矩阵的实现方法 |
CN111627481A (zh) * | 2020-05-20 | 2020-09-04 | 中国科学院微电子研究所 | 一种字线译码电路、字线选通方法及存储器和电子设备 |
CN111627481B (zh) * | 2020-05-20 | 2022-02-01 | 中国科学院微电子研究所 | 一种字线译码电路、字线选通方法及存储器和电子设备 |
CN111835494A (zh) * | 2020-07-23 | 2020-10-27 | 深圳市龙信信息技术有限公司 | 一种多通道的网络数据传输系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101252361B (zh) | 2011-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101252361B (zh) | 一种支持预搜索的面积紧凑型bch并行译码电路 | |
Lee | High-speed VLSI architecture for parallel Reed-Solomon decoder | |
US4845713A (en) | Method and apparatus for determining the coefficients of a locator polynomial | |
US5440570A (en) | Real-time binary BCH decoder | |
US5107503A (en) | High bandwidth reed-solomon encoding, decoding and error correcting circuit | |
US5951677A (en) | Efficient hardware implementation of euclidean array processing in reed-solomon decoding | |
US5130990A (en) | VLSI architecture for a Reed-Solomon decoder | |
CN102771074A (zh) | 用于通信系统中错误检测的方法及设备 | |
CN101227194A (zh) | 用于并行bch编码的电路、编码器及方法 | |
US11870459B2 (en) | Universal guessing random additive noise decoding (GRAND) decoder | |
KR100260415B1 (ko) | 고속시리얼에러위치다항식계산회로 | |
US10763895B2 (en) | Circuitry and method for dual mode reed-solomon-forward error correction decoder | |
CN101488762B (zh) | 一种面积紧凑且快速的bch并行译码方法 | |
CN101964664B (zh) | 一种适用于CMMB的多模式Reed-Solomon译码器结构 | |
Chen et al. | Area efficient parallel decoder architecture for long BCH codes | |
CN101702625A (zh) | 基于rs(255,239)算法的光通信实时纠错电路 | |
CN112468160A (zh) | 一种基于钱搜索算法和福尼算法的并行电路 | |
KR19990026630A (ko) | 리드-솔로몬 복호기와 그 복호방법 | |
CN103916138B (zh) | 一种钱搜索电路及基于该钱搜索电路的ecc解码装置及方法 | |
KR100756424B1 (ko) | 파이프라인 재귀적인 기술을 이용한 면적 효율적인 리드솔로몬 복호기 | |
US8156411B2 (en) | Error correction of an encoded message | |
Park et al. | High-speed low-complexity Reed-Solomon decoder using pipelined Berlekamp-Massey algorithm and its folded architecture | |
CN113300717B (zh) | 一种基于码率自适应的高效化ldpc编码器电路 | |
US11489544B2 (en) | Fast CRC computation circuit using an on-the-fly reconfigurable generator polynomial | |
Hui et al. | Design and Implementation of RS (1023, 847) Parallel Decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |