CN106067322A - 利用两阶段编程的非易失性存储器 - Google Patents
利用两阶段编程的非易失性存储器 Download PDFInfo
- Publication number
- CN106067322A CN106067322A CN201610256755.7A CN201610256755A CN106067322A CN 106067322 A CN106067322 A CN 106067322A CN 201610256755 A CN201610256755 A CN 201610256755A CN 106067322 A CN106067322 A CN 106067322A
- Authority
- CN
- China
- Prior art keywords
- memory cell
- programming
- voltage
- subset
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 696
- 238000000034 method Methods 0.000 claims abstract description 119
- 230000008569 process Effects 0.000 claims abstract description 93
- 238000012795 verification Methods 0.000 claims abstract description 69
- 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 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000003860 storage Methods 0.000 claims description 84
- 238000012360 testing method Methods 0.000 claims description 9
- 238000000151 deposition Methods 0.000 claims description 8
- 230000005611 electricity Effects 0.000 claims description 8
- 210000003462 vein Anatomy 0.000 claims description 5
- 210000001367 artery Anatomy 0.000 claims description 4
- 238000004080 punching Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 2
- 239000003990 capacitor Substances 0.000 description 47
- 238000010276 construction Methods 0.000 description 22
- 230000000875 corresponding effect Effects 0.000 description 22
- 238000009826 distribution Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 15
- 230000006399 behavior Effects 0.000 description 14
- 239000000758 substrate Substances 0.000 description 14
- 239000000463 material Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 101000578349 Homo sapiens Nucleolar MIF4G domain-containing protein 1 Proteins 0.000 description 8
- 102100027969 Nucleolar MIF4G domain-containing protein 1 Human genes 0.000 description 8
- 238000007689 inspection Methods 0.000 description 7
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 229910052751 metal Inorganic materials 0.000 description 5
- 239000002184 metal Substances 0.000 description 5
- 101100186130 Arabidopsis thaliana NAC052 gene Proteins 0.000 description 4
- 101100301219 Arabidopsis thaliana RDR6 gene Proteins 0.000 description 4
- 101100529509 Arabidopsis thaliana RECQL4A gene Proteins 0.000 description 4
- 101100203168 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SGS1 gene Proteins 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000005294 ferromagnetic effect Effects 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 229910052681 coesite Inorganic materials 0.000 description 3
- 229910052906 cristobalite Inorganic materials 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 229910052738 indium Inorganic materials 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000005415 magnetization Effects 0.000 description 3
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 3
- 239000000377 silicon dioxide Substances 0.000 description 3
- 229910052682 stishovite Inorganic materials 0.000 description 3
- 229910052905 tridymite Inorganic materials 0.000 description 3
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 3
- 229910052721 tungsten Inorganic materials 0.000 description 3
- 239000010937 tungsten Substances 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- PNEYBMLMFCGWSK-UHFFFAOYSA-N aluminium oxide Inorganic materials [O-2].[O-2].[O-2].[Al+3].[Al+3] PNEYBMLMFCGWSK-UHFFFAOYSA-N 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 230000023402 cell communication Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 150000002500 ions Chemical class 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- -1 SGD2 Proteins 0.000 description 1
- 229910017629 Sb2Te3 Inorganic materials 0.000 description 1
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000004411 aluminium Substances 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 210000000080 chela (arthropods) Anatomy 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 239000003792 electrolyte Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical group [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000000631 nonopiate Effects 0.000 description 1
- 230000003647 oxidation Effects 0.000 description 1
- 238000007254 oxidation reaction Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229910021332 silicide Inorganic materials 0.000 description 1
- FVBUAEGBCNSCDD-UHFFFAOYSA-N silicide(4-) Chemical compound [Si-4] FVBUAEGBCNSCDD-UHFFFAOYSA-N 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 235000012239 silicon dioxide Nutrition 0.000 description 1
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 239000007784 solid electrolyte Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000003949 trap density measurement Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及利用两阶段编程的非易失性存储器。对非易失性存储器进行编程包括作为粗/精编程过程的部分的将一系列编程脉冲施加于存储器单元。在编程脉冲之间,响应于施加在共同字线上的单个基准电压,针对目标数据状态的粗阶段验证水平验证处于粗阶段的存储器单元,并且针对目标数据状态的精阶段验证水平验证处于精阶段的存储器单元。对于已被验证为已经达到粗阶段验证水平的处于粗阶段的存储器单元,将针对下一编程脉冲暂时禁止存储器单元编程并且该存储器单元被切换至精阶段。对于已被验证为已经达到精阶段验证水平的处于精阶段的存储器单元,将禁止存储器单元进一步编程。
Description
优先权声明
本申请要求于2015年4月22日提交的题为“ProgrammingNon-Volatile Memory(对非易失性存储器编程)”的美国临时申请62/150,972以及于2015年8月31日提交的题为“Non-Volatile MemoryWith Two Phased Programming(利用两阶段编程的非易失性存储器)”的美国专利申请No.14/841,182的优先权。
背景技术
半导体存储器被广泛应用于各种电子装置,诸如蜂窝电话、数码摄像机、个人数字助理、医疗电子装置、移动计算装置以及非移动计算装置。半导体存储器可以包括非易失性存储器或易失性存储器。非易失性存储器使得即使在非易失性存储器未连接至电源(例如,电池)时也能够存储和保持信息。非易失性存储器的示例包括闪速存储器(例如,NAND型闪速存储器和NOR型闪速存储器)以及电可擦除可编程只读存储器(EEPROM)。
电荷俘获材料可用于非易失性存储器装置以存储可以与数据状态相关的电荷。可以以三维(3D)堆叠式存储器结构竖直地布置电荷俘获材料。3D存储器结构的一个示例是位成本可扩展(BiCS)架构,其包括交替的导电层和介电层的堆叠。在堆叠中形成存储器孔(memory hole)并且然后通过用包括电荷俘获层的材料填充存储器孔来形成NAND串,以产生存储器单元的竖直列。由导电层提供存储器单元的控制栅极。由保持在电荷俘获材料中的电荷量来控制存储器的阈值电压(Vt)。也就是说,由保持在电荷俘获材料中的电荷水平来控制在存储器单元导通以允许其源极与漏极之间导电之前必须施加于控制栅极的电压的最小量。如此,阈值电压用于指示被存储器单元存储的数据。
一些非易失性存储器装置用于存储两个范围的电荷,并且因此可以在对应于以下两个数据状态的两个阈值电压范围之间对存储器单元进行编程/擦除:擦除状态(例如,数据“1”)和编程状态(例如,数据“0”)。这样的装置称为二进制装置或双态装置。
通过识别多个不同的阈值电压允许范围来实现多状态(或者多层级)非易失性存储器。每个不同的阈值电压范围对应于为一组数据位分配预定值的数据状态。编程到存储器单元中的数据与阈值电压范围之间的具体关系取决于存储器单元采用的数据编码方案。例如,美国专利No.6,222,762和美国专利申请公开No.2004/0255090两者描述了用于多状态闪速存储器单元的各种数据编码方案。虽然多状态非易失性存储器能够比二进制非易失性存储器存储更多的数据,但是对于多状态非易失性存储器来说,编程和对编程进行验证的过程会花费更长时间。
发明内容
根据一个实施例,提供一种设备,其包括:多个存储器单元;以及与存储器单元通信的一个或更多个控制电路,一个或更多个控制电路被配置成将一系列编程轮次应用于存储器单元,一个或更多个控制电路被配置成在编程轮次之间针对目标数据状态的第一验证水平感测存储器单元的第一子集,并且针对目标数据状态的第二验证水平感测存储器单元的第二子集,对于被感测成已经达到第一验证水平的存储器单元,一个或更多个控制电路被配置成针对后续编程轮次暂时禁止编程并且将存储器单元添加到第二子集,对于被感测成已经达到第二验证水平的存储器单元,一个或更多个控制电路被配置成禁止进一步编程。
根据另一个实施例,提供一种设备,其包括:多个存储器单元;与存储器单元通信的编程电路,编程电路被配置成将一系列编程脉冲施加于存储器单元;验证电路,其被配置成在编程脉冲之间检测阈值电压满足第一电压水平的存储器单元的第一子集以及阈值电压满足第二电压水平的存储器单元的第二子集;以及锁定电路,其被配置成在一系列编程脉冲中的后续编程脉冲期间停止存储器单元的第二子集的编程,并且在一系列编程脉冲中的至少一个后续编程脉冲期间停止存储器单元的第一子集的编程。
根据又一个实施例,提供一种方法,包括:(a)将编程脉冲施加于第一存储器单元;(b)针对目标数据状态的第一验证水平验证第一存储器单元;(c)如果第一存储器单元尚未达到目标数据状态的第一验证水平,则重复(a)-(c);(d)如果第一存储器单元达到了目标数据状态的第一验证水平,则针对下一编程脉冲禁止第一存储器单元编程;(e)针对目标数据状态的第二验证水平验证第一存储器单元;(f)如果第一存储器单元达到了目标数据状态的第二验证水平,则禁止第一存储器单元编程;以及(g)如果第一存储器单元尚未达到目标数据状态的第二验证水平,则在不禁止第一存储器单元编程的情况下通过位线电压将下一编程脉冲施加于第一存储器单元,并且重复(e)-(g)。
根据另再一个实施例,提供一种设备,其包括:以三维存储器结构布置的多个存储器单元;以及用于针对存储器单元执行两阶段编程的装置,为了验证编程,通过以下方式来配置用于执行两阶段编程的装置:将基准电压施加于存储器单元,以及通过将不同的位线电压施加于连接至不同存储器单元的不同位线,来响应于基准电压感测多个存储器单元中的不同存储器单元是否已经达到数据状态的不同验证水平。
附图说明
在不同的附图中,具有相似附图标记的元件指代共同部件。
图1是3D堆叠式非易失性存储器装置的透视图。
图2是诸如图1的3D堆叠式非易失性存储器装置100的存储器装置的功能框图。
图3A是描绘用于对控制器中的一个或更多个处理器进行编程的软件模块的框图。
图3B是描绘用于对存储器晶片(die)上的状态机或者其它处理器进行编程的软件模块的框图。
图4A是具有两个平面的存储器结构的框图。
图4B描绘了存储器单元块的部分的顶视图。
图4C描绘了存储器单元块的部分的截面图。
图4D描绘了选择栅极层和字线层的视图。
图4E是存储器单元的竖直列的截面图。
图5是感测放大器的示意图。
图6是描述在图5的感测放大器中描绘的某些信号的行为的时序图。
图7是描述图5的电路的操作的一个实施方式的流程图。
图8A和图8B描绘了阈值电压分布。
图9A、9B和9C描绘了阈值电压分布。
图10A、10B、11A和11B是描述粗/精编程的一个实施方式的曲线图。
图12A描绘了实现所提出的技术的存储器单元的建议操作顺序。
图12B是描述使用诸如粗/精编程的多阶段编程方法进行编程的过程的一个实施方式的流程图。
图13描绘了在编程过程期间施加于字线的波形。
图14是描述用于验证编程的过程的一个实施方式的流程图。
图15是描述用于感测的过程的一个实施方式的流程图。
图16是描述用于验证编程的过程的一个实施方式的流程图。
图17是描述用于感测的过程的一个实施方式的流程图。
图18是描述用于编程的过程的一个实施方式的流程图。
图19是描述在验证期间执行的过程的一个实施方式的流程图。
图20示出了示例波形并且说明了两个示例存储器单元的行为。
图21A至图21D是说明示例存储器单元的行为的表。
具体实施方式
通常,在多状态非易失性存储器中实现越多的数据状态,验证编程所花费的时间就越长。此外,粗/精编程方法的使用提供了更准确的编程,但也能增加验证所需的时间。因此,公开了用于减小在多状态非易失性存储器的粗/精编程期间进行验证所需的时间的技术。
对非易失性存储器进行编程包括将一系列编程轮次应用于存储器单元以作为粗/精编程过程的部分。在编程轮次之间,响应于施加在共同字线上的单个基准电压,针对目标数据状态的粗阶段验证水平感测处于粗阶段的存储器单元并且针对目标数据状态的精阶段验证水平感测处于精阶段的存储器单元。对于已被验证为已经达到粗阶段验证水平的处于粗阶段的存储器单元,将针对随后的编程轮次暂时禁止存储器单元编程并且该存储器单元被切换至精阶段。对于已被验证为已经达到精阶段验证水平的处于精阶段的存储器单元,将禁止该存储器单元进一步编程。
下面的论述提供能够实现所提出的技术的存储器装置的合适结构的一个示例的细节。
图1是三维(3D)堆叠式非易失性存储器装置的透视图。存储器装置100包括衬底101。在衬底上以及上方有存储器单元(非易失性存储元件)的示例块BLK0和BLK1。衬底101上也有具有供这些块使用的支持电路的外围区104。衬底101也可以在这些块下方承载电路,以及被沿导电路径图案化以传送电路的信号的一个或更多个下金属层。这些块形成在存储器装置的中间区域102中。在存储器装置的上部区域103中,一个或更多个上金属层被沿导电路径图案化以传送电路的信号。每个块包括存储器单元的堆叠区,其中堆叠中交替的层级表示字线。虽然以两个块为例进行描述,但是可以使用沿x方向和/或y方向延伸的额外的块。
在一个示例实现中,平面在x方向上的长度表示用于字线的信号路径延伸的方向(字线方向或SGD线方向),而平面在y方向上的宽度表示用于位线的信号路径延伸的方向(位线方向)。z方向表示存储器装置的高度。
图2是诸如图1的3D堆叠式非易失性存储器装置100的示例存储器装置的功能框图。在图2中描绘的部件是电路。存储器装置100包括一个或更多个存储器晶片108。每个存储器晶片108包括存储器单元(诸如,例如存储器单元的3D阵列)的三维存储器结构126、控制电路110和读/写电路128。在其它实施方式中,可以使用存储器单元的二维阵列。存储器结构126能够经由行解码器124通过字线寻址以及经由列解码器132通过位线寻址。读/写电路128包括多个感测块SB1、SB2、…、SBp(感测电路)并且允许并行地对存储器单元的页进行读取或编程。在一些系统中,控制器122与一个或更多个存储器晶片108被包括在同一存储器装置100(例如,可移除存储卡)中。然而,在其它系统中,控制器可以与存储器晶片108分离。在一些实施方式中,一个控制器122将与多个存储器晶片108通信。在其它实施方式中,每个存储器晶片108具有它自己的控制器。命令和数据经由数据总线120在主机140与控制器122之间传输以及经由线路118在控制器122与一个或更多个存储器晶片108之间传输。在一个实施方式中,存储器晶片108包括连接至线路118的一组输入和/或输出(I/O)管脚。
存储器结构126可以包括一个或更多个存储器单元阵列,包括3D阵列。存储器结构可以包括整体式三维存储器结构,在该结构中,在诸如晶圆(wafer)的单个衬底上方(而不是单个衬底中)形成多个存储器层级,而没有中介衬底。存储器结构可以包括任何类型的非易失性存储器,该非易失性存储器整体地形成在具有布置在硅衬底上方的有源区的存储器单元阵列的一个或更多个物理层级中。存储器结构可以为具有与存储器单元的操作相关的电路的非易失性存储器装置,而不管相关电路是在衬底上方还是在衬底内。
控制电路110与读/写电路128协作以对存储器结构126执行存储器操作(例如,擦除、编程、读取以及其它),并且控制电路110包括状态机112、片上地址解码器114以及电力控制模块116。状态机112提供对存储器操作的芯片级控制。可以提供代码和参数存储113以用于存储操作参数和软件。在一个实施方式中,状态机112能够由存储在代码和参数存储113中的软件编程。在其它实施方式中,状态机112不使用软件并且完全以硬件(例如,电子电路)来实现。
片上地址解码器114提供由主机140或存储器控制器122使用的地址与由解码器124和132使用的硬件地址之间的地址接口。电力控制模块116控制在存储器操作期间供给到字线和位线的电力和电压。电力控制模块116可以包括用于3D构造中的字线层(在下文论述)的驱动器、选择晶体管(例如,下文论述的SGS晶体管和SGD晶体管)以及源极线。电力控制模块116可以包括用于产生电压的电荷泵。感测块包括位线驱动器。SGS晶体管是NAND串的源极端处的选择栅极晶体管,并且SGD晶体管是NAND串的漏极端处的选择栅极晶体管。
控制电路110、状态机112、解码器114/124/132、代码和参数存储113、电力控制模块116、感测块SB1,SB2,…,SBp、读/写电路128和控制器122的任意一个或任意组合可被认为是执行本文所述的功能的控制电路。
(片上或片外)控制器122可以包括处理器122c和存储装置(存储器),诸如ROM 122a和RAM 122b。存储装置包括代码如一组指令,并且处理器122c能够进行操作以执行该组指令来提供本文所述的功能。可替选地或另外地,处理器122c能够访问来自存储器结构中的存储装置,诸如连接至一个或更多个字线的存储器单元的保留区的代码。
存储器结构126中的多个存储器元件可以被配置成使得它们串联连接或者使得每个元件能够被单独访问。通过非限制性示例,NAND构造的闪速存储器装置(NAND闪速存储器)通常包含串联连接的存储器元件。NAND串是一组串联连接的存储器单元和选择栅极晶体管的示例。
NAND闪速存储器阵列可以被配置成使得该阵列由多个NAND串构成,多个NAND串中的一个NAND串包括共享单个位线并且作为一个组被访问的多个存储器单元。可替选地,存储器单元可以被配置成使得每个元件能够被单独访问,例如,NOR存储器阵列。NAND存储器构造和NOR存储器构造是示例性的,并且可以以其它方式配置存储器单元。
存储器单元可以以有序阵列的方式,诸如以多行和/或多列的方式布置在单个存储器装置层级中。然而,可以以不规则或非正交构造或者以不认为是阵列的结构来布置存储器元件。
三维存储器阵列被布置成使得存储器单元占据多个平面或者多个存储器装置层级,从而形成三维结构(即沿x、y和z方向,其中z方向基本上垂直于且x和y方向基本上平行于衬底的主表面)。
作为非限制性示例,三维存储器结构可以被竖直布置为多个二维存储器装置层级的堆叠。作为另一非限制性示例,三维存储器阵列可以被布置为多个竖直列(例如,基本上垂直于衬底的主表面即沿y方向延伸的列),其中每个列具有多个存储器单元。可以以二维构造即在x-y平面中布置竖直列,产生存储器单元的三维布置,其中存储器单元在多个垂直堆叠的存储器平面上。存储器元件在三维空间中的其它构造也可以构成三维存储器阵列。
通过非限制性示例,在三维NAND存储器阵列中,存储器元件可以耦合在一起以形成横跨多个水平存储器装置层级的竖直NAND串。可以想到其它三维构造,其中一些NAND串包含单个存储器层级中的存储器元件,而其它NAND串包含跨多个存储器层级的存储器元件。也可以以NOR构造和ReRAM构造来设计三维存储器阵列。
本领域普通技术人员将会认识到该技术不限于单个特定的存储器结构,而是涵盖本文所描述的以及本领域普通技术人员所理解的技术的精神和范围内的许多相关的存储器结构。
图3A是描绘用于对控制器122中的一个或更多个处理器编程的软件模块的框图。图3A描绘了被存储在ROM 122a中的读取模块150、编程模块152以及擦除模块154。这些软件模块也可以被存储在RAM或存储器晶片108中。读取模块150包括对处理器122C编程以执行读取操作的软件。编程模块152包括对处理器122C编程以执行编程操作(包括对编程的验证)的软件。擦除模块154包括对处理器122C编程以执行擦除操作的软件。基于软件,控制器122指示存储器晶片108执行存储器操作。
图3B是描绘用于对状态机112(或者存储器晶片108上的其它处理器)编程的软件模块的框图。图3B描绘了被存储在代码和参数存储113中的读取模块160、编程模块162以及擦除模块164。这些软件模块也可以被存储在RAM中或存储器结构126中。读取模块160包括对状态机112编程以执行读取操作的软件。编程模块152包括对状态机112编程以执行编程操作(包括对编程的验证)的软件。擦除模块154包括对状态机112编程以执行擦除操作的软件。可替选地,可以完全用硬件来实现状态机112(状态机112为电子电路),使得不需要软件来执行这些功能。
图4A是说明存储器结构126的一个示例构造的框图,存储器结构126被分成两个平面302和304。每个平面然后被分成M个块。在一个示例中,每个平面具有约2000个块。然而,也可以使用不同数目的块和平面。
图4B是描绘来自存储器结构126的一个块的部分的顶视图的框图。图4B中描绘的块的部分对应于图4A的块2中的部分306。如从图4B可以看出的,图4B中描绘的块沿箭头330的方向以及沿箭头332的方向延伸。在一个实施方式中,存储器阵列将具有48个层。其它实施方式具有少于或多于48个层。然而,图4B仅示出了顶层。
图4B描绘了表示竖直列的多个圆圈。竖直列中的每个包括多个选择晶体管和多个存储器单元。在一个实施方式中,每个竖直列实现NAND串。在下文中提供竖直列的更多细节。由于图4B中描绘的块沿箭头330的方向以及沿箭头332的方向延伸,所以该块包括比图4B中描绘的更多的竖直列。
图4B也描绘了一组位线412。因为仅描绘了块的一部分,所以图4B示出了24个位线。可以预期的是,多于24个位线连接至块的竖直列。表示竖直列的每个圆圈具有“x”以指示其与一个位线连接。
图4B中描绘的块包括将各个层连接至竖直列下方的源极线的一组本地互连402、404、406、408和410。本地互连402、404、406、408和410也用于将块的每个层分成四个区域;例如,图4B中描绘的顶层被分成区域420、430、440和450。在实现存储器单元的块的各层中,四个区域被称为字线分支(word line finger),其被本地互连分隔开。在一个实施方式中,块的共同层级上的字线分支在该块的端部连接在一起,以形成单个字线。在另一实施方式中,同一层级上的字线分支没有连接在一起。在一个示例实现中,位线仅连接至区域420、430、440和450中的每个区域中的一个竖直列。在该实现中,每个块具有16排有效列并且每个位线连接至每个块中的4排。在一个实施方式中,连接至共同位线的全部4排(经由在同一层级上连接在一起的不同字线分支)连接至同一字线;因此,系统使用源极侧选择线和漏极侧选择线来选择四个中的一个(或者另一子集)进行存储器操作(编程、验证、读取和/或擦除)。
虽然图4B示出了每个区域具有四排竖直列,块中有4个区域和16排竖直列,但那些确切数字是示例实现。其它实施方式可以包括每个块更多或更少的区域、每个区域更多或更少排的竖直列以及每个块更多或更少排的竖直列。
图4B也示出了交错的竖直列。在其它实施方式中,可以使用不同的交错图案。在一些实施方式中,竖直列不交错。
图4C描绘了三维存储器结构126的实施方式的部分,其示出了沿图4B的线AA的截面图。该截面图切断了竖直列432和434以及区域430(参见图4B)。图4C的结构包括两个漏极侧选择层SGD1和SGD1;两个源极侧选择层SGS1和SGS2;四个虚设字线(dummy word line)层DWLL1a、DWLL1b、DWLL2a和DWLL2b;以及32个用于连接数据存储器单元的字线层WLL0-WLL31。其它实施方式可以实现多于或少于两个漏极侧选择层、多于或少于两个源极侧选择层、多于或少于四个虚设字线层以及多于或少于32个字线层。竖直列432或434被描绘成穿过漏极侧选择层、源极侧选择层、虚设字线层以及字线层。在一个实施方式中,每个竖直列包括NAND串。在竖直列和列于竖直列下方的各层之下的是衬底101、衬底上的绝缘膜454以及源极线SL。竖直列432的NAND串具有在堆叠底部的源极端以及在堆叠顶部的漏极端。与图4B相一致地,图4C示出了经由连接器415连接至位线414的竖直列432。也描绘了本地互连404和406。
为了便于参考,漏极侧选择层SGD1和SGD1;源极侧选择层SGS1和SGS2、虚设字线层DWLL1a、DWLL1b、DWLL2a和DWLL2b;以及字线层WLL0-WLL31统称为导电层。在一个实施方式中,导电层由TiN和钨的组合制成。在其它实施方式中,可以使用其它材料形成导电层,例如掺杂多晶硅、诸如钨的金属或金属硅化物。在一些实施方式中,不同的导电层可以由不同材料制成。导电层之间是介电层DL0-DL19。例如,介电层DL10在字线层WLL26上方且在字线层WLL27下方。在一个实施方式中,介电层由SiO2制成。在其它实施方式中,可以使用其它介电材料来形成介电层。
沿延伸经过堆叠中交替的导电层和介电层的竖直列形成存储器单元。在一个实施方式中,以NAND串布置存储器单元。字线层WLL0-WLL31连接至存储器单元(也称为数据存储器单元)。虚设字线层DWLL1a、DWLL1b、DWLL2a和DWLL2b连接至虚设存储器单元。也称为非数据存储器单元的虚设存储器单元不存储用户数据,而数据存储器有资格存储用户数据。因此,可以对数据存储器单元编程。漏极侧选择层SGD1和SGD1用于使NAND串与位线电连接和电断开。源极侧选择层SGS1和SGS2用于使NAND串与源极线SL电连接和电断开。
图4D描绘了在图4C中局部描绘的块的导电层(SGD1、SGD2、SGS1、SGS2;DWLL1a、DWLL1b、DWLL2a、DWLL2b和WLL0-WLL31)的透视图。如上文参考图4B提及的,本地互连401、404、406、408和410将每个导电层分割成四个区域。例如,漏极侧选择栅极层SGD1(顶层)被分成区域420、430、440和450。类似地,位线层WLL31被分成区域460、462、464和466。对于字线层(WLL0-WLL31),区域被称为字线分支;例如,字线层WLL31被分成字线分支460、462、464和466。
图4E描绘了图4C的区域442的截面图,其包括竖直列432的部分。在一个实施方式中,竖直列是圆的并且包括四个层;然而,在其它实施方式中,可以包括多于或少于四个层并且可以使用其它形状。在一个实施方式中,竖直列432包括由诸如SiO2的电介质制成的内核层470。也可以使用其它材料。内核470周围是多晶硅沟道471。也可以使用除了多晶硅以外的材料。注意,连接到位线的是沟道471。沟道471周围是隧道电介质472。在一个实施方式中,隧道电介质472具有ONO结构。隧道电介质472周围是电荷俘获层473,诸如(例如)能够增加陷阱密度的特殊配方的氮化硅。
图4E描绘了介电层DLL11、DLL12、DLL13、DLL14以及DLL15,以及字线层WLL27、WLL28、WLL29、WLL30和WLL31。字线层的每个包括被氧化铝层477包围的字线区域476,氧化铝层477被阻挡氧化物(SiO2)层478包围。字线层与竖直列的物理相互作用形成了存储器单元。因此,在一个实施方式中,存储器单元包括沟道471、隧道电介质472、电荷俘获层473、氧化物阻挡层478、氧化铝层477以及字线区域476。例如,字线层WLL31以及竖直列432的部分构成存储器MC1。字线层WLL30以及竖直列432的部分构成存储器MC2。字线层WLL29以及竖直列432的部分构成存储器MC3。字线层WLL28以及竖直列432的部分构成存储器MC4。字线层WLL27以及竖直列432的部分构成存储器MC5。在其它架构中,存储器单元可以具有不同的结构;然而,存储器单元将依然是存储单元。
当对存储器单元编程时,电子被存储在电荷俘获层473的与存储器单元相关联的部分中。响应于字线区域476上的合适的电压,这些电子通过隧道层473从沟道471被拉入电荷俘获层473。存储器单元的阈值电压(Vth)与所存储的电荷量成比例地增加。在擦除操作期间,电子返回至沟道或者空穴与电子重新结合。
图5是描绘感测放大器电路的示意图。每个感测块SB1、SB2、…、SBp(参见图2)包括多个感测放大器电路。如下文所述,图5的电路将电容器(或其它电荷存储装置)预充电至预充电幅度,在选通时间的持续时间期间通过存储器单元使电容器放电,以及在选通时间之后感测电容器处的电压。感测电压将指示存储器单元是否传导所感测的电流,这指示存储器单元的阈值电压是大于还是小于所检验的阈值电压。如果存储器单元的阈值电压大于所检验的阈值电压,则在验证操作期间,存储器单元将基于本文所述的过程视情况结束编程。图5示出了连接至位线和晶体管502的晶体管500。晶体管500在其栅极处接收信号BLS,并且用于连接至位线或者隔离位线。晶体管502在其栅极处接收信号BLC,并且用作电压钳(voltage clamp)。将栅极电压BLC偏置成处于恒定电压,该恒定电压等于期望位线电压加上晶体管502的阈值电压。因此,晶体管502的作用是即使经过位线的电流变化也在感测操作期间(读取或验证期间)保持恒定的位线电压。
晶体管502连接至晶体管504、506和508。晶体管506在标记了SEN的节点处连接至电容器516。晶体管506的目的是将电容器516连接至位线500以及将电容器516与位线500断开,使得电容器516选择性地与位线500连通。换言之,晶体管506控制选通时间。也就是说,当晶体管506导通时,电容器516能够通过位线放电,并且当晶体管506关断时,电容器516不能通过位线放电。
晶体管506连接至电容器516的节点也连接至晶体管510和晶体管514。晶体管510连接至晶体管508、512和518。晶体管518也连接至晶体管520。晶体管518和520是PMOS晶体管,而图5的其它晶体管是NMOS晶体管。晶体管510、518和520为电容器516提供预充电路径。电压(例如,Vdd或其它电压)被施加于晶体管520的源极。通过使晶体管510、518和520适当地偏置,施加于晶体管520的源极的电压可以用于对电容器516预充电。在预充电之后,电容器516可以经由晶体管506通过位线放电(假设晶体管500和502导电)。
虽然在上文描述了电荷俘获型3D存储器结构实施方式,但是本文所述的技术能够应用于其他类型的3D存储器结构以及2D存储器结构(包括NAND、NOR以及其它存储器结构)。例如,本文所述的技术也可以应用于浮动栅极存储器。
图5的电路包括形成锁存器电路的反相器530和532。反相器532的输出连接至反相器530的输入,并且反相器530的输出连接至反相器532的输入以及晶体管520和522。反相器532的输入将接收Vdd并且两个反相器530、532将用作存储Vdd的锁存器。反相器532的输入也可以连接至另一个值。晶体管512和522提供用于向晶体管514传送由反相器530和532存储的数据的路径。晶体管522在其栅极处接收信号FCO。晶体管512在其栅极处接收信号STRO。通过升高或降低FCO和STRO,在反相器530、532与晶体管(感测开关)514之间提供路径或切断反相器530、532与晶体管514之间的路径。晶体管514的栅极在标记了SEN的节点处与电容器516、晶体管506和晶体管510连接。电容器516的另一端连接至信号CLK。
如上所述,经由晶体管510、518和520对电容器516预充电。这将会使SEN节点处的电压升高至预充电电压水平(Vpre)。当晶体管506导通时,如果存储器单元的阈值电压低于所检验的电压水平,则电容器516能够通过位线和所选存储器单元放电。如果电容器516能够放电,则电容器处(SEN节点处)的电压将会减小。
SEN节点处的预充电电压(Vpre)大于晶体管914的阈值电压;因此,在选通时间之前,晶体管514导通(导电)。由于晶体管514在选通时间期间导通,于是晶体管512应当关断。如果电容器在选通时间期间不放电,则SEN节点处的电压将保持高于晶体管514的阈值电压,并且在STRO使晶体管512导通时反相器530、532处的电荷能够被放电到CLK信号中。如果电容器在选通时间期间充分放电,则SEN节点处的电压将减小到低于晶体管514的阈值电压;从而使晶体管914关断并且存储在反相器530、532处的数据(例如,Vdd)不通过CLK放电。所以检验二极管530、532是否保持其充电或放电将指示验证过程的结果。在一个实施方式中,通过用栅极信号NCO使晶体管534导通可以经由晶体管534(数据输出)在节点A处读取该结果。
电容器516的预充电水平(并且因此节点SEN处的预充电电压)受经过晶体管510的电流限制。经过晶体管510的电流受栅极电压H00限制。如此,节点SEN处的预充电电压受小于晶体管510的阈值电压的电压H00限制。通过这种布置,系统能够通过控制H00来控制节点SEN处的预充电电压。预充电时H00处的较大电压导致SEN节点处的较大电压。预充电时H00处的较低电压导致SEN节点处的较低电压。
当系统执行读取或验证操作(两者都是感测操作)时,施加于单元的控制栅极的电压可以使得单元的沟道(连接至位线)导电。如果发生这种情况,则电容器通过沟道放电,从而其电压随着其放电而降低。
图6是描述来自图5的各个信号的行为的时序图。信号BLS在所描绘的整段时间处于Vdd并且信号BLC处于Vb1+Vsrc+Vth,其中Vb1为位线的电压,Vsrc为源极线的电压以及Vth为晶体管502的阈值电压。信号FLA在t0处以Vss开始并且在t6处达到Vdd。当信号FLA处于Vss时,预充电路径受晶体管510控制。在t0处,H00的电压从接地升高至预充电水平。H00处电压的升高使晶体管510导通并且打开了预充电路径。设置H00处的电压的幅度。图6示出了H00达到Vhoo。信号H00将停留在预充电电压(Vhoo)直到时间t1。如由SEN处的电压所描绘的,当H00高时,晶体管510导通并且电容器516将在t0与t1之间预充电。在时间t1处,H00被降低到Vss并且预充电结束。
信号X00用于允许电容器516与位线连通,使得电容器能够通过位线和所选存储器单元放电。在时间t3处,X00升高至Vblc+Vblx,其中Vblc为信号BLC的电压并且Vblx为信号BLX的电压(两者均如上所述)。在时间t4处,X00处的电压降低至Vss。在称为选通时间的时间t3与t4之间,电容器516将与位线连通,以允许电容器516通过位线和所选存储器单元放电(取决于所选存储器单元的阈值电压)。信号CLK在时间t2处升高至Vblx并且在时间t5处下降回Vss,以防止电路中的任何竞争状况并且允许电容器516正确放电。
如上所述,因为H00在t0与t1之间升高,所以电容器516(以及SEN节点)在t0与t1之间充电(预充电)。这在图6中通过SEN节点从Vss充电至Vpre来描绘。用于Vpre的实线表示节点SEN(以及电容器516)响应于Vh00被施加于电容器510的栅极的示例预充电。
当X00在t3处升高时,电容器516能够初始地对位线进行预充电并然后通过位线放电(如果阈值电压处于适合的水平)。如图6中t3与t4之间所描绘的,如果存储器单元因其阈值电压小于或等于被施加于其控制栅极的电压而导通(导电),则SEN节点处的电压将从Vpre耗散成Vpost_con。如果所检测的存储器单元的阈值电压高于被施加于其控制栅极的电压,则电容器516将不放电并且电压将保持处于Vpre。如上所述,t3与t4之间的时间段为选通时间并且可以被调节。
图6示出了信号FCO在t7处升高至Vdd以及在t9处降低至Vss。信号STRO在t8处升高至Vdd以及在t9处降低。在时间t8与t9之间,在反相器530、532与晶体管514之间存在路径。如果节点SEN处的电压大于晶体管514的阈值电压,则将会存在从反相器530、532到CLK的路径,并且反相器530、532处的数据通过信号CLK以及通过晶体管514耗散。如果节点SEN处的电压低于晶体管514的阈值电压(例如,如果电容器放电),则晶体管514将关断并且由反相器530、532存储的电压将不被分散到CLK中。图6示出了节点A处的处于Vdd的电压水平。如果电容器的电压不耗散(例如,由因为所选存储器单元的阈值电压大于所检验的电压而没有足够的电流流过所引起),则晶体管514将保持导通并且节点A处的电压将耗散成Vss(如虚线所描绘的)。如果电容器的电压不耗散(例如,由因为所选存储器单元的阈值电压低于所检验的电压而有足够的电流流过所引起),则晶体管514将关断并且节点A处的电压将保持处于Vdd(如实线所描绘的)。通过向信号NCO施加Vdd而将节点A的输出经由晶体管534提供至数据输出信号。
图7是描述根据图6的时序图执行的单个选通感测操作的流程图。在步骤602中,合适的验证基准电压(例如,Vv1、Vv2、Vv3、Vv4、Vv5、Vv6或Vv7——参见图8A)被施加于所选字线。所选字线连接至被编程和验证的存储器单元。连接至被编程和验证的存储器单元的位线被充电至预定预充电水平。在步骤604中,对所有SEN节点进行预充电。在步骤606中,为感测放大器中的电容器(例如,电容器516)提供路径以通过存储器单元放电(参见图6的SEN节点t5-t6)。在称为“选通时间”或“积分时间”的预定时间段之后,如上文所描述的那样对电容器516(或者SEN节点)的电压进行采样,以查看在步骤608中各个存储器单元是否导电。如上所述,针对连接至同一字线和不同位线的数千个存储器单元同时执行验证过程。
在成功的编程过程(通过验证)结束时,视情况而定,存储器单元的阈值电压应当在编程存储器单元的阈值电压的一个或更多个分布内,或者在擦除存储器单元的阈值电压的分布内。图8A图示出了在每个存储器单元存储四位数据时存储器单元阵列的示例阈值电压分布。然而,其它实施方式可以使用其它的每存储器单元数据容量(例如,如每个存储器单元一位数据、两位数据、三位数据或者五位数据)。图8A示出了16个阈值电压分布(对应于16个数据状态)。第一阈值电压分布(数据状态)S0表示被擦除的存储器单元。其它15个阈值电压分布(数据状态)S1-S15表示被编程的存储器单元。每个阈值电压分布(数据状态)对应于一组数据位的预定值。被编程到存储器单元中的数据与单元的阈值电压水平之间的具体关系取决于单元所采用的数据编码方案。在一个实施方式中,使用格雷码分配将数据值分配给阈值电压范围,使得如果浮动栅极的阈值电压错误地偏移到其邻近物理状态,则将仅影响一位。
图8A也示出了15个读取基准电压Vr1、Vr2、Vr3、Vr4、Vr5、Vr6、Vr7、Vr8、Vr9、Vr10、Vr11、Vr12、Vr13、Vr14和Vr15,以用于从存储器单元读取数据。通过检验给定存储器单元的阈值电压是高于还是低于15个读取基准电压,系统能够确定存储器单元处于什么数据状态(即S0,S1,S2,S3,…)。
图8A也示出了15个验证基准电压Vv1、Vv2、Vv3、Vv4、Vv5、Vv6、Vv7、Vv8、Vv9、Vv10、Vv11、Vv12、Vv13、Vv14和Vv15。当将存储器单元编程到数据状态S1时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv1。当将存储器单元编程到数据状态S2时,系统将检验存储器单元的阈值电压是否大于或等于Vv2。当将存储器单元编程到数据状态S3时,系统将检验存储器单元的阈值电压是否大于或等于Vv3。当将存储器单元编程到数据状态S4时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv4。当将存储器单元编程到数据状态S5时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv5。当将存储器单元编程到数据状态S6时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv6。当将存储器单元编程到数据状态S7时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv7。当将存储器单元编程到数据状态S8时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv8。当将存储器单元编程到数据状态S9时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv9。当将存储器单元编程到数据状态S10时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv10。当将存储器单元编程到数据状态S11时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv11。当将存储器单元编程到数据状态S12时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv12。当将存储器单元编程到数据状态S13时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv13。当将存储器单元编程到数据状态S14时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv14。当将存储器单元编程到数据状态S15时,系统将检验那些存储器单元的阈值电压是否大于或等于Vv15。
在称为全序列编程一个实施方式中,存储器单元可以被从擦除数据状态S0直接编程到编程数据状态S1-S15中的任何编程数据状态。例如,可以首先对要编程的众多存储器单元进行擦除,使得众多存储器单元中的所有存储器单元都处于擦除数据状态S0。然后,使用编程过程将存储器单元直接编程到数据状态S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12、S13、S14和/或S15。例如,当一些存储器单元被从数据状态S0编程到数据状态S1时,其它存储器单元被从数据状态S0编程到数据状态S2和/或从数据状态S0编程到数据状态S3,以此类推。图8中的箭头表示全序列编程。
图8B图示了对应于数据状态S0-S15的阈值电压分布的另一实施方式,其中由于误差校正能够处理一定比例的出错存储器单元,所以数据状态S0-S15可以部分交叠。因为附图的尺寸,所以截短了数据状态的标记,使得使用0而非S0,使用1而非S1,使用2而非S2,以此类推。
图9A至图9D描述了用于将数据编程到存储四位数据的存储器单元中的三阶段编程过程。在编程之前,块的所有存储器单元将被擦除成擦除阈值电压分布。例如,图9A示出了存储器单元的块以擦除阈值电压分布E(用虚线描绘的)开始。在一些实施方式中,擦除阈值电压E低于零伏特。在其它实施方式中,擦除阈值电压分布E高于零伏特,或者部分地高于零伏特。
在该实施方式中,编程过程包括三个阶段。在编程的第一阶段期间,目标(由于要存储在那些存储器单元中的数据)为数据状态S4、S5、S6或S7的那些存储器单元被编程到中间状态IM0。目标为数据状态S8、S9、S10或S11的那些存储器单元被编程到中间状态IM1。目标为数据状态S12、S13、S14或S15的那些存储器单元被编程到中间状态IM2。以数据状态S0、S1、S2或S3为目标的那些存储器单元保持处于擦除阈值电压分布E。由图9A以图形方式描绘第一阶段。
在图9A至图9C的编程过程的第二阶段期间,处于擦除阈值电压分布E的那些存储器单元被编程到其目标数据状态。例如,要编程到数据状态S3的那些存储器单元被从擦除阈值电压分布E编程到数据状态S3,要编程到数据状态S2的那些存储器单元被从擦除阈值电压分布E编程到数据状态S2,要编程到数据状态S1的那些存储器单元被从擦除阈值电压分布E编程到数据状态S1,并且在编程过程的第二阶段期间不对要处于数据状态S0的那些存储器单元编程。因此,擦除阈值电压分布E变成数据状态S0。并且,在第二阶段期间,存储器单元被从中间状态IM0编程到各个数据状态S4-S7。例如,要编程到数据状态S7的那些存储器单元被从中间状态IM编程到数据状态S7,目标处于数据状态S6的那些存储器单元被从中间状态IM编程到数据状态S6,要编程到数据状态S5的那些存储器单元被从中间状态IM编程到数据状态S5,并且要编程到数据状态S4的那些存储器单元被从中间状态IM编程到数据状态S4。存储器单元也被从中间状态IM1编程到各个数据状态S8-S11。例如,要编程到数据状态S11的那些存储器单元被从中间状态IM1编程到数据状态S11,目标处于数据状态S10的那些存储器单元被从中间状态IM1编程到数据状态S10,要编程到数据状态S9的那些存储器单元被从中间状态IM1编程到数据状态S9,并且要编程到数据状态S8的那些存储器单元被从中间状态IM1编程到数据状态S8。存储器单元也被从中间状态IM2编程到各个数据状态S12-S15。例如,要编程到数据状态S15的那些存储器单元被从中间状态IM2编程到数据状态S15,目标处于数据状态S14的那些存储器单元被从中间状态IM2编程到数据状态S14,要编程到数据状态S13的那些存储器单元被从中间状态IM2编程到数据状态S13,并且要编程到数据状态S12的那些存储器单元被从中间状态IM2编程到数据状态S12。编程的该第二阶段在图9B中图示出。
从图9B中可以看出,在编程的第二阶段结束时,数据状态S1-S15与邻近数据状态交叠。例如,数据状态S1与数据状态S2交叠,数据状态S2与数据状态S1和S3交叠,数据状态S3与数据状态S2和S4交叠,数据状态S4与数据状态S3和S5交叠,数据状态S5与数据状态S4和S6交叠,并且数据状态S6与数据状态S5和S7交叠,以此类推。在一些实施方式中,数据状态中的全部或一些不交叠。
在编程的第三阶段中,使数据状态S1-S15中的每个数据状态紧缩,使得它们不再与邻近状态交叠。这由图9C以图形方式描绘。在一些实施方式中,数据状态S0比数据状态S1-S15宽。
一种用于实现更紧凑的阈值的编程策略是使用粗/精编程过程。粗编程阶段包括试图以较快方式升高阈值电压,相对较少地关注实现紧凑的阈值分布。精编程阶段试图以较慢方式升高阈值电压,以达到目标阈值电压同时也实现更紧凑的阈值分布。粗/精编程仅仅是能够与本文所述的技术一起使用的多阶段编程过程的一个示例。也可以使用将编程分成不同阶段的其它多阶段编程过程,其在最终目标水平之前验证到中间水平的编程。
图10A、10B、11A和11B提供了粗/精编程方法的一个示例的更多细节。图10A和图11A描绘了被编程的存储器单元的阈值电压。图10B和图11B描绘了用于被编程的存储器单元的位线电压。图10A、10B、11A和11B的该示例使用在附图中被表示为阈值电压基准VH和VL的两个验证水平。最终目标水平为VH(也称为精验证水平、用于精阶段的阈值电压基准或者用于数据状态的高验证水平)。当存储器单元的阈值电压已经达到VH时,通过将禁止电压施加于对应于该存储器单元的位线来禁止存储器单元进一步编程,使得存储器单元不经历任何额外的编程。例如,位线电压(或者在一些实施方式中为控制栅极或字线电压)可以被升高至Vinhibit(例如,Vdd)或者类似电压。然而,当存储器单元满足接近于(但是低于)阈值电压基准VH的阈值电压时,通过将中间电压施加于位线,通常大约0.3v至0.8v,而使在随后的编程期间用于该存储器单元的阈值电压偏移减慢(不禁止)。因为在接下几个编程轮次期间阈值电压偏移的速率减小,所以最终阈值电压分布可以比使用其他编程方法更窄。为了实现该方法,使用低于VH的水平的第二验证水平。该第二验证水平在图10A和图11A中被描绘为VL(也称为粗验证水平、用于粗阶段的阈值电压基准或者用于数据状态的低验证水平或中间验证水平),其中VH>VL。当存储器单元的阈值电压大于VL但依然低于VH时,通过施加位线偏置Vfine来针对随后的编程减小(不禁止)用于存储器单元的阈值电压偏移(参见图11B),如上所述位线偏置Vfine通常约为0.3v至0.8v。注意,在这种情况下,每个数据状态需要两个验证操作:在每个数据状态的相应VH处的一个验证操作,以及在每个数据状态的相应VL处的一个验证操作。
图10A和图10B示出了阈值电压在t2与t3之间移动经过VH和VL的存储器单元的行为。因此,在t3之前,存储器单元处于粗阶段。在t3之后,存储器单元处于禁止模式。该示例存储器单元不进入精模式。
图11A和图11B描绘了进入粗编程阶段和精编程阶段两者的存储器单元。存储器单元的阈值电压在时间t2与时间t3之间越过VL。在t3之前,存储器单元处于粗阶段。在t3之后,位线电压升高至Vs;因此,存储器单元处于精阶段。在t3与t4之间,存储器单元的阈值电压越过VH;因此,通过在t4将位线电压升高至Vinhibit来禁止存储器单元进一步编程,并且存储器单元在当前编程过程中不经历额外的编程。如果未使用粗/精编程方案,则存储器单元的阈值电压可能以比图11A中描绘的裕量多得多的裕量超出VH。
如上面所说明的,图10A/B和图11A/B的粗/精编程针对每个数据状态使用两个验证操作。一个验证操作在每个数据状态的相应VH处执行,且一个验证操作在每个数据状态的相应VL处执行。回过来看图8A,当不使用粗/精编程时,仅需要15个验证水平。在使用粗/精编程的情况下,由于用两个基准水平(例如,S1VL,S1VH,S2VL,S2VH,S3VL,S3VH,S4VL,S4VH,…)来代替图8A中的每个目标(例如,Vv1,Vv2,Vv3,Vv4,…),所以使用了30个验证水平。
当对EEPROM或者诸如NAND闪速存储器装置的闪速存储器装置进行编程时,通常编程电压被施加于字线或者控制栅极并且位线接地。然后来自沟道的电子被注入到电荷俘获材料中。当电子在电荷俘获材料中累积时,电荷俘获材料变成带负电荷并且存储器单元的阈值电压升高,使得存储器单元处于编程状态。在许多情况下,编程电压作为一系列电压脉冲(称为编程脉冲)被施加于字线/控制栅极,其中脉冲的幅度在每个脉冲处(或者针对脉冲的子集)增大。在编程脉冲之间,执行一组一个或更多个验证操作以确定被编程的存储器单元是否已经达到了其目标水平。当使用上述具有16个数据状态的粗/精编程时,一个实现可能需要在每个编程脉冲之间执行30个验证操作。在一些实施方式中,在系统已知被编程的存储器单元都不具有特定数据状态范围内的阈值电压的情况下,可以省略验证操作的子集。然而,由于每个存储器单元将经历粗验证操作和精验证操作两者,所以执行多至30个验证操作。执行30个验证操作可以使编程过程减慢。
图12A是说明编程过程的一个实施方式的原理的曲线图,其中该编程过程减小了验证实现粗/精编程的多状态非易失性存储器的编程所需的时间。所提出的过程通过分离粗验证操作与精验证操作使得存储器单元首先仅经历粗验证操作而非精验证操作,来减小验证操作的数目。随后,存储器单元将仅经历精验证操作而非粗验证操作。图12A的每个曲线620、622、624、626、628和630示出了响应于编程脉冲而变化的存储器单元的阈值电压。曲线620-628表示粗阶段中的操作。曲线630表示精阶段中的操作。在导致由曲线620-626表示的阈值电压的变化的每个编程脉冲之后,仅针对VL验证存储器单元。曲线628示出了超过VL的阈值电压;因此,存储器单元将进入精阶段并且随后仅针对VH(例如,在导致由曲线630表示的阈值电压的变化的编程脉冲之后)验证存储器单元。因此,存储器单元在编程脉冲之间仅经历一个验证操作。由于仅需要一个验证操作(即仅VL或仅VH)而不是两个验证操作(VL并且然后VH),所以该系统针对在16个数据状态(即S0-S15)实现粗/精编程的多状态非易失性存储器仅需要执行多至15个验证操作,这提高了编程过程的速度。
为了针对给定存储器单元实现粗验证操作与精验证操作的分离,所提出的存储器系统的一个实施方式实施图12B的过程,其包括与针对一些存储器单元执行精验证操作同时地针对其它存储器单元执行粗验证操作。在步骤650中,系统将一系列编程轮次(例如,编程脉冲)应用于存储器单元,来作为多阶段编程过程的部分。多阶段编程过程的一个实施方式是粗/精编程。也可以使用其它多阶段编程过程。另一合适的多阶段编程过程的一个示例是包括粗阶段、中间阶段和精阶段的三阶段过程。本文所述的技术不限于任何特定的多阶段编程过程。在一系列编程轮次是一系列编程脉冲(即电压脉冲)的一些实施方式中,编程脉冲的幅度随着每个新脉冲以恒定步长或变化步长增大。在其它实施方式中,编程脉冲的幅度可以保持恒定。在一些实施方式中,编程脉冲的持续时间可以变化。
在编程轮次之间,系统响应于施加到字线上的单个基准电压,针对目标数据状态的粗阶段验证水平感测(例如,验证)存储器单元的第一子集(例如,处于粗阶段),并且针对目标数据状态的精阶段验证水平感测(例如,验证)存储器单元的第二子集(例如,处于精阶段)(步骤652)。在一个实施方式中,与对处于精阶段的存储器单元的验证同时地执行对处于粗阶段的存储器单元的验证。
在步骤654中,对于已被验证为已经达到粗阶段验证水平的处于粗阶段(或者不同的多阶段编程过程的第一阶段)的存储器单元,系统针对一个或更多个后续编程轮次(例如,下一编程脉冲)暂时禁止编程,并且将存储器单元切换/添加到精阶段(或第二阶段)。在精阶段中的编程期间,位线将接收Vfine以减慢编程(例如,降低单元的阈值电压由于编程脉冲而改变的程度)。在其它实施方式中,可以使用其它手段使编程减慢,诸如改变沟道电压、改变源极线电压、对沟道升压等。被切换到精阶段的存储器单元现在是针对精阶段而被验证的存储器单元的第二子集的部分(参见步骤625)。注意,在一些实施方式中,系统在下一编程脉冲中并不暂时禁止编程。在一些实施方式中,在不是下一编程脉冲的后续编程脉冲(即诸如下一编程脉冲+1)中暂时禁止存储器单元。
对于已被验证为已经达到第二阶段验证水平的处于精阶段的存储器单元,系统禁止进一步编程。例如,对于将来的编程脉冲,位线电压可以被升高至Vinhibit(例如,Vdd)。
如本文中所使用的,禁止存储器单元的编程是指停止编程或阻碍编程信号/源的编程作用,或者将编程作用减小到其变成可忽略的程度。禁止存储器单元的编程可以包括取决于存储器单元的非易失性存储器技术而不同的技术操作。例如,在上述电荷俘获型存储器单元中,编程轮次(例如,编程迭代)包括施加电压脉冲,并且禁止存储器单元的编程可以包括增大所连接的位线上的电压,使得编程脉冲对存储器单元的阈值电压影响很少到没有影响。类似地,对于二维浮动栅极闪速存储器单元,编程轮次包括施加脉冲,并且禁止存储器单元的编程可以包括增大所连接的位线上的电压。
图12B的技术也能够与除了上述电荷俘获和浮动栅极闪速存储器以外的技术一起使用。除了闪速存储器(例如,2D和3D NAND型闪速存储器和NOR型闪速存储器)以外,非易失性存储器的示例包括ReRAM存储器、磁阻式存储器(例如,MRAM)以及相变存储器(例如,PCRAM)。
ReRAM存储器的一个示例包括以由X线和Y线(例如,字线和位线)访问的交叉点阵列布置的可逆电阻开关元件。能够通过字线上的一系列电压脉冲(即编程轮次)来提供编程。能够通过将足够大的电压施加于相应位线以防止跨存储器单元的足够的电压差,来禁止存储器单元。
在另一实施方式中,存储器单元可以包括导电桥存储器元件。导电桥存储器元件也可以称为可编程金属化单元。导电桥存储器元件可用作基于离子在固体电解质内的物理迁移的状态变化元件。在一些情况下,导电桥存储器元件可以包括两个固体金属电极,一个是相对惰性的(例如,钨)而另一个是电化学活性的(例如,银或铜),其中在两个电极之间有固体电解质薄膜。随温度升高,离子的迁移率也增加,这导致导电桥存储器单元的编程阈值减小。因此,导电桥存储器元件可以随温度具有宽范围编程阈值。应用合适的温度(在离散的时间段上——轮次)可以用于进行编程。类似地,调节温度可以用于进行禁止。在一些实现中,通过将电压和/或电流施加于存储器单元和/或周围的部件来控制温度。
磁阻式存储器(MRAM)通过磁性存储元件存储数据。这些元件由被薄绝缘层分隔的两个铁磁板组成,每个铁磁板可以保持磁化。两个铁磁板之一是被设置成特定极性的永磁体,另一铁磁板的磁化可以被改变以匹配外部磁场的磁化来存储内存。该构造被称为自旋阀并且是MRAM位的最简结构。由这样的存储器单元的网格构建存储器装置。在编程的一个实施方式中,每个存储器单元位于以下述方式布置的一对写入线之间:彼此成直角、平行于单元、一个在单元上方一个在单元下方。当电流经过它们时,产生感应磁场(即编程轮次)。该方法需要颇大量的电流以生成磁场。因此,编程作为电流单位施加。充分减小或去除电流能够用于禁止编程。
相变存储器(PCRAM)利用硫系玻璃的独特性能。一个实施方式使用GeTe-Sb2Te3超晶格通过用激光脉冲(或者来自另一个源的光脉冲)简单地变化锗原子的协调状态来实现非热相变。因此,编程轮次是激光脉冲。可以通过阻止存储器单元接收光来禁止存储器单元。注意,本文档中使用的“脉冲”不需要是矩形脉冲,而是包括声音、电流、电压光或其它波的(连续的或不连续的)振动或突发。
图12B的过程可以在状态机112和/或控制器122的控制下执行。在一个实施方式中,状态机112(或者控制器122)将控制解码器114/124/132、电力控制模块116、感测块SB1,SB2,…,SBp以及读/写电路128执行图12B中描述的功能。例如,感测块SB1,SB2,…,SBp(各自包括图5的一个或更多个电路)能够检测到在编程脉冲之间存储器单元的第一子集的阈值电压满足第一电压水平(例如,粗阶段验证水平)并且存储器单元的第二子集的阈值电压满足第二电压水平(例如,粗阶段验证水平)。与解码器114/124/132和电力控制模块116结合的状态机112(或控制器122)充当闭锁电路,包括被配置成在一系列编程脉冲中的至少一个后续编程脉冲期间停止对存储器单元的第一子集的编程的低阈值电压闭锁电路,以及被配置成在一系列编程脉冲中的后续编程脉冲期间停止对存储器单元的第二子集的编程的高阈值电压闭锁电路。注意,在一个实施方式中,第一子集中的存储器单元与第二子集中的存储器单元不同。
如上所述,图12B的步骤650的一个实施方式包括施加一系列编程脉冲,并且步骤652包括执行多对验证操作。在一个实施方式中,每对验证操作针对单个数据状态并且包括将合适的验证基准电压(例如,Vv1,Vv2,Vv3,Vv4,Vv5,Vv6,Vv7,Vv8,Vv9,Vv10,Vv11,Vv12,Vv13,Vv14,Vv15)施加于用于被编程的存储器单元的共同字线。图13描绘了施加于共同字线的电压波形的分配。通常,编程过程可以使用10-20个编程脉冲。图13描绘了编程脉冲中的两个(标记为Vpgm脉冲)以及用于验证操作的15个验证电压脉冲(S1VH,S2VH,S3VH,S4VH,S5VH,S6VH,S7VH,S8VH,S9VH,S10VH,S11VH,S12VH,S13VH,S14VH,S15VH)。在一个实施方式中,S1VH=Vv1、S2VH=Vv2、S#VH=Vv3等。图12B的步骤652包括:响应于单个基准电压被施加在共同字线上,当针对目标数据状态的精阶段验证水平验证精阶段中的存储器单元的第二子集时,执行针对目标数据状态的粗阶段验证水平对粗阶段中的存储器单元的第一子集的验证操作。被施加于共同字线的该单个基准电压为相应验证电压脉冲。
图14是描述使用本文所提出的技术,包括图13的波形,来执行验证的过程的一个实施方式的流程图。图14的过程是使用图1-5的电路的图12B的步骤652的示例实现。在一个实施方式中,在每组连续的编程脉冲之间执行图14的过程。
图14的过程的一个特征是该过程通过改变各自的位线电压来提供对粗阶段和精阶段的同时验证。通常,针对验证操作改变存储器单元的位线电压基于漏致势垒降低(DIBL)有效地移动存储器单元的Id-Vg曲线。针对验证操作改变位线被充电的电压导致连接至该位线的存储器单元的显见(即测量的)阈值电压偏移。例如,降低位线电压就像缩短选通时间,这使得存储器单元的显见阈值电压看上去更高。相反,增大位线电压就像增大选通时间,这使得存储器单元的显见阈值电压看上去更低。因此,在感测期间使用较低位线电压有效地针对比所施加的控制栅极(字线)电压更低的阈值电压感测存储器单元。图14的过程使用该原理来调整位线电压,使得对于连接至共同位线的一组存储器单元,将针对数据状态N的VL验证存储器单元中的一些存储器单元,并且将同时针对数据状态N的VH验证其它存储器单元。在一组实施方式中,所施加的字线电压用于状态N的VH。
在步骤704中,电压S1VH被施加于所选字线。在一个实施方式中,被编程和验证的所有存储器单元被连接至所选字线。在S1VH被施加于所选字线(并且因此施加于被验证的存储器单元的控制栅极)时,感测放大器(上面论述的)用于感测连接至所选字线的存储器单元的第一子集的阈值电压是高于还是低于S1VL,并且同时感测连接至所选字线的存储器单元的第二子集的阈值电压是高于还是低于S1VH。同时进行这两个操作,因为在该实施方式中,与针对S1VH验证的存储器单元的位线相比,针对S1VL验证的存储器单元的位线接收用于验证操作的较低电压。连接至所选字线的存储器单元的第一子集是被编程到数据状态S1并且因为其处于粗阶段而针对S1VL被验证的那些存储器单元。存储器单元的第二子集是被编程到数据状态S1并且因为其处于精阶段而针对S1VH被验证的那些存储器单元。状态机和各个感测块(SB1,SB2,…)因为其存储作为编程过程的部分的编程数据而已知存储器单元要被编程到什么数据状态。因此,连接至存储器单元的第二子集的位线接收标称位线电压(下文中也称为VBLC_VH),而连接至存储器单元的第一子集的位线接收较低的位线电压(下文中也称为VBLC_VL)。在一个示例中,用于存储器单元的第一子集的较低位线电压VBLC_VL比用于存储器单元的第一子集的标称位线电压VBLC_VH低~200mV;然而,也可以使用其它电压差。在一个实施方式中,标称位线电压VBLC_VH为700mV且较低位线电压VBLC_VL为500mV。在另一实施方式中,标称位线电压VBLC_VH为250mV且较低位线电压VBLC_VL为200mV。取决于特定电路实现,也可以使用其他值。
在步骤706中,电压S2VH被施加于所选字,以使得能够对被编程到数据状态S2的存储器单元进行验证。当S2VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S2VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S2VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤708中,电压S3VH被施加于所选字,以使得能够对被编程到数据状态S3的存储器单元进行验证。在S3VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S3VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S3VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤710中,电压S4VH被施加于所选字,以使得能够对被编程到数据状态S4的存储器单元进行验证。在S4VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S4VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S4VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤712中,电压S5VH被施加于所选字,以使得能够对被编程到数据状态S5的存储器单元进行验证。在S5VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S5VL,以及感测连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S5VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤714中,电压S6VH被施加于所选字,以使得能够对被编程到数据状态S6的存储器单元进行验证。在S6VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S6VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S6VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤716中,电压S7VH被施加于所选字,以使得能够对被编程到数据状态S7的存储器单元进行验证。在S7VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S7VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S7VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤718中,电压S8VH被施加于所选字,以使得能够对被编程到数据状态S8的存储器单元进行验证。在S8VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S8VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S8VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤720中,电压S9VH被施加于所选字,以使得能够对被编程到数据状态S9的存储器单元进行验证。在S9VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S9VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S9VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤722中,电压S10VH被施加于所选字,以使得能够对被编程到数据状态S10的存储器单元进行验证。在S10VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S10VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S10VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤724中,电压S11VH被施加于所选字,以使得能够对被编程到数据状态S11的存储器单元进行验证。在S11VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S11VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S11VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤726中,电压S12VH被施加于所选字,以使得能够对被编程到数据状态S12的存储器单元进行验证。在S12VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S12VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S12VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL.
在步骤728中,电压S13VH被施加于所选字,以使得能够对被编程到数据状态S13的存储器单元进行验证。在S13VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S13VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S13VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤730中,电压S14VH被施加于所选字,以使得能够对被编程到数据状态S14的存储器单元进行验证。在S14VH被施加于所选字线时,感测放大器同时地感测连接至所选字线的处于粗阶段的存储器单元的第一子集的阈值电压是高于还是低于S14VL,以及连接至所选字线的处于精阶段的存储器单元的第二子集的阈值电压是高于还是低于S14VH。为了实现该功能,连接至存储器单元的第二子集的位线接收标称位线电压VBLC_VH,而连接至存储器单元的第一子集的位线接收较低位线电压VBLC_VL。
在步骤732中,电压S15VH被施加于所选字。在S15VH被施加于所选字线时(并且因此施加于被验证的存储器单元的控制栅极)时,感测放大器(上面论述的)用于感测连接至所选字线并且被编程到数据状态S15的存储器单元的阈值电压是高于还是低于S15VH。在一个实施方式中,被编程到数据状态S15的存储器单元不经受粗/精编程。
如上所述,在步骤704-730的每个中,系统被配置成将基准电压施加于存储器单元,并且通过将不同的位线电压施加于连接至不同存储器单元的不同位线来感测不同存储器单元是否响应于基准电压已经达到数据状态的不同验证水平。
可以在状态机112和/或控制器122的指示下执行图14的过程。例如,在一个实施方式中,状态机112(或者控制器112)将指示解码器114/124/132、电力控制模块116、感测块SB1,SB2,…,SBp和读/写电路128执行图14中所描述的功能。
图15是描述在步骤704-730中的每个步骤期间执行的单个选通感测操作的流程图。图15的过程提供了一个或更多个控制电路的进一步细节,该一个或更多个控制电路通过将不同的位线电压施加于连接至不同存储器单元的不同位线来感测不同存储器单元是否响应于该基准电压已经达到数据状态的不同验证水平。特别地,图15中的过程与图5的电路的操作有关。在步骤750中,合适的数据状态N验证基准电压VH(例如,S1VH、S2VH、S3VH、S4VH、S5VH、S6VH、S7VH、S8VH、S9VH、S10VH、S11VH、S12VH、S13VH和S14VH)被施加于所选字线(在该文档的其它位置也称为共同字线)。所选字线连接至被编程和验证的存储器单元。在步骤752中,标称位线电压(例如,0.7伏特)被施加于连接至处于精阶段(例如,被验证至数据状态N的VH)的存储器单元的位线。在步骤754中,低于标称位线电压的电压被施加于连接至处于粗阶段(例如,验证指数据状态N的VL)的存储器单元的位线。如上所述,在步骤756中,对连接至被验证的存储器单元的感测放大器的所有SEN节点同时进行预充电。如上所述,在步骤758中,例如通过经由存储器单元放电来允许感测放大器的电容器516和SEN节点放电。在步骤760中,在称为“选通时间”的预定时间段之后,如上所述,对电容器516(或者SEN节点)的电压进行采样以确定各个存储器单元是否导通,使得针对状态N的VH感测连接至处于标称电压的位线的存储器单元,并且针对状态N的VL感测连接至处于较低电压的位线的存储器单元。如上所述,针对连接至同一字线和不同位线的数千个存储器单元同时执行验证过程。
虽然图14和15的实施方式改变了位线电压以实现对不同的验证水平的同时感测,但是图16和17的实施方式改变选通时间电压以响应于共同字线电压来实现对不同验证水平的感测。以更短的选通时间进行感测是针对比所施加的控制栅极(字线)电压更低的阈值电压有效地感测存储器单元。图16和17的过程使用该原理来调整选通时间,使得对于连接至共同位线的一组存储器单元,响应于同一字线/控制栅极电压(验证基准电压),将针对数据状态N的VH验证存储器单元中的一些存储器单元,并且针对数据状态N的VL验证其他存储器单元。
图16是描述使用本文所提出的技术,包括图13的波形,来执行验证的过程的一个实施方式的流程图。图16的过程是图12B的步骤652的示例实现。在一个实施方式中,在每组连续的编程脉冲之间执行图16的过程。
在步骤802中,电压S1VH被施加于所选字线。当S1VH被施加于所选字线时,感测放大器用于在第一选通时间(例如,600ns)之后感测连接至处于数据状态S1的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S1VL,以及在第二选通时间(例如,1000ns)之后感测连接至处于数据状态S1的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S1VH。注意,第一选通时间和第二选通时间交叠,这意味着这两个操作在至少一个相同时间段期间发生。例如,第一选通时间和第二选通时间在以下情况下交叠:这两个操作在相同时间开始但在不同时间结束;这两个操作在不同时间开始但在相同时间结束;或者这两个操作在不同时间开始并在不同时间结束,但是在时间T处是有效的。
在步骤804中,电压S2VH被施加于所选字线。当S2VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S2的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S2VL,以及在第二选通时间之后感测连接至处于数据状态S2的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S2VH。
在步骤806中,电压S3VH被施加于所选字线。当S3VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S3的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S3VL,以及在第二选通时间之后感测连接至处于数据状态S3的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S3VH。
在步骤808中,电压S4VH被施加于所选字线。当S4VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S4的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S4VL,以及在第二选通时间之后感测连接至处于数据状态S4的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S4VH。
在步骤810中,电压S5VH被施加于所选字线。当S5VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S5的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S5VL,以及在第二选通时间之后感测连接至处于数据状态S5的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S5VH。
在步骤812中,电压S6VH被施加于所选字线。当S6VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S6的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S6VL,以及在第二选通时间之后感测连接至处于数据状态S6的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S6VH。
在步骤814中,电压S7VH被施加于所选字线。当S7VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S7的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S7VL,以及在第二选通时间之后感测连接至处于数据状态S7的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S7VH。
在步骤816中,电压S8VH被施加于所选字线。当S8VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S8的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S8VL,以及在第二选通时间之后感测连接至处于数据状态S8的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S8VH。
在步骤818中,电压S9VH被施加于所选字线。当S9VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S9的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S9VL,以及在第二选通时间之后感测连接至处于数据状态S9的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S9VH。
在步骤820中,电压S10VH被施加于所选字线。当S10VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S10的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S10VL,以及在第二选通时间之后感测连接至处于数据状态S10的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S10VH。
在步骤822中,电压S11VH被施加于所选字线。当S11VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S11的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S11VL,以及在第二选通时间之后感测连接至处于数据状态S11的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S11VH。
在步骤824中,电压S12VH被施加于所选字线。当S12VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S12的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S12VL,以及在第二选通时间之后感测连接至处于数据状态S12的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S12VH。
在步骤826中,电压S13VH被施加于所选字线。当S13VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S13的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S13VL,以及在第二选通时间之后感测连接至处于数据状态S13的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S13VH。
在步骤828中,电压S14VH被施加于所选字线。当S14VH被施加于所选字线时,感测放大器用于:在第一选通时间之后感测连接至处于数据状态S14的粗阶段的所选字线的存储器单元的第一子集的阈值电压是高于还是低于S14VL,以及在第二选通时间之后感测连接至处于数据状态S14的精阶段的所选字线的存储器单元的第二子集的阈值电压是高于还是低于S14VH。
在步骤830中,电压S15VH被施加于所选字线。当S15VH被施加于所选字线时,感测放大器用于感测连接至所选字线并且被编程到数据状态S15的存储器单元的阈值电压是高于还是低于S15VH。在一个实施方式中,被编程到数据状态S15的存储器单元不经受粗/精编程。
可以在状态机112和/或控制器122的指示下执行图16的过程。例如,在一个实施方式中,状态机112(或者控制器112)将指示解码器114/124/132、电力控制模块116、感测块SB1,SB2,…,SBp和读/写电路128执行图16中所描述的功能。
图17是描述在步骤802-828中的每个步骤期间执行的单个选通感测操作的流程图。在步骤850中,合适的数据状态N验证基准电压VH(例如,S1VH、S2VH、S3VH、S4VH、S5VH、S6VH、S7VH、S8VH、S9VH、S10VH、S11VH、S12VH、S13VH和S14VH)被施加于所选字线。在步骤852中,所有的位线都被充电至标称位线电压(例如,0.7伏特)。如上所述,在步骤854中,对感测放大器的SEN节点同时进行预充电。如上所述,在步骤856中,SEN节点处的电容器具有通过存储器单元放电的机会(参见图6的t5-t6处的电容器516)。在步骤858中,在第一选通时间之后,如上所述,对电容器516(或者SEN节点)的电压进行采样以查看处于粗阶段的各个存储器单元是否导通,使得针对状态N的VL感测存储器单元。在步骤860中,在第二选通时间(其比第一选通时间长)之后,如上所述,对电容器516(或者SEN节点)的电压进行采样以查看处于精阶段的各个存储器单元是否导通,使得针对状态N的VH感测存储器单元。不管各个存储器单元是处于粗阶段还是处于精阶段,在相同时间处对其各自的SEN节点和电容器516进行充电并且同时进行放电。术语“同时地”用于指示多个动作在交叠时间发生,例如,它们在相同时间开始但可以在不同时间结束。
图18是描述用于对连接至共同字线的存储器单元执行编程以达到一个或更多个目标(例如,数据状态或者阈值电压范围)的过程的一个实施方式的流程图。可以将图18的过程执行一次或多次以将数据编程到一组存储器单元。例如,图18的过程可以用于将存储器单元从S0编程到图8A的全序列编程中的S1-S15中的任何一个。图18的过程可以用于将存储器单元编程到图9A-C的三个阶段中的任何一个。图18的过程是可以利用图13的波形的图12B的方法的一个示例实现。
在图10的步骤902中,编程电压(Vpgm)被初始化为开始幅度(例如,~12V-16V或者其它合适的水平)并且由状态机112维护的编程计数器PC被初始化为1。在步骤772中,编程信号Vpgm的编程脉冲被施加于所选字线(被选择用于编程的字线)。在一个实施方式中,被同时编程的一组存储器单元都被连接至同一字线(所选字线)。未选择的字线接收一个或更多个升压电压(例如,~7-11伏特)以执行本领域中已知的升压方案。如果存储器单元应当被编程,则相应的位线接地。另一方面,如果存储器单元应当保持处于其当前阈值电压,则相应的位线被连接至Vdd以禁止编程。
根据上面的论述,步骤904-910用于设置位线电压。在步骤904中,用于处于粗阶段的存储器单元的位线电压被设置成Vcoarse,这是允许在粗阶段中编程的位线电压。在一个实施方式中,Vcoarse为0V。在步骤906中,用于处于精阶段的存储器单元的位线电压被设置成Vfine,这是允许在精阶段中编程的位线电压。在一个实施方式中,Vfine典型地可以为大约0.3V至0.8V。在步骤908中,对于针对精阶段已经被成功验证的存储器单元,位线电压被设置成Vinhibit,使得将阻止这些存储器单元进一步编程。在一个实施方式中,Vinhibit被设置成处于Vdd,其典型地为2.5-5V。还应注意,“禁止进一步编程”是相对于当前编程过程的。在将来,存储器单元块可以被擦除和再次编程。在步骤908中,对于针对前一个编程脉冲之后的粗阶段而被成功验证的存储器单元,位线电压被设置成Vinhibit,使得对于下一编程脉冲针对这些存储器单元暂时阻止编程。这允许在任何另外的编程之前针对VH验证存储器单元,这防止过度编程。
在步骤912中,编程脉冲被同时施加于连接至所选字线的所有存储器单元,使得连接至所选字线的所有存储器单元可能同时被编程。也就是说,在相同时间处或者在交叠时间期间(这两种情况都被认为是同时的)对它们进行编程。以这种方式,除非已经被禁止编程,否则连接至所选字线的所有存储器单元将同时使它们的阈值电压改变。在步骤914中,通过使用一组合适的目标水平执行一个或更多个验证操作来验证合适的存储器单元。图14-17的过程可以用于实现步骤914的验证过程。在步骤916中,确定是否所有存储器单元已经达到其目标阈值单元(通过)。如果是,则编程过程完成并且是成功的,这是因为所有的所选存储器单元都被编程和验证为其目标状态。在步骤918中报告状态“通过”。如果在步骤916中确定不是所有的存储器单元都已经达到其目标阈值电压(失败),则编程过程继续进行。
在步骤920中,系统对尚未达到其各自的目标阈值电压分布的存储器单元的数目进行计数。也就是说,系统对未能通过验证过程的存储器单元的数目进行计数。该计数可以由状态机、控制器或者其它逻辑来实现。在一个实现中,每个感测块将存储其各个单元的状态(通过/失败)。在一个实施方式中,存在一个总计数,其反映未能通过最后的验证步骤的最近被编程的存储器单元的总数目。在另一实施方式中,针对每个数据状态进行单独计数。在步骤922中,确定来自步骤920的计数是否小于等于预定界限。在一个实施方式中,预定界限为能够在对存储器单元的页的读取过程期间被ECC校正的位的数目。如果失败单元的数目小于或等于预定界限,则编程过程可以停止并在步骤918中报告状态“通过”。在这种情形下,对足够的存储器单元进行了正确编程,使得未被完全编程的少数剩余存储器单元能够在读取过程期间使用ECC来校正。在一些实施方式中,步骤920将针对每个扇区、每个目标数据状态或其它单元对失败单元进行计数,并且在步骤922中将这些计数单独地或集体地与阈值进行比较。在另一实施方式中,预定界限可以小于在读取过程期间能够由ECC校正的位的数目以容许将来误差。当对少于一页的所有存储器单元进行编程或者仅针对一个数据状态(或者少于所有状态)的计数进行比较时,则预定界限可以是在对存储器的页的读取过程期间能够由ECC校正的位的数目的一部分(成比例的或者不成比例的)。在一些实施方式中,不预先确定该界限。而是,该界限基于针对该页已计数的误差的数目、所执行的编程擦除周期的数目或者其它标准而改变。
如果失败存储器单元的数目不小于预定界限,则编程过程在步骤924处继续,并且对照编程界限值(PL)核查编程计数器PC。编程界限值的示例包括20和30;然而,可以使用其它值。如果编程计数器PC不小于编程界限值PL,则编程过程被认为已经失败,并且在步骤926中报告状态失败。如果编程计数器PC小于编程界限值PL,则该过程在步骤928处继续,在此期间编程计数器PC递增1并且编程电压Vpgm步进至下一幅度。例如,下一脉冲的幅度将比先前的脉冲大一个步长(例如,0.1-0.4伏特的步长)。在步骤928之后,过程循环返回至步骤904,使得可以设置位线并且将另一编程脉冲施加于所选字线。
可以在状态机112和/或控制器122的指示下执行图18的过程。例如,在一个实施方式中,状态机112(或者控制器122)将指示解码器114/124/132、电力控制模块116、感测块SB1,SB2,…,SBp以及读/写电路128执行图18中所描述的功能。
图19是描述对存储器单元执行的验证过程的一个实施方式的流程图。在一个实施方式中,针对在图18的步骤914期间被编程的每个存储器单元执行图19的过程,并且可以使用图19的过程来实现图14和/或图16的过程。图14和图16的过程处于系统级,而图19的过程处于存储器单元级。
在步骤1002中,状态N的合适的基准电压被施加于字线。如果存储器单元当前处于编程过程的粗阶段(步骤1004),则针对感测操作将施加较低位线电压VBLC_VL(步骤1006)。在步骤1008中,执行感测操作(参见以上论述),并且在较短的选通时间之后感测存储器单元。如果实现图14的过程(使用不同的位线电压)并且不使用不同的选通时间,则步骤1008将在标称选通时间之后进行感测。然而,在另一实施方式中,系统将实现图14的多个位线电压以及图16的多个选通时间,使得将使用较低位线电压来实现步骤1006并且将通过在较短的选通时间之后进行感测来实现步骤1008。在实施图16的不同选通时间而不实施图14的不同位线电压的另一实施方式中,则步骤1006将包括施加标称位线电压。如果验证成功(步骤1010),则存储器单元在步骤1012中被切换至编程的精阶段。在步骤1014中,系统针对下一编程脉冲(参见图18的步骤910)暂时禁止存储器单元的编程。如果验证不成功(步骤1010),则存储器单元继续处于粗阶段(步骤1016)。
如上所述,如果存储器单元处于精阶段(步骤1004),则施加标称位线电压VBLC_VH以用于感测。在步骤1022中,系统在标称选通时间之后进行感测。如果验证成功(步骤1024),则禁止存储器进一步编程(步骤1026)。如果验证不成功,则存储器单元继续处于精阶段(步骤1028)。
可以在状态机112和/或控制器122的指示下执行图19的过程。例如,在一个实施方式中,状态机112(或者控制器112)将指示电力控制模块116、感测块SB1,SB2,…,SBp以及读/写电路128执行图19中所描述的功能。
图20示出了被施加于所选字线的示例波形并且说明了两个示例存储器单元的行为。两个存储器单元(存储器单元#1和存储器单元#2)中的每个可以表示一组或多个存储器单元。图20的波形示出了编程脉冲1102、1104、1106、1108和1110。该波形也示出了验证脉冲1120、1122、1124、1126。编程脉冲的幅度随着每个相继脉冲而增大。验证脉冲是针对相同数据状态的,因此幅度不增大。注意,图20在编程脉冲与验证脉冲之间示出了省略号,以指示针对不同的数据状态,每个编程脉冲之间可能会存在多个验证脉冲。然而,因为两个存储器单元(存储器单元#1和存储器单元#2)要被验证为相同的数据状态并且将仅针对该相同的数据状态基于相同的验证脉冲来验证这两个存储器单元,所以图20针对相同的数据状态仅在每个脉冲之间示出了相同的验证脉冲。
在图20的波形下方是两行方框。上面一行方框说明存储器单元#1在相应方框上方的脉冲期间的行为。下面一行方框说明存储器单元#2在相应方框上方所描绘的脉冲期间的行为。在编程脉冲1102期间,存储器单元#1和存储器单元#2两者都处于粗编程阶段。响应于基准电压(验证脉冲1120的幅度),验证存储器单元#1和存储器单元#2并且确定两者的阈值电压小于针对数据状态N的粗阶段验证水平VL。因此,这两个存储器单元保持处于粗编程阶段(参见图19的步骤1010和1016)。在编程脉冲1104期间,存储器单元#1和存储器单元#2两者接收粗阶段中的编程。响应于由验证脉冲1122提供的基准电压,确定了存储器单元#1和存储器单元#2两者的阈值电压大于针对数据状态N的粗阶段验证水平VL。因此,这两个存储器单元将切换至精阶段(图19的步骤1012),并且将针对下一编程脉冲暂时禁止这两个存储器单元编程(图19的步骤1014)。也就是说,较大位线电压(例如,Vinhibit)将被施加于各个位线,使得即使存储器单元将接收到编程脉冲,存储器单元的阈值电压也不会改变。响应于验证脉冲1124,将针对数据状态N的验证水平VH验证这两个存储器单元。注意,被施加于存储器单元的验证脉冲具有相同的幅度,而与存储器单元是否相对于VL或VH验证无关。响应于结合验证脉冲1124执行的验证,确定了存储器单元#1的阈值电压依然低于VH,而存储器单元#2的阈值电压超过VH。因此,存储器单元#1将继续处于精阶段(图19的步骤1028),而将会禁止存储器单元#2进一步编程(图19的步骤1026)。在编程脉冲1108期间,存储器单元#1将会经历精阶段编程,而存储器单元#2将被禁止。响应于验证脉冲1126,将相对于针对数据状态N的VH验证存储器单元#1,而将不验证存储器单元#2。确定了存储器单元#1的阈值电压大于VH;因此,将禁止存储器单元#1进一步编程。
在一个实施方式中,因为存储器单元略过了编程脉冲,所以在第二编程脉冲(即编程脉冲1108)期间施加的位线电压将比标称值高0.9V,因此,导致在编程脉冲之间存储器单元在幅度上会经历大于典型增大的增大。针对一个编程脉冲而将位线电压增大为比标称VBLC_VL高出0.9V将会降低过度编程的可能性,因为针对该一个脉冲编程将被减慢。
图21A至图21D是说明示例存储器单元的行为的表。图21A的表说明图20的存储器单元#1的行为。图21B的表说明图20的存储器单元#2的行为。每个表包括四个列。左侧列指示编程脉冲编号,左起第二列指示编程脉冲期间的位线电压,第三列指示验证操作期间的位线电压,以及右侧列指示各个验证过程的结果。
考虑图21A,存储器单元在粗编程阶段开始,直到在脉冲N之后通过验证。在粗编程阶段期间,编程脉冲期间的位线电压将为Vcoarse。验证操作期间的位线电压将为VBLC_VL。在通过粗验证(即阈值电压Vt大于VH)之后,将通过在下一编程脉冲(N+1)期间将Vinhibit施加于位线来针对下一编程脉冲禁止存储器单元。针对剩下的验证操作,位线在验证操作期间将为VBLC_VH并且在编程脉冲期间将为Vfine。由此看出,存储器单元将需要多个编程脉冲来完成精阶段,并且最终在编程脉冲#M之后将会通过针对精阶段的验证过程。
图21B中的表的存储器单元在编程脉冲N之后将会通过针对粗阶段的验证操作。在紧接于通过针对粗阶段的验证之后的编程脉冲N+1期间,通过将Vinhibit施加于位线来禁止存储器单元编程。在紧随其后的针对精阶段的验证操作期间,存储器单元将通过验证;因此,将禁止该存储器单元进一步编程。这是存储器单元响应于编程脉冲N而使其阈值电压超过VL和VH的情况。
在一些实施方式中,不同的存储器单元可以处于精阶段而其他存储器单元仍处于粗阶段。系统被配置成通过执行感测过程而针对粗阶段验证水平VL验证存储器单元的第一子集以及针对精阶段验证水平VH验证存储器单元的第二子集,其中感测过程包括:(1)将基准电压施加在针对所有被编程的存储器单元的共同字线上;以及(2)[a]在将第一位线电压施加于存储器单元的第一子集时将第二位线电压施加于存储器单元的第一子集之后进行感测,或者(2)[b]在第一选通时间之后响应于基准电压感测存储器单元的第一子集并且在第二选通时间之后感测存储器单元的第二子集。
在上文关于图21A和图21B描述的实施方式包括以下特征:在紧接在粗阶段过程中的成功验证之后的编程脉冲期间禁止存储器单元编程。该特征是为了防止过度编程。在一些实施方式中,为了使编程加速,在接在粗阶段过程中的成功验证之后的编程脉冲中将不禁止存储器单元。这样的实施方式将接受过度编程的风险和/或将相应地设置位线电压或编程脉冲的幅度以减小过度编程的风险。在接在粗阶段过程中的成功验证之后的编程脉冲期间不禁止编程的实施方式能够利用图14中所述的用于改变位线电压的技术和/或图16中所述的用于改变选通时间的技术。图21C的表对应于图20的存储器单元#1。图21D的表对应于图20的存储器单元#2。
在图21C的示例中,存储器单元在编程脉冲N之后通过粗验证。在粗验证期间,存储器单元在编程期间在其位线上接收Vcoarse并且在验证期间在其位线上接收VBLC_VL。在紧接在成功地验证粗阶段之后的编程脉冲(编程脉冲N+1)中,位线在编程脉冲期间接收Vfine直到针对精阶段成功地验证存储器单元,并且存储器单元在验证操作期间在其位线上接收VBLC_VH。在图21C的示例中,存储器单元将需要若干编程脉冲直到编程脉冲M,以通过针对精阶段的验证。之后,通过将Vinhibit施加到其位线来禁止该存储器单元进一步编程。
在图21D的示例中,存储器单元在编程脉冲期间使Vcoarse施加于其位线并且在验证操作期间使VBLC_VL施加于其位线。图21D的存储器单元在编程脉冲N之后通过编程的粗阶段。在下一编程脉冲N+1期间,存储器单元的位线将接收Vfine,并且在随后的验证操作期间,位线将接收VBLC_VH。在编程脉冲N+1之后执行的验证操作中,如上所述,存储器单元将因为该存储器单元的阈值电压大于VH(事实上其在编程脉冲N之后大于VH)而通过。因此,通过在该编程过程的所有后续编程脉冲期间将Vinhibit施加于存储器单元的位线来禁止该存储器单元编程。
一个实施方式包括一种设备,该设备包括:多个存储器单元;以及与存储器单元通信的一个或更多个控制电路。一个或更多个控制电路被配置成将一系列编程轮次应用于存储器单元。一个或更多个控制电路被配置成在编程轮次之间针对目标数据状态的第一验证水平感测(例如,验证)存储器单元的第一子集,并且针对目标数据状态的第二验证水平感测(例如,验证)存储器单元的第二子集。对于被感测成已经达到第一阶段验证水平的存储器单元,一个或更多个控制电路被配置成针对后续编程轮次暂时禁止编程并且将该存储器单元添加到第二子集。对于被感测成已经达到第二阶段验证水平的存储器单元,一个或更多个控制电路被配置成禁止进一步编程。
一个实施方式包括一种设备,该设备包括:多个存储器单元;与存储器单元通信的编程电路,该编程电路被配置成将一系列编程脉冲施加于存储器单元;验证电路,其被配置成在编程脉冲之间检测存储器单元的阈值电压满足第一电压水平的第一子集以及存储器单元的阈值电压满足第二电压水平的第二子集;以及锁定电路,其被配置成在该系列中的后续编程脉冲期间停止存储器单元的第二子集的编程,并且在该系列中的至少一个后续编程脉冲期间停止存储器单元的第一子集的编程。
一个实施方式包括一种方法,该方法包括:(a)将编程脉冲施加于第一存储器单元;(b)针对目标数据状态的第一验证水平验证第一存储器单元;(c)如果第一存储器单元尚未达到目标数据状态的第一验证水平,则重复(a)-(c);(d)如果第一存储器单元达到了目标数据状态的第一验证水平,则针对下一编程脉冲禁止第一存储器单元编程;(e)针对目标数据状态的第二阶段水平验证第一存储器单元;(f)如果第一存储器单元达到了目标数据状态的第二验证水平,则禁止第一存储器单元编程;并且(g)如果第一存储器单元尚未达到目标数据状态的第二验证水平,则在不禁止第一存储器单元编程的情况下将下一编程脉冲施加于第一存储器单元,并且重复(e)-(g)。
一个实施方式包括一种设备,该设备包括:以三维存储器结构布置的多个存储器单元;以及用于针对存储器单元执行两阶段编程的装置,为了验证编程,通过以下方式配置用于执行两阶段编程的装置:将基准电压施加于存储器单元,以及通过将不同的位线电压施加于连接至不同存储器单元的不同位线,响应于基准电压来感测多个存储器单元中的不同存储器单元是否已达到数据状态的不同验证水平。
一个示例实现还包括连接至多个存储器单元中的每个存储器单元的共同字线,用于执行两阶段编程的装置通过驱动共同字线上的基准电压将该基准电压施加于存储器单元。在一个实施方式中,用于执行两阶段编程的装置被配置成通过以下方式感测多个存储器单元中的不同存储器单元是否处于不同的数据状态:将第一位线电压施加于连接至存储器单元的第一子集的第一位线子集,将第二位线电压施加于连接至存储器单元的第二子集的第二位线子集,响应于基准电压和第一位线电压来感测存储器单元的第一子集的阈值电压是否大于数据状态的第一验证水平,以及响应于第一基准电压和第二位线电压来感测存储器单元的第二子集的阈值电压是否大于数据状态的第二验证水平。在一个实施方式中,用于执行两阶段编程的装置同时地执行:对存储器单元的第一子集的阈值电压是否大于第一验证水平的感测;以及对存储器单元的第二子集的阈值电压是否大于第二验证水平的感测。
为了本文档的目的,应注意,附图中描绘的各种特征的尺寸不一定按比例绘制。
为了本文档的目的,说明书中引用的“实施方式”、“一个实施方式”、“一些实施方式”或“另一实施方式”可以用于描述不同的实施方式或者同一实施方式。
为了本文档的目的,连接可以为直接连接或间接连接(例如,经由一个或更多个其它部分)。在一些情况下,当元件被称为连接或耦合至另一元件时,该元件可以直接地连接至其它元件或者经由中间元件间接地连接至其它元件。当元件被称为直接地连接至另一元件时,那么在该元件与其它元件之间不存在中间元件。在两个装置直接或间接连接以使得这两个装置能够在它们之间传递电信号的情况下,该两个装置是“进行通信”的。
为了本文档的目的,术语“基于”可以被理解为“至少部分地基于”。
为了本文档的目的,在没有附加上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数值术语可以不暗指物体的顺序,而是用于标识不同物体的标识目的。
为了本文档的目的,术语物体的“组”指代一个或更多个物体的“组”。
已经出于说明和描述的目的呈现了本发明的在前详细描述。该详细描述并不意在穷举或将本发明限制为所公开的确切形式。根据以上教导,很多修改和变型是可能的。选择所描述的实施方式以最佳地解释本发明的原理及其实际应用,从而使得本领域普通技术人员能够最佳地利用本发明的各种实施方式和适合所构思的特定应用的本发明的各种变型。意在由所附权利要求来限定本发明的范围。
Claims (21)
1.一种设备,包括:
多个存储器单元;以及
与所述存储器单元通信的一个或更多个控制电路,所述一个或更多个控制电路被配置成将一系列编程轮次应用于所述存储器单元,所述一个或更多个控制电路被配置成在编程轮次之间针对目标数据状态的第一验证水平感测所述存储器单元的第一子集,并且针对所述目标数据状态的第二验证水平感测所述存储器单元的第二子集,对于被感测成已经达到所述第一验证水平的存储器单元,所述一个或更多个控制电路被配置成针对后续编程轮次暂时禁止编程并且将所述存储器单元添加到所述第二子集,对于被感测成已经达到所述第二验证水平的存储器单元,所述一个或更多个控制电路被配置成禁止进一步编程。
2.根据权利要求1所述的设备,其中:
所述一系列编程轮次是包括粗阶段和精阶段的多阶段编程过程的部分。
3.根据权利要求2所述的设备,其中:
所述第一验证水平是所述粗阶段的阈值电压基准;
所述第二验证水平是所述精阶段的阈值电压基准,所述第二验证水平的幅度高于所述第一验证水平;
所述编程轮次包括一系列编程脉冲,所述一系列编程脉冲导致针对所述存储器单元的至少一个子集的阈值电压的增大;
所述一个或更多个控制电路被配置成在所述精阶段中将电压施加于存储器单元以使编程减慢;
被所述多阶段编程过程编程的存储器单元以所述粗阶段开始,并且在其各自的阈值电压被检测成高于所述第一验证水平且低于所述第二验证水平时移至所述精阶段;
所述一个或更多个控制电路被配置成在所述精阶段中将中间位线电压施加于存储器单元以减慢阈值电压的任何增大;
所述一个或更多个控制电路被配置成将禁止位线电压施加于特定存储器单元以在所述特定存储器单元的阈值电压被检测成高于所述第二验证水平时禁止进一步的编程;并且
对于被验证为已经达到所述第一验证水平的所述存储器单元,所述一个或更多个控制电路被配置成针对下一编程脉冲暂时禁止编程并且将所述存储器单元添加到所述第二子集。
4.根据权利要求1所述的设备,其中:
所述一个或更多个控制电路被配置成在针对所述第二验证水平感测所述存储器单元的所述第二子集的同时,针对所述第一验证水平感测所述存储器单元的所述第一子集。
5.根据权利要求1所述的设备,其中:
所述一个或更多个控制电路被配置成:通过当在感测过程期间将第二位线电压施加于所述存储器单元的所述第二子集时将第一位线电压施加于所述存储器单元的所述第一子集,针对所述第一验证水平感测所述存储器单元的所述第一子集以及针对所述第二验证水平感测所述存储器单元的所述第二子集。
6.根据权利要求1所述的设备,其中:
所述存储器单元连接至共同字线;并且
所述一个或更多个控制电路被配置成:当在感测过程期间将基准电压施加于所述共同字线时,针对所述第一验证水平感测所述存储器单元的所述第一子集以及针对所述第二验证水平感测所述存储器单元的所述第二子集。
7.根据权利要求6所述的设备,其中:
所述一个或更多个控制电路被配置成:通过当在所述感测过程期间将第二位线电压施加于所述存储器单元的所述第一子集时以及在将所述基准电压施加于所述共同字线时将第一位线电压施加于所述存储器单元的所述第一子集,针对所述第一验证水平感测所述存储器单元的所述第一子集,并且针对所述第二验证水平感测所述存储器单元的所述第二子集,所述一个或更多个控制电路被配置成响应于所述基准电压和所述第一位线电压感测所述存储器单元的所述第一子集,所述一个或更多个控制电路被配置成响应于所述基准电压和所述第二位线电压感测所述存储器单元的所述第二子集。
8.根据权利要求1所述的设备,其中:
所述一个或更多个控制电路被配置成:通过执行感测过程而针对所述第一验证水平状态感测所述存储器单元的所述第一子集并且针对所述第二验证水平感测所述存储器单元的所述第二子集,所述感测过程包括所述一个或更多个控制电路将基准电压施加于所述存储器单元的所述第一子集和所述存储器单元的所述第二子集,在第一选通时间之后响应于所述基准电压感测所述存储器单元的所述第一子集,以及在第二选通时间之后感测所述存储器单元的所述第二子集,所述第一选通时间和所述第二选通时间交叠,所述第一选通时间和所述第二选通时间不同。
9.根据权利要求1所述的设备,其中:
对于被感测成已经达到所述第一验证水平的所述存储器单元,所述一个或更多个控制电路被配置成针对多个编程轮次暂时禁止编程;并且
所述一个或更多个控制电路被配置成将额外的编程轮次应用于被添加到所述第二子集的所述存储器单元中的至少一些存储器单元,直到满足所述第二验证水平。
10.根据权利要求1所述的设备,其中:
所述存储器单元具有三维存储器结构。
11.一种设备,包括:
多个存储器单元;
与所述存储器单元通信的编程电路,所述编程电路被配置成将一系列编程脉冲施加于所述存储器单元;
验证电路,其被配置成在编程脉冲之间检测阈值电压满足第一电压水平的所述存储器单元的第一子集以及阈值电压满足第二电压水平的所述存储器单元的第二子集;以及
锁定电路,其被配置成在所述一系列编程脉冲中的后续编程脉冲期间停止存储器单元的所述第二子集的编程,并且在所述一系列编程脉冲中的至少一个后续编程脉冲期间停止存储器单元的所述第一子集的编程。
12.根据权利要求11所述的设备,其中:
所述第一子集中的存储器单元与所述第二子集中的存储器单元不同。
13.根据权利要求11所述的设备,其中所述验证电路包括:
低阈值电压锁定电路,其被配置成在所述一系列编程脉冲中的至少一个后续编程脉冲期间停止存储器单元的所述第一子集的编程;以及
高阈值电压锁定电路,其被配置成在所述一系列编程脉冲中的后续编程脉冲期间停止存储器单元的所述第二子集的编程。
14.一种方法,包括:
(a)将编程脉冲施加于第一存储器单元;
(b)针对目标数据状态的第一验证水平验证所述第一存储器单元;
(c)如果所述第一存储器单元尚未达到所述目标数据状态的所述第一验证水平,则重复(a)-(c);
(d)如果所述第一存储器单元达到了所述目标数据状态的所述第一验证水平,则针对下一编程脉冲禁止所述第一存储器单元编程;
(e)针对所述目标数据状态的第二验证水平验证所述第一存储器单元;
(f)如果所述第一存储器单元达到了所述目标数据状态的所述第二验证水平,则禁止所述第一存储器单元编程;以及
(g)如果所述第一存储器单元尚未达到所述目标数据状态的所述第二验证水平,则在不禁止所述第一存储器单元编程的情况下通过位线电压将所述下一编程脉冲施加于所述第一存储器单元,并且重复(e)-(g)。
15.根据权利要求14所述的方法,其中:
所述将编程脉冲施加于所述第一存储器单元包括将第一位线电压施加于连接至所述第一存储器单元的位线;
所述在不禁止所述第一存储器单元编程的情况下将所述下一编程脉冲施加于所述第一存储器单元包括:将第二位线电压施加于所述位线以使编程减慢,所述第二位线电压高于所述第一位线电压;并且
所述禁止所述第一存储器单元编程包括将第三位线电压施加于所述位线,所述第三位线电压高于所述第二位线电压。
16.根据权利要求14所述的方法,其中:
所述针对所述目标数据状态的所述第一验证水平验证所述第一存储器单元包括将基准电压施加于连接至所述第一存储器单元的字线,将第一位线电压施加于连接至所述第一存储器单元的位线以及响应于所述基准电压和第一位线电压进行感测;并且
所述针对所述目标数据状态的所述第二验证水平验证所述第一存储器单元包括将所述基准电压施加于连接至所述第一存储器单元的所述字线,将第二位线电压施加于连接至所述第一存储器单元的所述位线以及响应于所述基准电压和第二位线电压进行感测。
17.根据权利要求14所述的方法,其中:
所述针对所述目标数据状态的所述第一验证水平验证所述第一存储器单元包括将基准电压施加于连接至所述第一存储器单元的字线以及在第一选通时间之后响应于所述基准电压进行感测;并且
所述针对所述目标数据状态的所述第二验证水平验证所述第一存储器单元包括将所述基准电压施加于连接至所述第一存储器单元的所述字线以及在第二选通时间之后响应于所述基准电压进行感测,所述第一选通时间和所述第二选通时间不同并且交叠。
18.根据权利要求14所述的方法,其中:
所述针对所述目标数据状态的所述第一验证水平验证所述第一存储器单元包括将基准电压施加于连接至所述第一存储器单元的字线,将所述第一位线电压施加于连接至所述第一存储器单元的位线以及在第一选通时间之后响应于所述基准电压和第一位线电压进行感测;并且
所述针对所述目标数据状态的所述第二验证水平验证所述第一存储器单元包括将所述基准电压施加于连接至所述第一存储器单元的所述字线,将第二位线电压施加于连接至所述第一存储器单元的所述位线以及在第二选通时间之后响应于所述基准电压和第二位线电压进行感测,所述第一选通时间与所述第二选通时间不同并且交叠。
19.根据权利要求14所述的方法,其中:
当所述第一存储器单元和第二存储器单元两者接收共同基准电压时,与针对所述目标数据状态的所述第二验证水平验证所述第二存储器单元同时地执行所述针对所述目标数据状态的所述第一验证水平验证所述第一存储器单元。
20.根据权利要求14所述的方法,其中:
当所述第一存储器单元和第二存储器单元两者接收所述下一编程脉冲时,与在所述下一编程脉冲期间允许所述第二存储器单元编程同时地执行所述针对所述下一编程脉冲禁止所述第一存储器单元编程。
21.一种设备,包括:
以三维存储器结构布置的多个存储器单元;以及
用于针对所述存储器单元执行两阶段编程的装置,为了验证编程,通过以下方式来配置用于执行两阶段编程的所述装置:将基准电压施加于所述存储器单元,以及通过将不同的位线电压施加于连接至不同存储器单元的不同位线,来响应于所述基准电压感测所述多个存储器单元中的不同存储器单元是否已经达到数据状态的不同验证水平。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562150972P | 2015-04-22 | 2015-04-22 | |
US62/150,972 | 2015-04-22 | ||
US14/841,182 US9570179B2 (en) | 2015-04-22 | 2015-08-31 | Non-volatile memory with two phased programming |
US14/841,182 | 2015-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106067322A true CN106067322A (zh) | 2016-11-02 |
CN106067322B CN106067322B (zh) | 2020-03-10 |
Family
ID=57147983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610256755.7A Active CN106067322B (zh) | 2015-04-22 | 2016-04-22 | 利用两阶段编程的非易失性存储器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9570179B2 (zh) |
CN (1) | CN106067322B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108389601A (zh) * | 2017-02-02 | 2018-08-10 | 三星电子株式会社 | 非易失性存储器装置的软擦除方法 |
CN108573728A (zh) * | 2017-03-07 | 2018-09-25 | 东芝存储器株式会社 | 半导体存储装置及存储器系统 |
CN110910940A (zh) * | 2018-09-18 | 2020-03-24 | 北京兆易创新科技股份有限公司 | 存储器的编程方法、装置、存储设备和存储介质 |
CN110992999A (zh) * | 2019-12-10 | 2020-04-10 | 北京新忆科技有限公司 | 存储器的写入方法和写入装置、存储器芯片 |
CN111341368A (zh) * | 2018-12-18 | 2020-06-26 | 美光科技公司 | 使用多步阶编程脉冲对存储器单元进行编程的设备及方法 |
CN111356980A (zh) * | 2020-02-20 | 2020-06-30 | 长江存储科技有限责任公司 | 对多存储片存储器件进行编程的方法 |
CN111406291A (zh) * | 2018-06-21 | 2020-07-10 | 闪迪技术有限公司 | 非易失性存储器中的交错编程和验证 |
CN112270946A (zh) * | 2020-10-29 | 2021-01-26 | 长江存储科技有限责任公司 | 存储器编程方法、装置及电子设备 |
CN112927741A (zh) * | 2019-10-18 | 2021-06-08 | 长江存储科技有限责任公司 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
CN113284538A (zh) * | 2020-02-19 | 2021-08-20 | 闪迪技术有限公司 | 具有程序验证跳过的非易失性存储器 |
WO2023028898A1 (zh) * | 2021-08-31 | 2023-03-09 | 长江存储科技有限责任公司 | 存储装置的编程方法、存储装置及存储系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7916544B2 (en) * | 2008-01-25 | 2011-03-29 | Micron Technology, Inc. | Random telegraph signal noise reduction scheme for semiconductor memories |
KR20190073943A (ko) * | 2017-12-19 | 2019-06-27 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
JP7051484B2 (ja) | 2018-02-22 | 2022-04-11 | キオクシア株式会社 | 半導体メモリ |
US10910075B2 (en) | 2018-11-13 | 2021-02-02 | Sandisk Technologies Llc | Programming process combining adaptive verify with normal and slow programming speeds in a memory device |
US10748622B2 (en) | 2019-01-21 | 2020-08-18 | Sandisk Technologies Llc | State adaptive predictive programming |
CN110431633B (zh) * | 2019-03-26 | 2020-09-25 | 长江存储科技有限责任公司 | 非易失性存储器器件和用于通过施加多个位线偏置电压在非易失性存储器器件中编程的方法 |
WO2020191612A1 (en) * | 2019-03-26 | 2020-10-01 | Yangtze Memory Technologies Co., Ltd. | Method for programming in non-volatile memory device by applying multiple bitline bias voltages |
US10811111B1 (en) | 2019-03-26 | 2020-10-20 | Yangtze Memory Technologies Co., Ltd. | Non-volatile memory device and method for programming in non-volatile memory device by applying multiple bitline bias voltages |
US11682459B2 (en) * | 2020-05-13 | 2023-06-20 | Silicon Storage Technology, Inc. | Analog neural memory array in artificial neural network comprising logical cells and improved programming mechanism |
US11887677B2 (en) | 2022-03-22 | 2024-01-30 | Sandisk Technologies Llc | Quick pass write programming techniques in a memory device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599224B2 (en) * | 2007-07-03 | 2009-10-06 | Sandisk Corporation | Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing |
CN102203874A (zh) * | 2008-10-24 | 2011-09-28 | 桑迪士克股份有限公司 | 以高分辨率可变初始编程脉冲对非易失性存储器编程 |
US20120188824A1 (en) * | 2009-12-15 | 2012-07-26 | Changyuan Chen | Programming non-volatile storage with fast bit detection and verify skip |
CN102820057A (zh) * | 2011-06-08 | 2012-12-12 | 三星电子株式会社 | 非易失性存储装置及编程非易失性存储装置的方法 |
US20130094294A1 (en) * | 2011-10-13 | 2013-04-18 | Donghun Kwak | Nonvolatile memory device, programming method of nonvolatile memory device and memory system including nonvolatile memory device |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5339274A (en) | 1992-10-30 | 1994-08-16 | International Business Machines Corporation | Variable bitline precharge voltage sensing technique for DRAM structures |
US6141244A (en) | 1999-09-02 | 2000-10-31 | Advanced Micro Devices, Inc. | Multi level sensing of NAND memory cells by external bias current |
JP3631463B2 (ja) | 2001-12-27 | 2005-03-23 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7073103B2 (en) | 2002-12-05 | 2006-07-04 | Sandisk Corporation | Smart verify for multi-state memories |
US7454324B1 (en) | 2003-01-10 | 2008-11-18 | James Andrew Garrard Seawright | Selection of initial states for formal verification |
KR100515060B1 (ko) | 2003-08-13 | 2005-09-14 | 삼성전자주식회사 | 비트 라인의 프리차지 레벨을 일정하게 유지하는 불휘발성반도체 메모리 장치 |
US6888758B1 (en) | 2004-01-21 | 2005-05-03 | Sandisk Corporation | Programming non-volatile memory |
US7139198B2 (en) | 2004-01-27 | 2006-11-21 | Sandisk Corporation | Efficient verification for coarse/fine programming of non-volatile memory |
US7020026B2 (en) | 2004-05-05 | 2006-03-28 | Sandisk Corporation | Bitline governed approach for program control of non-volatile memory |
US7310255B2 (en) | 2005-12-29 | 2007-12-18 | Sandisk Corporation | Non-volatile memory with improved program-verify operations |
US7564715B2 (en) | 2007-02-20 | 2009-07-21 | Sandisk Corporation | Variable initial program voltage magnitude for non-volatile storage |
US7532516B2 (en) | 2007-04-05 | 2009-05-12 | Sandisk Corporation | Non-volatile storage with current sensing of negative threshold voltages |
US7800094B2 (en) | 2007-06-11 | 2010-09-21 | Macronix International Co., Ltd. | Resistance memory with tungsten compound and manufacturing |
US7471567B1 (en) | 2007-06-29 | 2008-12-30 | Sandisk Corporation | Method for source bias all bit line sensing in non-volatile storage |
US7508715B2 (en) | 2007-07-03 | 2009-03-24 | Sandisk Corporation | Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing |
US7551477B2 (en) | 2007-09-26 | 2009-06-23 | Sandisk Corporation | Multiple bit line voltages based on distance |
US7800945B2 (en) | 2008-06-12 | 2010-09-21 | Sandisk Corporation | Method for index programming and reduced verify in nonvolatile memory |
US7826271B2 (en) | 2008-06-12 | 2010-11-02 | Sandisk Corporation | Nonvolatile memory with index programming and reduced verify |
US8218381B2 (en) | 2009-11-24 | 2012-07-10 | Sandisk Technologies Inc. | Programming memory with sensing-based bit line compensation to reduce channel-to-floating gate coupling |
US8223556B2 (en) | 2009-11-25 | 2012-07-17 | Sandisk Technologies Inc. | Programming non-volatile memory with a reduced number of verify operations |
US8582381B2 (en) | 2012-02-23 | 2013-11-12 | SanDisk Technologies, Inc. | Temperature based compensation during verify operations for non-volatile storage |
US8885416B2 (en) | 2013-01-30 | 2014-11-11 | Sandisk Technologies Inc. | Bit line current trip point modulation for reading nonvolatile storage elements |
US9082502B2 (en) | 2013-10-10 | 2015-07-14 | Sandisk Technologies Inc. | Bit line and compare voltage modulation for sensing nonvolatile storage elements |
KR102179845B1 (ko) * | 2014-02-03 | 2020-11-17 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 프로그램 방법 |
-
2015
- 2015-08-31 US US14/841,182 patent/US9570179B2/en active Active
-
2016
- 2016-04-22 CN CN201610256755.7A patent/CN106067322B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599224B2 (en) * | 2007-07-03 | 2009-10-06 | Sandisk Corporation | Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing |
CN102203874A (zh) * | 2008-10-24 | 2011-09-28 | 桑迪士克股份有限公司 | 以高分辨率可变初始编程脉冲对非易失性存储器编程 |
US20120188824A1 (en) * | 2009-12-15 | 2012-07-26 | Changyuan Chen | Programming non-volatile storage with fast bit detection and verify skip |
CN102820057A (zh) * | 2011-06-08 | 2012-12-12 | 三星电子株式会社 | 非易失性存储装置及编程非易失性存储装置的方法 |
US20130094294A1 (en) * | 2011-10-13 | 2013-04-18 | Donghun Kwak | Nonvolatile memory device, programming method of nonvolatile memory device and memory system including nonvolatile memory device |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108389601B (zh) * | 2017-02-02 | 2021-12-07 | 三星电子株式会社 | 非易失性存储器装置的软擦除方法 |
CN108389601A (zh) * | 2017-02-02 | 2018-08-10 | 三星电子株式会社 | 非易失性存储器装置的软擦除方法 |
CN108573728A (zh) * | 2017-03-07 | 2018-09-25 | 东芝存储器株式会社 | 半导体存储装置及存储器系统 |
CN108573728B (zh) * | 2017-03-07 | 2022-03-04 | 铠侠股份有限公司 | 半导体存储装置及存储器系统 |
CN111406291A (zh) * | 2018-06-21 | 2020-07-10 | 闪迪技术有限公司 | 非易失性存储器中的交错编程和验证 |
CN111406291B (zh) * | 2018-06-21 | 2023-08-22 | 闪迪技术有限公司 | 非易失性存储器中的交错编程和验证 |
CN110910940A (zh) * | 2018-09-18 | 2020-03-24 | 北京兆易创新科技股份有限公司 | 存储器的编程方法、装置、存储设备和存储介质 |
CN110910940B (zh) * | 2018-09-18 | 2021-10-29 | 北京兆易创新科技股份有限公司 | 存储器的编程方法、装置、存储设备和存储介质 |
CN111341368A (zh) * | 2018-12-18 | 2020-06-26 | 美光科技公司 | 使用多步阶编程脉冲对存储器单元进行编程的设备及方法 |
CN112927741A (zh) * | 2019-10-18 | 2021-06-08 | 长江存储科技有限责任公司 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
CN112927741B (zh) * | 2019-10-18 | 2022-09-30 | 长江存储科技有限责任公司 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
US11721403B2 (en) | 2019-10-18 | 2023-08-08 | Yangtze Memory Technologies Co., Ltd. | Method of programming and verifying memory device and related memory device |
CN110992999A (zh) * | 2019-12-10 | 2020-04-10 | 北京新忆科技有限公司 | 存储器的写入方法和写入装置、存储器芯片 |
CN113284538A (zh) * | 2020-02-19 | 2021-08-20 | 闪迪技术有限公司 | 具有程序验证跳过的非易失性存储器 |
CN111356980A (zh) * | 2020-02-20 | 2020-06-30 | 长江存储科技有限责任公司 | 对多存储片存储器件进行编程的方法 |
US11133077B2 (en) | 2020-02-20 | 2021-09-28 | Yangtze Memory Technologies Co., Ltd. | Method of programming multi-plane memory device for accelerating program speed and reducing program disturbance |
CN112965667A (zh) * | 2020-02-20 | 2021-06-15 | 长江存储科技有限责任公司 | 对多平面存储器件进行编程的方法和多平面存储器件 |
CN111356980B (zh) * | 2020-02-20 | 2021-03-12 | 长江存储科技有限责任公司 | 对多平面存储器件进行编程的方法 |
US11776641B2 (en) | 2020-02-20 | 2023-10-03 | Yangtze Memory Technologies Co., Ltd. | Method of programming multi-plane memory device |
CN112270946B (zh) * | 2020-10-29 | 2022-10-04 | 长江存储科技有限责任公司 | 存储器编程方法、装置及电子设备 |
CN112270946A (zh) * | 2020-10-29 | 2021-01-26 | 长江存储科技有限责任公司 | 存储器编程方法、装置及电子设备 |
WO2023028898A1 (zh) * | 2021-08-31 | 2023-03-09 | 长江存储科技有限责任公司 | 存储装置的编程方法、存储装置及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
US9570179B2 (en) | 2017-02-14 |
US20160314843A1 (en) | 2016-10-27 |
CN106067322B (zh) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106067322A (zh) | 利用两阶段编程的非易失性存储器 | |
CN108962317A (zh) | 使用用于非易失性存储器的受控弱升压的多状态编程 | |
KR101974686B1 (ko) | 혼성 록아웃을 가진 비휘발성 메모리를 위한 콤팩트한 고속 감지 증폭기 | |
US9236128B1 (en) | Voltage kick to non-selected word line during programming | |
US9875805B2 (en) | Double lockout in non-volatile memory | |
CN106067323A (zh) | 非易失性存储器的利用双脉冲编程的自然阈值电压压缩 | |
US9633742B2 (en) | Segmentation of blocks for faster bit line settling/recovery in non-volatile memory devices | |
CN104160449B (zh) | 在nand快闪存储器的写入操作期间通过均衡和调整源极、阱和位线的电荷循环 | |
CN107408410B (zh) | 用于非易失性存储器的多状态编程 | |
US9318209B1 (en) | Digitally controlled source side select gate offset in 3D NAND memory erase | |
US9318204B1 (en) | Non-volatile memory and method with adjusted timing for individual programming pulses | |
CN113168881A (zh) | 检测存储器设备中字线与源极线之间的短路及恢复方法 | |
US9318210B1 (en) | Word line kick during sensing: trimming and adjacent word lines | |
CN111033626B (zh) | 非易失性存储器件和控制方法 | |
US9595338B2 (en) | Utilizing NAND strings in dummy blocks for faster bit line precharge | |
KR20210077800A (ko) | 비검증 프로그래밍, 이어진 메모리 디바이스 내의 단락 테스트 | |
CN113821159B (zh) | 用于存储器装置中的高数据保留的混合擦除模式 | |
CN103797540A (zh) | 采用被分解为多遍的阶梯波形的编程算法 | |
US7872918B2 (en) | Nonvolatile memory device and program or erase method using the same | |
US9711211B2 (en) | Dynamic threshold voltage compaction for non-volatile memory | |
US11908524B2 (en) | Apparatus and methods for programming memory cells | |
CN113168868A (zh) | 具有电荷隔离以减少注入类型的编程干扰的存储器设备 | |
TWI752861B (zh) | 記憶裝置與操作其之方法 | |
US7864596B2 (en) | Sector configure registers for a flash device generating multiple virtual ground decoding schemes | |
US20240320144A1 (en) | Apparatus and methods for programming data states of memory cells |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |