BCH预搜索电路及BCH解码电路制造技术

技术编号:15044756 阅读:130 留言:0更新日期:2017-04-05 17:28
本实用新型专利技术提供一种BCH预搜索电路及BCH解码电路,该BCH预搜索电路包括空搜索码长计算电路,根据BCH标准码长及BCH截短码长计算空搜索码长;首个调整因子计算电路,具有第一有限域乘法器,应用空搜索码长数值的每一位数值与调整常数计算首个调整因子;后续调整因子计算电路,具有第二有限域乘法器,根据首个调整因子计算多个后续调整因子;错误位置多项式乘法电路,具有第三有限域乘法器,将错误位置多项式的各项分别乘以对应的首个调整因子或后续调整因子。BCH解码电路具有上述的BCH预搜索电路。本实用新型专利技术可以大大减小BCH解码电路的芯片的面积。

【技术实现步骤摘要】

本技术涉及BCH纠错编码译码领域,具体地,是提供一种BCH预搜索电路以及能够对任意码长的BCH截短码进行预搜索的BCH解码电路。
技术介绍
在NandFlash等大容量存储设备的控制芯片中,当数据写入存储单元时可能发生写入错误或者读取错误的情况,例如,某一位数据应该是二进制数“0”,写入存储单元时被错误写成二进制数“1”。为了避免写入或者读出错误的数据,需要对数据进行校验,通常的做法是写入数据后,人为地写入一部分冗余数据用于差错控制,以保证数据读出时能进行误码检测和校正。BCH纠错码是一种通常用于纠正随机差错的循环校验码,该校验码由R.C.Bose、D.K.Chaudhuri和A.Hocquenghem共同提出,它是一种具有严格的代数结构、纠错能力强、构造简单、编码较其它码容易等特点的线性分组码。使用二进制BCH纠错码进行纠错时,通常需要使用解码器对已经译码的码字进行解码。假设BCH纠错码可以纠正的随机错误的个数为t个,则解码时,首先根据接收到的码字R(X)计算出伴随式S1~S2t,然后根据伴随式S1~S2t计算出错误位置多项式σ(x),计算错误位置多项式通常使用IBM迭代算法获得。接着,使用有限域GF(2n)上的截短码时,如果截短码的长度为K(K<2n-1),则需要将错误位置多项式σ(x)的各项预先乘以对应的调整因子αL、α2L、α3L…αtL,从而进行预搜索,以跳过Lbit(L=2n-1-K)不需要搜索的位置来缩短钱氏搜索的运算时间。然后,应用钱氏搜索(ChienSearch)求解错误位置多项式σ(x)的根,从而求解出错误位置。最后,根据错误位置,对原数据取反。这样就可以将错误位置上的数据修改为正确的数据,实现纠错。由于在将错误位置多项式σ(x)的各项预先乘以对应的调整因子αL、α2L、α3L…αtL的步骤中,现有的方法通常是采用纯组合逻辑一次完成所有αL~αtL的有限域乘法实现,例如公开号为CN101252361A的中国专利技术专利申请公开了名为“一种支持预搜索的面积紧凑型BCH并行译码电路”的专利技术创造,该方法就是将错误位置多项式σ(x)的各项一次性乘以对应的调整因子αL、α2L、α3L…αtL,因此需要使用t个常数乘法器来完成。而且,缩短码码长L不同时,需要再存储t个不同的系数,如果有y种缩短码码长L,那么总共需要存储的系数数量会高达y×t个。然而,目前Flash等大容量存储设备中,BCH纠错码需要纠正的位数t通常大于70,导致纯组合逻辑一次完成所有有限域乘法的电路非常庞大。而且为了适应各种不同的flash的纠错需求,需要纠正的位数t会不相同,数据长度也会不相同,因此通常需要支持上百种不同的缩短码码长L,那么调整因子的数量将会超过7000个。但是,由于芯片的面积是有限的,不可能将所有不同码长的调整因子αL~αtL都存储在芯片中,这导致BCH解码器只能对有限的几种码长进行预搜索,严重影响BCH解码器的解码速度。
技术实现思路
本技术的第一目的是提供一种在有限域GF(2n)时只需存储n个调整常数的能够对任意位数进行纠错的BCH解码电路的预搜索电路。本技术的第二目的是提供一种在有限域GF(2n)时只需存储n个调整常数的不会占用大量芯片的面积存储调整因子的BCH解码电路。为了实现上述的第一目的,本技术提供的BCH预搜索电路包括空搜索码长计算电路,根据BCH标准码长及BCH截短码长计算空搜索码长;首个调整因子计算电路,具有第一有限域乘法器,应用空搜索码长数值的每一位数值与调整常数计算首个调整因子;后续调整因子计算电路,具有第二有限域乘法器,根据首个调整因子计算多个后续调整因子;错误位置多项式乘法电路,具有第三有限域乘法器,将错误位置多项式的各项分别乘以对应的首个调整因子或后续调整因子。由上述方案可见,由于首个调整因子以及多个后续调整因子并不是预先存储在芯片内,而是通过调整常数计算得到,因此BCH预搜索电路不需要使用大量的芯片面积存储大量的调整因子。并且,由于调整因子是计算得到,因此BCH预搜索电路可以对任意码长的BCH截短码进行预搜索,使BCH解码电路应用范围更广。一个优选的方案是,BCH预搜索电路还包括调整因子寄存器,用于存储计算获得的调整因子。由上可见,将计算获得的多个调整因子预先存储在寄存器内,可以方便后续的计算。为实现上述的第二目的,本技术提供的BCH解码电路包括错误位置多项式计算电路,接收伴随式,并具有多个有限域乘法器,用于计算错误位置多项式;预搜索电路,接收错误位置多项式的各项的值;错误地址计算电路,接收预搜索电路输出的数值,并且计算错误地址;纠正电路,用于将错误位置的数据取反;其中,预搜索电路包括:空搜索码长计算电路,根据BCH标准码长及BCH截短码长计算空搜索码长;首个调整因子计算电路,应用空搜索码长数值的每一位数值与调整常数计算首个调整因子;后续调整因子计算电路,根据首个调整因子计算多个后续调整因子;错误位置多项式乘法电路,将错误位置多项式的各项分别乘以对应的首个调整因子或后续调整因子。由上述方案可见,BCH解码电路使用调整常数计算多个调整因子,也就是不需要预先将不同截短码对应的调整因子存储在芯片中,又因为调整常数的数量在有限域GF(2n)时只有n个,一般n小于等于14个,远远小于
技术介绍
中提及的支持多个不同截短码长的调整因子的数量,因此可以大大节省存储调整因子的存储空间,从而让BCH解码电路适应不同截短码码长进行预搜索的场合。一个优选的方案是,预搜索电路复用错误位置多项式计算电路的多个有限域乘法器。由此可见,通过复用有限域乘法器可以大大节省芯片的面积,并且不会过多增加运算时间,有利于减少BCH解码电路的面积、降低BCH解码电路的生产成本。附图说明图1是本技术BCH解码电路实施例的结构框图。图2是本技术BCH预搜索电路实施例的结构框图。图3是本技术BCH预搜索电路实施例的结构原理图。图4是应用本技术BCH纠错电路实施例实现纠错的的流程图。以下结合附图及实施例对本技术作进一步说明。具体实施方式本技术的BCH纠错方法是基于BCH截短码进行预搜索实现纠错的方法。本技术的方法能够对任意码长的BCH截短码进行预搜索并且实现纠错,因此BCH解码电路设置有BCH预搜索电路。参见图1,本技术的BCH解码电路具有错误位置多项式计算电路10、预搜索电路20、错误地址计算电路30以及纠错电路40、有限域乘法器阵列50。错误位置多项式计算电路10接收由码字R(X)计算出来的伴随式S1~S2t,并根据伴随式S1~S2t计算出错误位置多项式σ(x)。通常,错误位置多项式计算电路10应用大量有限域乘法器实现错误位置多项式的计算,如使用常见的IBM迭代算法计算错误位置多项式σ(x)的各项u0、u1、u2…ut,并且将错误位置多项式σ(x)的各项u0、u1、u2…ut的值输出至预搜索电路20。预搜索电路20根据错误位置多项式σ(x)的各项u0、u1、u2…ut的值分别乘以对应的调整因子,获得预搜索结果。预搜索电路的实现方式如图2所示,预搜索电路20设有空搜索码长计算电路21、首个调整因子计算电路22、后续调整因子计算电路23以及错误位置多项式乘法电路本文档来自技高网
...
BCH预搜索电路及BCH解码电路

【技术保护点】
BCH预搜索电路,其特征在于,包括:空搜索码长计算电路,根据BCH标准码长及BCH截短码长计算空搜索码长;首个调整因子计算电路,具有第一有限域乘法器,应用空搜索码长数值的每一位数值与调整常数计算首个调整因子;后续调整因子计算电路,具有第二有限域乘法器,根据所述首个调整因子计算多个后续调整因子;错误位置多项式乘法电路,具有第三有限域乘法器,将错误位置多项式的各项分别乘以对应的所述首个调整因子或所述后续调整因子。

【技术特征摘要】
1.BCH预搜索电路,其特征在于,包括:空搜索码长计算电路,根据BCH标准码长及BCH截短码长计算空搜索码长;首个调整因子计算电路,具有第一有限域乘法器,应用空搜索码长数值的每一位数值与调整常数计算首个调整因子;后续调整因子计算电路,具有第二有限域乘法器,根据所述首个调整因子计算多个后续调整因子;错误位置多项式乘法电路,具有第三有限域乘法器,将错误位置多项式的各项分别乘以对应的所述首个调整因子或所述后续调整因子。2.根据权利要求1所述的BCH预搜索电路,其特征在于:还包括调整因子寄存器,用于存储计算获得的所述调整因子。3.BCH解码电路,包括:错误位置多项式计算电路,接收伴随式,并具有多个有限域乘法器,用于计算错误位置多项式;预搜索电路,接收所述错误位置多项式的各项的值;错误...

【专利技术属性】
技术研发人员:陈文捷
申请(专利权)人:建荣集成电路科技珠海有限公司
类型:新型
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1