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使用过程中 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。