CN105390157A - 非易失性存储装置和编程验证方法 - Google Patents
非易失性存储装置和编程验证方法 Download PDFInfo
- Publication number
- CN105390157A CN105390157A CN201510526556.9A CN201510526556A CN105390157A CN 105390157 A CN105390157 A CN 105390157A CN 201510526556 A CN201510526556 A CN 201510526556A CN 105390157 A CN105390157 A CN 105390157A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- programming
- bit value
- verified
- data latches
- 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
Links
Classifications
-
- 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
- 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/08—Address circuits; Decoders; Word-line control 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
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
提供了非易失性存储装置和编程验证方法。所述编程验证方法用于对多个存储单元编程的非易失性存储装置。所述编程验证方法包括以下步骤:施加多个验证电压,并且基于所述多个验证电压中的一个验证电压来确定是否完成了对所述多个存储单元中的具有不同的目标阈值电压分布的存储单元的编程。
Description
要求于2014年8月25日在韩国知识产权局提交的第10-2014-0110864号韩国专利申请的优先权,该韩国专利申请的全部内容通过引用包含于此。
技术领域
这里描述的本发明构思涉及半导体存储器,更具体地,涉及非易失性存储装置以及应用到非易失性存储装置的编程验证方法。
背景技术
由诸如硅(Si)、锗(Ge)、砷化镓(GaAs)、磷化铟(InP)等的半导体制造的半导体存储装置通常分类为易失性存储装置或非易失性存储装置。
易失性存储装置的特点是在断电状态下丢失存储的数据,其示例包括静态RAM(静态随机存取存储器)、动态RAM(DRAM)、同步DRAM(SDRAM)等。相反,非易失性存储装置的特点是在切断电源的状态下仍然保留存储的数据,其示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除和可编程ROM(EEPROM)、闪存、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RERAM)、铁电RAM(FRAM)等。
在非易失性存储器中,尤其是闪存已经由于其固有的操作优势(诸如高存储容量、低噪声特性、低功耗和快的运行速度)而在多种多样的应用中被采用。
储存数据的闪存可以控制存储单元(例如,浮栅存储单元和电荷捕获闪速(CTF)存储单元)的阈值电压。通常,闪存装置利用增阶脉冲编程(ISPP)方案对数据编程,在ISPP方案中,通过执行一系列的编程循环来编程数据。每个编程循环包括施加编程脉冲以改变存储单元的阈值电压的编程步骤,随后为读取存储单元的阈值电压状态以进行验证的验证步骤。通常,重复编程循环直到验证期望的阈值电压状态为止。
发明内容
本发明构思的实施例的一个方面涉及提供一种对多个存储单元进行编程的非易失性存储装置的编程验证方法。所述编程验证方法包括施加多个验证电压,以及基于所述多个验证电压中的一个验证电压来确定是否完成了对所述多个存储单元中的具有不同的目标阈值电压分布的存储单元的编程。
在示例性实施例中,所述确定步骤包括基于所述一个验证电压来确定具有不同的目标阈值电压分布的存储单元是否被验证通过,以及基于预定的验证通过计数来确定是否完成了对具有不同的目标阈值电压分布的存储单元的编程。
在示例性实施例中,当具有不同的目标阈值电压分布的存储单元被读取为截止单元时,具有不同的目标阈值电压分布的存储单元被验证通过。
在示例性实施例中,基于所述一个验证电压来确定具有不同的目标阈值电压分布的存储单元是否被验证通过的步骤包括:改变步骤,当具有不同的阈值电压分布的存储单元中的一个存储单元被验证通过时,改变与被验证通过的存储单元对应的数据锁存器的比特值。数据锁存器的所述比特值被改变为与所述多个阈值电压分布对应的多个比特值和与擦除状态对应的比特值中的一个比特值。
在示例性实施例中,当具有不同的目标阈值电压分布的存储单元中的一个存储单元被验证通过时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤包括:基于存储在数据锁存器处的所述比特值来改变存储在数据锁存器处的比特值。
在示例性实施例中,当具有不同的目标阈值电压分布的存储单元中的一个存储单元被验证通过时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤包括:根据预定的次序来顺序地改变存储在数据锁存器处的比特值。
在示例性实施例中,所述编程验证方法还包括对被确定为编程完成存储单元进行编程禁止。
本发明构思的实施例的另一方面涉及提供一种包括多个存储单元的非易失性存储装置的编程方法。所述编程方法包括以下步骤:顺序地执行多个编程循环,使得所述多个存储单元具有多个编程状态。所述多个编程循环中的每个编程循环包括:编程步骤,在编程步骤中,编程脉冲被施加到所选择的字线;以及验证步骤,在验证步骤中,多个验证电压被施加到所选择的字线以验证是否完成了对所述多个存储单元的编程。由所述多个验证电压中的一个验证电压来验证是否完成了对所述多个存储单元中的具有不同的目标编程状态的存储单元的编程。
在示例性实施例中,所述验证步骤包括:基于所述一个验证电压来确定具有不同的目标编程状态的存储单元是否被验证通过。
在示例性实施例中,具有不同的目标编程状态的存储单元的编程完成条件具有根据所述不同的目标编程状态而改变的验证通过计数。
在示例性实施例中,所述验证步骤还包括改变步骤,当具有不同目标编程状态的存储单元中存在验证通过的存储单元时,改变与被验证通过存储单元对应的数据锁存器的比特值。
在示例性实施例中,当具有不同的目标编程状态的存储单元中存在验证通过的存储单元时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤包括:将数据锁存器的比特值改变为与所述多个编程状态对应的比特值和与擦除状态对应的比特值中的一个比特值。
在示例性实施例中,当具有不同的目标编程状态的存储单元中存在验证通过的存储单元时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤还包括:根据预定的次序来改变锁存器的比特值。
在示例性实施例中,当具有不同的目标编程状态的存储单元中存在验证通过的存储单元时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤还包括:将数据锁存器的比特值改变为与具有阈值电压分布的编程状态对应的比特值,其中,所述编程状态的阈值电压分布低于与数据锁存器的所述比特值对应的编程状态的阈值电压分布。
在示例性实施例中,将数据锁存器的比特值改变为与具有阈值电压分布的编程状态对应的比特值,所述编程状态的阈值电压分布低于与数据锁存器的所述比特值对应的编程状态的阈值电压分布的步骤包括:改变步骤,当比与数据锁存器的所述比特值对应的编程状态低的编程状态的阈值电压分布低于所述一个验证电压时,将数据锁存器的所述比特值改变为与擦除状态对应的比特值。
在示例性实施例中,所述编程方法还包括:当改变后的数据锁存器的比特值是与擦除状态对应的比特值时,禁止对与被改变比特值的数据锁存器对应的存储单元进行编程。
本发明构思的实施例的又一方面涉及提供一种非易失性存储装置,所述非易失性存储装置包括:存储单元阵列,包括多个存储单元;页缓冲器,通过多条位线连接到存储单元阵列,并且适用于临时存储将要被存储在所述多个存储单元处的多个数据比特;地址解码器,通过多条字线连接到存储单元阵列,并且适用于选择所述多条字线中的至少一条字线;以及控制逻辑和电压生成器块,适用于控制编程,使得连接到所选择的字线的存储单元具有与临时存储在页缓冲器处的所述多个数据比特对应的目标编程状态。控制逻辑和电压生成器块将多个验证电压施加到所选择的字线,以确定是否完成了对连接到所选择的字线的存储单元的编程,并且控制逻辑和电压生成器块基于所述多个验证电压中的一个验证电压来确定是否完成了对与所选择的字线连接的存储单元中的具有不同的目标编程状态的存储单元的编程。
在示例性实施例中,被所述一个验证电压验证通过的目标编程状态不同的存储单元的编程完成条件彼此不同,并且编程完成条件包括存储单元的验证通过计数。
在示例性实施例中,页缓冲器包括与连接到所选择的字线的存储单元对应的多个数据锁存器,数据锁存器从所述多个数据比特中存储与相应的存储器单元的目标编程状态对应的比特值。
在示例性实施例中,当目标编程状态不同的存储单元中的至少一个存储单元验证通过时,改变与被验证通过的存储单元对应的数据锁存器的比特值。
在示例性实施例中,将与被验证通过的存储单元对应的数据锁存器的比特值改变为与擦除状态和所述多个编程状态对应的比特值中的一个比特值。
在示例性实施例中,根据预定的次序来顺序地改变与被验证通过的存储单元对应的数据锁存器的比特值。
在示例性实施例中,当与被验证通过的存储器单元对应的数据锁存器的比特值是与擦除状态对应的比特值时,验证通过的存储器单元被编程禁止。
本发明构思的实施例的又一方面涉及提供一种非易失性存储装置的编程验证方法,所述非易失性存储装置对多个存储器单元进行编程,使得所述多个存储器单元具有多个目标阈值电压分布。所述编程验证方法包括以下步骤施加验证电压;以及基于验证电压来确定是否完成了对所述多个存储器单元的编程。所述多个存储器单元的编程完成条件根据所述多个目标阈值电压分布而彼此不同。
被验证电压验证通过的存储单元的验证通过计数根据所述多个目标阈值电压分布而不同。
附图说明
下面将参照附图来详细描述本发明构思的优选实施例。然而,本发明构思的实施例可以以不同的形式来实施,且不应被解释为局限于这里阐述的实施例。相反,提供这些实施例使得本公开将是彻底的和完整的,并且这些实施例将把本发明构思的范围充分地传达给本领域技术人员。同样的附图标记始终指示同样的元件。
图1是示意性地示出根据本发明构思的实施例的非易失性存储装置的框图;
图2是示出包括在图1中示出的非易失性存储装置中的页缓冲器和多个存储块中的一个存储块的图;
图3是示出图2中示出的存储单元的阈值电压分布的示例的分布图;
图4是在描述用于形成图3中示出的阈值电压分布的编程方法的示例时用来参考的图;
图5和图6是在描述根据本发明构思的非易失性存储装置的编程操作时用来参考的图;
图7是在描述根据本发明构思的实施例的非易失性存储装置的编程操作时用来参考的流程图;
图8至图10是在进一步描述图7中示出的编程操作时用来参考的图;
图11至图14是在描述根据本发明构思的实施例的非易失性存储装置的编程时用来参考的图;
图15和图16是在描述根据本发明构思的另一实施例的非易失性存储装置的编程操作时用来参考的图;
图17是示意性地示出根据本发明构思的又一实施例的存储块的电路图;
图18和图19是在描述图17中示出的对存储块进行编程的方法的示例时用来参考的图;
图20是示意性地示出应用根据本发明构思的非易失性存储装置的非易失性存储系统的框图;
图21是示意性地示出根据本发明构思的实施例的包括非易失性存储系统的储存卡系统的框图;
图22是示出根据本发明构思的实施例的包括非易失性存储系统的固态驱动的框图;
图23是示意性地示出根据本发明构思的包括非易失性存储系统的用户系统的框图。
具体实施方式
这里公开了本发明构思的详细的示例实施例。然而,为描述本发明构思的示例实施例的目的,这里公开的特定结构和功能的细节仅是代表性的。然而,本发明构思的示例实施例可以以许多可替换的形式来实施,且不应被解释为仅限于这里阐述的实施例。
因此,在本发明构思的示例实施例能够具有各种变型和可替换的形式的同时,在附图中通过示例的方式示出发明构思的实施例,并将在这里详细地描述发明构思的实施例。然而,应理解的是,不意图将本发明构思的示例实施例限制为所公开的具体形式,相反,本发明构思的示例实施例将覆盖落入到本发明构思的示例实施例的范围内的所有变型、等同物和替换物。在所有对附图的描述中,同样的附图标记指示同样的元件。
将理解的是,尽管在这里可使用术语“第一”、“第二”等来描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅用来将一个元件与另一个元件区分开。例如,在不脱离本发明构思的示例实施例的范围的情况下,第一元件可以称作第二元件,类似地,第二元件可以称作第一元件。如在这里使用的,术语“和/或”包括一个或更多个相关所列项的任意组合或全部组合。
将理解的是,当元件被称作“连接到”或“结合到”另一元件时,该元件可以直接连接到或直接结合到所述另一元件,或者可以存在中间元件。相反,当元件被称作“直接连接到”或“直接结合到”另一元件时,不存在中间元件。应该以类似的方式来解释用来描述两个元件之间的关系的其它词语(例如,“在……之间”与“直接在……之间”、“相邻”与“直接相邻”等)。
在这里使用的术语只是出于描述具体实施例的目的,并且不意图成为发明构思的示例实施例的限制。如在这里使用的,除非上下文另外清楚地指出,否则单数形式的“一”、“一个(种)(者)”和“所述(该)”也意图包括复数形式。还将理解的是,当在这里使用术语“包含”、“包括”和/或其变形时,说明存在所陈述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或更多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。
还应当指出的是,在一些可选实施中,所指的功能/动作可能不按照在图中指出的顺序来发生。例如,根据所涉及的功能/动作,相继示出的两个图实际上可以基本同时执行,或者有时可以以相反的顺序执行。
除非另有定义,否则这里使用的所有术语(包括技术术语和科学术语)具有与本发明构思所属领域的普通技术人员所通常理解的意思相同的意思。还将理解的是,除非这里明确如此定义,否则术语(诸如在通用的字典中定义的术语)应该被解释为具有与它们在相关领域的上下文中的意思一致的意思,并且将不以理想化或过于形式化的含义来解释它们。
根据本发明构思的实施例的非易失性存储装置对存储单元编程,使得存储单元分别具有多个编程状态(或,多个阈值电压分布)。非易失性存储装置利用多个验证电压来验证存储单元的编程状态。此时,所述多个编程状态中的至少两个编程状态由一个验证电压来验证,但是所述至少两个编程状态的编程完成条件(即,编程禁止条件)不同。例如,所述至少两个编程状态的计数(即,验证通过计数)彼此不同,即,由一个验证电压将与所述至少两个编程状态对应的存储单元确定为截止单元的计数不同。因此,减少在验证所述多个存储单元期间施加的验证电压的数量使得验证时间缩短。这意味着可以提供性能改善的非易失性存储装置及其操作方法。
图1是示意性地示出根据本发明构思的实施例的非易失性存储装置的框图。参照图1,非易失性存储装置100包括存储单元阵列110、地址解码器120、控制逻辑和电压生成器块130、页缓冲器140和输入/输出电路150。
存储单元阵列110包括多个存储块,每个存储块具有多条单元串。如将要在后面结合图2描述的,单元串可以包含多个存储单元并分别连接到多条位线BL。存储单元还可以分别连接到多条字线WL。在示例性实施例中,存储单元阵列110中的存储单元可以构造为实现为存储一比特数据的单级单元和存储至少两比特数据的多级单元。
仍参照图1,地址解码器120通过串选择线SSL、多条字线WL和接地选择线GSL连接到存储单元阵列110。地址解码器120对从外部装置(例如,存储控制器、主机或应用处理器)接收的地址ADDR的列地址进行解码,以选择所述多条字线WL中的至少一条字线。地址解码器120控制字线WL的电压,使得执行所选字线的读取和写入。地址解码器120可以对接收的地址的列地址进行解码,并且将被解码的列地址输出到页缓冲器140。页缓冲器140可以响应于被解码的列地址来控制位线BL。
控制逻辑和电压生成器块130响应于来自外部装置的命令CMD和控制信号CTRL来控制地址解码器120、页缓冲器140和输入/输出电路150。例如,控制逻辑和电压生成器块130响应于命令CMD和控制信号CTRL来控制地址解码器120、页缓冲器140和输入/输出电路150,使得在存储单元阵列110处写入数据。控制逻辑和电压生成器块130响应于命令CMD和控制信号CTRL来控制地址解码器120、页缓冲器140和输入/输出电路150,使得输出存储在存储单元阵列110处的数据。可选择地,控制逻辑和电压生成器块130响应于命令CMD和控制信号CTRL来控制地址解码器120、页缓冲器140和输入/输出电路150,使得部分地擦除存储单元阵列110。
控制逻辑和电压生成器块130还生成非易失性存储装置100的操作所需要的多种电压。由控制逻辑和电压生成器块130生成的这种电压的示例包括读取电压、验证电压、编程电压、通过电压和擦除电压。通常,控制逻辑和电压生成器块130将这些电压提供至地址解码器120。
页缓冲器140经由多条位线BL连接到存储单元阵列110。页缓冲器140临时存储将要被写入到存储单元阵列110中或将要从存储单元阵列110中读取的数据。在示例性实施例中,页缓冲器140可以包含临时存储数据的多个锁存电路。在示例性实施例中,多个锁存电路可以分别连接到多条位线BL。
输入/输出电路150在控制逻辑和电压发生器块130的控制下从外部装置接收数据并将所接收的数据传输到页缓冲器140。另外,输入/输出电路150在控制逻辑和电压发生器块130的控制下将来自页缓冲器140的数据发送到外部设备。
在示例性实施例中,在非易失性存储装置100的编程期间,将要在存储单元阵列110处编程的数据可以临时存储在页缓冲器140处。非易失性存储装置100可以通过执行多个编程循环来在存储单元阵列110处对存储在页缓冲器140处的数据编程。如在此将稍后更详细地解释的,每个编程循环包含施加编程脉冲的编程步骤和施加验证电压的验证步骤。
在示例性实施例中,存储单元的编程状态(或,阈值电压分布)可取决于存储在页缓冲器140处的数据。例如,存储单元的目标编程状态(或,目标阈值电压分布)可取决于预定的位序。非易失性存储装置100可执行多个编程循环,使得存储单元具有相应的目标编程状态。将参照图6至图8来更充分地描述根据本发明构思的实施例的非易失性存储装置100的编程。
图2是示出包括在图1中示出的页缓冲器和存储单元阵列110中的多个存储块中的一个存储块的示例的图。为了描述的简化,图2中仅示出了第一存储块BLK1和与第一存储块BLK1连接的页缓冲器140。然而,本发明构思不限于图2中示出的具体构造。此外,将当理解的是,图1的存储单元阵列110可以具有多个存储块。
共同参照图1和图2,本示例的第一存储块BLK1包含多个单元串STR,每个单元串STR具有串选择晶体管SST、多个存储单元MC1至MC8以及接地选择晶体管GST。在每个串STR中,串选择晶体管SST连接到串选择线SSL,存储单元MC1至MC8连接到字线WL8至WL1,接地选择晶体管GST连接到接地选择线GSL。
单元串STR通过相应的位线BL连接到页缓冲器140。在示例性实施例中,单元串STR通过位线BL分别连接到页缓冲器140的数据锁存器141至14n。
在示例性实施例中,非易失性存储装置100基于页对页进行编程或读取数据。一页或更多页的数据存储在与给定的字线(例如,WL3)连接的存储单元中。在非易失性存储装置100编程时,选择一条字线(例如,WL3)。将存储在数据锁存器141至14n处的数据在与所选择的字线连接的存储单元处进行编程。例如,当数据“00”被存储在第一数据锁存器141处时,将连接到第一数据锁存器141的串STR的存储单元中的与所选择的字线连接的一个存储单元编程为具有对应于数据“00”的阈值电压。
如上所述,本发明构思不限于图2的示例。例如,在示例性实施例中,可以相对于图2中示出的第一存储块BLK1的列(串)的数量来增加或减少第一存储块BLK1的列(串)的数量。在这种情况下,可以根据串STR的数量来增加或减少数据锁存器DL的数量和位线BL的数量。
此外,在示例性实施例中,可以相对于图2中示出的第一存储块BLK1的行的数量来增加或减少第一存储块BLK1的行的数量。例如,可以增加或减少包括在第一存储块BLK1的每个串中的存储单元的数量。在这种情况下可以根据包括在串STR中的存储单元的数量来增加或减少字线的数量。
此外,在示例性实施例中,可以相对于图2中示出的包括在每个串STR中的串选择晶体管SST和/或接地选择晶体管GST的数量来增加串选择晶体管SST和/或接地选择晶体管GST的数量。在这种情况下,可以根据每个串STR的串选择晶体管SST或接地选择晶体管GST的数量来增加串选择线SSL或接地选择线GSL的数量。
图3是示出图2中所示的存储单元的阈值电压分布的示例的分布图。图4是在描述用于形成图3中示出的阈值电压分布的编程方法的示例时用来参考的图。为了描述的简便起见,假设每个存储单元为存储2比特数据的多级单元。然而,本发明构思的范围和精神并不限于此。例如,每个存储单元可以是存储3比特数据的三级单元(TLC)或存储四比特或更多比特的多级单元。
此外,假设擦除状态E对应于数据“11”、第一编程状态P1对应于数据“10”、第二编程状态P2对应于数据“00”、第三编程状态P3对应于数据“01”。然而,本发明构思不限于该具体示例的位序。
共同参考图2至图4,多个存储单元可以具有擦除状态E。具有擦除状态E的存储单元可以被编程为具有擦除状态E和第一编程状态P1至第三编程状态P3中的一种状态。
如图4中所示,非易失性存储装置100可以执行一系列的编程循环PL1至PLn,使得存储单元被编程为具有擦除状态E和第一编程状态P1至第三编程状态P3中的一种状态。编程循环PL1至PLn均包含用来施加各编程脉冲PGM_1至PGM_n的编程步骤以及用来向被编程的每个存储单元应用验证电压Vvfy1至Vvfy3的验证步骤。
例如,当执行第一编程循环PL1时,在施加第一编程脉冲PGM_1之后顺序地施加用来验证存储单元的编程状态的第一验证电压Vvfy1至第三验证电压Vvfy3。此时,利用第一验证电压Vvfy1来验证目标编程状态是第一编程状态P1的存储单元,利用第二验证电压Vvfy2来验证目标编程状态是第二编程状态P2的存储单元,利用第三验证电压Vvfy3来验证目标编程状态是第三编程状态P3的存储单元。
将被各验证电压Vvfy1至Vvfy3验证通过的存储单元确定为具有目标编程状态。此后,被验证通过的存储单元在第二编程循环PL2中编程禁止。向除了在第二编程循环PL2中被编程禁止的存储单元之外的编程剩余的存储单元(或,非验证通过的存储单元)施加比第一编程脉冲PGM_1高出ΔPGM的第二编程脉冲PGM_2。
此后,可执行与第一编程循环PL1的验证操作基本相同的验证操作。在示例性实施例中,存储单元被验证通过可以指所述存储单元在施加验证电压时被确定为截止单元。
如上所述,当非易失性存储装置100对存储两个比特的多级单元(MLC)编程时,利用第一验证电压Vvfy1至第三验证电压Vvfy3来验证目标编程状态为编程状态P1至P3的存储单元。
图5和6是用来描述根据本发明构思的实施例的非易失性存储装置的编程操作的阈值电压图。为了描述的简化,存储单元在验证步骤中施加验证电压Vvfy时被确定为截止单元的情况称为“验证通过”,存储单元由于满足编程完成条件而被编程禁止的情况称为“编程完成”。即,编程完成状态的存储单元在下一个编程循环中是编程禁止的,但是被验证通过的存储单元在下一个编程循环中可以不是编程禁止的。
参照图2、图5和图6,每个存储单元可以被编程为具有擦除状态E和第一编程状态P1至第三编程状态P3中的一种状态。此时,与图3和图4不同,非易失性存储装置100利用一个验证电压Vvfy来验证存储单元的编程状态。
例如,非易失性存储装置100执行多个编程循环PL1至PLn,以对多个存储单元编程。编程循环PL1至PLn均包含用于施加编程脉冲PGM_1至PGM_n的编程步骤和用于施加验证电压Vvfy的验证步骤。
在验证步骤中,可以利用验证电压Vvfy来验证多个存储单元(或,多个编程状态)。例如,存储单元可以具有擦除状态和第一编程状态P1至第三编程状态P3中的一种状态,作为目标编程状态。此时,利用验证电压Vvfy来验证具有作为目标编程状态的第一编程状态P1、第二编程状态P2或第三编程状态的存储单元。
更具体地,当与图2的第三字线WL3连接的第三存储单元MC3的目标编程状态是第三编程状态P3时,第三存储单元MC3的阈值电压随着执行多个编程循环PL1至PLn而增加。当第三存储单元MC3的阈值电压通过第i个编程循环PLi(i是自然数)的编程脉冲PGM_i而变得比验证电压Vvfy高时,第三存储单元MC3在第i个编程循环PLi的验证步骤中被验证电压Vvfy读取为截止单元。即,第三存储单元MC3在第i个编程循环PLi中被验证电压Vvfy验证通过。
当存储单元被验证通过时,非易失性存储装置100改变与第三存储单元MC3对应的数据锁存器141的比特值。例如,与具有作为目标编程状态的第三编程状态P3的第三存储单元对应的数据锁存器141可以存储数据“01”。当第三存储单元MC3被验证电压Vvfy验证通过时,存储在数据锁存器141中的数据变为与第二编程状态P2对应的数据“00”。
此后,因为第三存储单元MC3的阈值电压在与第i+1个编程循环PLi+1对应的验证步骤中比验证电压Vvfy高,所以第三存储单元MC3可以被验证通过。当第三存储单元MC3在第i+1个编程循环PLi+1的验证步骤中被验证通过时,存储在数据锁存器141处的数据从与第二编程状态P2对应的数据“00”改变为与第一编程状态P1对应的数据“10”。
如上所述,此后,在第i+2个编程循环PLi+2的验证步骤中,第三存储单元MC3被验证通过,并且存储在数据锁存器141处的数据从与第一编程状态P1对应的数据“10”改变为与擦除状态E对应的数据“11”。此时,第三存储单元MC3被确定为“编程完成”,并且在随后的编程循环中被编程禁止。换言之,第三存储单元MC3被确定为满足编程完成条件。
即,如上所述,根据本发明构思的实施例的非易失性存储装置改变与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的值。此时,非易失性存储装置100基于存储在数据锁存器处的当前比特值来顺序地改变数据锁存器的值。
在参照图3和图4描述的编程方法中,利用不同的验证电压进行关于目标编程状态彼此不同的存储单元的验证。例如,根据参照图3和图4描述的编程方法,利用第三验证电压Vvfy3验证目标编程状态是第三编程状态P3的存储单元。在这种情况下,目标编程状态是第三编程状态P3的存储单元被验证通过一次,然后被编程禁止。
然而,根据本发明构思的实施例的非易失性存储装置100利用验证电压Vvfy来对目标编程状态是第一编程状态P1至第三编程状态P3的存储单元进行验证。此时,非易失性存储装置100顺序地改变与被验证通过的存储单元对应的数据锁存器的值。
例如,当与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的比特值是数据“01”(即,与第三编程状态P3对应的数据)时,非易失性存储装置100将与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的比特值改变为数据“00”(即,与第二编程状态P2对应的数据)。当与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的比特值是数据“00”(即,与第二编程状态P2对应的数据)时,非易失性存储装置100将与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的比特值改变为数据“10”(即,与第一编程状态P1对应的数据)。当与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的比特值是数据“10”(即,与第一编程状态P1对应的数据)时,非易失性存储装置100将与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的比特值改变为数据“11”(即,与擦除状态E对应的数据)。非易失性存储装置100将与存储有数据“11”(即,与擦除状态E对应的数据)的数据锁存器对应的存储单元编程禁止。
如上所述,根据本发明构思的实施例的非易失性存储装置100利用验证电压Vvfy来验证目标编程状态彼此不同的存储单元。此时,目标编程状态彼此不同的存储单元的编程完成条件可以彼此不同。下面的表1示出了目标编程状态彼此不同的存储单元的编程完成条件。
表1
目标编程状态 | 参考验证电压 | 被参考验证电压验证通过的计数 |
E | - | - |
P1 | Vvfy | 1 |
P2 | Vvfy | 2 |
P3 | Vvfy | 3 |
参照表1,利用验证电压Vvfy来验证目标编程状态是第一编程状态P1至第三编程状态P3的存储单元。仅目标编程状态是第一编程状态P1的存储单元被验证电压Vvfy验证通过一次,然后被编程禁止;目标编程状态是第二编程状态P2的存储单元被验证电压Vvfy验证通过两次,然后被编程禁止;目标编程状态是第三编程状态P3的存储单元被验证电压Vvfy验证通过三次,然后被编程禁止。
根据本发明构思的实施例,利用一个验证电压来验证具有不同目标编程状态的存储单元,但是具有不同目标编程状态的存储单元的编程完成条件彼此不同。
图7是在描述根据本发明构思的实施例的非易失性存储装置的编程操作时用来参考的流程图。参照图1和图5至图7,在步骤S110中,非易失性存储装置100向所选择的字线施加编程脉冲。例如,非易失性存储装置100可以从外部装置(例如,存储控制器、主机、或应用处理器)接收地址ADDR并根据接收到的地址在多条字线中选择至少一条字线。非易失性存储装置100向所选择的字线施加编程脉冲。
在步骤S120中,非易失性存储装置100向所选择的字线施加验证电压Vvfy。例如,非易失性存储装置100向所选择的字线施加验证电压Vvfy以检测与所选择的字线连接的存储单元的编程是否完成。非易失性存储装置100利用验证电压Vvfy来确定与所选择的字线连接的存储单元是导通单元还是截止单元。在示例性实施例中,被验证电压Vvfy确定为截止单元的存储单元可以是验证通过的存储单元。
在步骤S130中,非易失性存储装置100基于与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的当前比特值来改变比特值。例如,当与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的当前比特值是数据“01”(即,与第三编程状态P3对应的数据)时,非易失性存储装置100将与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的比特值改变为数据“00”(即,与第二编程状态P2对应的数据)。
即,当与第三编程状态P3对应的比特值存储在数据锁存器处时,非易失性存储装置100将数据锁存器的比特值改变为与第二编程状态P2对应的比特值。当与第二编程状态P2对应的比特值存储在数据锁存器处时,非易失性存储装置100将数据锁存器的比特值改变为与第一编程状态P1对应的比特值。当与第一编程状态P1对应的比特值存储在数据锁存器处时,非易失性存储装置100将数据锁存器的比特值改变为与擦除状态E对应的比特值。
换言之,非易失性存储装置100顺序地改变与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的比特值。
可选择地,非易失性存储装置100根据预定顺序来顺序地改变与被验证电压Vvfy验证通过的存储单元对应的数据锁存器的比特值。
在步骤S140中,非易失性存储器装置100确定与同所选择的字线连接的存储单元对应的数据锁存器的各比特值是否对应于擦除状态E。当与同所选择的字线连接的存储单元对应的数据锁存器的比特值中的每个比特值对应于擦除状态E时,非易失性存储器装置100终止编程操作。
当确定与同所选择的字线连接的存储单元对应的数据锁存器的各比特值没有与擦除状态E对应(即,存在未完成编程的存储单元)时,结果在步骤S150中,非易失性存储装置100确定是否执行了所有编程循环。
当执行了所有编程循环时,非易失性存储装置100终止编程操作。
当确定没有执行所有编程循环(即,存在尚未执行的编程循环时),结果在步骤S160中,非易失性存储装置100将与数据锁存器(存储有与擦除状态E对应的比特值的数据锁存器)对应的存储单元编程禁止。例如,非易失性存储装置100将电源电压Vcc提供到与存储有对应于擦除状态E的比特值的数据锁存器连接的位线。
在步骤S170中,非易失性存储装置100向所选择的字线施加下一个编程脉冲。在示例性实施例中,在步骤S170中施加的编程脉冲的电平可以比在步骤S110中施加的编程脉冲的电平高。
然后,非易失性存储装置100重复步骤S120至S170。在示例性实施例中,随着重复执行步骤S120至步骤S170,编程脉冲阶跃式增大。
根据本发明构思的实施例,当对存储有两个或更多个数据比特的多级单元进行编程时,非易失性存储器装置100利用验证电压Vvfy来验证多个编程状态。此时,编程状态的编程禁止条件(或,编程完成条件)彼此不同。因此,在非易失性存储装置100编程时,改善了验证速度。这意味着改善了非易失性存储装置100的性能。
图8至图10是在描述图7中所示的编程方法时用来参考的图。为了描述的简化,假设所选择的字线是第三字线,并且与第三字线WL3连接的第三存储单元MC3的目标编程状态是第三编程状态P3。此外,将相对于存储单元(即,第三存储单元MC3)来描述非易失性存储装置100的编程方法。然而,本发明构思的范围和精神可以不限于此。可以以页为单位来执行非易失性存储装置100的编程。
在图8至图10中,第一部分示出了多个存储单元的阈值电压分布,第二部分示出了第一串STR1和页缓冲器140。省略了对于描述第三储存单元MC3的编程来讲是不必要的构成元件。
参照图1和图5至图8,非易失性存储装置100执行多个编程循环PL1至PLn,以对第三存储单元MC3编程,如图6中所示。例如,第三存储单元MC3的阈值电压借助第i个编程循环PLi的编程脉冲PGM_i从第一阈值电压Vth1增加到第二阈值电压Vth2。
在施加第i个编程脉冲PGM_i之后,非易失性存储装置100施加验证电压Vvfy以确定第三存储单元MC3的状态。在这种情况下,由于第三存储单元MC3的阈值电压已经被第i个编程脉冲PGM_i增大到第二阈值电压Vth2并且第二阈值电压Vth2大于验证电压Vvtf,因此第三存储单元MC3被验证电压Vvfy确定为截止单元。
此时,如图8的第二部分中所示,非易失性存储装置100将与第三编程状态P3对应的并存储在数据锁存器141处的比特值“01”改变为与第二编程状态P2对应的比特值“00”。
即,在完成第i个编程循环PLi之后,第三存储单元MC3具有第二阈值电压Vth2,与第三存储单元MC3对应的数据锁存器141存储与第二编程状态P2对应的比特值“00”。
然后,参照图1、图5、图6和图9,在执行了第i个编程循环PLi之后,非易失性存储装置100执行第i+1个编程循环PLi+1。例如,非易失性存储装置100将第i+1个编程脉冲PGM_i+1施加到第三字线WL3。第三存储单元MC3的阈值电压借助第i+1个编程脉冲PGM_i+1从第二阈值电压Vth2增加到第三阈值电压Vth3。
在第i+1个编程脉冲PGM_i+1被施加到第三字线WL3之后,非易失性存储装置100向第三字线WL3施加验证电压Vvfy以确定第三存储单元MC3的状态。由于第三存储单元MC3的阈值电压已经被所施加的第i+1个编程脉冲PGM_i+1增加到第三阈值电压Vth3,并且第三阈值电压Vth3比验证电压Vvfy大,因此第三存储单元MC3被验证电压Vvfy读取为截止单元。
此时,如图9的第二部分中所示,非易失性存储装置100将存储在数据锁存器141处并与第二编程状态P2对应的比特值“00”改变为与第一编程状态P1对应的比特值“10”。
最后,参照图1、图5、图6和图10,在执行了第i+1个编程循环PLi+1之后,非易失性存储装置100执行第i+2个编程循环PLi+2。例如,非易失性存储装置100将第i+2个编程脉冲PGM_i+2施加到第三字线WL3。第三存储单元MC3的阈值电压借助第i+2个编程脉冲PGM_i+2从第三阈值电压Vth3增加到第四阈值电压Vth4。
在将第i+2个编程脉冲PGM_i+2施加到第三字线WL3之后,非易失性存储装置100将验证电压Vvfy施加到第三字线WL3,以确定第三存储单元MC3的状态。由于第三存储单元MC3的阈值电压已经借助第i+2个编程脉冲PGM_i+2增加到第四阈值电压Vth4,并且第四阈值电压Vvfy4比验证电压Vvfy大,因此第三存储单元MC3被验证电压Vvfy读取为截止单元。
此时,如图10的第二部分中所示,非易失性存储装置100将存储在数据锁存器处并与第一编程状态P1对应的比特值“10”改变为与擦除状态E对应的比特值“11”。
在随后的编程循环中,非易失性存储装置100将第三存储单元MC3编程禁止,使得第三存储单元MC3不被编程。
如参照图8至图10所述,当存储单元在多个编程循环PL1至PLn中的每个编程循环的验证步骤中被验证电压Vvfy读取为截止单元时(即,当存储单元被验证通过时),根据本发明构思的实施例的非易失性存储装置100顺序地改变与将要被确定为截止单元的存储单元对应的数据锁存器的比特值。换言之,非易失性存储装置100可以根据预定的顺序而顺序地改变与将要被确定为截止单元的存储单元对应的数据锁存器的比特值。因此,通过减少施加验证电压的事件数来缩短验证存储单元的编程状态的时间。因此,提供性能改善的非易失性存储装置。
图11至图14是用来描述根据本发明构思的实施例的非易失性存储装置的编程的图。在图8至图10中,本发明构思的实施例被举例为对第三存储单元MC3编程。相反,将参照图11至图14来描述关于与第三字线(即,所选择的字线)连接的存储单元(即,页单位)的编程。以页为单位来执行非易失性存储装置100的编程。
参照图1、图6和图11,非易失性存储装置100包含存储单元阵列110和页缓冲器140。存储单元阵列110包含通过位线BL连接到页缓冲器140的第一串STR1至第n串STRn。页缓冲器140包括通过位线BL连接到第一串STR1至第n串STRn并且与第一串STR1至第n串STRn对应的第一数据锁存器141至第n数据锁存器14n。
例如,所选择的字线可以是第三字线WL3。第一串STR1至第n串STRn包括分别与第三字线WL3连接的存储单元MC31至MC3n。
非易失性存储装置100从外部装置(例如,存储控制器、主机或应用处理器)接收数据。非易失性存储装置100在与第三字线WL3(即,所选择的字线)连接的存储单元MC31至MC3n处存储接收到的数据。例如,非易失性存储装置100将存储单元M31编程为擦除状态E,将存储单元M32编程为第一编程状态P1,将存储单元M33编程为第二编程状态P2,将存储单元M34编程为第三编程状态P3,将存储单元M35编程为第二编程状态P2,并且将存储单元M3n编程为第三存储状态P3。上面描述的编程状态可以是对应于各存储单元MC31至MC3n的目标编程状态。
非易失性存储装置100在第一数据锁存器141至第n数据锁存器14n处存储存储单元MC31至MC3n的目标编程状态。例如,非易失性存储装置100在与包括存储单元MC31的第一串STR1连接的数据锁存器141处存储与存储单元MC31的目标编程状态对应的比特值。即,存储在第一数据锁存器141处的比特值可以是数据“11”。类似地,非易失性存储装置100在第二数据锁存器142至第n数据锁存器14n处存储与存储单元MC32至MC3n的目标编程状态对应的比特值。
然后,非易失性存储装置100可以执行图6中所示的多个编程循环。
参照图1、图6和图12,在执行了预定的编程循环之后,存储单元MC32和MC34被验证电压Vvfy验证通过。随着预定的编程循环被执行,存储单元MC32和MC34的阈值电压变得高于验证电压Vvfy。在这种情况下,存储单元MC32和MC34被验证电压Vvfy读取为截止单元。
非易失性存储装置100改变与验证通过的存储单元MC32和MC34(即,被验证电压Vvfy确定为截止单元的存储单元)对应的数据锁存器142和144的比特值。例如,在执行预定的编程循环之前,数据锁存器142存储与第一编程状态P1对应的比特值,数据锁存器144存储与第三编程状态P3对应的比特值。当存储单元MC32和MC34在预定编程循环之后被验证通过时,非易失性存储装置100将存储在数据锁存器142处的比特值从与第一编程状态P1对应的比特值改变为与擦除状态E对应的比特值,并且将存储在数据锁存器144处的比特值从与第三编程状态P3对应的比特值改变为与第二编程状态P2对应的比特值。
在下一个编程循环中,非易失性存储装置100禁止对与第一数据锁存器141和第二数据锁存器142(均包括擦除状态E的比特值)对应的存储单元MC31和MC32编程。即,数据锁存器的比特值改变为与擦除状态E对应的比特值指完成了对与该数据锁存器对应的存储单元的编程。
参照图1、图6和图13,编程完成的第一存储单元MC31和第二存储单元MC32可以在随后的编程循环中被编程禁止。在下一个编程循环的验证步骤中,存储单元MC33、MC34、MC35和MC3n被验证通过。在这种情况下,非易失性存储装置100改变与存储单元MC33、MC34、MC35和MC3n对应的数据锁存器143、144、145和14n的比特值。例如,第三数据锁存器143的比特值从与第二编程状态P2对应的比特值改变为与第一编程状态P1对应的比特值,第四数据锁存器144的比特值从与第二编程状态P2对应的比特值改变为与第一编程状态P1对应的比特值。第五数据锁存器145的比特值从与第二编程状态P2对应的比特值改变为与第一编程状态P1对应的比特值,第n数据锁存器14n的比特值从与第三编程状态P3对应的比特值改变为与第二编程状态P2对应的比特值。
类似地,参照图1、图6和图14,在图13中示出的编程循环之后的编程循环的验证步骤中,存储单元MC33、MC34、MC35和MC3n被验证通过并且非易失性存储装置100改变数据锁存器143、144、145和14n的比特值。
如上所述,根据本发明构思的实施例的非易失性存储装置100执行多个编程循环使得每个存储单元具有多个编程状态中的一种编程状态。此时,非易失性存储装置100利用验证电压来验证至少两个编程状态。所述至少两个编程状态的编程完成条件彼此不同。例如,目标编程状态为至少两个编程状态的存储单元被验证电压验证通过的次数或者被验证电压确定为截止单元的的次数彼此不同。
即,如上所述,减少了施加验证电压的次数,从而能够改善非易失性存储装置100的性能。
图15和图16是用来描述根据本发明构思的另一实施例的非易失性存储装置的编程操作的图。假设非易失性存储装置100包括每单元存储3比特数据的多级单元(MLC或TLC)。然而,本发明构思的范围和精神不限于此。
非易失性存储装置100执行第一编程操作,使得多个存储单元具有擦除状态E或编程状态P11。此后,非易失性存储装置100执行粗略编程,使得具有擦除状态E的存储单元处于擦除状态E和编程状态P21至P23中的一种状态,并且使得具有第一编程状态P11的存储单元处于编程状态P24至P27中的一种编程状态。
然后,非易失性存储装置100执行精细编程,使得编程状态P21至P27像编程状态P31至P37那样分布。
在示例性实施例中,可以应用参照图5至图14描述的非易失性存储装置100的编程方式来粗略编程。例如,如图16中所示,非易失性存储装置100执行多个编程循环PL1至PLn,并且将存储单元编程为具有擦除状态E和编程状态P21至P27中的一种状态。
在多个编程循环PL1至PLn中的每个编程循环的验证步骤中,非易失性存储装置100向所选择的字线施加第一验证电压Vvfy1和第二验证电压Vvfy2,以验证存储单元的编程状态。
例如,目标编程状态是编程状态P21、P22和P23的存储单元由第一验证电压Vvfy1验证,目标编程状态是编程状态P24、P25、P26和P27的存储单元由第二验证电压Vvfy2验证。与参照图5至图14描述的类似,利用同一验证电压来验证具有不同目标编程状态的存储单元,但它们的编程完成条件彼此不同。下面的表2示出编程状态P21至P27的编程完成条件(即,编程禁止条件)。
表2
目标编程状态 | 参考验证电压 | 被参考验证电压验证通过的计数 |
E | - | - |
P21 | Vvfy1 | 1 |
P22 | Vvfy1 | 2 |
P23 | Vvfy1 | 3 |
P24 | Vvfy2 | 1 |
P25 | Vvfy2 | 2 |
P26 | Vvfy2 | 3 |
P27 | Vvfy2 | 4 |
参照表2,利用第一验证电压Vvfy1来验证编程状态P21、P22和P23但是它们被第一验证电压Vvfy1验证通过的计数彼此不同。即,当被第一验证电压Vvfy1验证通过一次时,编程状态P21在下一个编程循环中被编程禁止。相反,当被第一验证电压Vvfy1验证通过三次时,编程状态P23在下一个编程循环中被编程禁止。
类似地,由第二验证电压Vvfy2来验证编程状态P24、P25、P26和P27但是它们被第二验证电压Vvfy2验证通过的计数彼此不同。
具体地,假设对目标编程状态是编程状态P27的存储单元编程。在这种情况下,当存储单元被第二验证电压Vvfy2确定为截止单元时,非易失性存储装置100将与被验证通过的存储单元对应的数据锁存器的比特值从编程状态P27的比特值改变为编程状态P26的比特值。此后,每当存储单元被第二验证电压Vvfy2验证通过时,非易失性存储装置100顺序地改变被验证通过的存储单元的数据锁存器的比特值:P27→P26→P25→P24。
在示例性实施例中,当存储单元被验证通过并且与被验证通过的存储单元对应的数据锁存器的比特值是编程状态P24的比特值时,非易失性存储装置100将数据锁存器的比特值从编程状态P24的比特值改变为擦除状态E的比特值。存储单元在随后的编程循环中被编程禁止。
即,非易失性存储装置100将与被验证通过的存储单元对应的数据锁存器的比特值改变为与较低的编程状态对应的比特。当较低的编程状态的阈值电压分布比参考验证电压低时,与被验证通过的编程状态对应的数据锁存器的比特值被改变为与擦除状态E对应的比特值。在示例性实施例中,较低的编程状态指这样一种编程状态:该较低的编程状态与存储在数据锁存器处的比特值对应的编程状态相比具有较小的阈值电压分布范围。
参照图15和图16来示例性地描述非易失性存储装置100的编程方法和编程验证方法。然而,本发明构思的范围和精神可以不限于此。例如,虽然附图中没有示出,但是在第一编程操作(第一编程步骤)期间,非易失性存储装置100对多个存储单元编程,使得形成四个阈值电压分布。在这种情况下,非易失性存储装置100基于参照图5至图14描述的编程方法和编程验证方法来对存储单元编程。此外,在粗略编程期间,非易失性存储装置100利用两个或更多个验证电压对多个存储单元编程。另外,在精细编程期间,非易失性存储装置100利用七个验证电压来对多个存储单元编程。七个验证电压是用来验证目标编程状态是编程状态P31至P37的存储单元的验证电压。
参照图15和图16描述的编程方法和编程验证方法是示例性的。编程方法和编程验证方法可以根据存储在存储单元处的比特的数量以及目标阈值电压分布的数量来做各种改变或修改。
如上所述,非易失性存储装置100将多个存储单元编程为具有多个编程状态中的一个编程状态。此时,非易失性存储装置100利用验证电压来验证多个编程状态中的至少两个编程状态。此时,所述至少两个编程状态的被验证电压验证通过的计数彼此不同。即,当对存储多个比特的多级单元编程时施加验证电压的次数减少,从而可改善非易失性存储装置的性能。
参照图5至图16描述的编程验证方法是示例性的,本发明构思的范围和精神可以不限于此。非易失性存储装置100将多个存储单元编程为具有多个阈值电压分布中的一个阈值电压分布。非易失性存储装置100基于多个验证电压执行关于多个存储单元的阈值电压分布的验证。此时,通过一个验证电压来验证多个阈值电压分布中的至少两个阈值电压分布,但是所述至少两个阈值电压分布的编程完成条件彼此不同。即,本发明构思的范围和精神可以不限于参照图5至图16描述的编程验证方法。例如,在验证步骤中,施加一个或更多个验证电压,并利用所述一个或更多个验证电压中的一个验证电压对至少两个阈值电压分布或编程状态进行验证。
图17是示意性地示出根据本发明构思的又一实施例的存储块的电路图。在图17中示出的是第一存储块BLK1。然而,本发明构思的范围和精神可以不限于此。其余的存储块也可以具有与第一存储块BLK1的结构相同的结构。然而,本发明构思的范围和精神可以不限于此。
参考图17,第一存储块BLK1包括多个单元串CS11、CS12、CS21和CS22。单元串CS11、CS12、CS21和CS22沿着行方向和列方向布置以形成行和列。
每个单元串CS11、CS12、CS21和CS22可以包括多个单元晶体管。单元晶体管包括串选择晶体管SST、多个存储单元MC1~MC8以及接地选择晶体管GST。串选择晶体管SST连接到串选择线SSL。串选择线SSL可以分成第一串选择线SSL1和第二串选择线SSL2。存储单元MC1~MC8分别连接到字线WL1~WL8。具有同一高度的字线共同连接。接地选择晶体管GST被连接到接地选择线GSL。每个单元串被连接在位线BL和公共源极线CSL之间。即,串选择晶体管SST被连接到位线BL,接地选择晶体管GST被连接到公共源极线CSL。
设置在同一列中的单元串连接到同一位线。例如,单元串CS11和CS21连接到第一位线BL1。单元串CS12和CS22连接到第二位线BL2。
设置在同一行中的单元串连接到同一串选择线。例如,单元串CS11和CS12被连接到第一串选择线SSL1。单元串CS21和CS22被连接到第二串选择线SSL2。
每个单元串CS11、CS12、CS21和CS22在与基底(未示出)垂直的方向上堆叠。例如,接地选择晶体管GST、存储单元MC1~MC8和串选择晶体管SST可以在与基底垂直的方向上堆叠来形成。在示例性实施例中,存储单元MC1~MC8可以由电荷捕获闪速(CTF)存储单元构成。
本发明构思不限于图17中示出的第一存储块BLK1。例如,可以相对于图17中的单元串的行的数量来增加或减少单元串的行的数量。由于改变了单元串的行的数量,因此也可以改变连接到单元串的行的接地选择线和串选择线的数量以及连接到一条位线的单元串的数量。
可相对于图17的单元串的列的数量增加或减少单元串的列的数量。由于改变了单元串的列的数量,因此也可以改变连接到单元串的列的位线的数量以及连接到一条串选择线的单元串的数量。
可相对于图17的单元串的高度来增加或减少单元串的高度。例如,可以增加或减少堆叠在每个单元串中的存储单元的数量。由于改变了堆叠在每个单元串中的存储单元的数量,因此也可以改变字线的数量。
可相对于图17的串选择晶体管和/或接地选择晶体管的数量来增加每个单元串提供的串选择晶体管和/或接地选择晶体管的数量。例如,随着每个单元串提供的串选择晶体管或接地选择晶体管的数量变化,串选择线或接地选择线的数量也可以变化。在串选择线或接地选择线的数量增加的情况下,串选择线或接地选择线可以按与存储单元MC1~MC8相同的形式堆叠。
在示例性实施例中,可以按照单元串CS11、CS12、CS21和CS22的行为单位来执行写入和读取操作。单元串CS11、CS12、CS21和CS22可以由串选择线SSL1和SSL2以一个行为单位来选择。
在单元串CS11、CS12、CS21和CS22的一个选定的行中,可以以页为单位来执行写入操作和读取操作。所述页可以是连接到同一条字线的存储单元的一行。可选择地,所述页可以是存储在连接到同一条字线的存储单元的一行中的数据的单位。在单元串CS11、CS12、CS21和CS22的一个选定的行中,可以通过字线WL1~WL8以页为单位来选择存储单元。
在本发明构思的实施例中,提供了三维(3D)存储阵列。三维存储阵列以存储单元(具有设置在硅基底上方的有源区)的阵列的一个或更多个物理级以及与那些存储单元的操作相关联的电路而单片地形成,其中,这种相关联的电路位于这种基底的上方或内部。术语“单片的”是指阵列的各级的层被直接沉积在阵列的各下一级的层上。
在本发明构思的实施例中,3D存储阵列包括被竖直地定向使得至少一个存储单元位于另一个存储单元之上的垂直NAND串。所述至少一个存储单元可以包括电荷捕获层。每个垂直NAND串可以包括位于存储单元之上的至少一个选择晶体管,所述至少一个选择晶体管与存储单元具有相同的结构并且与存储单元一起单片地形成。
下面通过引用被包含于此的专利文献描述了用于三维存储阵列的合适的构造,其中,三维存储阵列被构造为多个级,在所述多个级之间具有共享的字线和/或位线:第7,679,133号、第8,553,466号、第8,654,587号、第8,559,235号美国专利以及第2011/0233648号美国专利公开。
图18和图19是在描述对图17中示出的第一存储块编程的方法中用来参考的图。为了描述的简化,假设第一存储块BLK1的存储单元是每单元存储三比特的三级单元(TLC)。然而,本发明构思的范围和精神不限于此。
参考图1以及图17至图19,非易失性存储装置100对具有擦除状态E的多个存储单元编程,使得每个存储单元具有擦除状态E和第一编程状态P1至第七编程状态P7中的一种状态。此编程被称作一次性编程。
非易失性存储装置100利用第一验证电压Vvfy1至第四验证电压Vvfy4来验证存储单元的编程状态。例如,如图19中所示,非易失性存储装置100执行多个编程循环PL1至PLn以对多个存储单元编程。多个编程循环PL1至PLn中的每个编程循环包括编程步骤和验证步骤。在编程步骤中,非易失性存储装置100供应编程电压PGM_1至PGM_n。在验证步骤中,非易失性存储装置100利用第一验证电压Vvfy1至第四验证电压Vvfy4来验证存储单元的编程状态。
非易失性存储装置100利用第一验证电压Vvfy1来验证目标编程状态是第一编程状态P1或第二编程状态P2的存储单元的编程状态。非易失性存储装置100利用第二验证电压Vvfy2来验证目标编程状态是第三编程状态P3或第四编程状态P4的存储单元的编程状态。非易失性存储装置100利用第三验证电压Vvfy3来验证目标编程状态是第五编程状态P5或第六编程状态P6的存储单元的编程状态。非易失性存储装置100利用第四验证电压Vvfy4来验证目标编程状态是第七编程状态P7的存储单元的编程状态。
如参照图5至图16所述,当存储单元被参考验证电压验证通过时,非易失性存储装置100顺序地改变与被验证通过的存储单元对应的数据锁存器的比特值。可选择地,当存储单元被参考验证电压验证通过时,非易失性存储装置100基于当前存储在与被验证通过的存储单元对应的数据锁存器处的比特值来改变比特值。
此时,存储单元的编程完成条件(例如,编程禁止条件)彼此不同。例如,下面的表3示出目标编程状态是编程状态P1至P7的存储单元的编程完成条件。
表3
目标编程状态 | 参考验证电压 | 被参考验证电压验证通过的计数 |
E | - | - |
P1 | Vvfy1 | 1 |
P2 | Vvfy1 | 2 |
P3 | Vvfy2 | 1 |
P4 | Vvfy2 | 2 |
P5 | Vvfy3 | 1 |
P6 | Vvfy3 | 2 |
P7 | Vvfy4 | 1 |
参照表3,由第一验证电压Vvfy1来验证目标编程状态是第一编程状态P1的存储单元。然而,被第一验证电压Vvfy1验证通过一次的存储单元(即,存储单元被确定为截止单元)被编程禁止。
由第一验证电压Vvfy1来验证目标编程状态是第二编程状态P2的存储单元,当存储单元被第一验证电压Vvfy1验证通过两次(即,存储单元被确定为截止单元)时,存储单元被编程禁止。
同样地,由第二验证电压Vvfy2来验证目标编程状态是第三编程状态P3的存储单元,当存储单元被第二验证电压Vvfy2验证通过一次(即,存储单元被确定为截止单元)时,存储单元被编程禁止。
由第二验证电压Vvfy2来验证目标编程状态是第四编程状态P4的存储单元,当存储单元被第二验证电压Vvfy2验证通过两次(即,存储单元被确定为截止单元)时,存储单元被编程禁止。
如上所述,非易失性存储装置100对多个存储单元编程,使得所述多个存储单元中的每个存储单元具有多个编程状态中的一个编程状态,并利用验证电压来验证所述多个编程状态中的至少两个编程状态。此时,被验证电压验证通过的至少两个编程状态的计数彼此不同。即,由于无需施加与所述多个编程状态对应的验证电压,因此减少了验证存储单元所花费的时间。这意味着改善了非易失性存储装置的性能。
图20是示意性地示出应用了根据本发明构思的实施例的非易失性存储装置的非易失性存储系统的框图。参照图20,非易失性存储系统1000包含存储控制器1100和非易失性储存装置1200。
存储控制器1100根据外部装置(例如,主机或应用处理器)的请求来控制非易失性存储装置1200。例如,存储控制器110将地址ADDR、命令CMD和控制信号CTRL发送到非易失性存储装置1200,以读取存储在非易失性存储装置1200处的数据。非易失性存储装置1200响应于来自存储控制器1100的信号将数据传输至存储控制器1100。
存储控制器110将地址ADDR、命令CMD、控制信号CTRL和数据发送到非易失性存储装置1200以在非易失性存储装置1200处存储数据。非易失性存储装置1200响应于来自存储控制器1100的信号而存储数据。此时,非易失性存储装置1200根据参照图1至图19描述的编程方法或编程验证方法来存储数据。
图21是示意性地示出根据本发明构思的实施例的包括非易失性存储系统的存储卡系统的框图。参照图21,存储卡系统2000包含存储控制器2100、非易失性存储器2200和控制器2300。
存储控制器2100连接到非易失性储存器2200。存储控制器2100被构造为访问非易失性储存器2200。例如,存储控制器2100可以适于控制非易失性储存器2200的包括(但不限于)读取操作、写入操作、擦除操作和背景操作的全部操作。存储控制器2100提供非易失性储存器2200和主机之间的接口。存储控制器2100被构造为驱动用于控制非易失性储存器2200的固件。
在示例性实施例中,存储控制器2100可以包括(但不限于)诸如RAM、处理单元、主机接口、存储器接口和纠错单元。
存储控制器2100通过连接器2300与外部装置通信。存储控制器2100根据具体的通信协议与外部装置通信。例如,存储控制器2100可以通过各种接口协议中的至少一种来与外部通信,诸如(但不限于)通用串行总线(USB)、多媒体卡(MMC)、eMMC(嵌入式MMC)、外围组件互联(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA协议、并行ATA、小型计算机小型接口(SCSI)、增强小型磁盘接口(ESDI)、电子集成驱动器(IDE)、UFS(通用闪存)、WiFi、蓝牙、NVMe和火线。在示例性实施例中,连接器2300可以被通信协议中的至少一个通信协议限定。
在示例性实施例中,非易失性存储器2200可以利用各种非易失性存储装置来实现,诸如(但不限于)EPROM(电可擦除和可编程ROM)、NAND闪存、NOR闪存、PRAM(相变RAM)、ReRAM(电阻RAM)、FRAM(铁电RAM)和STT-MRAM(自旋转矩磁RAM)。
存储控制器2100或非易失性存储器2200可以根据各种不同的封装技术中的任一封装技术来封装。封装技术的示例可以包括PoP(层叠封装)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插封装件(PDIP)、华夫包式裸片、晶圆形式裸片、板上芯片(COB)、陶瓷双列直插封装(CERDIP)、塑胶公制四方扁平封装(MQFP)、小外形封装(SOIC)、紧缩小外形封装(SSOP)、薄小外形封装(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级装配封装(WFP)和晶圆级堆栈封装(WSP)。可选择地,非易失性储存器2200可以包括以上述封装技术中的一种封装技术实现的多个非易失性储存芯片。
在示例性实施例中,存储控制器2100和非易失性存储器2200可以集成在单个半导体装置中。存储控制器2100和非易失性存储器2200可以集成在单个半导体装置中以形成固态驱动(SSD)。存储控制器2100和非易失性存储器2200可以集成在单个半导体装置中以形成存储卡,诸如(但不限于)PC卡(PCMCIA,个人计算机存储卡国际协会)、紧凑闪速(CF)卡、智能媒体卡(SM、SMC)、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)和通用闪存(UFS)。
在示例性实施例中,非易失性存储器2200可以根据存储控制器2100的控制来对数据编程。此时,非易失性存储器2200可以基于参照图5至图19所述的编程方法或编程验证方法来对数据编程。
图22是示出根据本发明构思的实施例的包括非易失性存储系统的固态驱动的框图。参照图22,固态驱动(SSD)系统3000包括:主机3100和SSD3200。SSD3200通过主机接口3001与主机3100交换信号SGL,并且借助电力连接器3002被供应电力。SSD3200包括多个闪存3221至322n、SSD控制器3210、辅助电源3230和缓冲存储器3240。
SSD控制器3210响应于来自主机3100的信号SIG而通过信道CH1、CH2至CHn控制闪存3221至322n。例如,信号SIG可以是基于主机3100和SSD3200的接口的信号。例如,信号SIG可以是按各种接口协议中的至少一种来限定的信号,所述各种接口协议诸如(但不限于)通用串行总线(USB)、多媒体卡(MMC)、eMMC(嵌入式MMC)、外围组件互联(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA协议、并行ATA、小型计算机小接口(SCSI)、增强小型磁盘接口(ESDI)、电子集成驱动器(IDE)、UFS(通用闪存)、WiFi、蓝牙、NVMe和火线。
辅助电源3230经由电力连接器3002连接到主机3100。辅助电源3230借助来自主机3100的电力PWR充电。当主机3100没有稳定供应电力时,辅助电源3230向SSD系统3000提供电力。辅助电源3230可以放置在SSD3200的内部或外部。例如,辅助电源3230可以放置在主板上,以向SSD3200提供辅助电力。
缓冲存储器3240用作SSD3200的缓冲存储器。例如,缓冲存储器3240临时存储从主机3100或闪存3221至322n接收的数据,或者缓冲存储器3240临时存储闪存3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDRSDRAM、LPDDRSDRAM、SRAM等的易失性存储器或者诸如FRAMReRAM、STT-MRAM、PRAM等的非易失性存储器。
在示例性实施例中,非易失性存储器3221至322n可以根据SSD控制器3210的控制来存储数据或输出所存储的数据。非易失性存储器3221至322n可以利用参照图5至图19描述的非易失性存储装置100来实现,并且根据参照图5至图19描述的编程方法或编程验证方法来存储数据。
图23是示意性示出根据发明构思的实施例的包括非易失性存储系统的用户系统的框图。参照图23,用户系统4000包括应用处理器4100、存储模块4200、网络模块4300、存贮模块4400和用户接口(例如,输入接口)4500。
应用处理器4100驱动用户系统4000、操作系统等的组件。例如,应用处理器4100可包括用来控制用户系统4000的组件的控制器、图形引擎、多种接口等。应用处理器4100可以利用芯片上系统(SoC)来实现。
存储模块4200作为用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器来操作。存储模块4200可以使用诸如DRAM(动态随机存取存储器)、SDRAM(同步DRAM)、DDRSDRAM(双倍数据速率SDRAM)、DDR2SDRAM、DDR3SDRAM、LPDDRDRAM、LPDDR2DRAM或LPDDR3DRAM的易失性随机存取存储器来实现,或使用诸如PRAM(相变RAM)、MRAM(磁性RAM),RRAM(电阻式RAM)或FRAM(铁电体RAM)的非易失性随机存取存储器来实现。在示例性实施例中,应用处理器4100和存储模块4200根据POP(层叠封装)封装在半导体封装件中。
网络模块4300与外部装置通信。例如,网络模块4300可以支持诸如CDMA(码分多址)、GSM(全球移动通信系统)、WCDMA(宽带CDMA)、CDMA-2000、TDMA(时分多址)、LTE(长期演进)、Wimax、WLAN、UWB、蓝牙、WI-DI等的无线通信。作为另一实施例,网络模块4300可以被嵌入在应用处理器4100中。
存贮模块4400存储数据。例如,存贮模块4400存储从应用处理器4100接收的数据。可选择地,存贮模块4400向应用处理器4100提供存储在其中的数据。例如,存贮模块4400可以使用诸如PRAM、MRAM、RRAM、NAND闪存、NOR闪存或三维NAND闪存的非易失性半导体存储装置来实现。在示例性实施例中,存贮模块4400可以利用诸如用户系统4000或外部装置的存储卡的移动驱动来实现。
在示例性实施例中,存贮模块4400可以包括根据参照图5至图19描述的编程方法或编程验证方法来存储数据的多个非易失性存储装置。
用户接口(例如,输入接口)4500可以提供用于将数据或命令提供到应用处理器4100的接口或者用于将数据输出到外部装置的接口。例如,输入接口4500可以包括诸如键盘、小键盘(keypad)、按钮、触摸面板、触摸屏、触摸板、触摸球、照相机、麦克风、陀螺仪、振动传感器和压电元件等的用户输入接口。输入接口4500可以包括诸如LCD(液晶显示)装置、OLED(有机发光二极管)显示装置、AMOLED(有源矩阵OLED)显示装置、LED、扬声器和电动机等的用户输出接口。
根据本发明构思的实施例,非易失性存储装置将多个存储单元编程为具有多个编程状态中的一个编程状态(或者,多个阈值电压分布中的一个阈值电压分布),并且利用多个验证电压来验证存储单元的编程状态。此时,利用一个验证电压来验证多个编程状态中的至少两个编程状态(或者,多个阈值电压分布中的至少两个阈值电压分布),但是所述至少两个编程状态的编程完成条件(即,编程禁止条件)彼此不同。
具体地讲,当第一存储单元的目标编程状态是第一编程状态并且第二存储单元的目标编程状态是第二编程状态时,利用第一验证电压来验证第一存储单元和第二存储单元的编程状态。然而,所述至少两个编程状态的编程完成条件(即,编程禁止条件)彼此不同,即,根据第一验证电压的验证通过计数(即,存储单元被确定为截止单元的计数的数量)彼此不同。
因此,当对存储多个比特的多级单元编程时,减少了被施加以验证每个编程状态的验证电压的数量。即,提供了性能改善的非易失性存储装置及其操作方法。
虽然已经参照示例性实施例描述了发明构思,但是对本领域技术人员来说将明显的是,在不脱离本发明的精神和范围的情况下,可以做出各种修改和变形。因此,应该理解的是,以上实施例不是限制性的而是示例性的。
Claims (25)
1.一种对多个存储单元编程的非易失性存储装置的编程验证方法,所述编程验证方法包括以下步骤:
施加多个验证电压;以及
基于所述多个验证电压中的一个验证电压来确定是否完成了对所述多个存储单元中的具有不同的目标阈值电压分布的存储单元的编程。
2.如权利要求1所述的编程验证方法,其中,所述确定步骤包括:
基于所述一个验证电压来确定具有不同的目标阈值电压分布的存储单元是否被验证通过;以及
基于预定的验证通过计数来确定是否完成了对具有不同的目标阈值电压分布的存储单元的编程。
3.如权利要求2所述的编程验证方法,其中,当具有不同的目标阈值电压分布的存储单元被读取为截止单元时,具有不同的目标阈值电压分布的存储单元被验证通过。
4.如权利要求2所述的编程验证方法,其中,基于所述一个验证电压来确定具有不同目标阈值电压分布的存储单元是否被验证通过的步骤包括:
改变步骤,当具有不同的目标阈值电压分布的存储单元中的一个存储单元被验证通过时,改变与被验证通过的存储单元对应的数据锁存器的比特值,
其中,将数据锁存器的比特值改变为与所述多个阈值电压分布对应的多个比特值和与擦除状态对应的比特值中的一个比特值。
5.如权利要求4所述的编程验证方法,其中,当具有不同的目标阈值电压分布的存储单元中的一个存储单元被验证通过时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤包括:
基于存储在数据锁存器处的所述比特值来改变存储在数据锁存器处的比特值。
6.如权利要求4所述的编程验证方法,其中,当具有不同的目标阈值电压分布的存储单元中的一个存储单元被验证通过时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤包括:
根据预定次序来顺序地改变存储在数据锁存器处的比特值。
7.如权利要求2所述的编程验证方法,其中,所述编程验证方法还包括对被确定为编程完成的存储单元进行编程禁止。
8.一种包括多个存储单元的非易失性存储装置的编程方法,所述编程方法包括以下步骤:
顺序地执行多个编程循环,使得所述多个存储单元具有多个编程状态,
其中,所述多个编程循环中的每个编程循环包括:
编程步骤,在编程步骤中,向所选择的字线施加编程脉冲;以及
验证步骤,在验证步骤中,向所选择的字线施加多个验证电压,以验证是否完成了对所述多个存储单元的编程,
其中,由所述多个验证电压中的一个验证电压来验证是否完成了对所述多个存储单元中的具有不同的目标编程状态的存储单元的编程。
9.如权利要求8所述的编程方法,其中,所述验证步骤包括:
基于所述一个验证电压来确定具有不同的目标编程状态的存储单元是否被验证通过。
10.如权利要求9所述的编程方法,其中,具有不同的目标编程状态的存储单元的编程完成条件具有根据不同的目标编程状态而改变的验证通过计数。
11.如权利要求9所述的编程方法,其中,所述验证步骤还包括:
改变步骤,当具有不同的目标编程状态的存储单元中存在验证通过的存储单元时,改变与被验证通过的存储单元对应的数据锁存器的比特值。
12.如权利要求11所述的编程方法,其中,当具有不同目标编程状态的存储单元中存在验证通过的存储单元时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤包括:
将数据锁存器的比特值改变为与所述多个编程状态对应的比特值和与擦除状态对应的比特值中的一个比特值。
13.如权利要求12所述的编程方法,其中,当具有不同目标编程状态的存储单元中存在验证通过的存储单元时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤还包括:
根据预定的次序来改变锁存器的比特值。
14.如权利要求12所述的编程方法,其中,当具有不同目标编程状态的存储单元中存在验证通过的存储单元时,改变与被验证通过的存储单元对应的数据锁存器的比特值的改变步骤还包括:
将数据锁存器的比特值改变为与具有阈值电压分布的编程状态对应的比特值,其中,所述编程状态的阈值电压分布低于与数据锁存器的所述比特值对应的编程状态的阈值电压分布。
15.如权利要求14所述的编程方法,其中,将数据锁存器的比特值改变为与具有阈值电压分布的编程状态对应的比特值,所述编程状态的阈值电压分布低于与数据锁存器的所述比特值对应的编程状态的阈值电压分布的步骤包括:
改变步骤,当比与数据锁存器的所述比特值对应的编程状态低的编程状态的阈值电压分布低于所述一个验证电压时,将数据锁存器的所述比特值改变为与擦除状态对应的比特值。
16.如权利要求11所述的编程方法,所述编程方法还包括:
当改变后的数据锁存器的比特值是与擦除状态对应的比特值时,禁止对与被改变比特值的数据锁存器对应的存储单元进行编程。
17.一种非易失性存储装置,所述非易失性存储装置包括:
存储单元阵列,包括多个存储单元;
页缓冲器,通过多条位线连接到存储单元阵列,并且适用于临时存储将要被存储在所述多个存储单元处的多个数据比特;
地址解码器,通过多条字线连接到存储单元阵列,并且适用于选择所述多条字线中的至少一条字线;以及
控制逻辑和电压生成器块,适用于控制编程,使得连接到所选择的字线的存储单元具有与临时存储在页缓冲器处的所述多个数据比特对应的目标编程状态,
其中,控制逻辑和电压生成器块将多个验证电压施加到所选择的字线以确定是否完成了对连接到所选择的字线的存储单元的编程,以及
其中,控制逻辑和电压生成器块基于所述多个验证电压中的一个验证电压来确定是否完成了对与所选择的字线连接的存储单元中的具有不同的目标编程状态的存储单元的编程。
18.如权利要求17所述的非易失性存储装置,其中,被所述一个验证电压验证通过的目标编程状态不同的存储单元的编程完成条件彼此不同,以及
编程完成条件包括存储单元的验证通过计数。
19.如权利要求18所述的非易失性存储装置,其中,页缓冲器包括与连接到所选择的字线的存储单元对应的多个数据锁存器,以及
其中,数据锁存器从所述多个数据比特中存储与相应的存储器单元的目标编程状态对应的比特值。
20.如权利要求19所述的非易失性存储装置,其中,当目标编程状态不同的存储单元中的至少一个存储单元验证通过时,改变与被验证通过的存储单元对应的数据锁存器的比特值。
21.如权利要求20所述的非易失性存储装置,其中,将与被验证通过的存储单元对应的数据锁存器的比特值改变为与擦除状态和所述多个编程状态对应的比特值中的一个比特值。
22.如权利要求20所述的非易失性存储装置,其中,根据预定的次序来顺序地改变与被验证通过的存储单元对应的数据锁存器的比特值。
23.如权利要求20所述的非易失性存储装置,其中,当与被验证通过的存储器单元对应的数据锁存器的比特值是与擦除状态对应的比特值时,验证通过的存储器单元被编程禁止。
24.一种非易失性存储装置的编程验证方法,所述非易失性存储装置对多个存储器单元进行编程,使得所述多个存储器单元具有多个目标阈值电压分布,所述编程验证方法包括以下步骤:
施加验证电压;以及
基于验证电压来确定是否完成了对所述多个存储器单元的编程,
其中,所述多个存储器单元的编程完成条件根据所述多个目标阈值电压分布而彼此不同。
25.如权利要求24所述的编程验证方法,其中,被验证电压验证通过的存储单元的验证通过计数根据所述多个目标阈值电压分布而不同。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140110864A KR102235492B1 (ko) | 2014-08-25 | 2014-08-25 | 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법 |
KR10-2014-0110864 | 2014-08-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105390157A true CN105390157A (zh) | 2016-03-09 |
CN105390157B CN105390157B (zh) | 2020-02-07 |
Family
ID=55348839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510526556.9A Active CN105390157B (zh) | 2014-08-25 | 2015-08-25 | 非易失性存储装置和编程验证方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9406393B2 (zh) |
KR (1) | KR102235492B1 (zh) |
CN (1) | CN105390157B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719693A (zh) * | 2016-01-22 | 2016-06-29 | 清华大学 | Nand存储器的多比特编程方法及装置 |
CN107393590A (zh) * | 2016-04-04 | 2017-11-24 | 三星电子株式会社 | 非易失性存储设备及其编程方法 |
CN107919147A (zh) * | 2016-10-11 | 2018-04-17 | 三星电子株式会社 | 对非易失性存储器件编程的方法和操作具有非易失性存储器件的系统的方法 |
CN109308928A (zh) * | 2017-07-28 | 2019-02-05 | 华邦电子股份有限公司 | 存储器装置的行解码器 |
CN109637575A (zh) * | 2017-10-09 | 2019-04-16 | 中国科学院微电子研究所 | 闪存存储单元的双数据读取验证方法和设备 |
CN109841254A (zh) * | 2017-11-24 | 2019-06-04 | 三星电子株式会社 | 非易失性存储设备及其编程方法 |
CN110556152A (zh) * | 2018-05-31 | 2019-12-10 | 爱思开海力士有限公司 | 存储器装置、其操作方法以及包括其的存储器系统 |
CN112270947A (zh) * | 2020-10-29 | 2021-01-26 | 长江存储科技有限责任公司 | 用于存储器的编程方法和装置 |
CN112599157A (zh) * | 2020-12-17 | 2021-04-02 | 长江存储科技有限责任公司 | 三维存储器及其编程方法 |
CN112965667A (zh) * | 2020-02-20 | 2021-06-15 | 长江存储科技有限责任公司 | 对多平面存储器件进行编程的方法和多平面存储器件 |
CN113496742A (zh) * | 2020-04-08 | 2021-10-12 | 爱思开海力士有限公司 | 存储器设备和操作存储器设备的方法 |
WO2023028846A1 (zh) * | 2021-08-31 | 2023-03-09 | 长江存储科技有限责任公司 | 存储器、存储器的编程方法及编程验证方法、存储器系统 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875805B2 (en) * | 2015-01-23 | 2018-01-23 | Sandisk Technologies Llc | Double lockout in non-volatile memory |
US10074439B2 (en) * | 2015-06-04 | 2018-09-11 | SK Hynix Inc. | Modeling method of threshold voltage distributions |
US11437094B2 (en) | 2015-08-13 | 2022-09-06 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, storage device, and operation method of storage device |
KR102291456B1 (ko) * | 2015-08-13 | 2021-08-23 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 및 프로그램 검증 방법 |
JP2018005961A (ja) * | 2016-07-01 | 2018-01-11 | 東芝メモリ株式会社 | 記憶装置 |
US10325657B2 (en) * | 2017-01-25 | 2019-06-18 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and methods of programming the same |
KR102400098B1 (ko) | 2017-01-25 | 2022-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 프로그램 방법 |
KR20190019427A (ko) | 2017-08-17 | 2019-02-27 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그 동작 방법 |
CN110164498A (zh) * | 2019-05-28 | 2019-08-23 | 长江存储科技有限责任公司 | 一种非易失性存储器及其编程方法 |
KR20210011209A (ko) | 2019-07-22 | 2021-02-01 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법 |
US11200952B2 (en) * | 2019-07-22 | 2021-12-14 | Samsung Electronics Co., Ltd. | Non-volatile memory device |
US11507816B2 (en) * | 2019-09-19 | 2022-11-22 | Silicon Storage Technology, Inc. | Precision tuning for the programming of analog neural memory in a deep learning artificial neural network |
JP2021047961A (ja) * | 2019-09-19 | 2021-03-25 | キオクシア株式会社 | メモリシステム |
US11894075B2 (en) | 2020-08-27 | 2024-02-06 | Yangtze Memory Technologies Co. Ltd. | Non-destructive mode cache programming in NAND flash memory devices |
WO2022041033A1 (en) * | 2020-08-27 | 2022-03-03 | Yangtze Memory Technologies Co., Ltd. | Non-destructive mode cache programming in nand flash memory devices |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364443A (zh) * | 2007-08-08 | 2009-02-11 | 海力士半导体有限公司 | 在非易失性存储器件中的软编程方法 |
CN101521042A (zh) * | 2008-02-26 | 2009-09-02 | 三星电子株式会社 | 用于非易失性存储设备的编程方法 |
CN102298966A (zh) * | 2010-05-31 | 2011-12-28 | 三星电子株式会社 | 非易失性存储器设备、系统及编程方法 |
CN102314941A (zh) * | 2010-07-06 | 2012-01-11 | 三星电子株式会社 | 非易失性存储器件、存储系统和执行读操作的方法 |
CN103050149A (zh) * | 2011-10-13 | 2013-04-17 | 三星电子株式会社 | 非易失性存储器件及其编程方法和包括其的存储器系统 |
US20130322171A1 (en) * | 2012-05-29 | 2013-12-05 | Ji-Sang LEE | Methods of operating nonvolatile memory devices that support efficient error detection |
CN103578550A (zh) * | 2012-07-31 | 2014-02-12 | 三星电子株式会社 | 产生随机数的存储系统与产生随机数的方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6917542B2 (en) | 2003-07-29 | 2005-07-12 | Sandisk Corporation | Detecting over programmed memory |
US7643348B2 (en) | 2007-04-10 | 2010-01-05 | Sandisk Corporation | Predictive programming in non-volatile memory |
KR101322378B1 (ko) | 2007-07-09 | 2013-10-30 | 삼성전자주식회사 | 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법 |
KR101226685B1 (ko) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | 수직형 반도체 소자 및 그 제조 방법. |
JP5172555B2 (ja) * | 2008-09-08 | 2013-03-27 | 株式会社東芝 | 半導体記憶装置 |
KR101044540B1 (ko) | 2009-06-30 | 2011-06-27 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 프로그램 방법 |
KR101616097B1 (ko) | 2009-11-11 | 2016-04-28 | 삼성전자주식회사 | 불휘발성 메모리 장치의 프로그램 방법 |
US8223556B2 (en) * | 2009-11-25 | 2012-07-17 | Sandisk Technologies Inc. | Programming non-volatile memory with a reduced number of verify operations |
KR101691092B1 (ko) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US9536970B2 (en) | 2010-03-26 | 2017-01-03 | Samsung Electronics Co., Ltd. | Three-dimensional semiconductor memory devices and methods of fabricating the same |
US8208310B2 (en) | 2010-05-04 | 2012-06-26 | Sandisk Technologies Inc. | Mitigating channel coupling effects during sensing of non-volatile storage elements |
US8305807B2 (en) | 2010-07-09 | 2012-11-06 | Sandisk Technologies Inc. | Detection of broken word-lines in memory arrays |
US8274838B2 (en) | 2010-07-19 | 2012-09-25 | Sandisk Technologies Inc. | Programming non-volatile memory with bit line voltage step up |
KR101682666B1 (ko) | 2010-08-11 | 2016-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템 |
KR101201888B1 (ko) | 2010-12-20 | 2012-11-16 | 에스케이하이닉스 주식회사 | 반도체 장치의 프로그램 방법 |
US8711616B2 (en) * | 2010-12-22 | 2014-04-29 | Micron Technology, Inc. | Single check memory devices and methods |
KR101211840B1 (ko) | 2010-12-30 | 2012-12-12 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 프로그램 방법 |
KR20130091075A (ko) | 2012-02-07 | 2013-08-16 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR102140784B1 (ko) * | 2013-12-03 | 2020-08-03 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 기록 방법 |
-
2014
- 2014-08-25 KR KR1020140110864A patent/KR102235492B1/ko active IP Right Grant
-
2015
- 2015-03-25 US US14/668,043 patent/US9406393B2/en active Active
- 2015-08-25 CN CN201510526556.9A patent/CN105390157B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364443A (zh) * | 2007-08-08 | 2009-02-11 | 海力士半导体有限公司 | 在非易失性存储器件中的软编程方法 |
CN101521042A (zh) * | 2008-02-26 | 2009-09-02 | 三星电子株式会社 | 用于非易失性存储设备的编程方法 |
CN102298966A (zh) * | 2010-05-31 | 2011-12-28 | 三星电子株式会社 | 非易失性存储器设备、系统及编程方法 |
CN102314941A (zh) * | 2010-07-06 | 2012-01-11 | 三星电子株式会社 | 非易失性存储器件、存储系统和执行读操作的方法 |
CN103050149A (zh) * | 2011-10-13 | 2013-04-17 | 三星电子株式会社 | 非易失性存储器件及其编程方法和包括其的存储器系统 |
US20130322171A1 (en) * | 2012-05-29 | 2013-12-05 | Ji-Sang LEE | Methods of operating nonvolatile memory devices that support efficient error detection |
CN103578550A (zh) * | 2012-07-31 | 2014-02-12 | 三星电子株式会社 | 产生随机数的存储系统与产生随机数的方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719693A (zh) * | 2016-01-22 | 2016-06-29 | 清华大学 | Nand存储器的多比特编程方法及装置 |
CN105719693B (zh) * | 2016-01-22 | 2019-09-17 | 清华大学 | Nand存储器的多比特编程方法及装置 |
CN107393590A (zh) * | 2016-04-04 | 2017-11-24 | 三星电子株式会社 | 非易失性存储设备及其编程方法 |
CN107393590B (zh) * | 2016-04-04 | 2022-08-30 | 三星电子株式会社 | 非易失性存储设备及其编程方法 |
CN107919147A (zh) * | 2016-10-11 | 2018-04-17 | 三星电子株式会社 | 对非易失性存储器件编程的方法和操作具有非易失性存储器件的系统的方法 |
CN107919147B (zh) * | 2016-10-11 | 2023-04-07 | 三星电子株式会社 | 对非易失性存储器编程的方法和操作具有其的系统的方法 |
CN109308928A (zh) * | 2017-07-28 | 2019-02-05 | 华邦电子股份有限公司 | 存储器装置的行解码器 |
CN109308928B (zh) * | 2017-07-28 | 2020-10-27 | 华邦电子股份有限公司 | 存储器装置的行解码器 |
CN109637575B (zh) * | 2017-10-09 | 2022-03-25 | 中国科学院微电子研究所 | 闪存存储单元的双数据读取验证方法和设备 |
CN109637575A (zh) * | 2017-10-09 | 2019-04-16 | 中国科学院微电子研究所 | 闪存存储单元的双数据读取验证方法和设备 |
CN109841254A (zh) * | 2017-11-24 | 2019-06-04 | 三星电子株式会社 | 非易失性存储设备及其编程方法 |
CN109841254B (zh) * | 2017-11-24 | 2024-04-05 | 三星电子株式会社 | 非易失性存储设备及其编程方法 |
CN110556152A (zh) * | 2018-05-31 | 2019-12-10 | 爱思开海力士有限公司 | 存储器装置、其操作方法以及包括其的存储器系统 |
CN112965667A (zh) * | 2020-02-20 | 2021-06-15 | 长江存储科技有限责任公司 | 对多平面存储器件进行编程的方法和多平面存储器件 |
CN113496742A (zh) * | 2020-04-08 | 2021-10-12 | 爱思开海力士有限公司 | 存储器设备和操作存储器设备的方法 |
CN112270947A (zh) * | 2020-10-29 | 2021-01-26 | 长江存储科技有限责任公司 | 用于存储器的编程方法和装置 |
CN112270947B (zh) * | 2020-10-29 | 2023-08-04 | 长江存储科技有限责任公司 | 用于存储器的编程方法和装置 |
CN112599157A (zh) * | 2020-12-17 | 2021-04-02 | 长江存储科技有限责任公司 | 三维存储器及其编程方法 |
CN112599157B (zh) * | 2020-12-17 | 2022-05-27 | 长江存储科技有限责任公司 | 三维存储器及其编程方法 |
WO2023028846A1 (zh) * | 2021-08-31 | 2023-03-09 | 长江存储科技有限责任公司 | 存储器、存储器的编程方法及编程验证方法、存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105390157B (zh) | 2020-02-07 |
KR102235492B1 (ko) | 2021-04-05 |
KR20160025076A (ko) | 2016-03-08 |
US20160055919A1 (en) | 2016-02-25 |
US9406393B2 (en) | 2016-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105390157A (zh) | 非易失性存储装置和编程验证方法 | |
US10803947B2 (en) | Three-dimensional nonvolatile memory and related read method designed to reduce read disturbance | |
US20230245710A1 (en) | Program and operating methods of nonvolatile memory device | |
US9690654B2 (en) | Operation method of nonvolatile memory system | |
US10008272B2 (en) | Operation method of nonvolatile memory system that includes erase operations, fast erase operations, program operations and fast program operations | |
US20160011779A1 (en) | Nonvolatile memory device, memory controller, and operating method of the same | |
CN105097034A (zh) | 非易失性存储系统以及存储控制器的操作方法 | |
US20160111165A1 (en) | Methods of operating a nonvolatile memory device | |
US11797202B2 (en) | Storage device and method for foggy and fine programming | |
US20160118126A1 (en) | Nonvolatile memory devices and program method thereof | |
KR102407575B1 (ko) | 메모리 장치 및 그 동작 방법 | |
KR20150049908A (ko) | 반도체 메모리 장치 및 그것의 소거 방법 |
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 |