CN111433854A - 用于存储器设备编程的动态位扫描技术 - Google Patents

用于存储器设备编程的动态位扫描技术 Download PDF

Info

Publication number
CN111433854A
CN111433854A CN201980005873.2A CN201980005873A CN111433854A CN 111433854 A CN111433854 A CN 111433854A CN 201980005873 A CN201980005873 A CN 201980005873A CN 111433854 A CN111433854 A CN 111433854A
Authority
CN
China
Prior art keywords
state
memory
bit
bit scan
scan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980005873.2A
Other languages
English (en)
Other versions
CN111433854B (zh
Inventor
林磊
Z·李
H·陈
C·苏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of CN111433854A publication Critical patent/CN111433854A/zh
Application granted granted Critical
Publication of CN111433854B publication Critical patent/CN111433854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5671Digital 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 trapping in an insulator
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1202Word line control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Non-Volatile Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

提供了一种装置,该装置包括多个存储器单元;编程电路,该编程电路被配置为将多个编程脉冲施加到该存储器单元;以及扫描电路,该扫描电路被配置为在每个编程脉冲之后执行n状态位扫描直到满足第一预先确定的标准与在每个编程脉冲之后执行m状态位扫描直到满足第二预先确定的标准之间重复切换,其中m>n,并且n>0。

Description

用于存储器设备编程的动态位扫描技术
背景技术
本技术涉及存储器设备。
半导体存储器设备已经变得在各种电子设备中越来越普遍。例如,非易失性半导体存储器用于蜂窝电话、数字相机、个人数字助理、移动计算设备、非移动计算设备以及其他设备。
电荷存储材料(诸如浮栅)或电荷俘获材料可以用于此类存储器设备中以存储表示存储器状态的电荷。电荷俘获材料可以被竖直布置在三维堆叠的存储器结构中,或者被水平布置在二维存储器结构中。三维存储器结构的一个示例是位成本可扩展(BiCS)架构,该架构包括交替的导电层和介电层的堆叠。
存储器设备包括存储器单元,这些存储器单元可被布置成串,例如,其中选择栅极晶体管设置在串的末端以选择性地将串的沟道连接到源极线或位线。然而,在操作此类存储器设备时存在各种挑战。
附图说明
图1A是示例性存储器设备的框图。
图1B是示例性位扫描操作电路的框图。
图1C是图1B的示例性扫描电路的框图。
图1D是图1B的示例性位扫描选择电路的框图。
图2描绘了图1的存储器阵列的示例性二维配置中的存储器单元的块。
图3A至图3B描绘了NAND串中的示例性浮栅存储器单元的剖视图。
图4A至图4B描绘了NAND串中的示例性电荷俘获存储器单元的剖视图。
图5描绘了图1的感测块SB1的示例性框图。
图6A是图1的存储器阵列的示例性三维配置中的一组块的透视图。
图6B描绘了图6A的块中的一个的一部分的示例性剖视图。
图6C描绘了图6B的堆叠的区域618的近距离视图。
图7A描绘了图6B的堆叠的示例性字线层WLL0的顶视图。
图7B描绘了图6B的堆叠的示例性顶部介电层DL19的顶视图。
图8A描绘了图7A的子块SBa-SBd中的示例性NAND串。
图8B描绘了子块中的NAND串的另一示例性视图。
图9A描绘了四状态存储器设备的阈值电压分布的一个实施方案,在该实施方案中每个存储器单元存储两位数据。
图9B描绘了八状态存储器设备的阈值电压分布的一个实施方案,在该实施方案中每个存储器单元存储三位数据。
图9C描绘了十六状态存储器设备的阈值电压分布的一个实施方案,在该实施方案中每个存储器单元存储四位数据。
图10描绘了示例性存储器单元编程操作的波形。
图11A是存储器设备中的示例性编程过程的流程图。
图11B是位扫描电路的一个实施方案的高级框图。
图11C是图11B的状态S1-S7逻辑电路的一个实施方案的示意图。
图11D是位扫描电路的另一个实施方案的高级框图。
图12A是存储器设备中的示例性编程过程的流程图。
图12B描绘了图12A的过程的示例性操作的结果。
图12C是存储器设备中的另一示例性编程过程的流程图。
图12D描绘了图12C的过程的示例性操作的结果。
图12E是存储器设备中的另一示例性编程过程的流程图。
图12F是存储器设备中的另一示例性编程过程的流程图。
图12G描绘了图12E的过程的示例性操作的结果。
图13A描绘了图12B和图12D中示出的示例性操作结果的示例性编程脉冲、阈值电压分布和验证电压。
图13B描绘了图12G中示出的示例性操作结果的示例性编程脉冲、阈值电压分布和验证电压。
具体实施方式
本发明提供了用于对存储器设备进行编程的技术。还提供了对应的存储器设备。
一组存储器单元的编程操作通常涉及提供处于擦除状态的存储器单元,然后将一系列编程脉冲施加到存储器单元。在编程循环(也称为编程-验证迭代)中提供每个编程脉冲。例如,可以将编程脉冲施加到与存储器单元的控制栅极连接的字线。在一种方法中,执行增量步进脉冲编程,其中编程脉冲振幅在每个编程循环中增加步长大小。可以在每个编程脉冲之后执行验证操作以确定存储器单元是否已完成编程。当已经完成对存储器单元的编程时,可将该存储器单元锁定以免进一步编程,同时在后续的编程循环中继续对其他存储器单元进行编程。
每个存储器单元可根据程序命令中的写入数据与存储器状态相关联。如本文所用,“存储器状态”是可用于表示数据值(诸如二进制数据值)的存储器单元的可检测特性(例如,NAND存储器单元的阈值电压、ReRAM存储器单元的电阻、磁阻随机存取存储器的磁化状态)。如本文所用,用于表示数据值的存储器单元的可检测特性被称为“编程特性”。基于程序命令中的写入数据,存储器单元将保持在擦除状态或被编程为不同于擦除状态的存储器状态(编程的存储器状态)。
例如,在每单元两位存储器设备中,存在四个存储器状态,包括擦除状态和三种编程的存储器状态。在每单元三位存储器设备中,存在八个存储器状态,包括擦除状态和七种编程的存储器状态。在每单元四位存储器设备中,存在十六个存储器状态,包括擦除状态和十五种编程的存储器状态。
当发出程序命令时,写入数据被存储在与存储器单元相关联的数据锁存器中。例如,在每单元两位的存储器设备中,每个存储器单元与存储该存储器单元的两位写入数据的两个数据锁存器(例如,DL1、DL2)相关联。同样,在每单元三位的存储器设备中,每个存储器单元与存储该存储器单元的三位写入数据的三个数据锁存器(例如,DL1、DL2、DL3)相关联。类似地,在每单元四位的存储器设备中,每个存储器单元与存储该存储器单元的四位写入数据的四个数据锁存器(例如,DL1、DL2、DL3、DL4)相关联。
在编程期间,可读取存储器单元的数据锁存器以确定单元将被编程为的存储器状态。对于NAND存储器单元,每个编程的存储器状态与验证电压相关联。当感测操作确定存储器单元的阈值电压(Vth)高于相关联的验证电压时,具有给定存储器状态的NAND存储器单元被认为已经完成编程。感测操作可通过将相关联的验证电压施加到控制栅极并感测通过存储器单元的电流来确定存储器单元是否具有高于相关联的验证电压的Vth。如果电流相对较高,则这指示存储器单元处于导电状态,使得Vth小于控制栅极电压。如果电流相对较低,则这指示存储器单元处于非导电状态,使得Vth高于控制栅极电压。
除了上述验证操作之外,还可执行位扫描操作以确定一组存储器单元的编程何时完成。如本文所用,“位扫描”是对编程特性尚未偏移到高于特定存储器状态的特定验证电压电平的多个存储器单元进行计数的操作。对于NAND存储器单元,位扫描是对阈值电压尚未偏移到高于特定存储器状态的特定验证电压电平的多个存储器单元进行计数的操作。例如,状态N位扫描是阈值电压尚未偏移到高于状态N的验证电压电平的多个状态N存储器单元的计数。同样,状态(N+1)位扫描是阈值电压尚未偏移到高于状态(N+1)的验证电压电平的多个状态(N+1)存储器单元的计数,依此类推。为了简单起见,下面的讨论将涉及NAND存储器单元的位扫描操作。本领域的普通技术人员将理解,位扫描操作也可用于其他非易失性存储器技术。
如果特定状态的位扫描计数小于预先确定的值,则可以认为特定存储器状态的存储器单元的编程完成。在一些实施方案中,预先确定的值小于可由纠错码引擎校正的读取错误的数量。换句话讲,即使要被编程为特定存储器状态的所有存储器单元都不具有已偏移到高于该存储器状态的验证电压电平的阈值电压,也可以认为该特定存储器状态的存储器单元的编程完成,只要“失效”存储器单元的数量小于可由纠错码引擎校正的读取错误的数量即可。
通常基于特定编程-验证迭代的验证操作的结果来执行位扫描计算。具体地,在应用编程脉冲之后,可针对一个或多个存储器状态执行验证操作,然后可使用该验证操作的结果来计算特定存储器状态的位扫描。
在一些编程技术中,在每个编程脉冲之后,针对单个存储器状态执行位扫描(“单状态位扫描”),并且直到较低存储器状态的位扫描计数小于预先确定的值才执行较高存储器状态的位扫描。在一些情况下,即使存储器单元实际上已经完成编程,执行此类单状态位扫描也可导致额外的验证操作被执行并将额外的编程脉冲施加到存储器单元。这是不期望的,因为执行验证操作消耗了时间,并且施加不必要的编程脉冲可导致编程干扰。
在其他编程技术中,在每个编程脉冲之后,对多个(例如,n个)连续的存储器状态(“n状态位扫描”)执行位扫描。在一些情况下,即使存储器单元实际上已经完成编程,执行此类n状态位扫描也可导致额外的验证操作被执行并将额外的编程脉冲施加到存储器单元。如在单状态位扫描的情况下,这是不期望的,因为执行验证操作消耗了时间,并且施加不必要的编程脉冲可导致编程干扰。
描述了用于执行动态可变状态位扫描的技术,该动态可变状态位扫描在每个编程脉冲之后执行n状态位扫描(例如,针对n个连续存储器状态执行的位扫描)直到满足第一预先确定的标准与在每个编程脉冲之后执行m状态位扫描(例如,针对m个连续存储器状态执行的位扫描)直到满足第二预先确定的标准之间重复切换,其中m>n并且n>0。此外,描述了用于在多个编程脉冲中的每个之后,基于每个所施加的编程脉冲的确定的平均阈值电压变化,选择性地执行单状态位扫描或动态可变状态位扫描的技术。下文描述了各种其他特征和益处。
图1A是示例性存储器设备100的框图。存储器设备100可包括一个或多个存储器管芯102。存储器管芯102包括存储器单元的存储器阵列104、控制电路106,以及读/写电路108。存储器阵列104能够经由行解码器110由字线来寻址,并且经由列解码器112由位线来寻址。读/写电路108包括多个感测块SB1、SB2、......、SBp并允许并行读取或编程存储器单元的页。存储器设备100还可包括控制器114。命令和数据经由数据总线118在主机116和控制器114之间传输,并且经由线120在控制器114和一个或多个存储器管芯102之间传输。
存储器阵列104可为二维或三维的。存储器阵列104可包括一个或多个存储器单元阵列。存储器阵列104可包括单片三维存储器结构,其中多个存储器级形成在诸如晶片的单个基板上方(而不在其中),没有居间基板。存储器阵列104可包括任何类型的非易失性存储器,该非易失性存储器一体地形成在具有设置在硅基板上方的有源区域的一个或多个物理级的存储器单元阵列中。存储器阵列104可为非易失性存储器设备中,该非易失性存储器设备具有与存储器单元的操作相关联的电路,无论相关联的电路是在基板上方还是在基板内。
控制电路106与读/写电路108协作以在存储器阵列104上执行存储器操作,并且包括状态机122、片上地址解码器114和功率控制模块126。状态机122提供存储器操作的芯片级控制。片上地址解码器124将主机或存储器控制器使用的地址之间的地址接口提供给行解码器110和列解码器112使用的硬件地址。功率控制模块126控制在存储器操作期间提供给字线和位线的功率和电压,并且可以包括用于字线、SGS晶体管和SGD晶体管以及源极线的驱动器。在一种方法中,感测块SB1、SB2......、SBp可包括位线驱动器。
在实施方案中,可组合部件中的一些部件。在各种设计中,除存储器阵列104之外的部件中的一个或多个部件(单独或组合)可用作控制电路,该控制电路被配置为执行本文所述的动作。例如,控制电路可包括控制电路106、读/写电路108、行解码器110、列解码器112、控制器114、状态机122、功率控制模块126、位扫描操作电路150和感测块SBb、SB2、......、SBp中的一者或多者。
控制电路可包括编程电路,该编程电路被配置为执行存储器单元的编程操作。编程操作包括多个编程-验证迭代,并且在每次编程-验证迭代中,编程电路将一个或多个编程脉冲施加至存储器单元。控制电路还可包括扫描电路,该扫描电路被配置为在每个编程脉冲之后执行n状态位扫描直到满足第一预先确定的标准与在每个编程脉冲之后执行m状态位扫描直到满足第二预先确定的标准之间重复切换,其中m>n,并且n>0。
控制电路还可包括第一计数电路和第二计数电路,该第一计数电路被配置为针对n个种存储器状态中的每一个对尚未被编程为所需存储器状态的多个存储器单元进行计数,该第二计数电路被配置为针对m个存储器状态中的每一个对尚未被编程为所需存储器状态的多个存储器单元进行计数。
控制电路还可包括第一位扫描电路和第二位扫描电路,该第一位扫描电路被配置为在多个编程脉冲中的每一个之后执行单状态位扫描,该第二位扫描电路被配置为通过在多个编程脉冲中的每一个之后逐状态对位进行计数来执行动态可变状态位扫描。在实施方案中,第一位扫描电路和第二位扫描电路可为不同的电路或相同的电路。
控制电路还可包括位扫描选择电路,该位扫描选择电路被配置为基于每个编程脉冲的平均存储器单元阈值电压变化来选择性地激活第一位扫描电路或第二位扫描电路。
控制电路还可包括位扫描选择电路,该位扫描选择电路被配置为如果每个编程脉冲的平均存储器单元阈值电压变化小于预先确定的值则激活第一位扫描电路,并且如果每个编程脉冲的平均存储器单元阈值电压变化大于或等于预先确定的值则激活第二位扫描电路。
例如,图1B是示例性位扫描操作电路150的框图,该示例性位扫描操作电路包括编程电路152、扫描电路154、第一计数电路156、第二计数电路158、第一位扫描电路160、第二位扫描电路162和位扫描选择电路164。编程电路152可包括实现例如图11A的步骤1102-1120的软件、固件和/或硬件。
扫描电路154可包括实现例如图12A的步骤1202a-1212和图12C的步骤1202b-1212的软件、固件和/或硬件。例如,图1C描绘了扫描电路154的一个实施方案,该实施方案包括处理器166和位扫描电路168。在实施方案中,存储设备(例如,存储器阵列104的存储设备130)包括代码,诸如一组指令,并且处理器166可操作为执行该组指令以向位扫描电路168提供控制信号SELnm,以在每个编程脉冲之后执行n状态位扫描直到满足第一预先确定的标准与在每个编程脉冲之后执行m状态位扫描直到满足第二预先确定的标准之间重复切换,其中m>n,并且n>0。在实施方案中,位扫描电路168可以是图11B的示例性位扫描电路1130a或图11D的位扫描电路1130b中的一者或多者。
第一计数电路156可包括实现例如图12A的步骤1202a和图12C的步骤1202b的软件、固件和/或硬件。在实施方案中,第一计数电路156可以是图11B的示例性位扫描电路1130a或图11D的位扫描电路1130b中的一者或多者。
第二计数电路158可包括实现例如图12A的步骤1208a和图12C的步骤1208b的软件、固件和/或硬件。在实施方案中,第二计数电路158可以是图11B的示例性位扫描电路1130a或图11D的位扫描电路1130b中的一者或多者。
第一位扫描电路160可以包括实现例如图12E的步骤1226的软件、固件和/或硬件,第二位扫描电路162可以包括实现例如图12E的步骤1228的软件、固件和/或硬件,并且位扫描选择电路164可以包括实现例如图12E的步骤1224的软件、固件和/或硬件。
例如,图1D描绘了位扫描选择电路164的一个实施方案,该实施方案包括处理器170、第一位扫描电路160和第二位扫描电路162。在实施方案中,第一位扫描电路160可以是图11B的示例性位扫描电路1130a或图11D的位扫描电路1130b。在实施方案中,第二位扫描电路162可以是图11B的示例性位扫描电路1130a中的一者或多者。在实施方案中,第一位扫描电路160和第二位扫描电路162可以是不同的电路或相同的电路。
在实施方案中,存储设备(例如,存储器阵列104的存储设备130)包括代码,诸如一组指令,并且处理器170可操作为执行该组指令以向第一位扫描电路160提供控制信号SEL1,并且提供控制信号SEL2以基于每个编程脉冲的平均存储器单元阈值电压变化来选择性地激活第一位扫描电路160或第二位扫描电路162。
在实施方案中,存储设备(例如,存储器阵列104的存储设备130)包括代码,诸如一组指令,并且处理器170可操作为执行该组指令以提供控制信号SEL1以在每个编程脉冲的平均存储器单元阈值电压变化小于预先确定的值时激活第一位扫描电路160,并且提供控制信号SEL2以在每个编程脉冲的平均存储器单元阈值电压变化大于或等于预先确定的值时激活第二位扫描电路。
控制器114可包括存储设备(存储器)(诸如ROM 114a和RAM 114b)、处理器114c,以及可校正多个读取错误的纠错码(ECC)引擎128。
在一个实施方案中,存储设备包括代码,诸如一组指令,并且处理器可操作为执行该组指令以提供本文所述的功能性。另选地或除此之外,处理器114c可访问来自存储器阵列104的存储设备130的代码,诸如一个或多个字线中的存储器单元的保留区域。
例如,控制器114可使用代码来访问存储器阵列104,诸如用于编程操作、读取操作和擦除操作。代码可包括引导代码和控制代码(例如,一组指令)。引导代码是在引导或启动过程中初始化控制器并使控制器114能够访问存储器阵列104的软件。控制器114可使用代码来控制一个或多个存储器结构。在上电时,处理器114c从ROM 114a或存储设备130取出引导代码以供执行,并且引导代码初始化系统部件并将控制代码加载到RAM 114b中。一旦被加载到RAM 114b中,控制代码就由处理器114c执行。控制代码包括执行基本任务的驱动器,基本任务为诸如控制和分配存储器、对指令的处理区分优先次序,以及控制输入和输出端口。
一般来讲,控制代码可包括执行本文所述功能的指令,包括下文进一步讨论的流程图的步骤,并且提供电压波形,包括下文进一步讨论的那些。
在一个实施方案中,主机116是计算设备(例如,膝上型计算机、台式计算机、智能电话、平板电脑、数字相机),其包括一个或多个处理器、一个或多个处理器可读存储设备(RAM、ROM、闪存存储器、硬盘驱动器、固态存储器),该一个或多个处理器可读存储设备存储用于对一个或多个处理器进行编程以执行本文所述方法的处理器可读代码(例如,软件)。主机还可包括附加系统存储器、一个或多个输入/输出接口和/或与一个或多个处理器通信的一个或多个输入/输出设备。
除NAND闪存存储器之外,还可以使用其他类型的非易失性存储器。
半导体存储器设备包括易失性存储器设备,诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)设备,非易失性存储器设备,诸如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存存储器(也可以被认为是EEPROM的子集)、铁电随机存取存储器(“FRAM”)和磁阻随机存取存储器(“MRAM”),以及能够存储信息的其他半导体元件。每种类型的存储器设备可具有不同的配置。例如,闪存存储器设备可以NAND配置或NOR配置进行配置。
该存储器设备可由无源元件和/或有源元件以任何组合形成。以非限制性示例的方式,无源半导体存储器元件包括ReRAM设备元件,在一些实施方案中,ReRAM设备元件包括电阻率切换存储元件,诸如反熔丝或相变材料,以及可选的转向元件,诸如二极管或晶体管。此外,以非限制性示例的方式,有源半导体存储器元件包括EEPROM和闪存存储器设备元件,在一些实施方案中,该闪存存储器设备元件包括包含电荷存储区域的元件,诸如浮栅、导电性纳米颗粒或电荷存储介电材料。
存储器阵列104中的存储器单元的确切类型不限于上述示例。可以使用许多不同类型的存储器阵列架构或存储器技术来形成存储器阵列104。实现本文提出的要求保护的新实施方案不需要特定的非易失性存储器技术。用于存储器阵列104的存储器单元的合适技术的其他示例包括ReRAM存储器、磁阻存储器(例如,MRAM、自旋转移扭矩MRAM、自旋轨道扭矩MRAM)、相变存储器(例如,PCM)等。用于存储器阵列104的存储器单元架构的合适技术的示例包括二维阵列、三维阵列、交叉点阵列、堆叠二维阵列、竖直位线阵列等。
ReRAM、或PCMRAM、交叉点存储器的一个示例包括可逆电阻切换元件,其布置在由X线和Y线(例如,字线和位线)访问的交叉点阵列中。在另一个实施方案中,存储器单元可包括导电桥存储器元件。导电桥存储器元件也可称为可编程金属化单元。基于固体电解质内的离子的物理重新定位,导电桥存储器元件可用作状态改变元件。在一些情况下,导电桥存储器元件可包括两个固体金属电极,一个是相对惰性的(例如,钨),而另一个是电化学活性的(例如,银或铜),在两个电极之间具有固体电解质的薄膜。随着温度升高,离子的迁移率也增加,这导致导电桥存储器单元的编程阈值降低。因此,导电桥存储器元件可在整个温度范围内具有宽范围的编程阈值。
磁阻存储器(MRAM)通过磁存储元件存储数据。元件由两个铁磁板形成,每个铁磁板可保持磁化,由薄的绝缘层隔开。两个板中的一个是设置为特定极性的永磁体;可以改变另一个板的磁化以匹配外磁场的磁化来存储内存。存储器设备由此类存储器单元的网格构建。在用于编程的一个实施方案中,每个存储器单元位于一对写入线之间,该对写入线被布置成彼此成直角,与单元平行,一个在单元上方并且一个在单元下方。当电流通过它们时,产生感应磁场。
相变存储器(PCM)利用了硫属化合物玻璃的独特性能。一个实施方案使用GeTe-Sb2Te3超晶格以通过简单地用激光脉冲(或来自另一个源的光脉冲)改变锗原子的配位状态来实现非热相变。因此,编程的剂量是激光脉冲。可以通过阻止存储器单元接收光来抑制存储器单元。应当注意,在该文件中使用“脉冲”不需要正方形脉冲,但包括声音、电流、电压、光或其他波的(连续或非连续)振动或脉冲串。
本领域普通技术人员将认识到,本文所述的技术不限于单个特定存储器结构,但涵盖了在本文所述和如本领域普通技术人员所理解的技术实质与范围内的许多相关的存储器结构。
多个存储器元件可被配置为使得它们串联连接或者使得每个元件可被单独访问。以非限制性示例的方式,NAND配置中的闪存存储器设备(NAND存储器)通常包含串联连接的存储器元件。NAND串是包括存储器单元和选择栅极晶体管的一组串联连接的晶体管的示例。
NAND存储器阵列可被配置为使得该阵列由存储器的多个串构成,其中串由共享单个位线并作为组被访问的多个存储器元件构成。另选地,可配置存储器元件,使得每个元件可被单独访问,例如NOR存储器阵列。NAND存储器配置和NOR存储器配置为示例,并且可以其他方式配置存储器元件。
位于基板内和/或上方的半导体存储器元件可被布置成两个或三个维度,诸如二维存储器结构或三维存储器结构。
在二维存储器结构中,半导体存储器元件被布置在单个平面或单个存储器设备级中。通常,在二维存储器结构中,存储器元件被布置在平面中(例如,在x-y方向平面中),该平面基本上平行于支撑存储器元件的基板的主表面延伸。基板可以是存储器元件的层在其之上或之中形成的晶圆,或者其可以是在存储器元件形成后附接到其的承载基板。作为非限制性示例,基板可包括半导体,诸如硅。
存储器元件可被布置在处于有序阵列中(诸如在多个行和/或列中)的单个存储器设备级中。然而,存储器元件可以非常规配置或非正交配置排列。存储器元件可各自具有两个或更多个电极或接触线,诸如位线和字线。
布置三维存储器阵列,使得存储器元件占据多个平面或多个存储器设备级,从而形成三维结构(即沿x、y和z方向,其中z方向基本上垂直于基板的主表面,并且x方向和y方向基本上平行于基板的主表面)。
作为非限制性示例,三维存储器结构可被垂直地布置为多个二维存储器设备级的堆叠。作为另一个非限制性示例,三维存储器阵列可被布置为多个垂直列(例如,基本上垂直于基板的主表面延伸的列,即沿y方向),每列具有多个存储器单元。列可以二维配置例如在x-y平面中布置,从而得到存储器元件的三维布置,其中元件位于多个垂直堆叠的存储器平面上。三维存储器元件的其他配置也可构成三维存储器阵列。
以非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可耦接在一起以在单个水平(例如,x-y)存储器设备级内形成NAND串。另选地,存储器元件可耦接在一起以形成横贯多个水平存储器设备级的垂直NAND串。可设想到其他三维配置,其中一些NAND串包含在单个存储器级中的存储器元件,而其他串则包含跨越多个存储器级的存储器元件。三维存储器阵列也可以NOR配置以及ReRAM配置来设计。
通常,在单片三维存储器阵列中,一个或多个存储器设备级在单个基板上方形成。任选地,单片三维存储器阵列还可具有至少部分地在单个基板内的一个或多个存储器层。作为非限制性示例,基板可包括半导体,诸如硅。在单片三维存储器阵列中,构成阵列的每个存储器设备级的层通常形成在阵列的底层存储器设备级的层上。然而,单片三维存储器阵列的相邻存储器设备级的层可被共享或具有在存储器设备级之间的居间层。
此外,可单独形成二维阵列,并且然后将其封装在一起以形成具有多个存储器层的非单片存储器设备。例如,非单片的堆叠存储器可通过在单独的基板上形成存储器级并且然后将存储器级堆叠在彼此之上而构造。可在堆叠前将基板减薄或从存储器设备级移除,但由于存储器设备级在单独的基板上初始形成,因此所得的存储器阵列不是单片的三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可在单独的芯片上形成,并且然后封装在一起以形成堆叠的芯片存储器设备。
通常需要相关联的电路来操作存储器元件并与存储器元件通信。作为非限制性示例,存储器设备可具有用于控制并驱动存储器元件以实现诸如编程和读取的功能的电路。该相关联的电路可与存储器元件位于同一基板上和/或位于单独的基板上。例如,用于存储器读取-写入操作的控制器可定位在单独的控制器芯片上和/或定位在与存储器元件相同的基板上。
本领域的技术人员将认识到,本技术不限于所述的二维和三维示例性结构,但涵盖如本文所述的并且如本领域的技术人员所理解的本技术的实质和范围内的所有相关存储器结构。
图2描绘了图1的存储器阵列104的示例性二维配置中的存储器单元的块。存储器阵列104可包括许多块。每个示例性块200和202包括多个NAND串和相应的位线,例如在块之间共享的BL0、BL1......。每个NAND串在一个端部处连接到漏极选择栅(SGD)晶体管,并且在其另一端处连接到源极选择栅(SGS)晶体管,该SGS晶体管继而连接到公共源极线204。
SGD晶体管的控制栅极经由公共SGD线连接,并且SGS晶体管的控制栅极经由公共SGS线连接。十六个字线,例如WL0-WL15,在SGD晶体管与SGS晶体管之间延伸。在一些情况下,不包含用户数据的虚设字线也可以用于与SGD/SGS晶体管相邻的存储器阵列中。这种虚设字线可以屏蔽边缘数据字线免受某些边缘效应的影响。
浮栅存储器是可在存储器阵列104中提供的一种类型的非易失性存储器。图3A至图3B描绘了NAND串中的示例浮栅存储器单元(例如,在图1的存储器阵列104中)的剖视图。在图3A中,位线或NAND串方向进入页面,并且字线方向从左到右。图3A描绘了各自耦接到字线306的存储器单元300、302和304。存储器单元300包括控制栅极308、浮栅310、隧道氧化物层312和沟道区域314。存储器单元302包括控制栅极316、浮栅318、隧道氧化物层320和沟道区域322。存储器单元304包括控制栅极324、浮栅326、隧道氧化物层328和沟道区域330。存储器单元300、320和304中的每一者在不同的相应NAND串中。还描绘了多晶硅层间电介质(IPD)层332。控制栅极308、316和324是字线306的部分。
参见图3B,NAND串334包括SGS晶体管336,示例性存储器单元300、338、......、340和342,以及SGD晶体管344。存储器单元300包括控制栅极308、IPD层332、浮栅310和隧道氧化物层312。SGS晶体管和SGD晶体管中的IPD层332中的通路允许控制栅极层和浮栅层进行通信。在一个实施方案中,控制栅极层和浮栅层可以是多晶硅,并且隧道氧化物层可以是氧化硅。IPD层332可以是氮化物(N)和氧化物(O)的堆叠,诸如在N-O-N-O-N配置中。
NAND串334可形成在基板上,该基板包括p型基板区域346、n型阱348和p型阱350。在p型阱350中形成N型源极/漏极扩散区域sd1、sd2、sd3、sd4、sd5、sd6和sd7。沟道电压Vch可直接施加到基板的沟道区域。
另一种类型的非易失性存储器是使用非导电介电材料来存储电荷的电荷俘获存储器单元。图4A至图4B描绘了NAND串中的示例性电荷俘获存储器单元(例如,在图1的存储器阵列104中)的剖视图。在图4A中,该视图在字线方向上。与使用导体诸如掺杂多晶硅来存储电子的浮栅MOSFET技术相比,电荷俘获存储器技术使用绝缘体诸如SiN膜来存储电子。
图4A描绘了各自耦接到字线406的存储器单元400、402和404。存储器单元400包括控制栅极408、电荷俘获层410、多晶硅层412、隧道层414,以及沟道区域416的一部分。存储器单元402包括控制栅极418、电荷俘获层420、多晶硅层422、隧道层424,以及沟道区域426的一部分。存储器单元404包括控制栅极428、电荷俘获层430、多晶硅层432、隧道层434,以及沟道区域436的一部分。
例如,字线406跨NAND串延伸,该NAND串包括相应的沟道区域416、426和436。字线406的部分提供控制栅极408、418和428。字线406下方是IPD层438,电荷俘获层410、420和430,多晶硅层412、422和432,以及隧道层414、424和434。电荷俘获层410、420和430中的每一个在相应NAND串中连续地延伸。
参见图4B,NAND串440包括SGS晶体管442,存储器单元400、444......、446和448,以及SGD晶体管450。NAND串440可形成在基板上,该基板包括p型基板区域452、n型阱454和p型阱456。在p型阱456中形成N型源极/漏极扩散区域sd1、sd2、sd3、sd4、sd5、sd6和sd7。沟道电压Vch可直接施加到基板的沟道区域。存储器单元400包括在电荷俘获层410上方的控制栅极408和IPD层438、多晶硅层412、隧道层414和沟道区域416。
例如,控制栅极层可以是多晶硅,隧道层可以是氧化硅。IPD层可以是高k电介质(诸如AlOx或HfOx)的堆叠,该堆叠有助于增加控制栅极层与电荷俘获层或电荷存储层之间的耦合比。电荷俘获层可以是例如氮化硅和氧化硅的混合物。
在该示例中,层410、412和414在NAND串中连续延伸。在另一种方法中,层410、412和414的位于控制栅极408、418和428之间的部分可被移除,从而暴露沟道416的顶表面。
图5描绘了图1的感测块SB1的示例性框图。感测块包括分别与数据锁存器500b、502b、504b和506b相关联的多个感测电路500a、502a、504a和506a。感测块SB1还包括感测电路控制器508,该感测电路控制器可与感测电路500a、502a、504a和506a以及数据锁存器500b、502b、504b和506b通信。感测电路控制器508可包括预充电电路510、存储器512和处理器514。预充电电路510向感测电路500a、502a、504a和506a中的每一个提供电压以设置预充电电压。存储器512可存储可由处理器514执行以执行本文所述功能的代码。这些功能可包括读取数据锁存器500b、502b、504b和506b,设置数据锁存器500b、502b、504b和506b中的位值,以及提供用于设置感测电路500b、502b、504b和506b的感测节点中的预充电电平的电压。
图6A是图1的存储器阵列104的示例性三维配置中的一组块600的透视图。在基板602上是存储器单元的示例性块BLK0、BLK1、BLK2和BLK3,以及具有供块BLK0、BLK1、BLK2和BLK3使用的电路的外围区域604。例如,电路可包括可连接至块BLK0、BLK1、BLK2和BLK3的控制栅极层的电压驱动器606。基板602还可包括块BLK0、BLK1、BLK2和BLK3下方的电路,以及一个或多个下部金属层,该一个或多个下部金属层在导电路径中被图案化以承载电路的信号。
在一个实施方案中,块BLK0、BLK1、BLK2和BLK3形成在存储器设备的中间区域608中。在存储器设备的上部区域610中,一个或多个上部金属层在导电路径中被图案化以承载电路的信号。块BLK0、BLK1、BLK2和BLK3中的每一个包括存储器单元的堆叠区域,其中堆叠的交替级表示字线。在一个实施方案中,块BLK0、BLK1、BLK2和BLK3中的每一个具有相对的分层侧,垂直触点从该分层侧向上延伸至上部金属层,以形成与导电路径的连接。虽然描绘了四个块BLK0、BLK1、BLK2和BLK3作为示例,但是可以使用在x方向和/或y方向上延伸的两个或更多个块。
在一个实施方案中,在x方向上的平面的长度表示到字线的信号路径在一个或多个上部金属层中延伸的方向(字线或SGD线方向),以及在y方向上的平面的宽度表示到位线的信号路径在一个或多个上部金属层中延伸的方向(位线方向)。z方向表示存储器设备的高度。
图6B描绘了图6A的块(例如,BLK0)中的一个的一部分的示例性剖视图。该块BLK0包括交替的导电层和介电层的堆叠612。在该示例中,除了数据字线层(字线)WLL0-WLL10之外,导电层还包括两个SGD层、两个SGS层和四个虚设字线层DWLD0、DWLD1、DWLS0和DWLS1。介电层被标记为DL0至DL19。此外,描绘了包括NAND串NS1和NS2的堆叠612的区域。每个NAND串包含存储器孔614或616,该孔填充有形成与字线相邻的存储器单元的材料。在图6C中更详细地示出了堆叠的区域618。
堆叠612包括基板620、基板620上的绝缘膜622,以及源极线SL的一部分。NS1在堆叠612的底部626处具有源极端624,并且在堆叠612的顶部630处具有漏极端628。金属填充的狭缝632和634可以跨堆叠612周期性地提供,作为延伸穿过堆叠612的互连件,诸如以将源极线SL连接到堆叠612上方的线。狭缝632和634可以在形成字线期间使用,并且随后用金属填充。还描绘了位线BL0的一部分。导电通孔636将漏极端628连接到BL0。
图6C描绘了图6B的堆叠的区域618的近距离视图。存储器单元在字线层和存储器孔的交叉处形成在堆叠的不同级。在该示例中,SGD晶体管640和642在虚设存储器单元644和646以及数据存储器单元MC上方提供。可以沿着存储器孔648的侧壁(SW)和/或在每个字线层内(例如,使用原子层沉积)沉积多个层。例如,每个列(例如,由存储器孔内的材料形成的柱)可以包括电荷俘获层或膜650(诸如SiN或其他氮化物)、隧道层652、多晶硅体或沟道654、以及介电芯656。
字线层可包括阻挡氧化物/块高k材料658、金属阻挡层660和导电金属662(诸如钨)作为控制栅极。例如,提供控制栅极662、664、666、668和670。在该示例中,除了金属之外的所有层都在存储器孔中提供。在其他实施方案中,层中的一些层可以在控制栅极层中。在不同的存储器孔中类似地形成附加柱。柱可以形成NAND串的柱状有源区域(AA)。
当对存储器单元进行编程时,电子存储在与存储器单元相关联的电荷俘获层的一部分中。这些电子从沟道被吸引到电荷俘获层中,并且穿过隧道层。存储器单元的阈值电压(Vth)与所存储的电荷量成比例地增大。在擦除操作期间,电子返回到沟道。
存储器孔中的每个存储器孔可填充有多个环形层,这些环形层包括阻挡氧化物层、电荷俘获层、隧道层和沟道层。存储器孔中的每个存储器孔的核心区填充有主体材料,并且多个环形层位于存储器孔中的每个存储器孔中的核心区和字线之间。
NAND串可被认为具有浮体沟道,因为沟道的长度没有形成在基板上。此外,NAND串由彼此上下堆叠的多个字线层提供,并且通过介电层彼此分开。
图7A描绘了图6B的堆叠612的示例性字线层WLL0的顶视图。如先前所提及的,三维存储器设备可以包括交替的导电层和介电层的堆叠。导电层提供SGS/SGD晶体管和存储器单元的控制栅极。用于SGS/SGD晶体管的层是选择栅极层,并且用于存储器单元的层是字线层。此外,存储器孔形成在叠堆中并填充有电荷俘获材料和沟道材料。因此,形成垂直NAND串。源极线连接至叠堆下方的NAND串并且位线连接至叠堆上方的NAND串。
三维存储器设备中的块BLK可以被分成子块,其中每个子块包括具有公共SGD控制线的一组NAND串(例如,分别为子块SBa、SBb、SBc和SBd中的SGD线/控制栅极SGD0、SGD1、SGD2和SGD3)。此外,块中的字线层可以被划分成区域。相应子块中的每个区域可以在狭缝之间延伸,这些狭缝周期性地形成在堆叠中以在存储器设备的制造过程期间处理字线层。该处理可以包括用金属替换字线层的牺牲材料。
一般来讲,狭缝之间的距离应当相对较小以考虑蚀刻剂可以横向行进以移除牺牲材料,并且金属可以行进以填充通过移除牺牲材料而创建的空隙的距离的限制。例如,狭缝之间的距离可以允许相邻狭缝之间存在几行存储器孔。存储器孔和狭缝的布局还应当考虑当每个位线连接至不同的存储器单元时,可以跨区域延伸的位线数量的限制。在处理字线层之后,可以任选地用金属填充狭缝以提供通过叠堆的互连。
该图和其他附图未必按比例绘制。在实践中,相对于y方向,区域在x方向上可以比描绘的更长以容纳附加的存储器孔。
在该示例中,在相邻狭缝之间存在四行存储器孔。这里的一行是一组在x方向上对准的存储器孔。此外,存储器孔的行以交错图案排列以增加存储器孔的密度。字线层或字线被划分成区域WLL0a、WLL0b、WLL0c和WLL0d,这些区域各自通过连接器700连接。在一种方法中,块中的字线层的最后区域可以连接至下一个块中的字线层的第一区域。连接器700继而连接至字线层的电压驱动器。
区域WLL0a具有沿线706的示例性存储器孔702和704。区域WLL0b具有示例性存储器孔708和710。区域WLL0c具有示例性存储器孔712和714。区域WLL0d具有示例性存储器孔716和718。存储器孔也在图7B中示出。每个存储器孔可以是相应NAND串的一部分。例如,存储器孔702、708、712和716可以分别是NAND串NS0_SBa、NS0_SBb、NS0_SBc和NS0_SBd的一部分。
每个圆圈表示字线层或SG层处的存储器孔的横截面。用虚线示出的示例性圆圈表示由存储器孔中的材料和相邻字线层提供的存储器单元。例如,存储器单元720和722在WLL0a中,存储器单元724和726在WLL0b中,存储器单元728和730在WLL0c中,并且存储器单元732和734在WLL0d中。这些存储器单元在堆叠中处于共同高度处。
金属填充狭缝736、738、740和742(例如,金属互连件)可以位于区域WLL0a-WLL0d的边缘之间并且与这些区域的边缘相邻。金属填充狭缝提供从叠堆底部到叠堆顶部的导电路径。例如,叠堆底部处的源极线可以连接至叠堆上方的导线,其中导线连接至存储器设备的外围区域中的电压驱动器。还可参见图8A了解图7A的子块SBa-SBd的进一步细节。
图7B描绘了图6B的堆叠的示例性顶部介电层DL19的顶视图。介电层DL19被分成区域DL19a、DL19b、DL19c和DL19d。每个区域可以连接至相应的电压驱动器。这允许同时编程字线层的一个区域中的一组存储器单元,其中每个存储器单元位于连接至相应位线的相应NAND串中。可以在每个位线上设置电压以允许或禁止在每个编程电压期间编程。
区域DL19a具有沿着与位线BL0重合的线744的示例性存储器孔702和704。许多位线在存储器孔上方延伸并连接至存储器孔,如“X”符号所指示。BL0连接至一组存储器孔,该一组存储器孔包括存储器孔704、710、714和718。另一个示例性位线BL1连接至一组存储器孔,该一组存储器孔包括存储器孔702、708、712和716。来自图7A的金属填充狭缝736、738、740和742还被描绘为它们垂直地延伸通过堆叠。可以沿x方向跨DL19层以顺序BL0-BL23对位线进行编号。
位线的不同的子集连接至不同的行中的单元。例如,BL0、BL4、BL8、BL12、BL16和BL20连接至每个区域的右手边缘处的第一行单元中的单元。BL2、BL6、BL10、BL14、BL18和BL22连接至与右手边缘处的第一行相邻的相邻行单元中的单元。BL3、BL7、BL11、BL15、BL19和BL23连接至每个区域的左手边缘处的第一行单元中的单元。BL1、BL5、BL9、BL13、BL17和BL21连接至与左手边缘处的第一行相邻的相邻行单元中的单元。
图8A描绘了图7A的子块SBa-SBd中的示例性NAND串。子块与图6B的结构一致。描绘了堆叠中的导电层以供在左手侧参考。每个子块包括多个NAND串,其中描绘了一个示例NAND串。例如,SBa包括示例性NAND串NS0_SBa,SBb包括示例性NAND串NS0_SBb,SBc包括示例性NAND串NS0_SBc,并且SBd包括示例性NAND串NS0_SBd。
另外,NS0_SBa包括SGS晶体管800和801、虚设存储器单元802和803、数据存储器单元804、805、806、807、808、809、810、811、812、813和814、虚设存储器单元815和816,以及SGD晶体管817和818。
NS0_SBb包括SGS晶体管820和821、虚设存储器单元822和823、数据存储器单元824、825、826、827、828、829、830、831、832、833和834、虚设存储器单元835和836,以及SGD晶体管837和838。
NS0_SBc包括SGS晶体管840和841、虚设存储器单元842和843、数据存储器单元844、845、846、847、848、849、850、851、852、853和854、虚设存储器单元855和856,以及SGD晶体管857和858。
NS0_SBd包括SGS晶体管860和861、虚设存储器单元862和863、数据存储器单元864、865、866、867、868、869、870、871、872、873和874、虚设存储器单元875和876,以及SGD晶体管877和878。
在块中的给定高度处,每个子块中的一组存储器单元处于公共高度处。例如,一组存储器单元(包括存储器单元804)在沿着交替的导电层和介电层的堆叠中的锥形存储器孔形成的多个存储器单元中。一组存储器单元处于堆叠中的特定高度z0处。连接到一个字线(WLL0)的另一组存储器单元(包括存储器单元824)也处于特定高度。在另一种方法中,连接到另一个字线(例如,WLL8)的另一组存储器单元(例如,包括存储器单元812)处于堆叠中的另一个高度(z8)处。
图8B描绘了子块中的NAND串的另一示例性视图。在该示例中,NAND串包括NS0_SBa、NS0_SBb、NS0_SBc和NS0_SBd,这些NAND串具有48个字线WL0-WL47。每个子块包括一组NAND串,该一组NAND串沿x方向延伸并且具有公共SGD线,例如SGD0、SGD1、SGD2或SGD3。在该简化的示例中,每个NAND串中仅有一个SGD晶体管和一个SGS晶体管。NAND串NS0_SBa、NS0_SBb、NS0_SBc和NS0_SBd分别位于子块SBa、SBb、SBc和SBd中。此外,描绘了字线G0、G1和G2的示例性组。
一组存储器单元的编程操作通常涉及在以擦除状态提供存储器单元之后向这些存储器单元施加一系列编程电压(Vpgm)脉冲。在编程循环(也称为编程-验证迭代)中提供每个Vpgm脉冲。例如,Vpgm脉冲可被施加到字线,该字线连接到存储器单元的控制栅极。在一种方法中,执行增量步进脉冲编程,其中Vpgm脉冲振幅在每个编程循环中增加步长大小。可以在每个Vpgm脉冲之后执行验证操作以确定存储器单元是否已完成编程。当完成对存储器单元的编程时,可将该存储器单元锁定以免进一步编程,同时在后续的编程循环中继续对其他存储器单元进行编程。
每个存储器单元可根据程序命令中的写入数据与存储器状态相关联。基于存储器单元的存储器状态,存储器单元将保持在擦除状态或被编程为不同于擦除状态的存储器状态(编程的存储器状态)。例如,在每单元两位的存储器设备中,存在四个存储器状态,包括擦除状态和三个编程的存储器状态,该三个编程的存储器状态被称为S1存储器状态、S2存储器状态和S3存储器状态。在每单元三位存储器设备中,存在八个存储器状态,包括擦除状态和七个编程的存储器状态,该七个编程的存储器状态称为S1、S2、S3、S4、S5、S6和S7存储器状态。在每单元四位存储器设备中,存在十六个存储器状态,包括擦除状态和十五个编程的存储器状态,该十五个编程的存储器状态被称为Er、S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12、S13、S14和S15存储器状态。
图9A描绘了四状态存储器设备的阈值电压分布的一个实施方案,在该实施方案中每个存储器单元存储两位数据。为擦除(Er状态)存储元件提供第一Vth分布900。三个Vth分布902、940和906分别表示编程的存储器状态S1、S2和S3C。具有较低位和较高位的2位代码可用于表示四个存储器状态中的每一个。在一个实施方案中,“Er”、“S1”、“S2”和“S3”存储器状态分别由“11”、“01”、“00”和“10”表示。
图9B描绘了八状态存储器设备的阈值电压分布的一个实施方案,在该实施方案中每个存储器单元存储三位数据。为Er状态存储元件提供第一Vth分布910。七个Vth分布912、914、916、918、920、922和924分别表示编程的存储器状态S1、S2、S3、S4、S5、S6和S7。具有下位、中位和高位的3位代码可用于表示八个存储器状态中的每个存储器状态。在一个实施方案中,“Er”、“S1”、“S21”、“S3”、“S4”、“S5”、“S6”和“S7”存储器状态分别由“111”、“011”、“001”、“101”、“100”、“000”、“010”和“110”表示。
图9C描绘了十六状态存储器设备的阈值电压分布的一个实施方案,在该实施方案中每个存储器单元存储四位数据。为擦除Er状态存储元件提供第一Vth分布930。十五个Vth分布932、934、936、938、940、942、944、946、948、950、952、954、956、958和960分别表示编程的存储器状态S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12、S13、S14和S15。
图10描绘了用于具有擦除状态(Er)和三个编程的存储器状态(例如,S1、S2、S3)的四状态存储器设备的示例性存储器单元编程操作的波形1000,诸如图9A中所示出的。水平轴线描绘了编程循环编号,并且竖直轴线描绘了控制栅极或字线电压。一般来讲,编程操作可以涉及将脉冲串施加到选定的字线,其中脉冲串包括多个编程循环或编程-验证迭代。编程-验证迭代的编程部分包括Vpgm脉冲,并且编程-验证迭代的验证部分包括一个或多个验证脉冲。
对于每个Vpgm脉冲,为简单起见描绘了方波,但其他形状也是可能的,诸如多级形状或斜坡形状。此外,在该示例中使用增量步进脉冲编程(ISPP),其中Vpgm脉冲振幅在每个连续编程循环中递增。该示例在其中编程已完成的单个编程阶段中使用ISPP。也可以在多阶段操作的每个编程阶段中使用ISPP。
脉冲串通常包括Vpgm脉冲,这些Vpgm脉冲在每个编程-验证迭代中使用固定或变化的步长大小逐步增大幅度。新脉冲串在初始Vpgm脉冲电平处开始并在不超过最大允许电平的最终Vpgm脉冲电平处结束。
脉冲串1000包括施加到被选择用于编程的字线的一系列Vpgm脉冲1002、1004、1006、1008、1010、1012、1014、1016、1018、1020、1022、1024、1026、1028和1030,以及相关联的一组非易失性存储器单元。作为示例,基于被验证的目标存储器状态,在每个Vpgm脉冲之后提供一个、两个或三个验证电压脉冲。可以将0V的电压施加到Vpgm脉冲之间的选定字线并验证电压脉冲。
在一个实施方案中,可以分别在第一Vpgm脉冲1002、第二Vpgm脉冲1004和第三Vpgm脉冲1006中的每个之后施加S1状态验证电压Vv1(例如,波形或信号1032)。
可以分别在第四Vpgm脉冲1008、第五Vpgm脉冲1010和第六Vpgm脉冲1012中的每个之后施加S1状态验证电压Vv1和S2状态验证电压Vv2(例如,波形或信号1034)。
可以分别在第七Vpgm脉冲1014和第八Vpgm脉冲1016中的每个之后施加S1状态验证电压Vv1、S2状态验证电压Vv2和S3状态验证电压Vv3(例如,波形或信号1036)。
可以分别在第九Vpgm脉冲1018、第十Vpgm脉冲1020和第十一Vpgm脉冲1022中的每个之后施加S2状态验证电压Vv2和S3状态验证电压Vv3(例如,波形或信号1038)。
最后,可以分别在第十二Vpgm脉冲1012、第十三Vpgm脉冲1013、第十四Vpgm脉冲1014和第十五Vpgm脉冲1015中的每个之后施加S3状态验证电压Vv3(例如,波形或信号1040)。
图11A是用于对存储器单元进行编程的示例性过程1100的流程图。在一个实施方案中,过程1000可在存储器设备(诸如图1的存储器设备100)中执行。在步骤1102处,选择字线用于编程。在一个实施方案中,选定的字线耦接到一个或多个存储器单元。在一个实施方案中,耦接到选定的字线的每个存储器单元在编程之前处于Er状态。在一个实施方案中,在编程期间,耦接到选定的字线的每个存储器单元将留在Er状态,或者被编程为多个编程的存储器状态中的一个,诸如图9A至图9C所示的编程的存储器状态。
在一个实施方案中,耦接到选定的字线的每个存储器单元与用于存储表示该存储器单元的期望的存储器状态的代码的一个或多个数据锁存器相关联。例如,图9B描绘了用于表示八个存储器状态中的每个存储器状态的示例性3位代码。在一个实施方案中,在对存储器单元进行编程之前,存储器单元的相关联数据锁存器加载有表示该存储器单元的期望存储器状态的代码。
在步骤1104处,设定初始Vpgm脉冲振幅。在一个实施方案中,初始Vpgm脉冲振幅可介于约8V和与约30V之间,但也可使用其他值。
在步骤1106处,将Vpgm脉冲施加到选定的字线。在步骤1106的第一迭代中,所施加的Vpgm脉冲具有在步骤1104中指定的脉冲振幅。如上所述,在编程之前,耦接到选定的字线的每个存储器单元处于Er状态。由于向选定的字线施加Vpgm脉冲,耦接到选定的字线的存储器单元的阈值电压偏移得更高。阈值电压偏移的量随存储器单元的不同而变化,从而导致跨耦接到选定的字线的存储器单元的群体的阈值电压分布。
在步骤1108处,将验证信号(例如,包括一个或多个验证脉冲的波形)施加到选定的字线,同时对一个或多个存储器状态执行验证测试。验证测试确定每个存储器单元的阈值电压是否已偏移到高于特定验证电压电平。在一个实施方案中,如果存储器单元的阈值电压尚未偏移到高于该存储器单元的验证电压电平,则不修改该存储器单元的相关联数据锁存器中的代码值。在一个实施方案中,如果存储器单元的阈值电压已经偏移到高于该存储器单元的验证电压电平,则该存储器单元的相关联数据锁存器中的代码值改变为与Er状态相关联的代码值(例如,图9B的示例中的“111”)。
例如,再次参见图9B,如果S1状态存储器单元的阈值电压尚未偏移到高于验证电压Vv1,则存储器单元的相关联数据锁存器中的代码值未被修改并保持为“011”。然而,如果S1状态存储器单元的阈值电压已偏移到高于验证电压Vv1,则该存储器单元的相关数据锁存器中的代码值改变为“111”。
在一个实施方案中,对状态K存储器单元(被分配用于表示状态K的存储器单元)执行对应的验证测试。在另一个实施方案中,对状态K存储器单元、状态(K+1)存储器单元和状态(K+2)存储器单元执行对应的验证测试,其中状态K、状态(K+1)和状态(K+2)是三种连续的存储器状态。例如,在编程开始时,K可以是图9C的S1状态,并且对状态S1单元、状态S2单元和状态S3单元执行对应的验证测试。本领域的普通技术人员将理解,可以对多于或少于三个状态执行对应的验证测试。
在一个实施方案中,为通过步骤1108的验证测试的存储器单元设置锁定状态。例如,再次参见图9B,为在步骤1108处通过对应状态S1验证测试的状态S1存储器单元设置锁定状态,为在步骤1108处通过对应状态S2验证测试的状态S2存储器单元设置锁定状态,以此类推。
再次参考图11A,在步骤1110处,执行一个或多个位扫描。如上所述并且如本文所用,位扫描是阈值电压尚未偏移到高于特定存储器状态的特定验证电压电平的多个存储器单元的计数。例如,状态S1位扫描是对阈值电压尚未偏移到高于状态S1的验证电压电平的多个状态S1存储器单元的计数。同样,状态S2位扫描是对阈值电压尚未偏移到高于状态S2的验证电压电平的多个状态S2存储器单元的计数,以此类推。
如上所述,对于阈值电压尚未偏移到高于验证电压Vv1的S1状态存储器单元,存储器单元的相关联数据锁存器中的代码值未被修改并保持为“011”。因此,在一个实施方案中,可以通过对具有代码值“011”的多个数据锁存器进行计数来执行状态S1位扫描。同样,状态S2位扫描可通过对具有代码值“001”的多个数据锁存器进行计数来执行,以此类推。
图11B描绘了与一组J个3位存储器单元一起使用的位扫描电路1130a的实施方案的高级框图,该组J个3位存储器单元具有图9B中示出的示例性编程的存储器状态S1-S7和代码值。位扫描电路1130a是图1A的示例性位扫描操作电路150。如下面更详细描述的,位扫描电路1130a可用于计算编程的存储器状态S1-S7中的任一个的单状态位扫描结果。
位扫描电路1130a包括位扫描控制电路1132a、状态S1-S7逻辑电路1134a-1134g、J:1MUX 1136和计数器电路1138。位扫描电路1130a耦接到J个存储器单元1140的数据锁存器,该J个存储器单元向状态S1-S7逻辑电路1134a-1134g提供3×J位数据。位扫描控制电路1132a提供状态使能信号EN以选择性地启用状态S1-S7逻辑电路1134a-1134g中的一者,向J:1MUX 1136提供多路选择信号Msel以选择性地将状态S1-S7逻辑电路1134a-1134g中的一者的J位输出耦接到计数器电路1138的J位输入,并且向触发计数器电路1138提供计数器使能信号ENc以执行对计数器电路1138的J位输入中具有值“1”的位数的计数。
图11C描绘了耦接到数据锁存器DL1-DL3的状态S1-S7逻辑电路1134a-1134g的实施方案的示意图。图11C还包括示出擦除状态Er和编程的存储器状态S1-S7中每一个的示例性数据锁存器值的表格。状态S1-S7逻辑电路1134a-1134g中的每一者耦接到J组数据锁存器DL1-DL3,并且包括J组3输入与非门,每个3输入与非门耦接到J组数据锁存器DL1-DL3中的对应一者。对于等于“0”的每个状态代码值,反相器耦接在数据锁存器与3输入与非门的对应输入之间。因此,对于编程的存储器状态S1(代码值“011”),反相器耦接在数据锁存器DL3与3输入与非门的对应输入之间。同样,对于编程的存储器状态S4(代码值“100”),反相器耦接在数据锁存器DL1和DL2中的每一者与3输入与非门的对应输入之间。
如果数据锁存器值DL1-DL3匹配特定编程的存储器状态的代码值,则每个与门提供输出“1”,并且如果所有数据锁存器DL1-DL3具有除特定数据状态的代码值之外的值,则每个与门提供输出“0”。因此,状态S1逻辑电路1134a将提供J位宽输出bs1,其中每个存储器单元的“1”具有相关联的数据锁存器DL1-DL3值“011”,并且每个存储器单元的“0”具有任何其他相关联的数据锁存器DL1-DL3值。同样,状态S5逻辑电路1134e将提供J位宽输出bs5,其中每个存储器单元的“1”具有相关联的数据锁存器DL1-DL3值“000”,并且每个存储器单元的“0”具有任何其他相关联的数据锁存器DL1-DL3值。
再次参见图11B,为了执行状态S1位扫描,位扫描控制电路1132a选择性地启用状态S1逻辑电路1134a,并且向J:1MUX 1136提供多路选择信号Msel以选择性地将状态S1逻辑电路1134a的J位输出bs1耦接到计数器电路1138的J位输入。控制电路1132a向触发计数器电路1138提供计数器使能信号ENc,以执行对状态S1逻辑电路1134a的J位输出bs1中具有值“1”的位数的计数。计数是状态S1位扫描。
另选地,为了执行S6位扫描,位扫描控制电路1132a选择性地启用状态S6逻辑电路1134f,并且向J:1MUX 1136提供多路选择信号Msel以选择性地将状态S6逻辑电路1134f的J位输出bs6耦接到计数器电路1138的J位输入。控制电路1132a向触发计数器电路1138提供计数器使能信号ENc,以执行对状态S6逻辑电路1134f的J位输出bs6中具有值“1”的位数的计数。计数是状态S6位扫描。
如上所述,位扫描电路1130a可用于对状态S1-S7中的任一个执行单状态位扫描。为了执行多状态位扫描,位扫描控制电路1132a可以被配置为依次执行多个单状态位扫描。例如,为了执行对状态S1、S2和S3的位扫描,控制电路1132a可以被配置为执行状态S1位扫描,然后执行状态S2位扫描,然后执行状态S3位扫描。
另选地,多个位扫描电路1130a可以用于执行多状态位扫描。例如,第一位扫描电路1130a可以用于执行状态S1位扫描,第二位扫描电路1130a可以用于执行状态S2位扫描,并且第三位扫描电路1130a可以用于执行状态S3位扫描,以此类推。
图11D描绘了与一组J个3位存储器单元一起使用的另一位扫描电路1130b的实施方案的高级框图,该组J个3位存储器单元具有图9B中示出的示例性编程的存储器状态S1-S7和代码值。位扫描电路1130b是图1A的示例性位扫描操作电路150。如下面更详细描述的,位扫描电路1130b可用于计算编程的存储器状态S1-S7的多状态位扫描结果。
位扫描电路1130b包括位扫描控制电路1132b、状态S1-S7逻辑电路1134a-1134g、7输入或门1142和计数器电路1138。位扫描电路1130b耦接到J个存储器单元1140的数据锁存器,该J个存储器单元向状态S1-S7逻辑电路1134a-1134g提供3×J位数据。位扫描控制电路1132b提供状态使能信号EN以选择性地启用状态S1-S7逻辑电路1134a-1134g中的一者或多者,并且向触发计数器电路1138提供计数器使能信号ENc以执行对计数器电路1138的J位输入中具有值“1”的位数的计数。
位扫描电路1130b可用于计算编程的存储器状态S1-S7的多状态位扫描结果。位扫描控制电路1132b选择性地启用状态S1-S7逻辑电路1134a-1134g中的多个,该多个状态S1-S7逻辑电路的输出由或门1142组合以向计数器1138提供单个J位输出。计数器电路1138对在计数器电路1138的J位输入中具有值“1”的位数执行计数,并且该计数是针对由位扫描控制电路1132b选择的多个状态的复合位扫描。
例如,为了执行针对状态S1-S3的位扫描,位扫描控制电路1132b选择性地启用状态S1逻辑电路1134a、状态S2逻辑电路1134b和状态S3逻辑电路1134c。状态S1逻辑电路1134a、状态S2逻辑电路1134b和状态S3逻辑电路1134c的J位输出bs1、bs2和bs3分别由或门1142组合成计数器电路1138的单个J位输入。控制电路1132b向触发计数器电路1138提供计数器使能信号ENc以执行对具有值“1”的位数的计数。计数是状态S1-S3的位扫描。因此,位扫描电路1130b可以在单个操作中执行多状态位扫描,将位计数为来自所有选定状态的批次。
再次参考图11A,在一个实施方案中,并且如下面更详细描述的,步骤1110可以执行位扫描,其中执行位扫描所针对的存储器状态的数量可以动态变化(在本文中称为“动态可变状态位扫描”)。具体地,步骤1110可以执行n状态位扫描或m状态位扫描,其中m>n并且n>0(例如,使用图11B的位扫描电路1130a或图11D的位扫描电路1130b)。
例如,如果n=1并且m=2,则步骤1110可以动态地执行1状态位扫描(例如,状态S1位扫描、状态S2位扫描、状态S3位扫描等)和2状态位扫描(例如,状态S1位扫描和状态S2位扫描、状态S2位扫描和状态S3位扫描、状态S3位扫描和状态S4位扫描等)。在另一个实施方案中,并且如下文更详细地描述,步骤1110可选择性地执行(1)单状态位扫描和(2)动态可变状态位扫描。
在步骤1112处,确定在步骤1110中执行的位扫描中的每一个是否“通过”。如本文所用,如果针对特定状态的位扫描计数小于预先确定的值,则认为位扫描“通过”。相反,如果针对特定状态的位扫描大于或等于预先确定的值,则认为位扫描“失败”。在一个实施方案中,预先确定的值小于可由ECC引擎(例如图1A的ECC引擎128)纠正的读取错误的数量。其他值可用于预先确定的值。
如果在步骤1112处确定在步骤1110中执行的所有位扫描尚未通过,则在步骤1114处,确定是否已经执行了最大数量的编程-验证(PV)迭代。如果在步骤1114处,PV迭代次数未超过最大值,则在步骤1116处,增加Vpgm脉冲振幅。在实施方案中,Vpgm脉冲振幅可在约0.1V至约0.8V之间增加,但也可使用其他值。如果在步骤1114处,PV迭代次数已超过最大值,则在步骤1118处,编程被认为已失败,并且过程1100结束。
如果在步骤1112处确定在步骤1110中执行的所有位扫描已经通过,则在步骤1120处确定针对所有编程状态的位扫描是否已经通过。如果在步骤1120处确定针对所有编程状态的所有位扫描尚未通过,则过程前进至步骤1114,如上所述。如果在步骤1120处确定针对所有编程状态的所有位扫描已通过,则编程完成并且过程1100结束。
图12A是使用动态可变状态位扫描的实施方案对存储器单元进行编程的示例性过程1200a的流程图,该动态可变状态位扫描在多个编程脉冲中的每个之后执行n状态位扫描与在多个编程脉冲中的每个之后执行m状态位扫描之间重复切换,其中m>n,并且n>0。在一个实施方案中,过程1200a可在存储器设备(诸如图1的存储器设备100)中执行。
在步骤1202a处,将Vpgm脉冲施加到选定的字线(例如,如上文关于图11A的步骤1106所述),将验证信号施加到选定的字线,同时对一个或多个存储器状态执行验证测试(例如,如上文关于图11A的步骤1108所述),并且从来自步骤1202a的先前迭代的第一失败状态开始执行n状态位扫描。在步骤1202a的第一迭代上,未执行先前的位扫描,因此n状态位扫描在第一状态处开始。
在步骤1204处,确定在步骤1202a中执行的所有n个位扫描是否通过。如果在步骤1204处确定所有n个位扫描都不通过,则过程1200a返回到步骤1202a以将另一个Vpgm脉冲(以相对于先前Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且从来自步骤1202a的先前迭代的第一失败状态开始执行n状态位扫描。
如果在步骤1204处确定所有n个位扫描通过,则在步骤1206处确定针对所有编程状态的位扫描是否已通过。如果在步骤1206处确定针对所有编程状态的所有位扫描已通过,则编程完成并且过程1200a结束。
如果在步骤1206处确定针对所有编程状态的所有位扫描尚未通过,则在步骤1208处,将另一个Vpgm脉冲(以相对于先前Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且从来自步骤1208a的先前迭代的第一失败状态开始执行m状态位扫描。在步骤1206之后的步骤1208a的第一迭代上,m状态位扫描从步骤1202a的最后通过状态之后的第一状态处开始。
在步骤1210处,确定在步骤1208a中执行的所有m个位扫描是否通过。如果在步骤1210处确定所有m个位扫描都不通过,则过程1200a返回到步骤1208a以将另一个Vpgm脉冲(以相对于先前Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且从来自步骤1208a的先前迭代的第一失败状态开始执行m状态位扫描。
如果在步骤1210处确定所有m个位扫描通过,则在步骤1212处确定针对所有编程状态的位扫描是否已通过。如果在步骤1212处确定针对所有编程状态的所有位扫描已通过,则编程完成并且过程1200a结束。
如果在步骤1212处确定针对所有编程状态的所有位扫描尚未通过,则在步骤1208处,将另一个Vpgm脉冲(以相对于先前Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且在来自步骤1202a的先前迭代的第一失败状态处开始执行n状态位扫描。在步骤1212之后的步骤1202a的第一迭代上,n状态位扫描从步骤1208a的最后通过状态之后的第一状态处开始。
因此,过程1200a在多个编程脉冲中的每一个之后执行n状态位扫描直到满足第一预先确定的标准与在多个编程脉冲中的每一个之后执行m状态位扫描直到满足第二预先确定的标准之间重复切换。在一个实施方案中,第一预先确定的标准是所有n状态位扫描通过,并且第二预先确定的标准是所有m状态位扫描通过。
在示例性过程1200a中,在步骤1202a的每次迭代处,从来自步骤1202a的先前迭代的第一失败状态开始执行n状态位扫描,并且在步骤1208a的每次迭代处,从来自步骤1208a的先前迭代的第一失败状态开始执行m状态位扫描。就这一点而言,位扫描操作单独地、逐状态地对位进行计数,并且该过程可以确定哪些特定状态的位扫描通过和失败。
图12B描绘了图12A的过程1200a的示例性操作的结果,其中n=1并且m=2,并且使用了图13A中示出的示例性Vpgm脉冲、阈值电压分布和验证电压。具体地,图13A描绘了Vpgm脉冲P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12和P13,这些脉冲的值(单位为伏)分别为10.0、10.8、11.6、12.4、13.2、14.0、14.8、15.6、16.4、17.2、18.0、18.8和19.6,其中连续Vpgm脉冲之间的差值(pgm)为0.8V。Δ图13A还描绘了十六状态存储器设备的示例性阈值电压分布,其中每个存储器单元存储四位数据(ER状态分布未示出)。十五个Vth分布表示编程的存储器状态S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12、S13、S14和S15。验证电压Vv1、Vv2、Vv3、Vv4、Vv5、Vv6、Vv7、Vv8、Vv9、Vv10、Vv11、Vv12、Vv13、Vv14和Vv15分别具有值(单位为伏)10.8、11.4、12.0、12.6、13.2、13.8、14.4、15.0、15.6、16.2、16.8、17.4、18.0、18.6和19.2,其中连续验证电平(ΔVpvf)之间的间隔为0.6V。可使用其他Vpgm脉冲振幅、Δpgm值、验证电压值和Δpvf值。
在图12B所示的示例中,在每个Vpgm脉冲之后执行两个验证测试,并且每个验证测试由▲符号表示。例如,在Vpgm脉冲P1(10.0V)之后,对状态S1存储器单元和状态S2存储器单元执行验证测试,在Vpgm脉冲P5(13.2V)之后,对状态S4存储器单元和状态S5存储器单元执行验证测试,以此类推。在其他实施方案中,可以在每个Vpgm脉冲之后执行多于两次验证测试。
在验证测试之后,根据图12A的过程1200a的步骤执行位扫描。具体地,该过程在多个编程脉冲中的每一个之后执行1状态位扫描直到1状态位扫描通过与在多个编程脉冲中的每一个之后执行2状态位扫描直到2状态位扫描通过之间重复切换。
因此,在步骤1202a处开始,将Vpgm脉冲P1(10.0V)施加到选定的字线,执行验证测试,然后从步骤1202a的先前迭代的第一失败状态开始执行n=1状态位扫描。如上所述,在步骤1202a的第一迭代上,未执行先前的位扫描,因此1状态位扫描在第一状态S1处开始。状态S1位扫描失败(10.0V小于Vv1=10.8V)。因此,在步骤1204处,确定所有1状态位扫描尚未通过,并且过程返回到步骤1202a。将下一个Vpgm脉冲P2(10.8V)施加到选定的字线,执行验证测试,并且然后从步骤1202a的先前迭代的第一失败状态(状态S1)开始执行1状态位扫描。状态S1位扫描通过(10.8V等于Vv1=10.8V)。因此,在步骤1204处,确定所有1状态位扫描已通过,并且过程前进至步骤1206。
在步骤1206处,因为对所有15个状态的位扫描尚未通过,所以过程然后前进至步骤1208a,将下一个Vpgm脉冲P3(11.6V)施加到选定的字线,执行验证测试,并且然后从步骤1208a的先前迭代的第一失败状态开始执行m=2状态位扫描。如上所述,在步骤1206之后的步骤1208a的第一迭代上,2状态位扫描在步骤1202a的最后通过状态之后的第一状态(状态S1)处开始。因此,步骤1208a执行状态S2位扫描和状态S3位扫描。
状态S2位扫描通过(11.6V大于Vv2=11.4V),但是状态S3位扫描失败(11.6V小于Vv3=12.0V)。因此,在步骤1210处,确定所有2状态位扫描尚未通过,并且过程返回到步骤1208a。将下一个Vpgm脉冲P4(12.4V)施加到选定的字线,执行验证测试,并且然后从步骤1208a的先前迭代的第一失败状态(S3)处开始执行2状态位扫描。因此,步骤1208a执行状态S3位扫描和状态S4位扫描。状态S3位扫描通过(12.4V大于Vv3=12.0V),但是状态S4位扫描失败(12.4V小于Vv4=12.6V)。
因此,在步骤1210处,确定所有2状态位扫描尚未通过,并且过程返回到步骤1208a。将下一个Vpgm脉冲P5(13.2V)施加到选定的字线,执行验证测试,并且然后从步骤1208a的先前迭代的第一失败状态(S4)处开始执行2状态位扫描。因此,步骤1208a执行状态S4位扫描和状态S5位扫描。状态S4位扫描通过(13.2V大于Vv4=12.6V),并且状态S5位扫描通过(13.2V等于Vv5=13.2V)。因此,在步骤1210处,确定所有2状态位扫描已通过,并且过程前进至步骤1212。
在步骤1212处,因为针对所有15个状态的位扫描尚未通过,所以过程然后前进至步骤1202a,将下一个Vpgm脉冲P6(14.0V)施加到选定的字线,执行验证测试,并且然后从步骤1202a的先前迭代的第一失败状态开始执行n=1状态位扫描。如上所述,在步骤1212之后的步骤1202a的第一迭代上,1状态位扫描从步骤1208a的最后通过状态之后的第一状态(状态S5)开始。因此,步骤1202a执行状态S6位扫描。状态S6位扫描通过(14.0V大于Vv6=13.8V)。因此,在步骤1204处,确定所有1状态位扫描已通过,并且过程前进至步骤1206。
过程1200a如上所述继续,在多个编程脉冲中的每个之后执行1状态位扫描直到满足第一预先确定的标准(例如,所有1状态位扫描都通过)与在多个编程脉冲中的每个之后执行2状态位扫描直到满足第二预先确定的标准(例如,所有2状态位扫描都通过)之间重复切换。
图12C是使用动态可变状态位扫描的实施方案对存储器单元进行编程的示例性过程1200b的流程图,该动态可变状态位扫描在多个编程脉冲中的每个之后执行n状态位扫描与在多个编程脉冲中的每个之后执行m状态位扫描之间重复切换,其中m>n,并且n>0。在一个实施方案中,过程1200b可在存储器设备(诸如图1的存储器设备100)中执行。
在步骤1202b处,将Vpgm脉冲施加到选定的字线(例如,如上文关于图11A的步骤1106所述),将验证信号施加到选定的字线,同时对一个或多个存储器状态执行验证测试(例如,如上文关于图11A的步骤1108所述),并且从步骤1202b的先前迭代中的当前状态开始执行n状态位扫描。在步骤1202b的第一迭代上,未执行先前的位扫描,因此n状态位扫描在第一状态处开始。
在步骤1204处,确定在步骤1202a中执行的所有n个位扫描是否通过。如果在步骤1204处确定所有n个位扫描都不通过,则过程1200b返回到步骤1202b以将另一个Vpgm脉冲(以相对于先前Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且从来自步骤1202b的先前迭代的当前状态开始执行n状态位扫描。
如果在步骤1204处确定所有n个位扫描通过,则在步骤1206处确定针对所有编程状态的位扫描是否已通过。如果在步骤1206处确定针对所有编程状态的所有位扫描已通过,则编程完成并且过程1200b结束。
如果在步骤1206处确定针对所有编程状态的所有位扫描尚未通过,则在步骤1208b处将另一个Vpgm脉冲(以相对于先前Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且从来自步骤1208b的先前迭代的当前状态开始执行m状态位扫描。在步骤1206之后的步骤1208b的第一迭代上,m状态位扫描从步骤1202b的最后通过状态之后的第一状态开始。
在步骤1210处,确定在步骤1208b中执行的所有m个位扫描是否通过。如果在步骤1210处确定所有m个位扫描都不通过,则过程1200a返回到步骤1208b以将另一个Vpgm脉冲(以相对于先前Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且从来自步骤1208b的先前迭代的当前状态开始执行m状态位扫描。
如果在步骤1210处确定所有m个位扫描通过,则在步骤1212处确定针对所有编程状态的位扫描是否已通过。如果在步骤1212处确定针对所有编程状态的所有位扫描已通过,则编程完成并且过程1200b结束。
如果在步骤1212处确定针对所有编程状态的所有位扫描尚未通过,则在步骤1202b处,将另一个Vpgm脉冲(以相对于先前Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且在来自步骤1202b的先前迭代的当前状态处开始执行n状态位扫描。在步骤1212之后的步骤1202b的第一迭代上,n状态位扫描从步骤1208b的最后通过状态之后的第一状态处开始。
因此,过程1200b在多个编程脉冲中的每一个之后执行n状态位扫描直到满足第一预先确定的标准与在多个编程脉冲中的每一个之后执行m状态位扫描直到满足第二预先确定的标准之间重复切换。在一个实施方案中,第一预先确定的标准是所有n状态位扫描通过,并且第二预先确定的标准是所有m状态位扫描通过。
在示例性过程1200b中,在步骤1202b的每次迭代处,从来自步骤1202b的先前迭代的当前状态开始执行n状态位扫描,并且在步骤1208b的每次迭代处,从来自步骤1208b的先前迭代的当前状态开始执行m状态位扫描。就这一点而言,位扫描操作将位计数为来自所有状态的批次,并且该过程不能确定哪些特定状态的位扫描通过和失败。但是,该过程在位扫描计数方面可能更节省时间,因为n状态和m状态位扫描中的每一者都不需要单独的位扫描计数。
图12D描绘了图12C的过程1200b的示例性操作的结果,其中n=1并且m=2,并且使用了图13A中示出的示例性Vpgm脉冲、阈值电压分布和验证电压。在图12D所示的示例中,在每个Vpgm脉冲之后执行两次验证测试,并且每次验证测试由▲符号表示。在其他实施方案中,可以在每个Vpgm脉冲之后执行多于两次验证测试。
在验证测试之后,根据图12C的过程1200b的步骤执行位扫描。具体地,该过程在多个编程脉冲中的每一个之后执行1状态位扫描直到1状态位扫描通过与在多个编程脉冲中的每一个之后执行2状态位扫描直到2状态位扫描通过之间重复切换。
因此,在步骤1202b处开始,将Vpgm脉冲P1(10.0V)施加到选定的字线,执行验证测试,然后在来自步骤1202b的先前迭代的当前状态处开始执行n=1状态位扫描。如上所述,在步骤1202b的第一迭代上,未执行先前的位扫描,因此1状态位扫描在第一状态S1处开始。状态S1位扫描失败(10.0V小于Vv1=10.8V)。因此,在步骤1204处,确定所有1状态位扫描尚未通过,并且过程返回到步骤1202b。将下一个Vpgm脉冲P2(10.8V)施加到选定的字线,执行验证测试,并且然后从步骤1202a的先前迭代的第一失败状态(状态S1)开始执行1状态位扫描。状态S1位扫描通过(10.8V等于Vv1=10.8V)。因此,在步骤1204处,确定所有1状态位扫描已通过,并且过程前进至步骤1206。
在步骤1206处,因为对所有15个状态的位扫描尚未通过,所以过程然后前进至步骤1208b,将下一个Vpgm脉冲P3(11.6V)施加到选定的字线,执行验证测试,并且然后在来自步骤1208b的先前迭代的当前状态处开始执行m=2状态位扫描。如上所述,在步骤1206之后的步骤1208b的第一迭代上,2状态位扫描在步骤1202b的最后通过状态之后的第一状态(状态S1)处开始。因此,步骤1208b执行状态S2位扫描和状态S3位扫描。
状态S2位扫描通过(11.6V大于Vv2=11.4V),但是状态S3位扫描失败(11.6V小于Vv3=12.0V)。因此,在步骤1210处,确定所有2状态位扫描尚未通过,并且过程返回到步骤1208b。将下一个Vpgm脉冲P4(12.4V)施加到选定的字线,执行验证测试,并且然后在来自步骤1208b的先前迭代的当前状态(S2)处开始执行2状态位扫描。因此,步骤1208b执行另一状态S2位扫描和另一状态S3位扫描。状态S2位扫描再次通过(12.4V大于Vv2=11.4V),并且状态S3位扫描通过(12.4V大于Vv3=12.0V)。因为状态S2位扫描在步骤1208b的第一迭代上通过,所以在步骤1208b的第二迭代上的验证和状态S2位扫描在本文中称为“额外验证”。因此,在步骤1210处,确定所有2状态位扫描已通过,并且过程前进至步骤1212。
在步骤1212处,因为对所有15个状态的位扫描尚未通过,所以过程然后前进至步骤1202b,将下一个Vpgm脉冲P5(13.2V)施加到选定的字线,执行验证测试,并且然后在来自步骤1202b的先前迭代的当前状态处开始执行n=1状态位扫描。如上所述,在步骤1212之后的步骤1202b的第一迭代上,1状态位扫描在步骤1208b的最后通过状态之后的第一状态(状态S3)处开始。因此,步骤1202b执行状态S4位扫描。状态S4位扫描通过(13.2V大于Vv4=12.6V)。因此,在步骤1204处,确定所有1状态位扫描已通过,并且过程前进至步骤1206。需注意,状态S5也在Vpgm脉冲P5(13.2V等于Vv5=13.2V)处通过验证。
过程1200b如上所述继续,在多个编程脉冲中的每个之后执行1状态位扫描直到满足第一预先确定的标准(例如,所有1状态位扫描都通过)与在多个编程脉冲中的每个之后执行2状态位扫描直到满足第二预先确定的标准(例如,所有2状态位扫描都通过)之间重复切换。
图12E是使用选择性地执行(1)单状态位扫描和(2)动态可变状态位扫描的实施方案对存储器单元进行编程的示例性过程1220的流程图。在一个实施方案中,过程1220可在存储器设备(诸如图1的存储器设备100)中执行。
在步骤1222处,确定每次施加的Vpgm脉冲的平均阈值电压变化(ΔVt)。例如,可以将Vpgm脉冲施加到存储器单元的群体,并且可以确定每个施加的Vpgm脉冲的平均阈值电压变化。
在步骤1224处,确定每个施加的Vpgm脉冲的所确定的平均阈值电压变化ΔVt是否小于或等于连续验证电平之间的间距ΔVpvf。
如果在步骤1224处确定ΔVt≤ΔVpvf,则该过程前进至步骤1226,并且在多个编程脉冲中的每个之后执行单状态位扫描过程。示例性单状态位扫描过程在下文中描述并在图12F中示出。如果在步骤1224处确定ΔVt不≤ΔVpvf,则过程前进至步骤1228,并且在多个编程脉冲中的每个之后执行动态可变状态位扫描。在一个实施方案中,步骤1228可以执行动态可变状态位扫描,该动态可变状态位扫描在多个编程脉冲中的每个之后执行n状态位扫描与在多个编程脉冲中的每个之后执行m状态位扫描之间重复切换,其中m>n,并且n>0,诸如上文在图12A和图12C的示例性过程中所述。
图12F是使用单状态位扫描的实施方案对存储器单元进行编程的示例性过程1230的流程图。在一个实施方案中,过程1230可在存储器设备(诸如图1的存储器设备100)中执行。
在步骤1232处,将Vpgm脉冲施加到选定的字线(例如,如上文关于图11A的步骤1106所述),将验证信号施加到选定的字线,同时对一个或多个存储器状态执行验证测试(例如,如上文关于图11A的步骤1108所述),并且执行单状态位扫描。在步骤1232的第一迭代上,单状态位扫描在第一状态处开始。
在步骤1234处,确定在步骤1232中执行的位扫描是否通过。如果在步骤1234处确定位扫描未通过,则过程1230返回至步骤1232以将另一个Vpgm脉冲(以相对于先前的Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且从来自步骤1232的先前迭代的相同第一失败状态开始执行单状态位扫描。
如果在步骤1234处确定位扫描通过,则在步骤1236处,确定针对所有编程状态的位扫描是否已通过。如果在步骤1236处确定针对所有编程状态的所有位扫描已通过,则编程完成并且过程1230结束。
如果在步骤1236处确定针对所有编程状态的所有位扫描尚未通过,则过程1230返回到步骤1232,并且将另一个Vpgm脉冲(以相对于先前Vpgm脉冲增加的振幅)施加到选定的字线,执行对一个或多个存储器状态的验证测试,并且在步骤1232的先前迭代的通过状态之后的下一个状态处开始执行单状态位扫描。过程1230继续,直到通过了针对所有编程状态的单状态位扫描。
图12G描绘了使用图13B中示出的示例性Vpgm脉冲、阈值电压分布和验证电压的图12F的过程1230的示例性操作的结果。具体地讲,图13B描绘了Vpgm脉冲P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14、P15、P16、P17、P18、P19、P20、P21、P22、P23和P24,这些脉冲的值(单位为伏)分别为10.0、10.4、10.8、11.2、11.6、12.0、12.4、12.8、13.2、13.6、14.0、14.4、14.8、15.2、15.6、16.0、16.4、16.8、17.2、17.6、18.0、18.4、18.8和19.2,其中连续Vpgm脉冲之间的差值(Δpgm)为0.4V。图13B还描绘了十六状态存储器设备的示例性阈值电压分布,其中每个存储器单元存储四位数据(ER状态分布未示出)。十五个Vth分布表示编程的存储器状态S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12、S13、S14和S15。验证电压Vv1、Vv2、Vv3、Vv4、Vv5、Vv6、Vv7、Vv8、Vv9、Vv10、Vv11、Vv12、Vv13、Vv14和Vv15分别具有值(单位为伏)10.8、11.4、12.0、12.6、13.2、13.8、14.4、15.0、15.6、16.2、16.8、17.4、18.0、18.6和19.2,其中连续验证电平(ΔVpvf)之间的间隔为0.6V。可使用其他Vpgm脉冲振幅、Δpgm值、验证电压值和Δpvf值。
在图12G所示的示例中,在每个Vpgm脉冲之后执行两次验证测试,并且每次验证测试由▲符号表示。在其他实施方案中,可以在每个Vpgm脉冲之后执行多于两次验证测试。
在验证测试之后,根据图12F的过程1230的步骤执行单状态位扫描。如上所述,单状态位扫描是针对一个状态执行的位扫描操作。因此,在步骤1232处开始,将Vpgm脉冲P1(10.0V)施加到选定的字线,执行验证测试,然后在状态S1处开始执行单状态位扫描。状态S1位扫描失败(10.0V小于Vv1=10.8V)。因此,在步骤1234处,确定单状态位扫描尚未通过,并且该过程返回到步骤1232。将下一个Vpgm脉冲P2(10.4V)施加到选定的字线,执行验证测试,并且然后在来自步骤1232的先前迭代的失败状态(状态S1)处开始执行单状态位扫描。状态S1位扫描再次失败(10.4V小于Vv1=10.8V)。因此,在步骤1234处,确定单状态位扫描尚未通过,并且该过程返回到步骤1232。将下一个Vpgm脉冲P3(10.8V)施加到选定的字线,执行验证测试,并且然后从步骤1232的先前迭代的第一失败状态(状态S1)开始执行单状态位扫描。在步骤1234处,确定单态位扫描通过(10.8V等于Vv1=10.8V)。因此,该过程前进至步骤1236。
在步骤1236处,因为针对所有15个状态的位扫描尚未通过,所以该过程然后返回到步骤1232,将下一个Vpgm脉冲P4(11.2V)施加到选定的字线,执行验证测试,并且然后在步骤1232的最后通过状态之后的第一状态(状态S1)处开始执行单状态位扫描。因此,步骤1232执行状态S2位扫描。状态S2位扫描失败(11.2V小于Vv2=11.4V)。因此,在步骤1234处,确定单状态位扫描尚未通过,并且该过程返回到步骤1232。过程1230的过程步骤继续,直到针对所有十五个状态的位扫描通过。
因此,可以看出,在一个实施方案中,提供了一种装置,该装置包括多个存储器单元;编程电路,该编程电路被配置为将多个编程脉冲施加到存储器单元;以及扫描电路,该扫描电路被配置为在每个编程脉冲之后执行n状态位扫描直到满足第一预先确定的标准与在每个编程脉冲之后执行m状态位扫描直到满足第二预先确定的标准之间重复切换,其中m>n,并且n>0。
在另一个实施方案中,提供了一种装置,该装置包括多个存储器单元;编程电路,该编程电路被配置为将多个编程脉冲施加到存储器单元;第一位扫描电路,该第一位扫描电路被配置为在多个编程脉冲中的每个之后执行单状态位扫描;以及第二位扫描电路,该第二位扫描电路被配置为通过在多个编程脉冲中的每个之后逐状态地对位进行计数来执行动态可变状态位扫描。
在另一个实施方案中,提供了一种方法,该方法包括:向多个存储器单元施加编程脉冲,每个存储器单元包括多个存储器状态;确定每个所施加的编程脉冲的平均阈值电压变化;基于所确定的每个所施加的编程脉冲的平均阈值电压变化,在多个编程脉冲中的每个之后选择性地执行单状态位扫描或动态可变状态位扫描。
在另一个实施方案中,提供了一种装置,该装置包括:多个存储器单元;编程装置,该编程装置被配置为将多个编程脉冲施加到存储器单元;以及用于对该多个存储器单元执行位扫描的装置。该用于执行位扫描的装置包括用于在每个编程脉冲之后执行n状态位扫描的装置;用于确定所有n状态均通过n状态位扫描的装置;用于在每个编程脉冲之后执行m状态位扫描的装置,其中m>n;用于确定所有m状态均通过m状态位扫描的装置;以及用于在每个编程脉冲之后执行n状态位扫描的装置。
编程装置可包括图1A的读/写电路108、行解码器110和功率控制模块126,或其他逻辑硬件,和/或存储在计算机可读存储介质或设备上的其他可执行代码。其他实施方案可以包括类似或等效装置。
用于执行位扫描的装置可包括图1A的控制电路106和控制器114,或其他逻辑硬件,和/或存储在计算机可读存储介质或设备上的其他可执行代码。其他实施方案可以包括类似或等效装置。
用于在每个编程脉冲之后执行n状态位扫描的装置可包括图1A的控制电路106和控制器114,或其他逻辑硬件,和/或存储在计算机可读存储介质或设备上的其他可执行代码。其他实施方案可以包括类似或等效装置。
用于确定所有n状态均通过n状态位扫描的装置可包括图1A的控制电路106和控制器114,或其他逻辑硬件,和/或存储在计算机可读存储介质或设备上的其他可执行代码。其他实施方案可以包括类似或等效装置。
用于在每个编程脉冲之后执行m状态位扫描的装置可包括图1A的控制电路106和控制器114,或其他逻辑硬件,和/或存储在计算机可读存储介质或设备上的其他可执行代码。其他实施方案可以包括类似或等效装置。
用于确定所有m状态均通过m状态位扫描的装置可包括图1A的控制电路106和控制器114,或其他逻辑硬件,和/或存储在计算机可读存储介质或设备上的其他可执行代码。其他实施方案可以包括类似或等效装置。
在另一个实施方案中,提供了一种系统,该系统包括:存储器管芯,该存储器管芯包括多个存储器单元;以及控制器,该控制器连接到该存储器管芯,该控制器被配置为将多个编程脉冲施加到存储器单元,并且在该多个编程脉冲中的每一个之后执行可变状态位扫描,其中该可变状态位扫描在n状态位扫描与m状态位扫描之间重复切换,其中m>n,并且n>0。
出于说明和描述的目的,已提供了上述详细描述。其并非旨在详尽的或旨在限制于本发明所公开的精确形式。根据以上描述,很多修改形式和变型形式都是可能的。选择所述实施方案是为了最佳地阐明本发明的原理以及其实际应用,以由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种实施方案的技术。本技术的范围由所附权利要求书限定。

Claims (12)

1.一种装置,包括:
多个存储器单元;
编程电路,所述编程电路被配置为将多个编程脉冲施加到所述存储器单元;和
扫描电路,所述扫描电路被配置为在以下项之间重复切换:
在多个编程脉冲中的每一个之后执行n状态位扫描,直到满足第一预先确定的标准;和
在多个编程脉冲中的每一个之后执行m状态位扫描,直到满足第二预先确定的标准,其中m>n,并且n>0。
2.根据权利要求1所述的装置,其中所述第一预先确定的标准包括通过所述n状态位扫描,并且所述第二预先确定的标准包括通过所述m状态位扫描。
3.根据权利要求2所述的装置,其中:
通过所述n状态位扫描包括确定尚未被编程为所需存储器状态的存储器单元的数量小于针对n个存储器状态中的每一个的预先确定的值;和
通过所述m状态位扫描包括确定尚未被编程为所需存储器状态的存储器单元的数量小于针对m个存储器状态中的每一个的预先确定的值。
4.根据任何前述权利要求所述的装置,其中:
执行n状态位扫描包括针对n个存储器状态中的每一个确定尚未被编程为所需存储器状态的存储器单元的数量;和
执行m状态位扫描包括针对m个存储器状态中的每一个确定尚未被编程为所需存储器状态的存储器单元的数量。
5.根据权利要求1所述的装置,所述装置还包括:
第一计数电路,所述第一计数电路被配置为针对n个存储器状态中的每一个对尚未被编程为所需的存储器状态的多个存储器单元进行计数;和
第二计数电路,所述第二计数电路被配置为针对m个存储器状态中的每一个对尚未被编程为所需的存储器状态的多个存储器单元进行计数。
6.根据权利要求5所述的装置,其中所述第一计数电路和所述第二计数电路各自被配置为针对所有存储器状态对存储器单元进行共同计数。
7.根据权利要求5所述的装置,其中所述第一计数电路和所述第二计数电路各自被配置为针对每个存储器状态单独地对存储器单元进行计数。
8.一种方法,包括:
向多个存储器单元施加编程脉冲,所述存储器单元中的每一个包括多个存储器状态;
确定每个所施加的编程脉冲的平均阈值电压变化;和
在多个编程脉冲中的每个之后,基于所述确定的每个所施加的编程脉冲的平均阈值电压变化,选择性地执行单状态位扫描或动态可变状态位扫描。
9.根据权利要求8所述的方法,所述方法还包括:
将所述确定的每个所施加的编程脉冲的平均阈值电压变化与预先确定的值进行比较;和
基于所述比较结果,在多个编程脉冲中的每一个之后选择性地执行单状态位扫描或动态可变状态位扫描。
10.根据权利要求9所述的方法,其中所述预先确定的值包括连续存储器状态之间的验证阈值水平之间的差值。
11.根据权利要求8所述的方法,其中执行所述动态可变状态位扫描包括:
在多个编程脉冲中的每一个之后执行n状态位扫描,直到满足第一预先确定的标准;和
在多个编程脉冲中的每一个之后执行m状态位扫描,直到满足第二预先确定的标准,其中m>n,并且n>0。
12.根据权利要求11所述的方法,其中所述第一预先确定的标准包括通过所述n状态位扫描,并且所述第二预先确定的标准包括通过所述m状态位扫描。
CN201980005873.2A 2018-06-05 2019-02-07 用于位扫描的装置和方法 Active CN111433854B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/000,413 2018-06-05
US16/000,413 US10535401B2 (en) 2018-06-05 2018-06-05 Dynamic bit-scan techniques for memory device programming
PCT/US2019/017075 WO2019236151A1 (en) 2018-06-05 2019-02-07 Dynamic bit-scan techniques for memory device programming

Publications (2)

Publication Number Publication Date
CN111433854A true CN111433854A (zh) 2020-07-17
CN111433854B CN111433854B (zh) 2023-10-03

Family

ID=68693627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980005873.2A Active CN111433854B (zh) 2018-06-05 2019-02-07 用于位扫描的装置和方法

Country Status (4)

Country Link
US (2) US10535401B2 (zh)
CN (1) CN111433854B (zh)
DE (1) DE112019000148T5 (zh)
WO (1) WO2019236151A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047939A (ja) * 2019-09-17 2021-03-25 キオクシア株式会社 半導体記憶装置
TWI755154B (zh) 2020-03-03 2022-02-11 美商美光科技公司 基於計數器及錯誤校正碼反饋用於記憶體單元之即時程式化及驗證方法
WO2021176243A1 (en) * 2020-03-03 2021-09-10 Micron Technology, Inc. On-the-fly programming and verifying method for memory cells based on counters and ecc feedback
US11942165B2 (en) * 2020-09-24 2024-03-26 Yangtze Memory Technologies Co., Ltd. Architecture and method for NAND memory programming
US11475969B2 (en) 2020-12-18 2022-10-18 Micron Technology, Inc. Scan optimization using data selection across wordline of a memory array
US11361835B1 (en) 2021-03-01 2022-06-14 Sandisk Technologies Llc Countermeasure for reducing peak current during programming by optimizing timing of latch scan operations
US11581049B2 (en) 2021-06-01 2023-02-14 Sandisk Technologies Llc System and methods for programming nonvolatile memory having partial select gate drains
US11521691B1 (en) 2021-06-02 2022-12-06 Sandisk Technologies Llc Triggering next state verify in program loop for nonvolatile memory
US11699494B2 (en) * 2021-06-07 2023-07-11 Sandisk Technologies Llc Peak and average ICC reduction by tier-based sensing during program verify operations of non-volatile memory structures
CN115458018A (zh) * 2021-06-09 2022-12-09 桑迪士克科技有限责任公司 解决非易失性存储器结构中相邻平面干扰条件的对策模式
US11862256B2 (en) 2022-02-22 2024-01-02 Sandisk Technologies Llc Non-volatile memory with plane independent screening

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060239078A1 (en) * 2005-04-13 2006-10-26 Doo-Sub Lee NOR flash memory device using bit scan method and related programming method
US20120321032A1 (en) * 2011-06-20 2012-12-20 Bo Liu Bit Scan Circuits and Method in Non-volatile Memory
US20150262677A1 (en) * 2014-03-13 2015-09-17 Phison Electronics Corp. Data storing method, memory control circuit unit and memory storage apparatus
US20160019948A1 (en) * 2014-07-15 2016-01-21 Sandisk Technologies Inc. Reprogramming Memory With Single Program Pulse Per Data State
US20170076802A1 (en) * 2015-09-14 2017-03-16 SanDisk Technologies, LLC. Programming of Nonvolatile Memory with Verify Level Dependent on Memory State and Programming Loop Count
US20170125117A1 (en) * 2015-10-30 2017-05-04 Sandisk Technologies Inc. Smart Skip Verify Mode For Programming A Memory Device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5065594B2 (ja) 2005-12-23 2012-11-07 株式会社東芝 半導体記憶装置
US8233324B2 (en) 2010-03-25 2012-07-31 Sandisk Il Ltd. Simultaneous multi-state read or verify in non-volatile storage
US9361986B2 (en) 2011-09-19 2016-06-07 Sandisk Technologies Inc. High endurance non-volatile storage
US9349476B2 (en) 2013-02-21 2016-05-24 Sandisk Technologies Inc. Methods, systems, and computer readable media for early detection of potential flash failures using an adaptive system level algorithm based on flash program verify
US9437302B2 (en) * 2014-02-06 2016-09-06 Sandisk Technologies Llc State-dependent lockout in non-volatile memory
US9922719B2 (en) 2015-06-07 2018-03-20 Sandisk Technologies Llc Multi-VT sensing method by varying bit line voltage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060239078A1 (en) * 2005-04-13 2006-10-26 Doo-Sub Lee NOR flash memory device using bit scan method and related programming method
US20120321032A1 (en) * 2011-06-20 2012-12-20 Bo Liu Bit Scan Circuits and Method in Non-volatile Memory
US20150262677A1 (en) * 2014-03-13 2015-09-17 Phison Electronics Corp. Data storing method, memory control circuit unit and memory storage apparatus
US20160019948A1 (en) * 2014-07-15 2016-01-21 Sandisk Technologies Inc. Reprogramming Memory With Single Program Pulse Per Data State
US20170076802A1 (en) * 2015-09-14 2017-03-16 SanDisk Technologies, LLC. Programming of Nonvolatile Memory with Verify Level Dependent on Memory State and Programming Loop Count
US20170125117A1 (en) * 2015-10-30 2017-05-04 Sandisk Technologies Inc. Smart Skip Verify Mode For Programming A Memory Device

Also Published As

Publication number Publication date
US20190371395A1 (en) 2019-12-05
US20200126613A1 (en) 2020-04-23
CN111433854B (zh) 2023-10-03
US10535401B2 (en) 2020-01-14
US10971222B2 (en) 2021-04-06
WO2019236151A1 (en) 2019-12-12
DE112019000148T5 (de) 2020-09-17

Similar Documents

Publication Publication Date Title
CN111433854B (zh) 用于位扫描的装置和方法
CN111386571B (zh) 具有多平面混合子块编程的非易失性存储器
CN108461106B (zh) 将存储器单元分组为子区块用于编程速度的统一性
US10014063B2 (en) Smart skip verify mode for programming a memory device
CN106067322B (zh) 利用两阶段编程的非易失性存储器
US10559368B1 (en) Non-volatile memory with countermeasures for select gate disturb during program pre-charge
US10923197B2 (en) Memory device with compensation for erase speed variations due to blocking oxide layer thinning
CN111527549B (zh) 用于存储器设备的装置和方法
CN113284538A (zh) 具有程序验证跳过的非易失性存储器
US9711211B2 (en) Dynamic threshold voltage compaction for non-volatile memory
CN115527588A (zh) 使用选择性跳过的验证脉冲进行存储器编程以用于性能改进
CN113424258B (zh) 用于对存储器装置进行编程的改进的验证方案
CN113870935A (zh) 使用栅极诱生漏极泄漏生成的空穴预充电方案
CN113870934A (zh) 编程-验证技术之间的取决于循环的切换
US11908524B2 (en) Apparatus and methods for programming memory cells
US11961563B2 (en) Balancing peak power with programming speed in non-volatile memory
US11955184B2 (en) Memory cell group read with compensation for different programming speeds
TWI778675B (zh) 透過迴路相依的電壓斜升目標及時序控制之峰值電流及程式化時間最佳化
US20240144996A1 (en) Fast direct look ahead read mode in a memory device
US20240127895A1 (en) Non-volatile memory with overdrive voltage zoning to compensate for reduced margins
US20240078028A1 (en) Bundle multiple timing parameters for fast slc programming
US20240105271A1 (en) Preventing erase disturb in nand
US20240136001A1 (en) Non-volatile memory with lower current program-verify
US20240105269A1 (en) Bit line modulation to compensate for cell source variation
US20240071482A1 (en) Mixed bitline lockout for qlc/tlc die

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