CN113936721A - 存储器系统、存储器装置和操作存储器装置的方法 - Google Patents
存储器系统、存储器装置和操作存储器装置的方法 Download PDFInfo
- Publication number
- CN113936721A CN113936721A CN202110232199.0A CN202110232199A CN113936721A CN 113936721 A CN113936721 A CN 113936721A CN 202110232199 A CN202110232199 A CN 202110232199A CN 113936721 A CN113936721 A CN 113936721A
- Authority
- CN
- China
- Prior art keywords
- value
- memory
- verify operation
- verify
- data latch
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 310
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000012795 verification Methods 0.000 claims description 50
- 238000004891 communication Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 24
- 238000012937 correction Methods 0.000 description 19
- 238000001514 detection method Methods 0.000 description 16
- 239000000872 buffer Substances 0.000 description 14
- 239000010410 layer Substances 0.000 description 8
- 238000007667 floating Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 239000000470 constituent Substances 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 230000003936 working memory Effects 0.000 description 6
- 101100162210 Aspergillus parasiticus (strain ATCC 56775 / NRRL 5862 / SRRC 143 / SU-1) aflM gene Proteins 0.000 description 5
- 101100102500 Caenorhabditis elegans ver-1 gene Proteins 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer 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/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/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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/18—Bit line organisation; Bit line lay-out
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
本公开的实施例涉及存储器系统、存储器装置和操作存储器装置的方法。根据本公开的实施例,存储器装置可以响应于从存储器控制器接收到挂起正在执行的编程操作的挂起命令,对存储器单元执行第一验证操作和第二验证操作,可以将基于第一验证操作的结果值和第二验证操作的结果值获得的临时值存储在第一数据锁存器中,并且可以执行第三验证操作,并且基于第三验证操作的结果值和存储在第一数据锁存器中的临时值来复原第一验证操作的结果值和第二验证操作的结果值。
Description
相关申请的交叉引用
本申请要求于2020年6月29日提交的申请号为10-2020-0079073的韩国专利申请的优先权和权益,其通过引用整体并入本文。
技术领域
在本专利文件中公开的技术和实施方案涉及存储器系统、存储器装置和操作存储器装置的方法。
背景技术
存储装置是指用于永久或临时存储数据的电子组件。每个存储装置可以包括一个或多个存储介质,以存储数据并基于来自主机的请求而操作。主机的示例包括计算机、移动终端(例如,智能手机或平板电脑)或各种其他电子装置。可以基于存储介质的类型对存储装置进行分类。例如,硬盘驱动器(HDD)使用磁盘作为存储介质,固态驱动器(SSD)、通用闪存装置(UFS)或嵌入式MMC(eMMC)装置使用诸如易失性存储器装置和非易失性存储器装置的半导体装置作为存储介质。
存储器系统可进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以基于所接收到的命令来执行或控制用于读取、写入或擦除存储器系统中包括的易失性存储器或非易失性存储器中的数据的操作。存储器控制器可以驱动固件,该固件用于执行用于控制这种操作的逻辑运算。
存储器系统包括用作数字存储装置的存储器单元。通过执行编程操作(或被称为写入操作)以在存储器单元上编程或写入数据,存储器单元被编程为多种状态中的一种。然而,在一些情况下,可挂起正在对存储器单元执行的编程操作。例如,挂起编程操作,并且在挂起编程操作的同时执行读取操作。在接收到恢复命令之后,可以恢复已经被挂起的编程操作。包括编程操作的挂起和编程操作的恢复的存储器系统的操作可以提高对主机的服务质量(QoS)。
发明内容
本公开技术的实施例可以提供一种存储器系统、存储器装置和操作存储器装置的方法,其能够在编程操作恢复之后复原验证结果,使得复原的验证结果与在编程操作挂起之前获得的验证结果相同。
此外,本公开技术的一些实施例可以提供一种存储器系统、存储器装置和操作存储器装置的方法,其能够防止在编程操作挂起的情况下由阈值电压分布的改变引起的编程操作的异常执行。
在本公开的一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括:存储器装置,包括存储器单元阵列,该存储器单元阵列包括在多种状态下可编程的存储器单元;以及存储器控制器,与存储器装置通信并且被配置为控制存储器装置。
存储器装置可包括存储器单元以及存储关于存储器单元的状态的信息的第一数据锁存器。
存储器装置可响应于从存储器控制器接收到挂起正在对存储器单元执行的编程操作的挂起命令,对存储器单元执行第一验证操作和第二验证操作。可以使用验证电压来执行第一验证操作和第二验证操作以确定存储器单元的状态。
存储器装置可将基于第一验证操作的结果值和第二验证操作的结果值获得的临时值存储在第一数据锁存器中。
存储装置可以响应于从存储控制器接收到恢复编程操作的恢复命令,执行第三验证操作,并且可以基于第三验证操作的结果值和存储在第一数据锁存器中的临时值来复原第一验证操作的结果值和第二验证操作的结果值。
在这种情况下,用于第一验证操作的验证电压高于用于第二验证操作和第三验证操作的验证电压。用于第二验证操作的验证电压与用于第三验证操作的验证电压可以相同。
当第一验证操作的结果值和第二验证操作的结果值都是第一值时,存储器装置可将临时值设置为第一值,并且当第一验证操作的结果值或第二验证操作的结果值是第二值时,可将临时值设置为第二值。
存储器装置可以进一步包括第二数据锁存器,该第二数据锁存器被配置为在接收到挂起命令和接收到恢复命令之间执行的读取操作期间被使用。
存储器装置可以响应于接收到恢复命令,将已存储在第一数据锁存器中的临时值存储在第二数据锁存器中,并且可以将第三验证操作的结果值存储在第一数据锁存器中。
当存储在第二数据锁存器中的临时值是第一值时,存储器装置可将第一数据锁存器的值设置为第一值,当存储在第二数据锁存器中的临时值和存储在第一数据锁存器中的第三验证操作的结果值都是第二值时,可将第二数据锁存器的值设置为第一值。
在本公开的另一方面,本公开的实施例可以提供一种与存储器控制器通信的存储器装置。
该存储器装置可以包括在多种状态下可编程的存储器单元和存储关于存储器单元的状态的信息的第一数据锁存器。
存储器装置可响应于从存储器控制器接收到挂起正在对存储器单元执行的编程操作的挂起命令,对存储器单元执行第一验证操作和第二验证操作。可以使用不同的验证电压来执行第一验证操作和第二验证操作以验证存储器单元的状态。
存储器装置可将基于第一验证操作的结果值和第二验证操作的结果值获得的临时值存储在第一数据锁存器中。
存储器装置可响应于从存储器控制器接收到恢复编程操作的恢复命令,执行第三验证操作,并且可基于第三验证操作的结果值和存储在第一数据锁存器中的临时值来复原第一验证操作的结果值和第二验证操作的结果值。
在本公开的另一方面,本公开的实施例可以提供一种操作存储器装置的方法。
该操作存储器装置的方法可包括:从存储器控制器接收挂起正在对存储器单元执行的编程操作的挂起命令,该存储器单元在存储器装置中并且在多种状态下可编程。
该操作存储器装置的方法可以包括使用验证电压来对存储器单元执行第一验证操作和第二验证操作以确定存储器单元的状态的操作。
该操作存储器装置的方法可以包括将基于第一验证操作的结果值和第二验证操作的结果值获得的临时值存储在第一数据锁存器中的操作。
该操作存储器装置的方法可以包括从存储器控制器接收恢复编程操作的恢复命令的操作。
该操作存储器装置的方法可以包括:当接收到与挂起的编程操作相关联的恢复命令时,执行第三验证操作,并且基于第三验证操作的结果值和存储在第一数据锁存器中的临时值来复原第一验证操作的结果值和第二验证操作的结果值的操作。
在这种情况下,用于第一验证操作的验证电压可以高于用于第二验证操作和第三验证操作的验证电压。用于第二验证操作的验证电压和用于第三验证操作的验证电压可以相同。
当第一验证操作的结果值和第二验证操作的结果值都是第一值时,临时值为第一值,并且当第一验证操作的结果值或第二验证操作的结果值是第二值时,临时值为第二值。
复原第一验证操作的结果值和第二验证操作的结果值可以包括:将已存储在第一数据锁存器中的临时值存储在第二数据锁存器中,并且将第三验证操作的结果值存储在第一数据锁存器中。
复原第一验证操作的结果值和第二验证操作的结果值可以包括:当存储在第二数据锁存器中的临时值是第一值时,将第一数据锁存器的值设置为第一值,并且当存储在第二数据锁存器中的临时值和存储在第一数据锁存器中的第三验证操作的结果值都是第二值时,将第二数据锁存器的值设置为第一值。
根据本公开技术的实施例,当恢复被挂起的编程操作时,验证结果可以被复原为与在编程操作被挂起之前获得的验证结果相同。
此外,根据本公开技术的实施例,可以防止当编程操作被挂起时,可能由阈值电压分布的改变引起的编程操作的异常执行。
附图说明
从以下结合附图的详细描述中,本公开技术的上述和其它方面、特征和优点将变得更明显,其中:
图1是示出基于本公开技术的一些实施方案的存储器系统的配置的示意图。
图2是示意性地示出基于本公开技术的一些实施方案的存储器装置的框图。
图3是示出基于本公开技术的一些实施方案的存储器装置的字线和位线的结构的示图。
图4是示出基于本公开技术的一些实施方案的存储器系统的示意图。
图5是示出基于本公开技术的一些实施方案的存储器控制器和存储器装置的操作的流程图。
图6是示出当执行编程操作时第一验证操作和第二验证操作的结果的示图。
图7是示出当编程操作被挂起时存储在第一数据锁存器中的值的示图。
图8是示出当在编程操作挂起之后执行读取操作时第一数据锁存器和第二数据锁存器的状态的示图。
图9是示出当编程操作被挂起时被执行编程的存储器单元的阈值电压分布的改变的示例的示图。
图10是示出当恢复编程操作时的第三验证操作的结果的示图。
图11是示出当恢复编程操作时存储在第一数据锁存器中的值的示例的示图。
图12是示出当恢复编程操作时存储在第二数据锁存器中的值的示例的示图。
图13是示出基于本公开技术的一些实施方案的操作存储器装置的方法的流程图。
图14是示出基于本公开技术的一些实施方案的计算系统的配置的示图。
具体实施方式
在下文中,将参照附图详细描述本公开技术的实施例。
当接收到恢复命令时,存储器系统执行验证操作以验证存储器单元的状态。在恢复被挂起的编程操作的过程中,写入存储器单元的数据的验证点可能改变,或者在写入操作被挂起之前获得的验证数据的一部分可能丢失。因此,在将数据写入存储器装置的过程中,可能异常地执行确定存储器单元的状态的验证,并且其中写入数据的存储器单元的阈值电压分布可能劣化,这是一个缺点。认识到这一点,本公开技术提供了各种实施方案,其使得能够获得验证操作的结果而不会由于恢复操作的过程中的不希望的情况而受到影响。
图1是示出根据本公开技术的实施例的存储器系统100的示意性配置的示图。
参照图1,存储器系统100可以包括被配置成存储数据的存储器装置110和被配置成控制存储器装置110的存储器控制器120。
存储器装置110可包括多个存储块。存储器装置110可被配置成响应于从存储器控制器120接收到的控制信号而操作。存储器装置110的操作可包括例如读取操作、编程操作(也被称为“写入操作”)、擦除操作等。
存储器装置110可包括存储器单元阵列,该存储器单元阵列包括被配置成存储数据的多个存储器单元(也简称为“单元”)。在一些实施方案中,存储器单元中的每一个可被构造或操作以存储单个位或更多个位的信息。存储器单元阵列可被组织为用于存储器操作的不同块和页面。存储器单元阵列的单元可以被组织为包括多个存储块。每个存储块可以包括多个页面,并且每个页面对应于多个存储器单元。
例如,存储器装置110可以被实施为诸如以下的各种类型:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
存储器装置110可以三维阵列结构实施。在一些实施方案中,本公开技术的实施例适用于具有被配置为导电浮栅的电荷存储层的闪速存储器装置。在一些其它实施方案中,本公开技术的实施例应用于具有电荷撷取闪存(CTF)的闪速存储器装置,该CTF具有被配置为绝缘膜的电荷存储层。
通过将命令/地址信号提供到存储器控制器120,存储器控制器120可基于来自用户/主机的请求访问存储器装置110。在一些实施方案中,存储器装置110可被配置成从存储器控制器接收命令及执行或运行该命令的地址,并访问存储器单元阵列中使用该地址选择的区域。例如,存储器装置110可以在存储器装置的、具有与从存储器控制器120接收到的地址相对应的物理地址的存储器区域中,执行与接收到的命令相对应的操作。
例如,存储器装置110可以执行编程操作、读取操作、擦除操作或其他操作。在编程操作期间,存储器装置110可以将数据编程在由地址选择的区域中。在读取操作期间,存储器装置110可从由地址选择的区域读取数据。在擦除操作期间,存储器装置110可以擦除存储在由该地址选择的区域中的数据。
存储器控制器120可控制关于存储器装置110的写入操作(编程操作)、读取操作、擦除操作或后台操作。后台操作可包括例如垃圾收集(GC)操作、损耗均衡(WL)操作和坏块管理(BBM)操作中的至少一种。本文中使用的术语“垃圾收集”可以指一种存储器管理的形式,其中垃圾收集器试图回收由不再使用的对象占用的内存(垃圾)。损耗均衡指示用于延长可擦除存储装置的寿命的技术。
存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,存储器控制器120可在没有主机的相应请求的情况下,例如,当存储器控制器120执行存储器装置的一个或多个后台操作时,控制存储器装置110的操作。
存储器控制器120和主机可以是分离的装置。在一些情况下,存储器控制器120和主机可以被集成并实施为单个装置。在以下描述中,存储器控制器120和主机是分离的装置。
参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
主机接口121可以被配置为提供用于与主机通信的接口。
当从主机HOST接收命令时,控制电路123可以通过主机接口121接收命令,并且可以执行处理所接收到的命令的操作。
存储器接口122可以连接到存储器装置110以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为响应于控制电路123的控制而向存储器装置110和存储器控制器120提供接口。
控制电路123可以被配置为通过执行用于存储器控制器120的总体控制的操作来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ECC电路)126等。
处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑运算。处理器124可以通过主机接口121与主机HOST通信。处理器124可以通过存储器接口122与存储器装置110通信。
处理器124可以执行闪存转换层(FTL)的功能。处理器124可以通过FTL将主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可接收LBA,并通过使用映射表将LBA转换为PBA。
根据映射单位,FTL可以采用各种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
处理器124可被配置为使从主机接收到的数据随机化。例如,处理器124可通过使用随机化种子来使从主机接收到的数据随机化。经随机化的数据作为待存储的数据被提供到存储器装置110,并且被编程在存储器单元阵列中。
处理器124可被配置为在读取操作期间使从存储器装置110接收到的数据去随机化。例如,处理器124可以通过使用去随机化种子来使从存储器装置110接收到的数据去随机化。经去随机化的数据可以被输出到主机HOST。
处理器124可运行固件(FW)以控制存储器控制器120的操作。换句话说,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑运算,可以在启动期间运行(驱动)加载到工作存储器125中的固件。
固件是指在存储器系统100内部运行的程序,并且可以包括各种功能层。
例如,固件可包括闪存转换层(FTL)、主机接口层(HIL)和闪存接口层(FIL)中的至少一个,闪存转换层(FTL)被配置为在主机HOST请求存储器系统100提供的逻辑地址与存储器装置110的物理地址之间转换,主机接口层(HIL)被配置为解译主机HOST向存储器系统100(存储装置)发出的命令并且将该命令传递到FTL,闪存接口层(FIL)被配置为将FTL发出的命令传递到存储器装置110。
例如,固件可以存储在存储器装置110中,然后加载到工作存储器125中。
工作存储器125可以存储驱动存储器控制器120所必需的固件、程序代码、命令或数据条。工作存储器125可以包括作为易失性存储器的例如静态RAM(SRAM)、动态RAM(DRAM)和同步RAM(SDRAM)中的至少一个。
错误检测/校正电路126可以被配置为通过使用错误校正码来检测检查目标数据的错误位,并且校正检测到的错误位。例如,检查目标数据可以是存储在工作存储器125中的数据、从存储器装置110检索的数据等。
错误检测/校正电路126可以被实施为通过使用错误校正码来对数据进行解码。错误检测/校正电路126可以通过使用各种代码解码器来实施。例如,可以使用执行非系统代码解码的解码器或执行系统代码解码的解码器。
例如,错误检测/校正电路126可以针对每条读取数据逐扇区地检测错误位。每条读取数据可包括多个扇区。如本文所使用的,扇区可以指小于闪速存储器的读取单位(页面)的数据单位。构成每条读取数据的扇区可以经由地址彼此对应。
错误检测/校正电路126可以计算误码率(BER)并确定是否可以逐扇区地进行校正。例如,如果BER高于参考值,则错误检测/校正电路126可以确定相应的扇区是不可校正的或“失败”。如果BER低于或等于参考值,则错误检测/校正电路126可以确定相应的扇区是可校正的或“通过”。
错误检测/校正电路126可以对所有读取数据条连续地执行错误检测和校正操作。当包括在读取数据中的扇区是可校正的时,错误检测/校正电路126可以针对下一条读取数据省略与相应扇区有关的错误检测和校正操作。在以这种方式完成关于所有读取数据条的错误检测和校正操作之后,错误检测/校正电路126可以检测被认为最终不可校正的扇区。可能存在一个或多个被认为不可校正的扇区。错误检测/校正电路126可将关于被认为不可校正的扇区的信息(例如,地址信息)传递到处理器124。
总线127可以被配置为在存储器控制器120的组成元件121、122、124、125和126(即,主机接口121、存储器接口122、处理器124、工作存储器125和错误检测/校正电路126)之间提供通道。总线127可以包括例如用于传递各种类型的控制信号和命令的控制总线,以及用于传递各种类型的数据的数据总线。
存储器控制器120的上述组成元件121、122、124、125和126仅作为示例提供。注意,可以省略存储器控制器120的上述组成元件121、122、124、125和126中的一些,或者可以将存储器控制器120的上述组成元件121、122、124、125和126中的一些集成到单个元件中。另外,在一些情况下,除了存储器控制器120的上述组成元件之外,可以添加一个或多个其它组成元件。
在下文中,将参照图2更详细地描述存储器装置110。
图2是示意性地示出根据本公开技术的实施例的存储器装置110的框图。
参照图2,存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。
存储器单元阵列210可包括多个存储器块BLK1-BLKz,其中z为等于或大于2的自然数。
在多个存储块BLK1-BLKz中,可以按行和列设置多条字线WL和多条位线BL,并且可以布置多个存储器单元MC。
多个存储块BLK1-BLKz可通过多条字线WL连接到地址解码器220。多个存储块BLK1-BLKz可通过多条位线BL连接到读取/写入电路230。
多个存储块BLK1-BLKz中的每一个可包括多个存储器单元。例如,多个存储器单元是非易失性存储器单元。在一些实施方案中,这些非易失性存储器单元具有垂直沟道结构。
存储器单元阵列210可以包括具有二维结构的存储器单元阵列或具有三维结构的存储器单元阵列。
包括在存储器单元阵列210中的多个存储器单元中的每一个可以存储至少一位数据。例如,包括在存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为每个存储器单元存储一位数据的单层单元(SLC)。在另一示例中,包括在存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为每个存储器单元存储两位数据的多层单元(MLC)。在另一示例中,包括在存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为每个存储器单元存储三位数据的三层单元(TLC)。在另一示例中,包括在存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为每个存储器单元存储四位数据的四层单元(QLC)。在另一示例中,存储器单元阵列210可包括多个存储器单元,多个存储器单元中的每一个可被配置为每个存储器单元存储至少五位数据。
参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置为驱动存储器单元阵列210的外围电路操作。
地址解码器220可通过多条字线WL连接到存储器单元阵列210。
地址解码器220可被配置为响应于控制逻辑240的命令和控制信号而操作。
地址解码器220可通过存储器装置110内部的输入/输出缓冲器接收地址。地址解码器220可以被配置为对所接收到的地址之中的块地址进行解码。地址解码器220可以基于经解码的块地址选择至少一个存储块。
地址解码器220可以从电压生成电路250接收读取电压Vread和通过电压Vpass。
当在读取操作期间施加读取电压时,地址解码器220可将读取电压Vread施加到所选择的存储块内部的所选择的字线WL,并且可将通过电压Vpass施加到剩余的未选择的字线WL。
在编程验证操作期间,地址解码器220可将由电压生成电路250生成的验证电压施加到所选择的存储块内部的所选择的字线WL,并且可将通过电压Vpass施加到剩余的未选择的字线WL。
地址解码器220可被配置为对接收到的地址之中的列地址进行解码。地址解码器220可以将经解码的列地址传输到读取/写入电路230。
存储器装置110可以基于页面来执行读取操作和编程操作。在一些实施方案中,存储器单元阵列可包括存储块,并且每个存储块可包括多个页面,每个页面对应于多个存储器单元。在请求读取操作和编程操作时接收到的地址可以包括块地址、行地址和列地址中的至少一个。
地址解码器220可以基于块地址和行地址选择一个存储块和一条字线。列地址可由地址解码器220解码并提供到读取/写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
读取/写入电路230可以包括多个页面缓冲器PB。读取/写入电路230可以在存储器单元阵列210执行读取操作时作为“读取电路”来操作,并且可以在存储器单元阵列210执行写入操作时作为“写入电路”来操作。
上述读取/写入电路230也被称为包括多个页面缓冲器PB的页面缓冲器电路,或者数据寄存器电路。读取/写入电路230可以包括能够保持用于数据处理的数据的数据缓冲器,并且在一些实施方案中,可以进一步包括用于数据高速缓存的高速缓存缓冲器。
多个页面缓冲器PB可以通过多条位线BL连接到存储器单元阵列210。为了在读取操作和编程验证操作期间检测或感测存储器单元的阈值电压Vth,多个页面缓冲器PB可以向连接到存储器单元的位线BL连续地供应感测电流,以在感测节点处检测基于相应的存储器单元的编程状态的与电流成比例的电学变化,并且可以将相应的电压锁存为感测数据。
读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作期间,读取/写入电路230感测存储器单元的电压值,并且将该电压值作为数据读出。读取/写入电路230临时存储所检索到的数据,并将数据DATA输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器PB或页面寄存器之外,读取/写入电路230可以包括列选择电路。
控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可通过存储器装置110的输入/输出缓冲器接收命令CMD和控制信号CTRL。
控制逻辑240可被配置为响应于控制信号CTRL来控制存储器装置110的全部操作。控制逻辑240可以输出用于将多个页面缓冲器PB的感测节点的电压电平调整到预充电电压电平的控制信号。
控制逻辑240可控制读取/写入电路230以在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成在读取操作期间使用的读取电压Vread和通过电压Vpass。
包括在存储器装置110中的存储块BLK可以包括多个页面PG和多个串。多个页面PG对应于多条字线WL,并且多个串STR对应于多条位线BL。
在存储块BLK中,多条字线WL和多条位线BL可以交叉布置。例如,多条字线WL中的每一条可以沿行方向布置,并且多条位线BL中的每一条可以沿列方向布置。在另一示例中,多条字线WL中的每一条可以沿列方向布置,并且多条位线BL中的每一条可以沿行方向布置。
多条字线WL和多条位线BL可以彼此交叉,从而限定多个存储器单元MC。每个存储器单元MC可以具有布置在其中的晶体管TR。
例如,布置在每个存储器单元MC中的晶体管TR可以包括漏极、源极和栅极。晶体管TR的漏极(或源极)可直接地或经由另一晶体管TR连接到相应的位线BL。晶体管TR的源极(或漏极)可以直接地或经由另一晶体管TR连接到源极线(其可以是接地)。晶体管TR的栅极可以包括浮栅(FG)和控制栅极(CG),其中浮栅(FG)由绝缘体包围,从字线WL向控制栅极CG施加栅极电压。
在多个存储块BLK1-BLKz的每一个中,第一选择线(也称为源极选择线或漏极选择线)可以被附加地布置在两个最外字线之中更靠近读取/写入电路230的第一最外字线的外部,并且第二选择线(也称为漏极选择线或源极选择线)可以被附加地布置在另一第二最外字线的外部。
在一些情况下,可以在第一最外字线和第一选择线之间附加地布置至少一个虚设字线。另外,也可以在第二最外字线和第二选择线之间附加地布置至少一个虚设字线。
可以以页面为单位执行存储块的读取操作和编程操作(写入操作),并且可以以存储块为单位执行擦除操作。
图3是示出根据本公开技术的实施例的存储器装置110的字线WL和位线BL的结构的示图。
参照图3,存储器装置110具有存储器单元MC集中在其中的内核区域,和对应于内核区域之外的剩余区域的辅助区域。辅助区域包括用于支持存储器单元阵列210的操作的电路。
内核区域可以包括页面PG和串STR。在一些实施方案中,多条字线WL1至WL9和多条位线BL交叉布置。
字线WL1至WL9可连接到行解码器310。位线BL可连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可存在于多条位线BL与列解码器320之间。
多条字线WL1至WL9可对应于多个页面PG。
例如,如图3所示,多条字线WL1至WL9中的每一条可对应于一个页面PG。当多条字线WL1至WL9中的每一条的大小较大时,多条字线WL1至WL9中的每一条可对应于至少两个(例如,两个或四个)页面PG。每个页面PG是与进行编程操作和读取操作有关的最小单位,并且当进行编程操作和读取操作时,在相同页面PG内的所有存储器单元MC可以同时执行操作。
多条位线BL可以连接到列解码器320。在一些实施方案中,多条位线BL可被划分为奇数编号的位线BL和偶数编号的位线BL,使得一对奇数编号的位线BL和偶数编号的位线BL共同联接到列解码器320。
地址可用于访问内核区域中的一个或多个存储器单元MC。可通过输入/输出端将地址提供到行解码器310和列解码器320以选择相应的目标存储器单元。在一些实施方案中,目标存储器单元可以指作为从存储器控制器或用户访问的目标的存储器单元MC中的一个,并且在一些实施方案中,存储器单元MC可以位于连接到行解码器310的字线WL1至WL9与连接到列解码器320的位线BL之间的交叉处。
在一些实施方案中,因为由存储器装置110进行的所有数据处理,包括编程操作和读取操作,都经由数据寄存器330发生,所以数据寄存器330起作用。如果数据寄存器330的数据处理被延迟,则所有其它区域需要等待,直到数据寄存器330完成数据处理,这使存储器装置110的整体性能劣化。
参照图3中所示出的实例,在一个串STR中,多个晶体管TR1至TR9可分别连接到多条字线WL1至WL9。在一些实施方案中,多个晶体管TR1至TR9对应于存储器单元MC。在此实例中,多个晶体管TR1至TR9包括控制栅极CG和浮栅FG。
多条字线WL1至WL9包括两个最外字线WL1和WL9。第一选择线DSL可以附加地布置在第一最外字线WL1的外部,第一最外字线WL1与另一最外字线WL9相比更靠近数据寄存器330并且具有更短的信号路径。第二选择线SSL可以附加地布置在另一第二最外字线WL9的外部。
由第一选择线DSL控制导通/关断的第一选择晶体管D-TR具有连接到第一选择线DSL的栅电极,但不包括浮栅FG。由第二选择线SSL控制导通/关断的第二选择晶体管S-TR具有连接到第二选择线SSL的栅电极,但是不包括浮栅FG。
第一选择晶体管D-TR用作将相应的串STR连接到数据寄存器330的开关电路。第二选择晶体管S-TR用作将相应的串STR连接到源极线SL的开关电路。因此,第一选择晶体管D-TR和第二选择晶体管S-TR可以用来启用或禁用相应的串STR并传递/阻止信号。
在编程操作期间,存储器系统100利用电子填充待被编程的位线BL的目标存储器单元MC。因此,存储器系统100将预定的导通电压Vcc施加到第一选择晶体管D-TR的栅电极,从而导通第一选择晶体管D-TR,并将预定的关断电压(例如,0V)施加到第二选择晶体管S-TR的栅电极,从而关断第二选择晶体管S-TR。
存储器系统100在读取操作或验证操作期间导通第一选择晶体管D-TR和第二选择晶体管S-TR两者。因此,在读取操作或验证操作期间,电流可流经相应的串STR并且流出到对应于接地电压的源极线SL,使得可测量位线BL的电压电平。然而,在读取操作期间,在第一选择晶体管D-TR和第二选择晶体管S-TR之间的通/断时间上可能存在时间差。
在擦除操作期间,存储系统100可通过源极线SL向衬底施加预定电压(例如+20V)。在擦除操作期间,存储器系统100施加一定的电压以使第一选择晶体管D-TR和第二选择晶体管S-TR都浮置。因此,所施加的擦除电压可从所选择的存储器单元的浮栅FG移除电荷。
图4是示出根据本公开技术的各个实施例的存储器系统100的示意图。
参照图4,存储器系统100的存储器控制器120可传输命令以对存储器装置110执行操作(例如,编程操作、读取操作或删除操作),以便处理来自主机(HOST)的请求。存储器装置110可以基于从存储器控制器120接收到的命令来执行操作。
存储器装置110可包括第一数据锁存器(DL_1)。存储器装置110可附加地包括第二数据锁存器(DL_2)。第一数据锁存器(DL_1)和第二数据锁存器(DL_2)可以是电路或包括电路,每个电路能够存储1位数据,并且用于存储在编程操作期间被执行编程的存储器单元的编程状态信息。第一数据锁存器(DL_1)和第二数据锁存器(DL_2)中的每一个可以实施为例如触发器电路、寄存器等。
在存储器装置110响应于从存储器控制器120接收到的编程命令执行编程操作的同时,存储器控制器120可向存储器装置110传输命令挂起当前正在执行的编程操作的挂起命令。当存储器控制器120从主机(HOST)接收到单独的挂起命令,或者正在执行编程操作的同时从主机接收到读取请求时,存储器控制器120可向存储器装置110传输挂起命令。
存储器装置110可在从存储器控制器120接收到挂起命令之后挂起当前正在执行的编程操作,随后可执行从存储器控制器120接收到的另一命令(例如,读取命令)。存储器装置110可从存储器控制器接收指示存储器装置恢复被挂起的编程操作的恢复命令,并可恢复被挂起的编程操作。
在下文中,将参照图5描述当编程操作被挂起和恢复时存储器控制器120和存储器装置110的操作。
图5是示出根据本公开技术的实施例的存储器控制器120和存储器装置110的操作的流程图。
参照图5,存储器控制器120可向存储器装置110传输命令挂起当前正在执行的编程操作的挂起命令。
当在对存储器单元执行编程操作的同时存储器装置110接收到挂起命令时,存储器装置110可对相应的存储器单元执行第一验证操作和第二验证操作。
第一验证操作和第二验证操作中的每一个可以是将验证电压施加到存储器单元以便验证相应的存储器单元的编程状态的操作。在一些实施方案中,验证电压可预先设置。在这种情况下,用于第一验证操作的验证电压的值可以高于用于第二验证操作的验证电压的值。
随后,存储器装置110可以将基于第一验证操作的结果值和第二验证操作的结果值产生或获得的临时值存储在存储器装置110中包括的第一数据锁存器(DL_1)中。随后,存储器装置110可以进入编程操作被挂起的状态。
随后,存储器控制器120可将读取命令传输到存储器装置110,以便在编程操作被挂起的状态下处理主机(HOST)请求的读取操作。在接收到读取命令之后,存储器装置110可执行由相应的读取命令指示的读取操作。
随后,存储器控制器120可将恢复命令传输到存储器装置110以便恢复挂起的编程操作。
在接收到恢复命令之后,存储器装置110可以对编程操作被挂起的存储器单元执行第三验证操作。在第三验证操作中,存储器装置110可以使用与用于第二验证操作的验证电压相同的验证电压来验证相应的存储器单元的编程状态。
基于第三验证操作的结果值和存储在第一数据锁存器(DL_1)中的临时值,存储器装置110可复原在编程操作被挂起之前获得的第一验证操作的结果值和第二验证操作的结果值。
在下文中,将参照附图详细描述存储器装置110的上述操作的实施例。
图6是示出当执行编程操作时的第一验证操作的结果和第二验证操作的结果的示图。
如图5所示,存储器装置110可对存储器单元执行第一验证操作和第二验证操作,以便验证存储器单元的编程状态。
在第一验证操作中,存储器装置110可将第一验证电压(VER_1)施加到存储器单元。在第二验证操作中,存储器装置110可将第二验证电压(VER_2)施加到存储器单元。在这种情况下,如图6所示,当执行第一验证操作时施加到存储器单元的第一验证电压(VER_1)高于当执行第二验证操作时施加到存储器单元的第二验证电压(VER_2)。
在这种情况下,基于存储器单元的阈值电压、第一验证电压(VER_1)和第二验证电压(VER_2),存储器单元的编程状态可以被分类为第一状态(ST_1)、第二状态(ST_2)或第三状态(ST_3)。
如果存储器单元的阈值电压小于第二验证电压(VER_2),则存储器装置110可确定相应的存储器单元的编程状态为第一状态(ST_1)。存储器装置110可以将与第一脉冲(例如,15V)相对应的编程脉冲输入到相应的存储器单元,以便完成对处于第一状态(ST_1)的存储器单元的编程操作。
如果存储器单元的阈值电压大于或等于第二验证电压(VER_2)并且小于第一验证电压(VER_1),则存储器装置110可确定相应的存储器单元的编程状态为第二状态(ST_2)。存储器装置110可以将与第二脉冲(例如,12V)相对应的编程脉冲输入到相应的存储器单元,以便将数据编程在处于第二状态(ST_2)的存储器单元中。在这种情况下,第二脉冲的幅度小于第一脉冲的幅度。
如果存储器单元的阈值电压大于或等于第一验证电压(VER_1),则存储器装置110可确定相应的存储器单元的编程状态为第三状态(ST_3)。在第三状态(ST_3)下,存储器装置110可以不向存储器单元输入附加的编程脉冲。
存储器装置110可分别使用第一值(设定值)和第二值(复位值)来设置第一验证操作的结果值和第二验证操作的结果值。另外,可以在考虑存储器单元的编程状态的情况下进行第一验证操作的结果值和第二验证操作的结果值的设置。在下文中,将参照第一值是1、第二值是0的示例来描述本公开技术的实施例。
例如,在第一状态(ST_1)的情况下,存储器装置110可以将第一验证操作的结果值设置为1,并且可以将第二验证操作的结果值设置为0。在第二状态(ST_2)的情况下,存储器装置110可以将第一验证操作的结果值设置为1,并且可以将第二验证操作的结果值设置为1。在第三状态(ST_3)的情况下,存储器装置110可以将第一验证操作的结果值设置为0,并且可以将第二验证操作的结果值设置为1。在下文中,根据各个实施例,将参照如上所述设置第一验证操作的结果值和第二验证操作的结果值的情况来进行描述。
如果编程操作未被挂起,则存储器装置110可以将第一验证操作的结果值存储在第一数据锁存器(DL_1)和第二数据锁存器(DL_2)中的一个中,并且可以将第二验证操作的结果值存储在剩下的数据锁存器中。因此,存储器装置110可以基于存储在第一数据锁存器(DL_1)中的第一验证操作的结果值和存储在第二数据锁存器(DL_2)中的第二验证操作的结果值来确定存储器单元的编程状态。
在恢复被挂起的编程操作之前,存储在第一数据锁存器(DL_1)或第二数据锁存器(DL_2)中的值可能通过另一操作(例如,读取操作)而改变。其原因在于,当在编程操作被挂起的状态下读取存储器单元中的数据时,可能使用第一数据锁存器(DL_1)或第二数据锁存器(DL_2)。在这种情况下,在编程操作被挂起之前存储在第一数据锁存器(DL_1)或第二数据锁存器(DL_2)中的值可能会丢失。
因此,存储器装置110可能无法基于存储在第一数据锁存器(DL_1)中的值和存储在第二数据锁存器(DL_2)中的值来确定存储器单元在编程操作被挂起之前具有的编程状态。因此,在恢复被挂起的编程操作的过程中,存储器装置110可能需要生成第一验证操作的结果值和第二验证操作的结果值,以便准确地确定存储器单元的编程状态。
在下文中,将结合当恢复被挂起的编程操作时存储器装置110产生第一验证操作的结果值和第二验证操作的结果值的操作来描述详细实施例。
图7是示出当编程操作被挂起时存储在第一数据锁存器(DL_1)中的值的示图。
当编程操作被挂起时,存储器装置110可以将临时值存储在第一数据锁存器(DL_1)中,该临时值是通过对第一验证操作的结果值和第二验证操作的结果值执行AND运算而获得的。在这种情况下,当两个结果值都是第一值时,通过对两个结果值执行AND运算而获得的值是第一值;否则,通过执行AND运算而获得的值为第二值。
参照图7,当对其执行编程的存储器单元处于第一状态(ST_1)时,存储器装置110可以将通过对第一验证操作的结果值1和第二验证操作的结果值0执行AND运算而获得的值0(=1AND 0)存储在第一数据锁存器(DL_1)中。
如果对其执行编程的存储器单元处于第二状态(ST_2),则存储器装置110可以将与对1(其是第一验证操作的结果值)和1(其是第二验证操作的结果值)的AND运算的输出相对应的1存储在第一数据锁存器(DL_1)中。
如果对其执行编程的存储器单元处于第三状态(ST_3),则存储器装置110可以将与对0(其是第一验证操作的结果值)和1(其是第二验证操作的结果值)的AND运算的输出相对应的0存储在第一数据锁存器(DL_1)中。
图8是示出当在编程操作被挂起之后执行读取操作时第一数据锁存器的状态和第二数据锁存器的状态的示图。
参照图8,当在编程操作被挂起之后执行读取操作时,存储器装置110可将第二数据锁存器(DL_2)用于读取操作。
在这种情况下,第一数据锁存器(DL_1)存储通过对第一验证操作的结果值和第二验证操作的结果值执行AND运算而获得的临时值,因此存储器装置110可不将第一数据锁存器(DL_1)用于读取操作。因此,在编程操作被挂起之前获得的、与第一验证操作的结果值和第二验证操作的结果值相关联的信息可以被保留在第一数据锁存器(DL_1)中。
图9是示出当编程操作被挂起时对其执行编程的存储器单元的阈值电压分布的改变的示例的示图。
参照图9,在恢复被挂起的编程操作的过程中,对其执行编程的存储器单元的阈值电压分布可能改变。例如,当编程操作被挂起时,由于滞留效应,可能存在阈值电压降低的存储器单元。
在这种情况下,在编程操作被挂起之前阈值电压大于或等于第二验证电压(VER_2)的存储器单元在编程操作被挂起之后可能具有小于第二验证电压(VER_2)的阈值电压。在这种情况下,如果在不考虑编程操作被挂起之前获得的编程状态的情况下向存储器单元提供编程脉冲,则编程操作可能不被正确地执行,并且可能获得异常结果。
因此,存储器装置110需要识别存储器单元在编程操作被挂起之前具有的编程状态,以能够正确地执行对存储器单元的编程操作。
在一些实施方案中,存储器装置110可被配置成基于存储在第一数据锁存器(DL_1)中的临时值和第三验证操作的结果值,来识别在编程操作被挂起之前存储器单元所处于的编程状态。可在编程操作恢复之后执行第三验证操作。在下文中,将对此进行详细描述。
图10是示出当编程操作恢复时的第三验证操作的结果的示图。
如图5中所述,当恢复被挂起的编程操作时,存储器装置110可执行第三验证操作。
如果在编程操作被挂起之前存储器单元的编程状态是第一状态(ST_1),则对存储器单元执行的第一验证操作的结果是1,第二验证操作的结果是0。
在这种情况下,在编程操作恢复之后存储器单元的编程状态也是第一状态(ST_1)。其原因在于,即使阈值电压由于滞留效应而降低,小于第二验证电压(VER_2)的存储器单元的阈值电压仍然小于第二验证电压(VER_2)。因此,第三验证操作的结果也是0。
如果在编程操作被挂起之前存储器单元的编程状态是第二状态(ST_2),则对存储器单元执行的第一验证操作的结果是1,第二验证操作的结果是1。
在这种情况下,在编程操作恢复之后的相应的存储器单元的编程状态可以是彼此不同的第2-1状态(ST_2-1)和第2-2状态(ST_2-2)中的一个。第2-1状态(ST_2-1)是在编程操作恢复之后相应的存储器单元的阈值电压降低到第二验证电压(VER_2)之下的状态,而第2-2状态(ST_2-2)是在编程操作恢复之后相应的存储器单元的阈值电压大于或等于第二验证电压(VER_2)的状态。
在第2-1状态(ST_2-1)下,存储器单元的阈值电压小于第二验证电压(VER_2),因此第三验证操作的结果为0。在第2-2状态(ST_2-2)下,存储器单元的阈值电压大于或等于第二验证电压(VER_2),因此第三验证操作的结果为1。
如果在编程操作被挂起之前存储器单元的编程状态是第三状态(ST_3),则对存储器单元执行的第一验证操作的结果是0,第二验证操作的结果是1。
在这种情况下,在编程操作恢复之后存储器单元的阈值电压大于在第三验证操作中使用的验证电压。因此,第三验证操作的结果也是1。
如上所述,当编程操作被挂起时,第一数据锁存器(DL_1)存储通过对第一验证操作的结果值和第二验证操作的结果值执行AND运算而获得的临时值。当存储器单元处于第一状态(ST_1)时,存储在第一数据锁存器(DL_1)中的临时值为0,当存储器单元处于第二状态(ST_2)时,临时值为1,并且当存储器单元处于第三状态(ST_3)时,临时值为0。
在编程操作恢复之后,存储器装置110可以将存储在第一数据锁存器(DL_1)中的临时值存储在第二数据锁存器(DL_2)中,并且可以将第三验证操作的结果值存储在第一数据锁存器(DL_1)中。
在下文中,将结合下面的操作来描述详细实施例,该操作基于存储在第二数据锁存器(DL_2)中的临时值和存储在第一数据锁存器(DL_1)中的第三验证操作的结果值,产生与在编程操作被挂起之前获得的结果值相同的第一验证操作的结果和第二验证操作的结果。将参考第一值为1、第二值为0的情况来进行描述。
图11是示出当编程操作恢复时存储在第一数据锁存器(DL_1)中的值的示例的示图。
当产生或复原与在编程操作被挂起之前获得的结果相同的第一验证操作的结果和第二验证操作的结果时,如果存储在第二数据锁存器(DL_2)中的临时值是第一值,则存储器装置110可将第一数据锁存器(DL_1)的值设置为第一值。
参照图11,如果在编程操作被挂起之前存储器单元的状态是第二状态(ST_2),则当编程操作恢复时存储在第二数据锁存器(DL_2)中的临时值可以是1。
因此,如果在编程操作被挂起之前存储器单元的状态是第二状态(ST_2),则当编程操作恢复时第一数据锁存器(DL_1)的值被设置为1。这与编程操作恢复之后相应的存储器单元的状态是第2-1状态(ST_2-1)还是第2-2状态(ST_2-2)无关。
图12是示出当编程操作恢复时存储在第二数据锁存器(DL_2)中的值的示例的示图。
在产生或复原与在编程操作被挂起之前获得的结果相同的第一验证操作的结果和第二验证操作的结果的过程中,如果存储在第二数据锁存器(DL_2)中的临时值是第二值,并且存储在第一数据锁存器(DL_1)中的第三验证操作的结果值是第二值,则存储器装置110可将第二数据锁存器(DL_2)的值设置为第一值。
参照图12,当在编程操作被挂起之前存储器单元的状态为第一状态(ST_1)时,存储在第一数据锁存器(DL_1)中的第三验证操作的结果值为0,并且存储在第二数据锁存器(DL_2)中的临时值为0,因此,在编程操作被恢复之后第二数据锁存器(DL_2)的值被设置为1。
因此,如果在编程操作被挂起之前存储器单元的状态是第一状态(ST_1),则在编程操作恢复之后第一数据锁存器(DL_1)的值是0。如果在编程操作被挂起之前存储器单元的状态是第二状态(ST_2),则在编程操作恢复之后第一数据锁存器(DL_1)的值是1。如果在编程操作被挂起之前存储器单元的状态是第三状态(ST_3),则在编程操作恢复之后第一数据锁存器(DL_1)的值是1。因此,在编程操作恢复之后的第一数据锁存器(DL_1)的值与在编程操作被挂起之前获得的第二验证操作的结果相同。
如果在编程操作被挂起之前存储器单元的状态是第一状态(ST_1),则在编程操作恢复之后第二数据锁存器(DL_2)的值是1。如果在编程操作被挂起之前存储器单元的状态是第二状态(ST_2),则在编程操作恢复之后第二数据锁存器(DL_2)的值是1。如果在编程操作被挂起之前存储器单元的状态是第三状态(ST_3),则在编程操作恢复之后第二数据锁存器(DL_2)的值是0。因此,在编程操作恢复之后的第二数据锁存器(DL_2)的值与在编程操作被挂起之前获得的第一验证操作的结果相同。
因此,存储器装置110可以使用第一数据锁存器(DL_1)的值产生或复原与在编程操作被挂起之前获得的结果值相同的第二验证操作的结果值,并且可以使用第二数据锁存器(DL_2)产生或复原与在编程操作被挂起之前获得的结果值相同的第一验证操作的结果值。
图13是示出根据本公开技术的实施例的操作存储器装置110的方法的流程图。
操作存储器装置110的方法可包括:在操作S1310中,当对存储器单元执行编程操作的同时从存储控制器120接收到与编程操作相关联的挂起命令时,对存储器单元执行第一验证操作和第二验证操作的操作。
操作存储器装置110的方法可包括:在操作S1320中,将基于在操作S1310中执行的第一验证操作和第二验证操作的结果值产生的临时值存储在第一数据锁存器(DL_1)中的操作。
操作存储器装置110的方法可包括:在操作S1330中,当接收到与挂起编程操作相关联的恢复命令时,执行第三验证操作,并基于第三验证操作的结果值和存储在第一数据锁存器(DL_1)中的临时值,相同地复原第一验证操作的结果值和第二验证操作的结果值的操作。
在这种情况下,用于第一验证操作的验证电压可以高于用于第二验证操作和第三验证操作的验证电压。用于第二验证操作的验证电压和用于第三验证操作的验证电压可以相同。
当第一验证操作的结果值和第二验证操作的结果值都是第一值时,上述的临时值可以是第一值,并且当第一验证操作的结果值或第二验证操作的结果值是第二值时,临时值可以是第二值。
在操作S1330中,当接收到与编程操作相关联的恢复命令时,将存储在第一数据锁存器(DL_1)中的临时值存储在第二数据锁存器(DL_2)中,并将第三验证操作的结果值存储在第一数据锁存器(DL_1)中。
在操作S1330中,如果存储在第二数据锁存器(DL_2)中的临时值是第一值,则将第一数据锁存器(DL_1)的值设置为第一值,如果存储在第二数据锁存器(DL_2)中的临时值和存储在第一数据锁存器(DL_1)中的第三验证操作的结果值都是第二值,则将第二数据锁存器(DL_2)的值设置为第一值。
图14是示出根据本公开技术的实施例的计算系统1400的配置的示图。
参照图14,根据本公开技术的实施例的计算系统1400可以包括:存储器系统100,电连接到系统总线1460;CPU1410,被配置为控制计算系统1400的全部操作;RAM 1420,被配置为存储与计算系统1400的操作有关的数据和信息;用户接口/用户体验(UI/UX)模块1430,被配置为向用户提供用户环境;通信模块1440,被配置为以有线和/或无线方式与外部装置通信;以及电源管理模块1450,被配置为管理由计算系统1400使用的电力。
计算系统1400可以是个人计算机(PC)或者可以包括诸如智能手机、平板电脑的移动终端或各种电子装置。
计算系统1400可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和DRAM。其它元件对本领域技术人员来说将是显而易见的。
存储器系统100不仅可包括诸如硬盘驱动器(HDD)的、被配置为将数据存储在磁盘中的装置,而且可以包括诸如固态驱动器(SSD)、通用闪存装置或嵌入式MMC(eMMC)装置的被配置为将数据存储在非易失性存储器中的装置。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器系统100可被实施为各种类型的存储装置,并且可安装在各种电子装置内部。
根据上述公开的技术的实施例,可以使存储器系统的操作延迟时间最小化。另外,根据所公开技术的实施例,可以使在调用特定功能的过程中产生的开销最小化。尽管出于说明的目的已经描述了所公开技术的各个实施例,但是本领域技术人员将理解的是,基于本文件的公开内容,可以进行各种修改、添加和替换。
Claims (18)
1.一种存储器系统,包括:
存储器装置,包括存储器单元阵列,所述存储器单元阵列包括在多种状态下可编程的存储器单元;以及
存储器控制器,与所述存储器装置通信并且控制所述存储器装置,
其中所述存储器装置进一步包括存储关于所述存储器单元的状态的信息的第一数据锁存器,并且:
响应于从所述存储器控制器接收到挂起正在对所述存储器单元执行的编程操作的挂起命令,对所述存储器单元执行第一验证操作和第二验证操作,其中使用验证电压来执行所述第一验证操作和所述第二验证操作以确定所述存储器单元的状态;
将基于所述第一验证操作的结果值和所述第二验证操作的结果值获得的临时值存储在所述第一数据锁存器中;并且
响应于从所述存储器控制器接收到恢复所述编程操作的恢复命令,执行第三验证操作,并且基于所述第三验证操作的结果值和存储在所述第一数据锁存器中的所述临时值来复原所述第一验证操作的结果值和所述第二验证操作的结果值。
2.根据权利要求1所述的存储器系统,其中用于所述第一验证操作的验证电压高于用于所述第二验证操作和所述第三验证操作的验证电压。
3.根据权利要求2所述的存储器系统,其中用于所述第二验证操作的验证电压和用于所述第三验证操作的验证电压相同。
4.根据权利要求1所述的存储器系统,其中所述存储器装置:当所述第一验证操作的结果值和所述第二验证操作的结果值都是第一值时,将所述临时值设置为所述第一值;并且当所述第一验证操作的结果值或所述第二验证操作的结果值是第二值时,将所述临时值设置为所述第二值。
5.根据权利要求4所述的存储器系统,其中所述存储器装置进一步包括第二数据锁存器,所述第二数据锁存器在接收到所述挂起命令与接收到所述恢复命令之间执行的读取操作期间被使用。
6.根据权利要求5所述的存储器系统,其中所述存储器装置进一步:响应于接收到所述恢复命令,将已存储在所述第一数据锁存器中的所述临时值存储在所述第二数据锁存器中;并且将所述第三验证操作的结果值存储在所述第一数据锁存器中。
7.根据权利要求6所述的存储器系统,其中所述存储器装置进一步:
当存储在所述第二数据锁存器中的所述临时值是所述第一值时,将所述第一数据锁存器的值设置为所述第一值;并且
当存储在所述第二数据锁存器中的所述临时值和存储在所述第一数据锁存器中的所述第三验证操作的结果值都是所述第二值时,将所述第二数据锁存器的值设置为所述第一值。
8.一种存储器装置,与存储器控制器通信,所述存储器装置包括:
存储器单元,在多种状态下可编程;
第一数据锁存器,存储关于所述存储器单元的状态的信息,并且
其中所述存储器装置进一步:
响应于从所述存储器控制器接收到挂起正在对所述存储器单元执行的编程操作的挂起命令,对所述存储器单元执行第一验证操作和第二验证操作,其中使用不同的验证电压来执行所述第一验证操作和所述第二验证操作以验证所述存储器单元的状态;
将基于所述第一验证操作的结果值和所述第二验证操作的结果值获得的临时值存储在所述第一数据锁存器中;并且
响应于从所述存储器控制器接收到恢复所述编程操作的恢复命令,执行第三验证操作,并且基于所述第三验证操作的结果值和存储在所述第一数据锁存器中的所述临时值来复原所述第一验证操作的结果值和所述第二验证操作的结果值。
9.根据权利要求8所述的存储器装置,其中用于所述第一验证操作的验证电压高于用于所述第二验证操作和所述第三验证操作的验证电压。
10.根据权利要求9所述的存储器装置,其中用于所述第二验证操作的验证电压与用于所述第三验证操作的验证电压相同。
11.根据权利要求8所述的存储器装置,其中当所述第一验证操作的结果值和所述第二验证操作的结果值都是第一值时,将所述临时值设置为所述第一值;并且当所述第一验证操作的结果值或所述第二验证操作的结果值是第二值时,将所述临时值设置为所述第二值。
12.根据权利要求11所述的存储器装置,进一步包括:
第二数据锁存器,在接收到所述挂起命令和接收到所述恢复命令之间执行的读取操作期间被使用。
13.根据权利要求12所述的存储器装置,其中所述存储器装置进一步:响应于接收到所述恢复命令,将已存储在所述第一数据锁存器中的所述临时值存储在所述第二数据锁存器中;并且将所述第三验证操作的结果值存储在所述第一数据锁存器中。
14.根据权利要求13所述的存储器装置,其中所述存储器装置进一步响应于接收到所述恢复命令:当存储在所述第二数据锁存器中的所述临时值是所述第一值时,将所述第一数据锁存器的值设置为所述第一值;并且
当存储在所述第二数据锁存器中的所述临时值和存储在所述第一数据锁存器中的所述第三验证操作的结果值都是所述第二值时,将所述第二数据锁存器的值设置为所述第一值。
15.一种操作存储器装置的方法,所述存储器装置与存储器控制器通信,所述方法包括:
从所述存储器控制器接收挂起正在对存储器单元执行的编程操作的挂起命令,所述存储器单元包括在所述存储器装置中并且在多种状态下可编程;
使用验证电压来对所述存储器单元执行第一验证操作和第二验证操作以确定所述存储器单元的状态;
将基于所述第一验证操作的结果值和所述第二验证操作的结果值获得的临时值存储在所述存储器装置的第一数据锁存器中;从所述存储器控制器接收恢复所述编程操作的恢复命令;以及
执行第三验证操作,并且基于所述第三验证操作的结果值和存储在所述第一数据锁存器中的所述临时值来复原所述第一验证操作的结果值和所述第二验证操作的结果值。
16.根据权利要求15所述的方法,其中当所述第一验证操作的结果值和所述第二验证操作的结果值都是第一值时,所述临时值为所述第一值,并且当所述第一验证操作的结果值或所述第二验证操作的结果值是第二值时,所述临时值为所述第二值。
17.根据权利要求16所述的方法,其中复原所述第一验证操作的结果值和所述第二验证操作的结果值包括:将已存储在所述第一数据锁存器中的所述临时值存储在第二数据锁存器中,并且将所述第三验证操作的结果值存储在所述第一数据锁存器中。
18.根据权利要求17所述的方法,其中复原所述第一验证操作的结果值和所述第二验证操作的结果值包括:当存储在所述第二数据锁存器中的所述临时值是所述第一值时,将所述第一数据锁存器的值设置为所述第一值,并且
当存储在所述第二数据锁存器中的所述临时值和存储在所述第一数据锁存器中的所述第三验证操作的结果值都是所述第二值时,将所述第二数据锁存器的值设置为所述第一值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200079073A KR20220001137A (ko) | 2020-06-29 | 2020-06-29 | 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법 |
KR10-2020-0079073 | 2020-06-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113936721A true CN113936721A (zh) | 2022-01-14 |
Family
ID=79031408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110232199.0A Pending CN113936721A (zh) | 2020-06-29 | 2021-03-02 | 存储器系统、存储器装置和操作存储器装置的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11315650B2 (zh) |
KR (1) | KR20220001137A (zh) |
CN (1) | CN113936721A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230105574A (ko) | 2022-01-04 | 2023-07-11 | 주식회사 엘지에너지솔루션 | 배터리 모듈, 이를 포함하는 배터리 팩 및 자동차 |
KR20230136482A (ko) | 2022-03-18 | 2023-09-26 | 에스케이하이닉스 주식회사 | 프로그램 서스펜드 동안 검증 데이터를 유지하는 반도체 메모리 장치 및 그 동작 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7289721B1 (en) * | 1999-11-15 | 2007-10-30 | Hitachi, Ltd. | Method and apparatus for data reproduction |
CN102754165A (zh) * | 2010-01-28 | 2012-10-24 | 桑迪士克技术有限公司 | 允许多个数据状态失败的非易失性存储器中的多位编程方法以及编程失败的情况下的数据恢复方法 |
US20180197610A1 (en) * | 2017-01-09 | 2018-07-12 | Samsung Electronics Co., Ltd. | Non-volatile memory device and programming method thereof |
US20180268145A1 (en) * | 2017-03-16 | 2018-09-20 | Dell Products, L.P. | Continued runtime authentication of information handling system (ihs) applications |
US20190088342A1 (en) * | 2017-09-20 | 2019-03-21 | Toshiba Memory Corporation | Semiconductor memory device |
CN110914908A (zh) * | 2017-07-26 | 2020-03-24 | 铠侠股份有限公司 | 半导体存储装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
JP6457364B2 (ja) * | 2015-09-11 | 2019-01-23 | 東芝メモリ株式会社 | メモリシステム |
US10153051B1 (en) * | 2018-01-24 | 2018-12-11 | Sandisk Technologies Llc | Program-verify of select gate transistor with doped channel in NAND string |
-
2020
- 2020-06-29 KR KR1020200079073A patent/KR20220001137A/ko not_active Application Discontinuation
-
2021
- 2021-01-22 US US17/155,655 patent/US11315650B2/en active Active
- 2021-03-02 CN CN202110232199.0A patent/CN113936721A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7289721B1 (en) * | 1999-11-15 | 2007-10-30 | Hitachi, Ltd. | Method and apparatus for data reproduction |
CN102754165A (zh) * | 2010-01-28 | 2012-10-24 | 桑迪士克技术有限公司 | 允许多个数据状态失败的非易失性存储器中的多位编程方法以及编程失败的情况下的数据恢复方法 |
US20180197610A1 (en) * | 2017-01-09 | 2018-07-12 | Samsung Electronics Co., Ltd. | Non-volatile memory device and programming method thereof |
US20180268145A1 (en) * | 2017-03-16 | 2018-09-20 | Dell Products, L.P. | Continued runtime authentication of information handling system (ihs) applications |
CN110914908A (zh) * | 2017-07-26 | 2020-03-24 | 铠侠股份有限公司 | 半导体存储装置 |
US20190088342A1 (en) * | 2017-09-20 | 2019-03-21 | Toshiba Memory Corporation | Semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
US20210407607A1 (en) | 2021-12-30 |
KR20220001137A (ko) | 2022-01-05 |
US11315650B2 (en) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11532360B2 (en) | Memory system, memory device, and method for operating memory device | |
CN112860178A (zh) | 存储器装置、存储器控制器、存储器系统及存储器系统的操作方法 | |
US20230333932A1 (en) | Memory system and operating method thereof | |
CN113903384A (zh) | 存储器系统、存储器控制器以及操作存储器系统的方法 | |
CN113010095A (zh) | 存储器系统、存储器控制器及其操作方法 | |
US11561725B2 (en) | System and operating method thereof | |
CN113806254B (zh) | 存储器系统、存储器控制器及存储器系统的操作方法 | |
US11315650B2 (en) | Memory system, memory controller, and method of operating memory system | |
CN112349315B (zh) | 存储器系统、存储器控制器和操作方法 | |
US11467903B2 (en) | Memory system and operating method thereof | |
CN115952115A (zh) | 基于融合链表控制同步操作的存储器控制器及其操作方法 | |
CN115206393A (zh) | 存储器装置及存储器装置的操作方法 | |
CN114530173A (zh) | 存储器系统及其操作方法 | |
CN112925476A (zh) | 存储器系统、存储器控制器及其操作方法 | |
CN112783426A (zh) | 存储器系统、存储器控制器和操作存储器控制器的方法 | |
US11500771B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11669266B2 (en) | Memory system and operating method of memory system | |
US11307794B2 (en) | Memory system, memory controller, and operation method of memory system | |
US20230297502A1 (en) | Memory system, memory controller and operating method of the memory system for controlling garbage collection | |
US20230195367A1 (en) | Memory system, memory controller, and operation method of memory system | |
KR20230072062A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
CN114968078A (zh) | 存储器装置及其操作方法 | |
CN115774518A (zh) | 存储器系统及存储器系统的操作方法 | |
CN113764027A (zh) | 存储器系统、存储器控制器以及存储器系统的操作方法 | |
CN115223635A (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 |