首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

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

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:北京兆易创新科技股份有限公司

摘要:本发明实施例公开了基于ECC的NAND数据ReadRetry纠错方法和NAND控制器,方法包括:a读取目标数据帧和其相邻的可纠错数据帧,记录可纠错数据帧的ECC纠错的第一错误比特值,目标数据帧为ECC不能纠错数据帧,可纠错数据帧为ECC可纠错数据帧;b设置ReadRetry的电压变化阈值;c基于当前电压变化阈值重新读取目标数据帧和可纠错数据帧,记录可纠错数据帧的ECC纠错的第二错误比特值;d比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时增加电压变化阈值,反之减小电压变化阈值;e将变化后的电压变化阈值作为当前电压变化阈值,返回执行c;重复执行c‑e,直到目标数据帧的可纠错比特值达到ECC纠错能力值。本发明实施例可减小ReadRetry方法的读取次数。

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

全文数据:基于ECC的NAND数据ReadRetry纠错方法和NAND控制器技术领域[0001]本发明实施例涉及存储器技术,尤其涉及一种基于ECC的NAND数据ReadRetry纠错方法和NAND控制器。背景技术[0002]NANDFlash是Flash内存的一种,属于非易失性存储设备。ECC的全称是ErrorCheckingandCorrection,是一种用于NAND的差错检测和修正算法。在NAND存储单元中,先天就有一些是坏掉的或者不稳定的,并且随着NAND的不断使用,坏的存储单元越来越多。所以,用户写入到NAND的数据,必须有ECC保护,这样即使其中的一些比特发生反转,读取的时候也能通过ECC纠正过来。[0003]但是,当数据错误比特数量超过ECC纠错能力,ECC无法完成数据纠错时,需要采用ReadRetry方法进行纠错。ReadRetry方法是通过改变Vt值的大小配合ECC进行纠错,通过调整ReadRetry的Vt士△值来重新读取数据。而由于不能确定修改Vt值以后读回的数据变化趋势,ReadRetry方法通常是将△值逐渐增加和减小,直到读到正确值为止。而每变化一次A值时,都要进行两次读取,即增加和减小A值后读取,从而因读取次数太多而影响NAND控制器的性能。发明内容[0004]本发明实施例提供一种基于ECC的NAND数据ReadRetry纠错方法和NAND控制器,以解决现有纠错方法中因读取次数太多而影响NAND控制器的性能的问题。[0005]第一方面,本发明实施例提供了一种基于ECC的NAND数据ReadRetry纠错方法,包括:[0006]a读取目标数据帧和与目标数据帧相邻的可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第一错误比特值,其中,所述目标数据帧为ECC不能纠错数据帧,所述可纠错数据帧为ECC可纠错数据帧;[0007]b设置ReadRetry的电压变化阈值;[0008]C基于当前电压变化阈值,重新读取所述目标数据帧和所述可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第二错误比特值;[0009]d比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时,增加所述电压变化阈值,当第一错误比特值小于第二错误比特值时,减小所述电压变化阈值;[0010]e将所述变化后的电压变化阈值作为当前电压变化阈值,并返回执行步骤C;[0011]重复执行上述步骤c-e,直到所述目标数据帧的可纠错比特值达到ECC纠错能力值。[0012]第二方面,本发明实施例还提供了一种NAND控制器,该控制器包括纠错模块,用于执行如下操作:[0013]a读取目标数据帧和与目标数据帧相邻的可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第一错误比特值,其中,所述目标数据帧为ECC不能纠错数据帧,所述可纠错数据帧为ECC可纠错数据帧;[0014]b设置ReadRetry的电压变化阈值;[0015]c基于当前电压变化阈值,重新读取所述目标数据帧和所述可纠错数据帧,记录所述可纠错数据帧的ECC纠错的第二错误比特值;[0016]d比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时,增加所述电压变化阈值,当第一错误比特值小于第二错误比特值时,减小所述电压变化阈值;[0017]e将所述变化后的电压变化阈值作为当前电压变化阈值,并返回执行步骤c;[0018]重复执行上述步骤c-e,直到所述目标数据帧的可纠错比特值达到ECC纠错能力值。[0019]本发明实施例根据ECC纠错成功后会记录此帧数据的错误比特值的事实,对超出ECC纠错能力的ECC无法纠错的数据帧采用ReadRetry方法,并根据重复读取该无法纠错的数据帧和其相邻的可纠错数据帧后获取的可纠错数据帧的ECC纠错的错误比特值的之间的变化趋势,来作为ReadRetry的电压变化阈值的变化依据,从而减小ReadRetry方法的读取次数,避免影响NAND控制器的性能。附图说明[0020]图1是本发明实施例一中的基于ECC的NAND数据ReadRetry纠错方法的流程图;[0021]图2是本发明实施例二中的NAND控制器的结构示意图。具体实施方式[0022]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。[0023]实施例一[0024]图1为本发明实施例一提供的基于ECC的NAND数据ReadRetry纠错方法的流程图,本实施例可适用于对ECC不可纠错的数据桢进行ReadRetry纠错,该方法可以由NAND控制器来执行。本发明实施例一的方法具体包括:[0025]S101、读取目标数据帧和与目标数据帧相邻的可纠错数据巾贞,记录可纠错数据中贞的ECC纠错的第一错误比特值,其中,目标数据帧为ECC不能纠错数据帧,可纠错数据巾贞为ECC可纠错数据帧。[0026]ECC纠错能力与ECC校验码的位数有关,由于ECC校验码需要与用户数据一起存储在NAND闪存中,因此,需要在对用户数据的存储空间大小与ECC纠错能力之间根据使用需要进行权衡配置。NAND闪存的每一页数据包括8帧或I6帧,每个数据帧包括^洲或丨⑽犯数据,例如可以在该NAND闪存中配置ECC对每个数据帧的纠错能力为50比特值,那么当某数据巾贞的错误比特值超出50,则采用本发明实施例的ReadRetry纠错方法进行纠错。[0027]在本发明实施例中,将该ECC不能纠错的数据帧称为目标数据帧,而可纠错数据中贞为ECC可纠错数据帧。与目标数据帧相邻的可纠错数据帧可以是在数据页中与该目标数据帧左相邻或右相邻的第一个可纠错数据帧,本发明实施例对此不做限定。而由于每次读取数据时都会同时进行ECC纠错,且ECC纠错成功后会记录此帧数据的错误比特值,因此,在对可纠错数据帧读取的过程中,即可记录下该帧数据的错误比特值。[0028]S102、设置ReadRetry的电压变化阈值。[0029]所述电压变化阈值即为ReadRetry的Vt土A值,此为现有技术,不再赘述。[0030]Sl〇3、基于当前电压变化阈值,重新读取目标数据帧和可纠错数据帧,记录可纠错数据帧的ECC纠错的第二错误比特值。[0031]S104、判断目标数据帧的可纠错比特值是否达到ECC纠错能力值,当达到时,方法结束,否则执行S105。[0032]Sl〇5、比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时,增加电压变化阈值,当第一错误比特值小于第二错误比特值时,减小电压变化阈值。[0033]具体的,ReadRetry方法是通过改变vt值的大小配合ECC进行纠错,通过调整ReadRetry的Vt土A值来重新读取数据。而由于不能确定修改Vt值以后读回的数据变化趋势,ReadRetry方法通常是将A值逐渐增加和减小,直到读到正确值为止。而每变化一次a值时,都要进行两次读取,即增加和减小A值后读取。[0034]在本发明实施例中,在记录第一错误比特值之后,基于设置的ReadRetry的Vt土△值,重新读取目标数据帧和其相邻的可纠错数据帧,记录该可纠错数据帧的ECC纠错的第二错误比特值,判断第二错误比特值与第一错误比特值的大小,当第一错误比特值大于第二错误比特值时,增加电压变化阈值,反之则减小电压变化阈值,从而根据本次修改Vt±A值后可纠错数据帧的错误比特值的变化趋势,来明确下一次Vt±A值的变化趋势是增大还是减小,继而减小改变Vt土A值后对数据帧的读取次数。[0035]S106、将变化后的电压变化阈值作为当前电压变化值,并返回执行S103。[0036]当确定Vt土A值的变化趋势后,再次将变化后的该值作为当前电压变化值,即当前的Vt土A值,然后基于该值再次重复读取目标数据帧和可纠错数据帧,记录可纠错数据帧的ECC纠错的新的第二错误比特值,然后将新的第二错误比特值与第一错误比特值的大小进行比较,从而再次确认Vt土A值的变化趋势是增大还是减小,重复上述步骤,直到基于某次当前电压变化阈值对目标数据帧读取时,其ECC可纠错比特值己达到ECC纠错能力值,则可以结束本发明实施例的方法,并对该数据帧进行ECC纠错即可。[0037]本发明实施例根据ECC纠错成功后会记录此帧数据的错误比特值的事实,对超出ECC纠错能力的ECC无法纠错的数据帧采用ReadRetry方法,并根据重复读取该无法纠错的数据帧和其相邻的可纠错数据帧后获取的可纠错数据帧的ECC纠错的错误比特值的之间的变化趋势,来作为ReadRetry的电压变化阈值的变化依据,从而减小ReadRetry方法的读取次数,避免影响NAND控制器的性能。[0038]实施例二[0039]图2为本发明实施例二中的NAND控制器的结构示意图,实施例二的NAND控制器用于基于ECC对NAND数据进行ReadRetry纠错。[0CM0]如图2所示,本发明实施例二的NAND控制器1包括:[0041]纠错模块10,用于执行如下操作:[0042]a读取目标数据_与目标数据巾贞相邻的可纠错数纖,记录可纠错数据桢的Ecc纠错的第一错误比特值,其中,目标数据帧为ECC不能纠错数据帧,可纠错数据帧为ECC可糾错数据帧;[0043]b设置ReadRetry的电压变化阈值;[0044]c基于当如电压变化阈值,重新读取目标数据帧和可纠错数据帧,记录可糾错数据帧的ECC纠错的第二错误比特值;'一[0045]d比较第一错误比特值和第二错误比特值,当第一错误比特值大于第二错误比特值时,增加电压变化阈值,当第一错误比特值小于第二错误比特值时,减小电压变化阈值;[0046]e将变化后的电压变化阈值作为当前电压变化值,并返回执行步骤c;’[0047]重复执行上述步骤c-e,直到目标数据帧的可纠错比特值达到Ecc纠错能力值。[0048]本发明实施例的NAND控制器,根据ECC纠错成功后会记录此帧数据的错误比特值的事实,对超出ECC纠错能力的ECC无法纠错的数据帧采用ReadRetry方法,并根据重复读取该无法纠错的数据帧和其相邻的可纠错数据帧后获取的可纠错数据帧的ECC纠错的错误比特值的之间的变化趋势,来作为ReadRetry的电压变化阈值的变化依据,从而减小ReadRetry方法的读取次数,避免影响NAND控制器的性能。[0049]本发明实施例提供的NAND控制器可执行本发明任意实施例提供的基于ECC的NAND数据ReadRetry纠错方法,具备执行方法相应的功能模块和有益效果。[0050]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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

百度查询: 北京兆易创新科技股份有限公司 基于ECC的NAND数据Read Retry纠错方法和NAND控制器

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。