基于ECC的NAND数据Read Retry纠错方法和NAND控制器技术

技术编号:18367239 阅读:59 留言:0更新日期:2018-07-05 08:18
本发明专利技术实施例公开了基于ECC的NAND数据Read Retry纠错方法和NAND控制器,方法包括:a读取目标数据帧和其相邻的可纠错数据帧,记录可纠错数据帧的ECC纠错的第一错误比特值,目标数据帧为ECC不能纠错数据帧,可纠错数据帧为ECC可纠错数据帧;b设置Read Retry的电压变化阈值;c基于当前电压变化阈值重新读取目标数据帧和可纠错数据帧,记录可纠错数据帧的ECC纠错的第二错误比特值;d比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时增加电压变化阈值,反之减小电压变化阈值;e将变化后的电压变化阈值作为当前电压变化阈值,返回执行c;重复执行c‑e,直到目标数据帧的可纠错比特值达到ECC纠错能力值。本发明专利技术实施例可减小Read Retry方法的读取次数。

NAND data Read Retry error correction method and NAND controller based on ECC

The embodiment of the invention discloses a ECC based NAND data Read Retry error correction method and a NAND controller. The method includes: a reads the target data frame and its adjacent error correcting data frames, records the first error bit value of the error correcting data frame, and the target data frame is ECC can not correct the data frame, and the error correction data frame is ECC can be obtained. Error correcting data frame; B sets the voltage change threshold of Read Retry; C rereads target data frame and error correcting data frame based on current voltage change threshold, records second error bit values of error correcting data frames that can correct error; D compares first error bit value and second error bit value, when the first error bit value is greater than second error. In the bit error, the voltage change threshold is added and the voltage change threshold is reduced; e returns the voltage change threshold after the change as the current voltage change threshold, returns the execution of the C, and repeats the C E, until the error correction bit value of the target data frame reaches the ECC error correction capability value. The embodiment of the invention can reduce the reading times of the Read Retry method.

【技术实现步骤摘要】
基于ECC的NAND数据ReadRetry纠错方法和NAND控制器
本专利技术实施例涉及存储器技术,尤其涉及一种基于ECC的NAND数据ReadRetry纠错方法和NAND控制器。
技术介绍
NANDFlash是Flash内存的一种,属于非易失性存储设备。ECC的全称是ErrorCheckingandCorrection,是一种用于NAND的差错检测和修正算法。在NAND存储单元中,先天就有一些是坏掉的或者不稳定的,并且随着NAND的不断使用,坏的存储单元越来越多。所以,用户写入到NAND的数据,必须有ECC保护,这样即使其中的一些比特发生反转,读取的时候也能通过ECC纠正过来。但是,当数据错误比特数量超过ECC纠错能力,ECC无法完成数据纠错时,需要采用ReadRetry方法进行纠错。ReadRetry方法是通过改变Vt值的大小配合ECC进行纠错,通过调整ReadRetry的Vt±Δ值来重新读取数据。而由于不能确定修改Vt值以后读回的数据变化趋势,ReadRetry方法通常是将Δ值逐渐增加和减小,直到读到正确值为止。而每变化一次Δ值时,都要进行两次读取,即增加和减小Δ值后读取,从而因读取次数太多而影响NAND控制器的性能。
技术实现思路
本专利技术实施例提供一种基于ECC的NAND数据ReadRetry纠错方法和NAND控制器,以解决现有纠错方法中因读取次数太多而影响NAND控制器的性能的问题。第一方面,本专利技术实施例提供了一种基于ECC的NAND数据ReadRetry纠错方法,包括:a读取目标数据帧和与目标数据帧相邻的可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第一错误比特值,其中,所述目标数据帧为ECC不能纠错数据帧,所述可纠错数据帧为ECC可纠错数据帧;b设置ReadRetry的电压变化阈值;c基于当前电压变化阈值,重新读取所述目标数据帧和所述可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第二错误比特值;d比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时,增加所述电压变化阈值,当第一错误比特值小于第二错误比特值时,减小所述电压变化阈值;e将所述变化后的电压变化阈值作为当前电压变化阈值,并返回执行步骤c;重复执行上述步骤c-e,直到所述目标数据帧的可纠错比特值达到ECC纠错能力值。第二方面,本专利技术实施例还提供了一种NAND控制器,该控制器包括纠错模块,用于执行如下操作:a读取目标数据帧和与目标数据帧相邻的可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第一错误比特值,其中,所述目标数据帧为ECC不能纠错数据帧,所述可纠错数据帧为ECC可纠错数据帧;b设置ReadRetry的电压变化阈值;c基于当前电压变化阈值,重新读取所述目标数据帧和所述可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第二错误比特值;d比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时,增加所述电压变化阈值,当第一错误比特值小于第二错误比特值时,减小所述电压变化阈值;e将所述变化后的电压变化阈值作为当前电压变化阈值,并返回执行步骤c;重复执行上述步骤c-e,直到所述目标数据帧的可纠错比特值达到ECC纠错能力值。本专利技术实施例根据ECC纠错成功后会记录此帧数据的错误比特值的事实,对超出ECC纠错能力的ECC无法纠错的数据帧采用ReadRetry方法,并根据重复读取该无法纠错的数据帧和其相邻的可纠错数据帧后获取的可纠错数据帧的ECC纠错的错误比特值的之间的变化趋势,来作为ReadRetry的电压变化阈值的变化依据,从而减小ReadRetry方法的读取次数,避免影响NAND控制器的性能。附图说明图1是本专利技术实施例一中的基于ECC的NAND数据ReadRetry纠错方法的流程图;图2是本专利技术实施例二中的NAND控制器的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的基于ECC的NAND数据ReadRetry纠错方法的流程图,本实施例可适用于对ECC不可纠错的数据帧进行ReadRetry纠错,该方法可以由NAND控制器来执行。本专利技术实施例一的方法具体包括:S101、读取目标数据帧和与目标数据帧相邻的可纠错数据帧,记录可纠错数据帧的ECC纠错的第一错误比特值,其中,目标数据帧为ECC不能纠错数据帧,可纠错数据帧为ECC可纠错数据帧。ECC纠错能力与ECC校验码的位数有关,由于ECC校验码需要与用户数据一起存储在NAND闪存中,因此,需要在对用户数据的存储空间大小与ECC纠错能力之间根据使用需要进行权衡配置。NAND闪存的每一页数据包括8帧或16帧,每个数据帧包括512B或1024B数据,例如可以在该NAND闪存中配置ECC对每个数据帧的纠错能力为50比特值,那么当某数据帧的错误比特值超出50,则采用本专利技术实施例的ReadRetry纠错方法进行纠错。在本专利技术实施例中,将该ECC不能纠错的数据帧称为目标数据帧,而可纠错数据帧为ECC可纠错数据帧。与目标数据帧相邻的可纠错数据帧可以是在数据页中与该目标数据帧左相邻或右相邻的第一个可纠错数据帧,本专利技术实施例对此不做限定。而由于每次读取数据时都会同时进行ECC纠错,且ECC纠错成功后会记录此帧数据的错误比特值,因此,在对可纠错数据帧读取的过程中,即可记录下该帧数据的错误比特值。S102、设置ReadRetry的电压变化阈值。所述电压变化阈值即为ReadRetry的Vt±Δ值,此为现有技术,不再赘述。S103、基于当前电压变化阈值,重新读取目标数据帧和可纠错数据帧,记录可纠错数据帧的ECC纠错的第二错误比特值。S104、判断目标数据帧的可纠错比特值是否达到ECC纠错能力值,当达到时,方法结束,否则执行S105。S105、比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时,增加电压变化阈值,当第一错误比特值小于第二错误比特值时,减小电压变化阈值。具体的,ReadRetry方法是通过改变Vt值的大小配合ECC进行纠错,通过调整ReadRetry的Vt±Δ值来重新读取数据。而由于不能确定修改Vt值以后读回的数据变化趋势,ReadRetry方法通常是将Δ值逐渐增加和减小,直到读到正确值为止。而每变化一次Δ值时,都要进行两次读取,即增加和减小Δ值后读取。在本专利技术实施例中,在记录第一错误比特值之后,基于设置的ReadRetry的Vt±Δ值,重新读取目标数据帧和其相邻的可纠错数据帧,记录该可纠错数据帧的ECC纠错的第二错误比特值,判断第二错误比特值与第一错误比特值的大小,当第一错误比特值大于第二错误比特值时,增加电压变化阈值,反之则减小电压变化阈值,从而根据本次修改Vt±Δ值后可纠错数据帧的错误比特值的变化趋势,来明确下一次Vt±Δ值的变化趋势是增大还是减小,继而减小改变Vt±Δ值后对数据帧的读取次数。S106、将变化后的电压变化阈值作为当前电压变化值,并返回执行S103。当确定Vt±Δ值的变化趋势后,再次将变化后的该值作为当前电压变化本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201611225069.html" title="基于ECC的NAND数据Read Retry纠错方法和NAND控制器原文来自X技术">基于ECC的NAND数据Read Retry纠错方法和NAND控制器</a>

【技术保护点】
1.一种基于ECC的NAND数据Read Retry纠错方法,其特征在于,所述方法包括:a读取目标数据帧和与目标数据帧相邻的可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第一错误比特值,其中,所述目标数据帧为ECC不能纠错数据帧,所述可纠错数据帧为ECC可纠错数据帧;b设置Read Retry的电压变化阈值;c基于当前电压变化阈值,重新读取所述目标数据帧和所述可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第二错误比特值;d比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时,增加所述电压变化阈值,当第一错误比特值小于第二错误比特值时,减小所述电压变化阈值;e将所述变化后的电压变化阈值作为当前电压变化阈值,并返回执行步骤c;重复执行上述步骤c‑e,直到所述目标数据帧的可纠错比特值达到ECC纠错能力值。

【技术特征摘要】
1.一种基于ECC的NAND数据ReadRetry纠错方法,其特征在于,所述方法包括:a读取目标数据帧和与目标数据帧相邻的可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第一错误比特值,其中,所述目标数据帧为ECC不能纠错数据帧,所述可纠错数据帧为ECC可纠错数据帧;b设置ReadRetry的电压变化阈值;c基于当前电压变化阈值,重新读取所述目标数据帧和所述可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第二错误比特值;d比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时,增加所述电压变化阈值,当第一错误比特值小于第二错误比特值时,减小所述电压变化阈值;e将所述变化后的电压变化阈值作为当前电压变化阈值,并返回执行步骤c;重复执行上述步骤c-e,直到所述目标数据帧的可纠错比特值达到ECC纠错能力值。2.一种NAND控制器,...

【专利技术属性】
技术研发人员:台生斌
申请(专利权)人:北京京存技术有限公司
类型:发明
国别省市:北京,11

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

1