CN111540398B - 用于对存储器装置的存储器单元进行编程的方法和相关存储器装置 - Google Patents
用于对存储器装置的存储器单元进行编程的方法和相关存储器装置 Download PDFInfo
- Publication number
- CN111540398B CN111540398B CN201911335663.8A CN201911335663A CN111540398B CN 111540398 B CN111540398 B CN 111540398B CN 201911335663 A CN201911335663 A CN 201911335663A CN 111540398 B CN111540398 B CN 111540398B
- Authority
- CN
- China
- Prior art keywords
- memory cells
- pass
- programming
- programmed
- memory
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 506
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000008672 reprogramming Effects 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 229910001092 metal group alloy Inorganic materials 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/5628—Programming or writing circuits; Data input 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/10—Programming or data input 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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
-
- 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/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5648—Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本申请案涉及用于对存储器装置的存储器单元进行编程的方法和相关存储器装置。用于对多级存储器单元进行编程的方法的一个实施例包含在多遍次编程操作的第一遍次中将低位页数据编程到存储器单元。所述方法包含在所述多遍次编程操作的第二遍次中,在将较高位页数据编程到所述存储器单元之前,将所述低位页数据重新编程到所述存储器单元。
Description
技术领域
本发明大体上涉及存储器,且特定来说,在一或多个实施例中,本发明涉及对多级存储器单元进行编程的设备和方法。
背景技术
存储器装置通常经提供作为计算机或其它电子装置中的内部半导体集成电路装置。存在许多不同类型的存储器,包含随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)和快闪存储器。
快闪存储器装置已发展成用于宽广范围的电子应用的非易失性存储器的普遍来源。快闪存储器通常使用允许高存储器密度、高可靠性和低电力消耗的单晶体管存储器单元。经由电荷存储结构(例如,浮动栅极或电荷陷阱)的编程(其通常被称为写入)或其它物理现象(例如,相变或极化),所述存储器单元的阈值电压(Vt)的改变确定每一存储器单元的数据状态(例如,数据值)。快闪存储器和其它非易失性存储器的常见用途包含个人计算机、个人数字助理(PDA)、数码相机、数字媒体播放器、数字记录器、游戏机、电器、交通工具、无线装置、移动电话和可装卸式存储器模块,且非易失性存储器的用途不断扩大。
NAND快闪存储器为快闪存储器装置的一种常见类型,因此被称为借以布置基本存储器单元配置的逻辑形式。通常,布置用于NAND快闪存储器的存储器单元的阵列,使得所述阵列的行的每一存储器单元的控制栅极连接在一起以形成例如字线的存取线。阵列的列包含在一对选择栅极(例如,源极选择晶体管和漏极选择晶体管)之间串联连接在一起的存储器单元的串(通常被称为NAND串)。每一源极选择晶体管可以连接至源极,而每一漏极选择晶体管可以连接至数据线,例如列位线。已知在一串存储器单元与源之间和/或在一串存储器单元与数据线之间使用多于一个选择栅极的变化。
在编程存储器中,通常可以将存储器单元编程为通常被称为单级单元(SLC)或多级单元(MLC)的存储器单元。SLC可以使用单个存储器单元来表示一个数字(例如,位)的数据。例如,在SLC中,Vt为2.5V可以指示经编程存储器单元(例如,表示逻辑0),而Vt为-0.5V可以指示经擦除单元(例如,表示逻辑1)。作为实例,SLC中的经擦除状态可以由小于或等于0V的任何阈值电压表示,而经编程数据状态可以由大于0V的任何阈值电压表示。
MLC使用多于两个Vt范围,其中每一Vt范围指示不同的数据状态。如众所周知,例如死区的容限(例如,一定数量的伏特)可以分隔相邻的Vt范围,例如,以促进区分数据状态。通过将位模式分配给特定Vt范围,多级单元可以利用传统非易失性存储器单元的模拟性质。虽然MLC通常使用存储器单元来表示二进制数的数据状态中的一个数据状态(例如,4、8、16、...),但是操作为MLC的存储器单元可以用来表示非二进制数的数据状态。例如,在MLC使用三个Vt范围的情况下,可以使用两个存储器单元共同表示八个数据状态中的一个。
在对MLC存储器进行编程时,通常使用多于一个遍次来编程数据值,例如,在每一遍次中编程一或多个数字。例如,在四级MLC(通常被简称为MLC)中,可以在第一遍次中将第一数字(例如最低有效位(LSB),通常被称为低位页(LP)数据)编程到存储器单元,因此产生两个(例如,第一和第二)阈值电压范围。随后,可以在第二遍次中将第二数字(例如,最高有效位(MSB),通常被称为高位页(UP)数据)编程到存储器单元,通常将那些存储器单元中在第一阈值电压范围内的某一部分移动到第三阈值电压范围,且将那些存储器单元中在第二阈值电压范围内的某一部分移动至第四阈值电压范围。类似地,八级MLC(通常被称为TLC)可以表示三位的位模式,包含第一数字,例如,最低有效位(LSB)或低位页(LP)数据;第二数字,例如,高位页(UP)数据;以及第三数字,例如最高有效位(MSB)或特高位页(XP)数据。在操作TLC中,可以在第一遍次中将LP数据编程到存储器单元,从而产生两个阈值电压范围,随后在第二遍次中将UP数据和XP数据编程,从而产生八个阈值电压范围。
在每一遍次中,编程通常利用以下迭代过程:将编程脉冲施加到存储器单元,且响应于所述编程脉冲验证所述存储器单元是否已达到其所要数据状态,且重复所述迭代过程,直到所述存储器单元通过验证。一旦存储器单元通过验证,就可以抑制其进一步编程。可以通过改变(例如,增加)编程脉冲的电压电平来重复所述迭代过程,直到经选择用于编程操作的每一存储器单元都达到其相应所要数据状态,或声明某一故障,例如,在编程操作期间达到允许编程脉冲的最大数目。
在多遍次编程操作中,由于电荷损失机制,低位页编程单元的阈值电压可能会降低。在此状况下,当在多遍次编程操作的第二遍次中将较高位页数据编程到存储器单元时,具有最接近于低位页编程单元的编程级别的存储器单元可以与现有低位页编程单元重叠。如果在完成较高位页数据的编程之前发生了电力丢失,那么当恢复电力时,不能将重叠的存储器单元的阈值电压彼此区分开,这可能造成数据丢失。
出于上述原因,且出于所属领域的技术人员在阅读和理解本说明书后即刻将明了的下述其它原因,此项技术中需要用于对多级存储器单元进行编程的替代方法和用以执行此类方法的系统和设备。
发明内容
在一个方面中,本申请案提供一种用于对多级存储器单元进行编程的方法,所述方法包括:在多遍次编程操作的第一遍次中将低位页数据编程到存储器单元;及在所述多遍次编程操作的第二遍次中,在将较高位页数据编程到所述存储器单元之前,将所述低位页数据重新编程到所述存储器单元。
在另一方面中,本申请案提供一种用于对多级存储器单元进行编程的方法,所述方法包括:在多遍次编程操作的第一遍次中将低位页数据编程到存储器单元;及在所述多遍次编程操作的第二遍次中将较高位页数据编程到所述存储器单元,使得在经受擦除数据的较高位页数据之前对经受所述经编程低位页数据的较高位页数据进行编程。
在另一方面中,本申请案提供一种存储器装置,其包括:多级存储器单元阵列;及控制器,其经配置以经由多遍次编程操作对所述多级存储器单元进行编程,所述多遍次编程操作在第一遍次中将低位页数据编程到所述存储器单元,且在第二遍次中将所述低位页数据重新编程到所述存储器单元且将较高位页数据编程到所述存储器单元。
在另一方面中,本申请案提供一种存储器装置,其包括:多级存储器单元阵列;及控制器,其经配置以经由多遍次编程操作对所述多级存储器单元进行编程,所述多遍次编程操作在第一遍次中将低位页数据编程到所述存储器单元,且在第二遍次中将较高位页数据编程到所述存储器单元,使得在待编程到较低级别的存储器单元之前对待编程到较高级别的存储器单元进行编程。
在另一方面中,本申请案提供一种存储器装置,其包括:多级存储器单元阵列;及控制器,其经配置以经由多遍次编程操作对所述多级存储器单元进行编程,所述多遍次编程操作在第一遍次中对低位页数据进行编程,且在第二遍次中对较高位页数据进行编程,使得与待编程到较低级别的存储器单元并行地对待编程到较高级别的存储器单元进行编程。
附图说明
图1为作为电子系统的一部分与处理器进行通信的存储器装置的一个实施例的简化框图。
图2A到2B为可以在参考图1所描述的类型的存储器装置中使用的存储器单元阵列的部分的示意图。
图3根据实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。
图4根据另一实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。
图5根据另一实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。
图6根据另一实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。
图7A到7B根据实施例描绘并行编程操作。
图8A到8B根据另一实施例描绘另一并行编程操作。
图9根据另一实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。
图10A到10B为说明用于对多级存储器单元进行编程的方法的一个实施例的流程图。
图11A到11B为说明用于对多级存储器单元进行编程的方法的另一实施例的流程图。
具体实施方式
在以下详细说明中,参考形成本文的一部分且其中以说明的方式展示特定实施例的附图。在图式中,相同参考编号遍及数个视图基本上类似组件。可利用其它实施例,且可在不背离本发明的范围的情况下做出结构、逻辑和电改变。因此,不应在限制意义上理解以下详细描述。
本文中揭示用于对多级存储器单元的阵列进行编程以在多遍次编程操作期间防止低位页数据和较高位页数据重叠的方法和设备。存储器装置的控制器可以经配置以经由多遍次编程操作来对多级存储器单元进行编程。在一个实施例中,控制器经配置以在第一遍次中将低位页数据编程到存储器单元,且在第二遍次中将低位页数据重新编程到存储器单元并将较高位页数据编程到存储器单元。在另一实施例中,控制器经配置以在第一遍次中将低位页数据编程到存储器单元,且在第二遍次中将较高位页数据编程到存储器单元,使得在待编程到较低级别的存储器单元之前对待编程到较高级别的存储器单元进行编程。在又一实施例中,控制器经配置以在第一遍次中对低位页数据进行编程且在第二遍次中对较高位页数据进行编程,使得与待编程到较低级别的存储器单元并行地对待编程到较高级别的存储器单元进行编程。
图1为根据实施例的作为第三设备(呈电子系统的形式)的一部分与第二设备(呈处理器130的形式)进行通信的第一设备(呈存储器装置100的形式)的简化框图。电子系统的一些实例包含个人计算机、平板计算机、数码相机、数字媒体播放器、数字记录器、游戏、电器、交通工具、无线装置、蜂窝式电话,等等。处理器130,例如,在存储器装置100外部的控制器,可以为存储器控制器或其它外部主机装置。
存储器装置100包含在逻辑上布置成若干和若干列的存储器单元阵列104。逻辑行的存储器单元通常耦合到相同存取线(共同被称为字线),而逻辑列的存储器单元通常选择性地耦合到相同数据线(共同被称为位线)。单个存取线可与一个以上存储器单元逻辑行相关联,且单个数据线可与一个以上逻辑列相关联。存储器单元阵列104的至少一部分的存储器单元(图1中未展示)能够经编程到至少两个数据状态中的一者。
行解码电路108和列解码电路110经提供以解码地址信号。接收并解码地址信号以存取存储器单元阵列104。存储器装置100还包含I/O控制电路112,以管理命令、地址和数据到存储器装置100的输入以及数据和状态信息从存储器装置100的输出。地址寄存器114与I/O控制电路112和行解码电路108以及列解码电路110通信,以在解码之前锁存地址信号。命令寄存器124与I/O控制电路112和控制逻辑116通信以锁存传入命令。
内部控制器(例如,控制逻辑116)响应于命令而控制对存储器单元阵列104的存取且生成关于外部处理器130的状态信息,即,控制逻辑116经配置以根据本文中所描述的实施例执行存取操作。控制逻辑116与行解码电路108和列解码电路110通信以响应于地址而控制行解码电路108和列解码电路110。
控制逻辑116也与高速缓冲存储器寄存器118通信。高速缓冲存储器寄存器118如控制逻辑116所引导而锁存传入或传出数据以在存储器单元阵列104正忙于分别写入或读取其它数据时暂时地存储数据。在编程操作(例如,写入操作)期间,数据从感测装置106传递到高速缓冲存储器寄存器118。然后将数据从高速缓冲存储器寄存器118传递到数据寄存器120,以传送到存储器单元阵列104;然后,新数据从感测装置106锁存到高速缓冲存储器寄存器118中,感测装置从I/O控制电路112接收新数据。在读取操作期间,数据从高速缓冲存储器寄存器118传递到感测装置106,感测装置将数据传递到I/O控制电路112以输出到外部处理器130;然后,新数据从数据寄存器120传递到高速缓冲存储器寄存器118。状态寄存器122与I/O控制电路112通信,且控制逻辑116锁存状态信息以输出到处理器130。
存储器装置100在控制逻辑116处经由控制链路132从处理器130接收控制信号。控制信号可以至少包含芯片使能CE#、命令锁存器使能CLE、地址锁存器使能ALE、写入使能WE#和读取使能RE#。取决于存储器装置100的性质,可以通过控制链路132进一步接收额外控制信号(未展示)。存储器装置100经由多路复用输入/输出(I/O)总线134从处理器130接收命令信号(其表示命令)、地址信号(其表示地址)和数据信号(其表示数据)且经由I/O总线134将数据输出到处理器130。
例如,在I/O控制电路112处经由I/O总线134的输入/输出(I/O)引脚[7:0]接收命令,并将其写入到命令寄存器124中。在I/O控制电路112处经由总线134的输入/输出(I/O)引脚[7:0]接收地址,并将其写入到地址寄存器114中。在I/O控制电路112处,经由用于8位装置的输入/输出(I/O)引脚[7:0]或用于16位装置的输入/输出(I/O)引脚[15:0]接收数据并通过感测装置106将所述数据写入到高速缓冲存储器寄存器118中。随后将数据写入到数据寄存器120中,以对存储器单元阵列104进行编程。对于另一实施例,可以省略高速缓冲存储器寄存器118,且通过感测装置106将数据直接写入到数据寄存器120中。还通过用于8位装置的输入/输出(I/O)引脚[7:0]或用于16位装置的输入/输出(I/O)引脚[15:0]输出数据。
所属领域的技术人员将了解,可提供额外电路和信号,且图1的存储器装置已经简化。应认识到,可能未必需要将参考图1所描述的各种块组件的功能性隔离以区分集成电路装置的组件或组件部分。例如,集成电路装置的单个组件或组件部分可以经调适以执行图1的多于一个块组件的功能性。替代地,集成电路装置的一或多个组件或组件部分可以经组合以执行图1的单个块组件的功能性。
另外,虽然根据用于各种信号的接收和输出的通俗惯例而描述特定I/O引脚,但应注意,可在各种实施例中使用I/O引脚的其它组合或数目。
图2A为NAND存储器阵列200A的示意图,例如,作为存储器单元阵列104的一部分。存储器阵列200A包含例如字线2020到202N的存取线和例如位线2040到204M的数据线。字线202可以以多对一的关系耦合到图2A中未展示的全局存取线(例如,全局字线)。对于一些实施例,存储器阵列200A可以形成在半导体上,所述半导体例如可以经导电掺杂以具有导电类型,例如p型导电性,例如以形成p阱,或n型导电性,例如形成n阱。
存储阵列200A可以按行(每一行对应于字线202)和列(每一列对应于位线204)布置。每一列可包含一串串联耦合的存储器单元,例如NAND串2060到206M中的一个。每一NAND串206可以耦合到命令源216,且可以包含存储器单元2080到208N。存储器单元208表示用于存储数据的非易失性存储器单元。每一NAND串206的存储器单元208可以串联连接在选择晶体管210(例如,场效应晶体管)之间,例如选择晶体管2100到210M中的一个(例如,其可以为源极选择晶体管,通常被称为选择栅极源极),以及选择晶体管212(例如,场效应晶体管),例如选择晶体管2120到212M中的一个(例如,其可能为漏极选择晶体管,通常被称为选择栅极漏极)。选择晶体管2100到210M可能共同耦合到选择线214(例如源极选择线),且选择晶体管2120到212M可能会共同耦合到选择线215,例如漏极选择线。
每一选择晶体管210的源极可以连接到共用源极216。每一选择晶体管210的漏极可以连接到对应NAND串206的存储器单元2080的源极。例如,选择晶体管2100的漏极可以连接到对应NAND串2060的存储器单元2080的源极。因此,每一选择晶体管210可以经配置以选择性地将对应NAND串206耦合到共用源极216。每一选择晶体管210的控制栅极可以连接到选择线214。
每一选择晶体管212的漏极可以连接到对应NAND串206的位线204。例如,选择晶体管2120的漏极可以连接到对应NAND串2060的位线2040。每一选择晶体管212的源极可以连接到对应NAND串206的存储器单元208N的漏极。例如,选择晶体管2120的源极可以连接到对应NAND串2060的存储器单元208N的漏极。因此,每一选择晶体管212可以经配置以选择性地将对应NAND串206耦合到对应位线204。每一选择晶体管212的控制栅极可以连接到选择线215。
图2A中的存储阵列可能为准二维存储阵列,且可以具有大致平面结构,例如,其中共同源极216,串206和位线204在基本上平行平面中延伸。替代地,图2A中的存储器阵列可以为三维存储器阵列,例如,其中串206可以基本上垂直于包含共用源极216的平面以及包含位线204的平面延伸,所述位线204可以基本上平行于含有共用源极216的平面。
存储器单元208的典型构造包含数据存储结构234(例如,浮动栅极、电荷陷阱等),其可以确定所述单元的数据值(例如,通过阈值电压的改变);和控制栅极236,如图2A中所展示。存储器单元208可以进一步具有定义源极230和定义漏极232。存储器单元208使其控制栅极236耦合到(且在一些状况下形成)字线202。
存储器单元208的一列为NAND串206或耦合到给定位线204的多个NAND串206。存储器单元208的一行为共同耦合到给定字线202的存储器单元208。存储器单元208的一行可以但不必包含共同耦合到给定字线202的所有存储器单元208。存储器单元208的行通常可以被划分为存储器单元208的物理页的一或多个组,且存储器单元208的物理页通常包含共同耦合到给定字线202的每隔一个的存储器单元208。例如,共同耦合到字线202N且选择性地耦合到偶数位线204(例如,位线2040、2042、2044等)的存储器单元208可以为存储器单元208(例如,偶数存储器单元)的一个物理页,而共同耦合到字线202N且选择性地耦合到奇数位线204(例如,位线2041、2043、2045等)的存储器单元208可以为存储器单元208(例如,奇数存储器单元)的另一物理页。尽管在图2A中未明确描绘位线2043、2045,但从所述图显而易见的是,存储器单元阵列200A的位线204可以从位线2040到位线204M连续编号。共同耦合到给定字线202的存储器单元208的其它分组也可以定义存储器单元208的物理页。对于某些存储器装置,共同耦合到给定字线的所有存储器单元均可以被视为物理页。在单次读取操作期间读取或在编程操作期间编程的物理页部分(在一些实施例中仍可能是为整个行)可以被视为逻辑页。
图2B为如可以在参考图1所描述类型的存储器中例如用作存储器单元阵列104的一部分的存储器单元阵列200B的一部分的另一示意图。图2B中相同编号的元件对应于如关于图2A所提供的描述。图2B提供三维NAND存储器阵列结构的一个实例的额外细节。三维NAND存储器阵列200B可以并入垂直结构,其可以包含半导体柱,其中柱的一部分可充当NAND串206的存储器单元的通道区。NAND串206可以各自通过选择晶体管212(例如,其可以为漏极选择晶体管,共同被称为通过选择栅极漏极)选择性地连接到位线2040到204M,且通过选择晶体管210(例如,其可以为源极选择晶体管,共同被称为选择栅极源极)连接到共用源极216。多个NAND串206可以选择性地连接到同一位线204。可以通过对选择线2150到215L加偏压以选择性地激活各自介于NAND串206与位线204之间的特定选择晶体管212,将NAND串206的子集连接到其相应位线204。可以通过对选择线214加偏压来激活选择晶体管210。每一字线202可以连接到存储器阵列200B的多行存储器单元。通过特定字线202共同相互连接的存储器单元行可以被统称为层。
尽管结合NAND快闪存储器论述图2A到2B的实例,但本文中所描述的实施例不限于特定阵列架构或结构,且可以包含其它结构(例如,交叉点存储器、DRAM等)和其它架构(例如AND阵列、NOR阵列等)。
图3根据实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。在此实例中,使用二到八状态多遍次编程操作来对TLC存储器进行编程。一页存储器单元中的存储器单元可能被擦除以各自具有表示经擦除数据状态的阈值电压。此群体经擦除存储器单元在310处指示,且表示级别0(L0)数据状态。TLC存储器的编程操作的第一遍次(在300处指示)可以涉及加载低位页数据和对所述低位页数据进行编程。因此,可以将所述群体存储器单元编程到其相应所要数据状态,所要数据状态对应于表示L0数据状态的存储器单元310群体和表示低位页(LP)数据状态的存储器单元312a群体。在第一遍次之后,如在302处所指示,LP经编程存储器单元312a的阈值电压可以下降,如由存储器单元312b群体所指示。LP经编程存储器单元的阈值电压的此下降可能归因于电荷损失机制和多遍次编程操作的第一遍次与第二遍次之间的时间间隔。多遍次编程操作的第一遍次与第二遍次之间的时间间隔可以在数毫秒与大约数年的存储器装置的寿命终止之间的任何时间。
TLC存储器的编程操作的第二遍次,如在304处所指示,可以涉及加载较高位页数据(例如,高位页数据和特高位页数据)并对所述较高位页数据进行编程。因此,L0经编程存储器单元310的一部分可经编程到其相应所要数据状态,所述所要数据状态对应于表示级别1(L1)数据状态的存储器单元321群体,表示级别2(L2)数据状态的存储器单元322群体,以及表示级别3(L3)数据状态的存储器单元323群体。然而,由于LP经编程存储器单元312b的阈值电压已下降,因此L3经编程存储器单元323的阈值电压可以与LP经编程存储器单元312b的阈值电压重叠。如果在完成对较高位页数据的编程之前发生电力丢失,那么当恢复电力时,不能将L3经编程存储器单元323与LP经编程存储器单元312b的重叠阈值电压彼此区分开。
在恢复电力时,恢复较高位页数据的不完全编程,如在306处所指示。在恢复较高位页数据编程的情况下,可以将LP经编程存储器单元312b编程到其相应所要数据状态,所述所要数据状态对应于表示级别4(L4)数据状态的存储器单元324群体,表示级别5(L5)数据状态的存储器单元325群体,表示级别6(L6)数据状态的存储器单元326群体和表示级别7(L7)数据状态的存储器单元327群体。然而,由于L3经编程存储器单元323的阈值电压与LP经编程存储器单元312b的阈值电压重叠,所以L3经编程存储器单元323可能被放错位置(即,经不正确地编程),例如,如在恢复较高位页数据的编程时由L5经编码存储器单元325的较大数目所指示。以此方式,当恢复较高位页数据的编程时,如在314处所指示,可能丢失L3经编程存储器单元,从而导致数据丢失。下文参考图4到8B描述的对多遍次编程操作的各种修改防止L3经编程存储器单元323和LP经编程存储器单元312b的重叠,使得在恢复电力之后恢复较高位页数据的编程时,L3经编程存储器单元323不会放错位置。
存储器单元310群体可以表示逻辑数据值‘111’,存储器单元321群体可以表示逻辑数据值‘011’,存储器单元322群体可以表示逻辑数据值‘001’,存储器单元323群体可以表示逻辑数据值‘101’,存储器单元324群体可以表示逻辑数据值‘100’,存储器单元325群体可以表示逻辑数据值‘000’,存储器单元326群体可以表示逻辑数据值‘010’,且存储器单元327群体可以表示逻辑数据值‘110’,其中最右边的数字可以表示具有在其相应存储器单元群体的阈值电压范围内的阈值电压的存储器单元的低位页数据,中央数字可以表示所述存储器单元的高位页数据,且最左边的数字可以表示所述存储器单元的特高位页数据。如所属领域中所理解的,可以通过施加不同的读取电压并感测在相应应电压下激活存储器单元来确定存储器单元310和321到327群组内的存储器单元的数据状态。尽管提供二进制表示的特定实例,但实施例可以使用位模式的其它布置来表示各种数据状态。
图4根据另一实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。在此实施例中,控制器(例如,图1的控制逻辑116)可以经配置以经由多遍次编程操作来对多级存储器单元进行编程。多遍次编程操作在第一遍次中将低位页数据编程到存储器单元,且在第二遍次中将低页数据重新编程到存储器单元,并将较高位页数据编程到存储器单元,如下文针对TLC存储器所描述。
一页存储器单元中的存储器单元可能被擦除以各自具有表示经擦除数据状态的阈值电压。此群体经擦除存储器单元在310处指示,且表示L0数据状态。TLC存储器的编程操作的第一遍次(在350处指示)可以涉及加载低位页数据和对所述低位页数据进行编程。因此,可以将所述群体存储器单元编程到其相应所要数据状态,所要数据状态对应于表示L0数据状态的存储器单元310群体和表示LP数据状态的存储器单元312a群体。在第一遍次之后,如在352处所指示,LP经编程存储器单元312a的阈值电压可以下降,如由先前参考图3所描述的存储器单元312b群体所指示。
TLC存储器的编程操作的第二遍次(在354处指示)可以涉及首先对低位页数据进行重新编程。因此,LP经编程存储器单元312b的阈值电压返回上升,如LP经编程存储器单元的群体312c所指示。LP经编程存储器单元的重新编程可以包含通过编程验证操作或通过没有验证操作的盲脉冲进行编程。
然后,如在356处所指示,可以继续编程操作的第二遍次,这可以涉及加载较高位页数据(例如,高位页数据和特高位页数据)并对所述较高位页数据进行编程。因此,L0经编程存储器单元310的一部分可经编程到其相应所要数据状态,所述所要数据状态对应于表示L1数据状态的存储器单元321群体,表示L2数据状态的存储器单元322群体,以及表示L3数据状态的存储器单元323群体。然而,由于LP经编程存储器单元312c的阈值电压已上升,因此L3经编程存储器单元323不与LP经编程存储器单元312c重叠。如果在完成对较高位页数据的编程之前发生电力丢失,则可以在恢复电力时将L3经编程存储器单元323与LP经编程存储器单元312c区分开。因此,当恢复电力时恢复较高位页数据的编程时,没有数据丢失。
在恢复电力时,可以复原较高位页数据的不完全编程,如在358处所指示。在复原较高位页数据编程的情况下,可以将LP经编程存储器单元312c编程到其相应所要数据状态,所述所要数据状态对应于表示L4数据状态的存储器单元324群体,表示L5数据状态的存储器单元325群体,表示L6数据状态的存储器单元326群体和表示L7数据状态的存储器单元327群体。
在另一实施例中,控制器可以经配置以响应于LP经编程存储器单元312b的阈值电压超过预定阈值电压(即,LP经编程存储器单元312b的阈值电压尚未充分下降以致使LP经编程存储器单元312b与L3编程存储器单元323重叠)而在第二遍次中跳过将低位页数据重新编程到存储器单元。
图5根据另一实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。在此实施例中,控制器(例如,图1的控制逻辑116)可以经配置以经由多遍次编程操作来对多级存储器单元进行编程。多遍次编程操作在第一遍次中将低位页数据编程到存储器单元,且在第二遍次中将较高位页数据编程到存储器单元,使得在待编程到较低级别的存储器单元之前对待编程到较高级别的存储器单元进行编程,如下文针对TLC存储器所描述。
在此实例中,使用二到八状态多遍次编程操作来对TLC存储器进行编程。一页存储器单元中的存储器单元可能被擦除以各自具有表示经擦除数据状态的阈值电压。此群体的经擦除存储器单元在310处指示,且表示L0数据状态。TLC存储器的编程操作的第一遍次(在370处指示)可以涉及加载低位页数据和对所述低位页数据进行编程。因此,可以将所述群体的存储器单元编程到其相应所要数据状态,所要数据状态对应于表示L0状态的存储器单元310群体和表示LP数据状态的存储器单元312a。在第一遍次之后,如在372处所指示,LP经编程存储器单元312a的阈值电压可以下降,如由先前参考图3所描述的存储器单元312b群体所指示。
TLC存储器的编程操作的第二遍次(在374处指示)可以涉及首先对较高位页数据进行编程。可以将LP经编程存储器单元312b编程到其相应所要数据状态,所述所要数据状态对应于表示L4数据状态的存储器单元324群体,表示L5数据状态的存储器单元325群体,和表示L6数据状态的存储器单元326群体和表示L7数据状态的存储器单元327群体。然后,如在376和378处所指示,可以继续编程操作的第二次,这可能涉及对较低级别进行编程。因此,L0经编程存储器单元310的一部分可经编程到其相应所要数据状态,所述所要数据状态对应于表示L1数据状态的存储器单元321群体,表示L2数据状态的存储器单元322群体,以及表示L3数据状态的存储器单元323群体。然而,由于较高级别在较低级别之前经编程,因此L3经编程存储器单元323不与LP经编程存储器单元312b重叠。如果在376处完成对较高位页数据的编程之前发生电力丢失,那么当在378恢复电力时,可以将L3经编程存储器单元323与L4和较高经编程存储器单元区分开。因此,当恢复电力时恢复较高位页数据的编程时,没有数据丢失。
在另一实施例中,控制器可以配置以在第二遍次中将较高位页数据编程到存储器单元,使得响应于LP经编程存储器单元312b的阈值电压超过预定阈值电压在待编程到较高级别的存储器单元之前对待编程到较低级别的存储器单元进行编程(即,如果LP经编程存储器单元312b的阈值电尚未充分下降以致使在LP经编程存储器单元312b与L3经编程存储器单元323重叠,那么可在较高级别L4、L5、L6和L7之前对较低级别L1、L2和L3进行编程)。
图6根据另一实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。在此实施例中,控制器(例如,图1的控制逻辑116)可以经配置以经由多遍次编程操作来对多级存储器单元进行编程。多遍次编程操作在第一遍次中对低位页数据进行编程而在第二遍次中对较高位页数据进行编程,使得与待编程到较低级别的存储器单元并行地对待编程到较高级别的存储器单元进行编程,如下文对TLC存储器所描述。
在此实例中,使用二到八状态多遍次编程操作来对TLC存储器进行编程。一页存储器单元中的存储器单元可能被擦除以各自具有表示经擦除数据状态的阈值电压。此群体经擦除存储器单元在310处指示,且表示L0数据状态。TLC存储器的编程操作的第一遍次(在400处指示)可以涉及加载低位页数据和对所述低位页数据进行编程。因此,可以将所述群体存储器单元编程到其相应所要数据状态,所要数据状态对应于表示L0数据状态的存储器单元310群体和表示LP数据状态的存储器单元312a。在第一遍次之后,如在402处所指示,LP经编程存储器单元312a的阈值电压可以下降,如由先前参考图3所描述的存储器单元312b群体所指示。
通过对较低级别进行编程,开始第二遍次,如在404处所指示。当待编程到L3数据状态的存储器单元开始达到L3数据状态(如在410处所指示)时,待编程到L3数据状态的存储器单元和待编程到L4数据状态的存储器单元经并行编程,如在406处所指示。因此,L0经编程存储器单元310的一部分可经编程到其相应所要数据状态,所述所要数据状态对应于表示L1数据状态的存储器单元321群体,表示L2数据状态的存储器单元322群体,以及表示L3数据状态的存储器单元323群体。另外,可以将LP经编程存储器单元312b编程到其相应所要数据状态,所述所要数据状态对应于表示L4数据状态的存储器单元324群体,表示L5数据状态的存储器单元325群体,表示L6数据状态的存储器单元326群体和表示L7数据状态的存储器单元327群体。然而,由于表示L3和L4数据状态的存储器单元的并行编程,因此L3经编程存储器单元323不与LP经编程存储器单元312b重叠。如果在完成对较高位页数据的编程之前发生电力丢失(如在406处所指示),那么可以将L3经编程的存储器单元323与L4经编程存储器单元324且尚未处于其最终数据状态的其余存储器单元412区分开。因此,当恢复电力时恢复较高位页数据编程(如在408处所指示)时,无数据丢失。
在另一实施例中,控制器可以经配置以响应于LP经编程存储器单元312b的阈值电压超过预定阈值电压(即,LP经编程存储器单元312b的阈值电压尚未充分下降以致使LP经编程存储器单元312b与L3编程存储器单元323重叠)而在第二遍次中对较高位页数据进行编程而无需与待编程到较低级别的存储器单元并行地对待并行到较高级别的存储器单元进行编程。
图7A到7B描绘根据用于参考图6所描述的编程操作的实施例的并行编程操作。在此实施例中,控制器(例如,图1的控制逻辑116)可以经配置以将施加到待编程到较低级别(例如,L3数据状态)的存储器单元的位线的电压增加超过施加到待编程到较高级别(例如,L4数据状态)的存储器单元的位线,使得可以在待编程到较低级别的存储器单元之前对待编程到较高级别的存储器单元进行编程。
如在图7A和7B中在420处所说明,多遍次编程操作的第二遍次以对待编程到较低级别(例如,L1和L2)的存储器单元进行编程开始。将位线电压VBL(例如,0V)施加到待编程的存储器单元的位线,包含LP经编程存储器单元和待编程到L1、L2和L3数据状态的存储器单元。一旦每一对应存储器单元已达到其所要数据状态,将每一对应存储器单元的位线电压增加到抑制电压电平(例如,Vcc)。然后,将编程脉冲VPGM施加到所选字线,以将所选择L0经编程存储器单元310移动到L1数据状态321,到L2数据状态322和朝向L3数据状态,如在410处所指示。当待编程到L3数据状态(如在步骤410处所指示)的存储器单元开始传递预定义阈值电压电平PVX(如在422处所指示)时,待编程到L3数据状态和L4数据状态的存储器单元可以并行进行编程。
在一个实例中,可以计数达到PVX级别的存储器单元的数目,直到所述数目超过预定义数目为止。响应于达到PVX电平的存储器单元的数目超过预定义数目,如图7B中所说明的编程电压VPGM可以增加电压阶跃VSTEP*a,其中“a”大于或等于1。在VPGM增加VSTEP*a同时,待编程到L3数据状态的存储器单元的位线电压增加预定义电压ΔVBL(其小于经配置以抑制编程的电压电平),使得待编程到L3数据状态的存储器单元的位线电压比LP经编程存储器单元312b的位线电压大。用于待编程到L3数据状态的存储器单元的增加位线电压阻碍待编程为L3数据状态的存储器单元的编程速度。以此方式,在待编程到L3数据状态的存储器单元达到LP经编程存储器单元分布的左尾之前,LP经编程存储器单元312b经编程朝向L4数据状态,如在412处所指示。因此,可以在待编程到L3数据状态的存储器单元与待编程到L4数据状态的存储器单元之间维持阈值电压的间隙。因此,即使在多遍次编程操作的第二遍次期间损耗电力且在电力恢复之后恢复较高位页数据的编程,但经编程到L3数据状态的存储器单元323群体的阈值电压也不会与经编程到如在424处所指示的L4数据状态的存储器单元324群体的阈值电压重叠。
因此,在多遍次编程操作的第二遍次中,L0经编程存储器单元310的一部分可经编程到其相应所要数据状态,所述所要数据状态对应于表示L1数据状态的存储器单元321群体,表示L2数据状态的存储器单元322群体,以及表示L3数据状态的存储器单元323群体。另外,可以将LP经编程存储器单元312b编程到其相应所要数据状态,所述所要数据状态对应于表示L4数据状态的存储器单元324群体,表示L5数据状态的存储器单元325群体,表示L6数据状态的存储器单元326群体和表示L7数据状态的存储器单元327群体,如在图6中所说明。
图8A到8B描绘根据用于参考图6所描述的编程操作的另一实施例的并行编程操作。在此实施例中,控制器(例如,图1的控制逻辑116)可以经配置以在对待编程到较高级别(例如,L4数据状态)的存储器单元进行编程期间抑制对待编程到较低级别(例如,L3数据状态)的存储器单元的编程,且然后重新开始对待编程到较低级别的存储器单元进行编程。
如在图8A和8B中在430处所说明,多遍次编程操作的第二遍次以对待编程到较低级别(例如,L1和L2)的存储器单元进行编程开始。将位线电压VBL(例如,0V)施加到待编程的存储器单元的位线,包含LP经编程存储器单元和待编程到L1、L2和L3数据状态的存储器单元。然后,将编程脉冲VPGM施加到所选字线,以将所选择L0经编程存储器单元310移动到L1数据状态321,到L2数据状态322和朝向L3数据状态,如在410处所指示。当待编程到L3数据状态(如在步骤410处所指示)的存储器单元开始传递预定义阈值电压电平PVX(如在432处所指示)时,待编程到L3数据状态和L4数据状态的存储器单元可以并行进行编程。
在一个实例中,可以计数达到PVX级别的存储器单元的数目,直到所述数目超过预定义数目为止。响应于达到PVX电平的存储器单元的数目超过预定义数目,如在432处所指示,如图8B中所说明的编程电压VPGM可以增加电压阶跃VSTEP*a,其中“a”大于或等于1。在VPGM增加VSTEP*a同时,待编程到L3数据状态的存储器单元的位线电压增加到另一电压(例如,Vcc)以抑制对待编程到L3数据状态的存储器单元进行编程。在抑制对待编程到L3数据状态的存储器单元进行编程的情况下,将LP经编程存储器单元312b编程朝向L4数据状态,如在412处所指示。
一旦对L4数据状态的存储器单元进行编程,就重新开始对带编程到L3数据状态的存储器单元的编程。通过降低待编程到L3数据状态的存储器单元的位线电压以等于LP经编程存储器单元的位线电压(例如,0V),重新开始对待编程到L3数据状态的存储器单元进行编程,如在434处所指示。在降低待编程到L3数据状态的存储器单元的位线电压同时,编程电压VPGM也可以降低为L3数据状态的编程电压且编程继续。因此,可以在待编程到L3数据状态的存储器单元与待编程到L4数据状态的存储器单元之间维持阈值电压的间隙。因此,即使在多遍次编程操作的第二遍次期间损耗电力且在电力恢复之后恢复较高位页数据的编程,但经编程到L3数据状态的存储器单元323群体的阈值电压也不会与经编程到如在434处所指示的L4数据状态的存储器单元324群体的阈值电压重叠。
因此,在多遍次编程操作的第二遍次中,L0经编程存储器单元310的一部分可经编程到其相应所要数据状态,所述所要数据状态对应于表示L1数据状态的存储器单元321群体,表示L2数据状态的存储器单元322群体,以及表示L3数据状态的存储器单元323群体。另外,可以将LP经编程存储器单元312b编程到其相应所要数据状态,所述所要数据状态对应于表示L4数据状态的存储器单元324群体,表示L5数据状态的存储器单元325群体,表示L6数据状态的存储器单元326群体和表示L7数据状态的存储器单元327群体,如在图6中所说明。
图9根据另一实施例描绘多个群体的存储器单元在编程操作的各种阶段的表示。在此实施例中,控制器(例如,图1的控制逻辑116)可以经配置以经由多遍次编程操作来对多级存储器单元进行编程。多遍次编程操作在第一遍次中将低位页数据编程到存储器单元,且在第二遍次中将低页数据重新编程到存储器单元,并将较高位页数据编程到存储器单元,如下文针对四级别单元(QLC)存储器所描述。QLC存储器可以在每存储器单元存储四位数据,其中低位页数据可以包含较低的两位数据。
一页存储器单元中的存储器单元可能被擦除以各自具有表示经擦除数据状态的阈值电压。此群体经擦除存储器单元在510处指示,且表示L0数据状态。QLC存储器的编程操作的第一遍次(在550处指示)可以涉及加载低位页数据和对所述低位页数据进行编程。因此,可以将所述存储器单元群体编程到其相应所要数据状态,所述所要数据状态对应于表示L0数据状态的存储器单元510群体,表示第一LP数据状态的存储器单元512a群体,表示第二LP数据状态的存储器单元514a群体和表示第三LP数据状态的存储器单元516a群体。在第一遍次之后,如在502处所指示,LP经编程存储器单元512a、514a和516a的阈值电压可以分别如存储器单元512b、514b和516b群体所指示下降。
QLC存储器的编程操作的第二遍次(在504处指示)可以涉及首先对低位页数据进行重新编程。因此,LP经编程存储器单元512b、514b和516b的阈值电压返回上升,如LP经编程存储器单元的群体512c、514c和516c所指示。LP经编程存储器单元的重新编程可以包含通过编程验证操作或通过没有验证操作的盲脉冲进行编程。
然后,如在506处所指示,可以继续编程操作的第二遍次,这可以涉及加载较高位页数据(例如,高位页数据和特高位页数据)并对所述较高位页数据进行编程。因此,L0经编程存储器单元510的一部分可经编程到其相应所要数据状态,所述所要数据状态对应于表示L1数据状态的存储器单元521群体,表示L2数据状态的存储器单元522群体,以及表示L3数据状态的存储器单元523群体。可以将第一LP经编程存储器单元512c的一部分编程到其相应所要数据状态,所述所要数据状态对应于表示L4数据状态的存储器单元524群体,表示L5数据状态的存储器单元525群体,表示L6数据状态的存储器单元526群体和表示L7数据状态的存储器单元527群体。
可以将第二LP经编程存储器单元514c的一部分编程到其相应所要数据状态,所述所要数据状态对应于表示L8数据状态的存储器单元528群体,表示L9数据状态的存储器单元529群体,表示L10数据状态的存储器单元530群体和表示L11数据状态的存储器单元531群体。同样地,可以将第三LP经编程存储器单元516c的一部分编程到其相应所要数据状态,所述所要数据状态对应于表示L12数据状态的存储器单元532群体,表示L13数据状态的存储器单元533群体,表示L14数据状态的存储器单元534群体和表示L15数据状态的存储器单元535群体。
然而,由于LP经编程存储器单元512c、514c和516c的阈值电压已上升,因此L3经编程存储器单元523不与第一LP经编程存储器单元512c重叠,L7经编程存储器单元527不与第二LP经编程存储器单元514c重叠,且L11经编程存储器单元531不与第三LP经编程存储器单元516c重叠。如果在完成较高位页数据的编程之前发生电力丢失,那么当恢复电力时,可以将L3经编程存储器单元523与第一LP经编程存储器单元512c区分开,可以将L7经编程存储器单元527与第二LP经编程存储器单元514c区分开,且可以将L11经编程存储器单元531与第三LP经编程存储器单元516c区分开。因此,当恢复电力时恢复较高位页数据的编程时,没有数据丢失。
尽管上述QLC存储器的实例描述在类似于参考图4所描述的TLC存储器编程实例的多遍次编程操作的第二遍次中对低位页数据进行重新编程,但参考图5到8B所描述的TLC存储器编程实例也可以用于对QLC存储器进行编程。
图10A到10B为说明用于对多级存储器单元进行编程的方法600的一个实施例的流程图。在一个实例中,方法600可以由图1的存储器装置100来实施。如在图10A中所说明,在602处,方法600包含在多遍次编程操作的第一遍次中将低位页数据编程到存储器单元。在604处,方法600包含在多遍次编程操作的第二遍次中,在将较高位页数据编程到存储器单元之前,将低位页数据重新编程到存储器单元。在一个实例中,在第二遍次中将较高位页数据编程到存储器单元可以包含在第二遍次中将较高位页数据编程到存储器单元,使得响应于在第二遍次期间的电力丢失之后恢复电力,恢复将较高位页数据编程到存储器单元。将较高位页数据编程到存储器单元可以包含在第二遍次中将高位页数据和特高位页数据编程到存储器单元。
如图10B中所说明,在606处,方法600可以进一步包含在第二遍次之前使用第一读取电平预读取低位页经编程存储器单元。在608处,方法600可以进一步包含:其中响应于使用第一读取电平预读取的低位页存储器单元的失败位的数目超过预定阈值(例如,失败位的数目超过可以经由纠错码来纠正的数目),实施在多遍次编程操作的第二遍次中在将较高位页数据编程到存储器单元之前,将低位页数据重新编程到存储器单元。
图11A到11B为说明用于对多级存储器单元进行编程的方法700的另一实施例的流程图。在一个实例中,方法700可以由图1的存储器装置100来实施。如在图11A中所说明,在702处,方法700包含在多遍次编程操作的第一遍次中将低位页数据编程到存储器单元。在704处,方法700包含在多遍次编程操作的第二遍次中将较高位页数据编程到存储器单元,使得在经受擦除数据的较高位页数据之前对经受经编程低位页数据(即,从其编程)的较高位页数据进行编程。在一个实例中,在第二遍次中将较高位页数据编程到存储器单元可以包含在第二遍次中将较高位页数据编程到存储器单元,使得响应于在第二遍次期间的电力丢失之后恢复电力,恢复将较高位页数据编程到存储器单元。将较高位页数据编程到存储器单元可以包含在第二遍次中将高位页数据和特高位页数据编程到存储器单元。
如图11B中所说明,在706处,方法700可以进一步包含在第二遍次之前使用第一读取电平预读取低位页经编程存储器单元。在708处,方法700可以进一步其中响应于使用第一读取电平预读取的低位页存储器单元的失败位的数目超过预定阈值(例如,失败位的数目超过可以经由纠错码来纠正的数目),实施在多遍次编程操作的第二遍次中在将较高位页数据编程到存储器单元之前,将低位页数据重新编程到存储器单元。
结论
虽然本文中已说明且描述特定实施例,但所属领域技术人员将了解,经计算以实现相同目的的任何布置可替代所展示的特定实施例。实施例的许多修改对于所属领域的普通技术人员将为显而易见的。因此,本申请案打算涵盖实施例的任何改动或变化。
Claims (9)
1.一种用于对多级存储器单元进行编程的方法,所述方法包括:
在多遍次编程操作的第一遍次中,将低位页数据编程到存储器单元从而将所述存储器单元编程到相应的期望阈值电压;及
在所述多遍次编程操作的第二遍次中,在将较高位页数据编程到所述存储器单元之前,将所述低位页数据重新编程到所述存储器单元从而在所述存储器单元的阈值电压由于所述第一遍次后的时间间隔已经下降之后将所述存储器单元重新编程回到所述相应的期望阈值电压。
2.根据权利要求1所述的方法,其中在所述第二遍次中将所述较高位页数据编程到所述存储器单元包括在所述第二遍次中将所述较高位页数据编程到所述存储器单元,使得响应于在所述第二遍次期间的电力丢失之后恢复电力,复原将所述较高位页数据编程到所述存储器单元。
3.根据权利要求1所述的方法,其进一步包括:
在所述第二遍次之前使用第一读取电平预读取所述低位页经编程存储器单元,
其中响应于使用所述第一读取电平预读取的所述低位页存储器单元的失败位的数目超过预定阈值,实施在所述多遍次编程操作的所述第二遍次中在将较高位页数据编程到所述存储器单元之前,将所述低位页数据重新编程到所述存储器单元。
4.根据权利要求1所述的方法,其中将所述较高位页数据编程到所述存储器单元包括在所述第二遍次中将高位页数据和特高位页数据编程到所述存储器单元。
5.一种存储器装置,其包括:
多级存储器单元阵列;及
控制器,其经配置以经由多遍次编程操作对所述多级存储器单元进行编程,所述多遍次编程操作在第一遍次中将低位页数据编程到所述存储器单元从而将所述存储器单元编程到相应的期望阈值电压,且在第二遍次中将所述低位页数据重新编程到所述存储器单元从而在所述存储器单元的阈值电压由于所述第一遍次后的时间间隔已经下降之后将所述存储器单元重新编程回到所述相应的期望阈值电压,且将较高位页数据编程到所述存储器单元。
6.根据权利要求5所述的存储器装置,其中所述控制器经配置以响应于在所述第二遍次期间的电力丢失之后恢复电力,复原将所述较高位页数据编程到所述存储器单元。
7.根据权利要求5所述的存储器装置,其中所述控制器经配置以响应于所述低位页经编程存储器单元的阈值电压超过预定阈值电压而在所述第二遍次中跳过所述将所述低位页数据重新编程到所述存储器单元。
8.根据权利要求5所述的存储器装置,其中所述控制器经配置以将所述多级存储器单元编程为三级存储器单元。
9.根据权利要求5所述的存储器装置,其中所述控制器经配置以将所述多级存储器单元编程为四级存储器单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/228,904 | 2018-12-21 | ||
US16/228,904 US10839896B2 (en) | 2018-12-21 | 2018-12-21 | Programming multiple-level memory cells with multiple-pass |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111540398A CN111540398A (zh) | 2020-08-14 |
CN111540398B true CN111540398B (zh) | 2023-12-19 |
Family
ID=71097755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911335663.8A Active CN111540398B (zh) | 2018-12-21 | 2019-12-23 | 用于对存储器装置的存储器单元进行编程的方法和相关存储器装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US10839896B2 (zh) |
CN (1) | CN111540398B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10839896B2 (en) * | 2018-12-21 | 2020-11-17 | Micron Technology, Inc. | Programming multiple-level memory cells with multiple-pass |
KR20200136747A (ko) * | 2019-05-28 | 2020-12-08 | 에스케이하이닉스 주식회사 | 메모리 장치, 메모리 장치를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
US20230317182A1 (en) * | 2022-03-31 | 2023-10-05 | Intel NDTM US LLC | Dynamic program caching |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625899A (zh) * | 2008-07-10 | 2010-01-13 | 海力士半导体有限公司 | 对非易失性存储器件进行编程的方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7173859B2 (en) * | 2004-11-16 | 2007-02-06 | Sandisk Corporation | Faster programming of higher level states in multi-level cell flash memory |
US8064252B2 (en) | 2008-11-21 | 2011-11-22 | Micron Technology, Inc. | Multi-pass programming in a memory device |
KR101616099B1 (ko) * | 2009-12-03 | 2016-04-27 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
US8341500B2 (en) * | 2010-08-31 | 2012-12-25 | Apple Inc. | Detecting corrupted data for a system having non-volatile memory |
US8345482B2 (en) | 2010-12-15 | 2013-01-01 | Micron Technology, Inc. | Methods for segmented programming and memory devices |
US9892798B2 (en) * | 2012-09-11 | 2018-02-13 | Seagate Technology Llc | Data protection for unexpected power loss |
KR20140100330A (ko) * | 2013-02-06 | 2014-08-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20140132103A (ko) * | 2013-05-07 | 2014-11-17 | 에스케이하이닉스 주식회사 | 메모리 시스템, 반도체 메모리 장치 및 그것들의 동작 방법 |
US9058881B1 (en) * | 2013-12-05 | 2015-06-16 | Sandisk Technologies Inc. | Systems and methods for partial page programming of multi level cells |
US8819337B1 (en) * | 2014-04-16 | 2014-08-26 | Sandisk Technologies Inc. | Storage module and method for determining whether to back-up a previously-written lower page of data before writing an upper page of data |
US9324419B2 (en) * | 2014-07-15 | 2016-04-26 | Sandisk Technologies Inc. | Multiple pass programming for memory with different program pulse widths |
US9595345B2 (en) * | 2014-08-07 | 2017-03-14 | Sandisk Technologies Llc | Adaptive selective bit line pre-charge for current savings and fast programming |
US9947418B2 (en) | 2016-04-12 | 2018-04-17 | Micron Technology, Inc. | Boosted channel programming of memory |
US9921898B1 (en) | 2016-12-27 | 2018-03-20 | Micron Technology, Inc. | Identifying asynchronous power loss |
US10839896B2 (en) * | 2018-12-21 | 2020-11-17 | Micron Technology, Inc. | Programming multiple-level memory cells with multiple-pass |
-
2018
- 2018-12-21 US US16/228,904 patent/US10839896B2/en active Active
-
2019
- 2019-12-23 CN CN201911335663.8A patent/CN111540398B/zh active Active
-
2020
- 2020-10-20 US US17/074,690 patent/US11295809B2/en active Active
-
2022
- 2022-03-08 US US17/688,983 patent/US11615838B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625899A (zh) * | 2008-07-10 | 2010-01-13 | 海力士半导体有限公司 | 对非易失性存储器件进行编程的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220208261A1 (en) | 2022-06-30 |
US11295809B2 (en) | 2022-04-05 |
US11615838B2 (en) | 2023-03-28 |
US10839896B2 (en) | 2020-11-17 |
US20210035630A1 (en) | 2021-02-04 |
US20200202927A1 (en) | 2020-06-25 |
CN111540398A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8194450B2 (en) | Methods and control circuitry for programming memory cells | |
EP1720168B1 (en) | Integrated circuit device, flash memory array, nonvolatile memory device and operating method | |
US10515692B2 (en) | Programming memories with stepped programming pulses | |
US10629266B2 (en) | Memory cell programming with a programming pulse having plurality of different voltage levels | |
US11615838B2 (en) | Programming memory cells at two different levels in parallel | |
US10504599B2 (en) | Connecting memory cells to a data line sequentially while applying a read voltage to the memory cells and programming the read data to a single memory cell | |
WO2010056504A2 (en) | Erase voltage reduction in a non-volatile memory device | |
JP5545552B2 (ja) | メモリ・デバイスにおけるデータ転送およびプログラミング | |
US10366759B2 (en) | Memory devices having selectively electrically connected data lines | |
US8780626B2 (en) | Sense operation in a memory device | |
CN115705888A (zh) | 具有四个数据线偏置电平的存储器装置 | |
CN114694721A (zh) | 具有动态编程验证电平的存储器装置 | |
US11231853B2 (en) | Memory including search logic | |
CN114664363A (zh) | 用于编程验证操作的存储器装置 |
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 |