CN109841254A - 非易失性存储设备及其编程方法 - Google Patents
非易失性存储设备及其编程方法 Download PDFInfo
- Publication number
- CN109841254A CN109841254A CN201811406794.6A CN201811406794A CN109841254A CN 109841254 A CN109841254 A CN 109841254A CN 201811406794 A CN201811406794 A CN 201811406794A CN 109841254 A CN109841254 A CN 109841254A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- voltage
- unit
- programming
- unit group
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000003860 storage Methods 0.000 claims abstract description 338
- 210000001367 artery Anatomy 0.000 claims description 2
- 210000003462 vein Anatomy 0.000 claims description 2
- 238000004080 punching Methods 0.000 claims 1
- 230000015654 memory Effects 0.000 description 47
- 238000009826 distribution Methods 0.000 description 34
- 210000004027 cell Anatomy 0.000 description 21
- 238000012795 verification Methods 0.000 description 16
- 239000010410 layer Substances 0.000 description 14
- 230000005611 electricity Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 6
- 230000014759 maintenance of location Effects 0.000 description 6
- 239000000758 substrate Substances 0.000 description 6
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 5
- 101150064834 ssl1 gene Proteins 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 4
- 101100058961 Arabidopsis thaliana CALS2 gene Proteins 0.000 description 4
- 101100058964 Arabidopsis thaliana CALS5 gene Proteins 0.000 description 4
- 101100287040 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ARG82 gene Proteins 0.000 description 4
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 4
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 4
- 101150062870 ssl3 gene Proteins 0.000 description 4
- 101000641216 Aquareovirus G (isolate American grass carp/USA/PB01-155/-) Non-structural protein 4 Proteins 0.000 description 3
- 101000927946 Homo sapiens LisH domain-containing protein ARMC9 Proteins 0.000 description 3
- 102100036882 LisH domain-containing protein ARMC9 Human genes 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000000151 deposition Methods 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 239000011810 insulating material Substances 0.000 description 2
- 239000000377 silicon dioxide Substances 0.000 description 2
- 239000002210 silicon-based material Substances 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 101000751000 Bacillus subtilis (strain 168) 50S ribosomal protein L1 Proteins 0.000 description 1
- 101000935024 Bungarus multicinctus Beta-bungarotoxin B chain-like Proteins 0.000 description 1
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 1
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—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 trapping in an insulator
-
- 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
- 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
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching 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/24—Bit-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/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/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/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/3468—Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
- G11C16/3486—Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
-
- 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
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5622—Concurrent multilevel programming of more than one cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/14—Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
一种非易失性存储设备包含多个存储单元,所述存储单元包含第一存储单元和第二存储单元。一种对非易失性存储设备进行编程的方法,包含:执行第一编程,以将编程强制电压施加到每个第一存储单元的位线;并且在执行第一编程之后基于第二存储单元的阈值电压,将第二存储单元划分为第一单元组、第二单元组和第三单元组。所述方法还包含执行第二编程,以将编程禁止电压施加到每个第一存储单元的位线和第一单元组的每个存储单元的位线。所述编程强制电压的电平低于编程禁止电压的电平。
Description
相关申请的交叉引用
本专利申请要求于2017年11月24日在韩国知识产权局提交的韩国专利申请No.10-2017-0158571的优先权,在此通过引用合并该韩国专利申请的整个内容。
技术领域
本公开涉及一种对非易失性存储设备编程的方法。
背景技术
半导体存储设备可以包含:易失性存储器,诸如,动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM);以及非易失性存储器,诸如,电可擦可编程只读存储器(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、电阻性RAM(RRAM)、磁性RAM(MRAM)、和闪速存储器。易失性存储器当电源中断时丧失存储的数据,而非易失性存储器即使电源中断时仍保持存储的数据。
采用非易失性存储器的设备的示例包含:MP3播放器、数码相机、移动电话、便携式摄像机(camcorder)、闪速存储卡、以及固态硬盘(SSD)。随着将非易失性存储器用作储存器件的设备的数量增大,非易失性存储器的容量也迅速提高。对非易失性存储器编程的方法可以采用增量阶跃脉冲编程(ISPP)方法的编程操作,以及可以在编程操作中将编程电压脉冲提供给存储单元后,采用验证操作来利用验证电压验证存储单元的编程状态。然而,即使是在完成验证操作之后,在编程操作中存储于存储单元中的数据的可靠性仍因为存储单元的特性而恶化。
发明内容
本公开提供了一种非易失性存储设备和一种对非易失性存储设备进行编程的方法,所述非易失性存储设备可以改善编程速度并且可以在编程状态下减小存储单元的阈值电压分布的宽度(范围)。
根据本公开的一个方面,一种非易失性存储设备包含多个存储单元,该存储单元包含第一存储单元和阈值电压低于所述第一存储单元的阈值电压的第二存储单元。对非易失性存储设备进行编程的方法包含:执行第一编程,以将编程强制电压施加到每个第一存储单元的位线;并且基于执行第一编程之后第二存储单元的阈值电压,将第二存储单元划分为第一单元组、第二单元组和第三单元组。该方法还包含执行第二编程,以将编程禁止电压施加到每个第一存储单元的位线和第一单元组的每个存储单元的位线。编程强制电压的电平低于编程禁止电压的电平。
根据本公开的另一个方面,一种非易失性存储设备包含多个存储单元,根据阈值电压的电平,将多个存储单元划分为第一单元组、第二单元组和第三单元组。对非易失性存储设备进行编程的方法包含:将编程禁止电压施加到第一单元组的每个存储单元的位线;并且将电平低于编程禁止电压的编程强制电压施加到第二单元组的每个存储单元的位线。该方法还包含:通过将第一编程脉冲施加到存储单元的字线,执行第一编程;以及通过将编程禁止电压施加到第一单元组和第二单元组的存储单元的位线并且然后将第二编程脉冲施加到多个存储单元的字线,执行第二编程。
根据本公开的另一个方面,一种非易失性存储设备包含:单元阵列、行解码器以及页缓冲器。该单元阵列包含多个存储单元,该存储单元包含第一存储单元和第二存储单元。该行解码器被配置成在第一编程循环中将第一编程脉冲提供给多个存储单元的字线,以及在第二编程循环中将第二编程脉冲提供给多个存储单元的字线。该页缓冲器配置成将编程禁止电压和具有低于编程禁止电压的电平的编程强制电压提供给多个存储单元的位线。控制逻辑单元被配置成控制行解码器和页缓冲器,使得顺序地执行第一编程循环和第二编程循环。在第一编程循环中,将编程强制电压施加到每个第一存储单元的位线,并且控制逻辑单元被配置成控制页缓冲器,使得在第二编程循环中,将编程禁止电压施加到每个第一存储单元的位线。
附图说明
通过下面结合附图所做的详细描述,本公开的示例性实施例更加容易理解,在附图中:
图1是示出根据本公开的实施例的非易失性存储设备的方框图;
图2是示出根据本公开的实施例的存储块的示例的电路图;
图3是示出根据本公开的实施例的存储块的另一个示例的电路图;
图4是示出根据图3所示电路图的存储块的透视图;
图5A是示出根据本公开的实施例的非易失性存储设备的编程方法的操作的曲线图;
图5B是示出根据本公开的实施例的非易失性存储设备的编程方法的流程图;
图5C是示出根据本公开的实施例的施加于包含于非易失性存储设备中的多个存储单元的位线电压的曲线图;
图6A是示出根据本公开的实施例的非易失性存储设备的编程方法的操作的曲线图并且解释图5A所示操作S130;
图6B是示出根据本公开的实施例的非易失性存储设备的编程方法的流程图并且解释图5B所示的操作S130;
图7A和7B是示出根据本公开的实施例的编程方法对字线施加电压的曲线图;
图8是示出根据本公开的实施例的非易失性存储设备的编程方法的流程图;
图9是示出根据本公开的另一个实施例的非易失性存储设备的编程方法的操作的曲线图;
图10是示出根据本公开的实施例的非易失性存储设备的编程方法的流程图;以及
图11是示出包含根据本公开的实施例的非易失性存储设备的计算系统的方框图。
具体实施方式
图1是示出根据本公开的实施例的非易失性存储设备100的方框图。
参考图1,非易失性存储设备100可以包含:存储单元阵列110、控制逻辑单元120、电压发生器130、行解码器140、以及页缓冲器150。尽管未示出,但是非易失性存储设备100可以进一步包含数据/输入/输出电路或输入/输出接口。
存储单元阵列110包含多个存储单元,并且可以连接到字线WL、串选择线SSL、地选择线GSL、以及多个位线BL。更详细地说,存储单元阵列110可以通过字线WL、串选择线SSL和地选择线GSL连接到行解码器140,并且可以通过多个位线BL连接到页缓冲器150。
存储单元阵列110可以包含多个块BLK1至BLKz。例如,多个块BLK1至BLKz中的每个都可以具有三维(3D)结构(或垂直结构)。更详细地说,块BLK1至BLKz中的每个都包含在第一方向、第二方向和第三方向上延伸的结构。第一方向和第二方向可以90度相交而垂直。第三方向可垂直于第一方向和第二方向形成的平面,从而分别以90度与第一方向和第二方向相交。例如,每个块包含多个以第三方向延伸的NAND串(下面称为“串”)。在此,在第一和第二方向上,互相隔开特定间距地提供多个串。块BLK1至BLKz可以由行解码器140选择。例如,行解码器140可以从块BLK1至BLKz中选择对应于块地址的块。
包含于存储单元阵列110中的每个存储单元可以是存储2位或者多位数据的多层单元(MLC)。例如,存储单元可以是用于存储2位数据的MLC。作为另一个示例,存储单元可以是存储3位数据的三层单元(TLC),或者存储4位数据的四层单元(QLC)。然而,本公开并不局限于此。在另一个实施例中,包含于存储单元阵列110中的一些存储单元可以是存储1位数据的单层单元(SLC),而其他存储单元可以是MLC。
块BLK1至BLKz中的多个存储块块BLK1至BLKi可以包括包含单层单元的SLC块、包含多层单元的MLC块、以及包含三层单元的TLC块中的至少一个。包含于存储单元阵列110中的多个存储块中的一些存储块可以是SLC块,而其他块可以是MLC块或TLC块。
当对存储单元阵列110施加擦除电压时,多个存储单元被擦除。当对存储单元阵列110施加编程脉冲时,编程多个存储单元。每个存储单元可以具有擦除状态E和至少一个编程状态,这是根据阈值电压Vth划分的。
例如,在擦除状态,可基于对应于编程状态的预设编程脉冲来编程存储单元,并且然后,基于存储单元的高斯(Gaussian)形式的阈值电压分布,将存储单元划分为三个单元组。第一单元组可对应于阈值电压分布的最上侧区域。此后,在这三个单元组中,可重新编程第二单元组和第三单元组。可根据预编程存储单元的分布等来预设第一编程脉冲。在一个实施例中,第一单元组的分布可被包含于编程状态的目标分布中。下面将参考图5A对此做描述。
在另一个实施例中,在擦除状态,可基于对应于编程状态的预设编程脉冲来编程存储单元,并且然后,基于第一编程脉冲重新编程该存储单元,使得可以减小存储单元的阈值电压分布的宽度。此后,可将存储单元划分为三个单元组。下面将参考图9对此做描述。
可将控制逻辑单元120实现为诸如具有存储元件、比较器和其他形式的电路元件的电路系统。还可将控制逻辑单元120实现为由处理器和处理器执行的软件的组合,或由电路系统和执行软件的处理器以及处理器执行的软件的组合。基于从存储控制器200收到的命令CMD、地址ADDR和控制信号CTRL,控制逻辑单元120可输出各种控制信号,以将数据写入存储单元阵列110/从存储单元阵列110读出数据。因此,总体上说,控制逻辑单元120可以控制非易失性存储设备100中的各种操作。在一个实施例中,当编程多个存储单元时,顺序地执行多个编程循环,并且控制逻辑单元120可以控制非易失性存储设备100中的各种操作,使得执行多个编程循环。
可以将控制逻辑单元120输出的各种控制信号提供给电压发生器130、行解码器140和页缓冲器150。控制逻辑单元120可将电压控制信号CTRL_vol提供给电压发生器130。在本公开的一个实施例中,控制逻辑单元120可以产生:编程脉冲,该编程脉冲提供给存储单元阵列110,以将数据写入存储单元;电压控制信号CTRL_vol,该电压控制信号CTRL_vol用于控制验证电压的产生。
控制逻辑单元120可以控制电压发生器130,使得电压发生器130在每个编程循环中产生至少一个验证电压和至少一个编程脉冲,并且进一步产生电平随着编程循环的数量的增大而发生变化的编程脉冲。
基于电压控制信号CTRL_vol,电压发生器130可以产生各种电压,以对存储单元阵列110执行编程、读和擦除操作。电压发生器130可以产生字线电压VWL,例如,编程脉冲和验证电压。在一个实施例中,基于电压控制信号CTRL_vol,电压发生器130可以产生电平随着编程循环的数量的增大而发生变化的编程脉冲和验证电压。当执行编程循环时,可以通过ISPP方法来执行根据实施例的编程方法。在每次执行编程循环时,电压发生器130可以产生电平比先前编程脉冲的电平高的编程脉冲。换句话说,在每次执行编程循环时,编程脉冲的电平可以递增地升高。然而,本公开不限于此,每个编程循环的编程脉冲可以具有相同的电平,或者每个编程循环的编程脉冲可以具有不同的脉冲持续时间。
作为对从控制逻辑单元120收到行地址X-ADDR的响应,行解码器140可以选择一些字线WL。更详细地说,在编程操作时,行解码器140可以对选择的字线提供编程脉冲。此外,作为对从控制逻辑单元120收到行地址X-ADDR的响应,行解码器140可以选择一些串选择线SSL或一些地选择线GSL。对于每个编程循环,行解码器140可以从电压发生器130收到至少一个验证电压和至少一个编程脉冲,以对多个存储单元的字线提供至少一个验证电压和至少一个编程脉冲。
页缓冲器150可以通过位线BL连接到存储单元阵列110,并且作为对从控制逻辑单元120收到列地址Y-ADDR的响应,可以选择一些位线BL。在读操作时,通过作为感测放大器(sense amplifier)运行,页缓冲器150可以感测存储于存储单元阵列110中的数据DATA。此外,在编程操作时,通过作为写驱动器运行,页缓冲器150可以输入待存储的数据DATA到存储单元阵列110中。
页缓冲器150可以存储从存储单元阵列110读出的数据DATA,也可以存储待写到存储单元阵列110的数据DATA。页缓冲器150可以包含多个数据锁存器151,并且多个数据锁存器151可以临时存储数据DATA。在一个实施例中,多个数据锁存器151可以临时存储关于在先前编程循环中对位线施加有强制电压的存储单元的信息。
当行解码器140在编程操作时对选择的字线施加编程脉冲时,页缓冲器150可以根据对存储单元进行编程的速度来对多个位线BL施加位线电压,诸如,编程禁止电压、编程强制电压、以及位线编程电压。编程禁止电压是当对位线施加时禁止对连接到该位线的存储单元进行编程,以例如防止连接到该位线的存储单元被过编程的电压。编程强制电压是当对位线施加时导致存储单元被相对弱地编程并且其电压电平低于编程禁止电压的电压。位线编程电压可以例如,是地电压,并且可以是同样导致存储单元被编程而其电压电平低于编程强制电压的电压。
在根据本公开的非易失性存储设备100中,可以基于多个存储单元的阈值电压分布,将多个存储单元划分为3个单元组。在第一编程循环中,页缓冲器150可以对对应于存储单元分布的最上侧区域的第一单元组施加编程禁止电压。在第一编程循环中,页缓冲器150可以对对应于存储单元分布的中间区域的第二单元组施加编程强制电压。在第一编程循环中,页缓冲器150可以对对应于存储单元分布的最下侧区域的第三单元组施加位线编程电压。
在第一编程循环之后执行的第二编程循环中,不考虑第二单元组的存储单元的阈值电压分布,通过对第二单元组中的每个存储单元的位线施加编程禁止电压,可以防止对第二单元组的存储单元过编程。这样,在诸如第二编程循环或后续编程循环中,编程禁止电压禁止了过编程。如下参考图5C所做的解释,编程禁止电压可以高于编程强制电压,而编程强制电压高于位线编程电压。
因此,如上所述,在第一编程循环中,能够对第一单元组施加编程禁止电压。在第二编程循环中,能够对第二单元组施加编程禁止电压。
图2是示出根据本公开的实施例的存储块的示例的电路图。
参考图2,存储块BLKa可以是水平NAND闪速存储器。存储块BLKa可以包含d(d是等于或者大于2的整数)个串STR,在串STR中,多个存储单元串联连接。每个串STR可以包含串选择晶体管SST和地选择晶体管GST,其分别连接到串联连接的存储单元MC的两端。串STR的数量、字线WL的数量以及位线BL的数量可根据实施例而改变。
以存储块为单位擦除包含具有如图2所示结构的存储块的NAND闪速存储设备,并且可以对应于字线WL1至WL8中每个字线的页PAGE为单位执行编程。在一个示例中,当存储单元MC是SLC时,一页PAGE可以对应于每个字线。在另一个示例中,当存储单元MC是MLC、TLC或QLC时,多个页PAGE可以对应于每个字线。
图3是示出根据本公开的实施例的存储块BLKb的另一个示例的电路图。
参考图3,存储块BLKb可以是垂直NAND闪速存储器。存储块BLKb可以包含:多个NAND串NS11至NS33、多个字线WL1至WL8、多个位线BL1至BL3、地选择线GSL1、GSL2和GSL3、多个串选择线SSL1至SSL3、以及公共源线CSL。在此,根据示例性实施例,以各种方式改变NAND串的数量、字线的数量、位线的数量、地选择线的数量以及串选择线的数量。
NAND串NS11、NS21和NS31设置于第一位线BL1与公共源线CSL之间,NAND串NS12、NS22和NS32设置于第二位线BL2与公共源线CSL之间,并且NAND串NS13、NS23和NS33设置于第三位线BL3与公共源线CSL之间。NAND串(例如,NS11)可以包含串联连接的串选择晶体管SST、多个存储单元MC1至MC8、地选择晶体管GST。为了便于描述,下面将NAND串称为串。
共同连接到一个位线的串形成一列。例如,共同连接到第一位线BL1的串NS11、NS21和NS31可以对应于第一列,共同连接到第二位线BL2的串NS12、NS22和NS32可以对应于第二列,并且共同连接到第三位线BL3的串NS13、NS23和NS33可以对应于第三列。
连接到一个串选择线的串形成一行。例如,连接到第一串选择线SSL1的串NS11、NS12和NS13可以对应于第一行,连接到第二串选择线SSL2的串NS21、NS22和NS23可以对应于第二行,并且连接到第三串选择线SSL3的串NS31、NS32和NS33可以对应于第三行。
串选择晶体管SST连接到串选择线SSL1至SSL3。多个存储单元MC1至MC8分别连接到相应字线WL1至WL8。地选择晶体管GST连接到地选择线GSL1、GSL2和GSL3。串选择晶体管SST连接到相应位线BL,并且地选择晶体管GST连接到公共源线CSL。
具有相同高度的字线(例如,WL1)互相共同地连接。串选择线SSL1至SSL3互相分离。例如,当对连接到第一字线WL1并且属于串NS11、NS12和NS13的存储单元进行编程时,可以选择第一字线WL1和第一串选择线SSL1。在一个实施例中,如图4所示,地选择线GSL1、GSL2和GSL3可以互相分离。在另一个实施例中,地选择线GSL1、GSL2和GSL3可以互相连接。
图4是示出根据图3所示电路图的存储块BLKb的透视图。
参考图4,存储块BLKb形成于垂直于衬底SUB的方向上。衬底SUB具有第一导电类型(例如,p型)并且在第一方向(例如,X方向)上延伸,并且可以提供掺有第二导电类型(例如,n型)的杂质的公共源线CSL。公共源线CSL可以用作对垂直存储单元供给电流的源区。
在衬底SUB上位于两个相邻公共源线CSL之间的区域上在第三方向上(例如,Z方向上)顺序地设置在第二方向上(例如,Y方向上)延伸的多个绝缘层IL,并且在第三方向上,多个绝缘层IL互相隔开特定距离。例如,多个绝缘层IL可以包含诸如氧化硅的绝缘材料。
在衬底SUB上的两个相邻公共源线CSL之间的区域上,在第一方向上顺序地布置沟道孔(channel hole),并且可以在第三方向上通过多个绝缘层IL形成该沟道孔。该沟道孔可以具有在垂直方向上延伸的杯形(或具有底的筒形)。该沟道孔还可以以柱形形成,如图所示。下面将沟道孔称为柱。多个柱P可以通过多个绝缘层IL与衬底SUB接触。更具体地,每个柱P的表面层S可以包含第一型的硅材料,并且可以用作沟道区。每个柱P的内层I可以包含诸如氧化硅的绝缘材料或气隙。
在两个相邻公共源线CSL之间的区域中,沿绝缘层IL、柱P和衬底SUB的外露表面设置电荷储存层CS。例如,电荷储存层CS可以具有氧化物-氮化物-氧化物(ONO)结构。此外,在两个相邻公共源线CSL之间的区域中,在电荷储存层CS的外露表面上可以设置栅极GE。
漏极或漏极触点DR分别设置于多个柱P上。例如,漏极或漏极触点DR可以包含掺有第二导电类型的杂质的硅材料。在第二方向上(例如,Y方向上)延伸并且在第一方向上互相隔开特定距离的位线BL可以设置于漏极或漏极触点DR上。
已经参考图4描述了存储块BLKb的实施例。然而,本公开并不局限于此,并且可以改变存储块BLKb的结构。
图5A是示出根据本公开的实施例的非易失性存储设备的编程方法的操作的曲线图。图5B是示出根据本公开的实施例的非易失性存储设备的编程方法的流程图。图5C是示出根据本公开的实施例的施加于包含在非易失性存储设备中的多个存储单元的位线电压的曲线图。
参考图5A和5B,在操作S110中,基于阈值电压,可以将待以第一编程状态P1编程的多个存储单元MC1划分为三个组。通过读验证操作,可以将多个存储单元MC1划分为三个单元组。在一个实施例中,通过基于第一验证电压Vrf1和第二验证电压Vrf2验证存储单元,控制逻辑单元(例如,图1所示的120)可以将多个存储单元MC1划分为第一单元组G1、第二单元组G2和第三单元组G3。将参考图6A和6B详细描述该划分操作。
可以基于阈值电压分布来划分第一单元组G1、第二单元组G2和第三单元组G3。第一单元组G1可以对应于阈值电压分布的最上侧区域,并且第三单元组G3可以对应于阈值电压分布的最下侧区域。
在一个实施例中,第一验证电压Vrf1可以与针对第一编程状态P1的用于验证多个存储单元MC1是否以第一编程状态P1被正常编程的验证读电压Vv1相同。
参考图5A至5C,在操作S121,可以将编程禁止电压Vinh施加到第一单元组G1的存储单元的位线,可以将编程强制电压Vfor施加到第二单元组G2的每个存储单元的位线。可以将位线编程电压Vpro施加到第三单元组G3的每个存储单元的位线。编程禁止电压Vinh的电平可以高于编程强制电压Vfor的电平,并且编程强制电压Vfor的电平可以高于位线编程电压Vpro的电平。在一个实施例中,可以将位线编程电压Vpro设置为地电平或0V,可以将编程禁止电压Vinh设置为电源电压,并且可以将编程强制电压Vfor设置为地电平与电源电压之间的值。
在操作S122,可以将第一编程脉冲Vpgm1施加到多个存储单元MC1的字线。可以在对多个存储单元MC1的字线施加了第一编程脉冲Vpgm1后,改变多个存储单元MC1的阈值电压分布。不可以对施加编程禁止电压Vinh的第一单元组G1的存储单元进行编程,而可以对第二单元组G2和第三单元组G3的存储单元进行编程。因此,第二单元组G2和第三单元组G3的阈值电压分布可以向右移。由于电平高于位线编程电压Vpro的电平的编程强制电压Vfor施加到第二单元组G2的存储单元,所以与第三单元组G3的存储单元的移动相比,第二单元组G2的存储单元可以具有较小程度的阈值电压分布的移动。在一个实施例中,因为第一编程脉冲Vpgm1施加到第二单元组G2,所以第二单元组G2可以包含于目标分布TP1中。然而,本公开并不局限于此,并且第二单元组G2的一些存储单元可以不包含于目标分布TP1中,并且可以具有低于第一验证电压Vrf1的阈值电压。
在操作S130,第二编程脉冲Vpgm2可以施加到多个存储单元MC1的字线。编程禁止电压Vinh可以施加到第一单元组G1和第二单元组G2的位线。关于第一单元组G1和第二单元组G2的信息可以存储于页缓冲器(例如,图1所示的150)的数据锁存器(例如,图1所述的151)中。在操作S130,控制逻辑单元(例如,图1所示的120)可以控制页缓冲器150,以对位线施加编程禁止电压Vinh,而不分离地验证第一单元组G1和第二单元组G2的存储单元。将参考图7A详细描述第一编程脉冲Vpgm1和第二编程脉冲Vpgm2,并且将参考图6A和6B详细描述操作S130。
第二编程脉冲Vpgm2的电压电平可以高于第一编程脉冲Vpgm1的电压电平。然而,本公开不限于此,第一编程脉冲Vpgm1和第二编程脉冲Vpgm2可以具有相同的电平,或者第一编程脉冲Vpgm1和第二编程脉冲Vpgm2可以具有不同的脉冲持续时间。因此,第三单元组G3的阈值电压分布向右移,并且第三单元组G3可以包含于目标分布TP1中。因此,可以在第一编程状态P1下编程多个存储单元MC1。然而,本公开并不局限于此。即使在对多个存储单元MC1施加第二编程脉冲Vpgm2后,仍可以在第一编程状态P1下不对多个存储单元MC1中的一些存储单元进行编程。下面将参考图6A等对此做描述。
根据本公开的实施例,当在先前操作中施加第一编程脉冲的情况下对第二单元组G2的存储单元的位线施加编程强制电压时,非易失性存储设备可以对相同位线施加编程禁止电压,使得第二编程脉冲不对第二单元组G2的存储单元进行编程。因此,非易失性存储设备可以在施加第二编程脉冲时防止第二单元组G2的存储单元被过编程,从而减小多个存储单元的阈值电压分布的宽度并且改善编程操作的准确性。
图6A是用于解释根据本公开的实施例的非易失性存储设备的逐步编程方法的图5A的操作S130的曲线图。图6B是示出根据本公开的实施例的非易失性存储设备的编程方法的流程图,并且其解释图5B所示的操作S130。
参考图5A、6A和6B,在操作S131,在对多个存储单元MC1的字线施加第一编程脉冲Vpgm1后,可以基于第三单元组G3的存储单元的阈值电压,将第三单元组G3的存储单元划分为三个组。在一个实施例中,通过基于第一验证电压Vrf1和第三验证电压Vrf3验证存储单元,控制逻辑单元(例如,图1所示的120)可以将第三单元组G3的存储单元划分为第四单元组G4、第五单元组G5以及第六单元组G6。
在一个实施例中,第三验证电压Vrf3的电平可以等于图5A所示的第二验证电压Vrf2的电平,但是本公开并不局限于此。第三验证电压Vrf3的电平可以不同于图5A所示的第二验证电压Vrf2的电平。
在操作S133,编程禁止电压可以施加到第一单元组G1、第二单元组G2和第四单元组G4的存储单元的位线,并且编程强制电压可以施加到第五单元组G5的存储单元的位线。位线编程电压可以施加到第六单元组G6的存储单元的位线。
在操作S135,第二编程脉冲Vpgm2可以施加到多个存储单元MC1的字线,使得可以改变多个存储单元MC1的阈值电压分布。可以对被施加编程禁止电压Vinh的第一单元组G1、第二单元组G2和第四单元组G4的的存储单元不进行编程,而可以对第五单元组G5和第六单元组G6的存储单元进行编程。因此,第五单元组G5和第六单元组G6的阈值电压分布可以向右移。由于电平高于位线编程电压的电平的编程强制电压施加到第五单元组G5的存储单元,所以与第六单元组G6的存储单元的阈值电压分布的移动相比,第五单元组G5的存储单元可以具有较小程度的阈值电压分布的移动。因此,在第一编程状态P1中,可以对多个存储单元MC1进行编程。
图7A和7B是示出根据本公开的实施例的编程方法对字线供给电压的曲线图,并且其是由于解释将图5A和5B的多个存储单元划分为多个单元组的操作的曲线图。在此,水平轴代表时间t,而垂直轴代表字线电压VWL的电平。
参考图7A,在第一编程状态下编程非易失性存储设备的方法可以包含多个编程循环Loop1和Loop2。例如,可以顺序地执行第一编程循环Loop1和第二编程循环Loop2。至少一个编程循环可以在第一编程循环Loop1之前执行,并且至少一个编程循环可以在第二编程循环Loop2之后执行,但是本公开并不局限于此。
由于第一验证电压Vrf1和第二验证电压Vrf2在执行第一编程循环Loop1之前施加到多个存储单元的字线,所以可以执行第一验证操作。第一验证电压Vrf1的电平可以与第一编程状态的验证读电压的电平相同,并且第二验证电压Vrf2的电平可以低于第一验证电压Vrf1的电平。在图7A中,在施加第一验证电压Vrf1之后,施加第二验证电压Vrf2。然而,本公开不限于此,可以在施加第一验证电压Vrf1之前,施加第二验证电压Vrf2。
通过将多个存储单元中每个存储单元的阈值电压与第一验证电压Vrf1和第二验证电压Vrf2进行比较,可以检测到阈值电压高于第一验证电压Vrf1的存储单元来作为第一单元组,并且可以检测到阈值电压低于第二验证电压Vrf2的存储单元来作为第三单元组。可以检测到阈值电压介于第一验证电压Vrf1与第二验证电压Vrf2之间的存储单元来作为第二单元组。
因此,通过对多个存储单元的字线施加第一验证电压Vrf1和第二验证电压Vrf2,可以执行图5B所示的操作S110。关于第一单元组、第二单元组和第三单元组的信息可以存储于页缓冲器(例如,图1所示的150)的数据锁存器(例如,图1所示的151)中。即使是正在执行第一编程循环Loop1之后的编程循环时,仍可以将页缓冲器150划分为第一单元组、第二单元组和第三单元组,并且可以基于存储于数据锁存器151中的检测结果可以对其施加位线电压。
在执行第一编程循环Loop1时,编程禁止电压可以施加到第一单元组的存储单元的位线,编程强制电压可以施加到第二单元组的存储单元的位线,并且位线编程电压可以施加到第三单元组的存储单元的位线。第一编程脉冲Vpgm1可以施加到多个存储单元的字线。尽管图7示出的是仅仅将一个第一编程脉冲Vpgm1应用到第一编程循环Loop1,但是本公开并不局限于此。在第一编程循环Loop1中,多个编程脉冲可以施加到存储单元的字线。因此,在执行第一编程循环Loop1时,行解码器(例如,图1所示的140)可以将第一编程脉冲Vpgm1提供给多个存储单元的字线。当行解码器140提供第一编程脉冲Vpgm1时,页缓冲器150可以将编程禁止电压提供给第一单元组的存储单元的位线,将编程强制电压提供给第二单元组的存储单元的位线,将位线编程电压提供给第三单元组的存储单元的位线。
在第一编程循环Loop1中,在第一编程脉冲Vpgm1施加到多个存储单元的字线后,可以执行第二验证操作,在该第二验证操作中,第一验证电压Vrf1和第三验证电压Vrf3施加到多个存储单元的字线。第三验证电压Vrf3的电平可以与第二验证电压Vrf2的电平相同,但是本公开并不局限于此。在图7A中,在施加第一验证电压Vrf1之后,施加第三验证电压Vrf3。然而,本公开不限于此,可以在施加第一验证电压Vrf1之前,施加第三验证电压Vrf3。在另一个编程循环中,可以不施加第二验证电压Vrf2或者第三验证电压Vrf3,而是可以施加第一验证电压Vrf1。
当第一验证电压Vrf1和第三验证电压Vrf3被施加到多个存储单元的字线时,通过将第三单元组的多个存储单元中的每个存储单元的阈值电压与第一验证电压Vrf1和第三验证电压Vrf3进行比较,可以检测到阈值电压高于第一验证电压Vrf1的存储单元来作为第四单元组,并且可以检测到阈值电压低于第三验证电压Vrf3的存储单元来作为第六单元组。可以检测到阈值电压介于第一验证电压Vrf1与第三验证电压Vrf3之间的存储单元来作为第五单元组。因此,通过将第一验证电压Vrf1和第三验证电压Vrf3施加到多个存储单元的字线,可以执行图6B所示的操作S131。
在第二编程循环Loop2中,编程禁止电压可以施加到第一单元组、第二单元组和第四单元组的存储单元的位线。编程强制电压可以施加到第五单元组的存储单元的位线。位线编程电压可以施加到第六单元组的存储单元的位线。电平高于第一编程脉冲Vpgm1的第二编程脉冲Vpgm2可以施加到多个存储单元的字线。
基于在第一编程循环Loop1之前执行第一验证操作的结果,编程禁止电压可以施加到第一单元组和第二单元组的存储单元的位线,而不考虑第一编程循环Loop1的第二验证操作。基于存储于数据锁存器151中的关于第二单元组的信息,在第二编程循环Loop2中,页缓冲器150可以将编程禁止电压施加到第二单元组的存储单元的位线。
根据本公开的实施例,当在先前操作中施加第一编程脉冲Vpgm1的情况下将编程强制电压施加到第二单元组G2的存储单元的位线时,非易失性存储设备可以将编程禁止电压施加到该位线,并且进一步将第二编程脉冲Vpgm2施加到字线,使得第二单元组的存储单元不被过编程。因此,在施加第二编程脉冲Vpgm2时,非易失性存储设备可以防止第二单元组的存储单元被过编程,从而减小多个存储单元的阈值电压分布的宽度,并且改善编程操作的准确性。
参考图7B,在执行第一编程循环Loop1之前,在将验证电压Vrf施加到多个存储单元的字线时,可以执行第一验证操作。在一个实施例中,对于第一编程状态,验证电压Vrf的电平可以与验证读电压的电平相同。
当验证电压Vrf施加到多个存储单元的字线时,通过开发操作(developingoperation)可以逐步降低多个存储单元的位线的电压电平。位线电压电平的降低程度可根据多个存储单元中的每个存储单元的阈值电压的电平而变化。页缓冲器(例如,图1所示的150)可以在互相不同的第一时间点和第二时间点来感测每个位线的电压电平,并且可以通过将多个存储单元划分为第一单元组、第二单元组和第三单元组来检测多个存储单元。例如,在第一时间点感测为开启-单元(on-cell)的存储单元可以划分到第三单元组,在第二时间点感测为开启-单元的存储单元可以划分到第二单元组,并且在第一时间点感测为关闭-单元(off-cell)的存储单元可以划分到第一单元组。
因此,通过对多个存储单元的字线施加一次验证电压Vrf,可以执行图5B的操作S110。可以将检测结果存储于页缓冲器(例如,图1所示的150)的数据锁存器(例如,图1所示的151)中。即使正在执行第一编程循环Loop1之后的编程循环时,仍可以将页缓冲器150划分为第一单元组、第二单元组和第三单元组,并且基于存储于数据锁存器151中的检测结果,可以对其施加位线电压。
在执行第一编程循环Loop1时,编程禁止电压可以施加到第一单元组的存储单元的位线,编程强制电压可以施加到第二单元组的存储单元的位线,并且位线编程电压可以施加到第三单元组的存储单元的位线。第一编程脉冲Vpgm1可以施加到多个存储单元的字线。尽管图7B示出的是仅仅将一个第一编程脉冲Vpgm1应用到第一编程循环Loop1,但是本公开并不局限于此。在第一编程循环Loop1中,多个编程脉冲可以施加到存储单元的字线。
在第一编程循环Loop1中,在第一编程脉冲Vpgm1被施加到多个存储单元的字线后,可以执行第二验证操作,在该第二验证操作中,验证电压Vrf被施加到多个存储单元的字线。第二验证操作中的验证电压Vrf的电平可以与第一验证操作中的验证电压Vrf的电平相同,但是本公开并不局限于此。
根据验证电压Vrf何时被施加到多个存储单元的字线和页缓冲器150何时感测多个存储单元的位线,可以将第三单元组的存储单元检测作为第四单元组、第五单元组和第六单元组。因此,通过对多个存储单元的字线施加一次验证电压Vrf,可以执行图6B所示的操作S131。
在第二编程循环中,基于在第一编程循环Loop1之前执行第一验证操作的结果,编程禁止电压可以被施加到第一单元组和第二单元组的存储单元的位线,而不考虑第一编程循环Loop1的验证操作。基于存储于数据锁存器151中的关于第二单元组的信息,在第二编程循环Loop2中,页缓冲器150可以将编程禁止电压施加到第二单元组的存储单元的位线。
图8是根据本公开的实施例的非易失性存储设备的编程方法中的在图5B的操作S130之后的操作S140的流程图。
参考图5A、6A和8,在第一编程状态P1,即使在第二编程脉冲Vpgm2施加到多个存储单元MC1后,仍可以不对多个存储单元MC1进行编程。当多个存储单元MC1中基准值的存储单元或更多的存储单元不包含于目标分布TP1中时,可以确定在第一编程状态P1下不对多个存储单元MC1进行编程。例如,当基准值的存储单元或更多的存储单元的阈值电压等于或者低于验证读电压Vv1时,可以将该存储单元看作在第一编程状态P1下未被编程。
在操作S141,页缓冲器(例如,图1所示的150)可以将编程禁止电压施加到第一单元组G1、第二单元组G2、第四单元组G4和第五单元组G5的存储单元的位线。基于阈值电压,第六单元组G6可以划分为三个单元组,并且编程禁止电压、编程强制电压和位线编程电压可以分别施加到位线。在操作S143,第三编程脉冲可以施加到多个存储单元MC1的字线。第三编程脉冲的电平可以高于第二编程脉冲的电平。因此,第六单元组G6的一些存储单元的阈值电压分布可以向右移,并且在第一编程状态P1下,可以对多个存储单元MC1进行编程。尽管该图仅示出第一编程脉冲、第二编程脉冲和第三编程脉冲被施加到多个存储单元MC1的字线的情况,但是根据本公开的非易失性存储设备和编程该非易失性存储设备的方法并不局限于此。可以根据编程多个存储单元的程度来调节施加的编程脉冲的次数。
图9是示出根据本公开的另一个实施例的非易失性存储设备的编程方法的操作的曲线图。
参考图9,非易失性存储设备可以包含多个将在第一编程状态P1中编程的存储单元MC1。
预编程分布OS指当预编程脉冲Vos施加到选择的字线时产生的存储单元MC1的阈值电压的分布。当在状态E下预编程脉冲Vos施加到多个存储单元MC1的字线时,连接到该字线的存储单元的阈值电压分布,即,预编程分布OS可以具有高斯(Gaussian)分布,如图9所示。
通过将预编程脉冲Vos施加到字线,非易失性存储设备可以在预编程状态P0下编程选择的字线的存储单元。基于预验证电压Vpre,存储设备可以计算预编程状态P0下编程的存储单元的,即,针对预编程状态P0的关闭-单元的数量。
预编程状态P0可以是介于擦除状态E与第一编程状态P1之间的状态。预编程状态P0不是对应于多位数据存储于存储单元中的状态。
在一个实施例中,计算的预编程状态中的关闭-单元的数量可以对应于字线的编程速度。例如,关闭-单元的数量越大,则编程速度就可以越快。然而,本发明不限于此,计算的预编程状态中的关闭-单元的数量可以根据不同条件而变化。在一个实施例中,基于预验证电压Vpre,在预编程状态P0下编程的存储单元MC1可以被划到第一单元组G1’,并且在预编程状态P0下未编程的存储单元可以被划分到第二单元组G2’。
为了减小多个存储单元的预编码分布OS的宽度,编程强制电压被施加到第一单元组G1’的位线,位线编程电压被施加到第二单元组G2’的位线,并且第一编程脉冲Vpgm1’可以施加到多个存储单元的字线。因此,第一编程脉冲Vpgm1’使第一单元组G1’和第二单元组G2’的存储单元的阈值电压分布向右移,并且可以减小阈值电压分布的宽度。
第一编程脉冲Vpgm1’施加到多个存储单元MC1的字线后,可以基于第二单元组G2’的存储单元的阈值电压将第二单元组G2’的存储单元划分为三个组。通过基于第一验证电压Vrf1’和第二验证电压Vrf2’来验证存储单元,第二单元组G2’的存储单元可以划分为第一子单元组SG1、第二子单元组SG2和第三子单元组SG3。在一个实施例中,第一验证电压Vrf1’可以与第一编程状态P1下的验证读电压相同,以用于验证多个存储单元MC1是否在第一编程状态P1下被正常编程。在一个实施例中,在施加了第一编程脉冲Vpgm1’后,第一单元组G1’的存储单元的阈值电压可以等于或者高于第一验证电压Vrf1’。然而,本公开并不局限于此。
编程禁止电压可以施加到第一单元组G1’和第一子单元组SG1的存储单元的位线,编程强制电压可以施加到第二子单元组SG2的存储单元的位线,并且位线编程电压可以施加到第三子单元组SG3的存储单元的位线。第二编程脉冲Vpgm2’可以施加到多个存储单元MC1的字线。
根据本公开的实施例,不考虑验证操作,非易失性存储设备可以将编程禁止电压施加到第一单元组G1’中在先前操作中编程强制电压被施加到位线的存储单元的位线,以防止第一单元组G1’的存储单元因为第二编程脉冲Vpgm2’被编程。因此,可以防止第一单元组G1’的存储单元在第一编程状态P1之外被过编程。
当施加第二编程脉冲Vpgm2’时,第二子单元组SG2和第三子单元组SG3的存储单元的分布向右移,并且可以在第一编程状态P1下对多个存储单元MC1进行编程。
图10是示出根据本公开的实施例的非易失性存储设备的编程方法的流程图。
参考图1和10,在操作S210,第一编程脉冲可以施加到将在第一编程状态下被编程的多个存储单元的字线。在多个存储单元中的至少一些中,编程强制电压可以施加到位线,而第一编程脉冲可以施加到字线。该至少一些存储单元可以是包含于图5A的第二单元组G2中的存储单元,也可以是包含于图9所示第一单元组G1’中的存储单元。关于至少一些存储单元的信息可以存储于数据锁存器151中。
在操作S220,基于存储于数据锁存器151中的关于至少一些存储单元的信息,控制逻辑单元120可以确认多个存储单元中的哪个存储单元是在操作S210对位线施加编程强制电压的存储单元。当对位线施加编程强制电压的存储单元被确认时,控制逻辑单元120可以控制页缓冲器150,使得在操作S251,编程禁止电压施加到该位线。因此,能够防止施加编程强制电压的存储单元因为第二编程脉冲而被编程。
在一个实施例中,如图7A所示,控制逻辑单元120可以控制电压发生器130和行解码器140,以将多个存储单元划分为三个单元组,并且可以施加第一和第二验证电压。第一验证电压的电平可以与第一编程状态的验证读电压的电平相同,并且第二验证电压的电平可以低于第一验证电压的电平。
在另一个实施例中,如图7B所示,控制逻辑单元120可以控制电压发生器130和行解码器140,以施加单一阈值电压,并且通过改变感测页缓冲器150中的位线电压,可以进一步将多个存储单元划分为三个单元组。
当不存在在操作S210中位线被施加编程强制电压的存储单元时,在操作S230,控制逻辑单元120可以将第一验证电压和第二验证电压与多个存储单元的阈值电压进行比较,以确认多个存储单元的阈值电压是否高于第一验证电压。由于阈值电压高于第一验证电压的存储单元已经在第一编程状态下被编程,所以在操作S251,编程禁止电压施加到位线,从而防止因为第二编程脉冲而编程。
在操作S240,可以确认低于第一验证电压的存储单元的阈值电压高于第二验证电压。在操作S253,在存储单元具有高于第二验证电压的阈值电压的情况下,编程强制电压可以施加到位线,以防止该存储单元因为第二编程脉冲而被过编程。
在操作S255,在存储单元具有低于第二验证电压的阈值电压的情况下,可以施加位线编程电压,以在第一编程状态下编程该存储单元。
根据本公开的实施例,当在先前操作中施加编程脉冲时,非易失性存储设备接着将编程禁止电压施加到位线被施加编程强制电压的存储单元的位线,而不考虑验证操作,从而防止被后续编程操作过编程。可以减小多个存储单元的阈值电压分布的宽度,并且可以改善编程操作的准确性。
图11是示出包含根据本公开的实施例的非易失性存储设备的计算系统1000的方框图。
参考图11,计算系统1000可以包含存储系统1100、处理器1200、RAM1300(随机存取存储器)、输入/输出设备1400、以及电源1500。尽管图11未示出,但是计算系统1000可以进一步包含端口,该端口能够与视频卡、音频卡、存储卡、通用串行总线设备或其他电子设备通信。计算系统1000可以被实现为个人计算机(PC)或者诸如膝上型计算机、移动电话、个人数字助理(PDA)和摄像头的便携式电子设备。
处理器1200可以执行特定运算或任务。根据实施例,处理器1200可以是微处理器或中央处理单元(CPU)。通过诸如地址总线、控制总线和数据总线的总线1600,处理器1200可以与RAM 1300、输入/输出设备1400和存储系统1100通信。处理器1200还可以连接到扩展总线,诸如,外围部件互连(PCI)总线。
存储系统1100可以包含利用图1至10所示实施例实现的非易失性存储设备1110。根据实施例,可以改善在特定编程状态下编程非易失性存储设备1110的操作的准确性。
RAM 1300可以存储计算系统1000的操作所需的数据。例如,RAM 1300可以被实施为动态随机存取存储器(DRAM)、移动DRAM、静态RAM(SRAM)、相变RAM(PRAM)、铁电RAM(FRAM)、电阻性RAM(RRAM)和/或磁性RAM(MRAM)。
输入/输出设备1400可以包含:输入单元,诸如,键盘、小键盘、鼠标等;以及输出单元,诸如,打印机、显示器等。电源1500可以供给计算系统1000运行所需的工作电压。
尽管参考本公开的示例性实施例具体示出并且描述了本公开中描述的发明原理,但是应当明白可以在形式和细节方面对其进行各种变更,而不脱离下面的权利要求的精神和范围。
Claims (20)
1.一种包含多个存储单元的非易失性存储设备的编程方法,所述多个存储单元包含第一存储单元和第二存储单元,所述第二存储单元具有低于所述第一存储单元的阈值电压的阈值电压,所述方法包括:
执行第一编程,以将编程强制电压施加到每个所述第一存储单元的位线;
执行所述第一编程之后,基于所述第二存储单元的阈值电压,将所述第二存储单元划分为第一单元组、第二单元组和第三单元组;并且
执行第二编程,以将编程禁止电压施加到每个所述第一存储单元的所述位线和所述第一单元组的每个存储单元的位线,
其中所述编程强制电压的电平低于所述编程禁止电压的电平。
2.根据权利要求1所述的方法,其中所述执行所述第一编程包括:
基于所述多个存储单元的阈值电压,将所述多个存储单元划分为所述第一存储单元和所述第二存储单元;并且
将位线编程电压施加到每个所述第二存储单元的位线。
3.根据权利要求1所述的方法,其中所述多个存储单元进一步包括具有高于所述第二存储单元的阈值电压的阈值电压的第三存储单元,并且
所述执行所述第一编程包括:
基于所述多个存储单元的阈值电压,将所述多个存储单元划分为所述第一存储单元、所述第二存储单元和所述第三存储单元;并且
将所述编程禁止电压施加到所述第三存储单元的位线。
4.根据权利要求3所述的方法,其中所述执行所述第二编程包括:
将所述编程禁止电压施加到每个所述第三存储单元的位线。
5.根据权利要求1所述的方法,其中所述第一编程包括将第一编程脉冲施加到所述多个存储单元的字线,
所述第二编程包括将第二编程脉冲施加到所述多个存储单元的字线,并且
所述第二编程脉冲的电平高于所述第一编程脉冲的电平。
6.根据权利要求1所述的方法,其中所述执行所述第二编程包括:
将所述编程强制电压施加到所述第二单元组的每个存储单元的位线。
7.一种包含多个存储单元的非易失性存储设备的编程方法,根据阈值电压的电平,将所述多个存储单元划分为第一单元组、第二单元组和第三单元组,所述方法包括:
将编程禁止电压施加到所述第一单元组的每个存储单元的位线;
将具有低于所述编程禁止电压的电平的编程强制电压施加到所述第二单元组的每个存储单元的位线;
通过将第一编程脉冲施加到所述多个存储单元的字线,执行第一编程;并且
通过将编程禁止电压施加到所述第一单元组和所述第二单元组的存储单元的位线并且然后将第二编程脉冲施加到所述多个存储单元的字线,执行第二编程。
8.根据权利要求7所述的方法,其中所述第一单元组的阈值电压高于所述第二单元组的阈值电压,并且所述第二单元组的所述阈值电压高于所述第三单元组的阈值电压。
9.根据权利要求7所述的方法,其中所述执行所述第二编程包括:
所述第一编程之后,基于所述第三单元组的存储单元的阈值电压,将所述第三单元组的存储单元划分为第四单元组、第五单元组和第六单元组;
将所述编程禁止电压施加到所述第一单元组、所述第二单元组和所述第四单元组的每个存储单元的位线;并且
将所述编程强制电压施加到所述第五单元组的每个存储单元的位线。
10.根据权利要求9所述的方法,进一步包括:
将所述编程禁止电压施加到所述第一单元组、所述第二单元组和所述第四单元组的每个存储单元的位线以及所述第五单元组的每个存储单元的位线;并且
执行第三编程,以将第三编程脉冲施加到所述多个存储单元的字线。
11.根据权利要求10所述的方法,其中所述第三编程脉冲的电平高于所述第二编程脉冲的电平,并且所述第二编程脉冲的电平高于所述第一编程脉冲的电平。
12.根据权利要求7所述的方法,进一步包括:
将验证电压施加到所述多个存储单元的字线,以将所述多个存储单元划分为所述第一单元组、第二单元组和第三单元组。
13.根据权利要求12所述的方法,其中所述施加所述验证电压包括:
将具有不同电压电平的第一验证电压和第二验证电压施加到所述多个存储单元的字线。
14.根据权利要求13所述的方法,其中对于所述多个存储单元的目标编程状态,所述第一验证电压的电平等于验证读电压的电平。
15.一种非易失性存储设备,包括:
单元阵列,所述单元阵列包含多个存储单元,所述多个存储单元包含第一存储单元和第二存储单元;
行解码器,所述行解码器配置成在第一编程循环中将第一编程脉冲提供给所述多个存储单元的字线而在第二编程循环中将第二编程脉冲提供给所述多个存储单元的字线;
页缓冲器,所述页缓冲器配置成将编程禁止电压和具有低于所述编程禁止电压的电平的电平的编程强制电压提供给所述多个存储单元的位线;以及控制逻辑单元,所述控制逻辑单元配置成控制所述行解码器和所述页缓冲器,使得顺序地执行所述第一编程循环和所述第二编程循环,
其中在所述第一编程循环中,将所述编程强制电压施加到每个所述第一存储单元的位线,并且
所述控制逻辑单元配置成控制所述页缓冲器,使得在所述第二编程循环中,将所述编程禁止电压施加到每个所述第一存储单元的所述位线。
16.根据权利要求15所述的非易失性存储设备,其中所述页缓冲器包含数据锁存器,并且
所述数据锁存器存储关于所述第一存储单元的信息。
17.根据权利要求15所述的非易失性存储设备,其中所述控制逻辑单元配置成控制所述行解码器,使得在所述第二编程循环中,验证电压被施加到具有低于所述第一存储单元的阈值电压的阈值电压的所述第二存储单元。
18.根据权利要求17所述的非易失性存储设备,其中所述页缓冲器配置成根据在第一时间点和第二时间点的每个处施加到所述第二存储单元的所述字线的验证电压,感测每个所述第二存储单元的位线电压的变化,并且基于所述页缓冲器的感测结果,将所述第二存储单元划分为第一单元组、第二单元组和第三单元组。
19.根据权利要求17所述的非易失性存储设备,其中所述控制逻辑单元配置成控制所述行解码器,以在所述第一编程循环中将第一验证电压和第二验证电压顺序地施加到所述第二存储单元的字线,
所述页缓冲器配置成根据施加到所述第二存储单元的字线的所述第一验证电压和所述第二验证电压的每个来感测所述第二存储单元的位线电压的变化,并且
基于所述页缓冲器的感测结果,所述第二存储单元被划分为第一单元组、第二单元组和第三单元组。
20.根据权利要求17所述的非易失性存储设备,其中所述第一存储单元的阈值电压的电平高于所述第二存储单元的阈值电压的电平。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0158571 | 2017-11-24 | ||
KR1020170158571A KR102504295B1 (ko) | 2017-11-24 | 2017-11-24 | 비휘발성 메모리 장치 및 이의 프로그램 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109841254A true CN109841254A (zh) | 2019-06-04 |
CN109841254B CN109841254B (zh) | 2024-04-05 |
Family
ID=66632626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811406794.6A Active CN109841254B (zh) | 2017-11-24 | 2018-11-23 | 非易失性存储设备及其编程方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10748632B2 (zh) |
KR (1) | KR102504295B1 (zh) |
CN (1) | CN109841254B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10056141B2 (en) * | 2014-07-30 | 2018-08-21 | Hewlett Packard Enterprise Development Lp | Current behavior of elements |
US11081198B2 (en) | 2019-05-16 | 2021-08-03 | Sandisk Technologies Llc | Non-volatile memory with countermeasure for over programming |
US10839928B1 (en) | 2019-05-16 | 2020-11-17 | Sandisk Technologies Llc | Non-volatile memory with countermeasure for over programming |
EP3909049A4 (en) * | 2019-05-17 | 2022-08-24 | Yangtze Memory Technologies Co., Ltd. | DATA BUFFERING OPERATION OF A THREE-DIMENSIONAL STORAGE DEVICE WITH STATIC RAM ACCESS MEMORY |
CN111727477A (zh) * | 2020-05-06 | 2020-09-29 | 长江存储科技有限责任公司 | 3d nand闪存的控制方法和控制器 |
KR20220065296A (ko) * | 2020-11-13 | 2022-05-20 | 삼성전자주식회사 | 비휘발성 메모리 장치의 블록 내구성 측정 방법 및 이를 이용한 스토리지 장치의 웨어 레벨링 방법 |
KR20220121465A (ko) | 2021-02-25 | 2022-09-01 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150078093A1 (en) * | 2013-09-13 | 2015-03-19 | Wookghee Hahn | Nonvolatile memory device and program method |
US20160049200A1 (en) * | 2014-08-18 | 2016-02-18 | SK Hynix Inc. | Semiconductor memory device and operating method thereof |
CN105390157A (zh) * | 2014-08-25 | 2016-03-09 | 三星电子株式会社 | 非易失性存储装置和编程验证方法 |
CN107017028A (zh) * | 2015-12-18 | 2017-08-04 | 三星电子株式会社 | 非易失性存储器设备以及对其进行编程的方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3977799B2 (ja) | 2003-12-09 | 2007-09-19 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7643348B2 (en) | 2007-04-10 | 2010-01-05 | Sandisk Corporation | Predictive programming in non-volatile memory |
KR101322378B1 (ko) * | 2007-07-09 | 2013-10-30 | 삼성전자주식회사 | 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법 |
KR100891405B1 (ko) * | 2007-09-27 | 2009-04-02 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치 및 그 동작 방법 |
KR101412974B1 (ko) * | 2008-05-28 | 2014-06-30 | 삼성전자주식회사 | 메모리 장치 및 메모리 프로그래밍 방법 |
US7800956B2 (en) | 2008-06-27 | 2010-09-21 | Sandisk Corporation | Programming algorithm to reduce disturb with minimal extra time penalty |
US8174895B2 (en) | 2009-12-15 | 2012-05-08 | Sandisk Technologies Inc. | Programming non-volatile storage with fast bit detection and verify skip |
KR101633018B1 (ko) | 2009-12-28 | 2016-06-24 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
KR20110131648A (ko) | 2010-05-31 | 2011-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법 |
KR101212745B1 (ko) | 2010-09-30 | 2012-12-14 | 에스케이하이닉스 주식회사 | 플래시 메모리 장치 및 프로그램 검증 방법 |
KR101939235B1 (ko) * | 2011-08-03 | 2019-01-17 | 삼성전자 주식회사 | 비휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR20130016619A (ko) * | 2011-08-08 | 2013-02-18 | 삼성전자주식회사 | 불휘발성 메모리 장치의 프로그램 방법 |
KR102007007B1 (ko) * | 2012-12-10 | 2019-08-02 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
KR102137075B1 (ko) * | 2013-09-10 | 2020-07-23 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 프로그램 방법 |
US9165659B1 (en) | 2014-05-08 | 2015-10-20 | Sandisk Technologies Inc. | Efficient reprogramming method for tightening a threshold voltage distribution in a memory device |
US9953703B2 (en) * | 2015-10-16 | 2018-04-24 | Samsung Electronics Co., Ltd. | Programming method of non volatile memory device |
US10795607B2 (en) * | 2017-08-17 | 2020-10-06 | SK Hynix Inc. | Memory device, a memory controller, a storage device including the memory device and the memory controller and operating method thereof |
-
2017
- 2017-11-24 KR KR1020170158571A patent/KR102504295B1/ko active IP Right Grant
-
2018
- 2018-11-21 US US16/198,013 patent/US10748632B2/en active Active
- 2018-11-23 CN CN201811406794.6A patent/CN109841254B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150078093A1 (en) * | 2013-09-13 | 2015-03-19 | Wookghee Hahn | Nonvolatile memory device and program method |
US20160049200A1 (en) * | 2014-08-18 | 2016-02-18 | SK Hynix Inc. | Semiconductor memory device and operating method thereof |
CN105390157A (zh) * | 2014-08-25 | 2016-03-09 | 三星电子株式会社 | 非易失性存储装置和编程验证方法 |
CN107017028A (zh) * | 2015-12-18 | 2017-08-04 | 三星电子株式会社 | 非易失性存储器设备以及对其进行编程的方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190060409A (ko) | 2019-06-03 |
US20190164618A1 (en) | 2019-05-30 |
US10748632B2 (en) | 2020-08-18 |
KR102504295B1 (ko) | 2023-02-27 |
CN109841254B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108364667B (zh) | 非易失性存储器器件及其编程方法 | |
CN109841254A (zh) | 非易失性存储设备及其编程方法 | |
EP3579236B1 (en) | Non-volatile memory device and erasing method of the same | |
US10573378B2 (en) | Methods of programming memory devices | |
CN103219040B (zh) | 非易失性存储器件和存储器系统及其编程方法和控制方法 | |
US11158381B2 (en) | Non-volatile memory device and operating method thereof | |
KR102175039B1 (ko) | 불휘발성 메모리 장치의 데이터 기입 방법 | |
CN109545260B (zh) | 非易失性存储器装置和对非易失性存储器装置编程的方法 | |
CN108305660A (zh) | 用于以优化读取电压读取数据的非易失性存储器设备 | |
KR20230065217A (ko) | 비휘발성 메모리 장치 및 그것의 소거 방법 | |
CN109559776A (zh) | 非易失性存储器装置及其读出方法 | |
US11551781B1 (en) | Programming memory cells with concurrent storage of multi-level data as single-level data for power loss protection | |
CN107958680A (zh) | 存储器装置的边缘字线管理方法及操作存储器装置的方法 | |
CN103177765A (zh) | 半导体存储器件及其操作方法 | |
CN109493895A (zh) | 半导体存储器装置及其操作方法 | |
CN111724852A (zh) | 非易失性存储器件及其擦除方法 | |
US11594295B2 (en) | Nonvolatile memory device and method of operating the same | |
CN114582410A (zh) | 非易失性存储器设备及对其编程的方法 | |
KR102361642B1 (ko) | 비휘발성 메모리 장치의 프로그램 방법 및 동작 방법 | |
US11625172B2 (en) | Programming memory cells with concurrent redundant storage of data for power loss protection | |
US11335419B1 (en) | Erase technique for checking integrity of non-data word lines in memory device and corresponding firmware | |
US11929125B2 (en) | Window program verify to reduce data latch usage in memory device | |
US20220334902A1 (en) | State-by-state program loop delta detection mode for detecting a defective memory array | |
CN117079682A (zh) | 被配置为减少验证时间的存储器装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |