一种用于NANDflash的BCH纠错码的电路结构制造技术

技术编号:15437074 阅读:132 留言:0更新日期:2017-05-25 19:16
该发明专利技术公开了一种用于NAND flash的BCH纠错码的电路结构,涉及存储系统,尤指一种纠错电路,用于NAND flash存储数据时检错纠错,包括:BCH并行编码部分、BCH并行解码部分。并行解码部分包括并行伴随式计算电路,错误位置多项式计算电路,并行搜索求根计算电路;对各个硬件电路进行模块化设计,并且进行八位并行数据处理,不仅能够满足快速编码和解码达到快速纠错检错的目的,采用八位并行还能够使该纠错电路挂接在总线上,使NAND flash与总线互连,具有一定的扩展性。该纠错电路能够符合NAND flash读写操作要求,牺牲部分读写效率和存储空间,具有速度快、成本低、吞吐率高和扩展性好等优点。

A circuit structure of BCH error correcting code for NANDflash

The invention discloses a circuit structure for BCH NAND flash error correcting codes, especially relates to storage system, an error correction circuit, NAND flash when storing data for error detection and correction: BCH, including parallel encoding part, parallel decoding part BCH. Parallel decoding includes parallel with computing circuit, error location polynomial calculation circuit, parallel search root calculation circuit; modular design of the hardware circuit, and eight bit parallel data processing, can not only meet the fast encoding and decoding to achieve fast error detection and correction to the eight bit parallel can also make the error correction circuit hanging on the bus, the NAND and flash bus, with a certain degree of scalability. The error correction circuit can meet the NAND FLASH read and write operation requirements, sacrifice part of read-write efficiency and storage space, has the advantages of high speed, low cost, high throughput and good scalability.

【技术实现步骤摘要】
一种用于NANDflash的BCH纠错码的电路结构
本专利技术属于存储
,特别是涉及NANDflash存储数据时容易发生比特流翻转的情况,针对此种情况提出每进行NANDflash页写入4096bits时,进行并行编码处理,生108bits的校验位,取出数据时完成并行解码处理,实现检错纠错功能,该电路结构能够实现4096bits中最高纠8bits错误。
技术介绍
近年来基于闪存技术的存储设备,因为其容量大,成本低廉的优点而广受欢迎。在闪存存储领域,NANDflash存储器件由于具有容量大成本低的显著优势,从而被频繁的使用为存储介质。作为闪存的物理结构使其有固定的几率发生错误,而且大多数现有的存储器件并没有集成纠错算法,因而需要纠错码技术使得信息安全可靠的存储。BCH纠错码因为具有优良的纠错能力和规则的实现方法,在闪存存储结构中的得到广泛应用。纠错码是一种在传输过程中发生错误在接收端能够自行发现和纠正的码。为了使一种码具有纠错能力,必须对原码字增加多余的码元,即把原码元按照一定的规则变成一种具有校验位的码字,这种关系的建立称为编码。码字到达接收端可以根据编码规则是否满足来判断是否有错,当不能满足时,按照一定的规则检测出错误所在的位置并给予纠正,这就是解码。BCH纠错码是一类重要的纠错码,属于线性分组码的一种。它将每k个信息码元分为一组进行独立的编码,变成长度为n(n>k)的码组,多出来的n-k个信息元被称为监督码元,编码可以表示为[n,k],解码过程与编码过程相反,把长度为n的码组进行解码变为k个信息码元。由于本专利技术应用于NANDflash存储领域,信息码元为4096位,监督码元为104位,纠错能力最高为8bits,本专利技术重点研究的是具有该纠错能力的BCH的编码和解码电路结构。
技术实现思路
针对
技术介绍
中NANDflash存取数据时容易发生比特流的翻转,而现有的存储器大多数都没有集成纠错算法的特点,设计了一种具有特定纠错能力的纠错电路,具体包括编码电路和解码电路,从而使NANDflash存储数据时达到特定的纠错能力。该纠错电路采用并行编码和解码设计,该电路具有速度快,成本低,纠错能力强,效率高等特点。本专利技术的技术方案是一种应用于NANDflash的具有特定纠错能力的BCH纠错电路结构,该纠错电路结合了并行编码和解码优点,可以为NANDflash读取数据提供快速的纠错检错。该纠错电路包括:具有八位并行编码电路、具有八位并行的解码电路。其中由于事先研究过BCH特定的构码规则,所以编码模块直接就是一个单独的并行编码电路。解码模块包括八位并行的伴随式计算电路,错误位置多项式计算电路,钱搜索求根电路。并行编码电路根据生成多项式构建的。解码模块中的伴随式计算电路是将接收到的码字计算出对应的伴随式,并根据伴随式判断接收码字有无错误发生。若存在伴随式不为零的情况,则说明有错误发生,则根据伴随式求得错误位置多项式。根据错误位置多项式,求解错误位置的根,得到错误位置,并进行纠错改正,最终得到正确的码字。下面简单介绍BCH码的基本原理和构建编码解码的一些方法。BCH码是一种线性分组码,所谓分组码是将信元拆分为一个一个的分组分别进行处理和编码,将每k个信息码元分为一组进行独立的编码,变成长度为n(n>k)的码组,多出来的n-k个信息元被称为校验码,编码可以表示为[n,k]。线性分组码是指信息码元与校验码之间满足线性关系的特殊分组码。定义一个线性分组码的信息序列为M,生成矩阵为G,校验矩阵为H,码字为C,接收码字为R,伴随式为S,其中生成矩阵和校验矩阵关系为:GHT=0(n-k)*k,编码方式为信息序列与生成矩阵的乘积得到编码后的码字:M1*(n-k)G(n-k)*n=C1*n,译码时接收码字与校验矩阵得到伴随式:R1*nHT=S1*k,再根据伴随式计算错误位置和求解错误位置的根,达到纠错的目的。同时BCH码也是一种系统循环码,一个码的码字经过循环移位之后仍然是一个码字,这种码字称为循环码,要构造一个[n,k]循环码,就是找一个能够除尽的n-k次生成多项式g(x),该多项式满足对于任意一个次数小于等于k-1的多项式m(x),都能满足:C(x)=m(x)g(x),这里的C(x)为码字多项式,m(x)信息码元多项式。对于BCH码而言,进行编码的关键问题是求解校验码的问题,对于校验码的求解相当于将信息码元多项式m(x)乘以xn-k,然后对g(x)求余式的问题,这个在电路里面可以用移位寄存器和异或门来实现。类似的解码过程相当于将接收到的码字多项式r(x)除以生成多项式g(x)的余式就是伴随式r(x),根据对伴随式的计算求得错误位置多项式,并求解错误位置的根,最后达到纠错的目的。接下来具体介绍BCH码的一些规则,尤其是生成多项式的生成原理。BCH码的涉及到二进制有限域里面的运算,对于BCH码的具体定义如下:对于一个取自GF(2)上的循环码,定义一个扩域,若这个码的生成多项式g(x)在上存在p-1个连续根,则这个码被称为BCH码。BCH码的运算都在有限域的扩域上,下面主要介绍有限域里面的一些概念:1、有限域元素:在有限域GF(2m)上,0,α0,α1,α2,α3,……,α2m-1称为有限域GF(2m)中的2m个元素,本次专利技术中m取13。2、有限域共轭根元素:对具有某种共同特性的有限域元素归纳为有限域共轭根集,αi,(αi)2,(αi)3,(αi)4,……(αi)m就是一组共轭根元素,本次专利技术m取13,i的取值1,3,5,7……15。3、最小多项式:以有限域共轭集αi为根的GF(2m)上的次数最低的不可约多项式mi(x)称为αi的最小多项式,求最小多项式的方法一般采用待定系数法。4、生成多项式:一个能够纠正t个错误的BCH码的生成多项式的基本方法是求出2t个最小多项式的最小公倍式,由于αi与α2i属于同一个共轭根集,有相同的最小多项式,所以生成多项式可以化简为求t个最小多项式的乘积,本次专利技术t取8。总结下生成多项式的生成具体步骤,首先,根据预计的码元长度确定需要使用的有限域,若期望本原BCH码元长度为2m-1则选定扩域为GF(2m);其次,通过查询表获得m次的本原多项式,并根据本原多项式计算出2m个有限域元素和相应的有限域共轭集;最后,根据共轭根集求出t个最小多项式,并计算乘积求得生成多项式g(x),g(x)的最高次数为最多为m*t。最后得到的生成多项式会用在我们的编码和解码上。需要的BCH码为[4200,4096]码,该码是一个[8191,8087]码的缩短码,拥有同样的生成多项式,只是将信息码元截短为4096bit即可,故m取13即可。当m=13时,本原多项式,最小多项式和生成多项式分别如下所示:f(x)=x13+x4+x3+x+1m1(x)=x13+x4+x3+x1+x0,m3(x)=x13+x10+x9+x7+x5+x4+x0m5(x)=x13+x11+x8+x7+x4+x1+x0,m7(x)=x13+x10+x9+x8+x6+x3+x2+x1+x0m9(x)=x13+x12+x8+x7+x6+x5+x0,m11(x)=x13+x9+x8+x7+x5+x1+x0m13(x)=x13+x12+x6+x5+x4+x本文档来自技高网
...
一种用于NANDflash的BCH纠错码的电路结构

【技术保护点】
一种用于NAND flash的BCH纠错码的电路结构,该电路结构包括:BCH并行编码部分和BCH并行解码部分,其中并行解码部分包括并行伴随式计算电路,错误位置多项式计算电路,并行钱搜索求根电路。

【技术特征摘要】
1.一种用于NANDflash的BCH纠错码的电路结构,该电路结构包括:BCH并行编码部分和BCH并行解码部分,其中并行解码部分包括并行伴随式计算电路,错误位置多项式计算电路,并行钱搜索求根电路。2.其中BCH并行编码电路是在传统的串行编码电路基础上提出的一种新的电路结构,该电路结构简单,每个周期并行处理8位数据,能够实现快速并行编码,效率较高。3.并行解码部分的并行伴随式计算电路在串行计算的基础上做了些改进,采用循...

【专利技术属性】
技术研发人员:王忆文蓝武张宗森
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

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

1