当前位置: 首页 > 专利查询>符方晓专利>正文

一种NAND闪存出现ECC无法纠错时的数据恢复方法技术

技术编号:12102735 阅读:159 留言:0更新日期:2015-09-23 21:16
本发明专利技术公开了一种MLC/TLC/QLC Nand闪存出现ECC无法纠正错误时的数据恢复方法。本发明专利技术实施例方法包括:当读操作到来时,设所读page为当前page;判断当前page的bit错误是否可通过ECC纠正,若否,则判断此Page是否有lower Page,若有lower page,将lower pages的数据读出来并记录bit翻转信息;根据当前page的lower pages的bit翻转信息修改当前page的数据;然后重新对当前page做ECC纠正。本发明专利技术能恢复大部分Nand Flash出现ECC无法纠正的错误时的数据。

【技术实现步骤摘要】
一种NAND闪存出现ECC无法纠错时的数据恢复方法
本文涉及存储
,尤其涉及MLC,TLC和QLCNAND的数据恢复。
技术介绍
SLCNAND=Single-LevelCell,即1bit/cell;MLCNAND=Multi-LevelCell,即2bit/cell,速度一般寿命一般,价格一般,约3000---10000次擦写寿命,我们将每个CELL对应的2个page叫做lowpage,uppage;TLCNAND=Trinary-LevelCell,即3bit/cell,也有NAND闪存厂家叫8LC,速度慢寿命短,价格便宜,约500-1000次擦写寿命,我们将每个CELL对应的3个page叫做lowpage,middlepage,uppage;QLCNAND=Quad-LevelCell架构,即4bit/cell,我们将每个CELL对应的4个page叫做lowpage,secondlowpage,middlepage,uppage。在本文中lowerpage和upperpage是相对的,比如在QLCNAND中,secondlowpage相对于low是upperpage,但是secondlowpage相对于middlepage是lowerpage,而lowpage,secondlowpage,middlepage,uppage是指的一种类型的page,不是相对的概念。跟SLC比起来,MLC,TLC和QLC的特点是容量大成本低,存储不稳定,出错的几率较大,需要进行错误修正才能使用。大容量的MLC,TLC和QLCNAND一般采用可以纠错的错误检查和纠正(英文:ErrorCorrectingCode,缩写:ECC)编码来保证存储数据的完整性。MLC,TLC和QLCNAND一个CELL存放2bit以上的数据,这些bit分别属于不同的page,二进制高位属于lowerpage,二进制低位属于upperpage。比如对于TLCNAND来说,一个CELL存放二进制110(十进制为6),表示lowpage里面相应bit为1,middlepage里面的相应bit为1,uppage相应bit为0。
技术实现思路
本专利技术实施例提供了一种NAND闪存的数据恢复方法,用于解决NAND数据出现ECC无法纠错时的数据恢复方法。本专利技术实施例提供了一种NAND闪存出现ECC无法纠错时的数据恢复方法,包括;如果发现读取操作无法通过ECC纠正当前page所有的bit翻转错误的时候,将当前page的lowerpages读出来做ECC纠错之后记录bit翻转信息,根据lowerpages的bit翻转信息修改当前page的数据。所述修改当前page的bit的原则是,如果lowerpages的二进制正确值小于错误值则设置当前page对应bit的值为1,如果lowerpages的二进制正确值大于错误值则设置当前page对应bit的值为0,这样可以使得在高位bits已经确定的情况下,低位bit的设置使得整个CELL的估计值与读出来的错误值的差距比较小。比如对于MLCNAND,lowpage经过ECC之后发现某个CELL的bit从0(ECC后的正确值)翻转成了1(ECC前的错误值),那么整个CELL存放的正确值可能是01或者00,而整个CELL的错误值可能是10或者11,很显然对于错误值10(十进制2)或者11(十进制3)来说,正确值为01的可能性比较大,直接设置当前page相应位置的bit为1。根据lowerpages的bit翻转信息修改完当前page的数据之后重新对当前page做ECC纠错。附图说明图1为NAND闪存CELL数据与所属page关系示意图。图2为本专利技术的NAND闪存出现ECC无法纠错时的数据恢复方法的一个实施案列的流程图。具体实施方案本专利技术实施例提供了一种NAND闪存出现ECC无法纠错时的数据恢复方法,用于解决MLC,TLC和QLCNAND数据存储不可靠的问题。为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“包含”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包含没有清楚地列出的或对于这些过程、方法、系统、产品或设备固有的其它步骤或单元。分析发现MLCNAND,TLCNAND和QLCNAND闪存一个存储单元称为CELL,可以存储2个bit以上的信息,这些bit信息分别属于不同的page,二进制高位属于lowerpage,二进制低位属于upperpage。比如对于MLCNAND,二进制10(十进制2),其中lowpage对应bit为1,uppage对应bit为0。又比如对于TLCNAND,二进制011,其中lowpage对应bit为0,middlepage对应bit为1,uppage对应bit为1。对于QLCNAND,对于二进制1100,lowpage对应bit为1,secondlowpage对应bit为1,middlepage对应bit为0,uppage对应bit为0。分析发现对于NAND闪存来说,如果CELL发生错误,那么错误值与正确值的差比较小的可能性比较大。比如一个CELL的正确值为2,那么它跳变成1的可能性比0要大。又比如一个CELL的正确值为1,那么它跳变成2的可能性比3要大。针对这种情况,当CELL的二进制高位跳变情况已经确定之后,直接设置低位的值正确几率比较大。比如对于MLCNAND,如果发现lowerpage对应bit从正确的0变成的错误的1,那么整个CELL的正确值可能是二进制00或者01,显然01更加接近错误值10或者11,所以直接设置upperpage对应bit的值为1。又比如对于TLC,假如已经确定高位2个bit值从正确值01变成错误值10,那么正确值可能是010或者011,相对于错误值100或者101,都是011比较接近,所以直接设置upperpage对应bit为1。NAND接收到读操作到来,设需要读取的page为当前page,读取NAND并作ECC纠错。如果ECC纠错成功就直接返回,否则继续。将当前page的lowerpages读出来并做ECC纠错,并保存bit翻转信息。根据lowerpages的bit翻转信息修改完当前page的数据之后,重新对当前page的数据做ECC纠错。如果无法纠错,返回[0019]重试N次,N为配置的一个经验值。对于TLCNAND,如果uppage和middlepage同时出现ECC无法纠正的错误,那么根据lowpage的bit翻转信息先恢复middlepage的数据,然后再恢复uppage的数据。同理,如果QLCNAND的uppage,middlepage和secondlowpage同时出现ECC无法纠错的情况时,那么使用相同方法先恢复secondlo本文档来自技高网
...
一种NAND闪存出现ECC无法纠错时的数据恢复方法

【技术保护点】
一种MLC/TLC/QLC NAND闪存出现ECC无法纠正错误时的数据恢复方法,其特征在于,包括:读NAND闪存的操作到来;设所读page为当前page,判断当前page的bit错误是否可通过ECC纠正,若是则读操作完成,若否则将当前page的lower pages读出来做ECC并记录bit翻转信息,然后根据lower pages的bit翻转信息修改当前page的bits;重新对当前page做ECC校验。

【技术特征摘要】
1.一种MLC/TLC/QLCNAND闪存出现ECC无法纠正错误时的数据恢复方法,其特征在于,包括读NAND闪存的操作;设所读page为当前page,判断当前page的bit错误是否可通过ECC纠正,若是则读操作完成,若否则将当前page的lowerpages读出来做ECC并记录bit翻转信息,然后根据lowerpages的bit翻转信息修改当前page的bits;重新对当前page做ECC校验;其中:根据lowerpages的bits翻转信息修改当前page的数据时,依据的原则是如果lowerpages的二进制正确值小于错误值则设置当前page对应bit的值为1,如果lowerpages的二进制正确值大...

【专利技术属性】
技术研发人员:符方晓
申请(专利权)人:符方晓
类型:发明
国别省市:北京;11

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

1