CN116072193A - 非易失性存储装置的操作方法 - Google Patents
非易失性存储装置的操作方法 Download PDFInfo
- Publication number
- CN116072193A CN116072193A CN202211132043.6A CN202211132043A CN116072193A CN 116072193 A CN116072193 A CN 116072193A CN 202211132043 A CN202211132043 A CN 202211132043A CN 116072193 A CN116072193 A CN 116072193A
- Authority
- CN
- China
- Prior art keywords
- level
- voltage
- word line
- verify
- 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 52
- 230000015654 memory Effects 0.000 claims description 317
- 238000012795 verification Methods 0.000 claims description 127
- 238000010801 machine learning Methods 0.000 claims description 44
- 239000000758 substrate Substances 0.000 claims description 35
- 238000013507 mapping Methods 0.000 claims description 21
- 238000011161 development Methods 0.000 claims description 17
- 238000007667 floating Methods 0.000 claims description 2
- 210000004027 cell Anatomy 0.000 description 532
- 238000009826 distribution Methods 0.000 description 86
- 229910052751 metal Inorganic materials 0.000 description 81
- 239000002184 metal Substances 0.000 description 81
- 239000010410 layer Substances 0.000 description 64
- 238000007726 management method Methods 0.000 description 57
- 238000010586 diagram Methods 0.000 description 47
- 230000002093 peripheral effect Effects 0.000 description 33
- 102100024440 Phosphoacetylglucosamine mutase Human genes 0.000 description 24
- 230000004044 response Effects 0.000 description 21
- 230000008859 change Effects 0.000 description 18
- 230000018109 developmental process Effects 0.000 description 16
- 150000002739 metals Chemical class 0.000 description 16
- 108010074307 Phosphoacetylglucosamine mutase Proteins 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 13
- 230000007423 decrease Effects 0.000 description 13
- 230000008672 reprogramming Effects 0.000 description 13
- 101000833350 Homo sapiens Phosphoacetylglucosamine mutase Proteins 0.000 description 11
- 101001072903 Homo sapiens Phosphoglucomutase-2 Proteins 0.000 description 10
- 102100036629 Phosphoglucomutase-2 Human genes 0.000 description 10
- 101000583553 Homo sapiens Phosphoglucomutase-1 Proteins 0.000 description 8
- 102100030999 Phosphoglucomutase-1 Human genes 0.000 description 8
- 102100040678 Programmed cell death protein 1 Human genes 0.000 description 8
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 7
- 239000011229 interlayer Substances 0.000 description 7
- 101150064834 ssl1 gene Proteins 0.000 description 7
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 6
- 101100058964 Arabidopsis thaliana CALS5 gene Proteins 0.000 description 6
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 6
- 239000010949 copper Substances 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 101150062870 ssl3 gene Proteins 0.000 description 5
- 102100034033 Alpha-adducin Human genes 0.000 description 4
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 4
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 4
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 4
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 4
- 101000988651 Homo sapiens Humanin-like 1 Proteins 0.000 description 4
- 101001081180 Homo sapiens Humanin-like 10 Proteins 0.000 description 4
- 102100027734 Humanin-like 10 Human genes 0.000 description 4
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 4
- 229910052802 copper Inorganic materials 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 210000000225 synapse Anatomy 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 101100316752 Arabidopsis thaliana VAL1 gene Proteins 0.000 description 3
- 101100316753 Arabidopsis thaliana VAL2 gene Proteins 0.000 description 3
- 229910052782 aluminium Inorganic materials 0.000 description 3
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000946 synaptic effect Effects 0.000 description 3
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 3
- 229910052721 tungsten Inorganic materials 0.000 description 3
- 239000010937 tungsten Substances 0.000 description 3
- 102100024348 Beta-adducin Human genes 0.000 description 2
- 101100204010 Drosophila melanogaster Ssl gene Proteins 0.000 description 2
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 2
- 229910052581 Si3N4 Inorganic materials 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011810 insulating material Substances 0.000 description 2
- 230000036278 prepulse Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 2
- 229910052814 silicon oxide Inorganic materials 0.000 description 2
- 101150011582 ssl4 gene Proteins 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100316754 Arabidopsis thaliana VAL3 gene Proteins 0.000 description 1
- 101100366714 Caenorhabditis elegans ssl-1 gene Proteins 0.000 description 1
- 102100034004 Gamma-adducin Human genes 0.000 description 1
- 101000799011 Homo sapiens Gamma-adducin Proteins 0.000 description 1
- 101710089372 Programmed cell death protein 1 Proteins 0.000 description 1
- 101100231585 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) HNM1 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 150000002736 metal compounds Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/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
- G11C11/5635—Erasing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/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/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Read Only Memory (AREA)
Abstract
一种非易失性存储装置的操作方法,包括:对第一字线执行1级编程步骤和1级验证步骤,存储第一时间戳,对第二字线执行1级编程步骤和1级验证步骤,存储第二时间戳,基于第一时间戳和第二时间戳计算延迟时间,确定延迟时间是否大于或等于阈值,基于延迟时间将与第一字线相关联的至少一个2级验证电压从第一电压电平调整为第二电压电平,以及对第一字线执行2级编程步骤和2级验证步骤。至少一个1级验证电压的电平低于第二电压电平,并且第二电压电平低于第一电压电平。
Description
相关申请的交叉引用
本申请要求于2021年11月4日在韩国知识产权局提交的韩国专利申请No.10-2021-0150595的优先权,该韩国专利申请的公开内容通过引用整体并入本文。
技术领域
本文描述的本公开的实施例涉及半导体存储器,更具体地,涉及非易失性存储装置的操作方法。
背景技术
半导体存储装置被分类为易失性存储装置或非易失性存储装置,在易失性存储装置中所存储的数据在电源关断时消失,易失性存储装置为诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM),在非易失性存储装置中所存储的数据即使在电源关断时也会保留,非易失性存储装置为诸如闪存装置、相变RAM(PRAM)、磁RAM(MRAM)、电阻RAM(RRAM)或铁电RAM(FRAM)。
闪存装置可以对每个页面或每条字线执行编程操作。通常,由于编程电压是高电压,当对选定字线的存储单元进行编程时,与选定字线相邻的字线的存储单元中会出现劣化(例如,由于字线之间的耦合导致的劣化)。存储单元的劣化导致闪存装置的可靠性降低。
发明内容
本公开的实施例提供了一种具有提高的可靠性的非易失性存储装置的操作方法。
根据实施例,提供了一种非易失性存储装置的操作方法,所述非易失性存储装置包括多个存储块,其中,所述多个存储块中的每个存储块包括连接在位线与公共源极线之间的多个单元串,所述多个单元串中的每个单元串包括串联连接的多个存储单元,所述多个存储单元分别连接到沿垂直于衬底的方向堆叠的多条字线。所述方法包括:对多条字线中的第一字线执行1级编程操作的1级编程步骤和1级编程操作的1级验证步骤,其中,在该1级编程步骤中,向所述第一字线施加编程电压,并且在对所述第一字线执行了1级编程步骤之后,向所述第一字线施加多个1级验证电压中的至少一个1级验证电压;存储表示针对所述第一字线的1级编程操作完成的时间的第一时间戳;在执行了1级编程操作之后,对与所述第一字线相邻的第二字线执行1级编程操作的1级编程步骤;在对所述第二字线执行了1级编程步骤之后,对所述第二字线执行1级编程操作的1级验证步骤;存储表示针对所述第二字线的1级编程操作完成的时间的第二时间戳;基于所述第一时间戳和所述第二时间戳计算延迟时间;确定所述延迟时间是否大于或等于阈值;当确定所述延迟时间大于或等于所述阈值时,基于所述延迟时间将与所述第一字线相关联的多个2级验证电压中的至少一个2级验证电压从第一电压电平调整为第二电压电平;在对所述第二字线执行了1级编程操作之后,对所述第一字线执行2级编程操作的2级编程步骤,在对所述第一字线执行了2级编程步骤之后,对所述第一字线执行2级编程操作的2级验证步骤,其中,在该2级编程步骤中,向所述第一字线施加编程电压,并且在2级验证步骤中,向所述第一字线施加调整后的所述至少一个2级验证电压。所述至少一个1级验证电压的电平低于调整后的所述至少一个2级验证电压的所述第二电压电平,并且所述第二电压电平低于所述第一电压电平。
根据实施例,提供了一种非易失性存储装置的操作方法,所述非易失性存储装置包括多个存储块,其中,所述多个存储块中的每个存储块包括连接在位线与公共源极线之间的多个单元串,所述多个单元串中的每个单元串包括串联连接的多个存储单元,所述多个存储单元分别连接到沿垂直于衬底的方向堆叠的多条字线。所述方法包括:对第一字线执行1级编程操作的1级编程步骤和1级编程操作的1级验证步骤,其中,在1级编程步骤中,向所述多条字线的第一字线施加编程电压,并且在对所述第一字线执行了1级编程步骤之后,向所述第一字线施加所述多个1级验证电压中的至少一个1级验证电压;在对所述第一字线执行了1级编程操作之后,基于与所述第一字线连接的选定存储单元的最高编程状态相对应的参考电压通过对所述第一字线执行关断单元计数操作来生成和存储第一单元计数;在对所述第一字线执行了1级编程操作之后,对与所述第一字线相邻的第二字线执行1级编程操作的1级编程步骤,并且在对所述第二字线执行了1级编程步骤之后对所述第二字线执行1级编程操作的1级验证步骤;在对所述第二字线执行了1级编程操作之后,基于参考电压通过对所述第二字线执行关断单元计数操作来生成和存储第三单元计数;在对所述第二字线执行了1级编程操作之后,基于所述参考电压通过对所述第一字线执行关断单元计数操作来生成和存储第二单元计数;基于所述第一单元计数和所述第二单元计数计算单元计数差;确定所述单元计数差是否大于或等于阈值;当确定所述单元计数差大于或等于阈值时,基于所述单元计数差将与所述第一字线相关联的多个2级验证电压中的至少一个2级验证电压从第一电压电平调整为第二电压电平;以及在对所述第二字线执行了1级编程操作之后,对所述第一字线执行2级编程操作的2级编程步骤和2级编程操作的2级验证步骤,其中,在2级编程步骤中,向所述第一字线施加编程电压,并且在对所述第一字线执行了2级编程步骤之后,向所述第一字线施加调整后的所述至少一个2级验证电压。所述至少一个1级验证电压的电平低于与所述至少一个1级验证电压相对应的调整后的所述至少一个2级验证电压的所述第二电压电平,并且所述第二电压电平低于所述第一电压电平。
根据实施例,提供了一种非易失性存储装置的操作方法,所述非易失性存储装置包括多个存储块,其中,所述多个存储块中的每个存储块包括连接在位线与公共源极线之间的多个单元串,所述多个单元串中的每个单元串包括串联连接的多个存储单元,所述多个存储单元分别连接到沿垂直于衬底的方向堆叠的多条字线。所述方法包括:对所述多条字线中的第一字线执行1级编程操作的1级编程步骤,对所述第一字线执行1级编程操作的1级验证步骤,对所述第一字线执行1级编程操作的1级浅擦除步骤,其中,在1级编程步骤中,向所述第一字线施加编程电压,在对所述第一字线执行了1级编程步骤之后,向所述第一字线施加多个1级验证电压中的至少一个1级验证电压,以及在对所述第一字线执行了1级验证步骤之后,在1级浅擦除步骤中向所述第一字线施加字线擦除电压;存储表示针对所述第一字线的1级编程操作完成的时间的第一时间戳;在对所述第一字线执行了1级编程操作之后,对与所述第一字线相邻的第二字线执行1级编程操作的1级编程步骤,在对所述第二字线执行了1级编程步骤后,对所述第二字线执行1级编程操作的1级验证步骤,以及在对所述第二字线执行了1级验证步骤之后,对所述第二字线执行1级编程操作的1级浅擦除步骤;存储表示针对所述第二字线的1级编程操作完成的时间的第二时间戳;基于所述第一时间戳和所述第二时间戳计算延迟时间;确定所述延迟时间是否大于或等于阈值;当确定所述延迟时间大于或等于所述阈值时,基于所述延迟时间将与所述第一字线相关联的多个2级验证电压中的至少一个2级验证电压从第一电压电平调整为第二电压电平;以及在对所述第二字线执行了1级编程操作之后,对所述第一字线执行2级编程操作的2级编程步骤和2级编程操作的2级验证步骤,其中,在2级编程步骤中,向所述第一字线施加编程电压,并且在对所述第一字线执行了2级编程步骤之后,向所述第一字线施加调整后的所述至少一个2级验证电压。所述至少一个1级验证电压的电平低于与所述至少一个1级验证电压相对应的调整后的所述至少一个2级验证电压的所述第二电压电平,并且所述第二电压电平低于所述第一电压电平。
附图说明
通过参考附图详细描述了本公开的实施例,本公开的上述以及其他目的和特征将变得容易理解。
图1示出了根据本公开的实施例的非易失性存储装置。
图2是根据示例实施例的图1的多个存储块中的一个存储块的示例的电路图。
图3示出了根据示例实施例的用于描述图1的非易失性存储装置的编程操作的分布图。
图4是根据示例实施例的用于描述图1的非易失性存储装置的编程操作的时序图。
图5是根据示例实施例的用于描述图1的非易失性存储装置的重编程操作的图。
图6是根据示例实施例的用于描述图1的非易失性存储装置的编程操作的图。
图7是示出了根据示例实施例的图1的VVL LUT的示例的图。
图8A是示出了根据本公开的实施例的2级验证电压的示例的图。
图8B示出了根据示例实施例的用于描述图1的非易失性存储装置的编程操作的分布图。
图9是示出了根据示例实施例的图1的非易失性存储装置的编程方法的示例的流程图。
图10是示出了根据示例实施例的图1的非易失性存储装置的编程方法的示例的流程图。
图11是示出了根据示例实施例的图1的非易失性存储装置的浅擦除步骤的示例的时序图。
图12示出了根据本公开的实施例的非易失性存储装置。
图13示出了用于描述图12的非易失性存储装置的单元计数比较操作的分布图。
图14是示出了根据示例实施例的图12的VVL LUT的示例的图。
图15是示出了根据示例实施例的图12的非易失性存储装置的编程方法的示例的流程图。
图16是示出了根据示例实施例的图12的非易失性存储装置的编程方法的示例的流程图。
图17示出了根据示例实施例的用于描述图12的非易失性存储装置的单元计数比较操作的分布图。
图18示出了根据本公开的实施例的在验证操作中施加到图2的存储块的电压的示例。
图19示出了根据本公开的实施例的页面缓冲电路的各组件当中的与一条位线相对应的一个页面缓冲器的示例。
图20是示出了根据本公开的实施例的在验证操作中感测节点的电平变化的时序图。
图21是示出了根据本公开的实施例的非易失性存储装置的框图。
图22示出了根据示例实施例的图21的非易失性存储装置的编程操作的示例。
图23是示出了根据本公开的实施例的非易失性存储装置的框图。
图24示出了根据示例实施例的图23的非易失性存储装置的编程操作的示例。
图25示出了能够用作图21和图23的机器学习逻辑的示例的神经网络。
图26是示出了根据本公开的实施例的存储系统的框图。
图27是示出了根据示例实施例的图26的存储控制器的配置的框图。
图28是示出了根据示例实施例的图26的存储控制器的配置的框图。
图29是示出了根据示例实施例的图26的存储控制器的配置的框图。
图30是示出了根据本公开的实施例的存储单元的阈值电压分布的分布图。
图31A至图31D是根据本公开的实施例的用于描述非易失性存储装置的编程方法的图。
图32是示出了根据本公开的示例实施例的非易失性存储装置的横截面图。
具体实施方式
下面,将详细、清楚地描述本公开的示例实施例,以使本领域技术人员能够容易地实施本公开。
图1示出了根据本公开的实施例的非易失性存储装置。参考图1,非易失性存储装置100可以包括存储单元阵列110、地址译码器120、页面缓冲电路130、输入/输出电路140以及控制逻辑和电压生成电路150。在实施例中,非易失性存储装置100可以是诸如NAND闪存装置的非易失性存储装置,但本公开不限于此。
例如,存储单元阵列110可以是非易失性存储装置100的核心,地址译码器120、页面缓冲电路130、输入/输出电路140和控制逻辑和电压生成电路150可以是非易失性存储装置100的外围电路。外围电路可以被配置为访问该核心。本文中,非易失性存储装置100的外围电路可以包括除存储单元阵列110之外的多个电路。
存储单元阵列110可以包括多个存储块。多个存储块中的每个存储块可以连接到串选择线SSL、字线WL、接地选择线GSL和位线BL。将参考图2详细描述多个存储块的配置。
地址译码器120可以从外部设备(例如,存储器控制器)或控制逻辑和电压生成电路150接收地址ADDR。地址译码器120可以对地址ADDR进行译码,并且可以基于译码结果控制或驱动串选择线SSL、字线WL和接地选择线GSL的电压。例如,地址译码器120可以接收由控制逻辑和电压生成电路150生成的操作电压,并且可以基于译码结果向串选择线SSL、字线WL和接地选择线GSL中的每一者提供相应的操作电压。
页面缓冲电路130可以通过位线BL连接到存储单元阵列110。页面缓冲电路130可以从输入/输出电路140接收数据“DATA”,并且可以临时存储接收到的数据“DATA”。页面缓冲电路130可以控制位线BL的电压,使得临时存储的数据“DATA”被存储在存储单元阵列110中。或者,页面缓冲电路130可以通过感测位线BL的电压变化来读取存储在存储单元阵列110中的数据“DATA”。页面缓冲电路130可以将读取出的数据“DATA”提供给输入/输出电路140。
输入/输出电路140可以与外部设备(例如,存储器控制器)交换数据“DATA”。在实施例中,与数据选通信号同步,输入/输出电路140可以将数据“DATA”输出到外部设备,或者可以从外部设备接收数据“DATA”。
控制逻辑和电压生成电路150可以生成非易失性存储装置100操作所需的各种操作电压(例如,多个编程电压、多个验证电压、多个读取电压和多个擦除电压)。控制逻辑和电压生成电路150可以从外部设备(例如,存储器控制器)接收命令CMD、地址ADDR和控制信号CTRL。控制逻辑和电压生成电路150可以基于接收到的命令CMD来控制非易失性存储装置100的各种组件。下面,为了便于描述,将控制逻辑和电压生成电路150称为“控制逻辑电路”。
控制逻辑电路150可以包括时间管理单元151、编程时间表152、验证电压电平查找表(VVL LUT)153、验证电压电平选择单元(以下称为“VVL选择单元”)154。如本文所用,“单元”可以指“电路”。
在实施例中,根据本公开的非易失性存储装置100可以通过重编程方式将数据“DATA”存储在存储单元阵列110中。例如,重编程方式可以表示在选定字线处对多个页面进行重复编程。根据重编程方式,在接收多个页面的操作和对多个页面进行重复编程的操作被重复执行多达给定次数(例如,两次)之后,可以读取多个页面。根据本公开的重编程方式可以包括1级编程操作和2级编程操作。将参考图3详细描述重编程方式。
在1级编程操作和2级编程操作之间存在延迟的情况下,非易失性存储装置100可以调整在2级编程操作的验证步骤中使用的验证电压(以下称为“2级验证电压”)。因此,可以提高非易失性存储装置100的可靠性。
在实施例中,时间管理单元151可以根据非易失性存储装置100的物理特性来管理各种时间。例如,时间管理单元151可以管理与包括在非易失性存储装置100中的多个存储单元、多个页面、多条字线、多个存储块等相关联的编程时间(例如,1级编程步骤时间和2级编程步骤时间)和延迟时间。例如,1级编程时间1-SPT表示完成多条字线中的每条字线的1级编程操作的时间点。换言之,1级编程时间1-SPT表示在1级编程步骤开始之后完成1级验证步骤的时间点。延迟时间DT表示从针对第k字线的1级编程操作完成的时间点到针对第k字线的2级编程操作开始的时间点的时间段。或者,延迟时间DT表示从针对第k字线的1级编程操作完成的时间点到针对作为与第k字线相邻的字线的第(k-1)字线的1级编程操作完成的时间点的时间段。
例如,时间管理单元151可以包括计时器(未示出)。计时器可以对时钟进行计数以生成当前时间。时钟可以是从外部接收到的外部时钟或在非易失性存储装置100中生成的内部时钟。当前时间可以是绝对时间。或者,当前时间可以是相对于参考时间的相对时间。时间管理单元151可以通过使用由计时器生成的当前时间来管理各种时间。
在实施例中,时间管理单元151可以存储1级编程时间1-SPT。例如,时间管理单元151可以将1级编程时间1-SPT存储在非易失性存储装置100的外围电路或存储单元阵列110中。
在实施例中,时间管理单元151可以通过使用编程时间表152来存储1级编程时间1-SPT。例如,时间管理单元151可以以字线为单位管理1级编程时间1-SPT,但本公开不限于此。例如,时间管理单元151可以针对每个页面、每条字线、每个子块、每个存储块或每个平面,管理1级编程时间1-SPT。
在实施例中,时间管理单元151可以计算延迟时间DT。例如,时间管理单元151可以参考编程时间表152计算延迟时间DT。例如,时间管理单元151可以基于存储在编程时间表152中的时间戳(time stamp)来计算延迟时间DT。例如,时间管理单元151可以计算第k字线的1级编程时间和第(k-1)字线的1级编程时间之间的差作为延迟时间DT。时间管理单元151可以向VVL选择单元154提供延迟时间DT。
编程时间表152可以包括多条字线中的每条字线的1级编程时间1-SPT。将参考图6详细描述编程时间表152。
VVL LUT 153可以包括关于根据延迟时间DT的2级验证电压电平差的映射信息。例如,可以以存储块为单位管理VVL LUT 153。VVL LUT 153可以依据存储块的编程循环/擦除循环的数目和存储块的特性被预先确定或被更新。例如,可以以字线为单位管理VVL LUT153。VVL LUT 153可以依据字线的位置被预先确定或被更新。或者,可以以多个验证电压为单位管理VVL LUT 153。VVL LUT 153可以相对于多个验证电压中的每个验证电压被预先确定或被更新。可以基于上述实施例的组合来管理VVL LUT 153。VVL LUT 153可以基于上述实施例的组合被预先确定或被更新。将参考图7详细描述VVL LUT 153。
VVL选择单元154可以基于延迟时间DT选择2级验证电压电平。VVL选择单元154可以从时间管理单元151接收延迟时间DT。为了选择2级验证电压电平,VVL选择单元154可以参考VVL LUT 153的验证电压电平差信息。VVL选择单元154可以调整2级验证电压电平。VVL选择单元154可以输出电压电平被调整了的新的验证电压。VVL选择单元154可以以硬件的形式实现。
在1级编程操作完成之后延迟时间DT增加的情况下,可以改变阈值电压分布。因此,在通过使用给定验证电压(或默认验证电压)执行存储单元的2级验证步骤的情况下,存储单元的最终分布可能不同于预期分布。例如,存储单元的最终分布可以在阈值电压增加的方向上偏移。为了解决该问题,非易失性存储装置100可以调整2级验证电压电平。将参考以下附图详细描述如何调整验证电压电平。
图2是根据示例实施例的图1的多个存储块中的一个存储块BLKa的示例的电路图。参考图1和图2,多个单元串CS可以以行和列被布置在衬底SUB上。多个单元串CS可以共同连接到在衬底SUB上(或在衬底SUB中)形成的公共源极线CSL。在图2中,为了更好地理解存储块BLKa的结构,作为示例,描绘了衬底SUB的位置。
在图2中示出了公共源极线CSL被连接到单元串CS的下端的示例。然而,只要公共源极线CSL电连接到单元串CS的下端就足够了,并且本公开不限于公共源极线CSL物理地位于单元串CS的下端的情况。在图2中示出了以4×4矩阵布置的单元串CS的示例,但是存储块BLKa中的单元串CS的数目可以增加或减少。
每行中的单元串可以共同连接到接地选择线GSL1或GSL2。例如,第一行和第二行中的单元串可以共同连接到第一接地选择线GSL1,第三行和第四行中的单元串可以共同连接到第二接地选择线GSL2。
每行中的单元串可以共同连接到第一串选择线SSL1至第四串选择线SSL4的对应串选择线。每列中的单元串可以连接到第一位线BL1至第四位线BL4的对应位线。为了防止附图变得复杂,将连接到第二串选择线SSL2和第三串选择线SSL3的单元串CS绘制为模糊。
每个单元串可以包括至少一个连接到接地选择线GSL1或GSL2的接地选择晶体管GST、分别连接到多条字线WL1至WL8的多个存储单元MC1至MC8以及分别连接到串选择线SSL1、SSL2、SSL3或SSL4的串选择晶体管SST。例如,存储单元MC1被设置为与接地选择线GSL1或GSL2相邻,存储单元MC8被设置为与第一串选择线SSL1至第四串选择线SSL4的串选择线相邻。
在每个单元串中,接地选择晶体管GST、存储单元MC1至MC8和串选择晶体管SST可以沿垂直于衬底SUB的方向串联连接,并可以沿垂直于衬底SUB的方向顺序堆叠。在每个单元串中,存储单元MC1至MC8中的至少一个存储单元可以用作虚设存储单元。虚设存储单元可以不被编程(例如,可以被禁止编程),或者可以与存储单元MC1至MC8中的除虚设存储单元之外的其余存储单元不同地被编程。
在实施例中,属于每一行且位于相同高度的单元串的存储单元可以形成一个物理页面。构成一个物理页面的存储单元可以连接到一条子字线。位于相同高度的物理页面的子字线可以共同连接以形成一条字线。
在实施例中,位于相同高度的物理页面的子字线可以在形成子字线的高度处彼此连接。作为另一示例,位于相同高度的物理页面的子字线可以在具有与形成子字线的高度不同的高度的任何其他层(例如,金属层)中彼此间接连接。
在实施例中,当以三维结构实现存储块BLKa时,依据存储单元MC的高度,可以不同地实现存储单元MC的特性。例如,存储单元MC的大小可以依据存储单元MC的高度而改变。
图3示出了根据示例实施例的用于描述图1的非易失性存储装置的编程操作的分布图。在实施例中,在图3的分布图中,横轴表示存储单元的阈值电压Vth,纵轴表示存储单元的数目。在实施例中,在图3中示出了当在每个存储单元中写入三个位时阈值电压的变化。
参考图1和图3,非易失性存储装置100可以通过改变包括在存储单元阵列110中的多个存储单元MC的阈值电压,将数据存储或编程在存储单元中。
例如,非易失性存储装置100可以基于要存储的数据对存储单元执行编程操作,使得擦除状态“E”的存储单元具有多个编程状态P21至P27和擦除状态“E”中的一个状态。在实施例中,编程操作可以以字线为单位或以页面为单位执行。
根据本公开的非易失性存储装置100可以根据重编程方式执行多步骤编程操作。在实施例中,假设根据重编程方式的编程操作包括1级编程操作和2级编程操作。然而,本公开不限于此。例如,编程操作的级数可以不同地改变或修改。
在实施例中,重编程方式表示这样的操作:对第k字线WLk执行1级编程操作以主要形成存储单元的分布;以及在对第(k-1)字线WLk-1执行了1级编程操作之后对第k字线WLk执行2级编程操作以反映字线WL(即,WLk和WLk-1)之间的干扰。
例如,在对第k字线WLk的1级编程操作中,非易失性存储装置100可以对存储单元执行编程操作,使得擦除状态“E”的存储单元具有多个编程状态P11至P17和擦除状态“E”中的一个状态。在1级编程操作中,可以使用验证电压VFY11至VFY17。在此,为了便于描述,术语验证电压VFY11至VFY17和1级验证电压VFY11至VFY17可以互换使用。例如,要编程为编程状态P11的存储单元可以被编程为具有高于验证电压VFY11的阈值电压。其余编程状态P12至P17与上述描述类似,因此,将省略额外描述以避免冗余。
在2级编程操作中,非易失性存储装置100可以对存储单元执行编程操作,使得存储单元具有多个编程状态P21至P27和擦除状态“E”中的一个状态。例如,非易失性存储装置100可以对存储单元执行编程操作,使得编程状态P11的存储单元具有编程状态P21。在2级编程操作中,可以使用验证电压VFY21至VFY27。例如,要编程为编程状态P21的存储单元可以被编程为具有高于验证电压VFY21的阈值电压。其余编程状态P22至P27与上述描述类似,因此,将省略额外描述以避免冗余。
与2级编程操作相关联的多个编程状态P21至P27的分布宽度可以窄于与1级编程操作相关联的多个编程状态P11至P17的分布宽度。2级编程操作中使用的验证电压VFY21至VFY27的电平可以高于1级编程操作中使用的与验证电压VFY21至VFY27相对应的验证电压VFY11至VFY17的电平。
当执行擦除操作时,存储单元MC的阈值电压可以从擦除状态“E”和多个编程状态P21到P27改变为擦除状态“E”。可以通过使用擦除验证电压VFYE执行擦除操作。在擦除操作中,存储单元MC可以被擦除以具有低于擦除验证电压VFYE的阈值电压。
图4是根据示例实施例的用于描述图1的非易失性存储装置的编程操作的时序图。在图4中,横轴表示时间“T”,纵轴表示电压“V”。在图4中示出了在编程操作中施加到从字线WL中选择的字线的电压的示例。在实施例中,非易失性存储装置100可以基于增量步进脉冲编程(ISPP)方案执行1级编程操作和2级编程操作。
参考图1和图4,编程操作可以包括多个编程循环LP1到LPn。例如,1级编程操作和2级编程操作中的每一者都可以包括多个编程循环LP1到LPn。可以通过重复编程循环来执行编程操作。当编程循环完成(或重复)时,编程电压VPGM的电平可以增加。
多个编程循环LP1至LPn中的每个编程循环可以包括施加了编程电压VPGM的编程步骤和施加了第一验证电压VFY1至第七验证电压VFY7的验证步骤。
在编程步骤中,可以设置位线BL的电压。例如,位线BL可以连接到与选定字线连接的选定存储单元(即,作为编程操作的目标的存储单元)。编程电压(例如,电源电压或高于电源电压的电压)可以被施加到选定字线,接地电压或类似于接地电压的电压可以被施加到与选定存储单元当中的阈值电压将会增加(或将被编程)的存储单元连接的位线。编程抑制电压(例如,电源电压)可以被施加到与选定存储单元当中的阈值电压将被保持(或将被编程抑制)的存储单元连接的位线。
通过电压VPASS可以被施加到字线(或未选字线)WL。通过电压VPASS可以导通连接到字线WL的存储单元。随后,编程电压VPGM可以被施加到选定字线。编程电压VPGM可以增加要被编程的存储单元的阈值电压。
在验证步骤中,验证电压VFY1至VFY7可以被施加到选定字线。例如,当在一个存储单元中编程三个位时,通过编程操作,存储单元的阈值电压可以被调整为七个编程状态和擦除状态中的一个状态,或者可以被保持。验证电压VFY1至VFY7可以是与七个编程状态相对应的七个电压。
例如,当在一个存储单元中编程“n”个位(n为正整数)时,通过编程操作,存储单元的阈值电压可以被调整为(2n-1)个编程状态和擦除状态中的一个状态,或者可以被保持。验证电压可以包括分别与(2n-1)个编程状态对应的(2n-1)个电压。
在图4中示出了从最高电压电平到最低电压电平按降序施加验证电压VFY1至VFY7的示例。然而,施加验证电压VFY1至VFY7的顺序可以与验证电压VFY1至VFY7的电平无关。或者,可以从最低电压电平到最高电压电平按升序施加验证电压VFY1到VFY7。
图5是根据示例实施例的用于描述图1的非易失性存储装置的重编程操作的图。参考图1、图2和图5,非易失性存储装置100可以以重编程方式对第一字线WL1至第八字线WL8执行编程操作。在实施例中,非易失性存储装置100可以通过第一步骤至第十六步骤依次对第一字线WL1至第八字线WL8执行编程操作。
例如,非易失性存储装置100可以在第八字线WL8处接收要存储的数据,并且可以在第一步骤基于接收到的数据对第八字线WL8执行1级编程操作。在针对第八字线WL8的1级编程操作完成之后,非易失性存储装置100可以在第七字线WL7处接收要存储的数据,并且可以在第二步骤基于接收到的数据对第七字线WL7执行1级编程操作。在针对第七字线WL7的1级编程操作完成之后,非易失性存储装置100可以在第三步骤对第八字线WL8执行2级编程操作。
在针对第八字线WL8的2级编程操作完成之后,非易失性存储装置100可以在第六字线WL6处接收要存储的数据,并且可以在第四步骤基于接收到的数据对第六字线WL6执行1级编程操作。在针对第六字线WL6的1级编程操作完成之后,非易失性存储装置100可以在第五步骤对第七字线WL7执行2级编程操作。其余步骤,即第六步骤至第十六步骤与上述描述类似,因此,将省略额外描述以避免冗余。
在执行了针对第八字线WL8的1级编程操作和针对第八字线WL8的2级编程操作之后,针对第八字线WL8的编程操作完成。例如,针对第八字线WL8的编程操作可以在执行了所有第一步骤至第三步骤之后完成。因此,在第七字线WL7的数据输入被延迟的情况下,针对第八字线WL8的2级编程操作也可能被延迟。
在1级编程操作完成之后2级编程操作被延迟的情况下,可能会发生初始验证偏移(initial verify shift,IVS)。因此,在2级编程操作完成之后,存储单元的阈值电压的分布可能会被无意地改变。例如,阈值电压分布可能在阈值电压增加的方向上偏移。随着从1级编程操作完成的时间点到2级编程操作开始的时间点的时间增加,阈值电压分布被偏移的程度可能会增加。随着从针对第k字线的1级编程操作完成的时间点到针对第(k-1)字线的2级编程操作开始的时间点的时间增加,阈值电压分布被偏移的程度可能增加。
图6是根据示例实施例的用于描述图1的非易失性存储装置的编程操作的图。将参考图6描述延迟时间DT和编程时间表152。为了便于描述,将基于图2的存储块BLKa描述根据本公开的编程操作。假设以字线为单位管理编程时间表152。编程时间表152可以包括与字线相对应的1级编程时间1-SPT。
参考图1、图2、图5和图6,非易失性存储装置100可以基于参考图5描述的序列执行编程操作。例如,非易失性存储装置100可以对第八字线WL8执行1级编程操作。例如,非易失性存储装置100可以接收第一命令、第一地址、第一数据和第二命令。第一地址可以表示第一数据的物理地址(即,第八字线WL8)。第一命令和第二命令可以是用于重编程操作的命令集。在实施例中,第一命令和第二命令可以包括表示是执行1级编程操作还是执行2级编程操作的信息。在第一命令、第一地址、第一数据和第二命令被接收之后,在编程时间(tPROG)(参考图31A)期间,非易失性存储装置100可以对第八字线WL8执行1级编程操作。
之后,非易失性存储装置100可以接收第一命令、第二地址、第二数据和第二命令。第二地址可以表示第二数据的物理地址(即,第七字线WL7)。非易失性存储装置100可以响应于接收到的信号,在编程时间(tPROG)期间对第七字线WL7执行1级编程操作。
之后,非易失性存储装置100可以接收第一命令、第一地址、第一数据和第二命令。非易失性存储装置100可以响应于接收到的信号在编程时间期间对第八字线WL8执行2级编程操作。之后,非易失性存储装置100可以接收第一命令、第三地址、第三数据和第二命令。第三地址可以表示第三数据的物理地址(即,第六字线WL6)。非易失性存储装置100可以响应于接收到的信号,在编程时间期间对第六字线WL6执行1级编程操作。之后,非易失性存储装置100可以接收第一命令、第二地址、第二数据和第二命令。非易失性存储装置100可以响应于接收到的信号,在编程时间期间对第七字线WL7执行2级编程操作。
在完成了针对第七字线WL7的2级编程操作并且经过了第三时间段T3之后,非易失性存储装置100可以对第五字线WL5执行1级编程操作。例如,非易失性存储装置100可以接收第一命令、第四地址、第四数据和第二命令。第四地址可以表示第四数据的物理地址(即,第五字线WL5)。非易失性存储装置100可以响应于接收到的信号,在编程时间期间对第五字线WL5执行1级编程操作。之后,非易失性存储装置100可以接收第一命令、第三地址、第三数据和第二命令。非易失性存储装置100可以响应于接收到的信号,在编程时间期间对第六字线WL6执行2级编程操作。之后,非易失性存储装置100可以接收第一命令、第五地址、第五数据和第二命令。第五地址可以表示第五数据的物理地址(即,第四字线WL4)。非易失性存储装置100可以响应于接收到的信号,在编程时间期间对第四字线WL4执行1级编程操作。
第一时间段T1可以从针对第七字线WL7的1级编程操作完成的时间点到针对第六字线WL6的1级编程操作完成的时间点,或者从针对第七字线WL7的1级编程操作完成的时间点到针对第七字线WL7的2级编程操作开始的时间点。例如,第七字线WL7的延迟时间DT可以是第一时间段T1。因为第一时间段T1小于第一阈值TH1,所以非易失性存储装置100可以不调整针对第七字线WL7的2级验证电压。非易失性存储装置100可以通过使用默认的2级验证电压来执行针对第七字线WL7的2级验证步骤。
相反,由于在第五字线WL5处的要存储的数据的输入延迟了第三时间段T3,所以第二时间段T2可以从针对第六字线WL6的1级编程操作完成的时间点到针对第五字线WL5的1级编程操作完成的时间点,或者从针对第六字线WL6的1级编程操作完成的时间点到针对第六字线WL6的2级编程操作开始的时间点。例如,第六字线WL6的延迟时间DT可以是第二时间段T2。因为第二时间段T2大于第一阈值TH1,所以非易失性存储装置100可以调整第六字线WL6的2级验证电压。非易失性存储装置100可以通过使用调整后的2级验证电压来执行针对第六字线WL6的2级编程操作。
针对第八字线WL8的1级编程操作可以在第一时间点t1完成。针对第七字线WL7的1级编程操作可以在第二时间点t2完成。针对第六字线WL6的1级编程操作可以在第三时间点t3完成。针对第五字线WL5的1级编程操作可以在第四时间点t4完成。
时间管理单元151可以通过使用编程时间表152来管理第五字线WL5至第八字线WL8的1级编程时间1-SPT。假设1级编程时间1-SPT表示1级编程操作完成的时间点。然而,本公开不限于此。例如,1级编程时间1-SPT可以表示各种时间点,例如1级编程操作的开始时间点和1级编程操作的完成时间点。
例如,第八字线WL8的1级编程时间1-SPT可以是包括第一时间点t1的当前时间的第一时间戳TS1;第七字线WL7的1级编程时间1-SPT可以是包括第二时间点t2的当前时间的第二时间戳TS2;第六字线WL6的1级编程时间1-SPT可以是包括第三时间点t3的当前时间的第三时间戳TS3;第五字线WL5的1级编程时间1-SPT可以是包括第四时间点t4的当前时间的第四时间戳TS4。
例如,时间管理单元151可以生成第一时间戳TS1,并且可以将第一时间戳TS1与第八字线WL8相关联地存储在编程时间表152中。时间管理单元151可以生成第二时间戳TS2,并且可以将第二时间戳TS2与第七字线WL7相关联地存储在编程时间表152中。时间管理单元151可以生成第三时间戳TS3,并且可以将第三时间戳TS3与第六字线WL6相关联地存储在编程时间表152中。时间管理单元151可以生成第四时间戳TS4,并且可以将第四时间戳TS4与第五字线WL5相关联地存储在编程时间表152中。
图7是示出根据示例实施例的图1的VVL LUT的示例的图。参考图1和图7,非易失性存储装置100可以包括VVL LUT 153。VVL LUT 153可以包括关于根据延迟时间DT的2级验证电压电平差的映射信息。
例如,VVL LUT 153是用于调整与三阶单元(triple level cell,TLC)的页面相关联的验证电压的表。然而,本公开不限于此。例如,包括在VVL LUT 153中的信息可以依据能够存储在非易失性存储装置100的页面上的位的个数而变化。VVL LUT 153可以包括多个表153_1至153_4。多个表153_1至153_4中的每个表存储多个2级验证电压VFY21至VFY27和多个验证电压电平差的映射信息。多个2级验证电压VFY21至VFY27可以是当延迟时间DT小于第一阈值TH1时施加的默认2级验证电压。
在延迟时间DT在第一范围R1内(例如,延迟时间DT大于或等于第一参考时间RT1且小于第二参考时间RT2)的情况下,第一VVL LUT 153_1可以包括多个2级验证电压VFY21至VFY27和多个验证电压电平差△VFY1_1至△VFY7_1的映射信息。例如,在第一范围R1中,多个2级验证电压VFY21至VFY27中的每个2级验证电压可以减少多个验证电压电平差△VFY1_1至△VFY7_1中的相应验证电压电平差。具体地,2级验证电压VFY21至VFY27中的至少一个2级验证电压可以改变与多个2级验证电压电平差△VFY1_1至△VFY7_1中的相应2级验证电压电平差的值一样多的值。
在延迟时间DT在第二范围R2内(例如,延迟时间DT大于或等于第二参考时间RT2且小于第三参考时间RT3)的情况下,第二VVL LUT 153_2可以包括多个2级验证电压VFY21至VFY27和多个验证电压电平差△VFY1_2至△VFY_2的映射信息。例如,在第二范围R2中,多个2级验证电压VFY21到VFY27中的每个2级验证电压可以减少多个验证电压电平差△VFY1_2至△VFY7_2中的相应验证电压电平差。具体地,2级验证电压VFY21至VFY27中的至少一个2级验证电压可以改变与多个2级验证电压电平差△VFY1_2至△VFY7_2中的相应2级验证电压电平差的值一样多的值。
在延迟时间DT在第三范围R3内(例如,延迟时间DT大于或等于第三参考时间RT3且小于第四参考时间RT4)的情况下,第三VVL LUT 153_3可以包括多个2级验证电压VFY21至VFY27和多个验证电压电平差△VFY1_3至△VFY7_3的映射信息。例如,在第三范围R3中,多个2级验证电压VFY21至VFY27中的每个2级验证电压可以减少多个验证电压电平差△VFY1_3至△VFY7_3中的相应验证电压电平差。具体地,2级验证电压VFY21到VFY27中的至少一个2级验证电压可以改变与多个2级验证电压电平差△VFY1_3至△VFY7_3中的相应2级验证电压电平差的值一样多的值。
在延迟时间DT在第四范围R4内(例如,延迟时间DT大于或等于第四参考时间RT4且小于第五参考时间RT5)的情况下,第四VVL LUT 153_4可以包括多个2级验证电压VFY21至VFY27和多个验证电压电平差△VFY1_4至△VFY7_4的映射信息。例如,在第四范围R4中,多个2级验证电压VFY21至VFY27中的每个2级验证电压可以减少多个验证电压电平差△VFY1_4至△VFY7_4中的相应验证电压电平差。具体地,2级验证电压VFY21至VFY27中的至少一个2级验证电压可以改变与多个2级验证电压电平差△VFY1_4至△VFY7_4中的相应2级验证电压电平差的值一样多的值。
图8A是示出根据本公开的实施例的2级验证电压的示例的图。在图8A中,横轴表示时间“T”,纵轴表示电压“V”。参考图6到图8A,假设第七字线WL7的延迟时间DT(例如,第一时间段T1)小于第一阈值TH1,并且第六字线WL6的延迟时间DT(例如,第二时间段T2)大于第一阈值TH1。此外,假设第二时间段T2大于或等于第一参考时间RT1并且小于第二参考时间RT2。
例如,多个验证电压电平差△VFY1_1至△VFY7_1中的每个验证电压电平差可以具有负值。验证电压电平差△VFY1_1的绝对值可以等于验证电压电平差△VFY2_1的绝对值;验证电压电平差△VFY3_1的绝对值可以大于验证电压电平差△VFY2_1的绝对值;验证电压电平差△VFY4_1的绝对值可以等于验证电压电平差△VFY3_1的绝对值;验证电压电平差△VFY5_1的绝对值可以等于验证电压电平差△VFY4_1的绝对值;验证电压电平差△VFY6_1的绝对值可以大于验证电压电平差△VFY5_1的绝对值;验证电压电平差△VFY7_1的绝对值可以等于验证电压电平差△VFY6_1的绝对值(即,|△VFY1_1|=|△VFY2_1|<|△VFY3_1|=|△VFY4_1|=|△VFY5_1|<|△VFY6_1|=|△VFY7_1|)。然而,本公开不限于此。例如,多个验证电压电平差△VFY1_1至△VFY7_1中的每个验证电压电平差可以依赖于分布是如何偏移的(即,分布偏移趋势)而变化。
因为第七字线WL7的延迟时间DT(例如,第一时间段T1)小于第一阈值TH1,所以VVL选择单元154可以输出默认的2级验证电压VFY21至VFY27。相反,因为第六字线WL6的延迟时间DT(例如,第二时间段T2)大于第一阈值TH1,所以VVL选择单元154可以输出电压电平被调整的新的2级验证电压VFY21’至VFY27’。
例如,因为第二时间段T2属于第一范围R1,所以VVL选择单元154可以参考第一VVLLUT 153_1。VVL选择单元154可以输出新的验证电压VFY21’(=VFY21+△VFY1_1),其通过将第一验证电压电平差△VFY1_1加到第一验证电压VFY21而获得。由此输出的新的验证电压VFY21’可以用作存储在存储单元阵列110的存储单元中的数据的2级验证电压。剩余的新的验证电压VFY22’至VFY27’与上述描述类似,因此将省略额外描述以避免冗余。
如图8A所示,当验证电压的电平变大时,验证电压电平差的绝对值可以变大或保持不变(例如,|△VFY1_1|=|△VFY2_1|<|△VFY3_1|=|△VFY4_1|=|△VFY5_1|<|△VFY6_1|=|△VFY7_1|)。这只是本公开的一个实施例。依赖于验证电压的电平,验证电压电平差可以被确定为彼此相等,或所有验证电压电平差可以被确定为彼此不同。
图8B示出了根据示例实施例的用于描述图1的非易失性存储装置的编程操作的分布图。在图8B的分布图中,横轴表示存储单元的阈值电压Vth,纵轴表示存储单元的数目。假设第七字线WL7的延迟时间DT小于第一阈值TH1,并且第五字线WL5和第六字线WL6的延迟时间DT大于第一阈值TH1。
在图8B中,虚线表示2级编程操作之前的状态,实线表示2级编程操作之后的状态。第一分布D1表示在2级编程操作之前第七字线WL7的存储单元的分布;第二分布D2表示在2级编程操作之后第七字线WL7的存储单元的分布;第三分布D3表示在2级编程操作之前第五字线WL5的存储单元的分布;第四分布D4表示在2级编程操作之后第五字线WL5的存储单元的分布;第五分布D5表示在2级编程操作之前第六字线WL6的存储单元的分布;第六分布D6表示在2级编程操作之后第六字线WL6的存储单元的分布。
非易失性存储装置100可以在1级编程操作中将1级验证电压VFY11至VFY17施加到第五字线WL5至第七字线WL7。为了便于描述,假设非易失性存储装置100将电压电平被调整了的新的2级验证电压VFY21’至VFY27’施加到第六字线WL6,并将默认的2级验证电压VFY21至VFY27施加到第五字线WL5和第七字线WL7。
在实施例中,新的2级验证电压VFY21’的电平可以小于与之相对应的默认的2级验证电压VFY21的电平,剩余的新的2级验证电压VFY22’至VFY27’的电平可以小于与之相对应的默认的2级验证电压VFY22至VFY27的电平。新的2级验证电压VFY21’的电平可以大于与之相对应的1级验证电压VFY11的电平,剩余的新的2级验证电压VFY22’至VFY27’的电平可以大于与之相对应的1级验证电压VFY12至VFY17的电平。
因为第五字线WL5的延迟时间DT大于第一阈值TH1,所以非易失性存储装置100必须调整第五字线WL5的2级验证电压。为了描述当延迟时间DT大于第一阈值TH1而验证电压电平未被调整时的分布,在图8B中,假设将默认的2级验证电压施加到第五字线WL5。
因为第七字线WL7的延迟时间DT小于第一阈值TH1,所以非易失性存储装置100可以将默认的2级验证电压VFY21至VFY27施加到第七字线WL7。可以按预期形成第二分布D2。
因为第五字线WL5的延迟时间DT大于第一阈值TH1,与第一分布D1相比,第三分布D3可以在阈值电压降低的方向上偏移。在该状态下,当施加了默认的2级验证电压VFY21至VFY27时,与第二分布D2相比,第四分布D4可以在阈值电压升高的方向上偏移。
因为第六字线WL6的延迟时间DT大于第一阈值TH1,与第三分布D3一样,与第一分布D1相比,第五分布D5可以在阈值电压降低的方向上偏移。非易失性存储装置100可以向第六字线WL6施加电压电平被调整了的新的2级验证电压VFY21’至VFY27’。因此,与第二分布D2一样,第六分布D6可以按预期形成。换言之,第六字线WL6的延迟时间DT可以像第五字线WL5一样大于第一阈值TH1,但与第四分布D4不同,第六分布D6可以按预期形成。
如上所述,即使在1级编程操作和2级编程操作之间发生延迟时间,非易失性存储装置100可以调整2级验证电压的电平,以便按照预期形成存储单元的最终分布。
图9是示出根据示例实施例的图1的非易失性存储装置的编程方法的示例的流程图。参考图1和图9,在操作S110中,非易失性存储装置100可以对第k字线WLk执行1级编程操作。例如,在操作S111中,非易失性存储装置100可以对第k字线WLk执行1级编程步骤。在操作S112中,非易失性存储装置100可以对第k字线WLk执行1级验证步骤。
在操作S120中,非易失性存储装置100可以生成并存储第k字线WLk的1级编程时间1-SPT作为第一时间戳TS1。例如,时间管理单元151可以检查与当针对第k字线WLk的1级编程操作完成时的时间点相对应的时间。或者,在针对第k字线WLk的1级编程操作完成之后,时间管理单元151可以生成包括当前时间的时间戳。例如,时间管理单元151可以生成与当针对第k字线WLk的1级编程操作完成时的时间点相对应的第一时间戳TS1。时间管理单元151可以将第一时间戳TS1与第k字线WLk相关联地存储在编程时间表152中。
在操作S130中,非易失性存储装置100可以对与第k字线WLk相邻的至少一条字线WLi(例如,第(k-1)字线WLk-1)执行1级编程操作。例如,在操作S131中,非易失性存储装置100可以对字线WLi执行1级编程步骤。在操作S132中,非易失性存储装置100可以对字线WLi执行1级验证步骤。
在操作S140中,非易失性存储装置100可以生成并存储字线WLi的1级编程时间1-SPT作为第二时间戳TS2。例如,时间管理单元151可以检查与当针对字线WLi的1级编程操作完成时的时间点相对应的时间。或者,在针对字线WLi的1级编程操作完成之后,时间管理单元151可以生成包括当前时间的时间戳。例如,时间管理单元151可以生成与当针对字线WLi的1级编程操作完成时的时间点相对应的第二时间戳TS2。时间管理单元151可以将第二时间戳TS2与字线WLi相关联地存储在编程时间表152中。
在操作S150中,非易失性存储装置100可以基于第一时间戳TS1和第二时间戳TS2计算延迟时间DT。例如,时间管理单元151可以参考编程时间表152加载作为第k字线WLk的1级编程时间1-SPT的第一时间戳TS1和作为字线WLi的1级编程时间1-SPT的第二时间戳TS2。时间管理单元151可以计算第一时间戳TS1与第二时间戳TS2之间的差作为延迟时间DT。
在操作S160中,非易失性存储装置100可以将延迟时间DT与第一阈值TH1进行比较。例如,时间管理单元151可以确定延迟时间DT是否大于或等于第一阈值TH1。当确定延迟时间DT大于或等于第一阈值TH1时,非易失性存储装置100执行操作S170;当确定延迟时间DT小于第一阈值TH1时,非易失性存储装置100执行操作S180。
在操作S170中,非易失性存储装置100可以基于延迟时间DT调整2级验证电压电平。例如,VVL选择单元154可以从时间管理单元151接收延迟时间DT。VVL选择单元154可以基于延迟时间DT参考VVL LUT153的验证电压电平差信息。VVL选择单元154可以基于验证电压电平差信息来调整2级验证电压电平。
在操作S180中,非易失性存储装置100可以对第k字线WLk执行2级编程操作。在操作S181中,非易失性存储装置100可以对第k字线WLk执行2级编程步骤。在操作S182中,非易失性存储装置100可以对第k字线WLk执行2级验证步骤。
例如,当延迟时间DT小于第一阈值TH1时,VVL选择单元154可以输出默认的2级验证电压。因此,非易失性存储装置100可以基于默认的2级验证电压执行2级验证步骤。当延迟时间DT大于或等于第一阈值TH1时,VVL选择单元154可以输出电压电平被调整了的新的2级验证电压。因此,非易失性存储装置100可以基于电压电平被调整了的新的2级验证电压来执行2级验证步骤。
如上所述,非易失性存储装置100可以基于延迟时间DT来调整2级验证电压电平。因此,提供了具有提高的可靠性的非易失性存储装置。
图10是示出根据示例实施例的图1的非易失性存储装置的编程方法的示例的流程图。图11是示出根据示例实施例的图1的非易失性存储装置的浅擦除步骤的示例的时序图。参考图1、图3和图10,在操作S210中,非易失性存储装置100可以对第k字线WLk执行1级编程操作。例如,在操作S211中,非易失性存储装置100可以对第k字线WLk执行1级编程步骤。在操作S212中,非易失性存储装置100可以对第k字线WLk执行1级验证步骤。在操作S213中,非易失性存储装置100可以对第k字线WLk执行1级浅擦除步骤。
例如,浅擦除步骤可以不同于擦除操作,在该擦除操作中,存储单元MC被擦除以具有低于擦除验证电压VFYE的阈值电压。浅擦除步骤可以表示为解决初始验证偏移(IVS)现象而对浅陷阱能级(shallow trap level)的电荷进行放电的操作。或者,浅擦除步骤可以表示如图11所示施加电压的操作。
参考图11,非易失性存储装置100可以对选定字线SelWL(例如,第k字线WLk)执行浅擦除步骤。例如,在第一时间点t1,非易失性存储装置100可以开始通过位线BL和公共源极线CSL施加浅擦除电压sVERS。浅擦除电压sVERS可以小于在正常擦除操作中使用的擦除电压VERS。浅擦除电压sVERS可以为大约6V到7V。位线BL和公共源极线CSL的电压可以从第一时间点t1到第二时间点t2增加到浅擦除电压sVERS。
非易失性存储装置100可以在第一时间点t1使串选择线SSL浮置。当串选择线SSL被浮置时,在第一时间点t1,串选择线SSL的电压可以增加到第一电压V1。例如,第一电压V1可以对应于浅擦除电压sVER。
非易失性存储装置100可以向选定字线SelWL(例如,第k字线WLk)施加字线擦除电压VERS_WL。例如,字线擦除电压VERS_WL可以为大约0到2V。非易失性存储装置100可以在第一时间点t1使未选字线UnseWLs浮置。当未选字线UnseWLs被浮置时,在第一时间点t1,未选字线UnseWLs的电压可以增加到第一电压V1。
非易失性存储装置100可以在第一时间点t1使接地选择线GSL浮置。当接地选择线GSL被浮置时,在第一时间点t1,接地选择线GSL的电压可以增加到第一电压V1。
如上所述,浅擦除步骤可以以字线为单位执行。浅擦除步骤可以在执行了1级编程步骤和1级验证步骤之后执行。在实施例中,浅擦除步骤可以仅在1级编程操作中执行,并且可以不在2级编程操作中执行。
在操作S220中,非易失性存储装置100可以生成并存储第k字线WLk的1级编程时间1-SPT作为第一时间戳TS1。操作S220类似于图9的操作S120,因此,将省略额外描述以避免冗余。
在操作S230中,非易失性存储装置100可以对与第k字线WLk相邻的至少一条字线WLi(例如,第(k-1)字线WLk-1)执行1级编程操作。例如,在操作S231中,非易失性存储装置100可以对字线WLi执行1级编程步骤。在操作S232中,非易失性存储装置100可以对字线WLi执行1级验证步骤。在操作S233中,非易失性存储装置100可以对字线WLi执行1级浅擦除步骤。
之后,可以执行操作S240至操作S270。操作S240至操作S270类似于图9的操作S140至操作S170,因此,将省略额外描述以避免冗余。
在操作S280中,非易失性存储装置100可以对第k字线WLk执行2级编程操作。在操作S281中,非易失性存储装置100可以对第k字线WLk执行2级编程步骤。在操作S282中,非易失性存储装置100可以对第k字线WLk执行2级验证步骤。与1级编程操作不同,2级编程操作可以不包括浅擦除步骤。
图12示出了根据本公开的实施例的非易失性存储装置。参考图12,非易失性存储装置200可以包括存储单元阵列210、地址译码器220、页面缓冲电路230、输入/输出(I/O)电路240、控制逻辑和电压生成电路(以下称为“控制逻辑电路”)250和单元计数器260。
例如,存储单元阵列210可以是非易失性存储装置200的核心,地址译码器220、页面缓冲电路230、输入/输出电路240、控制逻辑电路250和单元计数器260可以是非易失性存储装置200的外围电路。外围电路可以被配置为访问核心。图12中所示的非易失性存储装置200可以与图1中的非易失性存储装置100相似或相同。为了便于描述,将省略与上述组件相关联的额外描述以避免冗余。
在实施例中,单元计数器260可以执行单元计数操作。具体地,单元计数器260可以对各自在特定时间点响应于读取电压(或验证电压)在沟道处形成电流路径的存储单元(即,导通单元(on-cell))进行计数。单元计数器260可以对各自在特定时间点响应于读取电压在沟道处阻断(或不形成)电流路径的存储单元(即,关断单元(off-cell))进行计数。例如,在多个读取操作中的一个读取操作期间,单元计数器260可以对各自响应于读取电压在沟道处形成电流路径的存储单元或各自响应于读取电压在沟道处阻断电流路径的存储单元进行计数。单元计数器260向控制逻辑电路250提供单元计数nC。
例如,对各自响应于非易失性存储装置200的读取电压在沟道处形成电流路径的存储单元进行计数的结果表示导通单元计数,或者对各自响应于读取电压在沟道处阻断电流路径的存储单元进行计数的结果表示关断单元计数。
控制逻辑电路250可以包括单元计数比较电路251、单元计数表252、VVL LUT 253和VVL选择单元254。在实施例中,控制逻辑电路250可以管理单元计数表252。例如,控制逻辑电路250可以通过使用单元计数表252来管理单元计数。单元计数表252可以包括多条字线中的每条字线的单元计数。
在1级编程操作完成之后,单元计数比较电路251可以从单元计数器260接收单元计数nC。单元计数比较电路251以字线为单位管理单元计数,但本公开不限于此。例如,单元计数比较电路251可以管理针对每个页面、每条字线、每个子块、每个存储块或每个平面的单元计数。
在实施例中,控制逻辑电路250可以执行单元计数比较操作。单元计数比较操作可以表示将两个特定时间点的单元计数进行比较的操作。例如,单元计数比较操作可以表示将第一单元计数CC1与第二单元计数CC2进行比较。第一单元计数CC1可以表示第k字线的、基于第k字线的1级编程操作之后的与最高状态相对应的电压的关断单元计数。第二单元计数CC2可以表示第k字线的、基于第k字线的1级编程操作之后的与最高状态相对应的电压的关断单元计数。或者,第二单元计数CC2可以表示第k字线的、基于当第k字线的2级编程操作开始时与最高状态相对应的电压的关断单元计数。
单元计数比较电路251可以参考单元计数表252。例如,单元计数比较电路251可以将存储在单元计数表252中的第一单元计数CC1与从单元计数器260接收到的第二单元计数CC2进行比较。单元计数比较电路251可以向VVL选择单元254提供比较结果(例如,第一单元计数CC1和第二单元计数CC2之间的差CCD(以下称为“单元计数差”))。
VVL LUT 253可以包括关于根据单元计数差CCD的2级验证电压电平差的映射信息。例如,可以以存储块为单位管理VVL LUT 253。VVL LUT 253可以依据存储块的编程循环/擦除循环的数目和存储块的特性被预先确定或被更新。例如,可以以字线为单位管理VVL LUT 253。VVL LUT 253可以依据字线的位置被预先确定或被更新。或者,可以以多个验证电压为单位管理VVL LUT 253。VVL LUT 253可以相对于多个验证电压中的每个验证电压被预先确定或被更新。可以基于上述实施例的组合来管理VVL LUT 253。VVL LUT 253可以基于上述实施例的组合被预先确定或被更新。将参考图14详细描述VVL LUT 253。
例如,VVL选择单元254可以通过比较结果(即,单元计数差CCD)选择验证电压电平。为了选择验证电压电平,VVL选择单元254可以参考VVL LUT 253的验证电压电平差信息。VVL选择单元254可以调整2级验证电压的电平。VVL选择单元254可以输出电压电平被调整了的新的验证电压。单元计数比较电路251和VVL选择单元254可以以硬件的形式实现。
如上所述,非易失性存储装置100可以基于单元计数差CCD而不是延迟时间DT来调整2级验证电压电平。
图13示出了用于描述图12的非易失性存储装置的单元计数比较操作的分布图。在图13的分布图中,横轴表示存储单元的阈值电压Vth,纵轴表示存储单元的数目。在实施例中,在图13中示出了当在每个存储单元中写入三个位时阈值电压的变化。
参考图6、图12和图13,第一图形G1示出了在第三时间点t3第六字线WL6的存储单元的分布图,第二图形G2示出了在第四时间点t4第六字线WL6的存储单元的分布图。随着延迟时间DT的增加,第三时间点t3的分布图可能会像第四时间点t4的分布图一样发生变化。也就是说,因为俘获的电荷随时间而放电,所以存储单元的阈值电压可能会改变。因此,即使通过使用相同的电压执行单元计数操作,单元计数也可能不同。
非易失性存储装置200可以在第三时间点t3执行单元计数操作。例如,单元计数器260可以通过使用第七读取电压RD7来执行关断单元计数操作。通过在第三时间点t3使用第七读取电压RD7获得的第六字线WL6的关断单元计数(即,第一单元计数CC1)可以是第一值VAL1。单元计数器260可以向单元计数比较电路251提供具有第一值VAL1的第一单元计数CC1。单元计数比较电路251可以将第一单元计数CC1与第六字线WL6相关联地存储在单元计数表252中。
单元计数器260可以在第四时间点t4执行单元计数操作。单元计数器260可以通过使用第七读取电压RD7来执行关断单元计数操作。通过在第四时间点t4使用第七读取电压RD7获得的第六字线WL6的关断单元计数(即,第二单元计数CC2)可以是第二值VAL2。第二值VAL2可以小于第一值VAL1。单元计数器260可以向单元计数比较电路251提供具有第二值VAL2的第二单元计数CC2。
单元计数比较电路251可以执行单元计数比较操作。单元计数比较电路251可以从单元计数表252加载与第六字线WL6相关联的第一单元计数CC1。单元计数比较电路251可以计算第一单元计数CC1与第二单元计数CC2之间的差,并且可以将比较结果输出到VVL选择单元254。即,单元计数比较电路251可以计算第一单元计数CC1与第二单元计数CC2之间的单元计数差CCD(例如,第三值VAL3(=VAL1-VAL2)),以便将该单元计数差CCD提供给VVL选择单元254。
图14是示出了根据示例实施例的图12的VVL LUT的示例的图。参考图12和图14,非易失性存储装置200可以包括VVL LUT 253。VVL LUT 253可以包括关于根据单元计数差CCD的2级验证电压电平差的映射信息。
例如,VVL LUT 253是用于调整与三阶单元(TLC)的页面相关联的验证电压的表。然而,本公开不限于此。例如,包括在VVL LUT 253中的信息可以依据能够存储在非易失性存储装置200的页面上的位的个数而变化。VVL LUT 253可以包括多个表253_1至253_4。多个表253_1至253_4中的每个表存储多个2级验证电压VFY21至VFY27和多个验证电压电平差的映射信息。多个2级验证电压VFY21至VFY27可以是当单元计数差CCD小于第二阈值TH2时施加的默认2级验证电压。
在单元计数差CCD在第一范围R1内(例如,单元计数差CCD大于或等于第一参考计数RC1且小于第二参考计数RC2)的情况下,第一VVL LUT 253_1可以包括多个2级验证电压VFY21至VFY27和多个验证电压电平差△VFY1_5至△VFY7_5的映射信息。例如,在第一范围R1中,多个2级验证电压VFY21到VFY27中的每个2级验证电压可以减少多个验证电压电平差△VFY1_5至△VFY7_5中的相应验证电压电平差。
在单元计数差CCD在第二范围R2内(例如,单元计数差CCD大于或等于第二参考计数RC2且小于第三参考计数RC3)的情况下,第二VVL LUT 253_2可以包括多个2级验证电压VFY21至VFY27和多个验证电压电平差△VFY1_6至△VFY7_6的映射信息。例如,在第二范围R2中,多个2级验证电压VFY21到VFY27中的每个2级验证电压可以减少多个验证电压电平差△VFY1_6至△VFY7_6中的相应验证电压电平差。
在单元计数差CCD在第三范围R3内(例如,单元计数差CCD大于或等于第三参考计数RC3且小于第四参考计数RC4)的情况下,第三VVL LUT 253_3可以包括多个2级验证电压VFY21至VFY27和多个验证电压电平差△VFY1_7至△VFY7_7的映射信息。例如,在第三范围R3中,多个2级验证电压VFY21到VFY27中的每个2级验证电压可以减少多个验证电压电平差△VFY1_7至△VFY7_7中的相应验证电压电平差。
在单元计数差CCD在第四范围R4内(例如,单元计数差CCD大于或等于第四参考计数RC4且小于第五参考计数RC5)的情况下,第四VVL LUT 253_4可以包括多个2级验证电压VFY21至VFY27和多个验证电压电平差△VFY1_8至△VFY7_8的映射信息。例如,在第四范围R4中,多个2级验证电压VFY21到VFY27中的每个2级验证电压可以减少多个验证电压电平差△VFY1_8至△VFY7_8中的相应验证电压电平差。
假设第七字线WL7的单元计数差CCD小于第二阈值TH2,第六字线WL6的单元计数差CCD(例如,第三值VAL3)大于第二阈值TH2。此外,假设第六字线WL6的单元计数差CCD大于或等于第一参考计数RC1并且小于第二参考计数RC2。
因为第七字线WL7的单元计数差CCD小于第二阈值TH2,所以VVL选择单元254可以不调整2级验证电压。VVL选择单元254可以基于默认的2级验证电压执行2级验证步骤。
相反,因为第六字线WL6的单元计数差CCD大于第二阈值TH2,所以VVL选择单元254可以调整2级验证电压。VVL选择单元254可以输出电压电平被调整了的新的2级验证电压。例如,因为第六字线WL6的单元计数差CCD属于第一范围R1,所以VVL选择单元254可以参考第一VVL LUT 253_1。VVL选择单元254可以输出新的验证电压VFY21’(=VFY21+△VFY1_5),其通过将第一验证电压电平差△VFY1_5加到第一验证电压VFY21而获得。由此输出的新的第一验证电压VFY21’可以用作存储在存储单元阵列210的存储单元中的数据的验证电压。剩余的新的验证电压VFY22’至VFY27’与上述描述类似,因此,将省略额外描述以避免冗余。
图15是示出了根据示例实施例的图12的非易失性存储装置的编程方法的示例的流程图。参考图12和图15,在操作S310中,非易失性存储装置200可以对第k字线WLk执行1级编程操作。例如,在操作S311中,非易失性存储装置200可以对第k字线WLk执行1级编程步骤。在操作S312中,非易失性存储装置200可以对第k字线WLk执行1级验证步骤。
在操作S320中,非易失性存储装置200可以对第k字线WLk执行单元计数操作,以生成第一单元计数CC1。例如,在针对第k字线WLk的1级编程操作完成之后,单元计数器260可以基于最高读取电压(即,第七读取电压RD7)或与最高编程状态(例如,第七编程状态P17)相对应的读取电压,对第k字线WLk执行关断单元计数操作。单元计数器260可以将第一单元计数CC1输出到单元计数比较电路251,第一单元计数CC1是基于最高读取电压获得的第k字线WLk的关断单元计数。单元计数比较电路251可以接收第一单元计数CC1。单元计数比较电路251可以将第一单元计数CC1与第k字线WLk相关联地存储在单元计数表252中。
在操作S330中,非易失性存储装置200可以对与第k字线WLk相邻的至少一条字线WLi(例如,第(k-1)字线WLk-1)执行1级编程操作。例如,在操作S331中,非易失性存储装置200可以对字线WLi执行1级编程步骤。在操作S332中,非易失性存储装置200可以对字线WLi执行1级验证步骤。
在操作S340中,非易失性存储装置200可以对相邻字线WLi执行单元计数操作,以生成第三单元计数CC3。例如,在针对相邻字线WLi的1级编程操作完成之后,单元计数器260可以基于最高读取电压(即,第七读取电压RD7)或与最高编程状态(例如,第七编程状态P17)相对应的读取电压对相邻字线WLi执行关断单元计数操作。单元计数器260可以将第三单元计数CC3输出到单元计数比较电路251,第三单元计数CC3是基于最高读取电压获得的相邻字线WLi的关断单元计数。单元计数比较电路251可以接收第三单元计数CC3。单元计数比较电路251可以将第三单元计数CC3与相邻字线WLi相关联地存储在单元计数表252中。
在操作S350中,非易失性存储装置200可以对第k字线WLk执行单元计数操作,以生成第二单元计数CC2。例如,在针对相邻字线WLi的1级编程操作完成之后,单元计数器260可以基于最高读取电压(即,第七读取电压RD7)或与最高编程状态(例如,第七编程状态P17)相对应的读取电压,对第k字线WLk执行关断单元计数操作。单元计数器260可以将第二单元计数CC2输出到单元计数比较电路251,第二单元计数CC2是基于最高读取电压获得的第k字线WLk的关断单元计数。单元计数比较电路251可以接收第二单元计数CC2。单元计数比较电路251可以将第二单元计数CC2与第k字线WLk相关联地存储在单元计数表252中。
在操作S360中,非易失性存储装置200可以基于第一单元计数CC1和第二单元计数CC2计算单元计数差CCD。单元计数比较电路251可以从单元计数表252加载与第k字线WLk相关联的第一单元计数CC1和第二单元计数CC2。单元计数比较电路251可以执行单元计数比较操作。单元计数比较电路251可以计算第一单元计数CC1和第二单元计数CC2之间的差,以生成单元计数差CCD。
在操作S370中,非易失性存储装置200可以将单元计数差CCD与第二阈值TH2进行比较。例如,单元计数比较电路251可以确定单元计数差CCD是否大于或等于第二阈值TH2。当确定单元计数差CCD大于或等于第二阈值TH2时,非易失性存储装置200执行操作S380;当确定单元计数差CCD小于第二阈值TH2时,非易失性存储装置200执行操作S390。
在操作S380中,非易失性存储装置200可以基于单元计数差CCD调整2级验证电压电平。例如,VVL选择单元254可以从单元计数比较电路251接收单元计数差CCD。VVL选择单元254可以参考基于单元计数差CCD的VVL LUT 253的验证电压电平差信息。VVL选择单元254可以基于验证电压电平差信息来调整2级验证电压电平。
在操作S390中,非易失性存储装置200可以对第k字线WLk执行2级编程操作。在操作S391中,非易失性存储装置200可以对第k字线WLk执行2级编程步骤。在操作S392中,非易失性存储装置200可以对第k字线WLk执行2级验证步骤。
例如,当单元计数差CCD小于第二阈值TH2时,VVL选择单元254可以输出默认的2级验证电压。因此,非易失性存储装置200可以基于默认的2级验证电压执行2级验证步骤。当单元计数差CCD大于或等于第二阈值TH2时,VVL选择单元254可以输出电压电平被调整了的新的2级验证电压。因此,非易失性存储装置200可以基于电压电平被调整了的新的2级验证电压来执行2级验证步骤。
如上所述,非易失性存储装置200可以基于单元计数差CCD调整2级验证电压电平。因此,提供了具有提高的可靠性的非易失性存储装置。
图16是示出了根据示例实施例的图12的非易失性存储装置的编程方法的示例的流程图。参考图12和图16,在操作S410中,非易失性存储装置200可以对第k字线WLk执行1级编程操作。例如,在操作S411中,非易失性存储装置200可以对第k字线WLk执行1级编程步骤。在操作S412中,非易失性存储装置200可以对第k字线WLk执行1级验证步骤。在操作S413中,非易失性存储装置200可以对第k字线WLk执行1级浅擦除步骤。操作S411至操作S413类似于图10的操作S211至操作S213,因此这里不再重复其详细描述。
在操作S420中,非易失性存储装置200可以对第k字线WLk执行单元计数操作,以生成第一单元计数CC1。操作S420类似于图15的操作S320,因此将省略额外描述以避免冗余。
在操作S430中,非易失性存储装置200可以对与第k字线WLk相邻的至少一条字线WLi(例如,第(k-1)字线WLk-1)执行1级编程操作。例如,在操作S431中,非易失性存储装置200可以对字线WLi执行1级编程步骤。在操作S432中,非易失性存储装置200可以对字线WLi执行1级验证步骤。在操作S433中,非易失性存储装置200可以对字线WLi执行1级浅擦除步骤。操作S431至操作S433类似于图10的操作S231至操作S233,因此,这里不再重复其详细描述。
之后,可以执行操作S440至操作S480。操作S440至操作S480类似于图15的操作S340至操作S380,因此将省略额外描述以避免冗余。
在操作S490中,非易失性存储装置200可以对第k字线WLk执行2级编程操作。在操作S491中,非易失性存储装置200可以对第k字线WLk执行2级编程步骤。在操作S492中,非易失性存储装置200可以对第k字线WLk执行2级验证步骤。与1级编程操作不同,2级编程操作可以不包括浅擦除步骤。
图17示出了根据示例实施例的用于描述图12的非易失性存储装置的单元计数比较操作的分布图。在图17的分布图中,横轴表示存储单元的阈值电压Vth,纵轴表示存储单元的数目。在实施例中,在图17中示出了当在每个存储单元中写入三个位时阈值电压的变化。
参考图6、图12和图17,第一图形G1示出了在第三时间点t3第六字线WL6的存储单元的分布图,第二图形G2示出了在第四时间点t4第六字线WL6的存储单元的分布图。
再次参考图13,非易失性存储装置200可以在第三时间点t3和第四时间点t4分别基于第七读取电压RD7执行关断单元计数操作,并且可以比较第一单元计数CC1和第二单元计数CC2。然而,本公开不限于此。非易失性存储装置200可以通过使用多个读取电压RD1至RD7来执行导通单元计数操作或关断单元计数操作。例如,非易失性存储装置200可以比较多个第一单元计数和多个第二单元计数。
参考图17,在第三时间点t3,单元计数器260可以通过基于第二读取电压RD2对第六字线WL6执行导通单元计数操作来生成第一单元计数CC1_1,并且可以通过基于第六读取电压RD6对第六字线WL6执行导通单元计数操作来生成第一单元计数CC1_2。单元计数器260可以向单元计数比较电路251提供第一单元计数CC1_1和CC1_2。单元计数比较电路251可以将第一单元计数CC1_1和CC1_2与第六字线WL6相关联地存储在单元计数表252中。
在第四时间点t4,单元计数器260可以通过基于第二读取电压RD2对第六字线WL6执行单元计数操作来生成第二单元计数CC2_1,并且可以通过基于第六读取电压RD6对第六字线WL6执行单元计数操作来生成第二单元计数CC2_2。单元计数器260可以向单元计数比较电路251提供第二单元计数CC2_1和CC2_2。单元计数比较电路251可以从单元计数表252加载第一单元计数CC1_1和CC1_2。单元计数比较电路251可以将第三时间点t3的第一单元计数CC1_1和CC1_2与第四时间点t4的第二单元计数CC2_1和CC2_2进行比较。
单元计数比较电路251可以比较多个单元计数之间的差异。具体地,单元计数比较电路251可以比较第一单元计数之间的差“CC1_2-CC1_1”和第二单元计数之间的差“CC2_2-CC2_1”。或者,单元计数比较电路251可以将多个第一单元计数与多个第二单元计数分别进行比较。具体地,单元计数比较电路251可以比较第一单元计数CC1_1和第二单元计数CC2_1,并且可以比较第一单元计数CC1_2和第二单元计数CC2_2。这只是本公开的一个实施例。用于比较的作为目标计数的数目可以增加或减少,并且单元计数比较电路251可以通过使用各种比较方法来执行单元计数比较操作。
如上所述,非易失性存储装置200可以基于多个第一单元计数和多个第二单元计数执行单元计数比较操作。非易失性存储装置200可以基于单元计数比较操作的比较结果来调整2级验证电压电平。
图18示出了根据本公开的实施例的在验证操作中施加到图2的存储块BLKa的电压的示例。参考图1、图2、图12和图18,可以选择第四字线WL4和第二串选择线SSL2。即,可以选择与第四字线WL4和第二串选择线SSL2共同对应的存储单元作为验证操作的目标。
地址译码器120或220可以将未选第一串选择线SSL1的电压保持为关断电压VOFF。关断电压VOFF可以使连接到第一串选择线SSL1的串选择晶体管SST关断。例如,施加到与位线BL2相邻的串选择晶体管SST的关断电压VOFF和施加到与第八存储单元MC8相邻的串选择晶体管SST的关断电压VOFF可以不同。
地址译码器120或220可以向选定第二串选择线SSL2施加导通电压VON。导通电压VON可以使连接到第二串选择线SSL2的串选择晶体管SST导通。例如,施加到与位线BL2相邻的串选择晶体管SST的导通电压VON和施加到与第八存储单元MC8相邻的串选择晶体管SST的导通电压VON可以不同。
如在第一串选择线SSL1中,地址译码器120或220可以将未选第三串选择线SSL3和未选第四串选择线SSL4的电压保持为关断电压VOFF。施加到未选第一串选择线SSL1、未选第三串选择线SSL3和未选第四串选择线SSL4的关断电压VOFF的电平可以彼此不同或相等。
地址译码器120或220可以向未选第一字线WL1至第三字线WL3以及未选第五字线WL5至第八字线WL8施加读取通过电压VREAD。读取通过电压VREAD可以是大于第一存储单元MC1至第三存储单元MC3和第五存储单元MC5至第八存储单元MC8的阈值电压的高电压。施加到未选第一字线WL1至第三字线WL3和未选第五字线WL5至第八字线WL8的读取通过电压VREAD的电平可以彼此不同或相等。
地址译码器120或220可以向选定第四字线WL4施加验证电压VFY。依据要读取的目标,验证电压VFY可以具有各种电平中的一个电平,如虚线所示。
地址译码器120或220可以将导通电压VON施加到选定的第一接地选择线GSL1。施加到第一接地选择线GSL1的导通电压VON的电平可以不同于或等于施加到第二串选择线SSL2的导通电压VON。
地址译码器120或220可以将未选的第二接地选择线GSL2的电压保持为关断电压VOFF。施加到第二接地选择线GSL2的关断电压VOFF的电平可以不同于或等于施加到第一串选择线SSL1、第三串选择线SSL3和第四串选择线SSL4的关断电压VOFF。
在实施例中,根据本公开的实施例的非易失性存储装置100或200可以调整2级验证电压。非易失性存储装置100或200可以调整要被施加到选定的第四字线WL4的验证电压VFY的电平。例如,在2级验证步骤中,非易失性存储装置100或200可以施加基于延迟时间DT或单元计数差CCD调整的验证电压。
在实施例中,非易失性存储装置100或200可以调整要被施加到未选字线的读取通过电压VREAD的电平,而不是调整要被施加到选定字线的验证电压的电平。例如,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD来增大或降低读取通过电压VREAD的电平。
图19示出了根据本公开的实施例的页面缓冲电路130或230的组件当中的与一条位线BL相对应的一个页面缓冲器PB的示例。图20是示出根据本公开的实施例的在验证操作中感测节点SO的电平变化的时序图。将参考图19和图20描述提供了与将调整后的验证电压施加到选定字线相类似的效果的方法。
参考图1和图19,连接到位线BL的页面缓冲器PB可以连接到单元串的存储单元。页面缓冲器PB包括连接到位线BL的感测节点SO。页面缓冲器PB可以包括连接到感测节点SO的多个锁存器131、132、133、…、和134。
在读取操作中,位线BL可以被控制逻辑电路150或250预充电。例如,当负载信号LOAD和控制信号BLSHF启用时,位线BL可以被预充电到特定的电压电平(例如,第一电压V1)。在这种情况下,高压晶体管HNM1可以通过位线选择信号BLSLT保持导通状态。
接下来,当负载信号LOAD停用时,在感测节点SO处被预充电的电荷可以通过被控制信号BLSHF导通的晶体管NM1流入位线BL。当选定的存储单元是导通单元时,在感测节点SO处被预充电的电荷可以通过位线BL和选定单元串的沟道被释放到公共源极线CSL。在这种情况下,因为从感测节点SO流向位线BL的电流相对较大,所以感测节点SO的电压下降的速度可能相对较快。相反,当选定的存储单元是关断单元时,在感测节点SO处被预充电的电荷可能难以通过位线BL被释放到公共源极线CSL。因此,因为从感测节点SO流向位线BL的电流相对较小,所以感测节点SO的电压下降的速度可能相对较慢。
锁存控制信号LTCH_1、LTCH_2、LTCH_3、…,以及用于存储感测节点SO的发展状态(developed state)的转储可以分别提供给本公开的页面缓冲器PB的多个锁存器131、132、133、…、和134。
例如,锁存器131可以被控制为仅顺序地锁存感测节点SO的状态。多个锁存器132、133、…和134可以被控制为使得从锁存器131复制感测数据。锁存器134可以用于输出从多个锁存器中选择的一个锁存器的数据。
在实施例中,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD,调整关于所有位线BL的2级验证电压电平。或者,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD,调整关于特定位线BL的2级验证电压电平。例如,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD,调整仅关于多条位线中的第一位线BL1的2级验证电压电平。或者,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD,调整仅关于多条位线的偶数位线的2级验证电压电平。或者,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD,调整仅关于多条位线的奇数位线的2级验证电压电平。
图20简要地示出了根据存储单元的阈值电压电平的感测节点SO的电平变化和根据发展时间点的锁存结果。从第一时间点t1到第二时间点t2的时间段可以称为“预充电时段”或“预充电时间”,从第二时间点t2到第四时间点t4的时间段可以称为“发展时段”或“发展时间”,在第四时间点t4之后的时间段可以称为“锁存时段”或“锁存时间”。在发展时段,可以停用负载信号LOAD;在锁存时段,可以停用控制信号BLSHF。
在预充电时段,可以启用负载信号LOAD和控制信号BLSHF二者,因此,可以对位线和感测节点进行预充电。在预充电时段,可以将位线BL的位线电压VBL充电到第一电压V1的电平。在预充电时段,感测节点SO可以被充电到特定电压电平(例如,第三电压V3)。
在实施例中,在2级验证步骤中,非易失性存储装置100或200可以调整位线预充电电压的电平,而不是调整要施加到选定字线的验证电压的电平。例如,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD来调整第一电压V1的电平。
在实施例中,在2级验证步骤中,非易失性存储装置100或200可以调整位线预充电时间,而不是调整要施加到选定字线的验证电压的电平。例如,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD来调整预充电时间Tp。
在实施例中,在2级验证步骤中,非易失性存储装置100或200可以调整感测节点SO的电压电平,而不是调整要施加到选定字线的验证电压的电平。例如,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD来调整感测节点SO的感测节点电压VSO的电平。
在发展时段开始的第二时间点t2,可以停用负载信号LOAD。在发展时段,控制信号BLSHF可能仍保持启用状态。因此,根据选定存储单元的阈值电压状态,在感测节点SO处被预充电的电荷可以移动到位线BL。
在阈值电压相对大于读取电压的强关断单元的情况下,感测节点SO的电平变化可能相对较小。曲线C0示出了在发展时段与强关断单元相关联的感测节点SO的电势变化。在阈值电压相对小于读取电压的强导通单元的情况下,感测节点SO的电平变化可能相对较大。曲线C1示出了在发展时段与强导通单元相关联的感测节点SO的电势变化。强关断单元或强导通单元可能不会被发展时间的微小变化影响。
曲线C2、C3和C4示出了在感测其阈值电压接近验证电压的存储单元的情况下感测节点SO的电势变化。曲线C2示出了阈值电压略小于验证电压的存储单元的发展趋势。曲线C3示出了阈值电压几乎相似于验证电压的的存储单元的发展趋势。曲线C4示出了阈值电压略大于验证电压的存储单元的发展趋势。
在实施例中,在2级验证步骤中,非易失性存储装置100或200可以调整发展时间,而不是调整要施加到选定字线的验证电压的电平。例如,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD来调整发展时间。
例如,在第三时间点t3,非易失性存储装置100或200可以锁存存储单元的感测节点SO的电压。在强关断单元(例如,曲线C0)的情况下,与关断单元相对应的逻辑值可以存储在锁存器中;在强导通单元(例如,曲线C1)的情况下,与导通单元相对应的逻辑值可以存储在锁存器中。然而,在阈值电压相对较小的存储单元(参考曲线C2)的情况下,与导通单元相对应的逻辑值可以被锁存。相反,在与曲线C3和C4相对应的存储单元的情况下,可以响应于第一锁存信号LTCH_1锁存与关断单元相对应的逻辑值。
例如,在第四时间点t4,非易失性存储装置100或200可以锁定感测节点SO的电压。和在第三时间点t3一样,逻辑“0”可以在强关断单元(例如,对应于曲线C0)的情况下被锁存,而逻辑“1”可以在强导通单元(例如,对应于曲线C1)的情况下被锁存。然而,在具有与曲线C2相对应的阈值电压的存储单元的情况下,与导通单元相对应的逻辑“1”可以被锁存。相反,在与曲线C3相对应的存储单元的情况下,响应于第二锁存信号LTCH_2,可以锁存与行进电平(trip level)V2相对应的感测节点SO的电势。例如,逻辑“0”和逻辑“1”在行进电平V2上可能无法清楚区分。在与曲线C4相对应的存储单元的情况下,响应于第二锁存信号LTCH_2,与关断单元相对应的逻辑“0”可以被锁存。
例如,在第五时间点t5,非易失性存储装置100或200可以锁定感测节点SO的电压。和在第三时间点t3一样,逻辑“0”可以在强关断单元(例如,对应于曲线C0)的情况下被锁存,而逻辑“1”可以在强导通单元(例如,对应于曲线C1)的情况下被锁存。然而,在具有与曲线C2和C3相对应的阈值电压的存储单元的情况下,与导通单元相对应的逻辑“1”可以被锁存。在与曲线C4相对应的存储单元的情况下,响应于第三锁存信号LTCH_3,与关断单元相对应的逻辑“0”可以被锁存。
为了确定一种状态,上文描述了在不同的发展时间点将感测节点SO的状态锁存为逻辑值的方式。上述方式可以提供基本上类似于通过依据发展时间点向字线施加不同电平的验证电压而获得的益处。例如,通过增加发展时间获得的益处可以类似于通过增加验证电压电平获得的益处,并且通过减少发展时间获得的益处可以类似于通过降低验证电压电平获得的益处。
图21是示出了根据本公开的实施例的非易失性存储装置300的框图。参考图21,非易失性存储装置300可以包括存储单元阵列310、地址译码器320、页面缓冲电路330、输入/输出电路340以及控制逻辑和电压生成电路(以下称为“控制逻辑电路”)350。控制逻辑电路350可以包括时间管理单元351、编程时间表352、VVL LUT 353、VVL选择单元354和机器学习逻辑(ML)355。
与图1的非易失性存储装置100相比,非易失性存储装置300的控制逻辑电路350还可以包括机器学习逻辑355。机器学习逻辑355可以包括硬件配置、软件配置或它们的混合配置。例如,机器学习逻辑355可以包括被配置为执行特定操作的专用硬件电路。或者,机器学习逻辑355可以包括一个或更多个处理器核,这些处理器核执行被配置为执行特定操作的程序代码的指令集。
机器学习逻辑355可以基于延迟时间DT和访问环境信息计算验证电压电平差。例如,访问环境信息可以包括以下至少一种:目标块的位置、目标串选择线的位置、目标字线的位置、温度(例如,非易失性存储装置的工作温度)、编程循环/擦除循环的数目和单元计数。因此,机器学习逻辑355可以准确地计算要被施加到2级验证电压的验证电压电平差。机器学习逻辑355可以将计算出的验证电压电平差提供给VVL选择单元354。
在实施例中,VVL选择单元354可以从VVL LUT 353接收验证电压电平差。或者,VVL选择单元354可以接收由机器学习逻辑355计算出的验证电压电平差。VVL选择单元354可以基于验证电压电平差来调整2级验证电压。
图22示出了根据示例实施例的图21的非易失性存储装置300的编程操作的示例。参考图21和图22,操作S510至操作S560可以被执行为与图9的操作S110至操作S160相同。因此,将省略额外描述以避免冗余。
在操作S570中,非易失性存储装置300可以基于机器学习调整2级验证电压。例如,机器学习逻辑355可以基于延迟时间DT和访问环境信息计算验证电压电平差。机器学习逻辑355可以向VVL选择单元354提供验证电压电平差。VVL选择单元354可以基于验证电压电平差来调整2级验证电压电平。操作S580可以被执行为与图9的操作S180相同。
图23是示出了根据本公开的实施例的非易失性存储装置400的框图。参考图23,非易失性存储装置400可以包括存储单元阵列410、地址译码器420、页面缓冲电路430、输入/输出电路440、控制逻辑和电压生成电路(以下称为“控制逻辑电路”)450和单元计数器460。控制逻辑电路450可以包括单元计数比较电路451、单元计数表452、VVL LUT 453、VVL选择单元454和机器学习逻辑(ML)455。
与图12的非易失性存储装置200相比,非易失性存储装置400的控制逻辑电路450还可以包括机器学习逻辑455。机器学习逻辑455可以包括硬件配置、软件配置或它们的混合配置。例如,机器学习逻辑455可以包括被配置为执行特定操作的专用硬件电路。或者,机器学习逻辑455可以包括一个或更多个处理器核,这些处理器核执行被配置为执行特定操作的程序代码的指令集。
机器学习逻辑455可以基于单元计数差CCD和访问环境信息计算验证电压电平差。因此,机器学习逻辑455可以准确地计算要被施加到2级验证电压的验证电压电平差。机器学习逻辑455可以将计算出的验证电压电平差提供给VVL选择单元454。
如上所述,当单元计数差CCD大于或等于第二阈值TH2时,非易失性存储装置400可以通过机器学习逻辑455基于单元计数差CCD和访问环境信息来计算验证电压电平差,并且可以参考验证电压电平差来调整2级验证电压。
图24示出了根据示例实施例的图23的非易失性存储装置400的编程操作的示例。参考图23和图24,操作S610至操作S670可以被执行为与图15的操作S310至操作S370相同。因此,将省略额外描述以避免冗余。
在操作S680中,非易失性存储装置400可以基于机器学习调整2级验证电压。机器学习逻辑455可以基于单元计数差CCD和访问环境信息计算验证电压电平差。机器学习逻辑455可以向VVL选择单元454提供验证电压电平差。VVL选择单元454可以基于验证电压电平差来调整2级验证电压电平。操作S690可以被执行为与图15的操作S390相同。
图25示出了能够用作图21和图23的机器学习逻辑的示例的神经网络NN。例如,神经网络NN可以包括各种衍生实现,例如人工神经网络(ANN)、卷积神经网络(CNN)和递归神经网络(RNN)。
参考图25,神经网络NN包括第一输入节点IN1至第四输入节点IN4、第一隐藏节点HN1至第十隐藏节点HN10以及输出节点ON。在构造神经网络NN时,可以预先确定输入节点的数目、隐藏节点的数目和输出节点的数目。
第一输入节点IN1至第四输入节点IN4形成输入层。第一隐藏节点HN1至第五隐藏节点HN5形成第一隐藏层。第六隐藏节点HN6至第十隐藏节点HN10形成第二隐藏层。输出节点ON构成输出层。在构造神经网络NN时,可以预先确定隐藏层的数目。
用于学习或推理的数据可以被输入到第一输入节点IN1至第四输入节点IN4。每个输入节点的值通过分支(或突触)传输到第一隐藏层的第一隐藏节点HN1至第五隐藏节点HN5。每个分支(或突触)可以被指定为具有相应的突触值或相应的权重。每个输入节点可以对向其输入的值和相应分支(或突触)的突触值或权重进行计算(或可以将向其输入的值和相应分支(或突触)的突触值或权重相乘),以便将计算出的值传输到第一隐藏层。
第一隐藏节点HN1至第五隐藏节点HN5中的每一者可以对向其输入的值和权重(或突触值)进行计算,以便将计算出的值传输到第二隐藏层的第六隐藏节点HN6至第十隐藏节点HN10。第六隐藏节点HN6至第十隐藏节点HN10中的每一者可以对向其输入的值和权重(或突触值)执行计算,以便将计算出的值传输到输出节点ON。输出节点ON的值可以指示学习或推理结果。
延迟时间DT、单元计数差CCD、已执行的编程循环的数目、最终施加的编程电压VPGM电平以及编程状态当中的完成编程的状态的信息中的至少一者可以用作神经网络NN的输入。
地址ADDR(即,选定存储单元的物理位置)可以被用作神经网络NN的输入。在实施例中,从外部设备提供的外部信息(例如温度和与选定的存储单元相关联的编程循环/擦除循环的数目)也可以被用作神经网络NN的输入。外部信息可以与编程命令一起从外部设备接收。
如上所述,神经网络NN可以通过使用各种信息以及延迟时间DT和单元计数差CCD输出更准确的验证电压电平差。因此,提供了具有提高的可靠性的非易失性存储装置。
图26是示出了根据本公开的实施例的存储系统的框图。参考图26,存储系统1000可以包括主机设备10和存储设备1100。在实施例中,存储系统1000可以是移动系统,例如移动电话、智能手机、平板电脑(PC)、可穿戴设备、医疗保健设备或物联网(IoT)设备。在实施例中,存储系统1000可以是诸如个人计算机、膝上型计算机、服务器、媒体播放器的计算设备或诸如包括导航系统的车载设备的系统。
主机设备10可以将数据存储在存储设备1100中,或者可以读取存储在存储设备1100中的数据。主机设备10可以包括主机控制器11和主机存储器12。主机控制器11可以被配置为控制存储设备1100。在实施例中,主机控制器11可以通过给定接口与存储设备1100通信。
主机存储器12可以是主机设备10的缓冲存储器、工作存储器或系统存储器。例如,主机存储器12可以被配置为存储主机设备10操作所需的各种信息。主机存储器12可以用作缓冲存储器,以用于临时存储要发送到存储设备1100的数据或从存储设备1100接收的数据。在实施例中,主机存储器12可以支持存储设备1100的访问。
在实施例中,主机控制器11和主机存储器12可以用单独的半导体芯片实现。或者,在实施例中,主机控制器11和主机存储器12可以集成在单个半导体芯片中,或者可以用多芯片封装件实现。例如,主机控制器11可以是应用处理器包括的多个模块中的一个模块。应用处理器可以用片上系统(SoC)实现。主机存储器12可以是包括在应用处理器中的嵌入式存储器,或者可以是非易失性存储装置、易失性存储装置或非易失性存储模块,或者是布置在应用处理器外部的易失性存储模块。
存储设备1100可以是被配置为依据主机设备10的请求存储数据或输出存储的数据的存储介质。在实施例中,存储设备1100可以包括固态硬盘(SSD)、嵌入式存储器和可移动外部存储器中的至少一种。在存储设备1100是SSD的情况下,存储设备1100可以是符合快速非易失性存储器(NVMe)标准的设备。在存储设备1100是嵌入式存储器或外部存储器的情况下,存储设备1100可以是符合通用闪存(UFS)或嵌入式多媒体卡(eMMC)标准的设备。主机设备10和存储设备1100中的每一者可以生成符合向其应用的标准协议的数据包(packet),并且可以发送生成的数据包。
存储设备1100可以包括存储控制器1200和非易失性存储装置(NVM)1300。存储控制器1200可以包括中央处理单元(CPU)1210、时间管理单元1220、闪存转换层(FTL)1230、缓冲存储器(BUF MEM)1240、数据包管理器(PCK MNG)1250、纠错码引擎(ECC ENG)1260、高级加密标准引擎(AES ENG)1270、主机接口块1280、存储器接口块1290和系统总线BUS。在实施例中,存储控制器1200中包括的各个组件中的每一者可以实现为知识产权(IP)块或功能块,并且可以以软件、硬件、固件或它们的组合的形式实现。
在实施例中,存储设备1100可以如参考图1至图7、图8A、图8B和图9至图25所述调整2级验证电压电平。存储控制器1200可以向非易失性存储装置1300发送验证电压电平差。非易失性存储装置1300可以基于接收到的验证电压电平差来调整2级验证电压电平。
CPU 1210可以控制存储控制器1200的整体操作。例如,CPU 1210可以被配置为驱动在存储控制器1200上运行的各种固件或软件。
时间管理单元1220可以根据非易失性存储装置1300的物理特性管理各种时间。例如,时间管理单元1220可以管理编程完成时间或延迟时间。编程完成时间表示编程操作完成的时间(或时间点)。延迟时间可以表示针对第k字线的1级编程操作的完成时间与针对第(k-1)字线的1级编程操作的完成时间之间的差。时间管理单元1220可以将1级编程操作的完成时间存储在缓冲存储器1240中。
在实施例中,图26的时间管理单元1220可以类似于图1的时间管理单元151进行操作。例如,时间管理单元1220可以通过使用编程时间表1242来管理1级编程操作的完成时间。时间管理单元1220可以检查与针对第k字线的1级编程操作完成时的时间点相对应的时间。在针对第k字线的1级编程操作完成之后,时间管理单元1220可以生成包括当前时间的时间戳。或者,时间管理单元1220可以生成与针对第k字线的1级编程操作完成时的时间点相对应的第一时间戳TS1。时间管理单元1220可以将第一时间戳TS1与第k字线相关联地存储在编程时间表1242中。
时间管理单元1220可以检查与针对第(k-1)字线的1级编程操作完成时的时间点相对应的时间。在针对第k字线的1级编程操作完成之后,时间管理单元1220可以生成包括当前时间的时间戳。或者,时间管理单元1220可以生成与针对第(k-1)字线的1级编程操作完成时的时间点相对应的第二时间戳TS2。时间管理单元1220可以将第二时间戳TS2与第(k-1)字线相关联地存储在编程时间表1242中。
在实施例中,时间管理单元1220可以计算传输延迟时间。例如,时间管理单元1220可以参考编程时间表1242管理传输延迟时间。时间管理单元1220可以计算编程时间表1242的第一时间戳TS1与第二时间戳TS2之间的差作为延迟时间。
在实施例中,当延迟时间大于或等于第三阈值TH3时,时间管理单元1220可以基于延迟时间参考VVL LUT 1241的验证电压电平差信息。时间管理单元1220可以向非易失性存储装置1300发送指示针对第k字线执行2级编程操作的编程命令。在这种情况下,编程命令可以包括验证电压电平差信息。或者,时间管理单元1220可以发送包括验证电压电平差信息的设置特征命令。
在实施例中,CPU 1210和时间管理单元1220被示出为单独的功能块,但本公开不限于此。例如,CPU 1210和时间管理单元1220中的每一者可以用独立的处理器核来实现。或者,CPU 1210和时间管理单元1220可以用一个处理器核实现,或者可以用包括多个处理器核的多核处理器实现。
FTL 1230可以执行各种维护操作以有效地使用非易失性存储装置1300。例如,维护操作可以包括地址映射操作、磨损均衡操作、垃圾收集操作等。
地址映射操作可以指在主机设备10管理的逻辑地址和非易失性存储装置1300的物理地址之间进行转换或映射的操作。
磨损均衡操作可以指使非易失性存储装置1300中包括的多个存储块的使用频率或多个存储块的使用次数均匀的操作,并且可以通过用于平衡物理块的擦除计数的固件技术或通过硬件来实现。在实施例中,由于非易失性存储装置1300的多个存储块中的每个存储块通过磨损均衡操作来统一使用,因此可以防止特定存储块过度劣化,从而可以提高非易失性存储装置1300的寿命。
垃圾收集操作可以指通过将非易失性存储装置1300的源存储块的有效数据复制到其目标存储块,然后擦除源存储块来确保可用存储块或空闲存储块的操作。
在实施例中,FTL 1230可以以软件或固件的形式实现,并且可以存储在缓冲存储器1240或单独的工作存储器(未示出)中。CPU 1210可以通过驱动存储在缓冲存储器1240或单独的工作存储器(未示出)中的FTL 1230来执行上述维护操作。在实施例中,FTL 1230可以通过被配置为执行上述维护操作的各种硬件自动化电路来实现。也就是说,FTL 1230可以用硬件实现,并且上述维护操作可以通过硬件来执行。
缓冲存储器1240可以用作存储控制器1200的缓冲存储器或工作存储器。例如,缓冲存储器1240可以临时存储从主机设备10或非易失性存储装置1300接收到的数据。或者,缓冲存储器1240可以被配置为存储存储控制器1200操作所需的各种信息或程序代码。CPU1210可以基于存储在缓冲存储器1240中的信息或程序代码执行各种操作。
缓冲存储器1240可以包括VVL LUT 1241和编程时间表1242。编程时间表1242可以包括与字线相关联的编程完成时间。VVL LUT 1241可以包括关于根据延迟时间的2级验证电压电平差的映射信息。
为了附图的简洁和描述的方便,在图26中示出了在存储控制器1200中包括缓冲存储器1240的示例,但本公开不限于此。缓冲存储器1240可以是位于存储控制器1200外部的单独的存储模块或存储装置。存储控制器1200还可以包括被配置为控制位于外部的存储模块或存储装置的存储器控制器(未示出)。
数据包管理器1250可以被配置为解析从主机设备10接收到的数据包,或生成针对要被发送到主机设备10的数据的数据包。在实施例中,可以基于主机设备10与存储设备1100之间的接口协议来生成数据包。
ECC引擎1260可以对从非易失性存储装置1300读取的数据执行错误检测和校正功能。例如,ECC引擎1260可以关于要存储在非易失性存储装置1300中的写入数据生成奇偶校验位。由此生成的奇偶校验位可以与写入数据一起存储在非易失性存储装置1300中。之后,在从非易失性存储装置1300读取数据的情况下,ECC引擎1260可以通过使用读取数据和相应的奇偶校验位来校正读取数据的错误,并且可以输出经错误校正的读取数据。
AES引擎1270可以通过使用对称密钥算法对输入到存储控制器1200的数据执行加密操作和解密操作中的至少一者。
存储控制器1200可以通过主机接口块1280与主机设备10通信。下面,为了容易地描述本公开的实施例,假设主机接口块1280支持符合NVMe标准的接口。然而,本公开不限于此。例如,主机接口块1280可以被配置为支持各种接口中的至少一种,诸如ATA(高级技术连接)接口、SATA(串行ATA)接口、e-SATA(外部SATA)接口、SCSI(小型计算机系统接口)、SAS(串行连接SCSI)接口、PCI(外围组件互连)接口、PCIe(PCI快速)接口、IEEE 1394接口、USB(通用串行总线)接口、SD(安全数字)卡接口、MMC(多媒体卡)接口、eMMC(嵌入式多媒体卡)接口、UFS(通用闪存)接口、eUFS(嵌入式通用闪存)接口和CF(紧凑闪存)卡接口。
存储控制器1200可以通过存储器接口块1290与非易失性存储装置1300通信。在实施例中,存储器接口块1290可以被配置为支持闪存接口,诸如切换(Toggle)接口或开放NAND闪存接口(ONFI)。然而,本公开不限于此。
存储控制器1200中包括的各种组件可以通过系统总线BUS彼此通信。系统总线BUS可以包括各种系统总线,例如高级系统总线(ASB)、高级外围总线(APB)、高级高性能总线(AHB)和高级可扩展接口(AXI)总线。
在存储控制器1200的控制下,非易失性存储装置1300可以被配置为存储数据、输出所存储的数据或擦除所存储的数据。在实施例中,非易失性存储装置1300可以是二维或三维NAND闪存装置,但本公开不限于此。例如,非易失性存储装置1300可以是磁RAM(MRAM)、自旋转移转矩MRAM(SST-MRAM)、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻RAM(RRAM)或基于彼此不同的各种存储器的存储装置。在实施例中,非易失性存储装置1300可以包括多个非易失性存储器,每个非易失性存储器由独立芯片或独立封装件实现。存储控制器1200可以通过多个沟道与非易失性存储装置1300的多个非易失性存储器通信。
在实施例中,非易失性存储装置1300可以包括VVL选择单元1310。非易失性存储装置1300可以从存储控制器1200接收包括验证电压电平差信息的第二编程命令。或者,非易失性存储装置1300可以从存储控制器1200接收包括验证电压电平差信息的设置特征命令。
非易失性存储装置1300可以基于接收到的验证电压电平差信息,调整与对应于第一编程命令的数据相关联的2级验证电压。因此,非易失性存储装置1300可以基于电压电平被调整了的2级验证电压来执行2级验证步骤。
图27是示出了根据示例实施例的图26的存储控制器的配置的框图。参考图26和图27,存储控制器2200可以包括CPU 2210、时间管理单元2220、FTL 2230、缓冲存储器(BUFMEM)2240、数据包管理器(PCK MNG)2250、ECC引擎(ECC ENG)2260、AES引擎(AES ENG)2270、主机接口块2280、存储器接口块2290、系统总线BUS和机器学习逻辑(ML)2243。缓冲存储器2240可以包括VVL LUT 2241和编程时间表2242。
在实施例中,缓冲存储器2240可以被配置为存储由机器学习逻辑2243使用的数据,或存储将要由机器学习逻辑2243驱动的应用的程序代码。机器学习逻辑2243可以执行存储在缓冲存储器2240中的程序代码,或者可以对存储在缓冲存储器2240中的数据执行各种计算(或操作)。
与图26的存储控制器1200相比,存储控制器2200还可以包括机器学习逻辑2243。机器学习逻辑2243可以被配置为执行要由存储控制器2200处理的各种计算(或操作),或驱动在存储控制器2200上运行的应用或计算程序。在实施例中,机器学习逻辑2243可以被配置为执行各种数据处理操作,例如用于机器学习的卷积操作。机器学习逻辑2243可以基于延迟时间和访问环境信息计算验证电压电平差。机器学习逻辑2243与图21的机器学习逻辑355相似或相同,因此,将省略额外描述以避免冗余。存储控制器2200可以将计算出的验证电压电平差发送到非易失性存储装置1300。
图28是示出了根据示例实施例的图26的存储控制器的配置的框图。参考图26和图28,存储控制器3200可以包括CPU 3210、单元计数比较电路3220、FTL 3230、缓冲存储器(BUG MEM)3240、数据包管理器(PCK MNG)3250、ECC引擎(ECC ENG)3260、AES引擎(AES ENG)3270、主机接口块3280、存储器接口块3290和系统总线BUS。缓冲存储器3240可以包括VVLLUT 3241和单元计数表3242。VVL LUT 3241可以包括关于根据单元计数差CCD的2级验证电压电平差的映射信息。单元计数表3242可以包括多条字线中的每条字线的单元计数。
在实施例中,单元计数比较电路3220可以发送指示针对第k字线的1级编程操作的编程命令,然后可以发送获取特征命令,该获取特征命令请求基于特定读取电压(例如,最高读取电压)获得的第k字线的关断单元计数(或导通单元计数)。单元计数比较电路3220可以从非易失性存储装置1300接收作为关断单元计数的第一单元计数CC1。单元计数比较电路3220可以将第一单元计数CC1与第k字线相关联地存储在单元计数表3242中。
单元计数比较电路3220可以发送指示针对第(k-1)字线的1级编程操作的编程命令,然后可以发送获取特征命令,该获取特征命令请求基于特定读取电压(例如,最高读取电压)获得的第k字线的关断单元计数。单元计数比较电路3220可以从非易失性存储装置1300接收作为关断单元计数的第二单元计数CC2。单元计数比较电路3220可以基于第一单元计数CC1和第二单元计数CC2计算单元计数差CCD。
当单元计数差CCD大于或等于第四阈值TH4时,单元计数比较电路3220可以基于单元计数差CCD参考VVL LUT 3241的验证电压电平差信息。单元计数比较电路3220可以将包括验证电压电平差信息的设置特征命令发送到非易失性存储装置1300。或者,单元计数比较电路3220可以向非易失性存储装置1300发送指示针对第k字线的2级编程操作的编程命令。在这种情况下,编程命令可以包括验证电压电平差信息。
非易失性存储装置1300可以响应于请求关断单元计数的获取特征命令执行单元计数操作。非易失性存储装置1300可以将单元计数发送到存储控制器3200。响应于包括验证电压电平差信息的设置特征命令,非易失性存储装置1300可以基于验证电压电平差信息调整与第一编程命令相对应的数据的2级验证电压。因此,非易失性存储装置1300可以基于电压电平被调整了的2级验证电压来执行2级验证步骤。
图29是示出了根据示例实施例的图26的存储控制器的配置的框图。参考图26和图29,存储控制器4200可以包括CPU 4210、单元计数比较电路4220、FTL 4230、缓冲存储器(BUF MEM)4240、数据包管理器(PCK MNG)4250、ECC引擎(ECC ENG)4260、AES引擎(AES ENG)4270、主机接口块4280、存储器接口块4290、系统总线BUS和机器学习逻辑(ML)4243。缓冲存储器4240可以包括VVL LUT 4241和单元计数表4242。
与图28的存储控制器3200相比,存储控制器4200还可以包括机器学习逻辑4243。机器学习逻辑4243可以基于单元计数差CCD和访问环境信息来计算验证电压电平差。存储控制器4200可以向非易失性存储装置1300发送计算出的验证电压电平差。机器学习逻辑4243与图23的机器学习逻辑455相似或相同,因此,将省略额外描述以避免冗余。
如上所述,存储控制器可以参考或计算基于延迟时间或单元计数差的验证电压电平差。存储控制器可以将验证电压电平差发送到非易失性存储装置。非易失性存储装置可以基于验证电压电平差来调整2级验证电压电平。
图30是示出根据本公开的实施例的存储单元的阈值电压分布的分布图。在图3、图4、图8A、图8B、图13和图17中假设了非易失性存储装置100或200的每个存储单元是存储3位数据的TLC。然而,本公开不限于此。例如,非易失性存储装置100或200的每个存储单元可以是存储4位数据的四阶单元(quadruple level cell,QLC)。
非易失性存储装置100或200的每个存储单元可以被编程为具有第一编程状态至第十五编程状态P31至P39以及P3A至P3F和擦除状态E3中的一个状态。如上述所述,非易失性存储装置100或200可以基于第一验证电压至第十五验证电压VFY31至VFY39和VFY3A至VFY3F执行2级验证步骤。即,非易失性存储装置100或200可以基于延迟时间DT或单元计数差CCD来调整2级验证电压VFY31至VFY39和VFY3A至VFY3F,如参考图1至图7、图8A、图8B和图9至图29所述。
图31A至图31D是根据本公开的实施例的用于描述非易失性存储装置的编程方法的图。将参考图31A至图31D描述非易失性存储装置的阴影(shadow)编程操作。
例如,非易失性存储装置可以从存储器控制器接收第一命令CM1、第一地址ADD1、第一页面PD1和第二命令CM2。第一命令CM1和第二命令CM2可以构成阴影编程操作的命令集。第一地址ADD1可以表示第一页面PD1的物理地址(即,选定字线)。第一页面PD1可以表示一个页面。在实施例中,如上所述,三个页面可以存储在一条字线中。也就是说,一个页面可以表示存储在一条字线中的三个页面(例如,LSB页面、CSB页面和MSB页面)中的一个页面。
在接收到第一命令CM1、第一地址ADD1、第一页面PD1和第二命令CM2之后,在编程时间tPROG期间,非易失性存储装置可以对选定字线执行第一编程操作PGM1。例如,如图31B所示,第一编程操作PGM1可以指示基于第一页面PD1执行的编程操作,使得选定字线的存储单元当中具有擦除状态“E”的存储单元具有擦除状态“E”和编程状态P01中的一个状态。
之后,非易失性存储装置可以接收第一命令CM1、第二地址ADD2、第二页面PD2和第二命令CM2。非易失性存储装置可以响应于接收到的信号在编程时间tPROG期间执行第二编程操作PGM2。如图31B所示,第二编程操作PGM2可以指示基于第一页面PD1和第二页面PD2执行的编程操作,使得选定字线的存储单元当中具有擦除状态“E”的存储单元具有擦除状态“E”和编程状态P11中的一个状态,并且编程状态P01的存储单元具有编程状态P12和P13中的一个状态。即,在第二编程操作PGM2完成之后,选定字线的存储单元可以存储第一页面PD1和第二页面PD2。
之后,非易失性存储装置可以接收第一命令CM1、第三地址ADD3、第三页面PD3和第二命令CM2。非易失性存储装置可以响应于接收到的信号在编程时间tPROG期间执行第三编程操作PGM3。如图31B所示,第三编程操作PGM3可以表示基于第一页面PD1、第二页面PD2和第三页面PD3执行的编程操作,使得具有擦除状态“E”的存储单元具有擦除状态“E”和编程状态P21中的一个状态,具有编程状态P11的存储单元具有编程状态P22和编程状态P23中的一个状态,具有编程状态P12的存储单元具有编程状态P24和编程状态P25中的一个状态,并且具有编程状态P13的存储单元具有编程状态P26和编程状态P27中的一个状态。
在实施例中,当对选定字线执行编程操作时,由于编程电压为高电压而引起的耦合,连接到与选定字线相邻的字线的存储单元可能会劣化。为了防止存储单元的劣化,非易失性存储装置可以按在图31C所示的编程序列对多条字线执行编程操作。例如,非易失性存储装置可以对第一字线WL1执行第一编程操作PGM1。之后,非易失性存储装置可以按以下顺序依次执行编程操作:针对第二字线WL2的第一编程操作PGM1、针对第一字线WL1的第二编程操作PGM2、针对第三字线WL3的第一编程操作PGM1、针对第二字线WL2的第二编程操作PGM2、以及针对第一字线WL1的第三编程操作PGM3。当针对第一字线WL1的第三编程操作PGM3完成时,连接到第一字线WL1的每个存储单元可以存储3位数据。
如上所述,通过控制与多条字线相关联的编程操作的序列,可以减少存储单元的劣化。在实施例中,与多条字线中的每条字线相对应的编程操作的顺序可以由从存储器控制器提供的地址(例如,ADD1、ADD2和ADD3)指定。也就是说,存储器控制器可以基于上述编程序列向非易失性存储装置提供与作为编程操作的目标的字线相对应的地址。
如上所述,非易失性存储装置接收一个页面和地址,并且将该页面编程在与该地址相对应的字线(即,选定字线)处;之后,非易失性存储装置接收不同的页面和不同的地址,并且将该不同的页面编程在与该不同的地址相对应的字线(即,不同的选定字线)处。
换句话说,非易失性存储装置以页面为单位执行页面接收操作和编程操作(例如,PGM1、PGM2或PGM3)。具体地,如图31C所示,可能需要至少六个编程序列来将所有的三个页面存储在第一字线WL1处。
将参考图31D描述用于调整第三编程操作PGM3的验证电压的方法。与在重编程操作中一样,在第一编程操作PGM1和第二编程操作PGM2之间可能出现延迟时间,或者在第二编程操作PGM2和第三编程操作PGM3之间可能出现延迟时间。在图31D中,假设延迟时间出现在第二编程操作PGM2和第三编程操作PGM3之间。例如,阴影延迟时间可以指示在第二编程操作PGM2和第三编程操作PGM3之间出现的延迟时间。
假设第一字线WL1至第三字线WL3中的每一者的第一编程操作PGM1至第三编程操作PGM3已完成。假设对于第一字线WL1出现小于第五阈值TH5的阴影延迟时间,并且对于第二字线WL2和第三字线WL3出现大于第五阈值TH5的阴影延迟时间。为了便于描述,假设非易失性存储装置100在第三编程操作PGM3中向第二字线WL2施加默认验证电压,并且在第三编程操作PGM3中向第三字线WL3施加具有调整后的电压电平的新的验证电压。
在每个分布图中,虚线表示第三编程操作PGM3之前的存储单元的分布,实线表示第三编程操作PGM3之后的存储单元的分布。例如,第一阴影分布SD1指示在第三编程操作PGM3之前第一字线WL1的存储单元的分布;第二阴影分布SD2指示在第三编程操作PGM3之后第一字线WL1的存储单元的分布;第三阴影分布SD3指示在第三编程操作PGM3之前第二字线WL2的存储单元的分布;第四阴影分布SD4指示在第三编程操作PGM3之后第二字线WL2的存储单元的分布;第五阴影分布SD5指示在第三编程操作PGM3之前第三字线WL3的存储单元的分布;第六阴影分布SD6指示在第三编程操作PGM3之后第三字线WL3的存储单元的分布。
非易失性存储装置100可以向第一字线WL1和第二字线WL2施加默认验证电压VFY1至VFY7,并且可以向第三字线WL3施加具有调整后的电压电平的新的验证电压VFY1’至VFY7’。例如,新的验证电压VFY1’的调整后的电平可以低于与之相应的默认验证电压VFY1的电平,剩余的新的验证电压VFY2’至VFY7’的调整后的电平可以低于与之相应的默认验证电压VFY2至VFY7的电平。
在第一字线WL1的情况下,因为阴影延迟时间小于第五阈值TH5,非易失性存储装置100可以在第三编程操作PGM3中向第一字线WL1施加默认验证电压。可以按照预期形成第二阴影分布SD2。
在第二字线WL2的情况下,因为阴影延迟时间大于第五阈值TH5,与第一阴影分布SD1相比,第三阴影分布SD3可以在阈值电压降低的方向上偏移。在这种状态下,当施加了默认验证电压VFY1至VFY7时,与第二阴影分布SD2相比,第四阴影分布SD4可以在阈值电压增大的方向上偏移。
在第三字线WL3的情况下,因为阴影延迟时间大于第五阈值TH5,与第三阴影分布SD3类似,与第一阴影分布SD1相比,第五阴影分布SD5可以在阈值电压降低的方向上偏移。在第三编程操作PGM3中,非易失性存储装置100可以向第三字线WL3施加电压电平被调整了的新的验证电压VFY1’至VFY7’。因此,与第二阴影分布SD2类似,第六阴影分布SD6可以按预期形成。换言之,第三字线WL3的阴影延迟时间可以像第二字线WL2一样大于第五阈值TH5,但与第四阴影分布SD4不同,第六阴影分布SD6可以按预期形成。
非易失性存储装置100可以基于阴影延迟时间来调整第三编程操作PGM3中的验证电压电平。或者,当单元计数差大于或等于第六阈值TH6时,非易失性存储装置100可以基于单元计数差来调整第三编程操作PGM3中的验证电压电平。
图32是示出了根据本公开的实施例的非易失性存储装置的横截面图。参考图32,非易失性存储装置2400可以具有芯片到芯片(C2C)结构。C2C结构可以是指通过如下方式形成的结构:在第一晶片上制造包括单元区域CELL的上芯片,在与第一晶片不同的第二晶片上制造包括外围电路区域PERI的下芯片,然后以接合方式连接上芯片和下芯片。例如,接合方式可以包括电连接在上芯片的最上面金属层上形成的接合金属和在下芯片的最上面金属层上形成的接合金属的方式。例如,在接合金属由铜(Cu)形成的情况下,接合方式可以是Cu到Cu接合方式。或者,接合金属可以由铝(Al)或钨(W)形成。
非易失性存储装置2400的外围电路区域PERI和单元区域CELL中的每一者可以包括外部焊盘接合区域PA、字线接合区域WLBA和位线接合区域BLBA。
外围电路区域PERI可以包括第一衬底2210、层间绝缘层2215、形成在第一衬底2210上的多个电路元件2220a、2220b和2220c、分别连接到多个电路元件2220a、2220b和2220c的第一金属层2230a、2230b和2230c以及形成在第一金属层2230a、2230b和2230c上的第二金属层2240a、2240b和2240c。电路元件2220a、2220b和2220c中的每一者可以包括一个或更多个晶体管。在实施例中,第一金属层2230a、2230b和2230c可以由电阻相对较高的钨形成,第二金属层2240a、2240b和2240c可以由电阻相对较低的铜形成。
在本说明书中,尽管示出并描述了第一金属层2230a、2230b和2230c以及第二金属层2240a、2240b和2240c,但第一金属层2230a、2230b和2230c以及第二金属层2240a、2240b和2240c并不限于此,并且可以在第二金属层2240a、2240b和2240c上进一步形成一个或更多个金属层。在第二金属层2240a、2240b和2240c上形成的一个或更多个金属层的至少一部分可以由电阻低于形成第二金属层2240a、2240b和2240c的铜的电阻的铝或类似物形成。
层间绝缘层2215可以设置在第一衬底2210上,以覆盖多个电路元件2220a、2220b和2220c、第一金属层2230a、2230b和2230c以及第二金属层2240a、2240b和2240c。层间绝缘层2215可以包括诸如氧化硅、氮化硅等的绝缘材料。
在字线接合区域WLBA中,下接合金属2271b和2272b可以形成在第二金属层2240b上。在字线接合区域WLBA中,外围电路区域PERI的下接合金属2271b和2272b可以通过Cu-Cu接合与单元区域CELL的上接合金属2371b和2372b电连接。下接合金属2271b和2272b以及上接合金属2371b和2372b可以由铝、铜或钨形成。
此外,单元区域CELL中的上接合金属2371b和2372b可以被称为“第一金属焊盘”,外围电路区域PERI中的下接合金属2271b和2272b可以被称为“第二金属焊盘”。此外,第一金属焊盘和第二金属焊盘可以以接合方式彼此连接。
单元区域CELL可以包括至少一个存储块。单元区域CELL可以包括第二衬底2310、层间绝缘层2315和公共源极线2320。在第二衬底2310上,可以在垂直于第二衬底2310的上表面的方向(即,Z轴方向)上堆叠多条字线2331至2338(即,2330)。串选择线和接地选择线可以分别布置在多条字线2330的上方和下方,并且多条字线2330可以布置在串选择线与接地选择线之间。
多条字线2330在X轴方向上的宽度可以不同。随着与外围电路区域PERI的第一衬底2210的距离增加,多条字线2330的宽度逐渐增加。同样,随着与单元区域CELL的第二衬底2310的距离增加,多条字线2330的宽度逐渐减小。
在位线接合区域BLBA中,沟道结构CH可以在垂直于第二衬底2310的上表面的方向上延伸,并且可以穿过多条字线2330、串选择线和接地选择线。沟道结构CH可以包括数据存储层、沟道层、掩埋绝缘层等,并且沟道层可以电连接到第一金属层2350c和第二金属层2360c。例如,第一金属层2350c可以是位线接触,第二金属层2360c可以是位线。在实施例中,位线2360c可以在平行于第二衬底2310的上表面的第一方向(即,Y轴方向)上延伸。
层间绝缘层2315可以设置在第二衬底2310上,以覆盖公共源极线2320、多条字线2330、多个单元接触插塞2340、第一金属层2350a、2350b和2350c、以及第二金属层2360a、2360b和2360c。层间绝缘层2315可以包括诸如氧化硅、氮化硅等的绝缘材料。
在图32所示的实施例中,设置有沟道结构CH、位线2360c等的区域可以被定义为位线接合区域BLBA。在位线接合区域BLBA中,位线2360c可以电连接到在外围电路区域PERI中构成页面缓冲器2393的电路元件2220c。例如,位线2360c可以连接到单元区域CELL中的上接合金属2371c和2372c,上接合金属2371c和2372c可以连接到与页面缓冲器2393的电路元件2220c连接的下接合金属2271c和2272c。
在字线接合区域WLBA中,多条字线2330可以在垂直于第一方向并且平行于第二衬底2310的上表面的第二方向(即,X轴方向)上延伸,并且可以连接到多个单元接触插塞2341至2347(即2340)。字线2330和单元接触插塞2340可以在由在第二方向上以不同的长度延伸的多条字线2330中的至少一些字线提供的焊盘处彼此连接。第一金属层2350b和第二金属层2360b可以依次连接到与字线2330连接的每个单元接触插塞2340的上部。在字线接合区域WLBA中,单元接触插塞2340可以通过单元区域CELL的上接合金属2371b和2372b以及外围电路区域PERI的下接合金属2271b和2272b连接到外围电路区域PERI。
单元接触插塞2340可以电连接到在外围电路区域PERI中构成行译码器2394的电路元件2220b。在实施例中,构成行译码器2394的电路元件2220b的工作电压可以不同于构成页面缓冲器2393的电路元件2220c的工作电压。例如,构成页面缓冲器2393的电路元件2220c的工作电压可以大于构成行译码器2394的电路元件2220b的工作电压。
公共源极线接触插塞2380可以设置在外部焊盘接合区域PA中。公共源极线接触插塞2380可以由诸如金属、金属化合物、多晶硅等的导电材料形成,并且可以电连接到公共源极线2320。第一金属层2350a和第二金属层2360a可以顺序堆叠在公共源极线接触插塞2380的上部。例如,设置有公共源极线接触插塞2380、第一金属层2350a和第二金属层2360a的区域可以被定义为外部焊盘接合区域PA。
输入/输出焊盘2205和2305可以设置在外部焊盘接合区域PA中。参考图32,覆盖第一衬底2210的下表面的下绝缘膜2201可以形成在第一衬底2210下方,并且第一输入/输出焊盘2205可以形成在下绝缘膜2201上。第一输入/输出焊盘2205可以通过第一输入/输出接触插塞2203连接到设置在外围电路区域PERI中的多个电路元件2220a、2220b和2220c中的至少一个电路元件,并且可以通过下绝缘膜2201与第一衬底2210分离。此外,可以在第一输入/输出接触插塞2203和第一衬底2210之间设置侧绝缘膜,以电隔离第一输入/输出接触插塞2203和第一衬底2210。
参考图32,覆盖第二衬底2310的上表面的上绝缘膜2301可以形成在第二衬底2310上,并且第二输入/输出焊盘2305可以设置在上绝缘膜2301上。第二输入/输出焊盘2305可以通过第二输入/输出接触插塞2303和外围电路区域PERI的下接合金属2271a和2272a连接到设置在外围电路区域PERI中的多个电路元件2220a、2220b和2220c中的至少一个电路元件。在实施例中,第二输入/输出焊盘2305可以电连接到电路元件2220a。
根据实施例,第二衬底2310和公共源极线2320可以不设置在设置有第二输入/输出接触插塞2303的区域中。此外,第二输入/输出焊盘2305可以在第三方向(即,Z轴方向)上与字线2330不交叠。参考图32,第二输入/输出接触插塞2303可以在平行于第二衬底2310的上表面的方向上与第二衬底2310分离,可以穿过单元区域CELL的层间绝缘层2315,并且可以连接到第二输入/输出焊盘2305。
根据实施例,可以选择性地形成第一输入/输出焊盘2205和第二输入/输出焊盘2305。例如,非易失性存储装置2400可以仅包括设置在第一衬底2210上的第一输入/输出焊盘2205或设置在第二衬底2310上的第二输入/输出焊盘2305。或者,非易失性存储装置2400可以包括第一输入/输出焊盘2205和第二输入/输出焊盘2305两者。
在分别包括在单元区域CELL和外围电路区域PERI中的外部焊盘接合区域PA和位线接合区域BLBA中的每一者中,在最上面金属层中的金属图案可以被设置为虚设图案,或者最上面金属层可以不存在。
在外部焊盘接合区域PA中,非易失性存储装置2400可以包括在外围电路区域PERI的最上面金属层中的下金属图案2273a,并且,下金属图案2273a可以对应于在单元区域CELL的最上面金属层中形成的上金属图案2372a并且可以具有与单元区域CELL的上金属图案2372a相同的形状。在外围电路区域PERI中,在外围电路区域PERI的最上面金属层中形成的下金属图案2273a可以不连接到接触。如上所述,在外部焊盘接合区域PA中,可以在单元区域CELL的最上面金属层中形成与形成在外围电路区域PERI的最上面金属层中的下金属图案2273a相对应并且具有与外围电路区域PERI的下金属图案2273a相同的形状的上金属图案。
在字线接合区域WLBA中,下接合金属2271b和2272b可以形成在第二金属层2240b上。在字线接合区域WLBA中,外围电路区域PERI的下接合金属2271b和2272b可以通过接合方式电连接到单元区域CELL的上接合金属2371b和2372b。
此外,在位线接合区域BLBA中,与形成在外围电路区域PERI的最上面金属层中的下金属图案2252相对应并且具有与外围电路区域PERI的下金属图案2252相同的形状的上金属图案2392可以形成在单元区域CELL的最上面金属层中。在单元区域CELL的最上面金属层中形成的上金属图案2392上可以不形成接触。
在实施例中,参考图1、图2、图12、图21和图23描述的存储单元阵列或存储块可以被包括在单元区域CELL中。参考图1、图12、图19、图21和图23描述的外围电路(例如,地址译码器、页面缓冲电路、输入/输出电路和控制逻辑电路)可以被包括在外围电路区域PERI中。
如上所述,地址译码器、电压发生器和电压斜波器(voltage ramper)可以被包括在外围电路区域PERI中,并且可以执行参考图1、图12、图19、图21和图23所述的读取操作。例如,可以调整施加到包括在单元区域CELL中的存储块的未选字线的电压的斜率。与包括在单元区域CELL中的存储块的选定字线相关联的预脉冲相位可以不同于包括在单元区域CELL中的存储块的多条选择线的预脉冲相位。例如,提供了具有改善性能的非易失性存储装置。
在示例实施例中,如图32所述的非易失性存储装置2400可以操作并且可以包括根据图1至图7、图8A、图8B和图9至图30以及图31A至图31D所述的一个或更多个示例性实施例的设备组件。
在上述实施例中,通过使用术语“第一”、“第二”、“第三”等来描述根据本公开的组件。然而,术语“第一”、“第二”、“第三”可以用于将各组件彼此区分开,但并不限制本公开。例如,术语“第一”、“第二”、“第三”等不涉及任何形式的顺序或数字含义。
在上述实施例中,通过使用块来引用根据本公开的实施例的组件。这些块可以用诸如集成电路、专用IC(ASIC)、现场可编程门阵列(FPGA)和复杂可编程逻辑装置(CPLD)的各种硬件设备、在硬件设备中驱动的固件、诸如应用程序的软件或者硬件设备和软件的组合来实现。此外,这些块可以包括用集成电路中的半导体元件实现的电路,或注册为知识产权(IP)的电路。
根据本公开的实施例,非易失性存储装置可以基于延迟时间或单元计数差来调整验证电压电平。因此,提供了具有提高的可靠性的非易失性存储装置的操作方法。
尽管已经参考本公开的实施例描述了本公开,但对于本领域普通技术人员来说,可以对本公开进行各种更改和修改,而不偏离所附权利要求所陈述的本公开的精神和范围。
Claims (20)
1.一种非易失性存储装置的操作方法,所述非易失性存储装置包括多个存储块,所述多个存储块中的每个存储块包括连接在位线与公共源极线之间的多个单元串,所述多个单元串中的每个单元串包括串联连接的多个存储单元,并且所述多个存储单元分别连接到沿垂直于衬底的方向堆叠的多条字线,所述方法包括:
对所述多条字线中的第一字线执行1级编程操作,对所述第一字线的1级编程操作包括:
1级编程步骤,在该1级编程步骤中向所述第一字线施加编程电压,以及
1级验证步骤,在对所述第一字线执行了1级编程步骤之后,在该1级验证步骤中向所述第一字线施加多个1级验证电压中的至少一个1级验证电压;
存储表示针对所述第一字线的1级编程操作完成的时间的第一时间戳;
在执行了对所述第一字线的1级编程操作之后,对与所述第一字线相邻的第二字线执行1级编程操作,对所述第二字线的1级编程操作包括:
1级编程步骤,在该1级编程步骤中向所述第二字线施加编程电压,以及
1级验证步骤,在对所述第二字线执行了1级编程步骤之后,在该1级验证步骤中向所述第二字线施加多个1级验证电压中的至少一个1级验证电压;
存储表示针对所述第二字线的1级编程操作完成的时间的第二时间戳;
基于所述第一时间戳和所述第二时间戳,计算延迟时间;
确定所述延迟时间是否大于或等于阈值;
当确定所述延迟时间大于或等于所述阈值时,基于所述延迟时间,将与所述第一字线相关联的多个2级验证电压中的至少一个2级验证电压从第一电压电平调整为小于所述第一电压电平的第二电压电平;并且
在对所述第二字线执行了1级编程操作之后,对所述第一字线执行2级编程操作,对所述第一字线的2级编程操作包括:
2级编程步骤,在该2级编程步骤中向所述第一字线施加编程电压,以及
2级验证步骤,在对所述第一字线执行了2级编程步骤之后,在该2级验证步骤中向所述第一字线施加调整后的所述至少一个2级验证电压,
其中,所述至少一个1级验证电压的电平低于与所述至少一个1级验证电压相对应的调整后的所述至少一个2级验证电压的所述第二电压电平。
2.根据权利要求1所述的方法,其中,通过执行1级编程操作和2级编程操作,连接到所述第一字线的至少一个存储单元具有多个编程状态和擦除状态中的一个状态,
其中,所述至少一个2级验证电压包括第一验证电压和第二验证电压,
其中,所述第一验证电压是与所述多个编程状态中的第一编程状态相对应的参考电压,所述第二验证电压是与不同于所述第一编程状态的第二编程状态相对应的参考电压,
其中,当确定所述延迟时间大于或等于所述阈值时,所述第一验证电压的电压电平差的幅度不同于所述第二验证电压的电压电平差的幅度,并且
其中,所述第一验证电压的电压电平差是所述第一验证电压与调整后的所述第一验证电压之间的差,所述第二验证电压的电压电平差是所述第二验证电压与调整后的所述第二验证电压之间的差。
3.根据权利要求2所述的方法,其中,所述第二编程状态的所述第二验证电压大于所述第一编程状态的所述第一验证电压,并且
其中,当确定所述延迟时间大于或等于所述阈值时,所述第二验证电压的电压电平差的幅度大于或等于所述第一验证电压的电压电平差的幅度。
4.根据权利要求1所述的方法,其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
基于所述延迟时间和所述第一字线的位置,确定所述第二电压电平。
5.根据权利要求1所述的方法,其中,所述阈值是第一参考时间,所述方法还包括:
当所述延迟时间大于或等于所述第一参考时间且小于第二参考时间时,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平;以及
当所述延迟时间大于或等于所述第二参考时间时,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为低于所述第二电压电平且高于所述至少一个1级验证电压的电平的第三电压电平。
6.根据权利要求1所述的方法,其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
参考验证电压电平查找表,所述验证电压电平查找表包括所述延迟时间与2级验证电压电平差的映射信息,所述2级验证电压电平差是所述第一电压电平与所述第二电压电平之差。
7.根据权利要求1所述的方法,其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
由机器学习逻辑,基于所述延迟时间和访问环境信息,计算所述第一电压电平与所述第二电压电平之间的2级验证电压电平差;以及
基于计算出的2级验证电压电平差,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平。
8.根据权利要求7所述的方法,其中,所述访问环境信息包括以下至少一种:包括所述第一字线的目标块的位置、与所述第一字线相对应的目标串选择线的位置、所述第一字线的位置、所述非易失性存储装置的工作温度、编程循环/擦除循环的数目和单元计数。
9.根据权利要求1所述的方法,其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
调整发展时段,在所述发展时段期间基于所述延迟时间通过所述位线来改变连接到与所述第一字线连接的存储单元的感测节点的电压电平。
10.根据权利要求1所述的方法,其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
基于所述延迟时间,调整要被施加到未选字线的读取通过电压的电平。
11.根据权利要求1所述的方法,其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
基于所述延迟时间,调整连接到与所述第一字线连接的存储单元的位线的预充电电压电平。
12.根据权利要求1所述的方法,其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
基于所述延迟时间,调整连接到与所述第一字线连接的存储单元的位线的预充电时间。
13.根据权利要求1所述的方法,其中,对所述第一字线执行1级编程操作还包括:
在对所述第一字线的1级验证步骤完成之后的浅擦除时段期间,对所述第一字线执行1级浅擦除步骤,并且
其中,该1级浅擦除步骤包括:
向所述第一字线施加字线擦除电压;
使未选字线、连接到包括与所述第一字线连接的存储单元的第一单元串的串选择线、以及连接到所述第一单元串的接地选择线浮置;以及
向连接到所述第一单元串的位线和连接到所述第一单元串的公共源极线施加小于所述字线擦除电压的浅擦除电压。
14.一种非易失性存储装置的操作方法,所述非易失性存储装置包括多个存储块,所述多个存储块中的每个存储块包括连接在位线和公共源极线之间的多个单元串,所述多个单元串中的每个单元串包括串联连接的多个存储单元,所述多个存储单元分别连接到沿垂直于衬底的方向堆叠的多条字线,所述方法包括:
对所述多条字线中的第一字线执行1级编程操作,对所述第一字线的1级编程操作包括:
1级编程步骤,在该1级编程步骤中向所述第一字线施加编程电压,以及
1级验证步骤,在对所述第一字线执行了1级编程步骤之后,在该1级验证步骤中向所述第一字线施加多个1级验证电压中的至少一个1级验证电压;
在对所述第一字线执行了1级编程操作之后,基于与最高编程状态相对应的参考电压通过对所述第一字线执行单元计数操作来生成和存储第一单元计数;
在对所述第一字线执行了1级编程操作之后,对与所述第一字线相邻的第二字线执行1级编程操作,对所述第二字线的1级编程操作包括:
1级编程步骤,在该1级编程步骤中向所述第二字线施加编程电压,以及
1级验证步骤,在对所述第二字线执行1级编程步骤之后,在该
1级验证步骤中向所述第二字线施加多个1级验证电压中的至少一个1级验证电压;
在对所述第二字线执行了1级编程操作之后,基于所述参考电压通过对所述第二字线执行单元计数操作来生成和存储第三单元计数;
在对所述第二字线执行了1级编程操作之后,基于所述参考电压通过对所述第一字线执行单元计数操作来生成和存储第二单元计数;
基于所述第一单元计数和所述第二单元计数,计算单元计数差;
确定所述单元计数差是否大于或等于阈值;
当确定所述单元计数差大于或等于所述阈值时,基于所述单元计数差,将与所述第一字线相关联的多个2级验证电压中的至少一个2级验证电压从第一电压电平调整为小于所述第一电压电平的第二电压电平;以及
在对所述第二字线执行了1级编程操作之后,对所述第一字线执行2级编程操作,对所述第一字线的2级编程操作包括:
2级编程步骤,在该2级编程步骤中向所述第一字线施加编程电压,以及
2级验证步骤,在对所述第一字线执行了2级编程步骤之后,在该2级验证步骤中向所述第一字线施加调整后的所述至少一个2级验证电压,
其中,所述至少一个1级验证电压的电平低于与所述至少一个1级验证电压相对应的调整后的所述至少一个2级验证电压的所述第二电压电平。
15.根据权利要求14所述的方法,其中,通过执行1级编程操作和2级编程操作,连接到所述第一字线的至少一个存储单元具有多个编程状态和擦除状态中的一个状态,
其中,所述至少一个2级验证电压包括第一验证电压和第二验证电压,
其中,所述第一验证电压是与所述多个编程状态中的第一编程状态相对应的参考电压,所述第二验证电压是与不同于所述第一编程状态的第二编程状态相对应的参考电压,
其中,当确定所述单元计数差大于或等于所述阈值时,所述第一验证电压的电压电平差的幅度不同于所述第二验证电压的电压电平差的幅度,并且
其中,所述第一验证电压的电压电平差是所述第一验证电压与调整后的所述第一验证电压之间的差,所述第二验证电压的电压电平差是所述第二验证电压与调整后的所述第二验证电压之间的差。
16.根据权利要求15所述的方法,其中,所述第二编程状态的所述第二验证电压大于所述第一编程状态的所述第一验证电压,并且
其中,当确定所述单元计数差大于或等于所述阈值时,所述第二验证电压的电压电平差的幅度大于或等于所述第一验证电压的电压电平差的幅度。
17.根据权利要求14所述的方法,其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
参考验证电压电平查找表,所述验证电压电平查找表包括所述单元计数差与2级验证电压电平差的映射信息,所述2级验证电压电平差是所述第一电压电平与所述第二电压电平之差。
18.根据权利要求14所述的方法,其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
由机器学习逻辑,基于所述单元计数差和访问环境信息,计算所述第一电压电平和所述第二电压电平之间的2级验证电压电平差;以及
基于计算出的2级验证电压电平差,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平。
19.根据权利要求14所述的方法,其中,所述参考电压是第一参考电压,
其中,在生成和存储了所述第一单元计数之后,所述方法还包括:
基于不同于所述第一参考电压的第二参考电压通过对所述第一字线执行单元计数操作来生成第四单元计数,
其中,在生成和存储了所述第二单元计数之后,所述方法还包括:
基于所述第二参考电压通过对所述第一字线执行单元计数操作来生成第五单元计数,并且
其中,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平包括:
还基于所述第四单元计数和所述第五单元计数,将用于所述第一字线的所述至少一个2级验证电压从所述第一电压电平调整为所述第二电压电平。
20.一种非易失性存储装置的操作方法,所述非易失性存储装置包括多个存储块,所述多个存储块中的每个存储块包括连接在位线与公共源极线之间的多个单元串,所述多个单元串中的每个单元串包括串联连接的多个存储单元,所述多个存储单元分别连接到沿垂直于衬底的方向堆叠的多条字线,所述方法包括:
对所述多条字线中的第一字线执行1级编程操作,对所述第一字线的1级编程操作包括:
1级编程步骤,在该1级编程步骤中向所述第一字线施加编程电压,
1级验证步骤,在对所述第一字线执行了1级编程步骤之后,在该1级验证步骤中向所述第一字线施加多个1级验证电压中的至少一个1级验证电压,以及
1级浅擦除步骤,在对所述第一字线执行了1级验证步骤之后,
在该1级浅擦除步骤中向所述第一字线施加字线擦除电压;
存储表示针对所述第一字线的1级编程操作完成的时间的第一时间戳;
在对所述第一字线执行了1级编程操作之后,对与所述第一字线相邻的第二字线执行1级编程操作,对所述第二字线的1级编程操作包括:
1级编程步骤,在该1级编程步骤中向所述第二字线施加编程电压,
1级验证步骤,在对所述第二字线执行了1级编程步骤之后,在该1级验证步骤中向所述第二字线施加多个1级验证电压中的至少一个1级验证电压,以及
1级浅擦除步骤,在对所述第二字线执行了1级验证步骤之后,
在该1级浅擦除步骤中向所述第二字线施加字线擦除电压;
存储表示针对所述第二字线的1级编程操作完成的时间的第二时间戳;
基于所述第一时间戳和所述第二时间戳,计算延迟时间;
确定所述延迟时间是否大于或等于阈值;
当确定所述延迟时间大于或等于所述阈值时,基于所述延迟时间,将与所述第一字线相关联的多个2级验证电压中的至少一个2级验证电压从第一电压电平调整为低于所述第一电压电平的第二电压电平;和
在对所述第二字线执行了1级编程操作之后,对所述第一字线执行2级编程操作,对所述第一字线的2级编程操作包括:
2级编程步骤,在该2级编程步骤中向所述第一字线施加编程电压,以及
2级验证步骤,在对所述第一字线执行了2级编程步骤之后,在该2级验证步骤中向所述第一字线施加调整后的所述至少一个2级验证电压,
其中,所述至少一个1级验证电压的电平低于与所述至少一个1级验证电压相对应的调整后的所述至少一个2级验证电压的所述第二电压电平。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0150595 | 2021-11-04 | ||
KR1020210150595A KR20230064942A (ko) | 2021-11-04 | 2021-11-04 | 불휘발성 메모리 장치의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116072193A true CN116072193A (zh) | 2023-05-05 |
Family
ID=86147353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211132043.6A Pending CN116072193A (zh) | 2021-11-04 | 2022-09-16 | 非易失性存储装置的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12020759B2 (zh) |
KR (1) | KR20230064942A (zh) |
CN (1) | CN116072193A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11875043B1 (en) * | 2022-08-29 | 2024-01-16 | Sandisk Technologies Llc | Loop dependent word line ramp start time for program verify of multi-level NAND memory |
US12046314B2 (en) | 2022-08-29 | 2024-07-23 | SanDisk Technologies, Inc. | NAND memory with different pass voltage ramp rates for binary and multi-state memory |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6882567B1 (en) * | 2002-12-06 | 2005-04-19 | Multi Level Memory Technology | Parallel programming of multiple-bit-per-cell memory cells on a continuous word line |
JP5142478B2 (ja) | 2006-04-13 | 2013-02-13 | 株式会社東芝 | 半導体記憶装置 |
US8085591B2 (en) | 2008-05-20 | 2011-12-27 | Micron Technology, Inc. | Charge loss compensation during programming of a memory device |
KR101634340B1 (ko) * | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
KR101666406B1 (ko) | 2010-08-16 | 2016-10-17 | 삼성전자 주식회사 | 비휘발성 메모리 장치 및 그 프로그램 방법, 메모리 시스템 |
KR101855169B1 (ko) | 2011-10-13 | 2018-05-09 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 프로그램 방법, 불휘발성 메모리 장치를 포함하는 메모리 시스템 |
WO2016048846A1 (en) * | 2014-09-28 | 2016-03-31 | Aplus Flash Technology, Inc | Self-timed slc nand pipeline and concurrent program without verification |
US9875805B2 (en) | 2015-01-23 | 2018-01-23 | Sandisk Technologies Llc | Double lockout in non-volatile memory |
KR102695928B1 (ko) | 2016-12-19 | 2024-08-16 | 삼성전자주식회사 | 비휘발성 메모리의 리드 동작 방법, 비휘발성 메모리를 포함하는 메모리 시스템 및 이의 동작 방법 |
JP2020042885A (ja) | 2018-09-13 | 2020-03-19 | キオクシア株式会社 | 半導体記憶装置 |
US11119697B2 (en) | 2019-07-12 | 2021-09-14 | Micron Technology, Inc. | Read voltage management based on write-to-read time difference |
KR20220068541A (ko) | 2020-11-19 | 2022-05-26 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이의 동작 방법 |
-
2021
- 2021-11-04 KR KR1020210150595A patent/KR20230064942A/ko unknown
-
2022
- 2022-07-31 US US17/878,019 patent/US12020759B2/en active Active
- 2022-09-16 CN CN202211132043.6A patent/CN116072193A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US12020759B2 (en) | 2024-06-25 |
US20230139427A1 (en) | 2023-05-04 |
KR20230064942A (ko) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110021313B (zh) | 非易失性存储器件及其读取方法 | |
CN106683702B (zh) | 非易失性存储器装置及其读方法 | |
US10957397B2 (en) | Non-volatile memory device, storage device, and programming method thereof for performing an erase detect operation | |
JP4936914B2 (ja) | 半導体記憶装置 | |
US9627077B2 (en) | Semiconductor memory device storing management data redundantly in different pages | |
US9704588B1 (en) | Apparatus and method for preconditioning currents to reduce errors in sensing for non-volatile memory | |
US11854627B2 (en) | Non-volatile memory device, operating method thereof, and storage device having the same | |
TWI698885B (zh) | 半導體記憶裝置 | |
US9030878B2 (en) | Semiconductor memory device including a plurality of cell strings, memory system including the same, and control method thereof | |
CN116072193A (zh) | 非易失性存储装置的操作方法 | |
CN110675908B (zh) | 半导体存储装置 | |
JP2019200826A (ja) | 半導体記憶装置 | |
JP7126015B2 (ja) | Foggy-Fineプログラミングのためのオンチップ符号化を使用する不揮発性メモリ | |
CN112262435B (zh) | 用于确定存储器单元的预期数据使用期限的设备及方法 | |
US12119063B2 (en) | Memory device and operation method thereof | |
US20230402113A1 (en) | Data latch programming algorithm for multi-bit-per-cell memory devices | |
TW202312175A (zh) | 未選擇子區塊之程式化相依偏壓 | |
TW202119421A (zh) | 半導體記憶體裝置及其操作方法 | |
US11842773B2 (en) | Page buffer, semiconductor memory device with page buffer, and method of operating semiconductor memory device | |
US11687252B2 (en) | Non-volatile memory with pre-trained model and inference circuit | |
US20240005992A1 (en) | Operation method of memory device including memory block connected to wordlines | |
WO2024169210A1 (en) | System and method of performing a read operation | |
CN117079682A (zh) | 被配置为减少验证时间的存储器装置及其操作方法 | |
CN118369722A (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 |