一种高效BCH解码纠错电路制造技术

技术编号:4132308 阅读:212 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种高效BCH解码纠错电路,包括依次连接的搜索电路、错误样本存储电路、错误检测电路、纠错电路;其中,搜索电路搜索外部信息数据存储器中的错误,错误样本存储电路用于存储搜索到的数据的错误样本,错误检测电路用于检测错误样本存储电路中存储错误样本是否标志数据中存在的错误,纠错电路用于纠正外部信息数据存储器中的错误。本发明专利技术用来存储错误样本的存储器相较传统做法大大减少,节省了资源;同时由于资源的减少,系统功耗也随之降低;由于发明专利技术电路中采用实时纠错的思想,减小了BCH解码的时间,提高的闪存读取速度。

【技术实现步骤摘要】

本专利技术涉及纠错电路,特别是一种高效BCH解码纠错电路。
技术介绍
BCH码是循环码中的一个重要子类,能纠正多个随机错误。BCH码是目前研究最为 透彻,代数理论最为严密的循环纠错码,广泛应用于存储以及通信等对信息正确性要求较 高的系统中。 在存储系统应用中,数据写入闪存的同时,进行BCH编码,产生一组校验位,该校 验位的长度由BCH的码长和纠错能力决定。将设计定义的单位长度(如1024字节)数据 写入闪存以后,需要将对应的校验位写入闪存,从而得到了一组完整的BCH码。从闪存中读 出数据时,需要将数据和校验位同时读出,通过BCH解码器解码输出数据(读取操作时,校 验位不需要输出;回写闪存操作时,需要将校验位一并写入闪存)。在BCH解码过程中,BCH 解码器可以纠正在设计的BCH码纠错能力范围以内的错误。 现有技术中,从闪存中读取数据时,需要经过BCH解码纠错之后,才会送出或者回 写闪存中(copy-back)。由于BCH算法要求,从闪存中读出的数据(单位长度信息数据+对 应校验位)需要暂存于存储装置中,如SRAM。通过计算伴随式之后,方可判断该数据(单位 信息长度数据+对应校验位)是否有错误发生。若有错,还需要进一步寻找错误发生的位 置。由于BCH是针对二进制数据的,所以BCH的错误值一定是1。找到错误位置之后,很容 易将对应错误位置的错误数据修改为正确数据。 由于待纠错数据会在计算伴随式和纠正错误数据时使用,而计算伴随式和纠错数 据不是发生在同一时刻,所以待纠错数据必须要从闪存中读出来并做相应的临时存储。存 储装置每个的大小为单位长度信息数据加校验位数据的大小。例如1024字节的信息位, 对应24位随机错误的纠错能力就有42字节的校验位。所以,一块存储装置的大小为1066字节。 但是,在BCH解码过程中,若是回写闪存操作(copy-back),则需要连续从闪存中 读出一页的数据,通过BCH解码纠错之后,再将整页数据重新写回闪存。通常不同型号的闪 存对应不同的页面存储大小。假设以最大页面存储大小为16K字节的闪存为考虑对象,由 于回写操作必须要等一页数据完全从闪存读出以后经过纠错才可以回写到闪存中,所以需 要外部提供16个单位存储器(如上述中的1066字节的SRAM)来存储单位信息数据和对应 的校验位数据,此时信息数据和校验位数据均会回写往闪存中。 针对闪存回写操作,现有技术存在以下问题 1.在纠错的时候,现有处理方法是搜索错误位置时,将错误位置和错误值(BCH 中,错误值恒为1)计算出来,并把错误位置和错误样本值一一保存起来;完成搜索后,将数 据存储装置中对应错误位置的数据根据错误值一一修改;错误越多,修改错误需要消耗的 时间越多;设计纠错能力越强,每一个保存错误位置和错误样本的存储电路(下文简称错 误样本存储电路)就越大。页面存储量越大,错误样本存储电路的个数越多。以最大页面4解码器中需要16个错误位置存储电路,其中,每一个错误 位置存储电路的大小由BCH的纠错能力和码长决定。以1K字节的信息数据,纠错能力为24 比特为例,BCH解码器所需错误位置存储电路的大小如图1-3所示。解码完整页中(以页 面存储大小为16K为例)所有信息数据和校验位数据之后,直接存储器访问设备(DMA)将 存储装置中的已解码的整页数据(16K)信息数据重新写回闪存。 2.现有技术基于先搜索再纠错的思想,如图7所示,计算完单位信息数据中(1K)所有错误位置后,将从存有该笔信息数据和校验位的存储器中对应错误位置读出待纠错数 据,改正之后再写回存储器中,例如纠错能力为24,需要用48个周期修改错误。这样不仅需要额外的寄存器对错误位置进行存储,还需要频繁的对存储器进行读写,增加了系统资源 和功耗。
技术实现思路
本专利技术为了解决上述技术问题,提供了一种高效BCH解码纠错电路,该电路功耗小,速度快,资源少。 本专利技术的技术方案如下 —种高效BCH解码纠错电路,其特征在于包括依次连接的搜索电路、错误样本存 储电路、错误检测电路、纠错电路;其中,搜索电路搜索检测外部信息数据存储器中的错误, 错误样本存储电路用于存储搜索到的外部信息数据存储器中地址M的NXp位数据和地址 M+l的NXp位数据的错误样本;当搜索电路搜索检测外部信息数据存储器中地址M+1的 NXp位数据时,错误检测电路用于检测外部信息数据存储器中已搜索过地址M的NXp位数 据是否有错,纠错电路用于实时纠正外部信息数据存储器中地址M的NXp位数据的错误; 其中,M > 0。本专利技术的具体流程如下 A、首先初始化错误样本存储电路; B、搜索电路对外部信息数据存储器中数据进行搜索检错(检测错误原理由BCH的 算法本身决定),每个时钟周期搜索一次,每次同时搜索P位,P的取值可以根据芯片面积和 速度的考虑来衡量选择,P越大,BCH解码器面积越大;所述搜索过程不会因为后面的纠错 步骤而暂停,会一直搜索至当前外部信息数据存储器(一般有多个同样大小的外部信息数 据存储器)中的所有数据(单位长度信息数据+对应校验位)已经被搜索完毕为止; C、每搜索完p位数据,搜索电路计算出来的错误样本将被保存到错误样本存储电 路中,并标记所述错误样本存储电路被占用;在这个步骤中,错误样本的值(P位)如果全部 为O,则表示当前搜索的p位数据正确,否则表示当前搜索的p位数据有错误发生; D、搜索电路搜索外部信息数据存储器中一个地址的NX p位数据时,需要N个时钟 周期完成,N个时钟周期之后,则依次完成了 N次搜索; 在第N+l个时钟周期时,搜索电路搜索外部信息数据存储器中后一个地址的NXp 位数据,错误样本存储电路存储了前N组错误样本,错误检测电路检测前N组错误样本存储 电路中的值,并判断外部信息数据存储器中当前所搜索位置的前一个地址的NXp位数据 是否存在错误数据; 所述前一地址的NXp位数据中存在错误数据时,通过搜索电路或者纠错电路得5出错误值对应的外部信息数据的地址,并向外部信息数据存储器发送得出的地址和读信 号,再经过一个时钟周期,即第N+2个时钟周期,外部信息数据存储器返回对应地址的读数 据,纠错电路使用前N组错误样本存储电路中的错误样本值对外部信息数据进行纠错,同 时向外部信息数据存储器发送一个写信号和纠错之后的数据,并发送相应的数据存储地 址,同时标记该N组错误样本存储电路为可用;此时搜索仍然在继续,若发现有错误发生, 将搜索电路得出的错误样本存储到后N组错误样本存储电路中; 所述前一地址的NXp位数据中没有错误数据时,则标记该N组错误样本存储电路 为可用,纠错电路不工作;搜索仍然继续,将搜索电路得出的错误样本存储到后N组错误样 本存储电路中。 所述错误样本存储电路的值初始化时为0。 当错误样本存储电路存储了前N组错误样本时,判断前N组错误样本存储电路的 值即NXp位是否全为O : 当不全为0时,表示N组错误样本存储电路的NXp位数据中存在错误数据,纠错 电路根据前N组数据所对应的外部信息数据存储器中的地址进行读写纠错; 当全为0时,表示N组错误样本存储电路的NXp位数据正确,纠错电路不工作。 所述外部信息数据存储器中的每个地址存储数据为NXp位;N组错误样本存储电 路中的错误本文档来自技高网
...

【技术保护点】
一种高效BCH解码纠错电路,其特征在于:包括依次连接的搜索电路、错误样本存储电路、错误检测电路、纠错电路;其中,搜索电路搜索检测外部信息数据存储器中的错误,错误样本存储电路用于存储搜索到的外部信息数据存储器中地址M的N×p位数据和地址M+1的N×p位数据的错误样本;当搜索电路搜索检测外部信息数据存储器中地址M+1的N×p位数据时,错误检测电路用于检测外部信息数据存储器中已搜索过地址M的N×p位数据是否有错,纠错电路用于实时纠正外部信息数据存储器中地址M的N×p位数据的错误;其中,M≥0。

【技术特征摘要】
一种高效BCH解码纠错电路,其特征在于包括依次连接的搜索电路、错误样本存储电路、错误检测电路、纠错电路;其中,搜索电路搜索检测外部信息数据存储器中的错误,错误样本存储电路用于存储搜索到的外部信息数据存储器中地址M的N×p位数据和地址M+1的N×p位数据的错误样本;当搜索电路搜索检测外部信息数据存储器中地址M+1的N×p位数据时,错误检测电路用于检测外部信息数据存储器中已搜索过地址M的N×p位数据是否有错,纠错电路用于实时纠正外部信息数据存储器中地址M的N×p位数据的错误;其中,M≥0。2. 根据权利要求1所述的一种高效BCH解码纠错电路,其特征在于具体流程如下A、 首先初始化错误样本存储电路;B、 搜索电路对外部信息数据存储器中数据进行搜索检错,每个时钟周期搜索一次,每次同时搜索P位,P的取值根据芯片面积和速度来选择,P越大,BCH解码器面积越大;所述搜索过程一直搜索至所述外部信息数据存储器的数据已经被搜索完毕为止;C、 每搜索完p位数据,搜索电路计算出来的错误样本将被保存到错误样本存储电路中,并标记所述错误样本存储电路被占用;D、 搜索电路搜索外部信息数据存储器中一个地址的NXp位数据时,需要N个时钟周期完成,N个时钟周期之后,则依次完成了 N次搜索;在第N+l个时钟周期时,搜索电路搜索外部信息数据存储器中后一个地址的NXp位数据,错误样本存储电路存储了前N组错误样本,错误检测电路检测前N组错误样本存储电路中的值,并判断外部信息数据存储器中当前所搜索位置的前一个地址的NXp位数据是否存在错误数据;所述前一地址的NXp位数据中存在错误数据时,通过搜索电路或者纠错电路得出错误值对应的外部信息数据的地址,并向外部信息数据存储器发送得出的地址和读信号,再经过一个时钟周期,即第N+2个时钟周期,外部信息数据存储器返回对应地址的读数据,纠错电路使用前N组错误样本存储电路中的错误样本值对外部信息数据进行纠错,同时向外部信息数据存储器发送一个写信号和纠错之后的数据,并发送...

【专利技术属性】
技术研发人员:陈朝杰杨修
申请(专利权)人:和芯微电子四川有限公司
类型:发明
国别省市:90[]

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

1