CN110780802A - 存储器控制器及其操作方法 - Google Patents
存储器控制器及其操作方法 Download PDFInfo
- Publication number
- CN110780802A CN110780802A CN201910434524.4A CN201910434524A CN110780802A CN 110780802 A CN110780802 A CN 110780802A CN 201910434524 A CN201910434524 A CN 201910434524A CN 110780802 A CN110780802 A CN 110780802A
- Authority
- CN
- China
- Prior art keywords
- memory
- erase
- block
- controller
- programmed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 546
- 238000011017 operating method Methods 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 10
- 239000000872 buffer Substances 0.000 description 37
- 238000010586 diagram Methods 0.000 description 34
- 238000003860 storage Methods 0.000 description 26
- 230000002093 peripheral effect Effects 0.000 description 10
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 4
- 230000005684 electric field Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101100444020 Caenorhabditis elegans dsl-1 gene Proteins 0.000 description 2
- 101100366714 Caenorhabditis elegans ssl-1 gene Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 101150013423 dsl-1 gene Proteins 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- 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
- 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/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/3445—Circuits or methods to verify correct erasure of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/345—Circuits or methods to detect overerased nonvolatile memory cells, usually during erasure verification
-
- 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/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本文描述了存储器控制器及其操作方法。在被配置为控制包括多个存储器块的存储器装置的存储器控制器中,存储器控制器包括:存储器接口,其被配置为与存储器装置交换数据;预编程控制器,其被配置为当存储器装置处于空闲状态时对擦除目标存储器块中的多个页的编程序列的最后页执行读取操作,并且根据通过执行读取操作所获得的结果对擦除目标存储器块执行预编程操作,其中擦除目标存储器块是在多个存储器块之中的要对其执行擦除操作的存储器块,并且其中在执行预编程操作之后执行对擦除目标存储器块的擦除操作。
Description
相关申请的交叉引用
本申请要求2018年7月31日提交的韩国专利申请号10-2018-0089616的优先权,其全部公开内容通过引用整体并入本文。
技术领域
本公开一般地涉及电子装置,更具体地涉及存储器控制器及其操作方法。
背景技术
存储装置在诸如计算机或智能电话之类的主机装置的控制下存储数据。存储装置可以包括用于存储数据的存储器装置和用于控制存储器装置的存储器控制器。存储器装置可以是易失性存储器装置或非易失性存储器装置。
易失性存储器装置仅在供电时存储数据;也就是说,当供电中断时,存储的数据消失。易失性存储器装置可以是静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
相比之下,存储在非易失性存储器装置中的数据即使在供电中断时也不会消失。非易失性存储器装置可以是只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEROM)、闪存等。
发明内容
实施例提供了具有改进的擦除操作速度的存储器控制器及其操作方法。
根据本公开的一方面,提供了一种被配置为控制包括多个存储器块的存储器装置的存储器控制器,包括:存储器接口,其被配置为与所述存储器装置交换数据;以及预编程控制器,其被配置为当所述存储器装置处于空闲状态时对擦除目标存储器块中的多个页的编程序列的最后页执行读取操作,并且根据通过执行读取操作所获得的结果对所述擦除目标存储器块执行预编程操作,其中所述擦除目标存储器块是在所述多个存储器块之中的要对其执行擦除操作的存储器块,并且其中在执行所述预编程操作之后执行对所述擦除目标存储器块的所述擦除操作。
根据本公开的另一方面,提供了一种被配置为控制包括多个存储器块的存储器装置的存储器控制器,包括:存储器接口,其被配置为与所述存储器装置交换数据;以及预编程控制器,其被配置为读取在所述多个存储器块之中要对其执行擦除操作的擦除目标存储器块的状态信息,并且根据所述擦除目标存储器块的所述状态信息对所述擦除目标存储器块执行预编程操作,其中在执行所述预编程操作之后执行对所述擦除目标存储器块的所述擦除操作,并且其中所述状态信息表示是否已经执行了对所述擦除目标存储器块的所述预编程操作。
根据本公开的又一方面,提供了一种用于操作存储器控制器的方法,该存储器控制器被配置为控制包括多个存储器块的存储器装置,该方法包括:当所述存储器装置处于空闲状态时,对在所述多个存储器块中要对其执行擦除操作的擦除目标存储器块中的多个页的编程序列的最后页执行读取操作;根据通过执行所述读取操作所获得的结果对所述擦除目标存储器块执行预编程操作;以及在执行所述预编程操作之后,对所述擦除目标存储器块执行所述擦除操作。
根据本公开的又一方面,提供了一种被配置为控制包括多个平面的存储器装置的存储器控制器,每个平面包括多个存储器块,所述存储器控制器包括:存储器接口,其被配置为与所述存储器装置交换数据;以及预编程控制器,其被配置为当所述存储器装置处于空闲状态时,在超级块之中读取擦除目标超级块中的多个页的编程序列的最后页,并且根据通过读取所述最后页所获得的结果对所述擦除目标超级块执行预编程操作,其中所述超级块各自包括所述多个存储器块之中的在不同平面中的至少两个存储器块,其中在执行所述预编程操作之后执行对所述擦除目标超级块的擦除操作,并且其中所述擦除目标超级块是在数据被编程之前将对其执行擦除操作的超级块。
根据本公开的又一方面,提供了一种被配置为控制包括多个平面的存储器装置的存储器控制器,每个平面包括多个存储器块,所述存储器控制器包括:存储器接口,其被配置为与所述存储器装置交换数据;以及预编程控制器,其被配置为读取擦除目标超级块的状态信息,并且根据所述状态信息对所述擦除目标超级块执行预编程操作,其中所述擦除目标超级块是在超级块之中在数据被编程之前要对其执行擦除操作的超级块,每个超级块包括在所述多个存储器块之中的在不同平面中的至少两个存储器块,并且其中所述状态信息表示是否已经执行了对所述擦除目标超级块的所述预编程操作。
根据本公开的又一方面,提供了一种存储装置,包括:存储器装置,其包括一个或多个擦除目标存储器块;以及存储器控制器,其被配置为:在所述存储器装置空闲时控制所述存储器装置对所述擦除目标存储器块的一个或多个预编程目标存储器块进行预编程,所述一个或多个预编程目标存储器块通过确定相应擦除目标存储器块的最后页未被编程来被检测,并且在所述存储器装置运行时控制所述存储器装置擦除预编程完成的目标存储器块,其中所述预编程完成的目标存储器块是被预编程的预编程目标存储器块。
附图说明
现在将参考附图更全面地描述各种实施例;然而,可以与本文所公开的不同地配置或布置各元件和特征。因此,本发明不限于本文阐述的实施例。相反,提供这些实施例以使得本公开彻底且完整,并且向本领域技术人员充分地传达实施例的范围。
在附图中,为了说明的清楚性,可能夸大尺寸。应当理解,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。相同的附图标记始终指代相同的元件。此外,在整个说明书中,对“一个实施例”、“另一个实施例”等的引用不一定仅是一个实施例,并且对任何这样的短语的不同引用不一定是相同的(一个或多个)实施例。
图1是示出根据本公开的实施例的存储装置的图。
图2是示出图1的存储器装置的示例性结构的图。
图3是示出图2的存储器单元阵列的实施例的图。
图4是示出图3的存储器块之中的任何一个存储器块的实施例的电路图。
图5是示出图3的存储器块之中的存储器块的实施例的电路图。
图6是示出存储器块的擦除操作的图。
图7是示出在存储器块的擦除操作中发生的过擦除现象的图。
图8是示出预编程操作的图。
图9是示出超级块的图。
图10是示出超级块的最后页的图。
图11是示出存储在图1的存储器块管理器中的状态信息的图。
图12是示出根据本公开的实施例的擦除操作的图。
图13是示出根据本公开的实施例的存储器控制器和存储器装置之间的过程的图。
图14是示出根据本公开的实施例的存储器控制器的操作的流程图。
图15是示出根据本公开的实施例的存储器控制器的操作的流程图。
图16是示出图1的存储器控制器的另一个实施例的图。
图17是示出根据本公开的实施例的应用了存储装置的存储器卡系统的框图。
图18是示出根据本公开的实施例的应用了存储装置的固态驱动器(SSD)的框图。
图19是示出根据本公开的实施例的应用了存储装置的用户系统的框图。
具体实施方式
根据本公开的实施例,本文公开的具体结构或功能描述是出于描述实施例的目的。然而,本发明可以以其他方式实现,这些方式可以是任何所公开实施例的修改或变化。因此,本发明不限于本文阐述的实施例。
本实施例被详细描述和说明。然而,实施例不限于特定细节。而是,本发明旨在包括不脱离本公开的精神和技术范围的所有改变、等同物或替代物。
虽然诸如“第一”和“第二”的术语可以被用来识别各种部件,但是这样的部件不受任何上述术语的限制。上述术语仅被用来将一个部件与另一个部件区分开,否则这些部件都具有相同或相似的名称。例如,在不脱离本公开的权利范围的情况下,在一个实例中的第一部件可以在另一个实例中被称为第二部件。
应当理解,当一个元件被称为“连接”或“耦合”到另一个元件时,它可以直接连接或耦合到另一个元件,或者也可以存在一个或多个中间元件。相比之下,当一个元件被称为“直接连接”或“直接耦合”到另一个元件时,不存在中间元件。可以类似地解释诸如“~之间”、“紧接在~之间”或“与~相邻”和“与~直接相邻”之类的描述部件之间的关系的其他表达。除非上下文另有说明,否则两个元件之间的通信(无论是直接连接/耦合还是间接连接/耦合)可以是有线的或无线的。
本申请中使用的术语仅被用来描述特定实施例,并且不旨在限制本公开。除非上下文另有明确说明,否则本公开中的单数形式旨在包括复数形式,反之亦然。将进一步理解,诸如“包括”或“具有”等术语旨在指示所陈述的特征、数字、操作、动作、部件、部分或其组合的存在,但并不旨在排除可能存在或可能添加一个或多个其他特征、数字、操作、动作、部件、部分或其组合的可能性。
就没有不同地定义而言,则本文所使用的包括技术或科学术语的所有术语具有本公开所属领域的技术人员通常理解的含义。具有字典定义的术语应该被理解成使得它们具有与相关技术的上下文一致的含义。就本申请中没有明确定义而言,不应以理想或过于正式的方式理解术语。
在描述实施例时,省略了对与本公开不直接相关并且本公开所属领域所公知的技术的描述。结果,更清楚地呈现了本发明的各方面和特征。
将参考附图详细描述本公开的各种实施例,以便本领域技术人员能够容易地实践本发明。
图1是示出根据本公开的实施例的存储装置50的图。
参见图1,存储装置50可以包括存储器装置100和用于控制存储器装置100的操作的存储器控制器200。存储装置50可以在诸如移动电话、智能电话、MP3播放器、笔记本计算机、台式计算机、游戏机、电视、平板PC或车载信息娱乐系统之类的主机300的控制下存储数据。
存储装置50可以被配置作为根据作为与主机300的通信方案的主机接口的各种类型的存储装置中的任何一种。例如,存储装置50可以由各种类型的存储装置中的任何一种来实现,诸如固态驱动器(SSD)的多媒体卡、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、缩小尺寸的多媒体卡(RS-MMC)和微型多媒体卡(微MMC)类型、安全数字(SD)的安全数字(SD)卡、迷你安全数字(迷你SD)和微安全数字(微SD)类型、通用存储总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储器卡国际协会(PCMCIA)卡类型的存储装置、外围部件互连(PCI)卡类型的存储装置、高速PCI(PCI-E)卡类型的存储装置、紧凑型闪存(CF)卡、智能媒体卡和记忆棒。
存储装置50可以被制造为各种封装类型中的任何一种,诸如封装上封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶片级制造封装(WFP)和晶片级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括用于存储数据的多个存储器单元。存储器单元阵列可以包括多个存储器块。每个存储器块可以包括多个存储器单元。一个存储器块可以包括多个页。在一个实施例中,页可以是用于存储数据或读取存储在存储器装置100中的数据的单位。存储器块可以是用于擦除数据的单位。在一个实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪存、垂直NAND闪存、NOR闪存、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻式随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,作为示例,在NAND闪存的上下文中描述了存储器装置100。然而,本文描述的技术可以应用于其他类型的存储器装置。
存储器装置100从存储器控制器200接收命令和地址,并且访问存储器单元阵列中的由地址所选择的区域。也就是说,存储器装置100可以执行与由地址所选择的区域上的命令相对应的操作。例如,存储器装置100可以执行写入(编程)操作、读取操作和擦除操作。在编程操作中,存储器装置100可以在由地址所选择的区域中编程数据。在读取操作中,存储器装置100可以从由地址所选择的区域读取数据。在擦除操作中,存储器装置100可以擦除存储在由地址所选择的区域中的数据。
存储器控制器200控制存储装置50的整体操作。
当向存储装置50供电时,存储器控制器200可以执行固件(FW)。当存储器装置100是闪存装置时,存储器控制器200可以执行诸如闪存转换层(FTL)之类的FW,以用于控制主机300和存储器装置100之间的通信。
在一个实施例中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA),并且将LBA转换为物理块地址(PBA),PBA表示在其中将要存储数据的包括在存储器装置100中的存储器单元的地址。
存储器控制器200可以响应于来自主机300的请求而控制存储器装置100以执行编程操作、读取操作、擦除操作等。在编程操作中,存储器控制器200可以向存储器装置100提供编程命令、PBA和数据。在读取操作中,存储器控制器200可以向存储器装置100提供读取命令和PBA。在擦除操作中,存储器控制器200可以向存储器装置100提供擦除命令和PBA。
在一个实施例中,存储器控制器200可以在没有来自主机300的任何请求的情况下自主地生成编程命令、地址和数据,并且将编程命令、地址和数据发送到存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供给存储器装置100以执行后台操作,诸如用于耗损均衡的编程操作和用于垃圾收集的编程操作。
在一个实施例中,存储器控制器200可以控制至少两个存储器装置100。存储器控制器200可以根据交织方案来控制存储器装置,以便改善操作性能。
主机300可以使用各种通信协议中的至少一种来与存储装置50通信,诸如通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围部件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、已注册DIMM(RDIMM)和负载减少DIMM(LRDIMM)。
在一个实施例中,存储器控制器200可以包括预编程控制器210。预编程控制器210可以包括命令生成器211和存储器块管理器212。
当存储器装置100处于空闲状态时,命令生成器211可以生成用于待擦除的存储器块(擦除目标存储器块)的读取命令或预编程命令,并且将所生成的读取命令或预编程命令提供给存储器装置100。预编程命令可以是指令存储器装置100在对擦除目标存储器块执行擦除操作之前对该块执行预编程操作的命令。
在对擦除目标存储器块执行擦除操作之前,读取命令可以指令存储器装置100读取擦除目标存储器块中的多个页之中的最后页。可以根据预定序列顺序地编程被包括在存储器块中的多个页。最后页可以是在存储器块中的多个页之中最后编程的页。
命令生成器211可以响应于由存储器装置100提供的读取命令而将预编程命令提供给操作电压控制器131。作为执行读取命令的结果,当最后页是编程页时,命令生成器211可以将预编程命令提供给操作电压控制器131。
在一个实施例中,当存储器装置100正在执行另一操作时,命令生成器211可以不向操作电压控制器131提供预编程命令,即使作为执行读取命令的结果最后页是编程页。
在一个实施例中,作为执行读取命令的结果,当最后页是未编程的页,即,擦除页时,命令生成器211可以不向操作电压控制器131提供预编程命令131。
存储器块管理器212可以存储表示是否已经对存储器块执行了预编程操作的状态信息,该存储器块可以是作为执行读取命令的结果其最后页被确定为被编程的块。可以根据是否已经提供了用于存储器块的预编程命令来确定是否已经执行了预编程操作。
当提供了用于存储器块的预编程命令时,对应的存储器块的状态信息可以表示已经完成了预编程操作。当没有提供用于存储器块的预编程命令时,对应的存储器块的状态信息可以表示尚未完成预编程操作。
存储器装置100可以包括操作电压控制器131。
操作电压控制器131可以响应于所接收的预编程命令,对擦除目标存储器块(即,要被擦除的存储器块)执行预编程操作。也就是说,可以以存储器块为单位执行预编程操作。预编程操作可以是将擦除目标存储器块中的所有存储器单元的阈值电压移动到设定阈值电压分布的操作。
可以以超级块为单位执行对最后页的读取操作和对擦除目标存储器块的预编程操作。对超级块的读取操作可以是对在超级块中的多个页之中最后编程的页的读取操作。可以以存储器块为单位对超级块中的所有存储器块执行对超级块的预编程操作。超级块可以包括多个存储器块之中的在在不同平面中的至少两个存储器块。
图2是示出图1的存储器装置100的结构的图。
参见图2,存储器装置100可以包括存储器单元阵列100、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储器块BLK1至BLKz。多个存储器块BLK1至BLKz通过行线RL耦合到地址解码器121。多个存储器块BLK1至BLKz通过位线BL1至BLm耦合到读/写电路123。多个存储器块BLK1至BLKz中的每一个包括多个存储器单元。在一个实施例中,多个存储器单元可以是非易失性存储器单元。在多个存储器单元之中,耦合到相同字线的存储器单元可以被定义为一个页。也就是说,存储器单元阵列110可以包括多个页。在一个实施例中,包括在存储器单元阵列110中的多个存储器块BLK1至BLKz中的每一个可以包括多个虚设单元。一个或多个虚设单元可以串联耦合在漏极选择晶体管和存储器单元之间以及在源极选择晶体管和存储器单元之间。
存储器装置100的每一个存储器单元可以被配置作为用于存储一个数据位的单级单元(SLC)、用于存储两个数据位的多级单元(MLC)、用于存储三个数据位的三级单元(TLC)、或用于存储四个数据位的四级单元(QLC)。
外围电路120可以包括地址解码器121、电压生成器122、读/写电路123和数据输入/输出电路124。
外围电路120驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。
地址解码器121通过行线RL耦合到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。在一个实施例中,字线可以包括正常字线和虚设字线。在一个实施例中,行线RL可以进一步包括管道选择线。
地址解码器121可以在控制逻辑130的控制下操作。地址解码器121从控制逻辑130接收地址ADDR。
地址解码器121可以解码所接收的地址ADDR中的块地址。地址解码器121根据解码的块地址选择存储器块BLK1至BLKz之中的至少一个存储器块。地址解码器121可以解码接收的地址ADDR中的行地址。地址解码器121可以通过根据解码的行地址将从电压生成器122提供的电压施加到字线WL来选择所选择的存储器块的至少一个字线WL。
在编程操作中,地址解码器121可以将编程电压施加到所选择的字线,并且将具有低于编程电压的水平的编程通过电压施加到未选择的字线。在编程验证操作中,地址解码器121可以将验证电压施加到所选择的字线,并且将高于验证电压的验证通过电压施加到未选择的字线。
在读取操作中,地址解码器121可以将读取电压施加到所选择的字线,并且将高于读取电压的读取通过电压施加到未选择的字线。
在一个实施例中,以存储器块为单位执行存储器装置100的擦除操作。在擦除操作中,输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以对块地址进行解码,并且根据解码的块地址选择一个存储器块。在擦除操作中,地址解码器121可以将接地电压施加到与所选择的存储器块耦合的字线。
在一个实施例中,地址解码器121可以解码向其发送的地址ADDR中的列地址。解码的列地址可以被发送到读/写电路123。作为示例,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器之类的部件。
电压生成器122可以通过使用供应给存储器装置100的外部电源电压来生成多个电压。电压生成器122在控制逻辑130的控制下操作。
在一个实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压被用作存储器装置100的操作电压。
在一个实施例中,电压生成器122可以通过使用外部电源电压或内部电源电压来生成多个电压。电压生成器122可以被配置为生成存储器装置100所需的各种电压。例如,电压生成器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
为了生成具有各种电压水平的多个电压,电压生成器122可以包括用于接收内部电源电压的多个泵电容器,并且在控制逻辑130的控制下通过选择性地激活多个泵电容器来生成多个电压。
可以通过地址解码器121将多个生成的电压供应给存储器单元阵列110。
读/写电路123包括第一页缓冲器PB1至第n页缓冲器PBn。第一页缓冲器PB1至第n页缓冲器PBn分别通过第一位线BL1至第n位线BLn耦合至存储器单元阵列110。第一页缓冲器PB1至第n页缓冲器PBn在控制逻辑130的控制下操作。
第一页缓冲器PB1至第n页缓冲器PBn与数据输入/输出电路124传输数据。在编程操作中,第一页缓冲器PB1至第n页缓冲器PBn通过数据输入/输出电路124和数据线DL接收要被存储的数据DATA。
在编程操作中,当编程脉冲被施加到选择的字线时,第一页缓冲器PB1至第n页缓冲器PBn可以通过位线BL1至BLn将通过数据输入/输出电路124接收的数据DATA传送到选择的存储器单元。根据传送的数据DATA对选择的存储器单元中的存储器单元进行编程。耦合到位线的存储器单元可以具有增加的阈值电压,通过该位线施加编程允许电压(例如,接地电压)。可以保持耦合到位线的存储器单元的阈值电压,通过该位线施加编程禁止电压(例如,电源电压)。在编程验证操作中,第一页缓冲器PB1至第n页缓冲器PBn通过位线BL1至BLn从选择的存储器单元读取数据。
在读取操作中,读/写电路123可以通过位线BL从选择的页的存储器单元读取数据DATA,并且将读取的数据DATA存储在第一页缓冲器PB1至第n页缓冲器PBn中。
在擦除操作中,读/写电路123可以浮置位线BL。在一个实施例中,读/写电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL耦合到第一页缓冲器PB1至第n页缓冲器PBn。数据输入/输出电路124在控制逻辑130的控制下操作。
数据输入/输出电路124可以包括接收输入数据的多个输入/输出缓冲器(未示出)。在编程操作中,数据输入/输出电路124可以从外部控制器(未示出)接收要被存储的数据DATA。在读取操作中,数据输入/输出电路124向外部控制器输出从被包括在读/写电路123中的第一页缓冲器PB1至第n页缓冲器PBn发送的数据。
在读取操作或验证操作中,感测电路126可以响应于由控制逻辑130生成的允许位信号来生成参考电流,并且通过比较从读/写电路123接收的感测电压和由参考电流生成的参考电压而将通过信号或失败信号输出到控制逻辑130。
控制逻辑130可以耦合到地址解码器121、电压生成器122、读/写电路123、数据输入/输出电路124和感测电路126。控制逻辑130可以控制存储器装置100的整体操作。控制逻辑130可以响应于从外部装置传送的命令CMD而操作。
控制逻辑130可以通过响应于命令CMD和地址ADDR而生成若干信号来控制外围电路120。例如,控制逻辑130可以响应于命令CMD和地址ADDR而生成操作信号、行地址、读/写电路控制信号和允许位。控制逻辑130可以将操作信号输出到电压生成器122,将行地址输出到地址解码器121,将读/写电路控制信号输出到读/写电路123,以及将允许位输出到感测电路。而且,控制逻辑130可以响应于由感测电路126输出的通过或失败信号来确定验证操作是通过还是失败。
在一个实施例中,控制逻辑130可以包括操作电压控制器131。当从参考图1描述的命令生成器211接收到预编程命令时,操作电压控制器131可以控制施加到擦除目标存储器块的电压,使得对该存储器块的预编程操作被执行。
预编程命令可以表示在对存储器块(即,擦除目标存储器块)执行擦除操作之前将对该块执行预编程操作。可以以存储器块为单位执行预编程操作。预编程操作可以是将擦除目标存储器块中的所有存储器单元的阈值电压移动到设定阈值电压分布的操作。
在预编程操作中,编程电压可以被施加到与擦除目标存储器块耦合的字线。在预编程操作中,接地电压可以被施加到与擦除目标存储器块耦合的位线。在预编程操作中,可以省略编程验证操作。
图3是示出图2的存储器单元阵列110的实施例的图。
参见图3,存储器单元阵列110可以包括多个存储器块BLK1至BLKz。每个存储器块可以具有三维结构。每个存储器块可以包括堆叠在衬底(未示出)上的多个存储器单元。多个存储器单元可以沿+X、+Y和+Z方向布置。将参考图4和图5更详细地描述每个存储器块的结构。
图4是示出图3的存储器块BLK1至BLKz中的任何一个存储器块BLKa的实施例的电路图。
参见图4,存储器块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。在一个实施例中,多个单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为“U”形。在存储器块BLKa中,m个单元串布置在行方向(即,+X方向)上。图4示出了两个单元串布置在列方向(即,+Y方向)上。但是,这是为了清楚;三个单元串可以布置在列方向上。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以具有彼此类似的结构。在一个实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层。在一个实施例中,用于提供沟道层的柱可以设置在每个单元串中。在一个实施例中,用于提供沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱可以设置在每个单元串中。
每个单元串的源极选择晶体管SST耦合在公共源极线CSL和存储器单元MC1至MCp之间。
在一个实施例中,布置在同一行上的单元串的源极选择晶体管耦合到在行方向上延伸的源极选择线,并且布置在不同行上的单元串的源极选择晶体管耦合到不同的源极选择线。在图4中,在第一行上的单元串CS11至CS1m的源极选择晶体管耦合到第一源极选择线SSL1。在第二行上的单元串CS21至CS2m的源极选择晶体管耦合到第二源极选择线SSL2。
在另一个实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同耦合至一个源极选择线。
每个单元串的第一存储器单元MC1至第n存储器单元MCn耦合在源极选择晶体管SST和漏极选择晶体管DST之间。
第一存储器单元MC1至第n存储器单元MCn可以被划分为第一存储器单元MC1至第p存储器单元MCp以及第(p+1)存储器单元MCp+1至第n存储器单元MCn。第一存储器单元MC1至第p存储器单元MCp顺序地布置在-Z方向上,并且串联耦合在源极选择晶体管SST和管道晶体管PT之间。第(p+1)存储器单元MCp+1至第n存储器单元MCn顺序地布置在+Z方向上,并且串联耦合在管道晶体管PT和漏极选择晶体管DST之间。第一存储器单元MC1至第p存储器单元MCp和第(p+1)存储器单元MCp+1至第n存储器单元MCn通过管道晶体管PT耦合。每个单元串的第一存储器单元MC1至第n存储器单元MCn的栅极电极分别耦合至第一字线WL1至第n字线WLn。
每个单元串的管道晶体管PT的栅极耦合到管道线PL。
每个单元串的漏极选择晶体管DST耦合在对应的位线和存储器单元MCp+1至MCn之间。布置在行方向上的单元串耦合到在行方向上延伸的漏极选择线。在第一行上的单元串CS11至CS1m的漏极选择晶体管耦合到第一漏极选择线DSL1。在第二行上的单元串CS21至CS2m的漏极选择晶体管耦合到第二漏极选择线DSL2。
布置在列方向上的单元串耦合到在列方向上延伸的位线。在图4中,在第一列上的单元串CS11和CS21耦合到第一位线BL1。在第m列上的单元串CS1m和CS2m耦合到第m位线BLm。
布置在行方向上的单元串中的与同一字线耦合的存储器单元构成一个页。例如,第一行上的单元串CS11至CS1m中的耦合到第一字线WL1的存储器单元构成一个页。第二行上的单元串CS21至CS2m中的耦合到第一字线WL1的存储器单元构成另一个页。当漏极选择线DSL1和DSL2中的任何一个被选择时,可以选择布置在一个行方向上的单元串。当字线WL1至WLn中的任何一个被选择时,可以在所选择的单元串中选择一个页。
在另一个实施例中,可以提供偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。另外,布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的偶数编号的单元串可以分别耦合到偶数位线,并且布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的奇数编号的单元串可以分别耦合到奇数位线。
在一个实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以被用作虚设存储器单元。例如,可以提供(一个或多个)虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可替代地,可以提供(一个或多个)虚设存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。当虚设存储器单元的数目增加时,存储器块BLKa的操作的可靠性得到改善。另一方面,存储器块BLKa的大小增加。当虚设存储器单元的数目减少时,存储器块BLKa的大小减小。另一方面,存储器块BLKa的操作的可靠性可能劣化。
为了有效地控制(一个或多个)虚设存储器单元,每个可以具有所需的阈值电压。在存储器块BLKa的擦除操作之前或之后,可以对所有或一些虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制被施加到与相应虚设存储器单元耦合的虚设字线的电压,使得虚设存储器单元可以具有所需的阈值电压。
图5是示出图3的存储器块BLK1至BLKz中的存储器块的另一个实施例BLKb的电路图。
参见图5,存储器块BLKb可以包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿+Z方向延伸。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn、以及至少一个漏极选择晶体管DST,其堆叠在存储器块BLKb下方的衬底(未示出)上。
每个单元串的源极选择晶体管SST耦合在公共源极线CSL和存储器单元MC1至MCn之间。布置在同一行上的单元串的源极选择晶体管耦合到同一源极选择线。布置在第一行上的单元串CS11'至CS1m'的源极选择晶体管耦合到第一源极选择线SSL1。布置在第二行上的单元串CS21'至CS2m'的源极选择晶体管耦合到第二源极选择线SSL2。在另一个实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可以共同耦合到一个源极选择线。
每个单元串的第一存储器单元MC1至第n存储器单元MCn串联耦合在源极选择晶体管SST和漏极选择晶体管DST之间。第一存储器单元MC1至第n存储器单元MCn的栅极电极分别耦合到第一字线WL1至第n字线WLn。
每个单元串的漏极选择晶体管DST耦合在对应的位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管耦合到在行方向上延伸的漏极选择线。在第一行上的单元串CS11'至CS1m'的漏极选择晶体管耦合到第一漏极选择线DSL1。在第二行上的单元串CS21'至CS2m'的漏极选择晶体管耦合到第二漏极选择线DSL2。
因此,图5的存储器块BLKb具有类似于图4的存储器块BLKa的电路,除了从图5中的每个单元串中排除管道晶体管PT之外。
在另一个实施例中,可以提供偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。另外,布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'之中的偶数编号的单元串可以分别耦合到偶数位线,并且布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'之中的奇数编号的单元串可以分别耦合到奇数位线。
在一个实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以被用作虚设存储器单元。例如,可以提供(一个或多个)虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可替代地,可以提供(一个或多个)虚设存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。当虚设存储器单元的数目增加时,存储器块BLKb的操作的可靠性得到改善。另一方面,存储器块BLKb的大小增加。当虚设存储器单元的数目减少时,存储器块BLKb的大小减小。另一方面,存储器块BLKb的操作的可靠性可能劣化。
为了有效地控制(一个或多个)虚设存储器单元,每个可以具有所需的阈值电压。在存储器块BLKb的擦除操作之前或之后,可以对所有或一些虚拟存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制被施加到与相应虚设存储器单元耦合的虚设字线的电压,使得虚设存储器单元可以具有所需的阈值电压。
图6是示出存储器块的擦除操作的图。
参见图6,擦除操作可以包括第一擦除循环EL1至第n擦除循环ELn(n是1或更大的正整数)。每个擦除循环可以包括擦除步骤ERS步骤和验证步骤VFY步骤。
在擦除步骤ERS步骤中,擦除电压Vers可以被施加到存储器块中包括的多个存储器单元串的沟道区域。也就是说,擦除电压Vers可以被施加到包括沟道区域的衬底SUB。在施加擦除电压Vers时,接地电压VSS可以被施加到与存储器块耦合的字线。
在验证步骤VFY步骤中,存储器装置可以确定存储器块中的存储器单元是否具有对应于擦除状态的阈值电压。具体地,在验证步骤VFY步骤中,擦除验证电压Vvfy可以被施加到与存储器块耦合的字线。根据存储器单元的阈值电压是否低于擦除验证电压Vvfy,存储器单元可以被确定为开(on)单元或关(off)单元。
例如,当存储器单元的阈值电压低于擦除验证电压Vvfy时,存储器单元可以被确定为开单元。当存储器单元的阈值电压高于或等于擦除验证电压Vvfy时,存储器单元可以被确定为关单元。在验证步骤VFY步骤中,当具有低于擦除验证电压Vvfy的阈值电压的存储器单元的数目超过设定数目时,擦除操作可以通过。当具有低于擦除验证电压Vvfy的阈值电压的存储器单元的数目小于或等于设定数目时,擦除操作可能失败。可以重复擦除循环EL直到擦除操作通过。
每当重复擦除循环EL,擦除电压Vers的水平都可以根据增量步进脉冲擦除(ISPE)方案增加步进电压ΔVers。也就是说,第二擦除循环EL2的擦除电压Vers2的水平可以是第一擦除循环EL1的擦除电压Vers1加上ΔVers(Vers1+ΔVers)。更一般地,第n擦除循环ELn的擦除电压Versn的水平可以是擦除电压Vers(n-1)加上ΔVers(Vers(n-1)+ΔVers)。
在一个实施例中,在第一擦除循环EL1的擦除步骤ERS步骤中,擦除电压Vers1可以被施加到存储器块中包括的多个存储器单元串的沟道区域。也就是说,擦除电压Vers1可以被施加到包括沟道区域的衬底SUB。在施加擦除电压Vers1时,接地电压VSS可以被施加到与存储器块耦合的字线。当擦除步骤ERS步骤结束时,可以执行验证步骤VFY步骤。
在第一擦除循环EL1的验证步骤VFY步骤中,擦除验证电压Vvfy可以被施加到与存储器块耦合的字线。当在验证步骤VFY步骤中擦除操作通过时,擦除操作可以结束。当在验证步骤VFY步骤中擦除操作失败时,可以执行第二擦除循环EL2。第二擦除循环EL2也可以以与第一擦除循环EL1相同的方式执行。可以执行第二擦除循环EL2至第n擦除循环ELn,直到擦除操作通过。
图7是示出在存储器块的擦除操作中发生的过擦除现象的图。
参见图7,横轴表示阈值电压,并且纵轴表示存储器单元的数目。
每个存储器单元可以被配置作为用于存储一个数据位的单级单元(SLC)、用于存储两个数据位的多级单元(MLC)、用于存储三个数据位的三级单元(TLC)、或用于存储四个数据位的四级单元(QLC)。作为示例,本文描述了存储器单元是存储两个数据位的MLC的布置。
每个存储器单元可以处于擦除状态ER、第一编程状态P1、第二编程状态P2和第三编程状态P3中的任何一个。每个存储器单元可以被编程为具有任何编程状态,即,第一编程状态P1、第二编程状态P2或第三编程状态P3。
当执行擦除操作时,编程的存储器单元可以具有擦除状态ER。
具体地,通过擦除操作,具有第一编程状态P1至第三编程状态P3之中的任何一个状态的存储器单元可以具有与擦除状态ER相对应的阈值电压。
当在执行擦除操作之后存储器单元的阈值电压小于设定阈值电压时,存储器单元可以是过擦除存储器单元。设定阈值电压可以是与擦除状态ER相对应的阈值电压分布的最小值。在图7中,斜线部分可以是表示过擦除存储器单元的区域。在执行擦除操作之后发生过擦除存储器单元的现象被称为过擦除现象。当具有相同水平的擦除电压被施加到具有不同编程状态的存储器单元时,可能发生过擦除现象。
当具有相同水平的擦除电压被施加到具有不同编程状态的存储器单元时,阈值电压将减小到与擦除状态ER相对应的阈值电压分布的量可以取决于存储器单元而不同。因此,当连续施加具有相同电平的擦除电压时,即使阈值电压将减小的量取决于存储器单元的编程状态而不同,具有与擦除状态ER相邻的编程状态的存储器单元也可以被过擦除。当执行编程操作时,要被施加到过擦除存储器单元的编程电压可以高于被施加到具有擦除状态ER的存储器单元的编程电压。
图8是示出预编程操作的图。
参见图8,横轴表示阈值电压,并且纵轴表示存储器单元的数目。
为了防止参考图7描述的过擦除现象,可以在对那些存储器单元执行擦除操作之前对存储器单元执行预编程操作。预编程操作可以是将存储器块中的所有存储器单元的阈值电压移动到设定阈值电压分布的操作。
具体地,可以在预编程操作中将编程电压施加到与存储器块耦合的字线。在预编程操作中施加的编程电压可以是与最高编程状态相对应的编程电压。在预编程操作中,接地电压可以被施加到与存储器块耦合的位线。在预编程操作中,可以省略编程验证操作。例如,在预编程操作中,可以将编程电压施加预定次数。
在一个实施例中,在执行预编程操作之后,存储器单元可以具有对应于阈值电压分布P3'的阈值电压。在执行预编程操作之后,可以执行擦除操作。由于在存储器单元属于相同的阈值电压分布P3'的状态下将擦除电压施加到预编程的存储器单元,在擦除操作之后的存储器单元不会被过擦除,这与参考图7所描述的情况不同。
图9是示出超级块的图。
参见图9,单个存储器装置可以包括多个平面。一个平面可以包括多个存储器块。超级块可以包括多个存储器块之中的在不同平面中的至少两个存储器块。
在所图示的实施例中,存储器装置包括第零平面至第三平面(Plane0至Plane3)的示例。包括在存储器装置中的平面的数目可以变化。第0超级块(超级块0)可以包括分别在第0平面Plane0至第3平面Plane3中的四个存储器块(存储器块BLK00)。第一超级块(超级块1)可以包括分别在第零平面Plane0至第三平面Plane3中的四个存储器块(存储器块BLK01)。更一般地,第n超级块(超级块n)(n是1或更大的正整数)可以包括分别在第0平面Plane0至第3平面Plane3中的四个存储器块(存储器块BLKi,i是1或更大的正整数)。单个存储器装置可以包括第零超级块(超级块0)至第n超级块(超级块n)。包括在存储器装置中的超级块的数目可以变化,给定超级块中的存储器块的数目也可以变化。
在各种实施例中,超级块可以包括不同存储器装置中的至少两个存储器块。
图10是示出超级块的最后页的图。
参见图10,一个超级块可以包括多个页。超级块中的多个页可以根据预定序列顺序地被编程。最后页(最后顺序页)可以是在超级块中的多个页之中最后编程的页。根据通过读取超级块中的最后页而获得的结果,可以确定是否已经编程了超级块中包括的所有页。
当超级块的最后页被确定为编程页时,进一步确定超级块中的所有页已被编程。当确定超级块的最后页未被编程时,即,确定是擦除页时,进一步确定超级块中的多个页之中的至少一个页是擦除页。
编程页的数据可以包括至少一个0。擦除页的数据全部表示1。
图11是示出存储在图1的存储器块管理器212中的状态信息表的图。
参见图11,存储器块管理器212可以存储状态信息表。当存储器块作为超级块被管理时,存储在存储器块管理器212中的状态信息表可以是超级块状态信息表。超级块状态信息表可以存储超级块的状态信息。
擦除目标超级块可以是将对其执行擦除操作以便在数据被编程之前确保空闲块的超级块。擦除目标超级块可以是预编程目标超级块或非预编程目标超级块。在预编程目标超级块中,其最后页可以是编程页,如通过对最后页执行读取操作而确定的。在非预编程目标超级块中,其最后页可以是擦除页,如通过对最后页执行读取操作而确定的。
超级块的状态信息可以是表示是否已对预编程目标超级块执行了预编程操作的信息。预编程目标超级块的初始状态信息可以被设置以指示尚未完成预编程操作。随后,当执行对预编程目标超级块的预编程操作时,可以更新该超级块的状态信息以指示已经完成预编程操作。
在一个实施例中,预编程目标超级块的状态信息可以具有值1以指示已经完成预编程操作,并且具有值0以指示尚未完成预编程操作。当然,这些值可以颠倒,即,0指示预编程操作完成而1指示尚未完成这样的操作。
超级块状态信息表可以存储参考图9描述的第0超级块至第n超级块(超级块0至超级块n)之中的预编程目标超级块的状态信息。在所图示的实施例中,值0指示尚未对对应的超级块执行预编程操作,1指示已对对应的超级块执行了预编程操作。因此,如所图示,尚未对超级块0和超级块k执行预编程操作,而已对超级块2执行了这种操作。
图12是示出根据本公开的实施例的擦除操作的图。
参见图12,第一类型擦除操作和第二类型擦除操作中的每一个表示在数据被编程在存储器块中之前执行的擦除操作。
擦除目标存储器块可以是对其执行擦除操作以便在编程数据之前确保空闲块的存储器块。擦除目标存储器块可以是预编程目标块或非预编程目标块。
预编程目标块可以是其最后页是编程页的存储器块,如通过对最后页执行读取操作来确定。非预编程目标块可以是其最后页是擦除页的存储器块,如通过对最后页执行读取操作来确定。可以根据预定序列顺序地编程存储器块中的多个页。最后页可以是在存储器块中的多个页之中最后编程的页。
在第一类型擦除操作中,可以在擦除操作之前执行对擦除目标存储器块中的最后页的读取操作。当通过读取操作确定最后页是编程页时,可以执行对擦除目标存储器块的预编程操作。当通过读取操作确定最后页是擦除页时,可以不执行对擦除目标存储器块的预编程操作。随后,可以执行对擦除目标存储器块的擦除操作。
在第一类型擦除操作中,可以在存储器装置处于运行时间状态时执行读取操作、预编程操作和擦除操作。存储器装置可以响应于由存储器控制器提供的读取命令来执行读取操作。存储器装置可以响应于由存储器控制器提供的擦除命令来执行预编程操作和擦除操作。
与第一类型擦除操作相比,在第二类型擦除操作中,存储器装置在空闲状态中开始执行读取操作和预编程操作,并且仅在运行时间状态中执行擦除操作。具体地,为了使存储器装置在空闲状态中开始执行读取操作和预编程操作,存储器控制器可以根据通过执行读取命令所获得的结果来向存储器装置提供读取命令和预编程命令。读取命令可以指令存储器装置读取擦除目标存储器块中的多个页之中的最后页。
在第二类型擦除操作中,如通过执行读取命令来确定,当最后页是编程页时,存储器控制器可以将预编程命令提供给存储器装置。在一个实施例中,当存储器装置正在执行另一个操作时,即使最后页被确定为编程页,存储器控制器也可以不向存储器装置提供预编程命令。在一个实施例中,如通过执行读取命令来确定,当最后页是擦除页时,存储器控制器可以不向存储器装置提供预编程命令。
尽管未图示出,但是在第二类型擦除操作中,在预编程未完成块的情况下,其中在预编程目标块或存储器装置处于空闲状态时没有开始执行对该预编程未完成块的预编程操作,当存储器装置处于运行时间状态时可以执行预编程操作。
具体地,当存储器装置处于运行时间状态时,存储器控制器可以读取预编程目标存储器块的状态信息。状态信息可以是表示是否已对预编程目标存储器块执行了预编程操作的信息。当状态信息表示预编程未完成块时,存储器控制器可以对预编程目标存储器块执行预编程操作然后执行擦除操作。
在第一类型擦除操作中,当存储器装置处于运行时间状态时,擦除存储器块所需的总时间可以是第一读取时间t1_a和第一擦除时间t1_b之和。在第二类型擦除操作中,当存储器装置处于运行时间状态时,将擦除目标存储器块擦除所需的总时间可以是第二擦除时间t2_b。
因此,在第二类型擦除操作中,当存储器装置处于运行时间状态时,与第一类型擦除操作相比,擦除存储器块所需的总时间可以减少通过从第一读取时间和第一擦除时间之和中减去第二擦除时间所获得的值(t1_a+t1_b)-(t2_b)。
对最后页的读取操作和对存储器块的预编程操作可以以超级块为单位来执行。对超级块的这种读取操作可以针对超级块中包括的多个页中最后编程的页上。对超级块的这种预编程操作可以对超级块中包括的所有存储器块以存储器块为单位来执行。
图13是示出根据本公开的实施例的存储器控制器200和存储器装置100之间的过程的图。
参见图13,参考图1描述的存储器控制器200可以包括预编程控制器210。预编程控制器210可以包括命令生成器211和存储器块管理器212。
当存储器装置100处于空闲状态时,命令生成器211可以生成用于擦除目标超级块的读取命令,并且将所生成的读取命令提供给存储器装置100。读取命令可以用于在擦除目标超级块中包括的多个页之中的最后页。
命令生成器211可以根据来自存储器装置的与读取命令相对应的响应来生成预编程命令,并且将所生成的预编程命令提供给操作电压控制器131。
在一个实施例中,如通过执行读取命令来确定,当最后页是编程页时,命令生成器211可以将预编程命令提供给操作电压控制器131。在一个实施例中,当存储器装置100正在执行另一个操作时,即使最后页被确定为编程页,命令生成器211也可以不向操作电压控制器131提供预编程命令。在一个实施例中,如通过执行读取命令来确定,当最后页是擦除页时,命令生成器211可以不向操作电压控制器131提供预编程命令。
编程页的数据可以包括至少一个0。擦除页的数据可以全部表示1。
存储器块管理器212可以存储如参考图11描述的状态信息表。当存储器块作为超级块被管理时,存储在存储器块管理器212中的状态信息表可以是超级块状态信息表。超级块状态信息表可以存储预编程目标超级块的状态信息。预编程目标超级块的状态信息可以是表示是否已对擦除目标超级块之中的预编程目标超级块执行了预编程操作的信息。
存储器装置100可以包括操作电压控制器131。
操作电压控制器131可以控制施加到包括在预编程目标超级块中的存储器块的电压,使得根据接收的预编程命令来对预编程目标超级块执行预编程操作。预编程命令可以是指令存储器装置100在对预编程目标存储器块执行擦除操作之前对该块执行预编程操作的命令。可以以存储器块为单位执行预编程操作。预编程操作可以是将包括在存储器块中的所有存储器单元的阈值电压移动到设定阈值电压分布的操作。
在一个实施例中,当存储器装置100处于运行时间状态时,参考图1描述的存储器控制器200可以读取预编程目标超级块的状态信息。当预编程目标超级块的读取状态信息表示已对预编程目标超级块完成了预编程操作时,存储器控制器200可以对该超级块执行擦除操作。当状态信息表示尚未对预编程目标超级块完成预编程操作时,存储器控制器200可以对该超级块执行预编程操作以及然后执行擦除操作。
图14是示出根据本公开的实施例的存储器控制器的操作的流程图。
参见图14,在步骤S1401中,存储器控制器可以分配超级块。超级块可以包括多个存储器块之中的在不同平面中的至少两个存储器块。
在步骤S1403中,存储器控制器可以确定存储器装置是否处于空闲状态。当确定存储器装置100处于空闲状态时,存储器控制器进行到步骤S1405;否则,操作结束。
在步骤S1405中,存储器控制器可以向存储器装置提供针对包括在擦除目标超级块中的多个页之中的最后页的读取命令。
擦除目标超级块可以是要对其执行擦除操作以便在数据被编程之前确保空闲块的超级块。可以根据预定序列顺序地编程包括在超级块中的多个页。最后页可以是包括在超级块中的多个页之中最后编程的页。
在步骤S1407中,存储器控制器可以基于通过执行读取命令而获得的结果来确定擦除目标超级块是否是预编程目标超级块。当擦除目标超级块被确定为预编程目标超级块时,存储器控制器进行到步骤S1409;否则,处理进行到步骤S1401。
预编程目标超级块可以是其中包括在超级块中的多个页之中的最后页被编程的超级块。
在步骤S1409中,存储器装置可以确定存储器装置是否正在执行另一个操作。当确定存储器装置正在执行另一个操作时,操作结束;否则,存储器控制器进行到步骤S1411。
在步骤S1411中,存储器控制器可以向存储器装置提供用于预编程目标超级块的预编程命令。
在步骤S1413中,存储器控制器可以更新存储在超级块状态信息表中的预编程目标超级块的状态信息。例如,存储器控制器可以更新预编程目标超级块的状态信息,以指示已经对其执行了预编程操作。
图15是示出根据本公开的另一个实施例的存储器控制器的操作的流程图。
参见图15,在步骤S1501中,存储器控制器可以从主机接收针对擦除目标超级块的擦除请求。
在步骤S1503中,存储器控制器可以读取擦除目标超级块的状态信息。
在步骤S1505中,存储器控制器可以基于该超级块的读取状态信息来确定擦除目标超级块是否对应于已经对其执行了预编程操作的预编程目标超级块。当擦除目标超级块被确定为已经对其完成预编程操作的预编程目标超级块时,存储器控制器进行到步骤S1509。否则,存储器控制器进行到步骤S1507。
在步骤S1507中,存储器控制器可以向存储器装置提供针对对其尚未完成预编程操作的预编程目标超级块的预编程命令。
在步骤S1509中,存储器控制器可以向存储器装置提供针对对其已经完成预编程操作的预编程目标超级块的擦除命令。
图16是示出图1的存储器控制器的另一个实施例的图。
参考图16,存储器控制器1000耦合到主机和存储器装置。存储器控制器1000被配置为响应于从主机接收的请求来访问存储器装置。例如,存储器控制器1000被配置为控制存储器装置的读取、编程、擦除和后台操作。存储器控制器1000被配置为提供存储器装置和主机之间的接口。存储器控制器1000被配置为驱动用于控制存储器装置的固件。
存储器控制器1000可以包括处理器1010、存储器缓冲器1020、纠错码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以被配置为在存储器控制器1000的部件之间提供信道。
处理器1010可以控制存储器控制器1000的整体操作,并且执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。此外,处理器1010可以通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可以使用存储器缓冲器1020作为工作存储器、高速缓存存储器或缓冲器存储器来控制存储装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过FTL将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以接收LBA,使用映射表来将其转换为PBA。根据映射单元存在FTL的若干地址映射方法,例如,页映射方法、块映射方法和混合映射方法。可以使用任何这些映射方法。
处理器1010被配置为将从主机接收的数据随机化。例如,处理器1010可以使用随机化种子来将从主机接收的数据随机化。将随机化数据提供作为要被存储到存储器装置的数据,以在存储器单元阵列中进行编程。
在读取操作中,处理器1010被配置为对从存储器装置接收的数据进行去随机化。例如,处理器1010可以使用去随机化种子对从存储器装置接收的数据进行去随机化。可以将去随机化数据输出到主机。
在一个实施例中,处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可以被用作处理器1010的工作存储器、高速缓存存储器或缓冲器存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可以执行ECC操作。ECC电路1030可以对要通过存储器接口1060写入存储器装置中的数据执行ECC编码。可以通过存储器接口1060将ECC编码数据传送到存储器装置。ECC电路1030可以对通过存储器接口1060从存储器装置接收的数据执行ECC解码。在一个示例中,ECC电路1030可以作为存储器接口1060的部件而被包括在存储器接口1060。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以使用各种通信协议中的至少一种与主机通信,诸如通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围部件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、已注册DIMM(RDIMM)和负载减少DIMM(LRDIMM)。
缓冲器控制电路1050被配置为在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置为在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过信道与存储器装置传递命令、地址和数据。
在一个示例中,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制电路1050。存储器缓冲器1020和缓冲器控制电路1050中的一个或两个可以分开提供或者它的/它们的功能可以分布在存储器控制器1000内。
在一个示例中,处理器1010可以通过使用代码来控制存储器控制器1000的操作。处理器1010可以从存储器控制器1000中提供的非易失性存储器装置(例如,只读存储器(ROM))加载代码。在另一个示例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在一个示例中,可以将存储器控制器1000的总线1070划分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000中发送数据,并且控制总线可以被配置为在存储器控制器1000中发送诸如命令和地址的控制信息。数据总线和控制总线彼此分开以免互相干扰或影响。数据总线可以耦合到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以耦合到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图17是示出根据本公开的实施例的应用了存储装置的存储器卡系统的框图。
参见图17,存储器卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100耦合到存储器装置2200。存储器控制器2100被配置为访问存储器装置2200。例如,存储器控制器2100被配置为控制存储器装置2200的读取、写入、擦除和后台操作。存储器控制器2100被配置为在存储器装置2200和主机之间提供接口。存储器控制器2100被配置为驱动用于控制存储器装置2200的固件。可以与参考图1描述的存储器控制器200相同地实现存储器控制器2100。
在一个示例中,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和ECC电路的部件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定通信协议来与外部装置(例如,主机)通信。在一个示例中,存储器控制器2100可以通过各种通信协议中的至少一种来与外部装置通信,诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)、集成驱动电子器件(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。
在一个示例中,存储器装置2200可以由各种非易失性存储器装置中的任何一种来实现,诸如电可擦除可编程ROM(EPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁RAM(STT-MRAM)。
可以将存储器控制器2100和存储器装置2200集成到单个半导体装置中以构成存储器卡,诸如PC卡(个人计算机存储器卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro和eMMC)、SD卡(SD、miniSD、microSD和SDHC)和/或通用闪存(UFS)。
图18是示出根据本公开的实施例的应用了存储装置的固态驱动器(SSD)的框图。
参见图18,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001来与主机3100交换信号SIG,并且通过功率连接器3002来接收功率PWR。SSD 3200包括SSD控制器3210、多个闪存3221至322n、辅助电源3230和缓冲器存储器3240。
在一个实施例中,SSD控制器3210可以用作参考图2描述的存储器控制器200。
SSD控制器3210可以响应于从主机3100接收的信号SIG来控制多个闪存3221至322n。在一个示例中,信号SIG可以基于主机3100和SSD 3200之间的接口。例如,信号SIG可以由诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)、集成驱动电子器件(IDE)、火线、通用闪存(UFS)、WI-FI、蓝牙和NVMe之类的接口中的至少一个来被定义。
辅助电源3230通过功率连接器3002耦合到主机3100。当来自主机3100的功率供应不平稳时,辅助电源3230可以提供SSD 3200的功率。在一个示例中,辅助电源3230可以位于SSD 3200中,或者位于SSD 3200的外部。例如,辅助电源3230可以位于主板上,并且向SSD3200提供辅助功率。
缓冲器存储器3240操作为SSD 3200的缓冲器存储器。例如,缓冲器存储器3240可以临时存储从主机3100接收的数据或从多个闪存3221至322n接收的数据,或者临时存储闪存3221至322n的元数据(例如,映射表)。缓冲器存储器3240可以包括诸如DRAM、SDRAM、DDRSDRAM、LPDDR SDRAM和GRAM的易失性存储器或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图19是示出根据本公开的实施例的应用了存储装置的用户系统的框图。
参见图19,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动包括在用户系统4000中的部件,诸如操作系统(OS)、用户程序等。在一个示例中,应用处理器4100可以包括用于控制包括在用户系统4000中的例如接口、图形引擎等的部件的控制器。可以将应用处理器4100提供作为片上系统(SoC)。
存储器模块4200可以操作为用户系统4000的主存储器、工作存储器、缓冲器存储器或高速缓存存储器进行操作。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。在一个示例中,可以将应用处理器4100和存储器模块4200提供为基于封装上封装(PoP)而封装的一个半导体封装。
网络模块4300可以与外部装置通信。在示例中,网络模块4300可以支持无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、Wimax、WLAN、UWB、蓝牙和Wi-Fi。在一个示例中,可以将网络模块4300被包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可替代地,存储模块4400可以将存储在其中的数据发送到应用处理器4100。在一个示例中,存储模块4400可以用非易失性半导体存储器装置实现,诸如相变RAM(PRAM)、磁RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存。在一个示例中,可以将存储模块4400提供为可移除驱动器,诸如用户系统4000的存储器卡或外部驱动器。
在一个示例中,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参考图2描述的存储器装置相同地进行操作。存储模块4400可以与参考图1描述的存储装置50相同地进行操作。
用户接口4500可以包括用于向应用处理器4100输入数据或命令或者将数据输出到外部装置的接口。在示例中,用户接口4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸板、触摸屏、触摸垫、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机。
根据本公开的实施例,提供了具有改进的擦除操作速度的存储器控制器及其操作方法。
虽然已经参考本公开的实施例说明和描述了本公开,但是本领域技术人员鉴于本公开将理解,在不脱离由所附权利要求及其等同物限定的本发明的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。因此,本公开的范围不应限于上述实施例,而是应当不仅由所附权利要求来确定而且还应由其等同物来确定。
在上述实施例中,可以选择性地执行所有步骤或者可以省略一部分步骤。在每个实施例中,步骤不一定按照所描述的顺序执行,并且可以重新布置。所公开的实施例仅是便于理解本公开但不限制本公开的示例。也就是说,对于本领域技术人员显而易见的是,可以在本公开的技术范围的基础上进行各种修改。
尽管本文使用了特定术语,但是它们用于解释而不是限制本公开的实施例。本领域技术人员将基于本公开的技术范围认识到,除了本文公开的实施例之外,在本公开的精神和范围内还可以进行许多变化和修改。
Claims (20)
1.一种存储器控制器,所述存储器控制器被配置为控制包括多个存储器块的存储器装置,所述存储器控制器包括:
存储器接口,被配置为与所述存储器装置交换数据;以及
预编程控制器,被配置为当所述存储器装置处于空闲状态时,对擦除目标存储器块中的多个页的编程序列的最后页执行读取操作,并且根据通过执行所述读取操作而获得的结果来对所述擦除目标存储器块执行预编程操作,
其中所述擦除目标存储器块是在所述多个存储器块之中的要对其执行擦除操作的存储器块,以及
其中在执行所述预编程操作之后执行对所述擦除目标存储器块的所述擦除操作。
2.根据权利要求1所述的存储器控制器,其中所述预编程控制器根据通过执行所述读取操作而获得的结果来确定所述擦除目标存储器块是否要被预编程。
3.根据权利要求2所述的存储器控制器,其中作为通过执行所述读取操作而获得的结果,当所述最后页的数据包括至少一个0时,所述预编程控制器将所述擦除目标存储器块设置为要被预编程的预编程目标块。
4.根据权利要求3所述的存储器控制器,其中当所述擦除目标存储器块被设置为所述预编程目标块时,所述预编程控制器对所述擦除目标存储器块执行所述预编程操作。
5.根据权利要求3所述的存储器控制器,其中当所述存储器装置执行另一个操作时,即使所述擦除目标存储器块被设置为所述预编程目标块,所述预编程控制器也不执行所述预编程操作。
6.根据权利要求1所述的存储器控制器,其中在所述预编程操作中,施加编程脉冲以将包括在所述擦除目标存储器块中的存储器单元的阈值电压移动到设定阈值电压分布。
7.根据权利要求6所述的存储器控制器,其中所述设定阈值电压分布对应于最高编程状态。
8.根据权利要求6所述的存储器控制器,其中所述预编程控制器在没有编程验证操作的情况下执行所述预编程操作。
9.根据权利要求1所述的存储器控制器,其中所述预编程控制器包括命令生成器,所述命令生成器被配置为生成针对所述最后页的读取命令并且将所生成的读取命令提供给所述存储器装置。
10.根据权利要求9所述的存储器控制器,其中所述命令生成器根据对所述读取命令的响应来向所述存储器装置提供针对所述擦除目标存储器块的预编程命令。
11.根据权利要求9所述的存储器控制器,其中所述预编程控制器包括存储器块管理器,所述存储器块管理器被配置为存储状态信息,所述状态信息表示是否已经对所述擦除目标存储器块执行了所述预编程操作。
12.根据权利要求9所述的存储器控制器,其中当所述命令生成器向所述存储器装置提供针对所述擦除目标存储器块的所述预编程命令时,所述存储器块管理器更新所述擦除目标存储器块的所述状态信息。
13.一种存储器控制器,所述存储器控制器被配置为控制包括多个存储器块的存储器装置,所述存储器控制器包括:
存储器接口,被配置为与所述存储器装置交换数据;以及
预编程控制器,被配置为读取在所述多个存储器块之中的要对其执行擦除操作的擦除目标存储器块的状态信息,并且根据所述擦除目标存储器块的所述状态信息来对所述擦除目标存储器块执行预编程操作,
其中在执行所述预编程操作之后执行对所述擦除目标存储器块的所述擦除操作,以及
其中所述状态信息表示是否已经执行了对所述擦除目标存储器块的所述预编程操作。
14.根据权利要求13所述的存储器控制器,其中当所述擦除目标存储器块的所述状态信息表示对所述擦除目标存储器块尚未执行所述预编程操作时,所述预编程控制器对所述擦除目标存储器块执行所述预编程操作。
15.一种用于操作存储器控制器的方法,所述存储器控制器被配置为控制包括多个存储器块的存储器装置,所述方法包括:
当所述存储器装置处于空闲状态时,对在所述多个存储器块之中的要对其执行擦除操作的擦除目标存储器块中的多个页的编程序列的最后页执行读取操作;
根据通过执行所述读取操作而获得的结果来对所述擦除目标存储器块执行预编程操作;以及
在执行所述预编程操作之后对所述擦除目标存储器块执行所述擦除操作。
16.根据权利要求15所述的方法,其中作为通过执行所述读取操作而获得的结果,当所述最后页的数据包括至少一个0时,对所述擦除目标存储器块执行所述预编程操作。
17.根据权利要求15所述的方法,进一步包括:存储表示是否已经执行了对所述擦除目标存储器块的所述预编程操作的状态信息。
18.根据权利要求17所述的方法,进一步包括:当执行了对所述擦除目标存储器块的所述预编程操作时,更新所述擦除目标存储器块的所述状态信息。
19.一种存储器控制器,所述存储器控制器被配置为控制包括多个平面的存储器装置,每个平面包括多个存储器块,所述存储器控制器包括:
存储器接口,被配置为与所述存储器装置交换数据;以及
预编程控制器,被配置为当所述存储器装置处于空闲状态时,读取在超级块之中的擦除目标超级块中的多个页的编程序列的最后页,并且根据通过读取所述最后页而获得的结果来对所述擦除目标超级块执行预编程操作,
其中所述超级块各自包括所述多个存储器块之中的在不同平面中的至少两个存储器块,
其中在执行所述预编程操作之后执行对所述擦除目标超级块的擦除操作,以及
其中所述擦除目标超级块是在数据被编程之前要对其执行擦除操作的超级块。
20.一种存储器控制器,所述存储器控制器被配置为控制包括多个平面的存储器装置,每个平面包括多个存储器块,所述存储器控制器包括:
存储器接口,被配置为与所述存储器装置交换数据;以及
预编程控制器,被配置为读取擦除目标超级块的状态信息,并且根据所述状态信息来对所述擦除目标超级块执行预编程操作,
其中所述擦除目标超级块是在超级块之中的在数据被编程之前要对其执行擦除操作的超级块,每个超级块包括在所述多个存储器块之中的在不同平面中的至少两个存储器块,以及
其中所述状态信息表示是否已经执行了对所述擦除目标超级块的所述预编程操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180089616A KR102611345B1 (ko) | 2018-07-31 | 2018-07-31 | 메모리 컨트롤러 및 그 동작 방법 |
KR10-2018-0089616 | 2018-07-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110780802A true CN110780802A (zh) | 2020-02-11 |
CN110780802B CN110780802B (zh) | 2023-06-16 |
Family
ID=69227549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910434524.4A Active CN110780802B (zh) | 2018-07-31 | 2019-05-23 | 存储器控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10998051B2 (zh) |
KR (1) | KR102611345B1 (zh) |
CN (1) | CN110780802B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443344A (zh) * | 2020-11-05 | 2022-05-06 | 旺宏电子股份有限公司 | 存储器装置及其数据保持方法、存储器控制器 |
US11561719B2 (en) | 2021-04-16 | 2023-01-24 | Phison Electronics Corp. | Flash memory control method of re-programming memory cells before erase operations, flash memory storage device and flash memory controller |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112074908B (zh) | 2018-03-16 | 2024-05-24 | 美光科技公司 | Nand数据放置模式 |
US11635894B2 (en) | 2018-03-16 | 2023-04-25 | Micron Technology, Inc. | Clustered parity for NAND data placement schema |
JP2021047961A (ja) * | 2019-09-19 | 2021-03-25 | キオクシア株式会社 | メモリシステム |
KR20210129928A (ko) * | 2020-04-21 | 2021-10-29 | 에스케이하이닉스 주식회사 | 메모리 장치 및 메모리 장치의 동작방법 |
KR20220033784A (ko) | 2020-09-10 | 2022-03-17 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 장치 및 스토리지 장치 |
US11955182B2 (en) | 2022-05-17 | 2024-04-09 | Sandisk Technologies Llc | Adaptive pre-programming |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050219909A1 (en) * | 2003-07-04 | 2005-10-06 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device, method for sub-block erase and electric device with the same |
US20120275232A1 (en) * | 2011-04-26 | 2012-11-01 | SK Hynix Inc. | Semiconductor device and erase methods thereof |
US20150026386A1 (en) * | 2013-07-16 | 2015-01-22 | Yogesh B. Wakchaure | Erase Management in Memory Systems |
CN105938725A (zh) * | 2015-03-07 | 2016-09-14 | 爱思开海力士有限公司 | 数据储存设备及驱动其的方法 |
CN106128505A (zh) * | 2015-05-06 | 2016-11-16 | 爱思开海力士有限公司 | 包括半导体存储器件的存储系统以及其编程方法 |
US20170285969A1 (en) * | 2016-03-30 | 2017-10-05 | Intel Corporation | Methods and apparatus to perform erase-suspend operations in memory devices |
CN107957959A (zh) * | 2016-10-17 | 2018-04-24 | 爱思开海力士有限公司 | 具有文件级安全擦除的存储器系统及其操作方法 |
US20180158505A1 (en) * | 2016-12-01 | 2018-06-07 | SK Hynix Inc. | Semiconductor memory device and method for operating the same |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100888616B1 (ko) * | 2006-11-28 | 2009-03-17 | 삼성전자주식회사 | 소거 동작 전에 프리 프로그램 동작을 수행하는 낸드플래시 메모리 및 그것의 소거 방법 |
KR102358463B1 (ko) * | 2014-10-20 | 2022-02-07 | 삼성전자주식회사 | 불휘발성 메모리 장치의 동작 방법 |
KR102624612B1 (ko) * | 2016-11-15 | 2024-01-15 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
KR102092269B1 (ko) * | 2016-12-01 | 2020-03-23 | 주식회사 엘지화학 | 배터리 셀 디가싱 장치 |
-
2018
- 2018-07-31 KR KR1020180089616A patent/KR102611345B1/ko active IP Right Grant
-
2019
- 2019-04-15 US US16/384,282 patent/US10998051B2/en active Active
- 2019-05-23 CN CN201910434524.4A patent/CN110780802B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050219909A1 (en) * | 2003-07-04 | 2005-10-06 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device, method for sub-block erase and electric device with the same |
US20120275232A1 (en) * | 2011-04-26 | 2012-11-01 | SK Hynix Inc. | Semiconductor device and erase methods thereof |
US20150026386A1 (en) * | 2013-07-16 | 2015-01-22 | Yogesh B. Wakchaure | Erase Management in Memory Systems |
CN105938725A (zh) * | 2015-03-07 | 2016-09-14 | 爱思开海力士有限公司 | 数据储存设备及驱动其的方法 |
CN106128505A (zh) * | 2015-05-06 | 2016-11-16 | 爱思开海力士有限公司 | 包括半导体存储器件的存储系统以及其编程方法 |
US20170285969A1 (en) * | 2016-03-30 | 2017-10-05 | Intel Corporation | Methods and apparatus to perform erase-suspend operations in memory devices |
CN107957959A (zh) * | 2016-10-17 | 2018-04-24 | 爱思开海力士有限公司 | 具有文件级安全擦除的存储器系统及其操作方法 |
US20180158505A1 (en) * | 2016-12-01 | 2018-06-07 | SK Hynix Inc. | Semiconductor memory device and method for operating the same |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443344A (zh) * | 2020-11-05 | 2022-05-06 | 旺宏电子股份有限公司 | 存储器装置及其数据保持方法、存储器控制器 |
US11561719B2 (en) | 2021-04-16 | 2023-01-24 | Phison Electronics Corp. | Flash memory control method of re-programming memory cells before erase operations, flash memory storage device and flash memory controller |
TWI813978B (zh) * | 2021-04-16 | 2023-09-01 | 群聯電子股份有限公司 | 快閃記憶體控制方法、快閃記憶體儲存裝置及快閃記憶體控制器 |
Also Published As
Publication number | Publication date |
---|---|
KR20200014136A (ko) | 2020-02-10 |
US20200043556A1 (en) | 2020-02-06 |
CN110780802B (zh) | 2023-06-16 |
US10998051B2 (en) | 2021-05-04 |
KR102611345B1 (ko) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11056176B2 (en) | Memory device and operating method thereof | |
US11461227B2 (en) | Storage device and operating method thereof | |
CN110780802B (zh) | 存储器控制器及其操作方法 | |
US10665291B2 (en) | Memory device and operating method thereof | |
CN111258919B (zh) | 储存设备及其操作方法 | |
CN112037835B (zh) | 存储器装置及其操作方法 | |
US10922167B2 (en) | Storage device and operating method thereof | |
CN111667871B (zh) | 存储器设备及其操作方法 | |
US11600334B2 (en) | Memory controller | |
US11688472B2 (en) | Memory device for passing verify operation and operating method of the same | |
CN115376596A (zh) | 存储器设备和该存储器设备的操作方法 | |
CN110619912A (zh) | 存储装置以及该存储装置的操作方法 | |
CN114121104A (zh) | 存储器设备及其操作方法 | |
CN112151096A (zh) | 存储器装置及其操作方法 | |
US20220392538A1 (en) | Memory device and operating method thereof | |
US11380416B2 (en) | Storage device and operating method thereof | |
KR102724055B1 (ko) | 메모리 장치 및 그 동작 방법 | |
CN113764011A (zh) | 存储装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |