CN117461084A - 存储器件、存储器系统及其编程操作方法 - Google Patents
存储器件、存储器系统及其编程操作方法 Download PDFInfo
- Publication number
- CN117461084A CN117461084A CN202280006087.6A CN202280006087A CN117461084A CN 117461084 A CN117461084 A CN 117461084A CN 202280006087 A CN202280006087 A CN 202280006087A CN 117461084 A CN117461084 A CN 117461084A
- Authority
- CN
- China
- Prior art keywords
- program
- ith
- target state
- memory
- memory cell
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000012795 verification Methods 0.000 claims abstract description 130
- 230000004044 response Effects 0.000 claims abstract description 26
- 230000002093 peripheral effect Effects 0.000 claims description 43
- 210000004027 cell Anatomy 0.000 description 305
- 239000010410 layer Substances 0.000 description 22
- 238000009826 distribution Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 10
- 230000001965 increasing effect Effects 0.000 description 8
- 239000000758 substrate Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000012212 insulator Substances 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 2
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 229910052732 germanium Inorganic materials 0.000 description 2
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 229920005591 polysilicon Polymers 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 238000004809 thin layer chromatography Methods 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
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 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
- 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
- 230000000295 complement effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 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
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- -1 siGe) Chemical compound 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
- 238000001228 spectrum Methods 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000005641 tunneling Effects 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/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/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
- 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/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/24—Bit-line control circuits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
公开了一种存储器件、存储器系统和编程操作方法。在一个示例中,在第i个编程循环处,响应于确定索引i大于或等于第一预设值且小于与存储器件中的存储单元的目标状态相对应的初始验证循环编号,可以对目标状态的存储单元执行第i个编程禁止操作。索引i可以是正整数,并且初始验证循环编号可以指示开始与存储单元的目标状态相对应的验证操作的编程循环编号。
Description
相关申请的交叉引用
本申请要求享有于2022年5月24日提交的中国申请第202210573032.5号的优先权的权益,该中国申请以其整体通过引用并入本文。
技术领域
本公开涉及存储器件、存储器系统及其编程操作方法。
背景技术
例如,用作非易失性存储器的NAND存储器件已知具有低成本、高容量、快改写速度等优点。在对NAND存储器件进行编程时,典型地采用一遍(one-pass)或多遍(two-pass)编程方法。在这种方法中,编程操作从擦除状态开始。顺序地验证每个编程状态,直到所有状态的验证都通过为止,或者直到达到最大编程脉冲计数为止,然后编程操作可以结束。
然而,随着存储单元被擦除得更深,擦除状态的阈值电压分布可能变得更宽。这可能会影响每个编程状态的读取裕度,从而导致存储器读取错误的可能性增加。为此,如何更好地对存储器件进行编程以增加编程状态的读取裕度,以及降低存储器读取错误的概率,已经成为本领域的一个重要课题。
发明内容
在一个方面,本公开提供了一种编程操作的方法。在第i个编程循环处,响应于确定索引i大于或等于第一预设值且小于与存储器件中的存储单元的目标状态相对应的初始验证循环编号,可以对目标状态的存储单元执行第i个编程禁止操作。索引i可以为正整数,并且初始验证循环编号可以指示开始与存储单元的目标状态相对应的验证操作的编程循环编号。
在一些实现方式中,在第i个编程循环处,对存储单元执行第i个编程禁止操作可以包括:在第i个编程循环处,将第i位线编程禁止电压施加到与要被编程到目标状态的存储单元耦合的位线。
在一些实现方式中,第i位线编程禁止电压可以包括高于0V的电压电平。
在一些实现方式中,该方法还可以包括:获取与存储单元的目标状态相对应的初始验证循环编号。
在一些实现方式中,该方法还可以包括:在第i个编程循环处,响应于确定索引i大于或等于1且小于第一预设值,对目标状态的存储单元执行第i个编程操作。
在一些实现方式中,在第i个编程循环处,对存储单元执行第i个编程操作可以包括:在第i个编程循环处,将第i位线编程电压施加到与要被编程到目标状态的存储单元耦合的位线。
在一些实现方式中,第i位线编程电压可以为0V。
在一些实现方式中,该方法可以包括:响应于在第p个编程循环处确定要被编程到目标状态的存储单元达到目标状态并且通过验证操作,在第(p+1)个编程循环处对目标状态的存储单元执行第(p+1)个编程禁止操作,p为大于初始验证循环编号的正整数。
在一些实现方式中,该方法可以包括:在第i个编程循环处,响应于确定索引i等于初始验证循环编号:对存储单元执行第i个编程操作;以及在执行第i个编程操作之后,对存储单元执行第i个验证操作。
在一些实现方式中,该方法还可以包括:在对存储单元进行第i个验证操作之后,生成第i个验证结果信号,该第i个验证结果信号指示与第i个验证操作相对应的验证结果。
在一些实现方式中,该方法还可以包括:响应于确定与存储单元相对应的所有目标状态通过验证操作,结束对所有目标状态的存储单元的编程操作。
在一些实现方式中,在第i个编程循环处,对存储单元执行第i个编程操作可以包括:在第i个编程循环处,将第i位线编程电压施加到与要被编程到目标状态的存储单元耦合的位线。
在一些实现方式中,第i位线编程可以电压包括:低于在第q个编程禁止操作中的第q位线编程禁止电压的电压电平。q可以为正整数。
在一些实现方式中,第i位线编程电压的电压电平可以是根据与存储单元的目标状态相对应的所要求的阈值电压与存储单元当前存储的电压之间的差来确定的。
在一些实现方式中,对于存储器件中的存储单元的所有目标状态,第一预设值可以是相同的。
在一些实现方式中,第一预设值可以为2。
在一些实现方式中,第一预设值可以包括初始验证循环编号与第二预设值之间的差。第二预设值可以包括正整数。
在一些实现方式中,第二预设值可以包括从1到5中选择的整数。
在一些实现方式中,第二预设值可以为4。
在一些实现方式中,初始验证循环编号可以为第一初始验证循环编号,并且目标状态可以为第一目标状态。第一预设值可以包括第二初始验证循环编号。第二初始验证循环编号可以指示开始与存储器件中的存储单元的第二目标状态相对应的验证操作的编程循环编号,第二目标状态可以为低于第一目标状态的状态。
在一些实现方式中,第一目标状态可以为第x状态,并且第二目标状态可以为第(x-j)状态。x可以包括大于或等于2且小于或等于存储器件中的存储单元的所有目标状态的总数L的整数,并且j可以包括正整数,使得(x-j)的值大于1。
在一些实现方式中,当L等于7时,j可以是从1到5中选择的;以及当L等于15时,j可以是从1到10中选择的。
另一方面,本公开提供了一种存储器件。存储器件可以包括多个存储单元和耦合到多个存储单元的外围电路。外围电路可以被配置为:在第i个编程循环处,响应于确定索引i大于或等于第一预设值且小于与存储器件中的存储单元的目标状态相对应的初始验证循环编号,对目标状态的存储单元执行第i个编程禁止操作。索引i可以为正整数,并且初始验证循环编号可以指示开始与存储单元的目标状态相对应的验证操作的编程循环编号。
在一些实现方式中,外围电路还可以被配置为:在第i个编程循环处,将第i位线编程禁止电压施加到与要被编程到目标状态的存储单元耦合的位线。
在一些实现方式中,第i位线编程禁止电压包括高于0V的电压电平。
在一些实现方式中,外围电路还可以被配置为:获取与存储单元的目标状态相对应的初始验证循环编号。
在一些实现方式中,外围电路还可以被配置为:在第i个编程循环处,响应于确定索引i大于或等于1且小于第一预设值,对目标状态的存储单元执行第i个编程操作。
在一些实现方式中,外围电路还可以被配置为:在第i个编程循环处,响应于确定索引i大于或等于1且小于第一预设值,将第i位线编程电压施加到与要被编程到目标状态的存储单元耦合的位线。
在一些实现方式中,第i位线编程电压可以为0V。
在一些实现方式中,外围电路还可以被配置为:响应于在第p个编程循环处确定要被编程到目标状态的存储单元达到目标状态并且通过验证操作,在第(p+1)个编程循环处对目标状态的存储单元执行第(p+1)个编程禁止操作。p可以为大于初始验证循环编号的正整数。
在一些实现方式中,外围电路还可以被配置为,在第i个编程循环处,响应于确定索引i等于初始验证循环编号:对存储单元执行第i个编程操作;以及在执行第i个编程操作之后,对存储单元执行第i个验证操作。
在一些实现方式中,外围电路还可以被配置为:在对存储单元进行第i个验证操作之后,生成第i个验证结果信号,该第i个验证结果信号指示与第i个验证操作相对应的验证结果。
在一些实现方式中,外围电路还可以被配置为:响应于确定与存储单元相对应的所有目标状态通过验证操作,结束对所有目标状态的存储单元的编程操作。
在一些实现方式中,外围电路还可以被配置为:在第i个编程循环处,将第i位线编程电压施加到与要被编程到目标状态的存储单元耦合的位线。
在一些实现方式中,第i位线编程电压可以包括:低于在第q个编程禁止操作中的第q位线编程禁止电压的电压电平。q可以为正整数。
在一些实现方式中,第i位线编程电压的电压电平可以是根据与存储单元的目标状态相对应的所要求的阈值电压与存储单元当前存储的电压之间的差来确定的。
在一些实现方式中,对于存储器件中的存储单元的所有目标状态,第一预设值可以是相同的。
在一些实现方式中,第一预设值可以为2。
在一些实现方式中,第一预设值可以包括初始验证循环编号与第二预设值之间的差。第二预设值可以包括正整数。
在一些实现方式中,第二预设值可以包括从1到5中选择的整数。
在一些实现方式中,第二预设值可以为4。
在一些实现方式中,初始验证循环编号可以为第一初始验证循环编号,并且目标状态可以为第一目标状态。第一预设值可以包括第二初始验证循环编号。第二初始验证循环编号可以指示开始与存储器件中的存储单元的第二目标状态相对应的验证操作的编程循环编号。第二目标状态可以为低于第一目标状态的状态。
在一些实现方式中,第一目标状态可以为第x状态,并且第二目标状态可以为第(x-j)状态。x可以包括大于或等于2且小于或等于存储器件中的存储单元的所有目标状态的总数L的整数,并且j可以包括正整数,使得(x-j)的值大于1。
在一些实现方式中,当L等于7时,j是从1到5中选择的;以及当L等于15时,j是从1到10中选择的。
在一些实现方式中,存储器件可以是三维(three-dimensional,3D)存储器件。
在又一方面,本公开提供了一种存储器系统。存储器系统可以包括一个或多个存储器件。每一个存储器件可以包括:多个存储单元;以及耦合到多个存储单元外围电路。外围电路可以被配置为:在第i个编程循环处,响应于确定索引i大于或等于第一预设值且小于与存储器件中的存储单元的目标状态相对应的初始验证循环编号,对目标状态的存储单元执行第i个编程禁止操作。索引i可以为正整数,并且初始验证循环编号可以指示开始与存储单元的目标状态相对应的验证操作的编程循环编号。
在一些实现方式中,一个或多个存储器件中的每一个存储器件可以包括三维(3D)存储器件。
在又一方面,本公开提供了另一种对存储器件执行编程操作的方法。可以获取包括下限和上限的范围。下限和上限中的每一个可以包括正整数。上限可以大于或等于下限并且包括初始验证循环编号减1。初始验证循环编号可以指示开始与存储单元的目标状态相对应的验证操作的编程循环编号。可以针对从第p个编程循环到第q个编程循环的每个编程循环,对目标状态的存储单元执行编程禁止操作。p可以等于下限,并且q可以等于上限。
附图说明
并入本文并形成说明书的一部分的附图示出了本公开的方面,并且连同说明书一起进一步用于解释本公开的原理,并且使相关领域的技术人员能够制作和使用本公开。
图1A和图1B是示出一遍编程操作方法的示意图。
图2A-图2C示出了示例性编程操作方法的比较。
图3示出了根据本公开的一些实现方式的第一示例性编程操作方法的流程图。
图4示出了根据本公开的一些实现方式的第二示例性编程操作方法的流程图。
图5示出了根据本公开的一些实现方式的第三示例性编程操作方法的流程图。
图6示出了根据本公开的一些实现方式的第四示例性编程操作方法的流程图。
图7示出了根据本公开的一些实现方式的包括外围电路和存储单元阵列的示例性存储器件的示意图。
图8是根据本公开的一些实现方式的NAND存储串的横截面视图。
图9示出了根据本公开的一些实现方式的包括存储单元阵列和外围电路的示例性存储器件的框图。
图10示出了根据本公开的一些实现方式的具有存储系统的示例性存储器系统的框图。
图11A示出了根据本公开的一些实现方式的具有存储器件的示例性存储卡的图。
图11B示出了根据本公开的一些实现方式的具有多个存储器件的示例性固态驱动器(solid-state drive,SSD)的图。
将参照附图描述本公开。
具体实施方式
通常,术语可以至少部分地从上下文中的使用来理解。例如,如本文使用的术语“一个或多个”至少部分地取决于上下文,可以用于在单数意义上描述任何特征、结构或特性,或可以用于在复数意义上描述特征、结构、或特性的组合。类似地,再次强调,诸如“一(a)”、“一个(an)”或“该(the)”之类的术语可以被理解为传达单数用法或传达复数用法,这至少部分地取决于上下文。另外地,术语“基于”和“根据”可以理解为不一定旨在传达因素的排他集合,而是相反,可以允许存在不一定明确描述的附加因素,再次强调,这至少部分地取决于上下文。此外,术语“耦合”、“耦合到”或“耦合在……之间”可以理解为不一定旨在是“物理上接合或附接”,即,直接附接,而且也可以解释为通过中间组件间接连接。
此外,术语“垂直”和“水平”可以仅为了便于描述而使用。这些方向可能是相对于预定义的坐标系或特定方向(例如,绘图的布局)的。可以理解,这些方向不是绝对的,提供这些方向仅为了参考。
同时,本公开中的术语“第一”、“第二”等用于标识对象,而不对特定的次序或序列进行限制。也可以理解,在不冲突的情况下,本公开实现方式中描述的技术方案可以组合。
在较早的时候,存储器件的存储单元主要是单层单元(single-level cell,SLC)。即,每个存储单元可以仅存储一位数据,并且具有两个存储状态,即,“0”与第一电压范围相对应并且“1”与第二电压范围相对应。随着NAND存储器技术的发展,存储单元已经逐渐从单层单元发展为能够存储两位数据的多层单元(multi-level cell,MLC)。后来还引入了能够存储三位数据的三层单元(triple-level cell,TLC)以及甚至能够存储四位数据的四层单元(quad-level cell,QLC)。相应地,NAND存储器件的存储单元可以保持的存储状态可以从2个升级到4个、8个,甚至16个。
例如,通过将七个可能的标称存储值中的一个标称存储值写入存储单元,TLC可以被编程为从擦除状态具有七个可能编程级别中的一个编程级别。第八标称存储值可以用于擦除状态。擦除状态可以表示为L0,并且七个编程状态可以分别表示为L1、L2、L3、L4、L5、L6和L7。可以理解,与L0到L7状态相对应的阈值电压从L0到L7逐渐增加。
图1A和图1B是示出了施加到TLC的一遍编程操作方法的示意图。如图1A和图1B中所示,TLC被编程为从擦除状态L0具有编程状态L1到L7中的一个编程状态。可以顺序地验证每个编程状态,直到状态的验证通过为止,或者直到达到最大编程脉冲计数为止,然后编程操作可以结束。
与图1A和图1B相对应地,下面的表1示出了示例性编程方案,该示例性编程方案可以包括用于使用一遍编程方法对TLC进行编程的多个编程循环。编程循环中的一些编程循环可以各自包括施加至少一个编程脉冲和至少一个编程验证脉冲(在下面的表1中表示为V)。
表1
例如,在第一个编程循环处,验证要被编程到L1目标状态的存储单元,而在第五个编程循环之后,对L1目标状态的存储单元执行的验证操作结束。可以理解的是,在其中施加验证脉冲V的第五个编程循环之后,对L1目标状态的验证通过,并且L1目标状态的TLC可以不再被编程。类似的技术可以应用于要被编程为L2到L7状态的TLC。
可以理解,通过运行多个编程循环操作,存储器件中的存储单元可以分别从L0被编程到L1、L2、L3、L4、L5、L6和L7状态。
在本公开中,为了便于描述,术语“具有Lx目标状态的存储单元”和“Lx目标状态的存储单元”可以等同于术语“要被编程到Lx目标状态的存储单元”,并且所有这些术语可用于指代具有Lx状态作为目标状态并且被编程以达到与Lx状态相对应的阈值电压的那些存储单元。
注意,存储单元擦除得越深,将导致L0状态的阈值电压越低,因此L0状态和L1状态的阈值电压之间的差异将变得越大。因此,当上述一遍编程方案被用于对存储单元进行单发(one shot)编程时,存储单元在目标状态下的数据保持能力可能变差。这因此导致从L1状态到L7状态的更宽的阈值电压分布,并且可能获得两个相邻编程状态之间的更差的读取裕度。
另一方面,存储单元擦除得越浅,L0状态的阈值电压将变得越高,并且L0状态和L1状态的阈值电压之间的差异将越小。即,在应用一遍编程方案时,存储单元在目标状态下的数据保持能力更好。然而,由于L0状态与L1状态的阈值电压之间的差异小,它们的频谱可能会重叠,从而导致L0状态与L1状态的读取裕度相应地劣化。
此外,在一遍编程方法的每个编程循环处,可能要求将编程脉冲同时施加到所有未验证的存储单元。即,只有当对编程状态的存储单元的验证通过时,才可以对通过验证的存储单元施加编程禁止脉冲(如表1中的反斜线所示)。
例如,在上面的表1中,在第一个编程循环处,第一编程脉冲可以被施加到要被同时编程到L1~L7状态的存储单元。在第五个编程循环之后,对L1状态的验证通过。在第六个编程循环处,第六编程脉冲可以被分别施加到要被编程到L2~L7状态的存储单元,并且可以禁止对达到L1状态的存储单元进行编程。更具体地,上面的术语“编程脉冲……施加到存储单元”可以用来描述编程脉冲可以被施加到与要被编程到目标状态的存储单元耦合的字线,和/或位线编程脉冲可以被施加到与要被编程到目标状态的存储单元耦合的位线。编程操作的细节将在下面的描述中解释。
图2A-图2C示出了示例性编程操作方法的比较。参考图2A,右侧“L1”下方的实线曲线描绘了具有L1目标状态并且在第一个编程循环处施加第一编程脉冲之后已经达到L1状态的存储单元的阈值电压分布。当在第二个编程循环处施加了第二编程脉冲时,编程禁止脉冲可以被施加到这些存储单元。另一方面,右侧的虚线曲线要么表示具有L1目标状态但尚未达到L1状态的存储单元的阈值电压分布,要么表示要被编程到L2到L7状态的存储单元的阈值电压分布。当在第二个编程循环处施加了第二编程脉冲时,可以同时对这些存储单元(包括未达到L1状态的存储单元或具有L2~L7目标状态的存储单元)进行编程。
伴随上述编程方案的问题在于,对于未通过验证或尚未被验证的那些存储单元,将继续对存储单元施加编程脉冲,使得它们可以被编程到它们相应的目标状态。然而,这种编程方案可能导致两个相邻编程状态之间的读取裕度劣化。
此外,采用这种编程方案,要被编程的存储单元在达到其相应的目标状态后将具有快速的电荷损失,从而导致存储单元的阈值电压分布更宽。即,存储单元的读取裕度的损失可能变大,从而导致相邻的两个编程状态之间的读取裕度的进一步劣化。
需要说明的是,以上描述是通过使用TLC作为示例给出的,但不限于此。例如,在对QLC进行编程时,编程状态的数量从7个增加到15个。可以理解,随着编程状态的数量进一步增加,QLC的编程状态的读取裕度可能变得更差。
为了解决上述和其他问题,本公开提供了各种编程操作方法。图3示出了根据本公开的一些实现方式的用于存储器件的第一示例性编程操作方法300的流程图。存储器件可以被编程到包括第一状态到Lx状态的目标状态。
在图3中的310处,可以获取Lx目标状态的存储单元的初始验证循环编号Nx,其中x可以是大于1(一)且小于或等于L的整数,并且L可以是大于1(一)的整数。
L的值可以与存储单元的编程状态的数量相对应。存储器件可以包括具有多个存储单元的存储阵列。存储单元可以各自包括能够存储一位数据的单层单元、能够存储两位数据的多层单元、能够存储三位数据的三层单元和能够存储四位数据的四层单元。以TLC为例,TLC的最高编程状态是第七(L7)状态。因此,对于TLC,L为7。相比之下,在QLC场景中,QLC的最高编程状态是第十五(L15)状态。即,对于QLC,L为15。
在图3中的310处,可以基于存储在存储器件的数据寄存器中的信息来获取要被编程到Lx目标状态的存储单元的初始验证循环编号Nx。即,Lx可以由存储器系统给出。显然,Lx目标状态的存储单元的初始验证循环编号Nx可以与要被编程到LX+1目标状态的存储单元的初始验证循环编号Nx+1相同或不同。在一些实现方式中,要被编程到Lx目标状态的存储单元的初始验证循环编号Nx可以小于要被编程到LX+1目标状态的存储单元的初始验证循环编号Nx+1,其中x+1可以是小于或等于L(即,存储单元的编程状态的数量)的整数。
使用TLC作为示例,参考上表1可以看出,用于启动与L2目标状态相对应的验证脉冲的初始验证循环编号N2为3;用于启动与L3状态相对应的验证脉冲的初始验证循环编号N3为5;用于启动与L4状态相对应的验证脉冲的初始验证循环编号N4为6,并且用于启动与L5状态相对应的验证脉冲的初始验证循环编号N5为8;启动与L6状态相对应的验证脉冲的初始验证循环编号N6为10,并且启动与L7状态相对应的验证脉冲的初始验证循环编号N7为13。本文的这些初始验证循环编号仅用作示例,但本公开不限于此。针对每个目标状态启动验证脉冲的初始验证循环编号可以根据编程脉冲的步长来确定,本公开对此也不做限制。
方法300可以进行到320。在320处,响应于确定当前第i个编程循环的索引i大于或等于1(一)且小于与Lx目标状态相对应的第一预设值,可以对要被编程到Lx目标状态的存储单元执行第i个编程操作。索引i可以是正整数。
上述第i个编程操作可以包括导通选定存储串的上选择器(例如,选择器晶体管)、关断选定串的下选择器、将位线编程电压施加到与选定存储串耦合的位线、以及将编程电压施加到与要被编程到Lx目标状态的存储单元耦合的字线。选定存储串可以包括要被编程到Lx目标状态的存储单元。
进一步地,在330处,响应于确定索引i大于或等于第一预设值且小于初始验证循环编号Nx,在第i个编程循环处,可以对要被编程到Lx目标状态的存储单元执行第i个编程禁止操作。
上述第i个编程禁止操作可以包括关断未选择的存储串的上选择器(例如,选择器晶体管)、关断未选择的串的下选择器、以及将位线编程禁止电压(其可以大于位线编程电压)施加到与未选择的存储串耦合的位线。未选择的存储串可以包括要被编程到Lx目标状态的存储单元。
在320和330处,可以在验证Lx目标状态之前,基于索引i、Lx目标状态的第一预设值和初始验证循环编号Nx的关系,来确定是对要被编程到Lx目标状态的存储单元执行编程操作还是编程禁止操作。
根据本公开的范围,与Lx状态相对应的第一预设值可以用于指示对要被编程到Lx目标状态的存储单元执行验证操作之前开始对这些存储单元执行编程禁止操作的编程循环编号。可以理解的是,Lx目标状态的第一预设值可以与Lx+1状态的第一预设值相同或不同。在一些实现方式中,第一预设值对于所有目标状态可以是相同的并且可以等于2。
在一些实现方式中,可以获取初始验证循环编号Nx,并且可以基于索引i、Lx目标状态的第一预设值和初始验证循环编号Nx的关系对存储单元的第一部分执行编程操作。同时,可以同时对存储单元的第二部分执行编程禁止操作。即,在继续对存储单元的第一部分进行编程的同时,可以禁止对存储单元的第二部分进行编程。因此,可以增加存储单元的这两个部分之间的读取裕度。
此外,由于仅对存储单元的第一部分执行编程操作,因此这些存储单元在达到目标状态后将具有较慢的电荷损失。因此,可以获得存储单元的较窄的阈值电压分布。因此,可以增加存储单元的读取裕度,从而导致更少的读取错误并增强存储器件的性能。
图4示出了根据本公开的一些实现方式的第二示例性编程操作方法400的流程图。在一些示例中,第一预设值可以是固定整数,例如,2。在解释上,当第一预设值是固定数时,可以表示在对所有目标状态的存储单元执行验证操作之前开始对这些存储单元执行编程禁止操作的编程循环编号是相同的。在这些示例中,在第二个编程循环处,可以在与所有目标状态相对应的存储单元上开始和执行禁止操作。
基于TLC场景,下表2示出了根据图4中的方法400,当所有目标状态的第一预设值为2时的编程操作。参考图4和表2,编程操作方法400可以开始于410。在420处的第一个编程循环处,可以施加第一编程脉冲。在一些示例中,可以将第一编程脉冲施加到与要被编程到L1目标状态的存储单元耦合的字线。可以验证这些存储单元以确定它们是否确实达到了L1状态。在一些示例中,在施加第一编程脉冲时,可以利用第一编程验证脉冲来验证要被编程到L1目标状态的存储单元中的每一个存储单元,以确定是否达到了L1目标状态。
在一些实现方式中,在与420相对应的第一个编程循环处,第一编程脉冲可以被施加到要被编程到Ll目标状态的存储单元并且还可以被施加到要被编程到L2~L7目标状态的存储单元。可以理解的是,第一编程脉冲的信号强度可能相对小,因此存储器件中的存储单元不会因为第一编程脉冲而被过编程。这也可能暗示着即使当利用第一编程脉冲对具有L2~L7目标状态的存储单元进行编程时,它们的读取裕量也不会受到显著影响。
在430处,可以获取与每个Lx目标状态相对应的初始验证循环编号NX,其中x等于或大于2且小于编程状态的数量(例如,在TLC情况下为7)。
在下面的表2中,与每个LX状态相对应的初始验证循环编号NX用阴影显示。例如,在TLC场景下,当x=2时,初始验证循环编号N2为3;当x=3时,初始验证循环编号N3为5;当x=4时,初始验证循环编号N4为6;……,当x=7时,初始验证循环编号N7为13。需要说明的是,以上描述以TLC为例,但不限于此。在一些示例中,当对QLC进行编程时,编程状态的数量可以从7增加到15。
表2(第一预设值=2)
方法400可以进行到440,其中可以准备第i个编程循环,其中i是大于2的整数。即,440可以针对每个目标状态在第二个编程循环处开始。
在450处,可以检查索引i的值以确定其是否大于等于2且小于初始验证循环编号Nx,其中2与第一预设值相对应。换言之,可以检查索引i以确定它是否落入2到Nx-1之间的范围内。该范围可以包括第一预设值(在图4中为“2”)作为下限和初始验证循环编号NX减1作为上限。另一种解释确定块450的方式是可以利用编程循环索引i来检查2到Nx-1之间的范围。在更宽泛的解释中,对于目标状态,范围内的循环编号可以表示其中可以施加编程禁止脉冲的编程循环编号。
当确定索引i大于或等于第一预设值且小于初始验证循环编号Nx(即,在范围2到Nx-1内)时,方法400可以进行到460,其中可以在第i个编程循环处将第i个编程禁止脉冲施加到Lx目标状态的存储单元(如表2中的正斜线所示)。另一方面,当确定索引i不满足条件(不在范围内)时,方法400可以转而进行到470。在470处,可以将第i个编程脉冲施加到Lx目标状态的存储单元。在第i个编程脉冲之后,可以施加验证脉冲。
例如,当第一预设值为2时,在第三个编程循环处,索引i为3。进一步地,对于其中x=2的L2目标状态,初始验证循环编号N2与3相对应。因此,在450处,索引为3不满足小于3的条件(N2=3)。因此,在该阶段,对于L2目标状态,方法400可以进行到470,并且第三编程脉冲可以被施加到L2目标状态的存储单元。相反,对于其中x=3的L3目标状态,初始验证循环编号N3等于5。因此,与L3目标状态对应的索引为3满足条件(≥2且<5)。相比之下,在针对L3目标状态的这个阶段,方法400可以进行到460,其中可以将第三编程禁止脉冲施加到L3目标状态的存储单元。为了在其他目标状态中准备其他编程循环,可以应用相同/相似的技术。
可以理解,初始验证循环编号Nx可以针对每个Lx目标状态而变化。因此,图4的一部分可以以这样的方式被理解:其中包括针对每个目标状态的内循环(从450到470重复),以确定是否可以在第i个编程循环处针对每个Lx状态施加编程禁止脉冲或编程脉冲。
在480处,可以确定是否所有目标状态都通过了验证。当所有目标状态都已经通过验证时,编程操作可以在490结束。否则,方法400可以返回到440并继续准备下一个编程循环,即,第(i+1)个编程循环。
在与上表2相对应的结果处,当针对L2目标状态的初始验证循环编号N2为3且第一预设值为2时,在第二个编程循环处,可以对要被编程为L2目标状态的存储器施加编程禁止脉冲。
作为另一示例,当针对L3目标状态的初始验证循环编号N3为5时,从第二个编程循环到第四个编程循环,可以将编程禁止脉冲施加到要被编程到L3目标状态的存储单元。例如,在第四个编程循环处,可以将第四编程禁止脉冲施加到这些存储单元的一部分。
作为又一示例,当针对L7目标状态的初始验证循环编号N7为13时,从第二个编程循环到第十二个编程循环,可以将编程禁止脉冲施加到要被编程到L7目标状态的存储单元。例如,在第十二个编程循环处,可以将第十二编程禁止脉冲施加到这些存储单元的一部分。
如图2B所示并参考上表2,在右侧与L1状态相对应的实线曲线表示在第一个编程循环之后,具有L1目标状态且已经达到L1状态的存储单元的阈值电压分布。当执行第二个编程循环时,可以将编程禁止脉冲施加到这些存储单元以及具有L2到L7目标状态的存储单元。另一方面,与L1状态相对应的虚线曲线描绘了具有L1目标状态但尚未达到L1状态的存储单元的阈值电压分布。当执行第二个编程循环时,可以对未达到L1状态的这些存储单元进行编程。
可以理解的是,在第二个编程循环处,可以对具有L1目标状态但未达到L1状态的存储单元进行编程,同时可以将编程禁止脉冲施加到要被编程到L2至L7目标状态的存储单元。因此,可以避免对具有L2至L7目标状态的存储单元进行编程操作。因此,具有L1目标状态的存储单元的阈值电压分布的宽度可以减小,从而进一步增加L1状态和L2状态之间的读取裕度。
此外,通过仅对具有L1目标状态但未达到L1状态的存储单元进行编程,在这些存储单元到达L1状态之后,电荷损失可以很小。此外,如上面所描述的,L1状态的存储单元的阈值电压分布可以变得更窄,这可以有利于增加L0状态和L1状态之间的读取裕度以及L1状态和L2状态之间的读取裕度。
如图2C所示并参考上表2,在右侧与L1状态和L2状态相对应的实线曲线分别表示在第六个编程循环之后,具有L1目标状态并达到L1状态的存储单元的阈值电压分布,以及具有L2目标状态且已经达到L2状态的存储单元的阈值电压分布。当执行第七个编程循环时,可以将编程禁止脉冲施加到这些存储单元,并且也可以施加到具有L5至L7目标状态的存储单元。另一方面,在图2C中,右侧的虚线曲线示出了具有L2目标状态但尚未达到L2状态的存储单元的阈值电压分布,以及具有L3和L4目标状态的存储单元的阈值电压分布。当执行第七个编程循环时,可以对未达到L2状态的这些存储单元和要被编程到L3状态和L4状态的存储单元进行编程。
可以理解的是,在第七个编程循环处,可以对具有L2目标状态但未达到L2状态的存储单元进行编程,同时可以将编程禁止脉冲施加到要被编程到L5状态到L7状态的存储单元。因此,可以避免对具有L5到L7目标状态的存储单元进行编程操作。因此,具有L2目标状态的存储单元的阈值电压分布的宽度可以变得更窄,从而进一步增加L1状态和L2状态之间的读取裕度以及L2状态和L3状态之间的读取裕度。
在图2A-图2C中,参考元素L0下方的实线曲线表示L1到L7目标状态的存储单元在擦除状态L0下的电压分布。换言之,存储单元可以被编程为从擦除状态L0具有L1到L7的编程状态中的一个编程状态。
如所描述的,第一预设值可以用于指示在对要被编程到Lx目标状态的存储单元执行初始验证操作之前开始对这些存储单元执行的编程禁止操作的初始编程循环的数量。在图4中,每个目标状态的第一预设值被设置为固定数(即,2)。换言之,对于每个目标状态,从第二个编程循环开始,可以将编程禁止脉冲施加到存储单元。因此,可以减少每次被编程的存储单元的数量。因此,针对每个目标状态的存储单元的阈值电压可以变得更窄,从而进一步增加每个目标状态的读取裕度。
图5示出了根据本公开的一些实现方式的第三示例性编程操作方法500的流程图。图5中的方法500可以基于图4中的方法400。在图4中,针对每个目标状态的第一预设值可以是固定数,例如,值2。相比之下,在其他实现方式中,与每个目标状态相对应的第一预设值可以是不同的。换言之,对于每个目标状态,在对存储单元执行验证操作之前,开始对存储单元执行编程禁止操作的编程循环编号可以不同。在一些实现方式中,图4中的块450可以由块550代替,其中图4的确定块450处的第一预设值“2”可以改变为初始验证循环编号Nx与第二预设值k之间的差(即,Nx-k)。即,第一预设值可以被修改为Nx-k,其可以包括变量x并因此取决于对应的目标状态。
在图5中的550处,可以检查第i个编程循环的索引i以确定其是否大于或等于Nx-k且小于初始验证循环编号Nx。参数k可以包括正整数。在一些实现方式中,在块530处,在获得初始验证循环编号Nx之后,也可以在该阶段将Nx-k的值确定为第一预设值。在一些实现方式中,除了图4的450与图5的550之间的差异之外,方法400和方法500的其他部分(包括510、520、540、560、570、580和590)可以相同或相似。因此,图5中的块的细节可以参考关于图4的描述。
在更宽泛的解释中,与550相对应的范围可以包括初始验证循环编号Nx与第二预设值k之间的差(即,Nx-k)的下限,而上限可以保持与初始验证循环编号Nx减1(即,Nx-1)相同。Nx-k到Nx-1之间的范围可以利用编程循环索引i来检查。在更宽泛的解释中,对于目标状态,在该范围内的数字可以表示其中可以施加编程禁止脉冲的编程循环编号。
在一些实现方式中,第二预设值k的值可以为4。可以理解的是,k可以为任何其他正整数。在一个示例中,如上面所得到的,与L2目标状态相对应的初始验证循环编号N2为3。因此,初始验证循环编号Nx与第二预设值k之间的差可以变为3-4=-1。即,可以在-1(3-4=-1)到2(N2-1=3-1=2)之间建立范围。然而,考虑到索引i为大于2的整数,可以将范围的下限相应地修改为2。换言之,在第二个编程循环处,可以将编程禁止脉冲施加到L2目标状态的存储单元。
基于TLC场景,下表3示出了根据图5中的方法500,对于所有目标状态利用第二预设值k=4的编程操作。
表3(k=4)
因此(如表3所示),对于L5目标状态的存储单元,初始验证循环编号N5为8。当第二预设值k=4时,范围可以在4(8-4=4)到7(8-1=7)之间。换言之,从第四个编程循环到第七个编程循环,编程禁止脉冲可以被施加到L5目标状态的存储单元。在一些示例中,可以对L5目标状态的存储单元执行第二编程操作(在第二个编程循环处执行)和第三编程操作(在第三个编程循环处执行)。
在一些实现方式中,在第一个编程循环处,可以将第一编程脉冲施加到要被编程到L1目标状态的存储单元并且还施加到要被编程到L2~L7目标状态的存储单元。如所描述的,第一编程脉冲的信号强度可能相对小,因此存储器件不会由于第一编程脉冲而被过编程。这可能暗示着当利用第一编程脉冲对具有L2~L7目标状态的存储单元进行编程时,读取裕量也不会受到显著影响。
在一些示例中,第二预设值k可以是不小于1且不大于5的整数。换言之,第二预设值k可以是从1、2、3、4和4中选择的整数。对第二预设值k的选择可以取决于实际应用,例如,鉴于读取裕度要求以及存储器件的性能,本公开对此不做限制。
在该编程操作方案中,与每个目标状态相对应的第一预设值的值是不同的。在获得每个目标状态的初始验证循环编号Nx之后,可以计算每个目标状态的初始验证循环编号(Nx)与索引i之间的差。在该方案的一部分中,当差大于第二预设值k时,可以对目标状态的存储单元执行编程操作。另一方面,当差小于或等于第二预设值k时,可以对这些存储单元施加编程禁止脉冲。
通过这种方式,可以根据每个目标状态的初始验证循环编号(Nx)和第二预设值(即,k)来确定每个目标状态的第一预设值,因此改进了编程操作的灵活性。
此外,对于存储单元的相同目标状态(例如,Lx目标状态),在当前编程循环的索引i大于或等于1且小于Lx目标状态的第一预设值(即,本方法中为Nx-k)时,可以对Lx目标状态的存储单元执行编程操作,而当索引i大于或等于第一预设值时,可以不执行编程操作。因此,在降低编程干扰的同时,可以提前对存储单元中的一些存储单元进行编程,由此改进编程效率。
如参考图5所描述的,第一预设值可以是变量。此外,在一些实现方式中,第一预设值可以是取决于低于Lx状态的目标状态的初始验证循环编号的变量。更具体地,开始施加编程禁止脉冲的初始编程循环编号可以由与Lx-j目标状态相对应的初始验证循环编号Nx-j来确定,其中x可以表示目标状态索引并且可以大于或等于2且小于存储单元的所有目标状态的数量,并且j表示第三预设值。第三预设值j可以为正整数,以使(x-j)的值大于1(一)。即,从第(x-j)个编程循环开始,可以将编程禁止脉冲施加到Lx目标状态的存储单元。因此,可以减少每次被编程的存储单元的数量。因此,每个目标状态的存储单元的阈值电压分布可能变得更窄,从而进一步增加每个目标状态的读取裕度。
图6示出了根据本公开的一些实现方式的第四示例性编程操作方法600的流程图。图6中的方法600可以基于图4中的方法400。在方法600中,可以通过Lx-j目标状态的初始验证循环编号Nx-j来确定与每个目标状态相对应的修改后的第一预设值(即,范围的修改后的下限)。因此,图4中的块450可以由块650代替,其中图4中450处的下限的第一预设值“2”可以改为Lx-j目标状态的初始验证循环编号Nx-j,记为参数m。即,参数m可以看作是修改后的第一预设值。在另一种解释中,该范围可以包括m的下限,并且上限可以保持与初始验证循环编号Nx减1相同。
为了获取m的值(修改后的第一预设值,即,Lx-j目标状态的初始验证循环编号Nx-j),在图6中的630处,Lx-j目标状态的初始验证循环编号Nx-j可以被确定为m。在一些实现方式中,除了图4中的块450和图6中的块650与图4中的块430和图6中的块630之间的差异之外,图4中的方法400和图6中的方法600的其他部分(包括610、620、640、660、670、680和690)可以相同或相似。
在一些实现方式中,第三预设值j的值可以为2。可以理解的是,第三预设值j可以是任何其他正整数,使得(x-j)的值大于1(一)。在一些实现方式中,第三预设值j的值可以根据存储器件的目标状态的数量来确定。例如,在TLC场景中,目标状态的数量为7(即,L=7)。相应地,第三预设值j的值可以为从1、2、……、5中选择的整数。另一方面,在QLC场景下,目标状态的数量为15(即,L=15),并且第三预设值j的值可以为在1到10之间选择的整数。对第三预设值j的选择可以取决于读取裕度要求和存储器件的性能而定。本公开不限于此。
如上面所获得的,与L4目标状态相对应的初始验证循环编号N4为6。当j=2时,修改后的第一预设值m可以包括初始验证循环编号N4-2=N2=3。即,范围的下限为3,而上限可以保持为初始验证循环编号N4减1(即,5)。这暗示着,从第三个编程循环到第五个编程循环,编程禁止脉冲可以被施加到L4目标状态的存储单元。
基于TLC场景,下表4示出了根据图6中的方法600的利用第三预设值j=2的编程操作。
表4(j=2)
如表4所示,对于L6目标状态的存储单元,初始验证循环编号N6为10。当第三预设值j=2时,初始验证循环编号N6-2可以被确定为6,作为修改后的第一预设值m。即,范围可以在6到9之间。换言之,从第六个编程循环到第九个编程循环,编程禁止脉冲(在表4中示为与L6状态相对应的正斜线)可以被施加到L6目标状态的存储单元。在一些示例中,可以在相应的编程循环处对L6状态的存储单元执行第二个编程操作、第三个编程操作、第四个编程操作和第五个编程操作。
在一些实现方式中,在第一个编程循环处,可以将第一编程脉冲施加到要被编程到L1目标状态的存储单元并且还施加到要被编程到L2~L7目标状态的存储单元。如所描述的,第一编程脉冲的信号强度可能相对小,因此存储器件不会由于第一编程脉冲而被过编程。这可能暗示着即使当利用第一编程脉冲对具有L2~L7目标状态的存储单元进行编程时,读取裕量可能也不会受到显著影响。
在一些示例中,第三预设值j可以是满足(x-j)>1的正整数。对第三预设值j的选择可以取决于实际应用,考虑读取裕度要求以及存储器件的性能,本公开对此不做限制。
在本公开的一些实现方式中,与每个目标状态相对应的第一预设值的值可以是不同的,并且可以是取决于较低目标状态的初始验证循环编号的变量。在获得每个目标状态的初始验证循环编号Nx之后,较低的Lx-j目标状态的初始验证循环编号Nx-j可以被获取并被确定为第一预设值作为修改后的第一预设值m(或范围的修改后的下限)。在当前编程循环索引i小于第一预设值m时,可以对当前目标状态的存储单元执行编程操作。另一方面,在当前编程循环索引i大于或等于第一预设值m时,可以对存储单元施加编程禁止脉冲。
通过这种方式,可以根据每个目标状态的初始验证循环编号(Nx)和第三预设值j来确定每个目标状态的第一预设值m,从而给编程操作方法带来了灵活性。进一步地,在减少编程干扰的同时,可以提前对这些存储单元进行编程,由此改进编程效率。
在一些实现方式中,第三预设值j的值可以为3。可以理解的是,第三预设值j可以是任何其他正整数,使得(x-j)>1。如较早获得的,与L5目标状态相对应的初始验证循环编号N5为8。当j=3时,作为修改后的m的第一预设值可以包括初始验证循环编号N5-3=N2=3。即,范围的修改后的下限为3,而上限可以保持为初始验证循环编号N4减1,即,7。这暗示着,从第三个编程循环到第七个编程循环,编程禁止脉冲可以被施加到L5状态的存储单元。
基于TLC场景,下表5示出了根据图6中的方法600的利用第三预设值j=3的编程操作。
表5(j=3)
如表5所示,对于L7状态的存储单元,初始验证循环编号N7为13。当第三预设值j=3时,初始验证循环编号N7-3可以被确定为6作为修改后的第一预设值m。即,范围可以在6到12之间。换言之,在第六个编程循环到第十二个编程循环处,可以将编程禁止脉冲施加到L7状态的存储单元。在一些示例中,可以对L7状态的存储单元执行第二个编程操作、第三个编程操作、第四个编程操作和第五个编程操作。
在一些实现方式中,在第一个编程循环处,第一编程脉冲可以被施加到要被编程到Ll状态的存储单元以及要被编程到L2~L7目标状态的存储单元。如所描述的,第一编程脉冲的信号强度可能相对小,因此存储器件可能不会因为第一编程脉冲而被过编程。这也可能暗示着即使当利用第一编程脉冲对具有L2~L7目标状态的存储单元进行编程时,读取裕量可能也不会受到显著影响。
显然,根据本公开的范围,通过获得较低目标状态的初始验证循环编号,可以将较低目标状态的初始验证循环编号用作修改后的第一预设值。当对较低目标状态的存储单元执行验证操作时,可以对较高目标状态的存储单元执行编程禁止操作。因此,可以分别对较低目标状态的存储单元和较高目标状态的存储单元执行编程操作。因此,每个目标状态的阈值电压分布可以变得更窄,从而增加每个目标状态的读取裕度。
在一些实现方式中,在当前编程循环索引i大于或等于初始验证循环编号Nx时,可以对Lx目标状态的存储单元执行第i个编程操作。例如,从第六个编程循环开始,可以对L4目标状态的存储单元执行编程操作。在执行第i个编程操作之后,可以对这些存储单元进行第i个验证操作以获得第i个验证结果。当第i个验证结果指示编程操作通过时,可以对通过编程操作的Lx目标状态的存储单元执行编程禁止操作(例如,表5中针对L3状态的第九个编程循环处的反斜线)。
另一方面,响应于确定第i个验证结果指示编程操作没有通过,可以在第(i+1)个编程循环处对Lx目标状态的存储单元执行第(i+1)个编程操作。
可以理解的是,基于第i个验证结果,可以确定是否可以对Lx目标状态的存储单元执行第(i+1)个编程禁止操作或第(i+1)个编程操作。也可以理解,当第i个验证结果指示编程操作已经通过时,也可以暗示这些存储单元在第i个编程操作时已经达到Lx目标状态。
在一些实现方式中,当第i个验证结果指示对Lx目标状态的存储单元的编程操作已经通过时,在第(i+1)个编程循环处,可以对这些存储单元执行第(i+1)个编程禁止操作以避免过编程。另一方面,当第i个验证结果指示对具有Lx目标状态的存储单元的编程操作没有通过时,可能要求对这些存储单元的编程操作继续。换言之,可以对这些存储单元执行第(i+1)个编程操作以使它们能够到达Lx目标状态。
第i个验证结果可以被配置为指示在执行第i个编程操作之后对要被编程的存储单元的编程的结果。第i个验证结果可以包括以下各项中的至少一个:第一指示信息,该第一指示信息指示每个存储单元是否已经通过验证操作;第二指示信息,该第二指示信息指示每个存储单元是否未通过验证操作;或者第三指示信息,该第三指示信息指示已经达到其对应的目标状态的存储单元的数量。
在一些实现方式中,例如,第一指示信息可以包括用于指示每个存储单元是否已经通过验证操作的二进制值。在一些示例中,可以将值“0”用作第一指示信息,并且表示编程操作通过,同时值“1”可以指示编程操作失败。在其他实现方式中,本领域技术人员可以根据应用情况选择合适的方式来表示验证结果。本公开不限于此。
在一些实现方式中,对Lx目标状态的存储单元执行的第i个编程操作可以包括若干个子步骤。例如,可以将第i位线编程电压施加到与具有Lx目标状态的存储单元耦合的位线。施加到位线的第i位线编程电压可以被配置用于对未通过验证操作的存储单元进行编程。
在一些实现方式中,对由第i个验证结果指示的通过验证的存储单元执行的第(i+1)个编程禁止操作可以包括若干个子步骤。例如,可以将第(i+1)位线编程禁止电压施加到与达到Lx目标状态并且通过验证的存储单元耦合的位线。施加到位线的第(i+1)位线编程禁止电压可以被配置为防止对已经通过验证的存储单元的过编程。在一些实例中,第(i+1)位线编程禁止电压可以高于第i位线编程电压。
在一些实现方式中,对具有Lx目标状态但未达到Lx目标状态的存储单元执行的第(i+1)个编程操作可以包括若干个子步骤。例如,可以将第(i+1)位线编程电压施加到与未通过验证的存储单元耦合的位线。在一些实例中,第(i+1)位线编程电压可以高于第i位线编程电压,而第(i+1)位线编程电压可以低于第(i+1)位线编程禁止电压。
在当前编程循环索引i等于5(即,等于初始验证循环编号N3=5)时,可以将第五位线编程电压施加到与L3目标状态的存储单元耦合的位线。当第五验证结果指示这些存储单元没有通过验证操作时,可以将第六位线编程电压施加到与这些存储单元耦合的位线。在一些示例中,第六位线编程电压可以高于第五位线编程电压。下面的表6示出了施加到与表3相对应的L3目标状态的存储单元的各种位线电压的示例。在表6所示的示例中,第五位线编程电压可以是地电平电压(例如,0V),并且第六位线编程电压可以是大于0且小于Vdd的电压电平。Vdd可以是位线编程禁止电压并且可以是施加到与已经达到L3目标状态的存储单元耦合的位线的高电平。
表6
参考表6,第八验证结果指示L3目标状态的存储单元已经通过验证操作。在第九个编程循环中,在对较高目标状态的存储单元执行编程操作时,可以将位线编程禁止电压施加到与这些存储单元耦合的位线以避免过编程。在一个示例中,第九位线编程禁止电压可以包括高电平电压,例如,表6中所示的Vdd。
可以理解的是,在本公开的一些实现方式中,在达到Lx目标状态的初始验证循环编号Nx后,可以对该目标状态的存储单元执行编程操作或软编程操作。因此,可以将不同的电压电平施加到与要被编程到目标状态的存储单元耦合的位线。在一些示例中,可以根据先前的验证结果来确定施加到位线的电压电平。
在一些实现方式中,当验证结果指示目标状态的所要求的阈值电压实质上接近时,可以对与目标状态的存储单元耦合的位线施加高于0且低于Vdd的电压,使得可以对存储单元执行软编程操作。另一方面,当验证结果指示当前电压远离所要求的阈值电压时,可以对与存储单元耦合的位线施加0电压,使得可以对存储单元执行编程操作。通过这种方式,可以减小阈值电压分布的宽度,这可能有利于每个目标状态的读取裕度。
在一个示例中,参考表3,在第二个编程循环处,可以将第二位线编程电压施加到分别与L1目标状态、L5目标状态、L6目标状态和L7目标状态的存储单元耦合的位线。在一些示例中,第二位线编程电压可以是0V。同时,可以将第二位线编程禁止电压Vdd施加到与L2目标状态到L4目标状态的存储单元耦合的位线。例如,Vdd的电压电平可以高于0V。
图7示出了根据本公开的一些实现方式的包括外围电路701和存储单元阵列702的示例性存储器件700的示意图。存储单元阵列702可以包括一个或多个块703,例如,块0、块1、块2、块3……等。每个块可以包括多条字线WL(word line)、位线BL(bit line)和形成在字线WL和位线BL之间的存储单元704,如图7所示。在一些实例中,字线WL可以包括一条或多条主字线WL、一条或多条顶部伪字线TDWL(top dummy word line)和一条或多条底部伪字线BDWL(bottom dummy word line),如图7所示。在其他实例中,字线WL可以进一步包括主字线之间的一条或多条中间伪字线。在一些实现方式中,存储单元阵列702可以包括三维(3D)NAND存储单元阵列。
3D NAND存储单元阵列可以包括半导体衬底、可以包括在半导体衬底上方的交错的栅极导电层和栅极到栅极电介质层的存储堆叠体、以及多个沟道孔(channel hole,CH),该多个沟道孔中的每一个沟道孔垂直延伸通过存储堆叠体。可以沿着沟道孔的侧壁形成存储膜。存储膜可以包括势垒层、隧穿层、存储层、阻挡层等。每个存储单元704可以形成在存储膜和每个栅极层之间的交叉处。
如图7所示,在一些实现方式中,一个块703中的存储单元阵列702可以以存储串706(例如,NAND存储串)的阵列的形式提供。在一些实现方式中,存储串706中的每一个存储串可以在衬底(例如,图8中所示的802)上方垂直延伸,且存储串706中的每一个存储串可以包括串联耦合且垂直堆叠的多个存储单元704。每个存储单元704可以保留连续的模拟值(例如,电压或电荷),这取决于捕获在存储单元704的区域内的电子的数量。每个存储单元704可以是具有浮栅晶体管的浮动类型的存储单元或具有电荷捕获晶体管的电荷捕获类型的存储单元。
在一些实现方式中,每个存储单元704可以是具有两种可能的存储状态的单层单元(SLC),并且因此可以存储一位数据。如上面所描述的,第一存储状态“0”可以与第一电压范围相对应,而第二存储状态“1”可以与第二电压范围相对应。在一些实现方式中,每个存储单元704可以是多层单元(MLC),其能够以多于四种存储状态存储多于一位的数据。例如,MLC可以存储每单元两位、每单元三位(也称为三层单元TLC)或每单元四位(也称为四层单元QLC)。每个MLC都可以被编程为具有一系列可能的标称存储值。在一个示例中,当每个MLC存储两位数据时,则可以通过将三个可能的标称存储值中的一个标称存储值写入单元来对MLC进行编程,以从擦除状态具有三个可能的编程级别中的一个编程级别。第四标称存储值可以用于擦除状态。
如图7所示,每个存储串706可以包括在源端处的源选择栅(source select gate,SSG)晶体管708和在漏端处的漏选择栅(drain select gate,DSG)晶体管710。SSG 708和DSG 710可以被配置为在读取和编程操作期间激活选定的存储串706(存储阵列的列)。在一些实现方式中,在相同块703中的每个存储串706的源极可以通过一条源极线SL(sourceline)(即,公共SL)耦合。换言之,一个块中的所有存储串706可以共同拥有阵列公共源极(array common source,ACS)。
如图6所示,SSG晶体管708可以通过接地选择线GSL(ground selection line)耦合。根据一些实现方式,每个存储串706的DSG晶体管710可以在一个端子处耦合到相应的位线BL,其中可以经由输出总线从该相应的位线BL读取或编程数据。在一些实现方式中,存储串706可以通过以下操作来被选择或取消选择:通过一条或多条串选择线SSL(stringselection line)向相应的DSG晶体管710施加选择电压(例如,高于DSG晶体管710的阈值电压)或取消选择电压(例如,0V)和/或通过一条或多条接地选择线GSL向相应的SSG晶体管708施加选择电压(例如,高于SSG晶体管708的阈值电压)或取消选择电压(例如,0V)。
如所描述的,存储单元704可以被组织成多个块703。块703中的每一个块可以具有公共源极线SL。在一些实现方式中,每个块703可以是用于擦除操作的基本数据单元。即,可以同时擦除同一块703中的所有存储单元704。为了擦除选定块中的存储单元704,耦合到选定块的公共源极线可以利用擦除电压(Vers)(例如,高正电势(例如,20V或更高))偏置。可以理解,在其他实现方式中,可以以半块级、四分之一块级或影响一个块中的存储单元704的任何合适部分的级执行擦除操作。
一个块703中的相邻存储串706的存储单元704可以通过字线WL耦合,这些字线WL选择存储单元704的哪些行在例如读取和编程操作时受到影响。在一些实现方式中,每条字线WL可以耦合到一页712的存储单元704,该页712是用于编程操作和读取操作的基本数据单元。以位为单位的一页712的大小可以与由一条字线WL耦合的存储串706的数量相对应。每条字线WL可以包括栅极线,该栅极线被配置为耦合相应的页712中的每个存储单元704的多个控制栅极(栅电极)。
图8是根据本公开的一些实现方式的NAND存储串801的横截面视图。如图8所示,NAND存储串801可以通过存储堆叠体804在衬底802上方垂直延伸。衬底802可以包括硅(例如,单晶硅)、硅锗(silicon germanium,SiGe)、砷化镓(gallium arsenide,GaAs)、锗(germanium,Ge)、绝缘体上硅(silicon on insulator,SOI)、绝缘体上锗(germanium oninsulator,GOI)或任何其他合适的材料。
存储堆叠体804可以包括交错的栅极导电层806和栅极到栅极电介质层808。存储堆叠体804中的栅极导电层806和栅极到栅极电介质层808的对的数量可以确定图7中的存储单元阵列702中的存储单元704的数量。
栅极导电层806可以包括导电材料。导电材料可以包括但不限于钨(tungsten,W)、钴(cobalt,Co)、铜(copper,Cu)、铝(aluminum,Al)、多晶硅、掺杂硅、硅化物或其任何组合。在一些实现方式中,每个栅极导电层806可以包括金属层,例如,钨层。在一些实现方式中,每个栅极导电层806可以包括掺杂多晶硅层。每个栅极导电层806可以包括控制栅极。控制栅极可以水平地延伸作为例如存储堆叠体804顶部的串选择线SSL、存储堆叠体804底部的接地选择线GSL或字线WL。
显而易见的是,尽管未在图8中示出,但NAND存储串801可以包括其他组件,例如,缝隙结构、局部接触部、互连层等。
图9示出了根据本公开的一些实现方式的包括存储单元阵列902和外围电路的示例性存储器件900的框图。图7中的存储单元阵列702可以是图9中的存储单元阵列902的示例,而图9可以描绘图7中的外围电路701的一些示例。
返回图7,外围电路701可以通过位线BL、字线WL、源极线SL、串选择线SSL和接地选择线GSL等与存储单元阵列702耦合。外围电路701可以包括任何合适的电路,以通过以下操作促进存储单元阵列702的操作:通过位线BL、字线WL、源极线SL、串选择线SSL和接地选择线GSL施加和感测通过位线BL去往和来自每个目标存储单元704的电压信号和/或电流信号。外围电路701可以包括使用互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)技术形成的各种类型的外围电路。例如,图9示出了一些示例性外围电路701,该外围电路701可以包括页缓冲器904、列解码器/位线驱动器906、行解码器/字线驱动器908、电压发生器910、控制逻辑912、高速缓存/寄存器914、接口(interface,I/F)916和数据总线918。可以理解,在一些示例中,还可以包括附加电路,例如,感测放大器。
页缓冲器904可以被配置为根据由控制逻辑912发出的控制信号来缓冲从存储单元阵列902读取或编程到存储单元阵列902的数据。在一个示例中,页缓冲器904可以存储要被编程到存储单元阵列902的一页712(图7中所示)中的一页编程数据(写入数据)。在另一示例中,页缓冲器904还可以执行编程验证操作以确保数据已经被正确地编程到与选定字线耦合的存储单元704中。
行解码器/字线驱动器908可以被配置为由控制逻辑912控制以选择存储单元阵列902的块703和选定块703的字线WL。行解码器/字线驱动器908可以进一步被配置为驱动存储单元阵列702。例如,行解码器/字线驱动器908可以使用从电压发生器910生成的电压来驱动耦合到选定字线的存储单元704。
列解码器/位线驱动器906可以由控制逻辑912控制以通过施加从电压发生器910生成的位线电压来选择一个或多个存储串706(图7中所示)。例如,列解码器/位线驱动器906可以施加列信号以从页缓冲器904中选择一组N位数据以在读取操作中输出。
控制逻辑912可以耦合到每个外围电路701(图7中所示)并且被配置为控制外围电路701的操作。在一些实现方式中,控制逻辑912可以发出用于控制外围电路以执行根据本公开的编程循环以及电压确定的控制信号。
高速缓存/寄存器914可以耦合到控制逻辑912并且可以包括用于存储用于控制每个外围电路的操作的状态信息、命令操作代码(OP码)和命令地址701的状态寄存器、命令寄存器和地址寄存器。根据本公开的范围,数据(例如,第一预设值、第二预设值等)可以缓存在高速缓存/寄存器914中以供后续使用。在一些实现方式中,可以从存储器件900的高速缓存/寄存器914获取用于要被编程到Lx目标状态的存储单元的初始验证循环编号Nx。
接口916可以耦合到控制逻辑912并且被配置为将存储单元阵列902与存储器控制器接合。在一些实现方式中,接口916可以用作控制缓冲器以缓冲从存储器控制器和/或主机接收到的控制命令并且将该控制命令中继到控制逻辑912,并且缓冲从控制逻辑912接收到的状态信息并且将该状态信息中继到存储器控制器和/或主机。接口916还可以经由数据总线918耦合到页缓冲器904和列解码器/位线驱动器906,并用作I/O接口和数据缓冲器以缓冲从存储器控制器和/或主机接收到的编程数据并且将该编程数据中继到页缓冲器904,并且缓冲从页缓冲器904接收到的读取数据并且将该读取数据中继到存储器控制器和/或主机。在一些实现方式中,接口916和数据总线918可以是外围电路701的I/O电路的部分。
电压发生器910可以由控制逻辑912控制以生成字线电压(例如,读取电压、编程电压、通过电压、局部电压和验证电压)和位线电压以供应给存储单元阵列702。在一些实现方式中,电压发生器910可以是电压源的一部分,该电压源提供不同外围电路701的各种电平的电压,如下文详细描述的。与本公开的范围一致地,在一些实现方式中,由电压发生器910提供给例如行解码器/字线驱动器908、列解码器/位线驱动器906和页缓冲器904的电压可以高于能够足以执行存储器操作的特定电平。在一些实现方式中,电压发生器910可以进一步被配置为产生供应到存储单元704的控制端子的编程电压和通过电压。在一些实现方式中,电压发生器910可以进一步被配置为生成位线编程禁止电压和位线编程电压以实现根据本公开的范围的编程操作方法。
图10示出了根据本公开的一些实现方式的具有存储系统1001的示例性存储器系统1000的框图。存储器系统1000可以是移动电话、台式计算机、膝上型计算机、平板计算机、车载计算机、游戏机、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(virtualreality,VR)设备、增强现实(augmented reality,AR)设备或其中具有存储装置的任何其他合适的电子设备。如图10所示,存储器系统1000可以包括主机1002和存储系统1001,该存储系统1001具有一个或多个存储器件1004和存储器控制器1006。主机1002可以是电子设备的处理器(例如,中央处理单元(central processing unit,CPU)),或片上系统(system-on-chip,SoC)(例如,应用处理器(application processor,AP))。在一些实现方式中,主机1002可以被配置为向存储器件1004发送数据或从存储器件1004接收数据。在一些实现方式中,主机1002可以是用户逻辑或用户接口,使得用户可以向主机1002发出指令并将指令发送到存储器件或存储阵列。
存储器件1004可以是本公开中公开的任何存储器件。根据一些实现方式,如以下详细公开的,诸如NAND闪速存储器件、动态随机存取存储器(dynamic random accessmemory,DRAM)或相变随机存取存储器(phase-change random access memory,PCRAM)之类的存储器件1004可以包括时钟输入、命令总线、数据总线、控制逻辑、地址寄存器、行解码器/字线驱动器、具有存储单元的存储单元阵列、电压发生器、页缓冲器/感测放大器、列解码器/位线驱动器、数据输入/输出(input/output,I/O)。
根据一些实现方式,存储器控制器1006可以耦合到存储器件1004和主机1002并且可以被配置为控制存储器件1004。存储器控制器1006可以管理存储在存储器件1004中的数据并与主机1002通信。在一些实现方式中,存储器控制器1006可以被设计用于在低占空比环境中操作,该低占空比环境如安全数字(secure digital,SD)卡、紧凑型闪存(compactFlash,CF)卡、通用串行总线(universal serial bus,USB)闪存驱动器或用于电子设备(例如,个人计算机、数码相机、移动电话等)的其他介质。在一些实现方式中,存储器控制器1006可以被设计用于在高占空比环境中操作,该高占空比环境如SSD或嵌入式多媒体卡(embedded multi-media-cards,eMMC),其用作用于移动设备(例如,智能电话、平板计算机、膝上型计算机等)和企业存储阵列的数据存储装置。存储器控制器1006可以被配置为控制存储器件1004的操作,例如,读取、擦除和写入操作。存储器控制器1006还可以被配置为管理关于存储在存储器件1004中的数据或要存储在存储器件1004中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、磨损均衡(wear leveling)等。在一些实现方式中,存储器控制器1006还可以被配置为处理关于从存储器件1004读取或写入存储器件1004的数据的纠错码(error correction code,ECC)。存储器控制器1006也可以执行任何其他合适的功能,例如,对存储器件1004进行格式化。存储器控制器1006可以根据特定通信协议与外部设备(例如,主机1002)进行通信。例如,存储器控制器1006可以通过各种接口协议中的至少一种接口协议(例如,USB协议、MMC协议、外围组件互连(peripheralcomponent interconnection,PCI)协议、快速PCI(PCI-express,PCI-E)协议、高级技术附件(advanced technology attachment,ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口(small computer small interface,SCSI)协议、增强型小型磁盘接口(enhancedsmall disk interface,ESDI)协议、集成驱动电子(integrated drive electronics,IDE)协议、火线协议等)与外部设备进行通信。此外,存储器控制器1006还可以被配置为从主机1002接收命令、向主机1002发送数据、并且执行根据本公开的一些实现方式的多种功能。
存储器控制器1006和一个或多个存储器件1004可以集成到各种类型的存储装置中,例如,被包括在同一封装(例如,通用闪存(universal Flash storage,UFS)封装或eMMC封装)中。即,存储器系统1000可以被实现并封装到不同类型的最终电子产品中。在如图11A中示出的一个示例中,存储器控制器1006和单个存储器件1004可以集成到存储卡1100中。存储卡1100可以包括PC卡(PCMCIA,个人计算机存储卡国际协会(personal computermemory card international association))、CF卡、智能媒体(smart media,SM)卡、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)、UFS等。存储卡1100还可以包括将存储卡1100与主机(例如,图10中的主机1002)耦合的存储卡连接器1102。在如图11B中示出的另一示例中,存储器控制器1006和多个存储器件1004可以集成到SSD 1101中。SSD 1101还可以包括将SSD 1101与主机(例如,图10中的主机1002)耦合的SSD连接器1103。在一些实现方式中,SSD 1101的存储容量和/或操作速度可以大于存储卡1100的存储容量和/或操作速度。
具体实现方式的前述描述可以容易地修改和/或改编用于各种应用。因此,基于本文呈现的教导和指导,这种改编和修改旨在落入所公开的实现方式的等同物的含义和范围内。
本公开的广度和范围不应受上述示例性实现方式中的任一个示例性实现方式的限制,而应仅根据所附权利要求及其等同物来限定。
虽然讨论了具体的配置和布置,但应该理解,这只是为了说明目的。因此,在不脱离本公开的范围的情况下,可以使用其他配置和布置。而且,本公开中描述的主题也可以用于各种其他应用。本公开中描述的功能和结构特征可以彼此组合、调整、修改和重新排列,并且以与本公开的范围一致的方式进行组合、调整、修改和重新排列。
Claims (48)
1.一种对存储器件执行编程操作的方法,包括:
在第i个编程循环处,响应于确定索引i大于或等于第一预设值且小于与所述存储器件中的存储单元的目标状态相对应的初始验证循环编号,对所述目标状态的所述存储单元执行第i个编程禁止操作,索引i为正整数,并且所述初始验证循环编号指示开始与所述存储单元的目标状态相对应的验证操作的编程循环编号。
2.根据权利要求1所述的方法,其中,在所述第i个编程循环处,对所述存储单元执行所述第i个编程禁止操作包括:在所述第i个编程循环处,将第i位线编程禁止电压施加到与要被编程到所述目标状态的所述存储单元耦合的位线。
3.根据权利要求2所述的方法,其中,所述第i位线编程禁止电压包括高于0V的电压电平。
4.根据权利要求1-3中任一项所述的方法,还包括:
获取与所述存储单元的目标状态相对应的所述初始验证循环编号。
5.根据权利要求1-4中任一项所述的方法,还包括:
在所述第i个编程循环处,响应于确定索引i大于或等于1且小于所述第一预设值,对所述目标状态的所述存储单元执行第i个编程操作。
6.根据权利要求5所述的方法,其中,在所述第i个编程循环处,对所述存储单元执行所述第i个编程操作包括:在所述第i个编程循环处,将第i位线编程电压施加到与要被编程到所述目标状态的所述存储单元耦合的位线。
7.根据权利要求6所述的方法,其中,所述第i位线编程电压为0V。
8.根据权利要求1-7中任一项所述的方法,还包括:
响应于在第p个编程循环处确定要被编程到所述目标状态的所述存储单元达到所述目标状态并且通过验证操作,在第(p+1)个编程循环处对所述目标状态的所述存储单元执行第(p+1)个编程禁止操作,p为大于所述初始验证循环编号的正整数。
9.根据权利要求1-8中任一项所述的方法,还包括:
在所述第i个编程循环处,响应于确定索引i等于所述初始验证循环编号:
对所述存储单元执行第i个编程操作;以及
在执行所述第i个编程操作之后,对所述存储单元执行第i个验证操作。
10.根据权利要求9所述的方法,还包括:
在对所述存储单元进行所述第i个验证操作之后,生成第i个验证结果信号,所述第i个验证结果信号指示与所述第i个验证操作相对应的验证结果。
11.根据权利要求9所述的方法,还包括:
响应于确定与存储单元相对应的所有目标状态通过验证操作,结束对所述所有目标状态的所述存储单元的编程操作。
12.根据权利要求9所述的方法,其中:
在所述第i个编程循环处,对所述存储单元执行所述第i个编程操作包括:在所述第i个编程循环处,将第i位线编程电压施加到与要被编程到所述目标状态的所述存储单元耦合的位线。
13.根据权利要求12所述的方法,其中:
所述第i位线编程电压包括:低于在第q个编程禁止操作中的第q位线编程禁止电压的电压电平,q为正整数。
14.根据权利要求13所述的方法,其中:
所述第i位线编程电压的电压电平是根据与所述存储单元的目标状态相对应的所要求的阈值电压与所述存储单元当前存储的电压之间的差来确定的。
15.根据权利要求1-14中任一项所述的方法,其中,对于所述存储器件中的存储单元的所有目标状态,所述第一预设值是相同的。
16.根据权利要求15所述的方法,其中,所述第一预设值为2。
17.根据权利要求1-16中任一项所述的方法,其中,所述第一预设值包括所述初始验证循环编号与第二预设值之间的差,其中,所述第二预设值包括正整数。
18.根据权利要求17所述的方法,其中,所述第二预设值包括从1到5中选择的整数。
19.根据权利要求18所述的方法,其中,所述第二预设值为4。
20.根据权利要求1-19中任一项所述的方法,其中:
所述初始验证循环编号为第一初始验证循环编号,并且所述目标状态为第一目标状态;
所述第一预设值包括第二初始验证循环编号;以及
所述第二初始验证循环编号指示开始与所述存储器件中的存储单元的第二目标状态相对应的验证操作的编程循环编号,所述第二目标状态为低于所述第一目标状态的状态。
21.根据权利要求20所述的方法,其中:
所述第一目标状态为第x状态,并且所述第二目标状态为第(x-j)状态,x包括大于或等于2且小于或等于所述存储器件中的存储单元的所有目标状态的总数L的整数,并且j包括正整数,使得(x-j)的值大于1。
22.根据权利要求21所述的方法,其中:
当L等于7时,j是从1到5中选择的;以及
当L等于15时,j是从1到10中选择的。
23.一种存储器件,包括:
多个存储单元;以及
外围电路,所述外围电路耦合到所述多个存储单元并且被配置为:
在第i个编程循环处,响应于确定索引i大于或等于第一预设值且小于与所述存储器件中的存储单元的目标状态相对应的初始验证循环编号,对所述目标状态的所述存储单元执行第i个编程禁止操作,索引i为正整数,并且所述初始验证循环编号指示开始与所述存储单元的目标状态相对应的验证操作的编程循环编号。
24.根据权利要求23所述的存储器件,其中,所述外围电路还被配置为:
在所述第i个编程循环处,将第i位线编程禁止电压施加到与要被编程到所述目标状态的所述存储单元耦合的位线。
25.根据权利要求24所述的存储器件,其中,所述第i位线编程禁止电压包括高于0V的电压电平。
26.根据权利要求23-25中任一项所述的存储器件,其中,所述外围电路还被配置为:
获取与所述存储单元的目标状态相对应的所述初始验证循环编号。
27.根据权利要求23-26中任一项所述的存储器件,其中,所述外围电路还被配置为:
在所述第i个编程循环处,响应于确定索引i大于或等于1且小于所述第一预设值,对所述目标状态的所述存储单元执行第i个编程操作。
28.根据权利要求27所述的存储器件,其中,所述外围电路还被配置为:
在所述第i个编程循环处,响应于确定索引i大于或等于1且小于所述第一预设值,将第i位线编程电压施加到与要被编程到所述目标状态的所述存储单元耦合的位线。
29.根据权利要求28所述的存储器件,其中,所述第i位线编程电压为0V。
30.根据权利要求23-29中任一项所述的存储器件,其中,所述外围电路还被配置为:
响应于在第p个编程循环处确定要被编程到所述目标状态的所述存储单元达到所述目标状态并且通过验证操作,在第(p+1)个编程循环处对所述目标状态的所述存储单元执行第(p+1)个编程禁止操作,p为大于所述初始验证循环编号的正整数。
31.根据权利要求23-30中任一项所述的存储器件,其中,所述外围电路还被配置为:在所述第i个编程循环处,响应于确定索引i等于所述初始验证循环编号:
对所述存储单元执行第i个编程操作;以及
在执行所述第i个编程操作之后,对所述存储单元执行第i个验证操作。
32.根据权利要求31所述的存储器件,其中,所述外围电路还被配置为:
在对所述存储单元进行所述第i个验证操作之后,生成第i个验证结果信号,所述第i个验证结果信号指示与所述第i个验证操作相对应的验证结果。
33.根据权利要求31所述的存储器件,其中,所述外围电路还被配置为:
响应于确定与存储单元相对应的所有目标状态通过验证操作,结束对所述所有目标状态的所述存储单元的编程操作。
34.根据权利要求31所述的存储器件,其中,所述外围电路还被配置为:
在所述第i个编程循环处,将第i位线编程电压施加到与要被编程到所述目标状态的所述存储单元耦合的位线。
35.根据权利要求34所述的存储器件,其中:
所述第i位线编程电压包括:低于在第q个编程禁止操作中的第q位线编程禁止电压的电压电平,q为正整数。
36.根据权利要求35所述的存储器件,其中:
所述第i位线编程电压的电压电平是根据与所述存储单元的目标状态相对应的所要求的阈值电压与所述存储单元当前存储的电压之间的差来确定的。
37.根据权利要求23-36中任一项所述的存储器件,其中,对于所述存储器件中的存储单元的所有目标状态,所述第一预设值是相同的。
38.根据权利要求37所述的存储器件,其中,所述第一预设值为2。
39.根据权利要求23-38中任一项所述的存储器件,其中,所述第一预设值包括所述初始验证循环编号与第二预设值之间的差,其中,所述第二预设值包括正整数。
40.根据权利要求39所述的存储器件,其中,所述第二预设值包括从1到5中选择的整数。
41.根据权利要求40所述的存储器件,其中,所述第二预设值为4。
42.根据权利要求23-41中任一项所述的存储器件,其中:
所述初始验证循环编号为第一初始验证循环编号,并且所述目标状态为第一目标状态;
所述第一预设值包括第二初始验证循环编号;以及
所述第二初始验证循环编号指示开始与所述存储器件中的存储单元的第二目标状态相对应的验证操作的编程循环编号,所述第二目标状态为低于所述第一目标状态的状态。
43.根据权利要求42所述的存储器件,其中:
所述第一目标状态为第x状态,并且所述第二目标状态为第(x-j)状态,x包括大于或等于2且小于或等于所述存储器件中的存储单元的所有目标状态的总数L的整数,并且j包括正整数,使得(x-j)的值大于1。
44.根据权利要求43所述的存储器件,其中:
当L等于7时,j是从1到5中选择的;以及
当L等于15时,j是从1到10中选择的。
45.根据权利要求23-44中任一项所述的存储器件,其中,所述存储器件是三维(3D)存储器件。
46.一种存储器系统,包括:
一个或多个存储器件,所述一个或多个存储器件中的每一个存储器件包括:
多个存储单元;以及
外围电路,所述外围电路耦合到所述多个存储单元并且被配置为:
在第i个编程循环处,响应于确定索引i大于或等于第一预设值且小于与所述存储器件中的存储单元的目标状态相对应的初始验证循环编号,对所述目标状态的所述存储单元执行第i个编程禁止操作,索引i为正整数,并且所述初始验证循环编号指示开始与所述存储单元的目标状态相对应的验证操作的编程循环编号。
47.根据权利要求46所述的存储器系统,其中,所述一个或多个存储器件中的每一个存储器件包括三维(3D)存储器件。
48.一种对存储器件执行编程操作的方法,包括:
获取包括下限和上限的范围,所述下限和上限中的每一个包括正整数,所述上限大于或等于所述下限并且包括初始验证循环编号减1,并且所述初始验证循环编号指示开始与存储单元的目标状态相对应的验证操作的编程循环编号;以及
针对从第p个编程循环到第q个编程循环的每个编程循环,对所述目标状态的所述存储单元执行编程禁止操作,其中,p等于所述下限,并且q等于所述上限。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210573032.5A CN114974364A (zh) | 2022-05-24 | 2022-05-24 | 存储器及其编程方法、存储器系统 |
CN2022105730325 | 2022-05-24 | ||
PCT/CN2022/141070 WO2023226417A1 (en) | 2022-05-24 | 2022-12-22 | Memory device, memory system, and program operation method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117461084A true CN117461084A (zh) | 2024-01-26 |
Family
ID=88876687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280006087.6A Pending CN117461084A (zh) | 2022-05-24 | 2022-12-22 | 存储器件、存储器系统及其编程操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230386587A1 (zh) |
CN (1) | CN117461084A (zh) |
-
2022
- 2022-12-22 CN CN202280006087.6A patent/CN117461084A/zh active Pending
-
2023
- 2023-02-23 US US18/113,617 patent/US20230386587A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230386587A1 (en) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109935267B (zh) | 半导体存储器装置及其操作方法 | |
CN111009275B (zh) | 存储器装置和存储器装置的操作方法 | |
US10109360B2 (en) | Semiconductor memory device and method of operating the same | |
US11749347B2 (en) | Memory device with page buffer circuit and program operation thereof | |
US11315649B2 (en) | Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods | |
US20230335205A1 (en) | Memory device and multi-pass program operation thereof | |
CN111192617B (zh) | 存储装置及其操作方法 | |
WO2023226417A1 (en) | Memory device, memory system, and program operation method thereof | |
CN110619912A (zh) | 存储装置以及该存储装置的操作方法 | |
WO2023246931A1 (en) | Memory device, memory system, and operating method thereof | |
CN113724752A (zh) | 存储器装置及其操作方法 | |
CN117461084A (zh) | 存储器件、存储器系统及其编程操作方法 | |
US20230260560A1 (en) | Method of reducing program disturbance in memory device and memory device utilizing same | |
US20230420062A1 (en) | Memory device, memory system, and operating method thereof | |
US20230176748A1 (en) | Memory device, memory system, and program operation method thereof | |
US20240170070A1 (en) | Operation method of memory, memory, memory system, and electronic device | |
US20240126478A1 (en) | Memory systems and operation methods thereof, memory controllers and memories | |
US20230290388A1 (en) | Page buffer, memory device, and method for programming thereof | |
CN116547758A (zh) | 存储器器件、存储器系统及其读取操作方法 | |
CN114783490A (zh) | 存储系统、存储器及其编程方法 | |
CN114974372A (zh) | 非易失性存储器操作方法及系统 | |
CN118072791A (zh) | 存储器装置及其操作方法、存储器系统 | |
CN114974382A (zh) | 存储器、系统以及存储器的操作方法 | |
CN114882931A (zh) | 一种三维存储器的编程方法、三维存储器及存储器系统 | |
CN115376597A (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 |