CN105529050A - 一种降低对uwl进行读取发生时间超时错误的方法 - Google Patents

一种降低对uwl进行读取发生时间超时错误的方法 Download PDF

Info

Publication number
CN105529050A
CN105529050A CN201511030355.6A CN201511030355A CN105529050A CN 105529050 A CN105529050 A CN 105529050A CN 201511030355 A CN201511030355 A CN 201511030355A CN 105529050 A CN105529050 A CN 105529050A
Authority
CN
China
Prior art keywords
life cycle
uwl
uecc
particle
time
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.)
Granted
Application number
CN201511030355.6A
Other languages
English (en)
Other versions
CN105529050B (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 CN201511030355.6A priority Critical patent/CN105529050B/zh
Publication of CN105529050A publication Critical patent/CN105529050A/zh
Application granted granted Critical
Publication of CN105529050B publication Critical patent/CN105529050B/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

本发明公开了一种降低对UWL进行读取发生时间超时错误的方法,其特征在于预先评估存储颗粒在各个使用周期出现UECC错误的概率;根据评估获得当前读取命令出现UECC错误时需要执行RR操作的当前使用周期值Up/e,并与预先实验获取的阈值Cp/e进行比对,当出现UECC错误时且Up/e不大于Cp/e,则执行不超过5次RR操作,且不再进行纠错操作就直接返回;当出现UECC错误时且Up/e大于Cp/e,则执行尽可能多的RR操作和最大限度纠错操作。本发明当对UWL读取时,按照动态调整RR次数,且按照阶梯式调整读阈值电压调整优化来读取数据,大幅度减少由于对UWL进行过分的RR而出现的命令TO的错误。

Description

一种降低对UWL进行读取发生时间超时错误的方法
技术领域
本发明涉及信息存储领域,尤其涉及一种降低对UWL进行读取发生时间超时错误的方法。
背景技术
TLCNANDflash是一种每个存储单元(memorycell)中存储有3个bit的flash类型,其较高的存储密度在固态硬盘及存储器领域有着愈来愈广泛的应用。
在TLCNANDflash每个存储单元的3个bit信息中,分别属于不同的分组,相对于MLC及SLC中page的概念,TLC中的三个数据分组称为sub-page,其中存储低位bit的叫做lowpage,存储中间bit的叫做middlepage,存储高位bit的叫做uppage。而三个sub-page所属的同一个WordLine(WL)即是相对于MLC及SLC中page的存在。
在TLC的Program写过程中,需要遵循一定的写序列programorder,这个programorder根据颗粒的不同而有所差异,但总体来说都需要遵循每个存储单元需要被program3次,并且3次program并非连续进行。在对TLC颗粒的block进行program操作时,需要将整个block进行依照programorder进行program操作,当所写数据量不足以将整个block写满时,需要将后面的WL写dummy数据(无效数据)以将整个block填满,否则会出现较多的bit出错。在写操作时,将未能写满的block称为unclosedBlock,将未能写满的WL称为UnclosedWL(UWL)。
当对block中某一UWL进行读取时,必然会出现当前数据不能满足program时的加密法则而出现UECC,此时,会进入到对出错数据的ReadRetry(RR)及纠错算法中进行纠错,若由于尝试纠错时间过长,不能及时的对主机端发送的读命令及时响应,导致超出时间范围而出现TO错误。
现有技术主要通过增大主机端命令等待时间或减少RR次数以缩短时间来保证命令及时响应。现有方法中,增大主机端命令等待时间会一定程度降低性能,而减少RR次数,会降低对正常WL读取时的纠错能力,导致不能有效的获取读取信息。
发明内容
针对以上缺陷,本发明目的在于提出了如何降低主机端对UWL区域进行读取操作时出现TO错误的概率。
为了实现上述目的,本发明提供了一种降低对UWL进行读取发生时间超时错误的方法,其特征在于预先通过试验或测试的方法评估存储颗粒在各个使用周期出现UECC错误的概率,存储颗粒的使用周期通过该颗粒被擦写操作的次数来标识;根据评估获得当前读取命令出现UECC错误时需要执行RR操作的当前使用周期值Up/e,并与预先实验获取的阈值Cp/e进行比对,当当前读取命令出现UECC错误时且使用周期Up/e不大于使用周期阀值Cp/e,则执行不超过5次RR操作,且不再进行纠错操作就直接返回;当当前读取命令出现UECC错误时且使用周期Up/e大于使用周期阀值Cp/e,则执行尽可能多的RR操作和最大限度纠错操作。
所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于所述的使用周期阀值Cp/e为400。
所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于根据使用周期来动态调整存储颗粒的各个读阀值电压。
所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于根据使用周期来动态调整存储颗粒的各个读阀值电压的触发条件为存储颗粒的使用周期大于使用周期阀值Cp/e,且当前读取命令出现UECC错误。
所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于所述动态调整存储颗粒的各个读阀值电压分别通过采用依次偏移读阈值电压,统计相邻两次偏移中读出数据中bit反转的个数,在整个偏移过程中个,bit反转个数最小的电压设置为当前最优读阀值电压。
本发明采用“动态调整RR次数”和“阶梯式Vref调整”达到以下效果:当对UWL读取时,按照本专利中提到的“动态调整RR次数”进行动态调整RR次数,按照“阶梯式Vref调整”进行读阈值电压调整优化来读取数据,就不会出现由于对UWL进行过分的RR而出现的命令TO的情况。
附图说明
图1是NANDflashmemorycell结构示意图;
图2TLCNANDflash状态分布图;
图3TLCNANDflashprogramorder示例;
图4TLCNANDflash写命令数据流;
图5TLCNANDflash读命令数据流;
图6TLCNANDflash读命令处理流程;
图7TLCNANDflashP/Ecycle及老化对状态分布影响。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是NANDflashmemorycell结构示意图;NANDflashmemorycell分为源极Source,漏极Drain以及控制栅极ControlGate和浮栅极FloatingGate。当向浮栅极注入电荷时表示写入数值“0”,无电荷表示数值“1”,而对浮栅中电荷的释放就是对存储单元的擦除。
TLC(Tri-LevelCell)是一种每个cell表示3个bit数据的flash类型,也就是说,TLC的存储单元共有8种状态类型:“000”,“001”,“010”,“011”,“100”,“101”,“110”和“111”。每个cell表示的数值为这8种状态类型中的一个。
对于TLC而言,NANDflash颗粒由多个块(Block)组成,且Block是擦除的最小单位,每个Block分为若干个WL(WordLine),由一定数量的存储单元组成,每个WL上的存储单元分为3个sub-page,而每个cell中表示数据的3个电子分别存储在这3个sub-page中。在对存储单元进行复写之前,必须对所在的Block进行擦除。
图2是TLCNANDflash状态分布图;Cell中注入电子的多少决定了当前cell所处的状态,也就是cell所表示的数据。TLC所能表示的8种状态类型,需要7个电压值进行区分,cell的电压处于相应的电压范围表示相应的状态即相应的数据,比如说当前cell电压值处于V2和V3之间,那么cell表示的数据就是“001”。
TLC相比于每个cell表示1bit数据的SLC(Single-LevelCell)及每个cell表示2bit的MLC(Multi-LevelCell)而言,随着所能表示状态数的增大,相邻状态间的差异也就必然会变得越小,且随着颗粒擦除写入次数(ProgramEraseCycle,P/ECycle)的增加及老化的影响,cell中的电子流失的速度也会加快,这就使得TLC颗粒更容易出现数据出错的情况,也就对TLC颗粒的纠错算法及出错后处理方法有更高的要求。
对TLC颗粒的写操作,依据颗粒厂商的不同而有所差异,但也符合一定的规律。一般来说,对TLC存储单元的写入需要Program3次才能完成,且3次Program并非连续进行,需要遵循一定的ProgramOrder。图3所示是一种ProgramOrder的示例。在对某一WL的3次Program操作完成之后,才算是当前WL的Program完成,如,对WL0进行Program,需要按照ProgramOrder执行至顺序6的Program命令才行,在这个过程中,还对WL1执行了2次Program,以及对WL2执行了1次Program操作。对Block的写入,需要将整个Block进行写入而不留未Program的部分,假若待写入数据,即有效数据,不足以写满整个Block,需要在剩余的部分写入dummy数据进行补充,否则,错误bit数目会增大。将有效数据未能完全写满整个Block的块叫做UnclosedBlock,将有效数据未能写满的WL称为UnclosedWL(UWL)。
图3是TLCNANDflashprogramorder示例;图4是TLCNANDflash写命令数据流,图5是TLCNANDflash读命令数据流;当数据写入时,会根据编码算法对用户数据(userdata)进行编码,并生成相应的parity写入到颗粒中。而在数据读出时,会根据解码算法对从颗粒中读出的userdata+parity数据进行解码。
在数据读出过程中,若对UWL进行读取,其中填补进去的dummy数据必然不满足解码算法,会出现UECC错误。盲目的对出错WL,特别是UWL,进行出错后的纠错,只会导致时间的增加从而引起主机端命令不能及时相应出现TO问题。
在颗粒初期,对颗粒处于各典型生命时期的状态的一个评估是必要的,可以根据评估概要的了解颗粒各个时期的情况。而在颗粒的初期,很少有UECC出现,或即便出现少量UECC也会在RRlevel较低时成功获取正确数据。也就是说在颗粒的初期,若出现RR多次仍旧UECC甚至于纠错算法仍旧失败的情况是不合理的。依据这个特性,可以设定,在颗粒初期,若出现UECC错误,进行少量RR尝试,仍旧错误即认为当前出错的读取是对UWL位置的读取导致的,不再进行尝试纠错。而在颗粒后期,如P/ECycle达到400次以上,即便是正常的closedWL也有可能会出现UECC且需要多次RR及纠错,此时不在进行区分是否为UWL,均进行尝试RR以获取正确数据。
在TLC写入操作时,要求在写之前进行擦除操作,或者说是在需要写入时,前边紧跟着一个擦除操作,这样,在每次Program时,对当前Block的P/ECycle进行记录,而在读取出现UECC时,查询当前Block的P/ECycle值,若P/ECycle小于400次,进行不超过5次的RR操作即返回状态响应主机端命令,若P/ECycle值大于400次,按照最大限度纠错算法进行纠错,以期待获得正确的数据,图6TLCNANDflash读命令处理流程;当host的发出读命令,TLC接收到读命令到来,判断是否出现UECC,如果不出现UECC,则直接完成本次读操作;如果出现UECC,则查找PECycle表中当前block的PECycle值,判断PECycle是否大于400;如果是则进入RR及LDPC纠错流程以获取正确数据,完成读操作;如果判断PECycle不大于400,则当前WL可能为UnclosedWL,执行少量RR操作,完成读操作。
图7TLCNANDflashP/Ecycle及老化对状态分布影响,随着P/ECycle的增大及老化的影响,cell的电荷注入与释放都变的较为容易,这就导致了cell的电压的减小,状态分布向左偏移。此时,再按照颗粒初期的读阈值电压进行判断颗粒的状态,就会出现很大比例的错误,如假设cell本来写入数据时电压给定在V2与V3之间,写入值为“001”,而随着老化,cell中电子流失,电压减小,读出数据时,电压值位于V1与V2之间,这时,读操作执行时就出现由于将数据“001”错误的读出为“011”而出现UECC。
通过对P/ECycle记录,当读命令出现UECC且查询P/ECycle值处于生命周期后期时,针对该Block进行读阈值电压的优化调整,可以将读阈值电压调整到当前最优的位置,而后续的读命令依据调整优化后的读阈值电压进行判定读取,可以较好的减少UECC的出现,从而减少RR操作次数,缩短CMD所消耗的时间。
其中,读阈值电压的优化调整,采用依次偏移读阈值电压,统计相邻两次偏移中读出数据中bit反转的个数,在整个偏移过程中个,bit反转个数最小的地方即可认为是当前Vref的最优值。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (5)

1.一种降低对UWL进行读取发生时间超时错误的方法,其特征在于预先通过试验或测试的方法评估存储颗粒在各个使用周期出现UECC错误的概率,存储颗粒的使用周期通过该颗粒被擦写操作的次数来标识;根据评估获得当前读取命令出现UECC错误时需要执行RR操作的当前使用周期值Up/e,并与预先实验获取的阈值Cp/e进行比对,当当前读取命令出现UECC错误时且使用周期Up/e不大于使用周期阀值Cp/e,则执行不超过5次RR操作,且不再进行纠错操作就直接返回;当当前读取命令出现UECC错误时且使用周期Up/e大于使用周期阀值Cp/e,则执行尽可能多的RR操作和最大限度纠错操作。
2.根据权利要求1所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于所述的使用周期阀值Cp/e为400。
3.根据权利要求2所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于根据使用周期来动态调整存储颗粒的各个读阀值电压。
4.根据权利要求3所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于根据使用周期来动态调整存储颗粒的各个读阀值电压的触发条件为存储颗粒的使用周期大于使用周期阀值Cp/e,且当前读取命令出现UECC错误。
5.根据权利要求4所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于所述动态调整存储颗粒的各个读阀值电压分别通过采用依次偏移读阈值电压,统计相邻两次偏移中读出数据中bit反转的个数,在整个偏移过程中个,bit反转个数最小的电压设置为当前最优读阀值电压。
CN201511030355.6A 2015-12-31 2015-12-31 一种降低对uwl进行读取发生时间超时错误的方法 Active CN105529050B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511030355.6A CN105529050B (zh) 2015-12-31 2015-12-31 一种降低对uwl进行读取发生时间超时错误的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511030355.6A CN105529050B (zh) 2015-12-31 2015-12-31 一种降低对uwl进行读取发生时间超时错误的方法

Publications (2)

Publication Number Publication Date
CN105529050A true CN105529050A (zh) 2016-04-27
CN105529050B CN105529050B (zh) 2019-09-03

Family

ID=55771222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511030355.6A Active CN105529050B (zh) 2015-12-31 2015-12-31 一种降低对uwl进行读取发生时间超时错误的方法

Country Status (1)

Country Link
CN (1) CN105529050B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106205714A (zh) * 2016-06-29 2016-12-07 联想(北京)有限公司 一种数据处理方法、存储设备、电子设备
CN106981308A (zh) * 2017-03-20 2017-07-25 记忆科技(深圳)有限公司 一种精准获取llr信息的应用方法
CN108874309A (zh) * 2018-05-25 2018-11-23 新华三技术有限公司 一种管理固态硬盘中物理块的方法和装置
CN109871594A (zh) * 2019-01-28 2019-06-11 山东华芯半导体有限公司 一种NAND Flash特性模型建立方法
CN111081306A (zh) * 2019-12-18 2020-04-28 山东华芯半导体有限公司 一种划分NANDFlash Wordline分组的方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102077298A (zh) * 2008-06-30 2011-05-25 桑迪士克公司 在非易失性存储器中的读取干扰减轻
CN103050149A (zh) * 2011-10-13 2013-04-17 三星电子株式会社 非易失性存储器件及其编程方法和包括其的存储器系统
US20140101519A1 (en) * 2012-10-08 2014-04-10 Samsung Electronics Co., Ltd. Non-volatile memory device having adjustable read voltage, memory system comprising same, and method of operating same
CN104051016A (zh) * 2013-03-15 2014-09-17 三星电子株式会社 非易失性存储装置、读取数据方法、存储系统及操作方法
WO2014210424A2 (en) * 2013-06-27 2014-12-31 Aplus Flash Technology, Inc. Novel nand array architecture for multiple simultaneous program and read
CN104464821A (zh) * 2014-10-10 2015-03-25 记忆科技(深圳)有限公司 一种防止MLC Nand Flash出现UECC问题的方法
US20150179269A1 (en) * 2013-12-25 2015-06-25 Aplus Flash Technology, Inc. HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US20150339225A1 (en) * 2014-05-22 2015-11-26 Phison Electronics Corp. Memory management method, memory storage device and memory control circuit unit

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102077298A (zh) * 2008-06-30 2011-05-25 桑迪士克公司 在非易失性存储器中的读取干扰减轻
CN103050149A (zh) * 2011-10-13 2013-04-17 三星电子株式会社 非易失性存储器件及其编程方法和包括其的存储器系统
US20140101519A1 (en) * 2012-10-08 2014-04-10 Samsung Electronics Co., Ltd. Non-volatile memory device having adjustable read voltage, memory system comprising same, and method of operating same
CN104051016A (zh) * 2013-03-15 2014-09-17 三星电子株式会社 非易失性存储装置、读取数据方法、存储系统及操作方法
WO2014210424A2 (en) * 2013-06-27 2014-12-31 Aplus Flash Technology, Inc. Novel nand array architecture for multiple simultaneous program and read
US20150179269A1 (en) * 2013-12-25 2015-06-25 Aplus Flash Technology, Inc. HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US20150339225A1 (en) * 2014-05-22 2015-11-26 Phison Electronics Corp. Memory management method, memory storage device and memory control circuit unit
CN104464821A (zh) * 2014-10-10 2015-03-25 记忆科技(深圳)有限公司 一种防止MLC Nand Flash出现UECC问题的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106205714A (zh) * 2016-06-29 2016-12-07 联想(北京)有限公司 一种数据处理方法、存储设备、电子设备
CN106981308A (zh) * 2017-03-20 2017-07-25 记忆科技(深圳)有限公司 一种精准获取llr信息的应用方法
CN108874309A (zh) * 2018-05-25 2018-11-23 新华三技术有限公司 一种管理固态硬盘中物理块的方法和装置
CN108874309B (zh) * 2018-05-25 2021-07-23 新华三技术有限公司 一种管理固态硬盘中物理块的方法和装置
CN109871594A (zh) * 2019-01-28 2019-06-11 山东华芯半导体有限公司 一种NAND Flash特性模型建立方法
CN109871594B (zh) * 2019-01-28 2023-02-03 山东华芯半导体有限公司 一种NAND Flash特性模型建立方法
CN111081306A (zh) * 2019-12-18 2020-04-28 山东华芯半导体有限公司 一种划分NANDFlash Wordline分组的方法
CN111081306B (zh) * 2019-12-18 2023-03-31 山东华芯半导体有限公司 一种划分NANDFlash Wordline分组的方法

Also Published As

Publication number Publication date
CN105529050B (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
US10553290B1 (en) Read disturb scan consolidation
CN105529050A (zh) 一种降低对uwl进行读取发生时间超时错误的方法
US11231982B2 (en) Read window size
US8503233B2 (en) Method of twice programming a non-volatile flash memory with a sequence
US11024394B2 (en) Implementing sticky read using error control success rate associated with a memory sub-system
US20080201538A1 (en) Memory control method and memory system
KR101464256B1 (ko) 온도 센서를 포함하는 메모리 시스템
US10101944B2 (en) Solid state storage device and data writing method thereof
US11282564B1 (en) Selective wordline scans based on a data state metric
US9465539B2 (en) Operation management in a memory device
CN112740331A (zh) 基于存储器组件特性组件刷新存储在存储器组件处的数据
US11894090B2 (en) Selective power-on scrub of memory units
CN106548802B (zh) 固态存储装置及其相关读取控制方法
US8924774B2 (en) Semiconductor memory device and method for operating the same
US20200183783A1 (en) Management of corruptive read in memory systems
CN108074615B (zh) 一种提高nor型flash稳定性的方法及装置
US8456906B2 (en) Memory and operation method therefor
CN111273857A (zh) 基于可靠性统计分布的数据块的子组的数据的选择性重定位
US10685725B2 (en) Performing an operation on a memory cell of a memory system at a frequency based on temperature
KR102246843B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US20240069748A1 (en) Reducing bit error rate in memory devices
CN114063916B (zh) 一种nand存储器及其数据转存和读取方法
CN111819631B (zh) 减缓存储器子系统中存储器单元的电压状况
US20230195379A1 (en) Charge loss mitigation throughout memory device lifecycle by proactive window shift
US9747973B2 (en) Solid state storage device and data writing method to prevent data loss during program cycle

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