CN113646843B - 存储装置及其多遍编程操作 - Google Patents
存储装置及其多遍编程操作 Download PDFInfo
- Publication number
- CN113646843B CN113646843B CN202180002088.9A CN202180002088A CN113646843B CN 113646843 B CN113646843 B CN 113646843B CN 202180002088 A CN202180002088 A CN 202180002088A CN 113646843 B CN113646843 B CN 113646843B
- Authority
- CN
- China
- Prior art keywords
- pass
- memory cells
- target memory
- bit data
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 claims abstract description 462
- 230000002093 peripheral effect Effects 0.000 claims abstract description 53
- 239000000872 buffer Substances 0.000 claims description 43
- 238000000034 method Methods 0.000 claims description 29
- 238000009826 distribution Methods 0.000 description 18
- 238000012546 transfer Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 8
- 229910052710 silicon Inorganic materials 0.000 description 8
- 239000010703 silicon Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 239000000758 substrate Substances 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 229910052814 silicon oxide Inorganic materials 0.000 description 4
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 3
- 229920005591 polysilicon Polymers 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005641 tunneling Effects 0.000 description 3
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000012212 insulator Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 2
- 229910052721 tungsten Inorganic materials 0.000 description 2
- 239000010937 tungsten Substances 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 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
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- -1 but not limited to Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910017052 cobalt Inorganic materials 0.000 description 1
- 239000010941 cobalt Substances 0.000 description 1
- GUTLYIVDDKVIGB-UHFFFAOYSA-N cobalt atom Chemical compound [Co] GUTLYIVDDKVIGB-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000008672 reprogramming Effects 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
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/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
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5642—Multilevel memory with buffers, latches, registers at input or output
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5648—Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
Abstract
在某些方面,一种存储装置包括具有存储单元行的存储单元阵列、分别耦合到存储单元行的字线、以及通过字线耦合到存储单元阵列的外围电路。每个存储单元被配置为以2N个电平中的一个存储一条N位数据,其中,N为大于1的整数。电平对应于2N条N位数据中的一条。外围电路被配置为在第一遍中编程一行目标存储单元,使得每一目标存储单元基于对应的一条N位数据而被编程为K个中间电平中的一个,其中2N‑1<K<2N。外围电路还被配置为在第一遍之后的第二遍中编程该行目标存储单元,使得每个目标存储单元基于对应的一条N位数据而被编程为2N个电平中的一个。
Description
技术领域
本公开内容涉及存储装置及其操作方法。
背景技术
闪存是一种低成本、高密度、非易失性固态存储介质,其可以被电擦除和重新编程。闪存包括NOR闪存和NAND闪存。闪存可以执行各种操作,例如读取、编程(写入)和擦除,以将每个存储单元的阈值电压改变到期望的电平。对于NAND闪存,可在块级别执行擦除操作,并可在页级别执行编程操作或读取操作。
发明内容
在一方面,一种存储装置包括具有多行存储单元的存储单元阵列、分别耦合到所述多行存储单元的多条字线、以及通过所述字线耦合到所述存储单元阵列的外围电路。每个存储单元被配置为以2N个电平中的一个存储一条N位数据,其中,N为大于1的整数。电平对应于2N条N位数据中的一条。外围电路被配置为在第一遍中编程所述多行存储单元中的一行目标存储单元,使得所述一行目标存储单元中的每一目标存储单元基于要存储在所述目标存储单元中的对应一条N位数据而被编程为K个中间电平中的一个,其中2N-1<K<2N。所述外围电路还被配置为在所述第一遍之后的第二遍中编程所述一行目标存储单元,使得每个目标存储单元基于要存储在所述目标存储单元中的对应的一条N位数据而被编程为所述2N个电平中的一个。
在另一方面,一种系统包括配置为存储数据的存储装置以及耦合到该存储装置的存储器控制器。该存储装置包括具有多行存储单元的存储单元阵列、分别耦合到多行存储单元的多条字线、以及通过字线耦合到存储单元阵列的外围电路。每个存储单元被配置为以2N个电平中的一个存储一条N位数据,其中,N为大于1的整数。电平对应于2N条N位数据中的一条。外围电路被配置为在第一遍中编程所述多行存储单元中的一行目标存储单元,使得所述一行目标存储单元中的每一目标存储单元基于要存储在所述目标存储单元中的对应一条N位数据而被编程为K个中间电平中的一个,其中2N-1<K<2N。所述外围电路还被配置为在所述第一遍之后的第二遍中编程所述一行目标存储单元,使得每个目标存储单元基于要存储在所述目标存储单元中的对应的一条N位数据而被编程为所述2N个电平中的一个。存储器控制器被配置为在第一遍之前将对应的一条N位数据传送到外围电路,在第一遍之后存储对应的一条N位数据的N-M位,其中M是小于N的整数,并且在第二遍之前将存储的对应的一条N位数据的N-M位传送到外围电路。
在又一方面,提供了一种用于操作存储装置的方法。该存储装置包括具有多行存储单元的存储单元阵列、以及分别耦合到多行存储单元的多条字线。在第一遍中,对所述多行存储单元中的一行目标存储单元进行编程,使得基于要存储在所述目标存储单元中的2N条N位数据中的一条将所述一行目标存储单元中的每一目标存储单元编程为K个中间电平中的一个,其中N为大于1的整数,其中2N-1<K<2N。在第一遍之后的第二遍中,对所述一行目标存储单元编程,使得基于要存储在目标存储单元中的对应的一条N位数据将每个目标存储单元编程为2N个电平中的一个。2N个电平对应于2N条N位数据。
附图说明
并入本文并形成说明书的一部分的附图示出了本公开内容的各方面,并且与说明书一起进一步用于解释本公开内容的原理并且使得相关领域技术人员能够构成和使用本公开内容。
图1示出了根据本公开内容的一些方面的具有存储装置的示例性系统的框图。
图2A示出了根据本公开内容的一些方面的具有存储装置的示例性存储卡的视图。
图2B示出了根据本公开内容的一些方面的具有存储装置的示例性固态驱动器(SSD)的视图。
图3示出了根据本公开内容的一些方面的包括外围电路的示例性存储装置的示意图。
图4A和4B分别示出了根据本公开内容的一些方面的包括NAND存储器串的存储单元阵列的截面的侧视图和平面图。
图5A示出了根据本公开内容的一些方面的包括存储单元阵列和外围电路的示例性存储装置的框图。
图5B示出了根据本公开内容的一些方面的示例性存储器控制器的框图。
图6示出了根据本公开内容的一些方面的编程操作中的存储单元的示例性阈值电压分布。
图7A和7B示出了根据本公开内容的一些方面的编程操作中的示例性页缓冲器的框图。
图8A和8B示出在多遍编程操作中施加到选定字线的字线电压的波形。
图9A示出了多遍编程操作中的存储单元的阈值电压分布。
图9B示出了另一多遍编程操作中的存储单元的阈值电压分布。
图10示出了根据本公开内容的一些方面的在多遍编程操作中施加到选定字线的字线电压的示例性波形。
图11示出了根据本公开内容的一些方面的多遍编程操作中的存储单元的示例性阈值电压分布。
图12A示出了多遍编程操作的方案。
图12B示出了另一多遍编程操作的方案。
图12C示出了根据本公开内容的一些方面的示例性多遍编程操作的方案。
图13示出了根据本公开内容的一些方面的用于操作存储装置的示例性方法的流程图。
图14示出了根据本公开内容的一些方面的用于操作存储装置的另一示例性方法的流程图。
将参考附图来说明本公开内容。
具体实施方式
尽管讨论了具体的配置和布置,但应该理解,这样做仅仅是为了说明的目的。因此,在不脱离本公开内容的范围的情况下,可以使用其他配置和布置。此外,本公开内容还可以用于各种其他应用。如本公开内容中描述的功能和结构特征可以彼此并以未在附图中具体示出的方式组合、调整和修改,使得这些组合、调整和修改在本公开内容的范围内。
通常,可以至少部分地从上下文中的用法理解术语。例如,如本文所用的术语“一个或多个”至少部分取决于上下文,可用于以单数意义描述任何特征、结构或特性,或可用于以复数意义描述特征、结构或特征的组合。类似地,至少部分取决于上下文,诸如“一”、“一个”或“该”的术语同样可以被理解为表达单数用法或表达复数用法。另外,术语“基于”可以被理解为不一定旨在传达排他性的因素集合,而是可以允许存在不一定明确描述的其他因素,这同样至少部分地取决于上下文。
存储装置(例如NAND闪存装置)可将多于单个位的信息存储到处于多个电平(又称状态)的每个存储单元中,以便增加存储容量并减少每位的成本。在编程操作中,可以将数据编程(写入)到xLC中,诸如多级单元(MLC)、三级单元(TLC)、四级单元(QLC)等。对于xLC,例如,QLC,多遍编程操作可以用于减少编程时间并增加读取裕度,这涉及将xLC编程到中间电平之一的粗略编程遍次、以及将xLC从中间电平编程到最终电平的精细编程遍次。例如,对于QLC,存在两个两遍编程操作的方案:8-16方案,其中在粗略编程中首先将存储单元编程到8个电平,接着在精细编程中将其编程到16个电平;以及16-16方案,其中在粗略编程中首先将存储单元编程到16个电平,接着在精细编程中重新编程以形成具有较小阈值电压范围的16个电平。
与8-16方案相比,16-16方案通常具有更小的故障位计数(FBC)、更大的读取裕度和更短的读取时间。然而,16-16方案需要存储器控制器临时存储比8-16方案更大量的数据,这从存储器控制器的角度来看是不期望的。具体地,首先,为了减少存储器控制器的数据存储负载,针对第一遍编程(例如,粗略编程遍次)写入的数据应被有效地读出,并且较小的阈值电压电平更容易实现有效的读取操作。第二,在相同阈值电压电平的情况下,为了得到尽可能小的FBC,每页的读取电平的数量应当尽可能相同。8-16方案满足第一条件,但不满足第二条件;相反,16-16方案满足第二条件,但是不满足第一条件。在用于xLC的任何2N -1-2N方案和2N-2N方案中都可能发生相同的问题,其中N表示存储在每个存储单元中的数据的位数(例如,N=4,对于QLC的8-18方案和16-16方案)。
为了解决上述问题中的一个或多个,本公开内容引入了一种平衡用于程序操作的2N-1-2N方案和2N-2N方案的利弊的解决方案。与现有的2N-2N方案相比,可以减少非最后一遍编程(即,粗略编程遍次)中的中间电平的数量,以允许在稍后的编程遍次中读取非最后一遍编程中使用的数据的至少一部分,从而减少需要由存储器控制器在稍后的编程遍次(例如,精细编程遍次)中缓存和重新传送的数据量,从而减少存储器控制器的负载。另一方面,通过基于N页数据在非最后一遍中对存储单元进行编程,与现有2N-1-2N方案中的N-1页数据相反,每页的读取电平的数量变得更加平衡,使得FBC与现有2N-1-2N方案相比可以减小。
图1示出了根据本公开内容的一些方面的具有存储装置的示例性系统100的框图。系统100可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(VR)设备、增强现实(AR)设备或其中具有存储的任何其他合适的电子设备。如图1所示,系统100可以包括主机108和具有一个或多个存储装置104和存储器控制器106的存储器系统102。主机108可以是电子设备的处理器(例如中央处理单元(CPU)),或者片上系统(SoC)(例如应用处理器(AP))。主机108可被配置为将数据发送到存储装置104或从其接收数据。
存储装置104可以是本公开内容中所公开的任何存储装置。如下文详细公开,存储装置104(例如,三维(3D)NAND闪存装置)可执行多遍编程操作,其中组合粗略编程遍次中的一些中间电平以随后在不过度牺牲FBC的情况下扩大有效数据读取的读取裕度。与本公开内容的范围一致,在一些实施方式中,在多遍编程操作中,非最后一遍(例如,粗略编程遍次)中的中间电平的数量K小于2N,但大于2N-1,其中N是每个存储单元中的位的数量(xLC)。
根据一些实施方式,存储器控制器106耦合到存储装置104和主机108,并且被配置为控制存储装置104。存储器控制器106可管理存储在存储装置104中的数据且与主机108通信。在一些实施方式中,存储器控制器106被设计用于在低占空比环境中操作,如安全数字(SD)卡、紧凑型闪存(CF)卡、通用串行总线(USB)闪存驱动器、或用于在诸如个人计算机、数码相机、移动电话等电子设备中使用的其他介质。在一些实施方式中,存储器控制器106被设计用于在用作移动设备(诸如智能电话、平板计算机、膝上型计算机等)和企业存储阵列的数据存储的高占空比环境SSD或嵌入式多媒体卡(eMMC)中操作。存储器控制器106可被配置为控制存储装置104的操作,例如读取、擦除和编程操作。存储器控制器106还可被配置为管理关于存储在或要存储在存储装置104中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡等。在一些实施方式中,存储器控制器106还被配置为针对从存储器设备104读取或向其写入的数据来处理纠错码(ECC)。也可以由存储器控制器106执行任何其他合适的功能,例如格式化存储装置104。存储器控制器106可以根据特定通信协议与外部设备(例如,主机108)通信。例如,存储器控制器106可以通过各种接口协议中的至少一种与外部设备通信,所述接口协议诸如USB协议、多媒体卡(MMC)协议、外围部件互连(PCI)协议、串行总线(PCI-E)协议、高级技术附件(ATA)协议、串行-ATA协议、并行-ATA协议、小型计算机小型接口(SCSI)协议、增强的小型磁盘接口(ESDI)协议、集成驱动电子(IDE)协议、火线协议等。
如下文详细描述,在编程操作中,存储器控制器106可被配置为用根据本文所公开的多遍编程操作的方式将待编程的数据传送到存储装置104。与本公开内容的范围一致,在一些实施方式中,存储器控制器106将所有数据页传送到存储装置104以用于粗略编程遍次,且在粗略编程遍次之后仅存储数据页中的一些以减少负载。根据一些实施方式,存储器控制器106因此仅需将所存储的数据页而非所有数据页重新传送到存储装置104以用于精细编程遍次。
存储器控制器106和一个或多个存储装置104可以集成到各种类型的储存装置中,例如,包括在相同的封装中,诸如通用闪存(UFS)封装或eMMC封装。即,存储器系统102可以被实现和封装到不同类型的终端电子产品中。在如图2A中所示的一个示例中,存储器控制器106和单个存储装置104可集成到存储器卡202中。存储卡202可以包括PC卡(PCMCIA,个人计算机存储卡国际协会)、CF卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)、UFS等。存储卡202可进一步包括将存储卡202与主机(例如,图1中的主机108)耦合的存储卡连接器204。在如图2B所示的另一示例中,存储器控制器106和多个存储装置104可以被集成到SSD 206中。SSD206还可以包括将SSD 206与主机(例如,图1中的主机108)耦合的SSD连接器208。在一些实施方式中,SSD 206的存储容量和/或操作速度大于存储卡202的存储容量和/或操作速度。
图3示出了根据本公开内容的一些方面的包括外围电路的示例性存储装置300的示意性电路图。存储装置300可以是图1中的存储装置104的示例。存储装置300可包括存储单元阵列301和耦合到存储单元阵列301的外围电路302。存储单元阵列301可以是NAND闪存单元阵列,其中存储单元306以各自在衬底(未示出)上方垂直延伸的NAND存储器串308的阵列的形式来提供。在一些实施方式中,每个NAND存储器串308包括串联耦合且垂直堆叠的多个存储单元306。每个存储单元306可保持连续模拟值,例如电压或电荷,其取决于在存储单元306的区域内俘获的电子的数量。每个存储单元306可以是包括浮栅晶体管的浮栅型存储单元,或者是包括电荷俘获晶体管的电荷俘获型存储单元。
在一些实施方式中,每个存储单元306是具有两个可能存储器状态(电平)且因此可存储一位数据的单电平单元(SLC)。例如,第一存储器状态“0”可对应于第一阈值电压范围,而第二存储器状态“1”可对应于第二阈值电压范围。在一些实施方式中,每个存储单元306是能够以多于四个存储器状态(电平)存储多于单个位的数据的xLC。例如,xLC可以每单元存储两位(MLC),每单元存储三位(TLC),或每单元存储四位(QLC))。每个xLC可被编程为采用可能的标称存储值的范围(即,2N条N位数据,例如格雷码)。在一个示例中,可从擦除状态通过将三个可能的标称存储值中的一个写入到单元来编程MLC以采用三个可能的编程电平(例如,01、10和11)中的一个。第四标称存储值可用于擦除状态(例如,00)。
如图3中所示,每个NAND存储器串308还可包括在其源极端处的源极选择栅极(SSG)晶体管310和在其漏极端处的漏极选择栅极(DSG)晶体管312。SSG晶体管310和DSG晶体管312可被配置为在读取和编程操作期间启动选定的NAND存储器串308(阵列的列)。在一些实施方式中,同一块304中的NAND存储器串308的源极通过同一源极线(SL)314(例如,共同的SL)耦合。换言之,根据一些实施方式,同一块304中的所有NAND存储器串308具有阵列共源极(ACS)。根据一些实施方式,每个NAND存储器串308的漏极耦合到相应位线316,可经由输出总线(未图示)从所述相应位线读取或写入数据。在一些实施方式中,每个NAND存储器串308被配置为通过经由一条或多条DSG线313将选择电压或取消选择电压施加到相应DSG晶体管312的栅极和/或通过经由一条或多条SSG线315将选择电压或取消选择电压施加到相应SSG晶体管310的栅极而被选择或取消选择。
如图3中所示,NAND存储器串308可被组织成多个块304,每个块可具有例如耦合到ACS的公共源极线314。在一些实施方式中,每个块304是用于擦除操作的基本数据单位,即,同时擦除同一块304上的所有存储单元306。为了擦除选定块304中的存储单元306,可以用擦除电压(Vers)(例如,高正偏压(例如,20V或更大))来偏置耦合到选定块304以及与选定块304在同一平面中的未选定块304的源极线314。邻近NAND存储器串308的存储单元306可通过字线318耦合,所述字线选择存储单元306的哪一行受读取和编程操作影响。在一些实施方式中,每条字线318耦合到存储单元306的页320,其是用于读取和编程操作的基本数据单位。以位为单位的一页320的大小可与一个块304中由字线318耦合的NAND存储器串308的数量相关。每条字线318可包括在相应页320中的每个存储单元306处的多个控制栅极(栅电极)和耦合控制栅极的栅极线。
如图3所示,存储单元阵列301可以包括在每个块304中的多行和多列中的存储单元306的阵列。根据一些实施方式,一行存储单元306对应于一个或多个页320,且一列存储单元对应于一个NAND存储器串308。多行存储单元306可以分别耦合到字线318,并且多列存储单元306可以分别耦合到位线316。外围电路302可通过位线316和字线318耦合到存储单元阵列301。
图4A和4B分别示出了根据本公开内容的一些方面的包括NAND存储器串308的示例性存储单元阵列301的截面的侧视图和平面图。如图4A中所示,NAND存储器串308可垂直延伸穿过衬底402上方的存储器叠层404。衬底402可以包括硅(例如,单晶硅)、硅锗(SiGe)、砷化镓(GaAs)、锗(Ge)、绝缘体上硅(SOI)、绝缘体上锗(GOI)或任何其他合适的材料。注意,图4A中包括x、y和z轴以进一步示出存储装置中的部件的空间关系。衬底402包括在x-y平面中横向延伸的两个横向表面:在晶圆的正面上的顶表面,在其上可以形成存储装置,以及在与晶圆的正面相对的背面上的底表面。z轴垂直于x和y轴。如本文所使用,当衬底402在z方向上定位在存储装置的最低平面中时,在z方向(垂直于x-y平面的垂直方向)上相对于存储装置的衬底402来确定存储装置的一个部件(例如,层或装置)是在另一部件(例如,层或装置)“上”、“上方”还是“下方”。在整个本公开内容中应用了用于描述空间关系的相同概念。
存储器叠层404可以包括交错的栅极导电层406和栅极到栅极电介质层408。存储器叠层404中的栅极导电层406和栅极到栅极电介质层408的对的数量可以确定存储单元阵列301中的存储单元306的数量。栅极导电层406可以包括导电材料,该导电材料包括但不限于钨(W)、钴(Co)、铜(Cu)、铝(Al)、多晶硅、掺杂硅、硅化物或其任何组合。在一些实施方式中,每个栅极导电层406包括金属层,例如钨层。在一些实施方式中,每个栅极导电层406包括经掺杂多晶硅层。每个栅极导电层406可包括围绕存储单元306的控制栅极、DSG晶体管312的栅极或SSG晶体管310的栅极,且可横向延伸为在存储器叠层404的顶部处的DSG线313、在存储器叠层404的底部处的SSG线315或在DSG线313与SSG线315之间的字线318。
如图4A所示,NAND存储器串308包括垂直延伸穿过存储器叠层404的沟道结构412。在一些实施方式中,沟道结构412包括填充有(多种)半导体材料(例如,作为半导体沟道420)和(多种)电介质材料(例如,作为存储膜418)的沟道孔。在一些实施方式中,半导体沟道420包括硅,例如多晶硅。在一些实施方式中,存储膜418是包括隧穿层426、存储层424(也称为“电荷俘获/存储层”)和阻挡层422的复合电介质层。沟道结构412可以具有圆柱形状(例如,柱形)。根据一些实施方式,半导体沟道420、隧穿层426、存储层424、阻挡层422从柱的中心朝向外表面以此顺序径向排列。隧穿层426可以包括氧化硅、氮氧化硅或其任何组合。存储层424可以包括氮化硅、氮氧化硅、硅或其任何组合。阻挡层422可以包括氧化硅、氮氧化硅、高介电常数(高k)电介质或其任何组合。在一个示例中,存储膜418可包括氧化硅/氮氧化硅/氧化硅(ONO)的复合层。
如图4A所示,根据一些实施方式,在衬底402中形成阱414(例如,P阱和/或N阱),且NAND存储器串308的源极端与阱414接触。例如,源极线314可耦合到阱414以在擦除操作期间将擦除电压施加到阱414,即NAND存储器串308的源极。在一些实施方式中,NAND存储器串308进一步包括在NAND存储器串308的漏极端处的沟道插塞416。应理解,尽管图4A中未示出,但可形成存储单元阵列301的额外部件,包括(但不限于)栅极线狭缝/源极触点、局部触点、互连层等。
如图4B的平面图中所示,存储单元阵列301的NAND存储器串308可通过狭缝结构430(例如,栅极线狭缝(GLS))布置成块304,所述狭缝结构将相邻块304之间的字线318电分离,使得可在读取、编程和擦除操作中单独地控制每个块304。在一个示例中,每个狭缝结构430可沿着x方向(例如,字线方向)延伸,且多个块304可沿着y方向(例如,位线方向)排列。在一些实施方式中,每个块304可进一步被DSG切口432(也在图4A中示出)划分为更小的区域(例如,指状物434),该DSG切口432将相邻指状物434之间的DSG线313电分离,使得可以在读取和编程操作中单独地控制不同指状物434中的DSG线313。
返回参考图3,外围电路302可通过位线316、字线318、源极线314、SSG线315和DSG线313耦合到存储单元阵列301。外围电路302可包括任何合适的模拟、数字及混合信号电路,以用于通过经由位线316、字线318、源极线314、SSG线315和DSG线313将电压信号和/或电流信号施加到每个目标存储单元306及从其感测电压信号和/或电流信号来促进存储单元阵列301的操作。外围电路302可包括使用金属氧化物半导体(MOS)技术形成的各种类型的外围电路。例如,图5A示出了一些示例性外围电路,包括页缓冲器/读出放大器504、列解码器/位线驱动器506、行解码器/字线驱动器508、电压发生器510、控制逻辑512、寄存器514、接口516和数据总线518。应理解,在一些示例中,也可包括图5A中未示出的额外外围电路。
页缓冲器/读出放大器504可以被配置为根据来自控制逻辑512的控制信号从存储单元阵列301读取数据和向其编程(写入)数据。在一个示例中,页缓冲器/读出放大器504可存储要编程到存储单元阵列301的目标行中的一页或多页编程数据(写入数据)。在另一示例中,页缓冲器/读出放大器504可以在编程操作中的每个编程/验证循环(周期)中验证已编程的目标存储单元306,以确保已经将数据正确地编程到耦合到选定字线318的存储单元306中。在又一示例中,页缓冲器/读出放大器504还可以感测来自位线316的表示存储在存储单元306中的数据位的低功率信号,并且在读取操作中将小电压摆幅放大到可识别的逻辑电平。
如下文详细描述且与本公开内容的范围一致的,在编程操作中,页缓冲器/读出放大器504可包括存储模块(例如,锁存器),其用于临时存储从数据总线518接收的一条N位数据(例如,以格雷码的形式)且在多遍编程操作的第一遍(非最后一遍编程,例如,粗略编程遍次)中通过对应位线316将这条N位数据提供到对应的目标存储单元306。在第一遍之后的第二遍(最后一遍编程,例如,精细编程遍次)之前,在读取操作中,页缓冲器/读出放大器504可以被配置为基于其中目标存储单元306在第一遍中被编程到的对应的中间电平来读取这条N位数据中的一个或多个(M)位,并且还从存储器控制器(例如,图1中的106)接收这条N位数据的剩余(N-M)位。然后,页缓冲器/读出放大器504可以被配置为将读取的位和接收的位组合成对应的一条N位数据,并且在第二次第一遍中通过对应的位线316将对应的一条N位数据提供给目标存储单元306。
列解码器/位线驱动器506可被配置为由控制逻辑512控制且通过施加从电压发生器510生成的位线电压来选择一个或多个NAND存储器串308。行解码器/字线驱动器508可被配置为由控制逻辑512控制且选择/取消选择存储单元阵列301的块304及选择/取消选择块304的字线318。行解码器/字线驱动器508可进一步被配置为使用从电压发生器510生成的字线电压来驱动字线318。在一些实施方式中,行解码器/字线驱动器508还可选择/取消选择且驱动SSG线315和DSG线313。电压发生器510可被配置为由控制逻辑512控制且生成要提供给存储单元阵列301的字线电压(例如,读取电压、编程电压、沟道通过电压、局部电压、验证电压等)、位线电压和源极线电压。
作为外围电路302的一部分,控制逻辑512可耦合到上文所描述的其他外围电路且被配置为控制其他外围电路的操作。寄存器514可以耦合到控制逻辑512,并且包括用于存储用于控制每个外围电路的操作的状态信息、命令操作码(OP码)和命令地址的状态寄存器、命令寄存器和地址寄存器。接口(I/F)516可以耦合到控制逻辑512,并且充当控制缓冲器,以将从主机(例如,图1中的108)接收的控制命令缓冲并中继到控制逻辑512,并且将从控制逻辑512接收的状态信息缓冲并中继到主机。接口516也可经由数据总线518耦合到列解码器/位线驱动器506,且充当数据输入/输出(I/O)接口和数据缓冲器以缓冲并中继往来于存储单元阵列301的数据。
图5B示出了根据本公开内容的一些方面的示例性存储器控制器106的框图。存储器控制器106可以包括一个或多个处理核心522和存储模块,所述存储模块包括高速缓存524和动态随机存取存储器(DRAM)526。存储器控制器106还可以包括与主机108的接口(I/F)528(也称为“前端接口”)和与存储装置104的接口(I/F)530(也称为“后端接口”)。处理核心522可以包括用于执行算术和逻辑运算的算术逻辑单元(ALU)。DRAM 526可以存储要被加载到处理核心522中并且由处理核心522执行以执行存储器控制器106的功能的指令。接口528可以从主机108接收指令和数据,并且分别将指令和数据缓冲和重放到处理核心522和DRAM 526。接口530可以分别从处理核心522和DRAM 526向存储装置104传送控制信号和数据。
不同于现有2N-1-2N方案(例如,8-16方案),在一些实施方式中,根据本文所公开的多遍编程方案,存储器控制器106被配置为在第一遍(非最后一遍编程,例如,粗略编程遍次)之前通过接口530将整个N页数据(包括每个目标存储单元306的整条N位数据)而不是N-1页数据传送到存储装置104。不同于现有2N-2N方案(例如,16-16方案),在一些实施方式中,根据本文所公开的多遍编程方案,存储器控制器106还被配置为在第一遍之后存储N-M页数据(包括每个目标存储单元306的这条N位数据的N-M位),而不是整个N页数据。M是小于N的整数。例如,存储器控制器106可以将N-M页数据存储在高速缓存524和/或DRAM 526中。不同于现有2N-2N方案,在一些实施方式中,根据本文所公开的多遍编程方案,存储器控制器106进一步被配置为在第二遍(最后一遍编程,例如,精细编程遍次)之前传送所存储的N-M页数据(包括每个目标存储单元306的这条N位数据的N-M位),而不是整个N页数据。结果,与现有的2N-2N方案相比,在第一遍和第二遍之间需要由存储器控制器106高速缓存的数据量可以减少M页,从而减少存储器控制器106的负载。
图6示出了根据本公开内容的一些方面的编程操作中的存储单元的示例性阈值电压分布。如上文所描述的,每个存储单元306可被配置为以2N个电平中的一个存储一条N位数据,其中N为大于1的整数(例如,对于MLC,N=2,对于TLC,N=3,对于QLC,N=4,等等)。每个电平可对应于存储单元306的2N个阈值电压(Vth)范围中的一个。考虑其中可以在粗略编程遍次(非最后一遍编程)中首先将存储单元306编程到中间电平的多遍编程操作,与中间电平相比,本文所称的“电平”可以被认为是在多遍编程操作的精细编程遍次(最后一遍编程)之后的最终电平。以QLC为例,其中N=4,如图6所示,存储单元306可以被编程为16个电平中的一个,包括擦除状态的一个电平和编程状态的15个电平。每个电平可对应于存储单元306的相应阈值电压(Vth)范围。例如,对应于最低阈值电压范围的电平(图6中的最左边的阈值电压分布)可被视为电平0,对应于第二低的阈值电压范围的电平(图6中的左边第二个阈值电压分布)可被视为电平1,且因此直到对应于最高阈值电压范围的电平15(图6中的最右边的阈值电压分布)为止。
另一方面,每个电平可对应于要存储在目标存储单元306中的2N条N位数据中的一个。在一些实施方式中,2N条N位数据可以由格雷码(以格雷码的形式)表示。格雷码(也称为反射二进制码(RBC)或反射二进制(RB))是二进制数字系统的排序,使得两个连续值仅在一位(二进制数字)上不同。例如,下面的表1示出了表示在图6的示例中使用的16个电平(lvl0至lvl 15)和16条4位数据之间的一对一映射的二进制码的示例。如表1所示,每条4位数据可以由四位二进制值(b1、b2、b3和b4)组成。在一个示例中,电平1可对应于具有值1111的一条4位数据。在另一示例中,电平15可对应于具有值1110的另一条4位数据。
表1
Lvl | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
b1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
b2 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
b3 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
b4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
图7A和7B示出了根据本公开内容的一些方面的编程操作中的示例性页缓冲器/读出放大器504的框图。在一些实施方式中,页缓冲器/读出放大器504包括N个存储模块(例如,锁存器),每个存储模块被配置为临时存储N页数据中的一页。即,可在编程操作中以N页N位数据的形式传送、存储和提供待由耦合到选定字线318的一行目标存储单元306存储的N位数据(具有2N个值)。
以QLC为例,其中N=4,例如,如图7A和7B所示,页缓冲器/读出放大器504可以包括4个存储模块702(P1、P2、P3和P4),每个存储模块被配置为临时存储4页4位数据中的一页。每个存储模块702可以包括i个存储单元704(例如,锁存器),其对应于在编程操作中耦合到选定字线318的一行存储单元306中的i个目标存储单元306。即,每个目标存储单元306可以通过相应的位线316(BL_1、BL_2、...、BL_i-1或BL_i)耦合到来自四个存储模块702(P1、P2、P3和P4)中的每一个的对应的一组四个存储单元704。对于编程操作中的每个目标存储单元306,可将对应一条4位数据中的4位二进制值(例如,根据表1中的格雷码的b1、b2、b3和b4)分别临时存储在对应的一组四个存储单元704中,使得可通过页缓冲器/读出放大器504将对应一条4位数据提供到目标存储单元306。下面详细描述根据本文公开的多遍编程方案的页缓冲器/读出放大器504的功能和操作。
为了执行编程操作,除了页缓冲器/读出放大器504向每个目标存储单元306提供对应的一条N位数据之外,行解码器/字线驱动器508可以被配置为在一个或多个编程/验证循环中向耦合到一行目标存储单元306的选定字线318施加编程电压和验证电压,以便基于对应一条N位数据将每个目标存储单元306的阈值电压升高到期望的电平(升高到期望的阈值电压范围内)。例如,图8A和8B示出在多遍编程操作中施加到选定字线的字线电压的波形。如图8A所示,多遍编程操作至少包括第一遍802a(也称为粗略编程遍次,例如非最后一遍编程)和第一遍802a之后的第二遍802b(也称为精细编程遍次,例如最后一遍编程)。第一遍802a包括一个或多个编程/验证循环804a,且第二遍802b也包括一个或多个编程/验证循环804b。
如图8B所示,在每个编程/验证循环804中,无论其是在第一遍802a中还是在第二遍802B中,均将编程电压(Vpgm)施加到选定字线,随后是具有电压电平的递增变化的若干验证电压(Vvf)。对于2N-2N方案,第一遍802a中的每个编程/验证循环804中的验证电压的数量与第二遍802b中的验证电压的数量相同,即,2N-1,以便验证对应于N位数据的2N个可能值的所有2N个可能中间电平。仍以QLC为例,其中N=4,如图9A中所示,通过基于所有4页数据施加各自在两个相邻中间电平之间的15个验证电压,在第一遍802a中首先将目标存储单元编程为16个中间电平(E、L1-1、L1-2、L1-3、...、L1-15)中的一个。在第二遍802b中,通过施加较大编程电压,每个电平(例如,处于已编程状态)中的目标存储单元的阈值电压上移到具有基于所有4页数据的阈值电压分布的宽度减小(即,较窄范围)的相应最终电平(E、L1-1、L1-2、L1-3、...或L1-15)。在第一遍802a和第二遍802b的每一遍中的每个编程/验证循环804中的验证电压(和相应的验证过程)的数量是相同的,即15。
对于2N-1-2N方案,第一遍802a中的每个编程/验证循环804中的验证电压的数量小于第二遍802b中的验证电压的数量,即,2N-1-1,以便仅验证对应于N位数据的N-1位的2N-1个可能中间电平。仍以QLC为例,其中N=4,如图9B中所示,通过基于4页数据中的3页施加各自在两个相邻中间电平之间的7个验证电压,在第一遍802a中首先将目标存储单元编程为8个中间电平(E、L1、L2、L3、…、L7)中的一个。在第二遍802b中,通过施加较大的编程电压,每个电平(例如,处于已编程状态)中的目标存储单元的阈值电压被分成并上移到基于所有4页数据的阈值电压分布的宽度减小(即,较窄范围)的两个对应的最终电平(E和L1-1、L1-2和L1-3、…或L1-14和L1-15)。在第一遍中未使用的额外一页数据在第二遍中被用于将每个中间电平分成两个最终电平(例如,将L4分成L1-8和L1-9)。在第一遍802a和第二遍802b的每一遍中的每个编程/验证循环804中的验证电压(和对应的验证过程)的数量是不同的,即分别为7和15。
比较图9A和9B中的中间电平的不同阈值电压分布,2N-1-2N方案可由于较少数量的中间电平(例如,对于QLC为8比16)而实现比2N-2N方案大的读取裕度。结果,对于2N-1-2N方案,在第一遍802a之后和第二遍802b之前,可以从目标存储单元读取与每个中间电平相对应的N位数据的N-1位,使得存储器控制器可以仅需要保存和传送用于第二遍802b的N位数据的剩余1位。相反,对于2N-2N方案,在第一遍802a之后,可能不从目标存储单元读取与每个中间电平相对应的N位数据的所有N位,因此,对于第二遍802b,存储器控制器可能需要保存和重传N位数据的所有N位。
此外,为了避免来自相邻(例如,物理上和紧邻)行(即,耦合到相邻字线)中的存储单元的编程干扰,应用于同一行目标存储单元的多遍编程可以不是彼此紧随。相反,可以以交错方式在相邻的存储单元行之间执行多遍编程方案。仍然以QLC为例,其中N=4,如图12A所示,字线2(WL2)是在步骤1中经历粗略编程遍次的当前选定的字线(WLn)。在WL2的粗略编程遍次之后,在步骤2中将精细编程遍次应用于物理上且紧邻于WLn的字线1(WL1)(例如,WLn-1)以完成WL1的编程操作。与字线0(WL0)类似,WL1的编程操作在步骤2之后完成,并且WL1的4页数据(XP、UP、MP和LP)不再需要由存储器控制器保存。在WL1的精细编程遍次之后,在步骤3中将粗略编程遍次应用于物理上且紧邻于WLn的字线3(WL3)(例如,WLn+1)。在WL3的粗略编程遍次之后,编程操作在步骤4中返回到WL2(WLn),以精细编程遍次完成WL2的操作。然后在步骤5中,将粗略编程遍次应用于字线4(WL4),其中WL2的4页数据(XP、UP、MP和LP)不再需要由存储器控制器保存。即,WL2(WLn)的4页数据(XP、UP、MP和LP)需要由存储器控制器从步骤1保存到步骤4,直到精细编程遍次完成为止。而且,如图12A中所示,在每个步骤中,存储器控制器的最大负载是用于两条字线的8页编程数据(例如,在步骤1、3、4和5中)。由于每条字线可与6个指状物中的存储单元耦合,每个指状物具有其自身的编程数据,因此根据图12A中所示的16-16方案,每个步骤中存储器控制器的最大负载可以是48个页。
仍然以QLC为例,其中N=4,如图12B所示,字线2(WL2)是在步骤1中经历粗略编程遍次的当前选定的字线(WLn)。对于8-16方案,仅需要保存3页数据(UP、MP和LP)并在步骤1中用于粗略编程遍次。在WL2的粗略编程遍次之后,在步骤2中将精细编程遍次应用于物理上且紧邻于WLn的字线1(WL1)(例如,WLn-1)以完成WL1的编程操作。对于8-16方案,仅一页数据(XP)需要由存储器控制器保存,且在步骤2中用于精细编程遍次,因为可从存储装置读取其他3页数据(UP、MP和LP)。在WL1的精细编程遍次之后,在步骤3中将粗略编程遍次应用于物理上且紧邻于WLn的字线3(WL3)(例如,WLn+1)。类似地,仅需要保存3页数据(UP、MP和LP)并在步骤3中用于粗略编程遍次。在WL3的粗略编程遍次之后,编程操作在步骤4中返回到WL2(WLn),以精细编程遍次完成WL2的操作。对于8-16方案,由于可从存储装置读取其他3页数据(UP、MP和LP),所以存储器控制器仅需要保存一页数据(XP)且在步骤4中将其用于精细编程遍次。然后在步骤5中将粗略编程遍次应用于字线4(WL4)。即,在完成粗略编程遍次的步骤1之后,WL2(WLn)的3页数据(UP、MP和LP)不再需要由存储器控制器保存。而且,如图12B中所示,在每个步骤中,存储器控制器的最大负载是一条字线的3页编程数据(例如,在步骤1、3和5中)。由于每条字线可与6个指状物中的存储单元耦合,每个指状物具有其自身的编程数据,因此根据图12B中所示的8-16方案,每个步骤中存储器控制器的最大负载可以是18页。结果,2N-1-2N方案可以实现比2N-2N方案更小的存储器控制器负载。
另一方面,本公开内容的发明人观察到,每个电平的阈值电压分布并不完全遵循正态分布,而是在分布曲线的不同侧上具有不同斜率。具体而言,分布曲线的左侧(朝向负电压方向)的斜率高于分布曲线的右侧(朝向正电压方向)的斜率。阈值电压分布的非对称形状可导致FBC标准(可容忍故障位的裕度)根据每页数据的读取电平的数量而变化。仍然以QLC为例,其中N=4,如表1所示,对于16-16方案,对应于b1、b2、b3和b4的页的读取电平的数量分别为4、4、4和3。相反,对于8-16方案,由于最后一页数据必须能够将每个中间电平分成两个最终电平,因此最后一页的读取电平的数量为8。因此,由于在精细编程遍次中由2N -1-2N方案使用的附加数据页的特性,2N-1-2N方案的FBC标准(裕度)比2N-2N方案的FBC标准(裕度)更严格(更小),这意味着2N-1-2N方案可以具有比2N-2N方案更大的FBC。
与本公开内容的范围一致,下面详细公开了新颖的多遍编程方案,其平衡了现有的2N-2N方案和2N-1-2N方案的优缺点。例如,图13示出了根据本公开内容的一些方面的用于操作存储装置的方法1300的流程图。存储装置可以是本文所公开的任何合适的存储装置,诸如存储装置300。方法1300可由存储器控制器106和外围电路302(例如,行解码器/字线驱动器508和页缓冲器/读出放大器504)实施。将结合图3、4A、4B、5A、5B、6、7A、7B、10、11和12C来描述图13。应当理解,方法1300中所示的操作可能不是详尽无遗的,并且也可以在所示操作中的任何操作之前、之后或之间执行其他操作。此外,一些操作可以同时执行,或者以与图13所示的不同的顺序执行。
参考图13,方法1300开始于操作1302,其中在第一遍中对多行存储单元中的一行目标存储单元进行编程,由此基于要存储在目标存储单元中的2N条N位数据中的一条将该行目标存储单元中的每一目标存储单元编程为K个中间电平中的一个,其中N为大于1的整数,其中2N-1<K<2N。根据一些实施方式,在多遍编程操作中,在粗略编程遍次(例如,将每个目标存储单元306编程为中间电平的任何非最后一遍编程)中,基于要存储在目标存储单元306中的对应的N位数据将每个目标存储单元306编程为K个电平中的一个(其中n<N)。中间电平的数量K可小于2N(即,现有2N-2N方案中的中间电平的数量),使得K个中间电平可彼此充分分离,借此实现从目标存储单元306的后续读取,如同现有2N-1-2N方案一样。另一方面,中间电平的数量K可以大于2N-1(即,现有2N-1-2N方案中的中间电平的数量),以便与现有2N-1-2N方案相比,缓和FBC标准并减少FBC。仍然以QLC为例,其中N=4,K可以在8和16之间,诸如12,如下面详细描述的。
参考图3、4A、4B、5A和5B,根据一些实施方式,每个存储单元306被配置为以2N个电平(最终电平)中的一个存储一条N位数据,其中N是大于1的整数。该电平可对应于2N条N位数据中的一条,例如N位格雷码的2N个值中的一个值。为了执行多遍编程操作,外围电路302可被配置为在第一遍(又称,粗略编程遍次,例如,非最后一遍编程)中编程耦合到选定字线318的一行目标存储单元306,使得基于要存储在目标存储单元306中的对应一条N位数据将每个目标存储单元306编程为K个中间电平中的一个,其中2N-1<K<2N。在一些实施方式中,存储器控制器106被配置为针对每个目标存储单元306在第一遍之前通过接口530将对应一条N位数据传送到页缓冲器/读出放大器504。仍然以QLC为例,其中N=4,如图7A中所示,页缓冲器/读出放大器504的4个存储模块702(P1、P2、P3和P4)被配置为在第一遍中分别临时存储4页4位数据中的一页。对于每个目标存储单元306,对应一条4位数据中的4位二进制值(例如,根据表1中的格雷码的b1、b2、b3和b4)可分别临时存储在对应的一组4个存储单元704中。
参考图14,在一些实施方式中,在第一遍中,在操作1402,向字线中的第一选定字线施加第一编程电压。第一选定字线可以耦合到第一行目标存储单元。在操作1404,将对应一条N位数据提供到每个目标存储单元。
例如,图10示出了根据本公开内容的一些方面的在多遍编程操作中施加到选定字线的字线电压的示例性波形。在一些实施方式中,为了在第一遍1001中对目标存储单元306的行进行编程,行解码器/字线驱动器508被配置为在每个编程/验证循环1002中将第一编程电压Vpgm1施加到选定字线318。应理解,第一遍1001可以包括具有不同的第一编程电压Vpgm1的一个或多个编程/验证循环1002,例如,使用递增阶跃脉冲编程(ISPP)方案。为了便于描述,在图10中仅示出了一个编程/验证循环1002。为了在第一遍1001中对目标存储单元306的行进行编程,根据一些实施方式,页缓冲器/读出放大器504被配置为向每个目标存储单元306提供对应的一条N位数据(例如,N位格雷码的2N个值中的一个值)。例如,当N=4时,如图7A中所示,对于处于粗略编程的每个QLC,页缓冲器/读出放大器504可从4个存储模块702中的每一个中的相应的4个存储单元704组提供对应的一条4位数据(例如,表2中的4位格雷码b1b2b3b4)。
返回参考图14,在一些实施方式中,在第一遍中,在操作1406,将基于K个中间电平的K-1个验证电压依次施加到第一选定字线。K个中间电平因此可由K-1个验证电压编程。K个中间电平中的至少第一中间电平可对应于2N条N位数据中的多条N位数据,且K个中间电平中的至少第二中间电平可对应于2N条N位数据中的一条N位数据。在一些实施方式中,第一中间电平对应于2N条N位数据中的两条N位数据(格雷码的两个值)。即,2N条N位数据中的一些条N位数据可以被组合以对应于相同的中间电平(即,形成多对一映射),以将中间电平的总数从2N减少。另一方面,2N条N位数据中的至少一条(格雷码的一个值)仍可对应于一个中间电平(即,形成一对一映射),以使中间电平的总数大于2N-1。仍以QLC为例,其中N=4,如图11所示,用于最终电平0和1的两条4位数据对被组合并对应于中间电平P0',用于最终电平3和4的两条4位数据对被组合并对应于中间电平P2',用于最终电平5和6的两条4位数据对被组合并对应于中间电平P3',以及用于最终电平10和11的两条4位数据对被组合并对应于中间电平P7'。相反,最后用于电平2、7、8、9、12、13、14和15的剩余条4位数据仍然分别对应于中间电平P1'、P4'、P5'、P6'、P8'、P9'、P10'和P11'。结果,可以基于16条4位数据对12个中间电平进行编程。
在一些实施方式中,被组合并且对应于相同中间电平的两条N位数据具有相同的M位,其中M是小于N的整数。例如,N-M=1。即,共享N位中的大部分(除了一位之外)的两条N位数据(格雷码的两个值)可以对应于相同的中间电平。如图11的示例所示,对于每一对组合到单个中间电平中的两条4位数据,MP、UP和XP中的3位(对应于表1中的b2b3b4)是相同的,而LP中的位是不同的。例如,用于最终电平5和6的两条4位数据对可以在MP、UP和XP中具有相同的000位,但是在LP中具有不同的位1或0。如以下详细描述的,在第一遍1001之后,需要由存储器控制器106保存两条N位数据的不同位,并将其重新传送到页缓冲器/读出放大器504,以便将组合的中间电平分离成两个最终电平。然而,在第一遍1001中,对于每一对组合且对应于相同中间电平的两条N位数据,尽管所有N位数据可由页缓冲器/读出放大器504临时存储并提供,但N位中仅M位可用于编程对应的目标存储单元306。相反,在第一遍1001中,对于未组合的每条N位数据(格雷码的每个值),所有N位可用于编程对应的目标存储单元306。应当理解,图11所示的示例仅用于说明性目的。通过改变格雷码和/或N和M之间的差,中间电平的数量和排列也可以改变。然而,通过应用上述方案,中间电平的数量K仍可满足2N-1<K<2N的限制,该方案将格雷码值与中间电平之间的一对一映射改变为混合的一对一映射/多对一映射。
如图11所示,为了验证K个中间电平中的目标存储单元306,可以使用K-1个验证电压。例如,11个验证电压可用于验证12个中间电平(N=4,且K=12)中的目标存储单元306。行解码器/字线驱动器508可被配置为依次将K-1个验证电压(Vvf)施加到选定字线318。在一些实施方式中,K-1个验证电压中的每一个在K个中间电平的两个相邻中间电平之间。例如,当N=4时,如图11所示,对于经历粗略编程的每个QLC,可能仅需要各自在两个相邻中间电平之间的11个验证电压来验证12个中间电平之一中的目标存储单元306。在一些实施方式中,在相同的条件下,验证与不同格雷码值对应的但在相同中间电平(例如,P0'、P2'、P3'或P7')中的目标存储单元306。
方法1300前进到操作1304,如图13中所示,其中在最后一遍中编程多行存储单元中的另一行目标存储单元。另一行目标存储单元可邻近于该行目标存储单元。在一些实施方式中,另一行目标存储单元在物理上且紧邻于该行目标存储单元。如上文在图12A和12B中所述的相邻字线之间的交错编程方式可以类似地应用于图12C中的示例中。
仍然以QLC为例,其中N=4,如图12C中所示,字线2(WL2)是在步骤1中经历粗略编程遍次的当前选定的字线(WLn)。对于本文所公开的多遍编程方案,需要保存所有4页数据(XP、UP、MP及LP)并在步骤1中用于粗略编程遍次。在WL2的粗略编程遍次之后,在步骤2中将精细编程遍次(例如,最后一遍)应用于物理上且紧邻于WLn的字线1(WL1)(例如,WLn-1)以完成WL1的编程操作。对于本文所公开的多遍编程方案,仅需由存储器控制器保存一页数据(XP)且在步骤2中用于WL1的精细编程遍次,因为可从存储装置读取其他3页数据(UP、MP和LP)。在步骤2中,需要由存储器控制器保存一页数据(XP)以用于WL2,以及需要再次重新传送这页数据以用于WL2的精细编程遍次。在WL1的精细编程遍次之后,在步骤3中将粗略编程遍次应用于物理上且紧邻于WLn的字线3(WL3)(例如,WLn+1)。类似地,需要保存所有4页数据(XP、UP、MP和LP)并在步骤3中将其用于WL3的粗略编程遍次。在步骤3中,仍然需要由存储器控制器保存一页数据(XP)以用于WL2。在WL3的粗略编程遍次之后,编程操作在步骤4中返回到WL2(WLn),以精细编程遍次完成WL2的操作。对于本文所公开的多遍编程方案,仅一页数据(XP)需要由存储器控制器保存且在步骤4中针对精细编程遍次而重新传送,因为可从存储装置读取其他3页数据(UP、MP和LP)。然后在步骤5中将粗略编程遍次应用于字线4(WL4)。即,在步骤2、3和4中的粗略和精细编程遍次之间,存储器控制器仅需要保存一页数据(XP)。此外,如图12C所示,在每个步骤中,存储器控制器的最大负载是一条字线的4页编程数据加上另一条字线的一页编程数据(例如,在步骤1、3和5中)。由于每条字线可与6个指状物中的存储单元耦合,每个指状物具有其自身的编程数据,因此根据图12C中所示的多遍编程方案,每个步骤中存储器控制器的最大负载可以是30页。因此,本文所公开的多遍编程方案可实现比2N-2N方案小的存储器控制器负载。此外,相邻字线之间的交错编程方式可以确保当前选定字线318(WLn)的精细编程遍次(例如,最后一遍)在WLn-1的精细编程遍次之后发生,使得可以通过WLn的精细编程遍次来补偿由相邻字线(WLn-1)对WLn的任何编程干扰。
方法1300前进到操作1306,如图13所示,其中在第一遍之后的第二遍中编程目标存储单元行,从而基于要存储在目标存储单元中的对应一条N位数据将每个目标存储单元编程为2N个电平中的一个。2N个电平可对应于2N条N位数据。
在多遍编程操作中,在精细编程遍次(例如,将每个目标存储单元306编程为最终电平的最后一遍编程)中,可基于要存储在目标存储单元306中的对应N位数据将每个目标存储单元306编程为2N个电平中的一个。为了执行多遍编程操作,外围电路302可以进一步被配置为在第二遍(也称为精细编程遍次,例如,最后一遍编程)中编程目标存储单元306的行,使得基于要存储在目标存储单元306中的对应的一条N位数据将每个目标存储单元306编程为2N个电平(最终电平)中的一个。电平(最终电平)可对应于目标存储单元306的2N个阈值电压范围(最终阈值电压范围)中的一个。现在,在第一遍中组合多个格雷码值的相同中间电平中的目标存储单元306的一些阈值电压范围可通过第二遍上移且分成不同的最终阈值电压范围。现在,目标存储单元306的其他阈值电压范围可通过第二遍上移到最终阈值电压范围。仍以QLC为例,其中N=4,如图11中所示,中间电平P0'、P2'、P3'和P7'中的每一个可以通过精细编程遍次上移并被分成两个相邻的最终电平,而中间电平P1'、P4'、P5'、P6'、P8'、P9'、P10'和P11'中的每一个可以被上移到相应的最终电平,使得电平的数量可以从12个中间电平增加到16个最终电平。
不同于现有的2N-2N方案,其中需要再次从存储器控制器重新传送整个N页数据,根据本文所公开的多遍编程方案,可基于对应的中间电平从目标存储单元行读取N页数据中的M页,使得仅需要再次从存储器控制器重新传送剩余的N-M页数据以用于精细编程遍次。参考图14,在一些实施方式中,在第二遍之前,在操作1408,对于每个目标存储单元,基于K个中间电平中的对应的一个中间电平来读取对应一条N位数据的M位,其中在第一遍中将目标存储单元编程为该K个中间电平中的对应的一个中间电平,其中M是小于N的整数。例如,可执行读取操作以从目标存储单元行读取M页数据。在操作1410,对于每个目标存储单元,接收对应一条N位数据的N-M位。在操作1412,对于每个目标存储单元,将所读取的M位与所接收的N-M位组合成对应的一条N位数据。在操作1414,将对应的一条N位数据提供到目标存储单元。
在一些实施方式中,存储器控制器106还被配置为针对每个目标存储单元306在第一遍之后将对应的一条N位数据的N-M位存储在例如高速缓存524中。在一些实施方式中,存储器控制器106进一步被配置为针对每个目标存储单元306在第二遍之前通过接口530将对应的一条N位数据的所存储的N-M位传送到页缓冲器/读出放大器504。仍然以QLC为例,其中N=4,如图7B中所示,页缓冲器/读出放大器504的3个存储模块702(P1、P2和P3)被配置为分别临时存储4页数据中的3页,其是在第二遍之前通过读取操作从目标存储单元行中读取的。对于每个目标存储单元306,可从每个相应目标存储单元306读取对应的一条4位数据中的3位二进制值(例如,根据表1中的格雷码的b2、b3和b4)且分别将其临时存储在对应的3个存储单元704组中。例如,如图11所示,可以基于12个中间电平读取3页(MP、UP和XP)。由于剩余页(LP)可能不用于从格雷码的两个值(例如,P0'、P2'、P3'和P7')组合的一些中间电平中,因此可不基于中间电平来读取剩余页(LP)。如图3B所示,页缓冲器/读出放大器504的剩余存储模块702(P4)被配置为从存储器控制器106接收4页数据的剩余页,并在第二遍之前临时存储剩余页数据。对于每个目标存储单元306,可从存储器控制器106接收对应一条4位数据中的1位二进制值(例如,根据表1中的格雷码的b1)且分别将其临时存储在对应的存储单元704组中。例如,如图11所示,可以从存储器控制器106接收剩余页(LP)。
如图7B中所示,页缓冲器/读出放大器504可进一步被配置为针对每个目标存储单元306将对应的一条4位数据中的读取的3位二进制值(例如,根据表1中的格雷码的b2、b3和b4)与对应的一条4位数据中的接收的1位二进制值(例如,根据表1中的格雷码的b1)组合成对应的一条4位数据。页缓冲器/读出放大器504可以进一步被配置为针对每个目标存储单元306提供用于第二遍的对应的一条4位数据。
参考图14,在一些实施方式中,在第二遍中,在操作1414,将第二编程电压施加到第一选定字线。在操作1416,将对应的一条N位数据提供给每个目标存储单元。例如,如图10中所示,为了在第二遍1003中编程目标存储单元306的行,行解码器/字线驱动器508被配置为在每个编程/验证循环1004中将第二编程电压Vpgm2施加到选定字线318。应理解,第二遍1003还可包括(例如)也使用ISPP方案的具有不同第二编程电压Vpgm2的一个或多个编程/验证循环1004。为了便于描述,在图10中仅示出了一个编程/验证循环1004。第二编程电压Vpgm2可高于第一编程电压Vpgm1,以便如上所述上移阈值电压分布。为了在第二遍1003中编程目标存储单元306的行,根据一些实施方式,页缓冲器/读出放大器504被配置为向每个目标存储单元306提供对应的一条N位数据(例如,N位格雷码的2N个值中的一个值)。例如,当N=4时,如图7B中所示,对于粗略编程下的每个QLC,页缓冲器/读出放大器504可从4个存储模块702中的每一个中的相应的4个存储单元704组提供对应的一条4位数据(例如,表1中的4位格雷码b1b2b3b4)。
返回参考图14,在一些实施方式中,在第二遍中,在操作1418,将基于2N个电平的2N-1个验证电压依次施加到第一选定字线。如图10所示,在一些实施方式中,为了在第二遍1003中编程目标存储单元306的行,行解码器/字线驱动器508被配置为基于2N个电平(最终电平)使用2N-1个验证电压来验证目标存储单元306的行。为了验证2N个最终电平中的目标存储单元306,可以使用2N-1个验证电压。例如,15个验证电压可以用于验证16个最终电平(N=4)中的目标存储单元306。如图10所示,为了验证目标存储单元306的行,行解码器/字线驱动器508可以被配置为依次将2N-1个验证电压(Vvf)施加到选定字线318。在一些实施方式中,2N-1个验证电压中的每一个在2N个最终电平中的两个相邻最终电平之间。例如,当N=4时,如图11所示,对于经历精细编程的每个QLC,可能需要在各自两个相邻最终电平之间的15个验证电压来验证16个最终电平之一中的目标存储单元306。
根据本公开内容的一个方面,一种存储装置包括具有多行存储单元的存储单元阵列、分别耦合到所述多行存储单元的多条字线、以及通过所述字线耦合到所述存储单元阵列的外围电路。每个存储单元被配置为以2N个电平中的一个存储一条N位数据,其中,N为大于1的整数。电平对应于2N条N位数据中的一条。外围电路被配置为在第一遍中编程所述多行存储单元中的一行目标存储单元,使得所述一行目标存储单元中的每一目标存储单元基于要存储在所述目标存储单元中的对应的一条N位数据而被编程为K个中间电平中的一个,其中2N-1<K<2N。所述外围电路还被配置为在所述第一遍之后的第二遍中编程所述一行目标存储单元,使得每个目标存储单元基于要存储在所述目标存储单元中的对应一条N位数据而被编程为所述2N个电平中的一个。
在一些实施方式中,外围电路包括页缓冲器,其被配置为在第二遍之前,针对每个目标存储单元,基于在第一遍中将目标存储单元编程为的K个中间电平中的对应一个来读取对应的一条N位数据的M位,且接收对应的一条N位数据的N-M位,其中,M为小于N的整数。
在一些实施方式中,页缓冲器还被配置为将读取的M位与接收的N-M位组合成所述对应的一条N位数据,且将所述对应的一条N位数据提供到目标存储单元。
在一些实施方式中,K个中间电平中的至少第一中间电平对应于2N条N位数据中的多条N位数据,并且K个中间电平中的至少第二中间电平对应于2N条N位数据中的一条N位数据。
在一些实施方式中,第一中间电平对应于2N条N位数据中的两条N位数据。
在一些实施方式中,两条N位数据具有相同的M位。
在一些实施方式中,N-M=1。
在一些实施方式中,外围电路包括字线驱动器,该字线驱动器被配置为在第一遍中将第一编程电压施加到字线中的选定字线,选定字线耦合到所述一行目标存储单元,并且将基于K个中间电平的K-1个验证电压依次施加到选定字线。
在一些实施方式中,字线驱动器还被配置为在第二遍中,将第二编程电压施加到选定字线,并且将基于2N个电平的2N-1个验证电压依次施加到选定字线。
在一些实施方式中,外围电路还被配置为在编程所述一行目标存储单元的第一遍与第二遍之间,在最后一遍中编程多行存储单元中的另一行目标存储单元。在一些实施方式中,另一行目标存储单元邻近于所述一行目标存储单元。
在一些实施方式中,N=4,且所述存储装置包括3D NAND闪存装置。
根据本公开内容的另一方面,一种系统包括配置为存储数据的存储装置以及耦合到存储装置的存储器控制器。该存储装置包括具有多行存储单元的存储单元阵列、分别耦合到多行存储单元的多条字线、以及通过字线耦合到存储单元阵列的外围电路。每个存储单元被配置为以2N个电平中的一个存储一条N位数据,其中,N为大于1的整数。电平对应于2N条N位数据中的一条。外围电路被配置为在第一遍中编程所述多行存储单元中的一行目标存储单元,使得所述一行目标存储单元中的每一目标存储单元基于要存储在所述目标存储单元中的对应一条N位数据而被编程为K个中间电平中的一个,其中2N-1<K<2N。所述外围电路还被配置为在所述第一遍之后的第二遍中编程所述一行目标存储单元,使得每个目标存储单元基于要存储在所述目标存储单元中的对应的一条N位数据而被编程为所述2N个电平中的一个。存储器控制器被配置为在第一遍之前将对应的一条N位数据传送到外围电路,在第一遍之后存储对应的一条N位数据的N-M位,其中M是小于N的整数,并且在第二遍之前将存储的对应的一条N位数据的N-M位传送到外围电路。
在一些实施方式中,外围电路包括页缓冲器,其被配置为在第二遍之前,针对每个目标存储单元,基于在第一遍中将目标存储单元编程为的K个中间电平中的对应一个中间电平来读取对应的一条N位数据的M位,其中,M为小于N的整数,且从存储器控制器接收对应的一条N位数据的N-M位。
在一些实施方式中,页缓冲器还被配置为将读取的M位与接收的N-M位组合成所述对应的一条N位数据,且将所述对应的一条N位数据提供到目标存储单元。
在一些实施方式中,K个中间电平中的至少第一中间电平对应于2N条N位数据中的多条N位数据,并且K个中间电平中的至少第二中间电平对应于2N条N位数据中的一条N位数据。
在一些实施方式中,第一中间电平对应于2N条N位数据中的两条N位数据。
在一些实施方式中,两条N位数据具有相同的M位。
在一些实施方式中,N-M=1。
在一些实施方式中,外围电路包括字线驱动器,该字线驱动器被配置为在第一遍中将第一编程电压施加到字线中的选定字线,选定字线耦合到所述一行目标存储单元,并且将基于K个中间电平的K-1个验证电压依次施加到选定字线。
在一些实施方式中,字线驱动器还被配置为在第二遍中,将第二编程电压施加到选定字线,并且将基于2N个电平的2N-1个验证电压依次施加到选定字线。
在一些实施方式中,外围电路还被配置为在编程所述一行目标存储单元的第一遍与第二遍之间,在最后一遍中编程多行存储单元中的另一行目标存储单元。在一些实施方式中,另一行目标存储单元邻近于所述一行目标存储单元。
根据本公开内容的又一方面,提供了一种用于操作存储装置的方法。该存储装置包括具有多行存储单元的存储单元阵列、以及分别耦合到多行存储单元的多条字线。在第一遍中,对所述多行存储单元中的一行目标存储单元进行编程,使得基于要存储在所述目标存储单元中的2N条N位数据中的一条将所述一行目标存储单元中的每一个存储单元编程为K个中间电平中的一个,其中N为大于1的整数,其中2N-1<K<2N。在第一遍之后的第二遍中,对所述一行目标存储单元进行编程,使得基于要存储在目标存储单元中的对应的一条N位数据将每个目标存储单元编程为2N个电平中的一个。2N个电平对应于2N条N位数据。
在一些实施方式中,在第二遍之前,针对每个目标存储单元,基于在第一遍中将目标存储单元编程为的K个中间电平中的对应一个中间电平来读取对应的一条N位数据的M位,其中,M为小于N的整数,且接收对应一条N位数据的N-M位。
在一些实施方式中,将读取的M位与接收的N-M位组合成所述对应的一条N位数据,且将所述对应的一条N位数据提供到目标存储单元。
在一些实施方式中,K个中间电平中的至少第一中间电平对应于2N条N位数据中的多条N位数据,并且K个中间电平中的至少第二中间电平对应于2N条N位数据中的一条N位数据。
在一些实施方式中,第一中间电平对应于2N条N位数据中的两条N位数据。
在一些实施方式中,两条N位数据具有相同的M位。
在一些实施方式中,N-M=1。
在一些实施方式中,为了在第一遍中对所述一行目标存储单元进行编程,将第一编程电压施加到字线中的选定字线,选定字线耦合到所述一行目标存储单元,并且将基于K个中间电平的K-1个验证电压依次施加到选定字线。
在一些实施方式中,为了在第二遍中对所述一行目标存储单元进行编程,将第二编程电压施加到选定字线,并且将基于2N个电平的2N-1个验证电压依次施加到选定字线。
在一些实施方式中,在编程所述一行目标存储单元的第一遍与第二遍之间,在最后一遍中编程多行存储单元中的另一行目标存储单元。在一些实施方式中,另一行目标存储单元邻近于所述一行目标存储单元。
可以容易地修改特定实施方式的前述描述和/或使其适于各种应用。因此,基于本文呈现的教导和指导,这样的适应和修改旨在处于所公开的实施方式的等同变换的含义和范围内。
本公开内容的广度和范围不应受上述示例性实施方式中的任一个限制,而应仅根据所附权利要求及其等同变换来限定。
Claims (31)
1.一种存储装置,包括:
存储单元阵列,具有多行存储单元,每个存储单元被配置为以2N个电平中的一个存储一条N位数据,所述电平对应于2N条N位数据中的一条,其中,N为大于1的整数;
多条字线,分别耦合到所述多行存储单元;以及
外围电路,通过所述字线耦合到所述存储单元阵列并被配置为:
在第一遍中编程所述多行存储单元中的一行目标存储单元,使得所述一行目标存储单元中的每一目标存储单元基于要存储在所述目标存储单元中的对应的一条N位数据而被编程为K个中间电平中的一个,其中2N-1<K<2N;并且
在所述第一遍之后的第二遍中编程所述一行目标存储单元,使得每个目标存储单元基于要存储在所述目标存储单元中的所述对应的一条N位数据而被编程为所述2N个电平中的一个。
2.根据权利要求1所述的存储装置,其中,所述外围电路包括页缓冲器,所述页缓冲器被配置为在所述第二遍之前,针对每个目标存储单元:
基于在所述第一遍中将所述目标存储单元编程为的所述K个中间电平中的对应一个中间电平来读取所述对应的一条N位数据的M位,其中,M为小于N的整数,并且
接收所述对应的一条N位数据的N-M位。
3.根据权利要求2所述的存储装置,其中,所述页缓冲器还被配置为:
将所读取的M位与所接收的N-M位组合成所述对应的一条N位数据;并且
将所述对应的一条N位数据提供到所述目标存储单元。
4.根据权利要求2或3所述的存储装置,其中,所述K个中间电平中的至少第一中间电平对应于所述2N条N位数据中的多条N位数据,并且所述K个中间电平中的至少第二中间电平对应于所述2N条N位数据中的一条N位数据。
5.根据权利要求4所述的存储装置,其中,所述第一中间电平对应于所述2N条N位数据中的两条N位数据。
6.根据权利要求5所述的存储装置,其中,所述两条N位数据具有相同的M位。
7.根据权利要求2或3所述的存储装置,其中,N-M=1。
8.根据权利要求1-3中任一项所述的存储装置,其中,所述外围电路包括字线驱动器,所述字线驱动器被配置为在所述第一遍中:
将第一编程电压施加到所述字线中的选定字线,所述选定字线耦合到所述一行目标存储单元;并且
将基于所述K个中间电平的K-1个验证电压依次施加到所述选定字线。
9.根据权利要求8所述的存储装置,其中,所述字线驱动器还被配置为在所述第二遍中:
将第二编程电压施加到所述选定字线;并且
将基于所述2N个电平的2N-1个验证电压依次施加到所述选定字线。
10.根据权利要求1-3中任一项所述的存储装置,其中,所述外围电路还被配置为在编程所述一行目标存储单元的所述第一遍与所述第二遍之间,在针对另一行目标存储单元的第二遍中编程所述多行存储单元中的所述另一行目标存储单元,所述另一行目标存储单元邻近于所述一行目标存储单元。
11.根据权利要求1-3中任一项所述的存储装置,其中,N=4,并且所述存储装置包括三维(3D)NAND闪存装置。
12.一种系统,包括:
存储装置,被配置为存储数据,所述存储装置包括:
存储单元阵列,具有多行存储单元,每个存储单元被配置为以2N个电平中的一个存储一条N位数据,所述电平对应于2N条N位数据中的一条,其中,N为大于1的整数;
多条字线,分别耦合到所述多行存储单元;以及
外围电路,通过所述字线耦合到所述存储单元阵列并被配置为:
在第一遍中编程所述多行存储单元中的一行目标存储单元,使得所述一行目标存储单元中的每一目标存储单元基于要存储在所述目标存储单元中的对应的一条N位数据而被编程为K个中间电平中的一个,其中2N-1<K<2N;并且
在所述第一遍之后的第二遍中编程所述一行目标存储单元,使得每个目标存储单元基于要存储在所述目标存储单元中的所述对应的一条N位数据而被编程为所述2N个电平中的一个;以及
存储器控制器,耦合到所述存储装置且被配置为针对每个目标存储单元:
在所述第一遍之前将所述对应的一条N位数据传送到所述外围电路;
在所述第一遍之后存储所述对应的一条N位数据的N-M位,其中,M是小于N的整数;并且
在所述第二遍之前将存储的所述对应的一条N位数据的N-M位传送到所述外围电路。
13.根据权利要求12所述的系统,其中,所述外围电路包括页缓冲器,所述页缓冲器被配置为在所述第二遍之前,针对每个目标存储单元:
基于在所述第一遍中将所述目标存储单元编程为的所述K个中间电平中的对应一个中间电平来读取所述对应的一条N位数据的M位;并且
从所述存储器控制器接收所述对应的一条N位数据的N-M位。
14.根据权利要求13所述的系统,其中,所述页缓冲器还被配置为:
将所读取的M位与所接收的N-M位组合成所述对应的一条N位数据;并且
将所述对应的一条N位数据提供到所述目标存储单元。
15.根据权利要求12-14中任一项所述的系统,其中,所述K个中间电平中的至少第一中间电平对应于所述2N条N位数据中的多条N位数据,并且所述K个中间电平中的至少第二中间电平对应于所述2N条N位数据中的一条N位数据。
16.根据权利要求15所述的系统,其中,所述第一中间电平对应于所述2N条N位数据中的两条N位数据。
17.根据权利要求16所述的系统,其中,所述两条N位数据具有相同的M位。
18.根据权利要求12-14中任一项所述的系统,其中,N-M=1。
19.根据权利要求12-14中任一项所述的系统,其中,所述外围电路包括字线驱动器,所述字线驱动器被配置为在所述第一遍中:
将第一编程电压施加到所述字线中的选定字线,所述选定字线耦合到所述一行目标存储单元;并且
将基于所述K个中间电平的K-1个验证电压依次施加到所述选定字线。
20.根据权利要求19所述的系统,其中,所述字线驱动器还被配置为在所述第二遍中:
将第二编程电压施加到所述选定字线;并且
将基于所述2N个电平的2N-1个验证电压依次施加到所述选定字线。
21.根据权利要求12-14中任一项所述的系统,其中,所述外围电路还被配置为在编程所述一行目标存储单元的所述第一遍与所述第二遍之间,在针对另一行目标存储单元的第二遍中编程所述多行存储单元中的所述另一行目标存储单元,所述另一行目标存储单元邻近于所述一行目标存储单元。
22.一种用于操作存储装置的方法,所述存储装置包括具有多行存储单元的存储单元阵列、以及分别耦合到所述多行存储单元的多条字线,所述方法包括:
在第一遍中,对所述多行存储单元中的一行目标存储单元进行编程,从而基于要存储在所述目标存储单元中的2N条N位数据中的一条将所述一行目标存储单元中的每一目标存储单元编程为K个中间电平中的一个,其中,N为大于1的整数,其中,2N-1<K<2N;以及
在所述第一遍之后的第二遍中,对所述一行目标存储单元进行编程,从而基于要存储在所述目标存储单元中的对应的一条N位数据将每个目标存储单元编程为2N个电平中的一个,所述2N个电平对应于所述2N条N位数据。
23.根据权利要求22所述的方法,还包括,在所述第二遍之前,针对每个目标存储单元:
基于在所述第一遍中将所述目标存储单元编程为的所述K个中间电平中的对应一个中间电平来读取所述对应的一条N位数据的M位,其中,M为小于N的整数;并且
接收所述对应的一条N位数据的N-M位。
24.根据权利要求23所述的方法,还包括:
将所读取的M位与所接收的N-M位组合成所述对应的一条N位数据;以及
将所述对应的一条N位数据提供到所述目标存储单元。
25.根据权利要求23或24所述的方法,其中,所述K个中间电平中的至少第一中间电平对应于所述2N条N位数据中的多条N位数据,并且所述K个中间电平中的至少第二中间电平对应于所述2N条N位数据中的一条N位数据。
26.根据权利要求25所述的方法,其中,所述第一中间电平对应于所述2N条N位数据中的两条N位数据。
27.根据权利要求26所述的方法,其中,所述两条N位数据具有相同的M位。
28.根据权利要求23或24所述的方法,其中,N-M=1。
29.根据权利要求22-24中任一项所述的方法,其中,在所述第一遍中对所述一行目标存储单元进行编程包括:
将第一编程电压施加到所述字线中的选定字线,所述选定字线耦合到所述一行目标存储单元;以及
将基于所述K个中间电平的K-1个验证电压依次施加到所述选定字线。
30.根据权利要求29所述的方法,其中,在所述第二遍中对所述一行目标存储单元进行编程包括:
将第二编程电压施加到所述选定字线;以及
将基于所述2N个电平的2N-1个验证电压依次施加到所述选定字线。
31.根据权利要求22-24中任一项所述的方法,还包括,在编程所述一行目标存储单元的所述第一遍与所述第二遍之间,在针对另一行目标存储单元的第二遍中编程所述多行存储单元中的所述另一行目标存储单元,所述另一行目标存储单元邻近于所述一行目标存储单元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/102298 WO2022266985A1 (en) | 2021-06-25 | 2021-06-25 | Memory device and multi-pass program operation thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113646843A CN113646843A (zh) | 2021-11-12 |
CN113646843B true CN113646843B (zh) | 2023-12-15 |
Family
ID=78427375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180002088.9A Active CN113646843B (zh) | 2021-06-25 | 2021-06-25 | 存储装置及其多遍编程操作 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11763902B2 (zh) |
CN (1) | CN113646843B (zh) |
WO (1) | WO2022266985A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113228184B (zh) * | 2021-03-30 | 2023-10-20 | 长江存储科技有限责任公司 | 存储器件及其多遍编程操作 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109863557A (zh) * | 2019-01-23 | 2019-06-07 | 长江存储科技有限责任公司 | 用于对存储器系统进行编程的方法 |
CN110546762A (zh) * | 2019-04-30 | 2019-12-06 | 长江存储科技有限责任公司 | 键合的统一半导体芯片及其制造和操作方法 |
CN110619916A (zh) * | 2019-08-12 | 2019-12-27 | 长江存储科技有限责任公司 | 存储器编程方法、装置、电子设备及可读存储介质 |
CN111527549A (zh) * | 2018-08-07 | 2020-08-11 | 桑迪士克科技有限责任公司 | 利用经修改的通过电压进行多遍编程以收紧阈值电压分布 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7440323B2 (en) * | 2006-11-02 | 2008-10-21 | Sandisk Corporation | Reducing program disturb in non-volatile memory using multiple boosting modes |
US8130552B2 (en) * | 2008-09-11 | 2012-03-06 | Sandisk Technologies Inc. | Multi-pass programming for memory with reduced data storage requirement |
US8064252B2 (en) * | 2008-11-21 | 2011-11-22 | Micron Technology, Inc. | Multi-pass programming in a memory device |
US8811091B2 (en) * | 2011-12-16 | 2014-08-19 | SanDisk Technologies, Inc. | Non-volatile memory and method with improved first pass programming |
KR20160135055A (ko) * | 2015-05-15 | 2016-11-24 | 에스케이하이닉스 주식회사 | 더미 메모리 셀들을 포함하는 반도체 메모리 장치 및 그것의 동작 방법 |
KR102595291B1 (ko) * | 2016-09-23 | 2023-10-30 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
KR20190020880A (ko) * | 2017-08-21 | 2019-03-05 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그 동작 방법 |
CN113228184B (zh) * | 2021-03-30 | 2023-10-20 | 长江存储科技有限责任公司 | 存储器件及其多遍编程操作 |
-
2021
- 2021-06-25 CN CN202180002088.9A patent/CN113646843B/zh active Active
- 2021-06-25 WO PCT/CN2021/102298 patent/WO2022266985A1/en active Application Filing
- 2021-09-23 US US17/483,265 patent/US11763902B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111527549A (zh) * | 2018-08-07 | 2020-08-11 | 桑迪士克科技有限责任公司 | 利用经修改的通过电压进行多遍编程以收紧阈值电压分布 |
CN109863557A (zh) * | 2019-01-23 | 2019-06-07 | 长江存储科技有限责任公司 | 用于对存储器系统进行编程的方法 |
CN110546762A (zh) * | 2019-04-30 | 2019-12-06 | 长江存储科技有限责任公司 | 键合的统一半导体芯片及其制造和操作方法 |
CN110619916A (zh) * | 2019-08-12 | 2019-12-27 | 长江存储科技有限责任公司 | 存储器编程方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022266985A1 (en) | 2022-12-29 |
US20220415418A1 (en) | 2022-12-29 |
CN113646843A (zh) | 2021-11-12 |
US11763902B2 (en) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113490984B (zh) | 存储器器件及其编程操作 | |
CN111798904A (zh) | 非易失性存储器装置、其操作方法和存储器系统 | |
US20230035225A1 (en) | Memory device and program operation thereof | |
US11742037B2 (en) | Memory device and multi-pass program operation thereof | |
CN113646843B (zh) | 存储装置及其多遍编程操作 | |
CN117636961A (zh) | 存储器器件和在其编程操作暂停期间的读取操作 | |
CN117636960A (zh) | 存储器器件和在其编程操作暂停期间的读取操作 | |
CN113168869B (zh) | 存储器器件及其擦除操作 | |
CN113228188A (zh) | 存储器件及其编程操作 | |
US12100462B2 (en) | Memory device and multi-pass program operation thereof | |
WO2024103347A1 (en) | Memory device, memory system, and operation method thereof | |
US20240221837A1 (en) | Memory device and operation thereof | |
CN117594094A (zh) | 存储器器件和在其编程操作暂停期间的读取操作 | |
CN114333956A (zh) | 三维存储器装置、三维存储器装置的编程处理方法 | |
CN114974363A (zh) | 三维存储器的读取方法、三维存储器及存储器系统 | |
CN115171755A (zh) | 一种存储器的擦除方法、存储器及存储系统 | |
CN114175165A (zh) | 存储装置及其编程操作 | |
CN114974382A (zh) | 存储器、系统以及存储器的操作方法 | |
CN114882931A (zh) | 一种三维存储器的编程方法、三维存储器及存储器系统 | |
CN118575222A (zh) | 存储装置及其读取操作 | |
CN114863963A (zh) | 一种对存储器件的操作方法、存储器件及存储器系统 | |
CN114999547A (zh) | 存储器装置及其操作方法、存储器系统 | |
CN118298883A (zh) | 存储器装置及其操作方法、存储器系统 | |
CN117461084A (zh) | 存储器件、存储器系统及其编程操作方法 | |
CN116547759A (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 |