一种恢复NandFlash错误数据的方法与流程

文档序号:11954908阅读:1560来源:国知局
一种恢复Nand Flash错误数据的方法与流程

本发明涉及一种Flash技术,特别涉及一种基于ICI原理恢复Nand Flash错误数据的方法。



背景技术:

Nand Flash是一种非易失性存储半导体,其通过向存储单元浮栅层注入电子的方式存储数据。随着存储单元浮栅层中电子数增加,相应的电压也会逐渐增大。Nand Flash的擦除会损坏浮栅晶体管的氧化沟道,造成电压值的波动和偏移,界面态陷阱恢复和电子的逃逸也会造成电压的降低,通常存储电压可近似为高斯分布。将Nand电压与判断电压Vth(也称阈值电压)对比,可以确定其存储数据状态(Level)。

图1是Nand Flash存储单元结构示意图,主要包括源极Source、漏极Drain、控制栅极Control Gate和浮栅极Floating Gate,其存储数据的大小通过注入电子所产生的电压大小表示。以SLC(Single-Level Cell)Nand为例,当浮栅层注入电子后表示存储数据为“0”,无电子则表示“1”。MLC(Multi-Level Cell)Nand和TLC(Trinary-Level Cell)Nand存储数据根据电子数的多少分别存在4种和8种状态,用于表示2bit和3bit信息。

Nand Flash存储的数据会受到相邻存储单元的干扰,滞留特性的影响以及随机噪声干扰,造成电压分布的偏移和展宽。当部分存储单元电压分布超出判断电压范围就会造成误判,导致错误比特数增加。通过有针对性地同等偏移判断电压可以减少误判,从而改善错误数据,这也正是Nand Flash当前普遍使用的纠错方法。

虽然偏移判断电压可以减少误判,但是当相邻Level电压分布出现交叠的时候,现有技术无法判定交叠附近电压分布是低Level电压分布中的较高态还是高Level电压分布的较低态偏移至此。因此存在较大的误判可能性,影响了数据的恢复。



技术实现要素:

针对以上缺陷,本发明目的在于如何恢复由于相邻存储单元干扰以及滞留特性导致的数据错误。

为了解决以上问题本发明提出了一种恢复Nand Flash错误数据的方法,其特征在于通过扫描不同相邻单元电压分布模式下Nand Flash中各个存储单元的电压分布,将具有相同或近似电压分布的存储单元标归类为同一类别的同邻态,Nand Flash中各个存储单元分类为多个类别的同邻态,对多个类别的同邻态分别采用步进电压扫描法获得各个类别的同邻态的存储单元的最佳判断电压;通过分析待恢复存储单元的相邻存储单元的电压分布,判断该待恢复存储单元属于哪个类别同邻态,采用所在同邻态的存储单元的最佳判断电压读取该存储单元数据,实现错误数据恢复。

所述的恢复Nand Flash错误数据的方法,其特征在于所述的将具有相同或近似电压分布的存储单元标归类为同一类别的同邻态按照如下步骤进行:

步骤2.1在Nand中写入随机数;

步骤2.2读取Nand数据,根据存储单元相邻数据的分布格式,将具有相同或接近的分布格式的存储单元归类为具有相同干扰态组;

步骤2.3通过设置不同的阀值电压读取存储单元数据的方式获取所有存储单元的电压分布;

步骤2.4将所有具有相同干扰态组的存储单元进行统计获得该类别干扰态组的电压分布;

步骤2.5将所有类别干扰态组的电压分布进行比较,将具有相同或类似电压分布的干扰态组归类为同一类别的同邻态。

所述的恢复Nand Flash错误数据的方法,其特征在于所述的采用步进电压扫描法为将步骤2.3中通过设置不同的阀值电压读取存储单元数据的方式获取所有存储单的电压分布的数据,按照类别的同邻态进行划分,选取各个同邻态的最佳判断电压。

所述的恢复Nand Flash错误数据的方法,其特征在于Nand Flash按照Block或页的方式分别单独进行同邻态的归类。

所述的恢复Nand Flash错误数据的方法,其特征在于同邻态的归类和各个同邻态归类的数据通过选取同批次Nand Flash进行采集统计,根据统计数据划 分同邻态。

所述的恢复Nand Flash错误数据的方法,其特征在于同邻态的归类和各个同邻态归类的数据分别单独进行采集统计。

所述的恢复Nand Flash错误数据的方法,其特征在于只有在Nand Flash发生无法恢复的错误数据时,才触发通过分析待恢复存储单元的相邻存储单元的电压分布,判断该待恢复存储单元属于哪个类别同邻态,采用所在同邻态的存储单元的最佳判断电压读取该存储单元数据的方式来恢复该存储单元数据。

本发明通过先将所有存储单元依据不同的Neighbor State分类,并基于不同Neighbor State的最佳判断电压分别读取其数据,然后将各自数据合并得到整体存储数据。显然基于各自Neighbor State优化后的判断电压所读取数据的正确性都会优于常规方法,整合后的数据的正确性将得到明显改善。

附图说明

图1是Nand Flash存储单元结构示意图;

图2是MLC Nand的电压分布示意图;

图3是Flash相邻存储单元示意图

图4是各相邻状态组对应Nand存储单元的电压分布示意图;

图5是Nand Flash电压分布呈现交叠现象示意图;

图6是MLC电压分布统计图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Nand Flash界面态陷阱恢复和电子的脱陷过程近似服从泊松分布,因此其电压的分布可以近似为高斯分布。图2是MLC Nand的电压分布示意图,其中VL为低页Low Page判断电压,VH1和VH2为High Page判断电压。在Nand Flash中,存在一种相邻区间干扰现象,即任意存储单元会受到相邻存储单元的串扰导致存储电荷数发生改变。图3是Flash相邻存储单元示意图,中间存储单元 称为Victim Cell,其余周围对中间存储单元Victim Cell产生干扰的存储单元称为干扰存储单元Aggressor Cell。任意一个存储单元既是中间存储单元Victim Cell被周围存储单元干扰,也是干扰存储单元Aggressor Cell干扰了其附近的存储单元。

通常情况下,当中间存储单元Victim Cell周围的干扰存储单元Aggressor Cell的分布格式相同时,Victim Cell的电压分布曲线也会相似。某些干扰存储单元Aggressor Cell分布虽然不同,但它们对Victim Cell电压分布产生的影响结果却是近似的;根据存储单元相邻数据的分布格式,将这些Aggressor Cell进行归类,将具有相同或接近的分布格式的存储单元归类为具有相同干扰态Neighbor State。将所有具有相同干扰态组的存储单元进行统计获得该类别干扰态组的电压分布;将所有类别干扰态组的电压分布进行比较,见具有相同或类似电压分布的干扰态组归类为同一类别的同邻态不同的Aggressor State对Victim Cell电压分布产生的影响不同,可以将所有的Aggressor State归结为数个相邻状态组Neighbor State。

图4是各相邻状态组对应Nand存储单元的电压分布示意图,所有相邻状态组Neighbor State电压分布合并后即通常所描述的Nand整体电压分布。图4分别列举了Neighbor StateA、Neighbor StateB和Neighbor StateC三类同邻态来说明;正常情况下,各相邻状态组Neighbor State的电压分布宽度会窄于整体电压分布,且其电压偏移和展宽的幅度和比例也会近似于整体电压的变化幅度。该电压分布图通过如下方式获得:

步骤1在Nand中写入随机数;

步骤2读取Nand数据,根据存储单元相邻数据的分布格式,将具有相同或接近的分布格式的存储单元归类为具有相同干扰态组,对于由于TLC电压Level较多,可以将电压接近的Level归为一种Aggressor State。;

步骤3通过设置不同的阀值电压读取存储单元数据;通过统计比特“0”或比特“1”的数量,整理得到Nand存储数据的整体电压分布;

步骤4将所有具有相同干扰态组的存储单元进行统计获得该类别干扰态组的电压分布;

步骤5将所有类别干扰态组的电压分布进行比较,见具有相同或类似电压分布的干扰态组归类为同一类别的同邻态。

图6是MLC电压分布统计图;同样以MLC Nand为例,采用步进电压扫描法给出获取MLC电压分布统计图:

1:设定Low Page判断电压为V0,读取Low Page数据,统计比特“0”的数量为Z0,比特“1”的数量为T0。如图6所示,V0左边的部分即为0,右边的部分即为1。

2:设定Low Page判断电压为V1,读取Low Page数据,统计比特“0”的数量为Z1,比特“1”的数量为T1。根据统计结果,可以知道T1-T0(或者Z0-Z1)值即V0和V1之间电压分布统计值。

3:设定Low Page判断电压为V2,读取Low Page数据,统计比特“0”的数量为Z2,比特“1”的数量为T2。根据统计结果,可以知道T2-T1(或者Z1-Z2)值即V1和V2之间电压分布统计值。

4:如此继续设定Low Page判断电压为V3、V4、V5…,读取数据,统计得到各电压区间分布统计值。

5:基于上面同样的方法,设定High Page判断电压,统计得到High Page各电压区间分布统计值。

6:将各电压区间统计值合并,得到MLC电压分布统计图

由于滞留特性的影响,Nand Flash放置一段时间后,电压分布会出现偏移,同时也会变宽甚至出现交叠,导致部分数据错误,如图5是Nand Flash电压分布呈现交叠现象示意图;通过修改判断电压VL、VH1和VH2可以改善错误情况,但依然无法纠正交叠部分错误数据。以Low Page为例,Level 01的电压分布最右边部分超过了VL,与Level 00的电压分布产生了交叠,数据被误判为0;同样Level 00的电压分布最左边部分低于了VL,与Level 01的电压分布产生了交叠,数据被误判为1。正是这两部分电压交叠产生了无法判定的数据错误。

虽然Level 01和Level 00整体电压出现了较多的交叠,但由于各Neighbor State对应的电压分布通常窄于整体电压分布,所以各Neighbor State在Level 01和Level 00之间交叠的部分就会少于整体电压的交叠部分,甚至可能没有交叠。因此,可以扫瞄各Neighbor State对应的电压分布,获取各Neighbor State最佳判断电压。如图5中,Neighbor State A、Neighbor State B、Neighbor State C的最佳判断电压分别为VL0、VL和VL1

观察整体电压分布在VL0和VL1之间部分,同时存在着Level 01和Level 00 的数据分布。无论如何偏移VL值,都只能改善某一Level的错误情况,但会导致另一Level错误率增加。将整体电压分布区分为不同Neighbor State下的电压分布,可以发现若分别使用VL0、VL和VL1为判断电压读取Neighbor State A、Neighbor State B和Neighbor State C的数据,则可以消除或减少误判。

发生当Nand Flash存储数据经过长时间滞留后出现无法纠正的错误时,则可以通过区分不同的Neighbor State的方法恢复错误数据:

1:基于之前划分的Neighbor State 1、2、3…扫描各自的电压分布,并根据获取的电压分布选定各自最佳判断电压值V1、V2、V3…。

2:使用判断电压V1读取数据对应的Nand Memory,得到数据集{D10,D11,D12,D13…};其中D10为第一个比特数据,D11为第二个比特数据,依次类推。

3:分别使用判断电压V2、V3…读取数据对应的Nand Memory,得到数据集{D20,D21,D22,D23…}、数据集{D30,D31,D32,D33…}等。

4:根据各Bit存储单元对应的Neighbor State选择对应数据集中的数据,进行整合。例如,如果比特0对应Cell处于Neighbor State 3,则比特0的数据选择通过判断电压V3读取数据的第一个比特,即D30。同样如果Bit 1、2、3分别处于Neighbor State 1、3、2,则比特1、2、3的数据分别选择通过判断电压V1、V3、V2读取数据的第二、三、四个比特,即D11、D32和D23。如此,根据各Cell的Neighbor State选择对应的数据构成新的数据集{D30,D11,D32,D23…},该数据集的正确性优于任意之前读取的数据集。

5:基于获取的优化数据集进行解码(可在关闭Nand控制器编解码通路模式下将数据写入Nand缓存寄存器中,再打开控制器编解码功能读取Nand缓存寄存器中数据进行解码),得到原始数据。

基于这一原理,可以先将所有存储单元依据不同的Neighbor State分类,并基于不同Neighbor State的最佳判断电压分别读取其数据,然后将各自数据合并得到整体存储数据。显然基于各自Neighbor State优化后的判断电压所读取数据的正确性都会优于常规方法,整合后的数据的正确性将得到明显改善。

以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依 本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1