一种参数可配置的动态BCH纠错方法及装置制造方法及图纸

技术编号:18591683 阅读:30 留言:0更新日期:2018-08-04 19:59
本发明专利技术涉及一种参数可配置的动态BCH纠错方法及装置,其中方法包括,根据Flash页容量大小、冗余区空间以及错误率要求,选择合适的纠错码码长分组方案;根据Flash的比特错误率变化曲线设置与短码方案和长码方案的级别相对应的纠错能力调整阈值;Flash系统固件实时获取P/E周期数,并根据所述P/E周期数与所述纠错能力调整阈值的大小,选取合适的纠错模式级别,以实现BCH纠错参数的动态配置。区别于一种固定参数的BCH纠错方案,参数可配的BCH纠错模块可以适用于多种页容量大小的Flash芯片,因此不必在更换Flash的同时再去设计相应的纠错模块,提高整个Flash控制器的兼容性。同时固件可根据不同Page具体的P/E周期数,结合其实际出错比例,在保证可靠性的前提下尽可能提高Flash读写性能。

A parameter configurable dynamic BCH error correction method and device

The invention relates to a parameter configurable dynamic BCH error correction method and device, in which the appropriate error correction code length grouping scheme is selected according to the size of the Flash page capacity, the redundant area space and the error rate requirements; according to the bit error rate change curve of the Flash, it is relative to the level of the short code scheme and the long code scheme. In order to realize the dynamic configuration of the BCH error correction parameters, the Flash system firmware gets the number of P/E cycles in real time, and selects the appropriate error correction mode level according to the number of P/E cycles and the adjustment threshold of the error correction ability. Different from a fixed parameter BCH error correction scheme, the BCH error correction module can be applied to a variety of Flash chips with a variety of page size. Therefore, it is not necessary to design the corresponding error correction module and improve the compatibility of the whole Flash controller at the same time of changing the Flash. At the same time, firmware can improve Flash read-write performance as much as possible under the premise of ensuring reliability according to the specific P/E cycle number of different Pages and the actual error ratio.

【技术实现步骤摘要】
一种参数可配置的动态BCH纠错方法及装置
本专利技术涉及大规模数据存储中的可靠性研究领域,具体涉及一种参数可配置的动态BCH纠错方法及装置。
技术介绍
NAND闪存作为一种非挥发性存储介质,因其在存储密度与读写速率等方面的独特优势,被越来越广泛的应用于各类大规模数据存储系统中。为使存储密度进一步提升,NAND的工艺尺寸在不断缩小。但工艺制程的提升随之而来的是数据可靠性的降低。NAND因存储单元结构的特点,在读写过程中易受各种电荷干扰效应的影响而产生随机比特误码。且工艺尺寸越小,氧化层越薄,可靠性也就越差。因此,关于NAND闪存系统的可靠性研究一直是闪存领域的研究热点之一。为保证数据的可靠性,一般的做法是在Flash的主控中引入ECC模块,依靠校验位的纠错能力对随机错误进行检测和纠正。BCH纠错码可纠正多比特随机错误,编解码复杂度低且易于硬件实现,被应用于多数MLC型NAND的数据恢复中。然而当前大多数Flash控制器中均采用固定码长固定纠错能力的BCH模块,一旦超过其纠错能力则被标记为坏块处理。实际上,在Flash的整个生命周期中的不同编程/擦除(即P/E)时间段内其发生错误的概率是不同的,即使在相同P/E条件下,同一个Block中的不同类型page的错误率也不尽相同,因此采用单一纠错参数的方法实际纠错效率并不高。此外不同厂商的页容量大小也不同,一种固定的纠错方案往往不能最大化利用各类page的冗余数据区。
技术实现思路
本专利技术针对现有技术中存在的技术问题,提供一种参数可配置的动态BCH纠错方法及装置,兼容多种不同类型page,同时可在Flash使用过程中动态调整BCH纠错算法的纠错能力,在保证可靠性的前提下提高解码响应速率。本专利技术解决上述技术问题的技术方案如下:本专利技术一方面提供一种参数可配置的动态BCH纠错方法,包括以下步骤:步骤1,根据Flash页容量大小、冗余区空间以及错误率要求,选择合适的纠错码码长分组方案;其中所述纠错码码长分组方案包括短码方案和长码方案,每组方案均包括多级纠错模式;步骤2,根据Flash的比特错误率变化曲线设置与所述短码方案和长码方案的级别相对应的纠错能力调整阈值;步骤3,Flash系统固件实时获取P/E周期数,并根据所述P/E周期数与所述纠错能力调整阈值的大小,选取合适的纠错模式级别,以实现BCH纠错参数的动态配置。进一步,所述短码方案包括两级纠错模式,各级纠错模式对应的纠错能力t分别为t=8和t=24;所述长码方案包括三级纠错模式,各级纠错模式对应的纠错能力t’分别为t’=8、t’=24和t’=40。进一步,所述短码方案对应一个纠错能力调整阈值Clevel,所述长码方案对应两个纠错能力调整阈值Clevel1和Clevel2,其中Clevel1<Clevel2。进一步,针对所述短码方案,若CP/E≤Clevel,则选取低纠错模式,即纠错能力t=8,若Clevel≤CP/E,则选取高纠错模式,即纠错能力t=24;针对所述长码方案,若CP/E≤Clevel1,则选取低纠错模式,即纠错能力t’=8,若Clevel1≤CP/E≤Clevel2,则选取中纠错模式,即纠错能力t’=24,若Clevel2≤CP/E,则选取高纠错模式,即纠错能力t’=40。进一步,所述纠错能力调整阈值的大小与Flash的比特错误率变化曲线及初始比特错误率有关。基于上述一种参数可配置的动态BCH纠错方法,本专利技术还提供一种参数可配置的动态BCH纠错装置,包括:方案选择模块,用于根据Flash页容量大小、冗余区空间以及错误率要求,选择合适的纠错码码长分组方案;其中所述纠错码码长分组方案包括短码方案和长码方案,每组方案均包括多级纠错模式;阈值设定模块,用于根据Flash的比特错误率变化曲线设置与所述短码方案和长码方案的级别相对应的纠错能力调整阈值;动态配置模块,用于Flash系统固件实时获取P/E周期数,并根据所述P/E周期数与所述纠错能力调整阈值的大小,选取合适的纠错模式级别,以实现BCH纠错参数的动态配置。本专利技术的有益效果是:区别于一种固定参数的BCH纠错方案,参数可配的BCH纠错模块可以适用于多种页容量大小的Flash芯片,因此不必在更换Flash的同时再去设计相应的纠错模块,提高整个Flash控制器的兼容性。同时固件可根据不同Page具体的P/E周期数,结合其实际出错比例,在保证可靠性的前提下尽可能提高Flash读写性能。附图说明图1为本专利技术实施例提供的一种参数可配置的动态BCH纠错方法流程图;图2为本专利技术实施例提供的一种参数可配置的动态BCH纠错装置结构示意图;图3为单个编码单元结构示意图;图4为编码模块接口示意图;图5为可配置伴随式计算电路结构示意图;图6为ibm迭代译码算法流程图;图7为可配置钱搜索电路结构示意图;图8为解码模块接口示意图。具体实施方式以下结合实例对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。图1为本专利技术实施例提供的一种参数可配置的动态BCH纠错方法流程图,如图1所示,包括以下步骤:步骤1,根据Flash页容量大小、冗余区空间以及错误率要求,选择合适的纠错码码长分组方案;其中所述纠错码码长分组方案包括信息位长度为512B的短码方案和信息位长度为1KB的长码方案,每组方案均包括多级纠错模式;选择512B(短码方案)的优点是:码字长度相对较短,编解码所需周期数小,因此延时较小,响应速率更快。采用1KB(长码方案)分组的优点是:相同纠错能力下,所需冗余位更少,能够最大程度利用冗余区空间资源。进一步,所述短码方案包括两级纠错模式,各级纠错模式对应的纠错能力t分别为t=8和t=24;所述长码方案包括三级纠错模式,各级纠错模式对应的纠错能力t’分别为t’=8、t’=24和t’=40。步骤2,根据Flash的比特错误率变化曲线设置与所述短码方案和长码方案的级别相对应的纠错能力调整阈值;所述短码方案对应一个纠错能力调整阈值Clevel,所述长码方案对应两个纠错能力调整阈值Clevel1和Clevel2,其中Clevel1<Clevel2。针对所述短码方案,若CP/E≤Clevel,则选取低纠错模式,即纠错能力t=8,若Clevel≤CP/E,则选取高纠错模式,即纠错能力t=24。在Flash使用初期,Page的P/E次数不超过Clevel,即CP/E≤Clevel时,采用t=8即低纠错能力模式。在该模式下实际出错数不多,已经可以满足纠错要求,且因为纠错能力小致使解码迭代次数小,解码延迟较小,因此能够保证Flash较高的读写性能。与此同时,冗余区空间只占用一小部分存储校验位,因此有更多的空间供固件进行其他操作。当Page的P/E次数超过Clevel即Clevel≤CP/E时,采用t=24高纠错能力模式,通常情况下Flash的P/E次数增多之后错误率会显著上升,此时采用高纠错能力模式能够保证数据可靠性。针对所述长码方案,若CP/E≤Clevel1,则选取低纠错模式,即纠错能力t’=8,若Clevel1≤CP/E≤Clevel2,则选取中纠错模式,即纠错能力t’=24,若Clevel2≤CP/E,则选取高纠错模式,即纠错能力t’=40本文档来自技高网...

【技术保护点】
1.一种参数可配置的动态BCH纠错方法,其特征在于,包括以下步骤:步骤1,根据Flash页容量大小、冗余区空间以及错误率要求,选择合适的纠错码码长分组方案;其中所述纠错码码长分组方案包括短码方案和长码方案,每组方案均包括多级纠错模式;步骤2,根据Flash的比特错误率变化曲线设置与所述短码方案和长码方案的级别相对应的纠错能力调整阈值;步骤3,Flash系统固件实时获取P/E周期数,并根据所述P/E周期数与所述纠错能力调整阈值的大小,选取合适的纠错模式级别,以实现BCH纠错参数的动态配置。

【技术特征摘要】
1.一种参数可配置的动态BCH纠错方法,其特征在于,包括以下步骤:步骤1,根据Flash页容量大小、冗余区空间以及错误率要求,选择合适的纠错码码长分组方案;其中所述纠错码码长分组方案包括短码方案和长码方案,每组方案均包括多级纠错模式;步骤2,根据Flash的比特错误率变化曲线设置与所述短码方案和长码方案的级别相对应的纠错能力调整阈值;步骤3,Flash系统固件实时获取P/E周期数,并根据所述P/E周期数与所述纠错能力调整阈值的大小,选取合适的纠错模式级别,以实现BCH纠错参数的动态配置。2.根据权利要求1所述一种参数可配置的动态BCH纠错方法,其特征在于,所述短码方案包括两级纠错模式,各级纠错模式对应的纠错能力t分别为t=8和t=24;所述长码方案包括三级纠错模式,各级纠错模式对应的纠错能力t’分别为t’=8、t’=24和t’=40。3.根据权利要求2所述一种参数可配置的动态BCH纠错方法,其特征在于,所述短码方案对应一个纠错能力调整阈值Clevel,所述长码方案对应两个纠错能力调整阈值Clevel1和Clevel2,其中Clevel1<Clevel2。4.根据权利要求3所述一种参数可配置的动态BCH纠错方法,其特征在于,针对所述短码方案,若CP/E≤Clevel,则选取低纠错模式,即纠错能力t=8,若Clevel≤CP/E,则选取高纠错模式,即纠错能力t=24;针对所述长码方案,若CP/E≤Clevel1,则选取低纠错模式,即纠错能力t’=8,若Clevel1≤CP/E≤Clevel2,则选取中纠错模式,即纠错能力t’=24,若Clevel2≤CP/E,则选取高纠错模式,即纠错能力t’=40。5.根据权利要求1-4任一项所述一种参数可配置的动态BCH纠错方法,其特征在于,所述纠错能力调整阈值的大小与Flash的比特错误率变化曲线及初始比特错误率有关。6.一种参数...

【专利技术属性】
技术研发人员:刘政林王宇潘玉茜李四林
申请(专利权)人:武汉忆数存储技术有限公司华中科技大学
类型:发明
国别省市:湖北,42

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

1