首页> 中国专利> 一种降低BCH解码延迟的双钱氏搜索方法

一种降低BCH解码延迟的双钱氏搜索方法

摘要

一种降低BCH解码延迟的双钱氏搜索方法,通过在读取NAND FLASH的同时将每组528Bytes的BCH码数据经由伴随式计算电路2进行伴随式计算,因伴随式技术而给读操作带来的延时为0,利用BCH码数据错误数量的出现概率不同,以极小的面积开销来降低钱氏搜索对译码操作的延时,由于出现单个错误的概率远远大于出现多个错误的概率,并行度较高的钱氏搜索电路用于单错的纠正,并行度较低的钱氏搜索电路用于多个错误的纠正。当BCH码数据错误的数量为1个时,双钱氏搜索电路5执行16路并行钱氏搜索电路,当BCH码数据错误的数量大于1时,双钱氏搜索电路5执行8路并行钱氏搜索电路。这样就可以大大降低了BCH解码延迟。

著录项

  • 公开/公告号CN102163463A

    专利类型发明专利

  • 公开/公告日2011-08-24

    原文格式PDF

  • 申请/专利权人 西安交通大学;

    申请/专利号CN201110105601.5

  • 发明设计人 孙宏滨;牛众品;郑南宁;

    申请日2011-04-26

  • 分类号G11C29/42;

  • 代理机构西安智大知识产权代理事务所;

  • 代理人贾玉健

  • 地址 710049 陕西省西安市咸宁路28号

  • 入库时间 2023-12-18 03:08:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-22

    未缴年费专利权终止 IPC(主分类):G11C29/42 授权公告日:20130102 终止日期:20150426 申请日:20110426

    专利权的终止

  • 2013-01-02

    授权

    授权

  • 2011-10-05

    实质审查的生效 IPC(主分类):G11C29/42 申请日:20110426

    实质审查的生效

  • 2011-08-24

    公开

    公开

说明书

技术领域

本发明属于NAND FLASH纠错码技术领域,具体涉及一种降低BCH解码延迟的双钱氏搜索方法。

背景技术

NAND Flash又称“快闪”,起源于20世纪80年代,是非易失性存储器的一种。近年来,由于NAND Flash高容量、低成本的特点,应用面渐广,几乎所有的消费电子产品,如U盘、mp3、mp4、数码相机和手机等,都离不开NANDFlash。可以说,只要涉及到大容量数据存储的地方,就少不了NAND Flash。

由于NAND Flash物理结构的特殊性,当数据存储到NAND Flash上时,可能产生个别的比特翻转,从而导致存储数据出错,所以为了提高数据的可靠性,需要在存储之前对数据进行适当的编码,以保证当数据出错时,系统能将其纠正。前向纠错是存储系统中应用最多的一种纠错方式,常采用Hamming、BCH以及RS等线性分组码作为纠错码,来提高系统的数据存储可靠性。

早期的NAND Flash基本都是单层单元(SLC)类型的,工艺相对成熟,存储过程中数据出错的概率小,一般采用Hamming码作为ECC纠错码,即可满足系统要求。随着NAND Flash设计技术和工艺的进步,NAND Flash从单层单元(SLC)结构转变为多层单元(MLC)结构,每个存储单元上可以存储2个以上的比特数据,比特位之间的影响变大,出错概率增加,而且随着制程工艺达到32nm,超深亚微米下的各种电荷效应进一步增加了数据出错的可能性。所以,单比特纠错的Hamming码已经远远无法满足ECC纠错系统的要求。

发明内容

为了克服上述现有技术存在的不足,本发明的目的在于提供一种降低BCH解码延迟的双钱氏搜索方法,可以大大降低BCH的解码延时。

为了达到上述目的,本发明所采用的技术方案是:

一种降低BCH解码延迟的双钱氏搜索方法,预先设置BCH译码器,该BCH译码器包括和其第一级译码器和第二级译码器相互通信连接的作为数据缓冲区的单端RAM3,第一级译码器为相互通信连接的读闪存控制器1和伴随式计算电路2,第二级译码器为是依次两两相互通信连接的无求逆BM迭代算法单元4、钱氏搜索电路5和输出缓存6,其中第二级译码器的无求逆BM迭代算法单元4同第一级译码器的伴随式计算电路2通信连接,在执行BCH解码时,通过读闪存控制器1按照一次读取一组容量大小为528Bytes的BCH码数据的规则连续逐次地读取BCH码数据,在读取BCH码数据的同时将每组528Bytes的BCH码数据经由伴随式计算电路2进行伴随式计算,并且将读取的BCH码数据存放入单端RAM3,当单端RAM3存满BCH码数据后,将伴随式计算电路2进行伴随式计算所求得的BCH码数据所对应的伴随式输入无求逆BM迭代算法单元4,并由无求逆BM迭代算法单元4用该伴随式计算BCH码的错误多项式,然后将BCH码的错误多项式以及单端RAM3内的BCH码数据交由双钱氏搜索电路5完成对BCH码数据中BCH码的搜索,并将BCH码数据从单端RAM3内移送到输出缓存6,最后输出缓存6将对应的BCH码数据送至总线接口7。

所述的将读取的BCH码数据存放入单端RAM3的方式为将NAND FLASH每页2KB的物理空间划分为4个扇区,每个扇区为528B大小,每个扇区存储一组对应的BCH码数据,该扇区前512B存储单元用于存储BCH码数据的数据信息8,而其后16B存储单元用于BCH码数据的存储校验位9,那么出现单错的概率大大提高。由于数据区和空闲区在物理结构上是一致的,所以无论采用哪种存储方式都不会对数据可靠性产生影响。

所述的无求逆BM迭代算法单元4通过伴随式的计算可以判断出BCH码数据错误的数量,当BCH码数据错误的数量为1个时,双钱氏搜索电路5采用16路并行钱氏搜索电路,当BCH码数据错误的数量大于1时,双钱氏搜索电路5采用8路并行钱氏搜索电路。

通过在读取NAND FLASH的同时将每组528Bytes的BCH码数据经由伴随式计算电路2进行伴随式计算,因伴随式技术而给读操作带来的延时为0,利用BCH码数据错误数量的出现概率不同,以极小的面积开销来降低钱氏搜索对译码操作的延时,由于出现单个错误的概率远远大于出现多个错误的概率,并行度较高的钱氏搜索电路用于纠正单错,并行度较低的钱氏搜索电路用于纠正多个错误。当BCH码数据错误的数量为1个时,钱氏搜索电路5执行16路并行钱氏搜索电路,当BCH码数据错误的数量大于1时,钱氏搜索电路5执行8路并行钱氏搜索电路。这样就可以大大降低了BCH解码延迟。

附图说明

图1是本发明的NAND FLASH 2K页的一个扇区的结构示意图。

图2是本发明的工作原理控制流程图。

图3是本发明的工作时序坐标图,坐标上的方块表示所占用的时间跨度。

具体实施方式

下面结合附图对本发明作更详细的说明。

如图2所示,降低BCH解码延迟的双钱氏搜索方法,预先设置BCH译码器,该BCH译码器包括和其第一级译码器和第二级译码器相互通信连接的作为数据缓冲区的单端RAM3,第一级译码器为相互通信连接的读闪存控制器1和伴随式计算电路2,第二级译码器为是依次两两相互通信连接的无求逆BM迭代算法单元4、钱氏搜索电路5和输出缓存6,其中第二级译码器的无求逆BM迭代算法单元4同第一级译码器的伴随式计算电路2通信连接,在执行BCH解码时,通过读闪存控制器1按照一次读取一组容量大小为528Bytes的BCH码数据的规则连续逐次地读取BCH码数据,如图3所示,在读取BCH码数据的同时将每组528Bytes的BCH码数据经由伴随式计算电路2进行伴随式计算,并且将读取的BCH码数据存放入单端RAM3,当单端RAM3被BCH码数据存满后,将伴随式计算电路2进行伴随式计算所求得的BCH码数据所对应的伴随式输入无求逆BM迭代算法单元4,并由无求逆BM迭代算法单元4用该伴随式计算BCH码的错误多项式,然后将BCH码的错误多项式以及单端RAM3内的BCH码数据交由钱氏搜索电路5完成对BCH码数据中BCH码的搜索,并将BCH码数据从单端RAM3内移送到输出缓存6,最后输出缓存6将对应的BCH码数据送至总线接口7。所述的将读取的BCH码数据存放入单端RAM3的方式为将NAND FLASH每页2KB的物理空间划分为4个扇区,如图1所示,每个扇区为528B大小,每个扇区存储一组对应的BCH码数据,该扇区前512B存储单元用于存储BCH码数据的数据信息8,而其后16B存储单元用于BCH码数据的存储校验位9。所述的BCH码数据的BCH码(8191,8087,8)有从α1到α8191的8191个码元位置,该8191个码元位置分别对应的码字编号为从γ8190到γ0,而钱氏搜索电路5使用的码元为γ0到γ4223,设置遍历起点为α3968,具体由一个Xα3968常数乘法器来实现。所述的无求逆BM迭代算法单元4通过伴随式的计算可以判断出BCH码数据错误的数量,当BCH码数据错误的数量为1个时,双钱氏搜索电路5执行16路并行钱氏搜索电路,当BCH码数据错误的数量大于1时,双钱氏搜索电路5执行8路并行钱氏搜索电路。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号