CN104932951B - 一种nand闪存出现ecc无法纠错时的数据恢复方法 - Google Patents

一种nand闪存出现ecc无法纠错时的数据恢复方法 Download PDF

Info

Publication number
CN104932951B
CN104932951B CN201510403709.0A CN201510403709A CN104932951B CN 104932951 B CN104932951 B CN 104932951B CN 201510403709 A CN201510403709 A CN 201510403709A CN 104932951 B CN104932951 B CN 104932951B
Authority
CN
China
Prior art keywords
page
bit
current page
ecc
value
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
CN201510403709.0A
Other languages
English (en)
Other versions
CN104932951A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201510403709.0A priority Critical patent/CN104932951B/zh
Publication of CN104932951A publication Critical patent/CN104932951A/zh
Priority to US15/318,948 priority patent/US20170199784A1/en
Priority to PCT/CN2016/073008 priority patent/WO2017008501A1/zh
Application granted granted Critical
Publication of CN104932951B publication Critical patent/CN104932951B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/26Sensing or reading circuits; Data output circuits
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种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无法纠正的错误时的数据。

Description

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

Claims (3)

1.一种MLC/TLC/QLC NAND闪存出现ECC无法纠正错误时的数据恢复方法,其特征在于,包括
读NAND闪存的操作;
设所读page为当前page,判断当前page的bit错误是否可通过ECC纠正,若是则读操作完成,若否则将当前page的lower pages读出来做ECC并记录bit翻转信息,然后根据lowerpages的bit翻转信息修改当前page的bits;
重新对当前page做ECC校验;
其中:根据lower pages的bits翻转信息修改当前page的数据时,依据的原则是如果lower pages的二进制正确值小于错误值则设置当前page对应bit的值为1,如果lowerpages的二进制正确值大于错误值则设置当前page对应bit的值为0,也就是说在高位bit已经确定的情况下,低位bit的设置必须使得整个CELL的估计值与读出来的错误值的差距比较小。
2.根据权利要求1所述的数据恢复方法,其特征在于,
所述NAND闪存中每个CELL存储大于或者等于2bit数据,二进制高位数据属于lowerpage,二进制低位数据属于upper page。
3.根据权利要求1所述的数据恢复方法,其特征在于,还包括,
对于MLC NAND,如果发现lower page对应bit从正确的0变成的错误的1,那么整个CELL的正确值可能是二进制00或者01,显然01更加接近错误值10或者11,所以直接设置当前page对应bit的值为1。
CN201510403709.0A 2015-07-12 2015-07-12 一种nand闪存出现ecc无法纠错时的数据恢复方法 Active CN104932951B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510403709.0A CN104932951B (zh) 2015-07-12 2015-07-12 一种nand闪存出现ecc无法纠错时的数据恢复方法
US15/318,948 US20170199784A1 (en) 2015-07-12 2016-01-31 Method of data recovery when errors failing to be corrected through ecc occur to nand flash
PCT/CN2016/073008 WO2017008501A1 (zh) 2015-07-12 2016-01-31 一种nand闪存出现ecc无法纠错时的数据恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510403709.0A CN104932951B (zh) 2015-07-12 2015-07-12 一种nand闪存出现ecc无法纠错时的数据恢复方法

Publications (2)

Publication Number Publication Date
CN104932951A CN104932951A (zh) 2015-09-23
CN104932951B true CN104932951B (zh) 2017-09-05

Family

ID=54120124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510403709.0A Active CN104932951B (zh) 2015-07-12 2015-07-12 一种nand闪存出现ecc无法纠错时的数据恢复方法

Country Status (3)

Country Link
US (1) US20170199784A1 (zh)
CN (1) CN104932951B (zh)
WO (1) WO2017008501A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021031205A1 (en) * 2019-08-22 2021-02-25 Micron Technology, Inc. Granular error reporting on multi-pass programming of non-volatile memory

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104932951B (zh) * 2015-07-12 2017-09-05 符方晓 一种nand闪存出现ecc无法纠错时的数据恢复方法
JP2017224370A (ja) * 2016-06-15 2017-12-21 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
JP6606039B2 (ja) * 2016-09-09 2019-11-13 東芝メモリ株式会社 メモリシステムおよび制御方法
CN107301881B (zh) * 2017-06-30 2020-06-09 哈尔滨工业大学 一种基于4位相邻和3位突发纠错码的sram存储器抗辐射加固方法及存储器系统
US10514980B2 (en) 2018-03-22 2019-12-24 Winbond Electronics Corp. Encoding method and memory storage apparatus using the same
TWI698881B (zh) * 2018-07-13 2020-07-11 華邦電子股份有限公司 編碼方法及使用所述編碼方法的記憶體儲存裝置
CN109284201A (zh) * 2018-09-17 2019-01-29 至誉科技(武汉)有限公司 温度均衡数据恢复方法以及系统、存储介质
CN114281271B (zh) * 2022-03-07 2022-05-13 北京得瑞领新科技有限公司 判断nand闪存数据可靠性的方法、存储介质及存储设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4531213A (en) * 1982-03-03 1985-07-23 Sperry Corporation Memory through checking system with comparison of data word parity before and after ECC processing
KR100575657B1 (ko) * 2004-10-28 2006-05-03 엘지전자 주식회사 낸드 플래시 읽기 방법
CN101258471A (zh) * 2005-07-15 2008-09-03 Gsip有限责任公司 闪存纠错
CN102929736A (zh) * 2012-10-23 2013-02-13 忆正科技(武汉)有限公司 一种闪存交织校验纠错方法及闪存控制器
CN103365739A (zh) * 2013-08-02 2013-10-23 深圳市瑞耐斯技术有限公司 一种nand闪存存储设备及其数据恢复方法
CN103544073A (zh) * 2012-07-17 2014-01-29 慧荣科技股份有限公司 读取闪存中区块的数据的方法及相关的记忆装置
CN104240768A (zh) * 2013-06-13 2014-12-24 英飞凌科技股份有限公司 用于测试存储器的方法和存储器系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104932951B (zh) * 2015-07-12 2017-09-05 符方晓 一种nand闪存出现ecc无法纠错时的数据恢复方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4531213A (en) * 1982-03-03 1985-07-23 Sperry Corporation Memory through checking system with comparison of data word parity before and after ECC processing
KR100575657B1 (ko) * 2004-10-28 2006-05-03 엘지전자 주식회사 낸드 플래시 읽기 방법
CN101258471A (zh) * 2005-07-15 2008-09-03 Gsip有限责任公司 闪存纠错
CN103544073A (zh) * 2012-07-17 2014-01-29 慧荣科技股份有限公司 读取闪存中区块的数据的方法及相关的记忆装置
CN102929736A (zh) * 2012-10-23 2013-02-13 忆正科技(武汉)有限公司 一种闪存交织校验纠错方法及闪存控制器
CN104240768A (zh) * 2013-06-13 2014-12-24 英飞凌科技股份有限公司 用于测试存储器的方法和存储器系统
CN103365739A (zh) * 2013-08-02 2013-10-23 深圳市瑞耐斯技术有限公司 一种nand闪存存储设备及其数据恢复方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021031205A1 (en) * 2019-08-22 2021-02-25 Micron Technology, Inc. Granular error reporting on multi-pass programming of non-volatile memory

Also Published As

Publication number Publication date
US20170199784A1 (en) 2017-07-13
CN104932951A (zh) 2015-09-23
WO2017008501A1 (zh) 2017-01-19

Similar Documents

Publication Publication Date Title
CN104932951B (zh) 一种nand闪存出现ecc无法纠错时的数据恢复方法
CN101573761B (zh) 具有可变读取阈值的非易失性存储器
US8898374B2 (en) Flash memory device and method for managing flash memory device
US8327230B2 (en) Data structure for flash memory and data reading/writing method thereof
US9159437B2 (en) Device and method for resolving an LM flag issue
US8578245B2 (en) Data reading method, memory storage apparatus, and controller thereof
CN109582216B (zh) 数据储存装置与存储器装置的数据处理方法
KR20090086523A (ko) 에러가 발생할 수 있는 확률을 기초로 하여 에러가 보정된 비휘발성 메모리
CN105808371A (zh) 数据备份与恢复方法、控制芯片及存储装置
US9208021B2 (en) Data writing method, memory storage device, and memory controller
US10489246B2 (en) Data storage device and data maintenance method thereof
US20160283319A1 (en) Data storage device and encoding method thereof
US20140380129A1 (en) Memory system and method of reading data thereof
CN111837108A (zh) 基于不成功错误校正操作将经恢复数据提供到存储器子系统处的新存储器单元
CN106981308B (zh) 一种精准获取llr信息的应用方法
CN105529050B (zh) 一种降低对uwl进行读取发生时间超时错误的方法
CN102929740A (zh) 检测存储设备坏块的方法和装置
CN105468471A (zh) 固态存储装置及其错误更正方法
CN112346902B (zh) 存储器子系统处的错误控制操作的优先级排序
CN106910529A (zh) 一种增加TLC Nand闪存使用周期的方法及其系统
CN105575439B (zh) 一种存储单元失效纠错的方法及存储器
CN114258531A (zh) 非易失性存储器的多遍编程的粒度错误报告
CN105278866A (zh) 固态储存装置及其错误更正控制方法
US12118210B2 (en) Using bad blocks for system data in memory
CN110058955B (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