CN106205720B - 一种恢复Nand Flash错误数据的方法 - Google Patents

一种恢复Nand Flash错误数据的方法 Download PDF

Info

Publication number
CN106205720B
CN106205720B CN201610527846.XA CN201610527846A CN106205720B CN 106205720 B CN106205720 B CN 106205720B CN 201610527846 A CN201610527846 A CN 201610527846A CN 106205720 B CN106205720 B CN 106205720B
Authority
CN
China
Prior art keywords
voltage
storage unit
data
state
distribiuting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610527846.XA
Other languages
English (en)
Other versions
CN106205720A (zh
Inventor
印中举
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201610527846.XA priority Critical patent/CN106205720B/zh
Publication of CN106205720A publication Critical patent/CN106205720A/zh
Application granted granted Critical
Publication of CN106205720B publication Critical patent/CN106205720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Landscapes

  • Read Only Memory (AREA)

Abstract

本发明公开了一种恢复Nand Flash错误数据的方法,其特征在于通过扫描不同相邻单元分布模式下各个存储单元的电压分布,将具有相同或近似电压分布的归类为同一类别的同邻态,对多个类别的同邻态分别采用扫描各自的电压分布,并根据获取的电压分布选定各自最佳判断电压值,获得同邻态的最佳判断电压;通过分析待恢复存储单元的相邻存储单元的电压分布,判断属于哪个类别同邻态,采用所在同邻态的存储单元的最佳判断电压读取该存储单元数据,实现错误数据恢复。通过将存储单元分类为不同的同邻态,并基于不同同邻态的最佳判断电压分别读取其数据,然后将各自数据合并得到整体存储数据。显然基于各自同邻态优化后的判断电压所读取数据的正确性都会优于常规方法,整合后的数据的正确性将得到明显改善。

Description

一种恢复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的电压分布曲线也会相似。某些干扰存储单元AggressorCell分布虽然不同,但它们对Victim Cell电压分布产生的影响结果却是近似的;根据存储单元相邻数据的分布格式,将这些Aggressor Cell进行归类,将具有相同或接近的分布格式的存储单元归类为具有相同干扰态Neighbor State。将所有具有相同干扰态组的存储单元进行统计获得该类别干扰态组的电压分布;将所有类别干扰态组的电压分布进行比较,见具有相同或类似电压分布的干扰态组归类为同一类别的同邻态不同的Aggressor State对Victim Cell电压分布产生的影响不同,可以将所有的Aggressor State归结为数个相邻状态组Neighbor State。
图4是各相邻状态组对应Nand存储单元的电压分布示意图,所有相邻状态组Neighbor State电压分布合并后即通常所描述的Nand整体电压分布。图4分别列举了Neighbor State A、Neighbor State B和Neighbor State C三类同邻态来说明;正常情况下,各相邻状态组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优化后的判断电压所读取数据的正确性都会优于常规方法,整合后的数据的正确性将得到明显改善。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (6)

1.一种恢复Nand Flash错误数据的方法,其特征在于通过扫描不同相邻单元分布模式下各个存储单元的电压分布,将具有相同或近似电压分布的存储单元归类为同一类别的同邻态,Nand Flash中各个存储单元分类为多个类别的同邻态,对多个类别的同邻态分别扫描各自的电压分布,并根据获取的电压分布选定各自最佳判断电压值,获得各个类别的同邻态的存储单元的最佳判断电压;通过分析待恢复存储单元的相邻存储单元的电压分布,判断该待恢复存储单元属于哪个类别同邻态,采用所在同邻态的存储单元的最佳判断电压读取该存储单元数据,实现错误数据恢复。
2.根据权利要求1所述的恢复Nand Flash错误数据的方法,其特征在于将不同相邻单元分布模式下具有相同或近似电压分布的存储单元归类为同一类别的同邻态按照如下步骤进行:
步骤2.1在Nand中写入随机数;
步骤2.2读取Nand数据,根据存储单元相邻数据的分布格式,将具有相同或接近的分布格式的存储单元归类为具有相同干扰态组;
步骤2.3通过设置不同的阀值电压读取存储单元数据的方式获取所有存储单元的电压分布;
步骤2.4将所有具有相同干扰态组的存储单元进行统计获得该类别干扰态组的电压分布;
步骤2.5将所有类别干扰态组的电压分布进行比较,将具有相同或类似电压分布的干扰态组归类为同一类别的同邻态。
3.根据权利要求2所述的恢复Nand Flash错误数据的方法,其特征在于Nand Flash按照块或页的方式分别单独进行同邻态的归类。
4.根据权利要求3所述的恢复Nand Flash错误数据的方法,其特征在于同邻态的归类和各个同邻态归类的数据通过选取同批次Nand Flash进行采集统计。
5.根据权利要求3所述的恢复Nand Flash错误数据的方法,其特征在于同邻态的归类和各个同邻态归类的数据分别单独进行采集统计。
6.根据权利要求4或5所述的恢复Nand Flash错误数据的方法,其特征在于只有在NandFlash发生无法恢复的错误数据时,才触发通过分析待恢复存储单元的相邻存储单元的电压分布,判断该待恢复存储单元属于哪个类别同邻态,采用所在同邻态的存储单元的最佳判断电压读取该存储单元数据的方式来恢复该存储单元数据。
CN201610527846.XA 2016-07-06 2016-07-06 一种恢复Nand Flash错误数据的方法 Active CN106205720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610527846.XA CN106205720B (zh) 2016-07-06 2016-07-06 一种恢复Nand Flash错误数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610527846.XA CN106205720B (zh) 2016-07-06 2016-07-06 一种恢复Nand Flash错误数据的方法

Publications (2)

Publication Number Publication Date
CN106205720A CN106205720A (zh) 2016-12-07
CN106205720B true CN106205720B (zh) 2019-07-09

Family

ID=57466189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610527846.XA Active CN106205720B (zh) 2016-07-06 2016-07-06 一种恢复Nand Flash错误数据的方法

Country Status (1)

Country Link
CN (1) CN106205720B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11854631B2 (en) 2021-08-19 2023-12-26 Kioxia Corporation System and method for dynamic compensation for multiple interference sources in non-volatile memory storage devices

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180131023A (ko) * 2017-05-31 2018-12-10 에스케이하이닉스 주식회사 반도체 메모리 시스템 및 그것의 동작 방법
CN108108265A (zh) * 2018-01-12 2018-06-01 江苏华存电子科技有限公司 一种降低快闪存储器比特错误率的方法
CN112289362B (zh) * 2020-10-27 2024-03-15 深圳电器公司 Nand存储器的CCI噪声预判均衡方法及相关设备
CN112558883B (zh) * 2020-12-23 2024-05-14 深圳大普微电子科技有限公司 一种数据存储管理方法、固态硬盘控制器及固态硬盘
CN116364163B (zh) * 2023-04-17 2023-11-10 武汉喻芯半导体有限公司 一种基于nand闪存控制器的纠错方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090292971A1 (en) * 2008-05-21 2009-11-26 Chun Fung Man Data recovery techniques
KR101483190B1 (ko) * 2008-09-05 2015-01-19 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
US8254170B2 (en) * 2009-08-25 2012-08-28 Sandisk Il Ltd. Preloading data into a flash storage device
US9448877B2 (en) * 2013-03-15 2016-09-20 Cisco Technology, Inc. Methods and apparatus for error detection and correction in data storage systems using hash value comparisons

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11854631B2 (en) 2021-08-19 2023-12-26 Kioxia Corporation System and method for dynamic compensation for multiple interference sources in non-volatile memory storage devices

Also Published As

Publication number Publication date
CN106205720A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN106205720B (zh) 一种恢复Nand Flash错误数据的方法
US7535765B2 (en) Non-volatile memory device and method for reading cells
CN105144300B (zh) 用于提高非易失性存储器的耐久性的动态擦除深度
EP2529375B1 (en) Multibit programming method in a non-volatile memory allowing a number of data state-fails and data recovery method in case of programming fail
USRE46014E1 (en) Defective word line detection
CN106158039B (zh) 非易失性存储器中的动态读取低谷搜索
US8650352B2 (en) Systems and methods for determining logical values of coupled flash memory cells
KR101642465B1 (ko) 불휘발성 메모리 장치의 액세스 방법
US7242618B2 (en) Method for reading non-volatile memory cells
US10600489B2 (en) Memory system, reading method, program, and memory controller
CN105679364A (zh) 具有软解码优化的可重写多比特非易失性存储器
CN103069494A (zh) 非易失性存储器中的自然阈值电压分布压缩
CN103329205B (zh) 分段编程的方法及存储器装置
CN104282339B (zh) 读取电压设定方法、控制电路与存储器储存装置
US8842476B2 (en) Erratic program detection for non-volatile storage
CN103811077B (zh) 闪存中的资料补偿方法
CN105027216A (zh) 非易失性存储器编程算法装置和方法
KR101100358B1 (ko) 프로그래밍의 검증을 위한 세그먼트화된 비트스캔
CN108647109A (zh) 一种固态硬盘提升ldpc纠错能力的方法
CN110534152A (zh) 一种预防闪存数据读取错误的方法
US20070268749A1 (en) Method for operating non-volatile memory device
WO2014046887A1 (en) Block and page level bad bit line and bits screening method for non-volatile memory
US7230853B2 (en) Selective erase method for flash memory
Nakamura et al. Machine learning-based proactive data retention error screening in 1Xnm TLC NAND flash
CN103811074B (zh) 闪存的储存状态决定方法及其相关系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant