CN104011800B - 用于非易失性存储器阵列的存储器单元的循环耐久性延展 - Google Patents
用于非易失性存储器阵列的存储器单元的循环耐久性延展 Download PDFInfo
- Publication number
- CN104011800B CN104011800B CN201180075989.7A CN201180075989A CN104011800B CN 104011800 B CN104011800 B CN 104011800B CN 201180075989 A CN201180075989 A CN 201180075989A CN 104011800 B CN104011800 B CN 104011800B
- Authority
- CN
- China
- Prior art keywords
- reading window
- erasing
- durability
- memory cells
- program
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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 sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
- G11C16/3409—Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了针对用于非易失性存储器阵列的存储器单元的循环耐久性延展的示例。示例包括基于编程/擦除循环计数或故障触发来实现一个或多个耐久性延展方案。一个或多个耐久性延展方案可以包括渐进的读取窗扩展、渐进的读取窗移位、擦除空白检查算法、动态软编程或动态预编程。
Description
背景技术
诸如NAND存储器之类的各类型的非易失性存储器典型地遭受在这些类型的存储器不可接受地执行和/或变得不可靠之前的有限数量的编程/擦除循环计数。例如,一些类型的NAND存储器存储由绝缘氧化层包围以保持电荷被俘获的浮动栅极(floating gate)上的电荷。NAND存储器操作取决于存储器单元通道与浮动栅极之间的氧化层的质量。随着编程/擦除循环计数增加,由于电荷(电子/空穴)在每个编程/擦除循环时流过氧化层,氧化层逐渐损耗或降级。这种氧化层降级可能导致较慢的擦除操作、编程期间较高的误比特率(BER)和来自浮动栅极的电荷漏泄。氧化层降级的所有这三种迹象可能限制NAND存储器耐久性。
NAND存储器耐久性还可能受到在NAND存储器单元的轻掺杂漏极(LDD)区域上方的氧化物中所俘获的电荷所限制。俘获的电荷可能造成存储器条(位线)的电阻中的明显增加。在最坏的情况下,没有电流通过存储器条(memory string)并且存储器条可以看作开路。看作开路可能导致该存储器条上的所有比特被读取为经编程的“0”,即使是在擦除操作之后。作为总是被读取为经编程的结果,这些存储器单元将不再被使用。
附图说明
图1图示了示例存储器系统。
图2图示了用于耐久性管理器的示例架构的框图。
图3图示了示例多级单元编程分布。
图4图示了示例擦除阈值电压(TEV)读取窗扩展表。
图5图示了具有基于对TEV的调整的延展读取窗的示例多级单元编程分布。
图6图示了示例TEV/编程阈值电压(PV)读取窗扩展表。
图7图示了具有基于对TEV/PV的调整的延展读取窗的示例多级单元编程分布。
图8图示了用于加载各种修整简档(trim profile)的示例流程图。
图9图示了示例TEV/PV读取窗移位表。
图10图示了具有基于对TEV/PV的调整的移位读取窗的示例多级单元编程分布。
图11图示了具有和不具有预编程和软编程的示例多级单元编程分布。
图12图示了用于非易失性存储器阵列的一个或多个存储器单元的循环耐久性延展的示例操作的流程图。
图13图示了示例计算平台。
具体实施方式
如在本公开中预期的,氧化层降级可能限制诸如NAND存储器之类的各类型的非易失性存储器的耐久性。当前,NAND存储器耐久性问题通过改进制造过程、存储器设备设置、对存储器单元使用的分布或存储器设备测试方法来解决。而且,可以在系统级上实现纠错能力以最小化降级的存储器单元的影响。然而,当前的技术中没有一个降低固有的NAND存储器降级或者尝试延迟或减缓随着编程/擦除循环计数增加的NAND存储器降级对存储器单元的负面影响。
在一些示例中,技术被实现以用于针对非易失性存储器阵列(例如NAND存储器)的存储器单元的循环耐久性延展。对于这些示例,可以确定针对非易失性存储器的一个或多个存储器单元的当前编程/擦除循环计数。当前编程/擦除循环计数然后可以与第一目标编程/擦除循环计数进行比较。一个或多个循环耐久性延展方案可以基于当前编程/擦除循环计数是否超过第一目标编程/擦除循环计数或基于是否已经达到故障触发来实现。一个或多个循环耐久性延展方案可以包括渐进的读取窗扩展、渐进的读取窗移位、擦除空白检查算法、动态软编程或动态预编程。
图1图示了示例存储器系统100的图解。在一些示例中,如图1中所示,存储器系统100可以包括控制器110、控制电路120、存储器阵列130。在一些示例中,由存储器阵列130执行的各种存储器操作可以由行控制132、p-阱控制134、c-源控制136和列控制138进行控制。存储器阵列130的总体操作可以由控制电路120和/或控制器110控制或引导。数据输入/输出缓冲器139可以被配置成至少暂时存储写入到或读取自存储器单元阵列130的数据。而且,如图1中所示,控制器110包括耐久性管理器112。如以下更多地描述的,耐久性管理器112包括可以基于编程/擦除循环计数(例如针对存储器单元阵列130)或与被包括在存储器单元阵列130中的一个或多个存储器单元相关联的故障触发而实现一个或多个循环耐久性延展方案的逻辑和/或特征。
在一些示例中,存储器阵列130可以是诸如NAND存储器之类的非易失性类型的存储器。对于这些示例,被包括在存储器阵列130中的一个或多个存储器单元可以被配置成维护多个状态或比特。多个比特可以经由要么单级单元(SLC)要么多级单元(MLC)编程的实现而被维护或存储在存储器单元中。
根据一些示例,行控制132可以耦合到存储器阵列130的字线。对于这些示例,行控制132可以经由字线被耦合以选择字线之一、施加读取电压、施加与由列控制138控制的位线电势水平组合的编程电压、以及施加擦除电压。而且,列控制138可以耦合到存储器阵列130的位线以读取被存储在存储器单元中的数据、确定编程操作期间存储器单元的状态,以及控制位线的电势水平以促进或抑制编程和擦除。P-阱控制可以控制存储器阵列130的p-阱电压并且c-源控制136可以控制被耦合到存储器阵列130的公共源线。
在一些示例中,列控制138可以被配置成读出被存储或维护在存储器阵列130中的数据并且数据可以经由数据I/O缓冲器139而输出到外部I/O数据线。对于这些示例,要存储在存储器阵列130的存储器单元中的编程数据可以经由外部I/O数据线而输入到数据I/O缓冲器139并且然后传递至列控制138。如图1中所示,在一些示例中,外部I/O数据线可以耦合到控制器110或由其管理。
根据一些示例,用于控制诸如存储器阵列130之类的存储器系统100的元件的命令数据可以从控制器110或控制器110的元件(例如耐久性管理器112)经由被耦合到控制电路120的控制线进行中继。控制数据,例如,可以告知存储器系统100的元件关于什么操作是所请求的。
在一些示例中,控制器110可以与诸如计算平台之类的主机系统耦合或被配置成与其耦合。计算平台可以实现为服务器、台式计算机、个人计算机(PC)、膝上型计算机、超移动计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息传递设备、数据通信设备等等的部分。对于这些示例,控制器110可以与计算平台的元件通信以从存储器阵列130读取数据或将数据写入存储器阵列130。控制器110可以被配置成从计算平台接收命令并且将命令转送到控制电路120。控制器110还可以被配置成控制在存储器系统100与计算平台之间的I/O数据线。
根据一些示例,存储器系统100可以合并为包括单个电路板上的控制器110的集成系统或其它类型的集成封装。对于这些示例,集成系统可以包括多个存储器阵列130和相关联的控制电路。集成系统可以嵌入为计算平台的部分或者可以被包括在可以可移动地耦合到计算平台的一种类型的配置(例如存储器卡或固态盘驱动器(SSD))中。这种类型的配置可以包括在图1中描绘的存储器系统100的所有元件或仅仅包括虚线上方的元件。控制器110可以因此与计算平台一起嵌入或者可以被包括在从计算平台可移动的存储器系统中。
图2图示了用于耐久性管理器112的示例架构的框图。在一些示例中,耐久性管理器112包括被配置或布置用于非易失性存储器阵列的存储器单元的循环耐久性延展的特征和/或逻辑。耐久性管理器112还可以包括被配置成基于编程/擦除循环计数或与非易失性存储器阵列的存储器单元相关联的故障触发而实现一个或多个耐久性延展方案的特征和/或逻辑。
根据一些示例,如图2中所示,耐久性管理器112包括耐久性逻辑210、控制逻辑220、存储器230和输入/输出(I/O)接口240。如图2中所图示,耐久性逻辑210可以耦合到控制逻辑220、存储器230和I/O接口240。耐久性逻辑210可以包括计数特征212、比较特征214、触发特征216或方案特征218中的一个或多个,或者其任何合理的组合。
在一些示例中,图2中绘制的元件被配置成支持或使能如本公开中描述的耐久性管理器112。给定耐久性管理器112可以包括图2中描绘的那些中的一些、全部或比那些更多的元件。例如,耐久性逻辑210和控制逻辑220可以分离地或共同地表示用以实现耐久性管理器112的特征的各种各样的(多个)逻辑设备或可执行内容。示例逻辑设备可以包括微处理器、微控制器、处理器电路、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、多核/多线程微处理器的核或隔绝线程中的一个或多个或其组合。
在一些示例中,如图2中所示,耐久性逻辑210包括计数特征212、比较特征214、触发特征216或方案特征218。耐久性逻辑210可以被配置成使用这些特征中的一个或多个以执行操作。例如,计数特征212可以确定针对存储器阵列的存储器单元的当前编程/擦除循环计数。比较特征214可以比较当前编程/擦除循环计数并确定当前编程/擦除循环计数是否超过目标编程/擦除循环计数。触发特征216可以确定针对存储器阵列的存储器单元中的至少一些是否已检测到或指示了故障触发。方案特征218可以基于当前编程/擦除循环计数超过目标编程/擦除循环计数或基于故障触发来实现一个或多个循环耐久性延展方案。
在一些示例中,控制逻辑220可以被配置成控制耐久性管理器112的总体操作。如上文所提到的,控制逻辑220可以表示各种各样的(多个)逻辑设备或可执行内容中的任何一个。对一些示例,控制逻辑220可以被配置成结合可执行内容或指令进行操作以实现耐久性管理器112的控制。在一些可替换示例中,控制逻辑220的特征和功能性可以在耐久性逻辑210内实现。
根据一些示例,存储器230可以被布置成存储可执行内容或指令以供控制逻辑220和/或耐久性逻辑210使用。可执行内容或指令可以被用于实现或激活耐久性管理器112的特征或元件。如以下更多地描述的,存储器230还可以被布置成至少暂时地维护与维护读取窗延展表、读取窗移位表、编程/擦除修整设置或编程/擦除修整简档相关联的信息。存储器230还可以被布置成至少暂时地维护与维护编程/擦除循环计数相关联的信息。
存储器230可以包括各种各样的非易失性存储媒介,包括但不限于一个或多个类型的闪速存储器、可编程变量或状态、只读存储器(ROM)或其它类型的静态存储媒介。在一些示例中,如果实现在计算平台中而没有功率约束(例如大电池或电源线),存储器230可以包括各种各样的存储器媒介,其还可以包括各类型的易失性存储器,诸如动态随机存取存储器(DRAM)或其它类型的动态存储媒介。
在一些示例中,I/O接口240可以经由在耐久性管理器112与描绘在图1中的存储器系统100的元件或者主机或计算平台的元件之间的本地通信介质或链路而提供接口。I/O接口240可以包括根据各种通信协议或标准而进行操作以通过本地通信介质或链路进行通信的接口。这些通信协议或标准可以被描述在一个或一个或多个行业标准(包括后代和变型)中,诸如与开放NAND闪速接口规范(ONFi)、集成电路间(I2C)规范、系统管理总线(SMBus)规范、加速图形端口(AGP)规范、外围组件互连高速(PCI高速)规范、通用串行总线(USB)规范或串行先进技术附连(SATA)规范相关联的那些。尽管本公开不仅仅限于以上提到的标准和相关联的协议。
图3图示了示例多级单元编程分布300。如图3中所示,单元编程分布300包括级L0到Ln、读取参考R1到Rn、编程电压PV1到PVn以及擦除阈值电压(TEV)。在一些示例中“n”可以指示在多级单元中所维护的级的数量并且可以通过n=2m来确定,其中“m”为大于1的任何正整数。而且,如图3中所示,沿着水平轴,单元阈值电压(Vt)被示出为从右向左增加。
在一些示例中,如图3中所示,多级单元编程分布300包括读取窗310。对于这些示例,读取窗310指示在TEV与PVn之间的阈值电压范围。读取窗310可以指示对读取在L0到Ln之间的多级单元中所分布的编程值所需要的Vt。
在一些示例中,诸如NAND存储器之类的具有使用多级单元编程分布300的存储器单元的一种类型的非易失性存储器可以具有与读取窗310的大小(Vt范围)成比例的编程/擦除循环耐久性。例如,较大的读取窗310需要较高的Vt来读取PVn并且针对与这些存储器单元相关联的浮动栅极的氧化层降级可能以较快的速率发生。因此,可能针对存储器单元而言,读取窗310的大小越大,编程/擦除循环耐久性越短。而且,根据一些示例,在增加编程/擦除循环计数时,氧化层降级可能引起针对至少一些存储器单元的一个或多个故障触发。一个或多个故障触发可能导致这些存储器单元不再被使用并且因此也可能缩短针对存储器单元的编程/擦除循环耐久性。
如以下更多地描述的,与类似于多级单元编程分布300的多级单元编程分布相关联的读取窗的各个方面可以被操控以减少氧化层降级并且可能地延展或增加针对存储器单元的编程/擦除循环耐久性。而且,可以实现一个或多个类型的循环耐久性延展方案,其可以包括操控/调整读取窗和/或可能地继续使用与故障触发相关联的至少一些存储器单元。根据一些示例,一个或多个类型的循环耐久性延展方案可以基于编程/擦除循环计数或响应于故障触发而由耐久性管理器112的逻辑和/或特征实现。
根据一些示例,与配置用于非易失性存储器的存储器结构相关联的特性可以被用于延展针对存储器单元的编程/擦除循环耐久性。例如,当存储器单元经历了较少数量的编程/擦除循环时,较窄(较小Vt范围)的读取窗可以是可能的。而且,针对较高级的读取参考Vt(例如如果m=2,R3)可以使得在较低编程/擦除循环计数处,较高的编程Vt可以较接近(例如在较低的Vt处)于读取参考Vt。如以下示例中描述的,这些特性二者可以使得读取窗能够基于编程/擦除循环计数而要么被扩展要么被移位。
图4图示了示例TEV读取窗扩展表400。如图4中所示,TEV读取窗扩展表400包括用于目标循环计数的列和用于TEV调整的列。在一些示例中,目标循环计数可以对应于针对图1中示出的存储器阵列130的编程/擦除循环计数并且TEV调整可以对应于对TEV以毫伏(mV)的增量调整。对于这些示例,TEV调整可以与由存储器阵列130的一个或多个存储器单元所利用的多级单元编程分布相关联并且可以被用于(例如,由耐久性管理器112)增量地扩展Vt范围(例如读取窗)以从一个或多个存储器单元读取编程值。
图5图示了具有基于对TEV的调整的延展读取窗的示例多级单元编程分布500。在一些示例中,分别示出与+1000mV和+850mV的TEV扩展相关联的初始读取窗510和扩展读取窗520。对于这些示例,总共四级L0到L3、三个编程电压P1到P3以及三个读取参考R1到R3被包括在多级单元编程分布500中。
根据一些示例,初始读取窗510和扩展读取窗520二者可以是由耐久性管理器112的逻辑和/或特征实现以延展存储器阵列130的一个或多个存储器单元的耐久性的循环耐久性延展方案的部分。对于这些示例,图4中示出的对于TEV读取窗扩展表400的目标循环计数和TEV调整值可以被耐久性管理器112用于增量地扩展读取窗。
在一些示例中,存储器阵列130的一个或多个存储器单元可以利用多级单元编程分布500。对于这些示例,当存储器单元第一次被使用时(例如,编程/擦除计数为1),可以建立初始读取窗510,其包括将TEV从L0单元的右边缘调整或移开+1000mV。如以上所提到的,在较低编程/擦除计数处的存储器单元的特性可以使得读取窗能够被调整。在这种情况下,将TEV向R1移动+1000mV可以使得针对1与1000之间的编程/擦除计数的很少到没有错误或故障触发。+1000mV扩展相比于具有在L0单元的右边缘处开始的读取窗可以压缩或缩短初始读取窗510。
根据一些示例,耐久性管理器112可以包括增量地调整用于多级单元编程分布500的读取窗以导致扩展的读取窗520的逻辑和/或特征。如图5中所示,TEV从+1000mV移位到+850mV。因此,扩展读取窗520现在具有比针对初始读取窗510的Vt范围大150mV的Vt范围。通过将TEV读取窗扩展表400用作指导,耐久性管理器112可以在3000、5000、10000、20000或30000编程/擦除循环计数处对读取窗做出进一步的调整。本公开不限于图4和图5中示出的循环计数或TEV扩展。可以实现循环计数和TEV扩展的任何数量的组合,只要组合不导致针对利用类似于多级单元编程分布500的多级单元编程分布的存储器单元的高得不可接受的编程/擦除错误。
图6图示了示例TEV/PV读取窗扩展表600。如图6中所示,TEV/PV读取窗扩展表600包括用于目标循环计数的列、用于TEV调整的列和用于PV3调整的列。在一些示例中,类似于TEV读取窗扩展表400,目标循环计数可以对应于针对存储器阵列130的编程/擦除循环计数,TEV扩展可以对应于以毫伏(mV)的TEV增量调整。不同于窗扩展表400,TEV/PV读取窗扩展表600还包括用于PV3中对应增量调整的指示。对于这些示例,TEV/PV3调整可以与由存储器阵列130的一个或多个存储器单元利用的多级单元编程分布相关联并且可以被用于(例如,由耐久性管理器112)增量地扩展Vt范围(例如读取窗)以从一个或多个存储器单元读取编程值。
图7图示了具有基于对TEV和PV3的调整的扩展读取窗的示例多级单元编程分布700。在一些示例中,分别示出与+1000mV/+850mV的TEV调整和-350mV/-400mV的PV3调整相关联的初始读取窗710和扩展读取窗720。对于这些示例,类似于图5,级L0到L3、P1到P3和R1到R3被包括在多级单元编程分布700中。还在图7中示出Vpassr。Vpassr(有时被称为Vread)可以表示在读取操作期间在诸如NAND存储器之类的非易失性存储器的未选字线上所施加的电压。
根据一些示例,初始读取窗710和扩展读取窗720二者可以是由耐久性管理器112实现的循环耐久性延展方案的部分。对于这些示例,在图6中示出的对于TEV/PV读取窗扩展表600的目标循环计数和TEV调整值可以被耐久性管理器112用于增量地扩展用于利用多级单元编程分布700的存储器单元的读取窗。
在一些示例中,存储器阵列130的一个或多个存储器单元可以利用多级单元编程分布700。对于这些示例,类似于图5,初始读取窗710可以包括+1000mV的调整的TEV。另外,PV3可以从L3单元的左边缘调整开。如上所提到的,存储器单元在较低编程/擦除计数处的特性可以使得读取窗能够被调整。在这种情况下,将PV3向R3调整400mV可以使得针对1和1000之间的编程/擦除计数很少到没有错误或故障触发。连同+1000mV TEV调整的-400mVPV3调整引起初始读取窗710相比于图5中示出的初始读取窗510的甚至更大的压缩。
根据一些示例,耐久性管理器112可以包括用以增量地调整用于多级单元编程分布700的读取窗以导致扩展读取窗720的逻辑和/或特征。如图7中所示,将TEV从+1000mV调整到+850mV并且将PV3从-400mV调整到-350mV。因此,扩展读取窗720现在具有比针对初始读取窗710的Vt范围大200mV的Vt范围。通过将TEV/PV读取窗扩展表600用作指导,耐久性管理器112可以对3000、5000、10000、20000或30000编程/擦除循环计数处的读取窗做出进一步调整。尽管,本公开不仅仅限于图6和图7中示出的循环计数或TEV/PV移位。
图8图示了用于加载各种修整简档的示例流程图800。在一些示例中,可以实现循环次数和TEV/PV/Vpassr调整的任何数量的组合,只要组合不导致针对利用类似于以上提到的多级单元编程分布700的多级单元编程分布的存储器单元的高得不可接受的编程/擦除错误。对于这些示例,TEV/PV/Vpassr的组合可以并入在一个或多个存储器单元经由其可以被操作的各种修整简档中。这些各种修整简档可以包括擦除修整设置、调整的编程阈值、编程修整设置和Vpassr电压。根据一些示例,如图8中所示,随着循环计数或故障触发被达到,可以加载不同的修整简档。
在一些示例中,较低的Vpassr电压可以与实现在较低循环计数处的修整简档相关联。对于这些示例,降低较低循环计数处的Vpassr电压改善诸如NAND存储器之类的各类型的非易失性存储器的读取干扰耐久性。作为较低循环计数处的较低Vpassr电压的结果,NAND存储器单元的读取干扰耐久性可以被改善。
图9图示了示例TEV/PV读取窗移位表900。如图9中所示,TEV/PV读取窗移位表900包括用于目标循环计数的列、用于TEV调整的列和用于PV3调整的列。在一些示例中,类似于图4和6中示出的扩展表,目标循环计数可以对应于针对存储器阵列130的编程/擦除循环计数,TEV/PV调整可以对应于以毫伏(mV)的TEV和PV3增量移位。不同于图6中示出的扩展表,TEV/PV读取窗移位表900允许一种读取窗,其维持相同大小或宽度而不是在较高编程/擦除循环计数处进行扩展。对于这些示例,TEV/PV3调整可以与由存储器阵列130的一个或多个存储器单元利用的多级单元编程分布相关联并且可以被用于(例如,由耐久性管理器112)增量地移位Vt范围(例如读取窗)以从一个或多个存储器单元读取编程值。
图10图示了具有基于对TEV和PV3的调整的扩展读取窗的示例多级单元编程分布1000。在一些示例中,分别示出与+200mV/+175mV的TEV调整和-100mV/-125mV的PV3调整相关联的移位读取窗1010和移位读取窗1020。对于这些示例,类似于图5和7,级L0到L3、P1到P3和R1到R3被包括在多级单元编程分布1000中。
根据一些示例,移位读取窗1010和移位读取窗1020二者可以是由耐久性管理器112实现的循环耐久性延展方案的部分。对于一些示例,图10中示出的对于TEV/PV读取窗移位表1000的目标循环计数和TEV调整值可以被耐久性管理器112用于增量地移位用于利用多级单元编程分布1000的存储器单元的读取窗。
在一些示例中,存储器阵列130的一个或多个存储器单元可以利用多级单元编程分布1000。对于这些示例,移位读取窗1010可以包括+200mV的初始调整的TEV和-100mV的调整的PV3。如以上提及的,存储器单元在较低编程/擦除计数处的特性可以使得TEV和读取窗二者能够被调整。在这种情况下,将TEV向R1移位+200mV并且将PV3向R3移位-100mV可以使得针对1和1000之间的编程/擦除计数很少到没有错误或故障触发。
根据一些示例,耐久性管理器112可以包括用以增量地调整用于多级单元编程分布1000的读取窗以导致移位读取窗1020(例如在已经超过1000的目标循环计数之后)的逻辑和/或特征。如图10中所示,将TEV从+200mV调整到+175mV并且将PV3从-100mV调整到-125mV。因此,移位读取窗1020仍然具有与移位读取窗1010相同的Vt范围,但是PV3已经从L3的左边缘移位得更远并且更接近于L0的右边缘。通过将TEV/PV读取窗扩展表1000用作指导,耐久性管理器112可以对后续编程/擦除循环计数处的读取窗做出进一步调整。本公开不限于图9和图10中示出的循环计数或TEV/PV调整。可以实现循环计数和TEV/PV移位的任何数量的组合,只要组合不导致针对利用类似于多级单元编程分布1000的多级单元编程分布的存储器单元的高得不可接受的编程/擦除错误。
根据一些示例,耐久性管理器112可以包括基于除了仅仅编程/擦除循环计数之外的其它准则来要么移位要么扩展读取窗的逻辑和/或特征。对于这些示例,一个或多个故障触发可以使得耐久性管理器112实现一个或多个循环耐久性延展方案,其可以包括如以上提到的移位或扩展读取窗。例如,针对存储器阵列130的一个或多个存储器单元的最大误比特率或块故障可以指示当前读取窗正引起与多级单元编程分布500、700或1000相关联的L0和/或L3处的过度编程/擦除错误。读取窗可以被延展或移位,而不是等待达到给定的目标循环计数。
在一些示例中,耐久性管理器112可以包括在达到目标编程/擦除计数或响应于故障触发时加载各种修整设置或简档的逻辑和/或特征。对于这些示例,各种修整设置或简档可以包括用于操作一个或多个存储器单元以便移位或扩展读取窗的信息。例如,移位或扩展TEV可以包括擦除修整设置的加载,其包括针对一个或多个存储器单元的开始擦除栅极电压、用于擦除循环的步长和脉冲宽度。
对于其中TEV和PV3二者被移位或扩展的其它示例,可以加载修整简档,其包括擦除修整设置、用于对PV3的调整的信息和用于PV1、PV2和PV3的编程修整设置。类似于擦除修整设置,用于PV1、PV2和PV3的步长和脉冲宽度可以被包括在编程修整设置中。修整简档还可以包括与R1到R3相关联的其它信息或与根据修整简档进行操作的一个或多个存储器单元相关联的编程抑制值(例如Vpassr)。
在一些示例中,除了读取窗移位或扩展之外,可以实现其它循环耐久性延展方案。这些其它的循环耐久性延展方案可以包括使用擦除空白检查算法、动态软编程或动态预编程。
根据一些示例,擦除空白检查算法可以基于块擦除验证未通过而实现。对于这些示例,这些块擦除验证未通过可以归因于存储器130的一个或多个存储器单元的轻掺杂漏极(LDD)区域中的降级的氧化物。降级的氧化物可能导致被俘获的电荷并且当施加第一电压时(例如大约2V)引起第一块擦除验证未通过。擦除空白检查算法的实现可以包括具有用以将第二、较高电压(例如大约6V)施加到一个或多个存储器单元并且然后确定是否已经发生第二块擦除验证未通过的逻辑和/或特征的耐久性管理器112。耐久性管理器112然后可以基于对第二块擦除未通过是否已经发生的确定而将与一个或多个存储器单元相关联的块标识为通过或未通过擦除验证。如果标识为通过,则一个或多个存储器单元的耐久性可以被延展,因为一个或多个存储器单元可以仍然被使用,而不是被标记为易出错的并且不再被使用。
在一些示例中,可以实现动态软编程以通过一旦已经超过给定目标编程/擦除循环计数时就停止一个或多个存储器单元的软编程来延展一个或多个存储器单元的耐久性。对于这些示例,软编程可能已发生在擦除操作之后以使擦除分布紧致并且可以在擦除操作之前包括相对小的电压脉冲。在较高的编程/擦除计数之后,软编程可能不是必需的并且停止软编程可以延展一个或多个存储器单元的耐久性。
根据一些示例,还可以实现动态预编程以延展一个或多个存储器单元的耐久性。对于这些示例,一旦已经超过给定的目标编程/擦除循环计数,预编程就可以选择性地在一个或多个存储器单元上执行。选择性执行预编程可以包括仅仅在一个或多个存储器单元被部分编程和擦除的情况下执行预编程。
图11图示了具有和不具有预编程和软编程的示例多级单元编程分布。在一些示例中,如图11中所示,多级单元编程分布1110和1120描绘了不具有和具有预编程和软编程的级L0的形状。对于这些示例,预编程和软编程可以导致缓和的编程脉冲的使用以收紧擦除分布。如以上提到的,实现诸如动态预编程和软编程之类的循环耐久性延展方案可以延展一个或多个存储器单元的编程/擦除耐久性。
图12图示了用于非易失性存储器阵列的一个或多个存储器单元的循环耐久性延展的示例操作的流程图。在一些示例中,如图1中所示的存储器系统100的元件可以被用于说明与图12中描绘的流程图相关的示例操作。如图1和图2中所示的耐久性管理器112也可以被用于说明示例操作。图4-7和9-10中示出的多级单元编程分布500、700或1000、TEV读取窗扩展表400、TEV/PV读取窗扩展表600或TEV/PV读取窗移位表900也可以被用于说明示例操作。但是所描述的示例操作不限于存储器系统100、耐久性管理器112上的实现或图4-7和9-10中示出的分布或表。
从开始移动到框1210(确定当前计数),耐久性管理器112可以包括被配置成确定针对存储器阵列130的存储器单元的当前编程/擦除循环计数(例如经由计数特征212)的逻辑和/或特征。在一些示例中,当前计数可以至少暂时地维护在存储器(例如存储器230)中。
从框1210进行到判定框1220(当前计数超过目标计数或故障触发?),耐久性管理器112可以包括被配置成确定当前计数是否已经超过给定目标计数(例如经由比较特征212)或针对至少一些存储器单元是否已经检测到或指示了故障触发(例如经由触发特征214)的逻辑和/或特征。例如,1200的目标循环计数可以是给定目标计数。对于这些示例,如果当前计数未超过1200的目标循环计数或检测到/指示故障触发,则过程移动到框1210。如果检测到/指示了故障触发,则过程移动到判定框1230。可替换地,如果当前计数确实超过目标循环计数,则过程移动到框1270。
从判定框1220进行到判定框1230(最大BER或块故障?),耐久性管理器112可以包括被配置成确定故障触发是否与最大误比特率(BER)或块故障相关联(例如经由触发特征216)的逻辑和/或特征。在一些示例中,如果最大BER或块故障是原因所在,则过程移动到框1240。否则,过程移动到判定框1250。
从判定框1230移动到框1240(实现渐进的读取窗扩展或移位),耐久性管理器112可以包括被配置成实现渐进的读取窗扩展或移位(例如经由方案特征218)的逻辑和/或特征。在一些示例中,最大BER或块故障的故障触发可以是可能需要被扩展或移位以减少针对与一个或多个存储器单元相关联的存储器块的误比特和/或块故障的读取窗的结果。对于这些示例,用于一个或多个存储器单元的读取窗可以被扩展或移位以可能地减少误比特和/或块故障数量,而不是等待超过下一个目标循环计数。
从判定框1230移动到判定框1250(块擦除验证未通过?),耐久性管理器112可以包括被配置成确定故障触发是否是由于针对与一个或多个存储器单元相关联的存储器块的块擦除验证未通过(例如经由触发特征216)的逻辑和/或特征。如果触发故障是由于块擦除未通过,则过程移动到框1260。否则过程移动到框1270。
从判定框1250移动到框1260(实现擦除空白检查算法),耐久性管理器112可以包括被配置成在一个或多个存储器单元上实现擦除空白检查算法(例如经由方案特征218)的逻辑和/或特征。如先前提到的,块擦除验证未通过可能已经导致使用相对低的第一栅极电压(例如大约2V)来进行块擦除验证。在一些示例中,耐久性管理器112可以将高于第一电压的第二栅极电压(例如大约6V)施加到一个或多个存储器单元并且然后可以做出关于一个或多个存储器单元在较高的第二栅极电压处是将通过还是通不过擦除验证的确定。
从判定框1220或从判定框1250移动到框1270(实现至少一个循环耐久性延展方案),耐久性管理器112可以包括被配置成实现至少一个循环耐久性延展方案(例如经由方案特征218)的逻辑和/或特征。在一些示例中,耐久性管理器112可以实现至少一个方案或方案的各种组合。这些方案可以包括渐进的读取窗扩展、渐进的读取窗移位、动态软编程或动态预编程。对于一些示例,所实现的方案数量可以随编程/擦除循环计数达到更高水平而增加。对于其它示例,所实现的方案数量可以随编程/擦除循环计数达到更高水平而减少。
从框1240、1260或1270进行到判定框1280(达到最大计数?),耐久性管理器112可以包括被配置成确定一个或多个存储器单元是否已经达到最大编程/擦除计数(例如经由计数特征212)的逻辑和/或特征。在一些示例中,一个或多个存储器单元可能由于超过最大编程/擦除计数之后的可靠性担忧而被禁用。如果当前编程/擦除计数超过最大编程/擦除计数,则过程结束。否则过程移动到框1210。
图13图示了示例计算平台1300。如图13中所示,计算平台1300包括操作系统1310、(多个)应用1330、(多个)输入/输出(I/O)设备1340、存储装置1350、存储器1360、中央处理单元(CPU)1370、芯片集1380和通信(Comms)1390。根据一些示例,在图13中还描绘了若干接口以用于互连和/或通信地耦合计算平台1300的元件。例如,用户接口1315和接口1325可以允许用户(未示出)和/或(多个)应用1330耦合到操作系统1310。而且,接口1335可以允许操作系统1310的元件(例如(多个)设备驱动器1312)通信地耦合到计算平台1300的元件,诸如(多个)I/O设备1340、存储装置1350、存储器1360、CPU 1370、芯片集1380或comms 1390。接口1354例如可以允许计算平台1300的硬件和/或固件元件通信地耦合在一起,例如经由系统总线或其它类型的内部通信信道。
在一些示例中,(多个)应用1330可以包括可以实现在计算平台1300上的应用。对于这些示例,(多个)应用1330可以请求访问或使用计算平台1300的元件,诸如存储装置1350或存储器1360。
根据一些示例,如图13中所示,操作系统1310可以包括(多个)设备驱动器1312。(多个)设备驱动器1312可以包括被配置成与计算平台1300的硬件/固件类型的元件交互(例如经由接口1335)的逻辑和/或特征。例如,(多个)设备驱动器1312可以包括控制或引导存储装置1350或存储器1360满足由(多个)应用130或操作系统1310做出的请求的设备驱动器。
尽管未示出,计算平台1300可以包括各种接口电路,诸如以太网接口和/或通用串行总线(USB)接口等等。在一些示例中,(多个)I/O设备1340可以包括连接到接口电路以用于键入要被计算平台1300的元件实现的命令和数据的一个或多个输入设备。例如输入设备可以包括键盘、鼠标、触摸屏、追踪板、追踪球、isopoint(iso点)、语音识别系统和/或相似物。类似地,(多个)I/O设备1340可以包括连接到接口电路以用于向操作者输出信息的一个或多个输出设备。例如,如若期望,输出设备可以包括一个或多个显示器、打印机、扬声器和/或其它输出设备。例如,输出设备之一可以是显示器。显示器可以是阴极射线管(CRT)、液晶显示器(LCD)或任何其它类型的显示器。
在一些示例中,存储装置1350可以包括各种类型的存储器,其被配置成实现或操作在操作的存储模式中。存储装置1350可以包括不同类型的存储设备中的至少一个或组合以存储相对大量的数据。这些不同类型的存储设备可以包括但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连的存储设备、闪速存储器、备有电池的SDRAM(同步DRAM)、网络可访问存储设备、和/或其它类型的非易失性存储器(例如相变材料(PCM))中的一个或多个。
如图13中所示,存储装置1350还包括控制器1352以促进对维护在存储装置1350处的存储器的控制或访问。在一些示例中,控制器1352可以包括类似于以上描述的耐久性管理器112的耐久性管理器。对于这些示例,被包括在存储装置1350处的各类型存储器中至少一些可以包括诸如NAND存储器之类的非易失性存储器。被包括在控制器1352中的耐久性管理器可以实现如上描述的针对非易失性存储器的一个或多个耐久性延展方案。在其它示例中,芯片集1380可以包括控制器以促进对存储装置1350的控制或访问,并且耐久性管理器可以被包括在该控制器中。
根据一些示例,存储器1360可以包括被配置成实现或操作在操作的存储器模式中的各类型的存储器。在操作的存储器模式中,存储器1360可以被计算平台1300的各种元件利用(例如作为芯片外存储器)。对于这些实现,存储器1360可以包括不同类型的存储器中的至少一个或组合以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态RAM(SRAM)、相变材料RAM(PRAM)或包括NOR存储器在内的各类型的非易失性存储器。
根据一些示例,CPU 1370可以被实现为用于计算平台1300的中央处理单元。CPU1370可以包括具有一个或多个处理器核或具有有着任何数量的处理器核的任何数量的处理器的一个或多个处理单元或元件。CPU 1370可以包括任何类型的处理单元,诸如,例如,多处理单元、精简指令集计算机(RISC)、具有流水线(pipeline)的处理器、复杂指令集计算机(CISC)、数字信号处理器(DSP)等等。
在一些示例中,芯片集1380可以提供操作系统1310、(多个)I/O设备1340、存储装置1350、存储器1360、CPU 1370或comms 1390之中的互通信。例如,芯片集1380可以提供操作系统1310、(多个)I/O设备1340、存储装置1350和CPU 1370之间的互通信以在操作系统1310的请求下从存储装置1350检索信息以将由CPU 1370渲染的图形显示在与(多个)I/O设备1340一起被包括的显示器上。
在一些示例中,comms 1390可以包括使得计算平台1300能够与远程于计算平台1300的元件进行外部通信的逻辑和/或特征。这些逻辑和/或特征可以包括经由一个或多个有线或无线网络的、通过有线和/或无线通信信道或连接的通信。在跨这样的网络的通信中,comms 1390可以依照任何版本中的一个或多个可应用的通信或联网标准而进行操作。
如以上提到的,接口1354可以允许计算平台1300的硬件和/或固件元件通信地耦合在一起。根据一些示例,通信信道接口1354可以依照一个或多个协议或标准而进行操作。这些协议或标准可以被描述在一个或一个或多个行业标准(包括后代和变型)中,诸如与开放NAND闪速接口规范(ONFi)、集成电路间(I2C)规范、系统管理总线(SMBus)规范、加速图形端口(AGP)规范、外围组件互连高速(PCI高速)规范、通用串行总线(USB)规范或串行先进技术附连(SATA)规范相关联的那些。尽管本公开不仅仅限于以上提到的标准和相关联的协议。
在一些示例中,计算平台1300可以被包括在计算设备中。计算设备的示例可以包括服务器、台式计算机、个人计算机(PC)、膝上型计算机、超移动计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息传递设备、数据通信设备等等。
可以使用硬件元件、软件元件或这二者的组合来实现各种示例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定示例是否通过使用硬件元件和/或软件元件来实现可以依照任何数量的因素而变化,诸如所期望的计算速率、功率级、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
至少一个示例的一个或多个方面可以通过存储在机器可读介质上的代表指令来实现,所述指令代表处理器内的各种逻辑,其当被机器读取时使得机器构造逻辑以执行本文所描述的技术。这样的表示,称作“IP核”可以存储在有形、机器可读介质上并且供应给各种客户或制造设施以加载到实际上制成逻辑或处理器的构造机器中。
可以使用硬件元件、软件元件或这二者的组合来实现各种示例。在一些示例中,硬件元件可以包括设备、组件、处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等等。在一些示例中,软件元件可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定示例是否通过使用硬件元件和/或软件元件来实现可以依照任何数量的因素而变化,诸如所期望的计算速率、功率级、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束,如针对给定实现所期望的那样。
一些示例可以包括制品。制品可以包括存储逻辑的非暂时性存储介质。在一些示例中,非暂时性存储介质可以包括能够存储电子数据的一个或多个类型的计算机可读存储媒介,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。在一些示例中,逻辑可以包括各种软件元件,诸如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。
根据一些示例,制品可以包括存储或维护指令的非暂时性存储介质,所述指令当由计算机或系统运行时,使得计算机或系统执行依照所描述的示例的方法和/或操作。指令可以包括任何合适类型的代码,诸如源代码、编译代码、解译代码、可执行代码、静态代码、动态代码等等。可以根据预定义的计算机语言、方式或语法来实现指令,以用于指令计算机执行某种功能。可以使用任何合适的高级、低级、面向对象的、可视化、编译和/或解译的编程语言来实现指令。
可以使用表述“在一个示例中”或“示例”连同它们的衍生物来描述一些示例。这些术语意味着结合示例描述的特定特征、结构或特性被包括在至少一个示例中。短语“在一个示例中”在本说明书中的各种地方的出现不一定都是指相同示例。
可以使用表述“耦合的”和“连接的”连同它们的衍生物来描述一些示例。这些术语不一定意图作为彼此的同义词。例如,使用术语“连接的”和/或“耦合的”的描述可以指示两个或更多元件与彼此处于直接物理或电接触。然而,术语“耦合的”还可以意味着两个或更多元件并未与彼此处于直接接触,但还仍然与彼此协作或交互。
要强调的是,提供本公开的摘要以遵照37 C.F.R.章节1.72(b),其要求将允许读者快速弄清技术公开性质的摘要。其在理解到其将不被用于解释或限制权利要求的范围或含义的情况下被提交。另外,在前述具体实施方式中可以看到,出于简化本公开的目的而在单个示例中使各种特征聚集在一起。这种公开方法不会被解释为反映以下意图,即所要求保护的示例需要比明确详述在每个权利要求中的特征更多的特征。相反,如以下权利要求反映的,发明主题在于比单个公开的示例的所有特征更少。因此以下权利要求据此被并入到具体实施方式中,其中每个权利要求作为分离的示例而独立成立。在随附权利要求中,术语“包括”和“在其中”分别被用作相应术语“包含”和“其中”的简明英语等同。此外,术语“第一”、“第二”、“第三”等等仅仅被用作标记,并且不旨在将数字要求强加在它们的对象上。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是要理解的是,在随附的权利要求中限定的主题不一定限于以上描述的特定特征或动作。相反,以上描述的特定特征和动作是作为实现权利要求的示例形式被公开。
Claims (22)
1.一种用于非易失性存储器阵列的存储器单元的循环耐久性延展的方法,包括:
确定针对非易失性存储器阵列的一个或多个存储器单元的当前编程/擦除循环计数;
将当前编程/擦除循环与第一目标编程/擦除循环计数比较;以及
基于当前编程/擦除循环计数是否超过第一目标编程/擦除循环计数或基于是否已达到与一个或多个存储器单元相关联的故障触发,实现一个或多个循环耐久性延展方案,所述一个或多个循环耐久性延展方案包括渐进的读取窗扩展、渐进的读取窗移位、擦除空白检查算法、动态软编程或动态预编程中的至少一个,所述渐进的读取窗扩展包括通过调整擦除阈值电压使得读取窗具有更大的阈值电压范围来从一个或多个存储器单元读取编程值而增量地延展用于读取一个或多个存储器单元的读取窗,所述渐进的读取窗移位包括通过提升擦除阈值电压和降低编程阈值以使得读取窗移位而同时维持从一个或多个存储器单元读取编程值的阈值电压范围来增量地移位用于读取一个或多个存储器单元的读取窗。
2.根据权利要求1所述的方法,包括故障触发将包含针对一个或多个存储器单元的最大误比特率并且基于一个或多个存储器单元具有超过最大误比特率的所测量误比特率来实现渐进的读取窗扩展循环耐久性延展方案。
3.根据权利要求1所述的方法,包括故障触发将包含针对一个或多个存储器单元的块故障触发点并且基于与一个或多个存储器单元相关联的存储器块达到块故障触发点来实现渐进的读取窗扩展循环耐久性延展方案。
4.根据权利要求1所述的方法,包括故障触发将包含针对与一个或多个存储器单元相关联的存储器块的第一块擦除验证未通过并且基于第一块擦除验证未通过来实现擦除空白检查算法,实现擦除空白检查算法包括:
向一个或多个存储器单元施加第二栅极电压,第二栅极电压高于施加到一个或多个存储器单元的触发第一块擦除验证未通过的第一栅极电压;
确定第二块擦除验证未通过是否已在第二栅极电压的施加之后发生;以及
基于对第二块擦除验证未通过是否已发生的确定来将与一个或多个存储器单元相关联的块标识为通过或未通过块擦除验证。
5.根据权利要求1所述的方法,包含增量地延展读取窗的渐进的读取窗扩展包括:读取窗延展增量与被超过的第一目标编程/擦除循环计数相关联。
6.根据权利要求1所述的方法,包含增量地延展读取窗的渐进的读取窗扩展包括:增量地延展包括加载第一擦除修整设置,所述第一擦除修整设置基于第一目标编程/擦除循环计数来调整擦除阈值电压。
7.根据权利要求6所述的方法,包括第一擦除修整设置将包含用于一个或多个存储器单元的开始擦除栅极电压、用于擦除循环的步长和脉冲宽度。
8.根据权利要求1所述的方法,包含增量地延展读取窗的渐进的读取窗扩展包括调整擦除阈值电压和编程阈值电压二者以使得读取窗具有更大的阈值电压范围来从一个或多个存储器单元读取编程值,读取窗延展增量与被超过的第一目标编程/擦除循环计数相关联。
9.根据权利要求8所述的方法,包括调整擦除阈值电压和调整编程阈值电压二者以使得读取窗具有更大的阈值电压范围包括加载第一修整简档,所述第一修整简档包括擦除修整设置、经调整的编程阈值电压和编程修整设置,第一修整简档与第一目标编程/擦除循环计数相关联。
10.根据权利要求1所述的方法,包含增量地移位读取窗的渐进的读取窗移位包括:读取窗移位增量与被超过的第一编程/擦除循环计数相关联。
11.根据权利要求1所述的方法,包括通过基于当前编程/擦除循环计数超过第一目标编程/擦除循环计数而停止一个或多个存储器单元的软编程来实现动态软编程。
12.根据权利要求1所述的方法,包括通过基于当前编程/擦除循环计数超过第一目标编程/擦除循环计数而选择性地在一个或多个存储器单元上执行预编程来实现动态预编程,选择性执行预编程包括仅仅在一个或多个存储器单元被部分编程和擦除的情况下执行预编程。
13.根据权利要求1所述的方法,包括被配置为NAND闪速存储器的非易失性存储器阵列的一个或多个存储器单元。
14.一种用于非易失性存储器阵列的存储器单元的循环耐久性延展的装置,包括:
控制器;以及
通信地耦合到控制器的存储器单元,存储器单元被布置成存储耐久性管理器,所述耐久性管理器操作于控制器上以确定针对非易失性存储器阵列的一个或多个存储器单元的当前编程/擦除循环计数并且将当前编程/擦除循环与第一目标编程/擦除循环计数比较,耐久性管理器还被配置成基于当前编程/擦除循环计数是否超过第一目标编程/擦除循环计数或基于是否已达到与一个或多个存储器单元相关联的故障触发,实现一个或多个循环耐久性延展方案,所述一个或多个循环耐久性延展方案包括渐进的读取窗扩展、渐进的读取窗移位、擦除空白检查算法、动态软编程或动态预编程中的至少一个,所述渐进的读取窗扩展包括通过调整擦除阈值电压使得读取窗具有更大的阈值电压范围来从一个或多个存储器单元读取编程值而增量地延展用于读取一个或多个存储器单元的读取窗,所述渐进的读取窗移位包括通过提升擦除阈值电压和降低编程阈值以使得读取窗移位而同时维持从一个或多个存储器单元读取编程值的阈值电压范围来增量地移位用于读取一个或多个存储器单元的读取窗。
15.根据权利要求14所述的装置,包括被配置为NAND闪速存储器的非易失性存储器阵列的一个或多个存储器单元。
16.根据权利要求14所述的装置,包括故障触发和耐久性管理器,所述故障触发包含针对一个或多个存储器单元的最大误比特率,所述耐久性管理器被配置成基于一个或多个存储器单元具有超过最大误比特率的所测量原始误比特率而实现渐进的读取窗扩展循环耐久性延展方案。
17.根据权利要求14所述的装置,包括故障触发和耐久性管理器,所述故障触发包含针对与一个或多个存储器单元相关联的存储器块的第一块擦除验证未通过,耐久性管理器被配置成基于第一块擦除验证未通过而实现擦除空白检查算法,实现擦除空白检查算法包括耐久性管理器被配置成:
使得向一个或多个存储器单元施加第二栅极电压,第二栅极电压高于施加到一个或多个存储器单元的触发第一块擦除验证未通过的第一栅极电压;
确定第二块擦除验证未通过是否已在第二栅极电压的施加之后发生;以及
基于对第二块擦除验证未通过是否已发生的确定来将与一个或多个存储器单元相关联的块标识为通过或未通过块擦除验证。
18.根据权利要求14所述的装置,被配置成通过增量地延展读取窗来实现渐进的读取窗扩展的耐久性管理器包括:读取窗延展增量响应于被超过的第一目标编程/擦除循环计数。
19.根据权利要求14所述的装置,被配置成通过增量地延展读取窗来实现渐进的读取窗扩展的耐久性管理器包括耐久性管理器被配置成调整擦除阈值电压和编程阈值电压二者以使得读取窗具有与从一个或多个存储器单元读取编程值相关联的更大阈值电压范围,读取窗延展增量响应于被超过的第一目标编程/擦除循环计数。
20.根据权利要求14所述的装置,被配置成通过增量地移位读取窗来实现渐进的读取窗移位的耐久性管理器包括:读取窗移位增量响应于被超过的第一编程/擦除循环计数。
21.根据权利要求14所述的装置,包括耐久性管理器被配置成通过响应于当前编程/擦除循环计数超过第一目标编程/擦除循环计数而停止一个或多个存储器单元的软编程来实现动态软编程。
22.根据权利要求14所述的装置,包括耐久性管理器被配置成通过响应于当前编程/擦除循环计数超过第一目标编程/擦除循环计数而引起一个或多个存储器单元上的预编程的选择性使用来实现动态预编程,预编程的选择性使用包括仅仅在一个或多个存储器单元被部分编程和擦除的情况下执行预编程。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/067558 WO2013100958A1 (en) | 2011-12-28 | 2011-12-28 | Cycling endurance extending for memory cells of a non-volatile memory array |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104011800A CN104011800A (zh) | 2014-08-27 |
CN104011800B true CN104011800B (zh) | 2017-03-08 |
Family
ID=48698201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180075989.7A Active CN104011800B (zh) | 2011-12-28 | 2011-12-28 | 用于非易失性存储器阵列的存储器单元的循环耐久性延展 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9164836B2 (zh) |
CN (1) | CN104011800B (zh) |
WO (1) | WO2013100958A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367389B2 (en) * | 2013-03-14 | 2016-06-14 | Seagate Technology Llc | Recovery strategy that reduces errors misidentified as reliable |
US20150046664A1 (en) * | 2013-08-08 | 2015-02-12 | SMART Storage Systems, Inc. | Storage Control System with Settings Adjustment Mechanism and Method of Operation Thereof |
US9785499B2 (en) | 2014-02-12 | 2017-10-10 | Seagate Technology Llc | Hot-read data aggregation and code selection |
US9690655B2 (en) | 2014-09-30 | 2017-06-27 | EMC IP Holding Company LLC | Method and system for improving flash storage utilization by predicting bad m-pages |
US9589645B2 (en) | 2014-10-06 | 2017-03-07 | Sandisk Technologies Llc | Block refresh to adapt to new die trim settings |
US9583207B2 (en) * | 2015-02-10 | 2017-02-28 | Sandisk Technologies Llc | Adaptive data shaping in nonvolatile memory |
KR102295528B1 (ko) * | 2015-08-25 | 2021-08-30 | 삼성전자 주식회사 | 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법 |
US10324839B2 (en) | 2017-11-03 | 2019-06-18 | Micron Technology, Inc. | Trim setting determination on a memory device |
US10679712B2 (en) | 2017-12-21 | 2020-06-09 | Cypress Semiconductor Corporation | Non-volatile memory device and method of blank check |
US10509597B2 (en) * | 2018-01-02 | 2019-12-17 | Intel Corporation | Memory block access modes for a storage device |
US11709539B2 (en) | 2018-01-24 | 2023-07-25 | Western Digital Technologies, Inc. | Low power state staging |
US10564868B2 (en) * | 2018-01-24 | 2020-02-18 | Western Digital Technologies, Inc. | Method and apparatus for selecting power states in storage devices |
KR102483922B1 (ko) | 2018-08-07 | 2023-01-02 | 삼성전자 주식회사 | 저항성 메모리 장치의 열화 감지 방법 및 시스템 |
KR102497214B1 (ko) | 2018-08-07 | 2023-02-07 | 삼성전자 주식회사 | 저항성 메모리 장치의 열화 보상 방법 및 시스템 |
KR102610821B1 (ko) * | 2018-11-15 | 2023-12-06 | 삼성전자주식회사 | 내구성 저하를 판단하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법 |
US11004525B1 (en) * | 2020-02-20 | 2021-05-11 | Sandisk Technologies Llc | Modulation of programming voltage during cycling |
US11392312B2 (en) | 2020-08-25 | 2022-07-19 | Micron Technology, Inc. | Read calibration based on ranges of program/erase cycles |
US11189355B1 (en) | 2020-08-25 | 2021-11-30 | Micron Technology, Inc. | Read window based on program/erase cycles |
US11430528B2 (en) | 2020-08-25 | 2022-08-30 | Micron Technology, Inc. | Determining a read voltage based on a change in a read window |
US11437111B2 (en) * | 2020-12-15 | 2022-09-06 | Micron Technology, Inc. | Trims corresponding to program/erase cycles |
CN112908392B (zh) * | 2021-02-09 | 2023-09-15 | 东芯半导体股份有限公司 | 控制非易失性存储器参数的控制方法 |
KR20230098664A (ko) * | 2021-06-30 | 2023-07-04 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 3차원 nand 메모리를 위한 데이터 보호 |
US11705206B2 (en) | 2021-08-17 | 2023-07-18 | Sandisk Technologies Llc | Modifying program and erase parameters for single-bit memory cells to improve single-bit/multi-bit hybrid ratio |
US20240029804A1 (en) * | 2022-07-20 | 2024-01-25 | Sandisk Technologies Llc | Adaptive fail bits threshold number for erasing non-volatile memory |
WO2024045113A1 (en) * | 2022-09-01 | 2024-03-07 | Micron Technology, Inc. | Memory sub-system lun bypassing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101268519A (zh) * | 2005-08-01 | 2008-09-17 | 桑迪士克股份有限公司 | 用自调整最大程序循环对非易失性存储器进行编程 |
CN101821812A (zh) * | 2007-10-17 | 2010-09-01 | 美光科技公司 | 存储器装置编程窗口调整 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7495966B2 (en) * | 2006-05-01 | 2009-02-24 | Micron Technology, Inc. | Memory voltage cycle adjustment |
US7679961B2 (en) * | 2007-04-25 | 2010-03-16 | Micron Technology, Inc. | Programming and/or erasing a memory device in response to its program and/or erase history |
US7649782B2 (en) | 2007-07-31 | 2010-01-19 | Freescale Semiconductor, Inc. | Non-volatile memory having a dynamically adjustable soft program verify voltage level and method therefor |
KR101403429B1 (ko) * | 2007-10-09 | 2014-06-03 | 삼성전자주식회사 | 멀티 비트 프로그래밍 장치 및 방법 |
US8151137B2 (en) * | 2009-05-28 | 2012-04-03 | Lsi Corporation | Systems and methods for governing the life cycle of a solid state drive |
KR101655306B1 (ko) * | 2010-02-24 | 2016-09-07 | 삼성전자주식회사 | 메모리 시스템 및 그것의 액세스 방법 |
-
2011
- 2011-12-28 US US13/976,007 patent/US9164836B2/en not_active Expired - Fee Related
- 2011-12-28 CN CN201180075989.7A patent/CN104011800B/zh active Active
- 2011-12-28 WO PCT/US2011/067558 patent/WO2013100958A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101268519A (zh) * | 2005-08-01 | 2008-09-17 | 桑迪士克股份有限公司 | 用自调整最大程序循环对非易失性存储器进行编程 |
CN101821812A (zh) * | 2007-10-17 | 2010-09-01 | 美光科技公司 | 存储器装置编程窗口调整 |
Also Published As
Publication number | Publication date |
---|---|
US20140047302A1 (en) | 2014-02-13 |
US9164836B2 (en) | 2015-10-20 |
CN104011800A (zh) | 2014-08-27 |
WO2013100958A1 (en) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104011800B (zh) | 用于非易失性存储器阵列的存储器单元的循环耐久性延展 | |
US10699790B2 (en) | Erase and soft program for vertical NAND flash | |
US9465584B2 (en) | Method for generating random number, memory storage device and control circuit | |
KR101785448B1 (ko) | 비휘발성 메모리 장치 및 이의 프로그램 방법 | |
KR101654030B1 (ko) | Nand 메모리 내구성을 개선하는 동적 윈도우 | |
CN110400588A (zh) | 存储器装置以及该存储器装置的操作方法 | |
CN110471788A (zh) | 异步功率损耗影响的数据结构 | |
CN106504789A (zh) | 储存器件及其操作方法 | |
CN104321822B (zh) | 延长的选择栅寿命 | |
US8315107B2 (en) | Erase completion recognition | |
Park et al. | Floating-gate coupling canceller for multi-level cell NAND flash | |
CN109308931A (zh) | 存储装置及其操作方法 | |
CN110459256A (zh) | 动态p2l异步功率损耗降低 | |
US9312013B1 (en) | Configuration method of erase operation, memory controlling circuit unit and memory storage device | |
CN104376872B (zh) | 一种对快闪存储器擦除中断的处理方法 | |
CN109411002A (zh) | 一种数据读取的方法及闪存控制器 | |
CN103811070B (zh) | 一种高可靠性NAND Flash的读取方法及其系统 | |
CN104916321B (zh) | 可再编程存储器中的一次编程 | |
CN104572324A (zh) | 固态储存装置及其控制方法 | |
CN107562563A (zh) | Nand Flash控制方法和装置 | |
CN106205695A (zh) | 半导体器件及其操作方法 | |
CN103180908B (zh) | 用于提高闪存的耐久性的方法和装置 | |
KR101556611B1 (ko) | 플래시 메모리 블럭들의 적응적 프로그래밍 혹은 소거 | |
CN105575430A (zh) | 一种非易失性存储器的擦除方法 | |
CN103000224A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |