CN107436847A - 延长非易失性存储器的使用寿命的系统、方法及计算机程序产品 - Google Patents

延长非易失性存储器的使用寿命的系统、方法及计算机程序产品 Download PDF

Info

Publication number
CN107436847A
CN107436847A CN201710172074.7A CN201710172074A CN107436847A CN 107436847 A CN107436847 A CN 107436847A CN 201710172074 A CN201710172074 A CN 201710172074A CN 107436847 A CN107436847 A CN 107436847A
Authority
CN
China
Prior art keywords
state
service life
configuration
nonvolatile memory
unit
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
CN201710172074.7A
Other languages
English (en)
Other versions
CN107436847B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of CN107436847A publication Critical patent/CN107436847A/zh
Application granted granted Critical
Publication of CN107436847B publication Critical patent/CN107436847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/5628Programming or writing circuits; Data input 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (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

本申请公开了一种用于延长固态非易失性存储器的使用寿命的系统、方法及计算机程序产品。其中该系统包括:存储机器指令的存储器和连接到存储器的处理器,所述处理器执行机器指令以将非易失性存储器单元从第一配置重新配置为第二配置,所述第一配置存储最小状态、一组中间状态中的一个或最大状态作为当前状态,所述第二配置存储最小状态、所述一组中间状态的子集之一或最大状态作为当前状态。

Description

延长非易失性存储器的使用寿命的系统、方法及计算机程序 产品
本申请要求2016年03月25日提交美国专利商标局、申请号为15/081512、发明名称为“EXTENDING THE USEFUL LIFESPAN OF NONVOLATILE MEMORY”的美国发明专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开总体上涉及非易失性存储器,更具体地涉及延长固态闪存单元的使用寿命的系统、方法及计算机程序产品。
背景技术
在包括例如数据中心服务器的许多相对高性能的计算机系统中使用固态闪存来实现非易失性存储器。一般来说,这些系统定期地用更新、更高容量的型号替换。在一些情况下,每一代硬件的寿命可能短于期望值,从而潜在地需要在硬件资源中的大量重复投资。
一些存储器组件,例如基于NAND闪存的固态驱动器(SSD),通常在服务器平台退役的时间点保留了相当长的剩余寿命。例如,具有三年保修的服务器可以实施具有五年保修的组件SSD。这会导致SSD的定期处理,如果不被处理,这些SSD还能够提供继续使用。
通常,在NAND闪存单元可被编程之前,必须首先擦除这些单元以从存储器单元浮栅移除过量电子。在编程期间,电子从半导体基板迁移到浮栅。在实践中,重复的编程/擦除(P/E)操作会导致NAND闪存单元逐渐劣化。结果,随着NAND闪存单元老化,获取的数据中的位差错率(BER)最终可能达到不可接受的高差错率。
此效应通常在存储多于一位信息的NAND闪存单元(例如,每单元分别存储两位或三位的多电平单元(MLC)和三电平单元(TLC)技术)中更为严重。为了能够存储更大数量的状态,这些单元需要相对于单级单元(SLC)技术在相似电压范围上分布的额外阈值(Vth)电压电平。因此,MLC和TLC单元中电平之间的间隙或裕度降低,通常导致相对于SLC单元的错误读数的相对增加。
发明内容
根据本发明的一个实施方式,一种延长非易失性存储器的使用寿命的系统包括:存储机器指令的存储器;和连接到该存储器的处理器,其执行所述机器指令以将非易失性存储器单元(cell)从第一配置重新配置为第二配置,所述第一配置存储了选自由最小状态、至少一个中间状态和最大状态组成的组中的一个当前状态,所述第二配置存储了选自由所述最小状态和所述最大状态组成的组中的一个当前状态。
根据本发明的另一实施方式,一种延长非易失性存储器的使用寿命的计算机实现的方法包括:将非易失性存储器单元从第一配置重新配置为第二配置,所述第一配置存储了选自由最小状态、至少一个中间状态和最大状态组成的组中的一个当前状态,所述第二配置存储了选自由所述最小状态和所述最大状态组成的组中的一个当前状态。
根据本发明的另一个实施方式,一种延长非易失性存储器的使用寿命的计算机程序产品包括编码有指令的非暂时性计算机可读存储介质,所述指令适于由处理器执行来实现:将非易失性存储器单元从第一配置重新配置为第二配置,所述第一配置存储了选自由最小状态、至少一个中间状态和最大状态组成的组中的一个当前状态,所述第二配置存储了选自由所述最小状态和所述最大状态组成的组中的一个当前状态;并重新分配与所述最大状态相关联的离散值。
在附图和下面的文字描述中阐述了本发明的一个或多个实施方式的细节。从说明书和附图以及从权利要求书中可以容易地得到本发明的其它特征、目的和优点。
附图说明
图1是示出根据本发明实施方式的示例性非易失性存储器(NVM)系统的框图。
图2是绘制了根据本发明实施方式的针对NAND闪存块编程/擦除(P/E)周期的概率密度的示例性曲线图。
图3示出了根据本发明实施方式的示例性多级单元(MLC)阈值电压分布图以及示例性重新配置的MLC阈值电压分布图。
图4示出了根据本发明实施方式的示例性三电平单元(TLC)阈值电压分布图以及一对示例性重新配置的TLC阈值电压分布图。
图5是表示根据本发明实施方式的延长非易失性存储器的使用寿命的示例性方法的流程图。
具体实施方式
在图1中示出了本发明的实施方式。参考图1,其示出了采用存储器块监视和重新配置过程以便延长固态闪存的使用寿命的示例性非易失性存储器(NVM)系统10。NVM系统10包括非易失性存储器(NVM)器件12、存储器单元状态监视器14、数据分析器16、存储器单元解析器18、数据破坏管理器20、非易失性存储器(NVM)配置管理器22、阈值再分布管理器24和控制器26。
NVM器件12包括固态存储器装置,诸如实现NAND闪存或NOR闪存的固态驱动器(SSD)。NVM系统10可以延长NVM器件12的使用寿命。例如,NVM系统10可以重新捕获之前实现的NVM器件12在其原始配置中的剩余寿命。此外,通过重新配置闪存单元的阈值电压(Vth)分布,NVM系统10可以延长实现存储多于两个状态或多于一个位的信息的存储器单元(例如多电平单元(MLC)或三电平单元(TLC))固态闪存的NVM器件12的寿命。在一些实施方式中,重新配置阈值电压分布增加了所使用的状态或电平之间的间隙或噪声容限,从而确定存储的数据在存储器单元中的信息的含义或值,因此降低由状态或水平之间的噪声交叉引起的位差错率(BER)。
在各种实施方式中,NVM系统10中的基于NAND闪存的NVM器件12的总体寿命被认为包括三个寿命阶段。第一阶段可以包括NVM器件12最初作为具有初始预期寿命的系统或器件组件的一部分被安装的时间段。例如,在一个实施方式中,新制造的NVM器件12可以基于组装到服务器中的各种部件的统计预测的平均耐力而安装在由原始器件制造商(OEM)保修期所覆盖的网络服务器中。
第二阶段可以包括这样的时间段,在该时间段期间,NVM器件12基本上保持其原始形式,被修改以在最初安装NVM器件12的系统或器件的预期寿命之外持续使用。例如,在一个实施方式中,在OEM保修期结束时,网络服务器会被拆卸,NVM器件12可以被移除并且在某种第二生命中被实施在另一个系统或器件中。例如,由NVM器件制造商提供的部件保修期可能比覆盖原始服务器组件的OEM保修期更长。第二阶段可以在服务器停用服务之后回收组件NVM器件12的剩余预期寿命。
第三阶段可以包括这样的时段,在该时段期间,NVM器件12中的固态闪存单元中的一些或全部被重新配置,以在每个单元中存储更少的状态或位信息。例如,在一个实施方式中,多级单元(MLC)NAND闪存单元被重新配置为存储两个状态(或单位信息)而不是四个状态(或两位信息)。在另一个实施方式中,三级单元(TLC)NAND闪存单元被第一次重新配置为存储四个状态(或两位信息)而不是八个状态(或三位信息)。在又一个实施方式中,TLCNAND闪存单元被第二次重新配置为存储两个状态(或单位信息)。
存储器单元状态监视器14检查NVM系统10中的非易失性存储器单元的离散单元的健康状况。在各个实施方式中,存储器单元状况监视器14监视各个NVM器件单元在所有阶段期间的运行状况,例如随时间写入到单元的数据量、估计的单元写入放大、编程/擦除(P/E)操作周期统计等。除了收集用于通过损耗均衡技术保持NAND闪存单元的相对均匀使用的信息之外,存储器单元状况监视器14还连续地或间歇地更新与NVM系统10中固态闪存单元的离散单元相关联的关于磨损状况、可用性和空间使用的信息。
在一个实施方式中,固态闪存单元对应于NVM器件12中的存储器单元的物理块。其它实施方式可基于另一单元大小。例如,如本领域中已知的,常规SSD将固态闪存单元划分为逻辑单元或逻辑单元号(LUN)。每个LUN又包括由多个块组成的多个平面,这些平面被分成页。通常,页是程序(写)和读操作的基本单元。另一方面,块通常是用于擦除操作的基本单元。
随着时间的流逝,存储器单元状态监视器14累积编程/擦除周期数据。在实际应用中,累积的每个NAND闪存单元的P/E周期数根据统计分布或概率密度函数而变化。如图2所示,在一个实施方式中,存储器单元状态监视器14针对概率密度15绘制P/E周期13,以产生P/E周期分布。使用预期阈值(Te)19被确定为NVM器件12的标称P/E周期期望或耐久性。
基于在线数据分析对NAND块进行分级,并且根据关于使用期望阈值的所得等级或分数,将所选块用于剩余寿命作为MLC或配置为具有增大噪声容限的SLC。NVM系统10不假定NVM器件12中的固态闪存单元的所有单元共享相同的初始健康状况。代替仅在初始时间点测试存储器单元,存储器单元状况监视器14在每个NVM器件12的整个运行时段对存储器单元状态执行相对精细的监视。
数据分析器16分析每个NVM单元以确定关于单元条件的等级并且根据它们的条件将这些单元置于多个类别中。例如,数据分析器16基于各个NVM器件12的磨损水平对NVM器件12类别进行分类。
存储器单元解析器18应用定制标准来选择可继续使用的那些NVM器件12。例如,在一个实施方式中,在网络服务器退出服务的时间点,直接扫描组件NVM器件12以判定每个组件NVM器件12是否可以继续使用。
数据销毁管理器20完全消除存储在每个NVM器件12中的适合再使用的任何现有内容。所有存储的数据被完全破坏以确保在NVM器件12重新使用期间不能读出先前的数据。在一个实施方式中,实现此操作而不擦除所有块,以避免不必要地牺牲额外的P/E周期。只有在已经消除了现有内容之后,NVM器件12才能从服务器中移除,或者从数据中心移除,随后重新安装在另一个系统或器件中。
非易失性存储器(NVM)配置管理器22修改已经被选择继续使用的NVM器件12以使所选择的NVM器件12适用于在第二阶段中在其他系统或器件中使用。NVM配置管理器22重置一个或多个NVM器件12约束以允许在网络服务器退役之后恢复NVM器件12的剩余寿命。
基于已经收集的关于NAND闪存状况的逐单元信息,NVM配置管理器22自适应地修改每个NVM器件12的使用期望阈值(Te)。在一个实施方式中,NVM配置管理器22通过覆写存储在可编程寄存器中的值来改变NVM器件12的设置。根据NAND闪存状况信息来选择这些设置,以平衡剩余的NVM器件12寿命、工作努力、性能和所需容量。
阈值再分配管理器24通过重新配置闪存单元的阈值电压分布来重新配置多位存储器单元,例如多级单元(MLC)或三级单元(TLC)NAND闪存。一般来说,在执行编程序列之后,MLC存储器单元的电压范围被划分为四个电平或状态,其由三个读取电压电平分开,因此MLC存储器单元可存储两位信息。类似地,TLC存储器单元的电压范围被划分为八个电平,其由七个读取电压电平分开,因此TLC存储器单元可存储三位信息。
在任一情况下,电压电平之间的间隙宽度或容限都会影响差错率。随着NAND闪存单元由于P/E周期数量的增加而恶化,各个电压电平分布变宽,导致容限变得越来越窄。最终,电压电平分布会开始重叠,导致差错率增大。
阈值再分配管理器24重新配置闪存单元的单元,以在每个单元中存储较少的状态或位信息。在这样做时,两个状态的阈值电压分布之间的间隙或噪声容限变宽,这样设计是为了有效地抵消存储器单元能力降级。在各种实施方式中,扩展的噪声容限确保了所需的NVM器件12的性能,而不管累积的磨损。
例如,在一个实施方式中,阈值再分配管理器24重新配置MLC NAND闪存单元的单元以在每个单元中存储单个位信息,而不是两个位信息。现在参照图3,示出了具有由三个读取电压电平40,42,44分隔的四个可编程状态或电平32,34,36,38的示例性MLC阈值电压分布图30。MLC阈值电压分布图30还示出了具有两个可编程状态或电平48,50的示例性重新配置的MLC阈值电压分布图46。
在重新配置之前,标准MLC存储器单元存储包括最小阈值电压分布32、第一中间阈值电压分布34、第二中间阈值电压分布36和最大阈值电压分布38这四个状态或电平中的一个。在重新配置之后,仅使用分别与MLC阈值电压分布图30的最小阈值电压分布32和最大阈值电压电平分布38相对应的最左边状态48(擦除状态或最小电压电平)和最右边状态50(或最大电压电平)来编程MLC存储器单元。两个电平之间的噪声容限有效地增大到标准MLC阈值电压分布图46的最小阈值电压分布48与最大阈值电压分布50之间的近似距离54。
在实践中,通常使用两步编程过程将MLC存储器单元编程为MLC阈值电压分布图30的四个状态或电平32,34,36,38中的一个,其中从被擦除状态转变到临时中间状态的最低有效位(LSB)编程步骤之后是从临时状态转换到目标MLC状态的最高有效位(MSB)编程步骤。在一个实施方式中,使用从擦除状态48直接编程最大状态50的一步程序将重新配置的MLC存储器单元从擦除状态48编程到重新配置的MLC阈值电压分布图46的最大状态50。
在读取操作期间,通常检查标准MLC存储器单元的不断增大的读取电压电平40,42,44以确定存储在存储器单元中的当前状态。例如,如果阈值电压被确定为大于等于最低读取电压电平40,但不大于等于下一读取电压电平42,则指示第二状态34。
在一个实施方式中,当重新配置的MLC存储器单元的阈值电压电平被确定为大于等于较低读取电压电平40时,指示最大状态50。在另一实施方式中,当确定重新配置的MLC存储器单元的阈值电压电平大于等于中值读取电压电平42时,指示最大状态50。在另一实施方式中,仅当重新配置的MLC存储单元的阈值电压电平被确定为大于等于较高读取电压电平44时,才指示最大状态50。
在另一实施方式中,阈值再分配管理器24重新配置TLC NAND闪存单元以在每个单元中存储两位信息,而不是三位信息。参照图4,具有由七个读取电压电平78,80,82,84,86,88,90分隔开的八个可编程状态或电平62,64,66,68,70,72,74,76的示例性TLC阈值电压分布图60。图4还示出了具有四个可编程状态或电平94,96,98,100的示例性重新配置的TLC阈值电压分布图92。
因此,在重新配置之后,仅使用擦除状态(或最小阈值电压电平94)、第三状态(或第三TLC阈值电压电平96)、第五状态(或第五TLC阈值电压电平98)和第七状态(或第七TLC阈值电压电平100)对TLC存储器单元进行编程。电平之间的噪声容限有效地增大到连续TLC阈值电压分布之间的近似距离102。
在实践中,通常使用两步编程过程将TLC存储器单元编程为TLC阈值电压分布图60的八个状态或电平62,64,66,68,70,72,74,76中的一个,在两步编程过程中,最低有效位(LSB)编程步骤之后是最高有效位(MSB)编程步骤。在一个实施方式中,使用修改后的两步过程将重新配置的TLC存储器单元编程为重新配置的TLC阈值电压分布图92的四个状态或电平94,96,98,100中的一个,在修改后的两步过程中,从被擦除状态转变到临时状态的修改后的最低有效位(LSB)编程步骤之后是从临时状态转换到目标状态的修改后的最高有效位(MSB)编程步骤。
在又一个实施方式中,阈值再分布管理器24第二次重新配置的TLC NAND闪存单元以在每个单元中存储单个位信息,而不是两位信息。再次参考图4,示出了具有两个可编程状态或电平112,114的另一示例性重新配置的TLC阈值电压分布图110。
因此,在第二次重新配置之后,仅使用擦除状态(或最小阈值电压电平112)和最大状态(或最大阈值电压电平114)对TLC存储器单元进行编程。两个电平之间的噪声容限有效地增大到重新配置的TLC阈值电压分布图110的最小阈值电压分布112与最大阈值电压分布114之间的近似距离116。
在一个实施方式中,使用一步程序将重新配置的TLC存储器单元编程到重新配置的TLC阈值电压分布图110的两个状态或电平112,114中的一个,该一步程序从擦除电平112直接编程到最大电平114。
控制器26可以执行存储在计算机可读介质(诸如NVM器件12或连接到NVM系统10的外围存储部件)上的编程代码,如源代码、目标代码或可执行代码,以便执行NVM系统10的功能。在一个实施方式中,NVM系统10实现为固态器件(SSD)级,并且NVM系统10的功能由SSD闪存转换层(FTL)实现。在一些实施方式中,NVM系统10还通过网络接口连接到通信网络。
现在参照图5,示出了例如可以由图1的非易失性存储器(NVM)系统执行,以实现本公开中描述的用于延长固态非易失性存储器的使用寿命的方法的实施方式的示例性处理流程。该过程开始于框120,其中在服务期间随时间扫描诸如平面/块或页的非易失性存储器(NVM)单元,以监视各个NVM单元的健康状况,如上所述。相对于传统的现有系统,这种状态监视发生在粒度更细的水平上。
在框122中,分析所收集的NVM单元健康状况数据,例如以更新每个单元的磨损状况、记录坏的或不可用的块,以及跟踪单元空间使用。在框124中,基于每个NVM单元的健康状况和预期剩余寿命,将NVM单元单独分级并分类到单独类别中。
在框126中,在安装有诸如NAND闪存固态驱动器(SSD)或其它闪存存储器(NVRAM)的非易失性存储器(NVM)器件的原始器件(例如,服务器或存储器器件)的寿命结束时或附近,扫描NVM器件以解决NVM器件的布置。例如,在一个实施方式中,评估分配给各种条件类别的NVM单元的数量以估计NVM器件的剩余预期寿命。
在框128中,选择满足某些定制标准的NVM器件,以在原始器件退役之后继续在另一个服务应用中使用,如上所述。在框130中,在从原始器件卸载NVM器件之前,存储在NVM器件中的数据被完全消除或破坏,如上所述。
在框132中,从退役的原始器件中移除所选择的NVM器件。在框134中,修改NVM器件以继续在另一服务应用中使用。例如,如上所述,改变NVM器件中的设置以优化NVM器件在另一系统或器件中的使用。在框136中,将NVM器件安装在另一个系统或器件中,并且在框138中,通过在另一服务应用中继续使用来回收NVM器件的剩余预期寿命。
在框140中,重新配置NVM器件中的NVM单元以进一步延长NVM器件的寿命。如上所述,将NVM单元从每单元多位配置重新配置为每单元位一位配置。例如,状态或阈值电压分布被重新分配了不同的离散值。重新配置过程增大了NVM存储器单元的阈值电压分布之间的噪声容限,从而允许超过NVM器件的原始预期寿命进行扩展使用。在框142中,重新配置的NVM单元被注册以例如通过NVM器件的闪存转换层进行跟踪。
本文所述的系统和方法可以提供很多优点,例如增大了用于确定存储在存储器单元中的信息的含义或值的阈值电压电平之间的噪声容限。由状态之间的噪声交叉引起的相应降低的错误率可以延长使用寿命并降低固态驱动器(SSD)的总体拥有成本。
本文中参考流程图说明或框图描述了本发明的各个方面,其中每一框或框的任何组合可由计算机程序指令实施。指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,以实现机器或制造品,并且当由处理器执行时,指令创建用于实现功能、动作或在图中的每个框或框的组合中指定的事件。
在这点上,流程图或框图中的每个框可以对应于包括用于实现指定的逻辑功能的一个或多个可执行指令的代码的模块、段或部分。还应注意,在一些替代实施方式中,与任何块相关联的功能可以不按照附图中所示的顺序发生。例如,连续示出的两个块实际上可以基本同时执行,或者框有时可以以相反的顺序执行。
本领域普通技术人员将理解,本公开的各方面可以实现为器件、系统、方法或计算机程序产品。因此,本文通常称为电路、模块、组件或系统等的本公开的各方面可以以硬件、软件(包括源代码、目标代码、汇编代码、机器代码、微代码、驻留软件、固件等),或软件和硬件的任何组合,包括计算机程序产品,该计算机程序产品实现为包含计算机可读程序代码的计算机可读介质。
应当理解,可以进行各种变型。例如,如果以不同的顺序执行所公开的技术的步骤,和/或如果以不同的方式组合所公开的系统中的组件和/或由其他组件替换或补充,则仍然可以实现有用的结果。因此,其他实施方式落入所附权利要求的范围内。

Claims (20)

1.一种用于延长非易失性存储器的使用寿命的系统,包括:
存储有机器指令的存储器;和
连接到所述存储器的处理器,其执行所述机器指令以将非易失性存储器单元从第一配置重新配置为第二配置,所述第一配置存储从由第一数量的状态构成的组中选择的一个当前状态,所述第二配置存储从由第二数量的状态构成的组中选择的一个当前状态,其中,所述第一数量大于所述第二数量。
2.根据权利要求1所述的用于延长非易失性存储器的使用寿命的系统,其特征在于,所述处理器还执行所述机器指令以将所述单元从所述第一配置重新配置为所述第二配置,所述第一配置存储从由最小状态、至少一个中间状态和最大状态构成的组中选择的一个当前状态,所述第二配置存储从由所述最小状态和所述最大状态构成的组中选择的一个当前状态。
3.根据权利要求2所述的用于延长非易失性存储器的使用寿命的系统,其特征在于,所述最小状态对应于最小阈值电压分布,所述最大状态对应于最大阈值电压分布,所述最小阈值电压分布和所述最大阈值电压分布对应于从由多级单元NAND闪存或三级单元NAND闪存构成的组中选择的一个。
4.根据权利要求1所述的用于延长非易失性存储器的使用寿命的系统,其特征在于,所述处理器还执行所述机器指令以将所述非易失性存储器单元登记为快闪转换层中的重新配置单元,所述非易失性存储器单元包括固态硬盘中的NAND闪存单元的块。
5.根据权利要求1所述的用于延长非易失性存储器的使用寿命的系统,其特征在于,所述处理器还执行所述机器指令以将所述非易失性存储器单元登记为快闪转换层中的重新配置单元。
6.根据权利要求1所述的用于延长非易失性存储器的使用寿命的系统,其特征在于,所述处理器还执行所述机器指令以监视与所述非易失性存储器单元相关联的状况,并基于所述状况选择包括要继续使用的非易失性存储器单元的固态驱动器。
7.一种延长非易失性存储器的使用寿命的方法,包括:
将非易失性存储器单元从第一配置重新配置为第二配置,所述第一配置存储从由第一数量的状态构成的组中选择的一个当前状态,所述第二配置存储从由第二数量的状态构成的组中选择的一个当前状态,其中,所述第一数量大于所述第二数量。
8.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,在所述重新配置之前,大于第一预定电压但小于第二预定电压的与所述非易失性存储器单元的存储器单元相关联的阈值电压读数指示了第一中间状态,在所述重新配置之后,小于第二预定电压的阈值电压读数指示了最小状态。
9.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,在所述重新配置之前,大于第一预定电压但小于第二预定电压的与所述非易失性存储器单元的存储器单元相关联的阈值电压读数指示了第一中间状态,在所述重新配置之后,大于第一预定电压的阈值电压读数指示了最大状态。
10.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,重新配置所述非易失性存储器单元进一步包括:将所述单元从所述第一配置重新配置为所述第二配置,所述第一配置存储从由最小状态、第一中间状态、第二中间状态和最大状态构成的组中选择的一个当前状态。
11.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,重新配置所述非易失性存储器单元还包括将所述单元从第三配置重新配置为所述第一配置,所述第三配置存储从由最小状态、第一中间状态、第二中间状态、第三中间状态、第四中间状态、第五中间状态、第六中间状态和最大状态构成的组中选择的一个当前状态,所述第一配置存储从由所述最小状态、第一中间状态、第二中间状态和所述最大状态构成的组中选择的一个当前状态。
12.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,最小状态对应于最小阈值电压分布,最大状态对应于最大阈值电压分布。
13.根据权利要求12所述的延长非易失性存储器的使用寿命的方法,其特征在于,所述第一数量的状态对应于从由多级单元NAND闪存或三级单元NAND闪存构成的组中选择的一个。
14.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,重新配置所述非易失性存储器单元还包括忽略至少一个中间状态。
15.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,重新配置所述非易失性存储器单元还包括重新分配与最大状态相关联的离散值。
16.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,最小状态对应于擦除状态。
17.根据权利要求16所述的延长非易失性存储器的使用寿命的方法,其特征在于,还包括在单个步骤中重新配置之后从所述擦除状态编程最大状态。
18.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,所述非易失性存储器单元包括固态驱动器中的NAND闪存单元的块。
19.根据权利要求7所述的延长非易失性存储器的使用寿命的方法,其特征在于,还包括:
监视与所述非易失性存储器单元相关联的状况;和
基于所述状况选择包括要继续使用的非易失性存储单元的固态驱动器。
20.一种用于延长非易失性存储器的使用寿命的计算机程序产品,包括:
非暂时性计算机可读存储介质,其编码有适于由处理器执行以执行以下操作的指令:
将非易失性存储器单元从第一配置重新配置为第二配置,所述第一配置存储从由第一数量的状态构成的组中选择的一个当前状态,所述第二配置存储从由第二数量的状态构成的组中选择的一个当前状态,其中,所述第一数量大于所述第二数量。
CN201710172074.7A 2016-03-25 2017-03-22 延长非易失性存储器的使用寿命的系统、方法及计算机程序产品 Active CN107436847B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/081512 2016-03-25
US15/081,512 US20170277629A1 (en) 2016-03-25 2016-03-25 Extending the useful lifespan of nonvolatile memory

Publications (2)

Publication Number Publication Date
CN107436847A true CN107436847A (zh) 2017-12-05
CN107436847B CN107436847B (zh) 2021-04-30

Family

ID=59898061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710172074.7A Active CN107436847B (zh) 2016-03-25 2017-03-22 延长非易失性存储器的使用寿命的系统、方法及计算机程序产品

Country Status (2)

Country Link
US (1) US20170277629A1 (zh)
CN (1) CN107436847B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189694A (zh) * 2018-07-28 2019-01-11 华中科技大学 一种scm的数据编码方法及数据存储方法
CN113380315A (zh) * 2021-06-22 2021-09-10 中国科学院微电子研究所 一种存储器的纠错方法、纠错装置和数据刷新方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318423B2 (en) * 2016-12-14 2019-06-11 Macronix International Co., Ltd. Methods and systems for managing physical information of memory units in a memory device
KR20200116265A (ko) * 2019-04-01 2020-10-12 에스케이하이닉스 주식회사 컨트롤러 및 그것의 동작 방법
US11049570B2 (en) 2019-06-26 2021-06-29 International Business Machines Corporation Dynamic writes-per-day adjustment for storage drives
US11163482B2 (en) 2019-06-26 2021-11-02 International Business Machines Corporation Dynamic performance-class adjustment for storage drives
US11137915B2 (en) 2019-06-27 2021-10-05 International Business Machines Corporation Dynamic logical storage capacity adjustment for storage drives
US11972114B2 (en) * 2022-07-18 2024-04-30 Micron Technology, Inc. Dynamic block categorization to improve reliability and performance in memory sub-system

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206923A (zh) * 2006-12-14 2008-06-25 三星电子株式会社 对多层单元编程的方法及包括该单元的非易失性存储器件
CN101727976A (zh) * 2008-10-15 2010-06-09 晶天电子(深圳)有限公司 一种多层闪存装置、固态硬盘和分割非易失性存储器系统
CN102034548A (zh) * 2009-09-25 2011-04-27 三星电子株式会社 非易失性存储器件和系统及非易失性存储器件编程方法
CN102037561A (zh) * 2008-05-22 2011-04-27 美光科技公司 存储器单元、存储器单元构造及存储器单元编程方法
US20120023144A1 (en) * 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
CN102483955A (zh) * 2009-08-25 2012-05-30 美光科技公司 用于处理存储器装置中的阈值电压改变的方法、装置及系统
CN102831026A (zh) * 2012-08-13 2012-12-19 忆正科技(武汉)有限公司 多层单元闪存及其软信息位读取电压阈值动态调整方法
US20140059406A1 (en) * 2010-03-15 2014-02-27 Fusion-Io, Inc. Reduced level cell mode for non-volatile memory
CN104103317A (zh) * 2013-04-12 2014-10-15 旺宏电子股份有限公司 非易失性存储器及其操作方法
CN104571938A (zh) * 2013-10-28 2015-04-29 擎泰科技股份有限公司 在多层单元存储器存取数据的方法及其多层单元存储装置
CN104751889A (zh) * 2013-12-26 2015-07-01 北京兆易创新科技股份有限公司 一种非易失性存储器的复位方法
US20160011969A1 (en) * 2014-07-08 2016-01-14 Quanta Storage Inc. Method for accessing data in solid state disk
US20160141036A1 (en) * 2013-05-27 2016-05-19 Samsung Electronics Co., Ltd. Nonvolatile memory and related reprogramming method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US8037234B2 (en) * 2003-12-02 2011-10-11 Super Talent Electronics, Inc. Command queuing smart storage transfer manager for striping data to raw-NAND flash modules
US8959280B2 (en) * 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US9116792B2 (en) * 2012-05-18 2015-08-25 Silicon Motion, Inc. Data storage device and method for flash block management
US10055294B2 (en) * 2014-01-09 2018-08-21 Sandisk Technologies Llc Selective copyback for on die buffered non-volatile memory

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206923A (zh) * 2006-12-14 2008-06-25 三星电子株式会社 对多层单元编程的方法及包括该单元的非易失性存储器件
CN102037561A (zh) * 2008-05-22 2011-04-27 美光科技公司 存储器单元、存储器单元构造及存储器单元编程方法
CN101727976A (zh) * 2008-10-15 2010-06-09 晶天电子(深圳)有限公司 一种多层闪存装置、固态硬盘和分割非易失性存储器系统
CN102483955A (zh) * 2009-08-25 2012-05-30 美光科技公司 用于处理存储器装置中的阈值电压改变的方法、装置及系统
CN102034548A (zh) * 2009-09-25 2011-04-27 三星电子株式会社 非易失性存储器件和系统及非易失性存储器件编程方法
US20140059406A1 (en) * 2010-03-15 2014-02-27 Fusion-Io, Inc. Reduced level cell mode for non-volatile memory
US20120023144A1 (en) * 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
CN102831026A (zh) * 2012-08-13 2012-12-19 忆正科技(武汉)有限公司 多层单元闪存及其软信息位读取电压阈值动态调整方法
CN104103317A (zh) * 2013-04-12 2014-10-15 旺宏电子股份有限公司 非易失性存储器及其操作方法
US20160141036A1 (en) * 2013-05-27 2016-05-19 Samsung Electronics Co., Ltd. Nonvolatile memory and related reprogramming method
CN104571938A (zh) * 2013-10-28 2015-04-29 擎泰科技股份有限公司 在多层单元存储器存取数据的方法及其多层单元存储装置
CN104751889A (zh) * 2013-12-26 2015-07-01 北京兆易创新科技股份有限公司 一种非易失性存储器的复位方法
US20160011969A1 (en) * 2014-07-08 2016-01-14 Quanta Storage Inc. Method for accessing data in solid state disk

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189694A (zh) * 2018-07-28 2019-01-11 华中科技大学 一种scm的数据编码方法及数据存储方法
CN109189694B (zh) * 2018-07-28 2020-09-08 华中科技大学 一种scm的数据编码方法及数据存储方法
CN113380315A (zh) * 2021-06-22 2021-09-10 中国科学院微电子研究所 一种存储器的纠错方法、纠错装置和数据刷新方法

Also Published As

Publication number Publication date
US20170277629A1 (en) 2017-09-28
CN107436847B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN107436847A (zh) 延长非易失性存储器的使用寿命的系统、方法及计算机程序产品
US20200167083A1 (en) Techniques for controlling recycling of blocks of memory
US7849275B2 (en) System, method and a computer program product for writing data to different storage devices based on write frequency
US10699791B2 (en) Adaptive read voltage threshold calibration in non-volatile memory
US9864525B2 (en) Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US9910606B2 (en) End of life extension of solid state memory
CN106170833A (zh) 在数据存储系统中的具有模块化擦除的数据管理
US11398291B2 (en) Method and apparatus for determining when actual wear of a flash memory device differs from reliability states for the flash memory device
US9274943B2 (en) Storage unit management method, memory controller and memory storage device using the same
CN108228396B (zh) 用于处理驱动器的错误的方法和设备
US10108471B2 (en) System and method for utilizing history information in a memory device
CN104360957A (zh) 一种维持闪存损耗均衡的方法
US11734103B2 (en) Behavior-driven die management on solid-state drives
CN107678694A (zh) Raid条带重建方法及固态盘
CN103713857A (zh) 存储数据的方法及存储装置
US11733909B2 (en) Secure-erase prediction for data storage devices
CN115185471B (zh) Nand闪存颗粒及其逻辑单元筛选方法、电子设备
CN114974387B (zh) 基于固态硬盘主控芯片的闪存测试方法、装置及固态硬盘
CN114442936B (zh) 一种闪存转换层的块管理方法、装置、设备及存储介质
KR20230122412A (ko) 경사하강법을 이용한 플래시 메모리 기반 저장 장치의 수명 예측 방법 및 시스템
CN118098320A (zh) 一种基于固态硬盘的存储块替换方法及装置
Rahiman et al. GR-FB Block Cleaning Scheme in Flash Memory

Legal Events

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