CN111341372B - 存储装置以及操作存储装置的方法 - Google Patents
存储装置以及操作存储装置的方法 Download PDFInfo
- Publication number
- CN111341372B CN111341372B CN201910781956.2A CN201910781956A CN111341372B CN 111341372 B CN111341372 B CN 111341372B CN 201910781956 A CN201910781956 A CN 201910781956A CN 111341372 B CN111341372 B CN 111341372B
- Authority
- CN
- China
- Prior art keywords
- memory
- program
- programming
- data
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- 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/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1677—Verifying circuits or 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
- 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/12—Programming voltage switching circuits
-
- 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/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/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/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4085—Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
-
- 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/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] 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/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- 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/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
- G11C16/225—Preventing erasure, programming or reading when power supply voltages are outside the required ranges
-
- 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
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Abstract
本公开提供一种存储器系统。该存储器系统包括:存储器装置,包括较高密度存储的第一存储器区域和较低密度存储的第二存储器区域;以及控制器,被配置为针对数据组块中的每一个,控制存储器装置对第二存储器区域顺序地执行备份编程操作并且对第一存储器区域执行粗略编程和精细编程操作,其中针对数据组块之中的至少两个,控制器控制存储器装置首先执行粗略编程并且然后执行精细编程操作,并且其中控制器控制存储器装置执行不具有编程验证进程的备份编程操作。
Description
相关申请的交叉引用
本申请要求于2018年12月19日提交的申请号为10-2018-0165674的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置,并且更特别地,涉及一种存储装置及操作该存储装置的方法。
背景技术
通常,存储装置在诸如计算机或智能电话的主机装置的控制下存储数据。存储装置可以包括被配置为存储数据的存储器装置,以及被配置为控制存储器装置的存储器控制器。存储器装置主要被分类为易失性存储器装置和非易失性存储器装置。
易失性存储器装置仅在向易失性存储器装置供应电力时存储数据;当电力断开时,存储在其中的数据会丢失。易失性存储器装置的示例包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。
在非易失性存储器装置中,即使在电力断开时,存储在其中的数据也被保持。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)和闪速存储器。
发明内容
本公开的各个实施例涉及一种具有提高的稳定性的存储装置以及操作该存储装置的方法。
本公开的实施例可以提供一种存储器控制器,该存储器控制器被配置为控制包括第一块和第二块的存储器装置,该存储器控制器包括:存储器操作控制器,被配置为生成与从主机接收的写入请求相对应的多个编程命令,并且将多个编程命令提供至存储器装置;以及编程顺序控制器,被配置为确定存储器操作控制器将多个编程命令提供至存储器装置的顺序,其中多个编程命令包括主编程命令和备份编程命令,该主编程命令用于将对应于写入请求的写入数据内的具有固定大小的数据组块存储在第一块中,该备份编程命令用于将数据组块存储在第二块中,其中根据主编程命令的操作包括将数据组块存储在第一块中的编程脉冲施加操作,和与编程脉冲施加操作相对应的编程验证操作,并且其中根据备份编程命令的操作包括将数据组块存储在第二块中的编程脉冲施加操作。
本公开的实施例可以提供一种存储装置,该存储装置包括:存储器装置,包括具有每个存储n个数据位的存储器单元的第一块,其中n是大于m的自然数,以及具有每个存储m个数据位的存储器单元的第二块,其中m是1或更大的自然数;以及存储器控制器,被配置为生成与从主机接收的写入请求相对应的多个编程命令,将多个编程命令提供至存储器装置,并且确定将多个编程命令提供至存储器装置的顺序,其中根据多个编程命令的多个编程操作包括主编程操作和备份编程操作,该主编程操作将对应于写入请求的写入数据内的具有固定大小的数据组块存储在第一块中,该备份编程操作将数据组块存储在第二块中,其中主编程操作包括将数据组块存储在第一块中的编程脉冲施加操作,以及对应于编程脉冲施加操作的编程验证操作,并且其中备份编程操作包括将数据组块存储在第二块中的编程脉冲施加操作。
本公开的实施例可以提供一种存储器系统,该存储器系统包括:存储器装置,包括较高密度存储的第一存储器区域和较低密度存储的第二存储器区域;以及控制器,被配置为针对数据组块中的每一个,控制存储器装置顺序地对第二存储器区域执行备份编程操作并且对第一存储器区域执行粗略编程和精细编程操作,其中针对数据组块之中的至少两个,控制器控制存储器装置首先执行粗略编程并且然后执行精细编程操作,并且其中控制器控制存储器装置执行不具有编程验证进程的备份编程操作。
附图说明
图1是示出根据本公开的实施例的存储装置的示图。
图2是示出诸如图1的存储器装置的存储器装置的配置的示图。
图3是示出诸如图2的存储器单元阵列的存储器单元阵列的实施例的示图。
图4是示出根据本公开的实施例的图3的存储块BLK1至BLKz的代表性存储块BLKa的电路图。
图5是示出根据本公开的实施例的图3的存储块BLK1至BLKz的代表性存储块BLKb的电路图。
图6A是示出根据本公开的实施例的配置成存储一个数据位的存储器单元的阈值电压分布的示图。
图6B是示出根据本公开的实施例的配置成存储两个数据位的存储器单元的阈值电压分布的示图。
图6C是示出根据本公开的实施例的配置成存储三个数据位的存储器单元的阈值电压分布的示图。
图6D是示出根据本公开的实施例的配置成存储四个数据位的存储器单元的阈值电压分布的示图。
图7A是示出根据本公开的实施例的正常编程操作的示图。
图7B是示出根据本公开的实施例的备份编程操作的示图。
图8是示出根据本公开的实施例的主编程操作的配置的示图。
图9是示出根据本公开的实施例的存储器控制器和存储器装置的配置和操作的示图。
图10是示出根据本公开的实施例的备份编程操作和主编程操作的示图。
图11是示出诸如参照图9描述的编程状态表的编程状态表的示图。
图12是示出根据本公开的实施例的存储器控制器的操作的流程图。
图13是示出根据本公开的实施例的存储装置的操作的流程图。
图14是示出根据本公开的实施例的存储装置的操作的流程图。
图15是示出根据本公开的实施例的图1的存储器控制器的示例的示图。
图16是示出根据本公开的实施例的应用存储装置的存储卡系统的框图。
图17是示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)系统的框图。
图18是示出根据本公开的实施例的应用存储装置的用户系统的框图。
具体实施方式
本文提供的特定结构和功能描述针对本公开的实施例。然而,描述不应被解释为限于本文描述的实施例。
本发明可以许多不同的形式实现并且因此不应被解释为仅限于本文阐述的实施例。相反,本发明旨在不仅涵盖所公开的实施例,而且涵盖落入本公开的精神和范围内的各种替换、修改、等同方案和其它实施例。
将理解的是,虽然本文中可以使用术语“第一”、“第二”等来识别各个元件,但是这些元件不应受这些术语限制。这些术语仅用于将一个元件与否则会具有相同或相似名称的另一元件区分开。例如,在不脱离本公开的教导的情况下,一个示例中的第一元件可在另一示例中被称为第二元件。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,该元件可直接联接或连接到其它元件,或者其之间可存在一个或多个中间元件。相反,应理解的是,当元件被称为“直接联接”或“直接连接”到另一元件时,不存在中间元件。应以相同的方式来理解解释元件之间的关系的其它表达,诸如“在……之间”、“直接在......之间”、“与……相邻”或“与……直接相邻”。
本文使用的术语仅用于描述特定实施例的目的,而不旨在限制。在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式,并且反之亦然。将进一步理解的是,当在本说明书中使用术语“包括”、“包含”、“具有”等时,这些术语指定所陈述的特征、整数、步骤、操作、元件、组件和/或其组合的存在,但并不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。
除非另外定义,否则本文使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的相同的含义。将进一步理解的是,本文使用的术语应被解释为具有与它们在本说明书和相关技术背景下的含义一致的含义并且不以理想化或过于形式化的意义来解释,除非本文明确地如此限定。
省略了对本领域技术人员公知的功能和结构的详细描述,以避免模糊本公开的主题。这旨在使本公开的主题清楚。
下面在参照附图的各种实施例的场景下详细解释本公开。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
图1是示出根据本公开的实施例的存储装置50的示图。
参照图1,存储装置50可以包括存储器装置100和配置成控制存储器装置100的操作的存储器控制器200。存储装置50可以是配置成在诸如下列的主机300的控制下存储数据的装置:蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
根据作为与主机300的通信系统的主机接口,存储装置50可以被配置为各种类型的存储装置中的任意一种。例如,数据存储装置50可以被配置为下列中的任意一种:SSD、MMC、eMMC、RS-MMC或微型MMC型多媒体卡、SD、迷你SD和微型SD型安全数字卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡型存储装置、外围组件互连(PCI)卡型存储装置、高速PCI(PCIe)卡型存储装置、紧凑型闪存(CF)卡、智能媒体卡和记忆棒。
存储装置50可以各个封装类型中的任意一种的形式被制造。例如,存储装置50可以被制造为下列中的任意一种:堆叠封装(POP)类型、系统级封装(SIP)类型、片上系统(SOC)类型、多芯片封装(MCP)类型、板上芯片(COB)类型、晶圆级制造封装(WFP)类型和晶圆级堆叠封装(WSP)类型。
存储器装置100可以将数据存储在其中。存储器装置100可以在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括配置为将数据存储在其中的多个存储器单元。
存储器单元可以包括能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC)或者能够存储四个数据位的四层单元(QLC)。
存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元。每个存储块可以包括多个页面。在实施例中,每个页面可以是将数据存储在存储器装置100中或从存储器装置100读取所存储的数据的单元。每个存储块可以是擦除数据的单元。
在实施例中,存储器单元阵列可以包括第一块和第二块。在每个第一块中包括的存储器单元可以存储n个数据位(n是大于m的自然数)。在每个第二块中包括的存储器单元可以存储m个数据位(m是1或更大的自然数)。第一块可以是配置为存储数据的主块。第二块可以是配置为存储数据的备用块。可以使用存储在第二块中的数据来执行将数据存储在第一块中的编程操作。
在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。在本说明书中,通过示例的方式,在存储器装置100是NAND闪速存储器的场景下描述本发明的各方面。
存储器装置100可以从存储器控制器200接收命令和地址,并且访问由地址选择的存储器单元阵列的区域。换言之,存储器装置100可以对由地址选择的区域执行与命令相对应的操作。例如,存储器装置100可以执行写入(编程)操作、读取操作以及擦除操作。在编程操作期间,存储器装置100可以将数据编程到由地址选择的区域。在读取操作期间,存储器装置100可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置100可以从由地址选择的区域擦除数据。
在实施例中,存储器装置100可以包括存储器操作处理器131。
存储器操作处理器131可以响应于从存储器控制器200提供的编程命令,执行将数据存储在存储器单元中的编程操作。
存储器操作处理器131可以响应于从存储器控制器200提供的备份编程命令来执行备份编程操作。备份编程操作可以是将数据存储在第二块中的存储器单元中的操作。在实施例中,备份编程操作可以包括编程电压施加操作而不包括编程验证操作。编程电压施加操作也可称为编程脉冲施加操作。
存储器操作处理器131可以响应于从存储器控制器200提供的预编程命令来执行预编程操作。存储器操作处理器131可以响应于从存储器控制器200提供的后编程(post-program)命令来执行后编程操作。预编程操作可以包括将数据存储在第一块中的存储器单元中。后编程操作可以包括将相同数据再次存储在第一块中的存储器单元中。可以对已被执行预编程操作的存储器单元执行与预编程操作相对应的后编程操作。
存储器操作处理器131可以响应于从存储器控制器200提供的读取命令,执行读取存储器单元中存储的数据的操作。存储器操作处理器131可以响应于从存储器控制器200提供的擦除命令,执行擦除存储器单元中存储的数据的擦除操作。
存储器控制器200可以控制存储装置50的全部操作。
当电力被供应至存储装置50时,存储器控制器200可以运行固件。在存储器装置100是闪速存储器装置的情况下,存储器控制器200可以运行诸如用于控制主机300和存储器装置100之间的通信的闪存转换层(FTL)的固件。
在实施例中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA),并且将LBA转换为物理块地址(PBA),该PBA指示待存储数据的存储器单元的地址,存储器单元包括在存储器装置100中。
存储器控制器200可以响应于来自主机300的请求控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以将编程命令、PBA和数据提供至存储器装置100。在读取操作期间,存储器控制器200可以将读取命令和PBA提供至存储器装置100。在擦除操作期间,存储器控制器200可以将擦除命令和PBA提供至存储器装置100。
在实施例中,存储器控制器200可以在没有来自主机300的请求的情况下自主生成编程命令、地址和数据,并且将编程命令、地址和数据传送至存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供至存储器装置100,以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可以控制两个或更多个存储器装置100。在这种情况下,存储器控制器200可以以交错方式控制存储器装置100,以便提高操作性能。交错方案可以使两个或更多个存储器装置100的操作时段重叠。
在实施例中,存储器控制器200可以包括存储器操作控制器210和编程顺序控制器220。
存储器操作控制器210可以生成与从主机接收的写入请求相对应的多个编程命令。与写入请求相对应的写入数据可以被划分成多个数据组块(chunk),多个数据组块中的每一个具有设定大小。存储器操作控制器210可以生成与各个写入数据组块(下面简称为数据组块)相对应的多个编程命令。存储器操作控制器210可以将所生成的编程命令提供至存储器装置100。
在实施例中,用于指示执行将数据组块存储在第二块中的备份编程操作的备份编程命令可以被提供至存储器装置100。存储器操作控制器210可以将用于指示存储器装置100执行将数据组块存储在第一块中的预编程操作的预编程命令提供至存储器装置100。存储器操作控制器210可以将用于指示存储器装置100执行将数据组块再次存储在第一块中的后编程操作的后编程命令提供至存储器装置100。
存储器操作控制器210可以根据由编程顺序控制器220确定的顺序将与多个数据组块中的每一个相对应的备份编程命令、预编程命令和后编程命令提供至存储器装置100。
在实施例中,存储器操作控制器210可以使用存储在第二块中的数据组块控制存储器装置100执行将数据组块存储在第一块中的后编程操作。例如,存储器操作控制器210可以将用于读取存储在第二块中的数据组块的读取命令提供至存储器装置100。存储器操作控制器210可以使用响应于读取命令而获得的数据组块,将与数据组块相对应的后编程命令提供至存储器装置100。
在实施例中,存储器操作控制器210可以控制存储器装置100,使得当由存储器装置100正在执行的主编程操作由于突然断电而被中断时,存储器装置100使用存储在第二块中的数据组块重新执行该主编程操作。主编程操作可以是将数据组块存储在第一块中的操作。突然断电可以是供应至存储装置50的电力被中断的事件。
在实施例中,当完成将数据组块存储在第一块中的主编程操作时,存储器操作控制器210可以擦除存储相应数据组块的第二块。例如,当完成将存储在第二块中的所有数据组块存储在第一块中的操作时,存储器操作控制器210可以将用于擦除所选择第二块的命令提供至存储器装置100。
编程顺序控制器220可以确定存储器操作控制器210将与各个数据组块相对应的多个编程命令提供至存储器装置100的顺序。可以通过将与从主机接收的写入请求相对应的写入数据划分成设定大小来获得数据组块。可以根据在单个进程期间的写入策略或待编程的数据的大小来确定设定大小。
编程顺序控制器220可以确定命令提供顺序,使得存储器操作控制器210将与数据组块相对应的备份编程命令提供至存储器装置100,并且此后将与数据组块相对应的预编程命令提供至存储器装置100。
编程顺序控制器220可以确定命令提供顺序,使得存储器操作控制器210将与数据组块相对应的预编程命令提供至存储器装置100,并且此后将与数据组块相对应的后编程命令提供至存储器装置100。
编程顺序控制器220可以确定命令提供顺序,使得在存储器操作控制器210将与数据组块相对应的后编程命令提供至存储器装置100之前,存储器操作控制器210将与另一数据组块相对应的备份编程命令或预编程命令提供至存储器装置100。
例如,在编程顺序控制器220的控制下,存储器操作控制器210可以提供与第一数据组块相对应的备份编程命令和预编程命令、提供与第二数据组块相对应的备份编程命令和预编程命令,并且此后提供与第一数据组块相对应的后编程命令。
主机300可以使用诸如下列的各种通信方法中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)通信方法。
图2是示出图1的存储器装置100的配置的示图。
参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110可以包括多个存储块BLK1至BLKz,该多个存储块BLK1至BLKz通过行线RL联接到地址解码器121。存储块BLK1至BLKz可以通过位线BL1至BLm联接到读取/写入电路123。存储块BLK1至BLKz中的每一个可以包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中联接到相同字线的存储器单元被定义为一个页面。换言之,存储器单元阵列110由多个页面形成。在实施例中,包括在存储器单元阵列110中的存储块BLK1至BLKz中的每一个可以包括多个虚设(dummy)单元。此处,一个或多个虚设单元可以串联地联接在漏级选择晶体管和存储器单元之间以及源极选择晶体管和存储器单元之间。
存储器装置100的存储器单元中的每一个可以由能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC)或者能够存储四个数据位的四层单元(QLC)形成。
在实施例中,存储器单元阵列110可以包括第一块和第二块。在每个第一块中包括的存储器单元可以存储n个数据位(n是大于m的自然数)。在每个第二块中包括的存储器单元可以存储m个数据位(m是1或更大的自然数)。
外围电路120可以包括地址解码器121、电压发生器122、读取/写入电路123、数据输入/输出电路124以及感测电路125。
外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110执行编程操作、读取操作或擦除操作。
地址解码器121通过行线RL联接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和共源线。在实施例中,字线可以包括正常字线和虚设字线。根据实施例,行线RL可以进一步包括管道选择线。
地址解码器121可以在控制逻辑130的控制下操作。地址解码器121可以从控制逻辑130接收地址ADDR。
地址解码器121可以对接收的地址ADDR之中的块地址进行解码。地址解码器121可以根据经解码的块地址,选择存储块BLK1至BLKz之中的至少一个。地址解码器121可以解码接收的地址ADDR之中的行地址RADD。地址解码器121可以根据经解码的行地址RADD,通过将从电压发生器122供应的电压施加到至少一个字线WL来选择所选择存储块的至少一个字线WL。
在编程操作期间,地址解码器121可以将编程电压施加到所选择字线,并且将具有低于编程电压电平的电平的通过电压施加到未选择字线。在编程验证操作期间,地址解码器121可以将验证电压施加到所选择字线,并且将具有高于验证电压电平的电平的验证通过电压施加到未选择字线。
在读取操作期间,地址解码器121可以将读取电压施加到所选择字线,并且将具有高于读取电压电平的电平的读取通过电压施加到未选择字线。
在实施例中,可以以存储块为单位来执行存储器装置100的擦除操作。在擦除操作期间,待输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以解码块地址,并且根据经解码的块地址来选择相应存储块。在擦除操作期间,地址解码器121可以将接地电压施加到与所选择存储块联接的字线。
在本公开的实施例中,地址解码器121可以解码传送的地址ADDR之中的列地址。经解码的列地址可以被传送至读取/写入电路123。例如,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的组件。
电压发生器122可以使用供应至存储器装置100的外部电源电压来生成多个操作电压Vop。电压发生器122可以在控制逻辑130的控制下操作。
在实施例中,电压发生器122可以通过调节外部电源电压来生成内部电源电压。从电压发生器122生成的内部电源电压可用作存储器装置100的操作电压。
在实施例中,电压发生器122可以使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压发生器122可以生成存储器装置100所需的各个电压。例如,电压发生器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
为了生成具有各种电压电平的多个操作电压Vop,电压发生器122可以包括配置为接收内部电源电压的多个泵浦电容器,并且可以在控制逻辑130的控制下通过选择性地启动多个泵浦电容器来生成多个操作电压Vop。
所生成的操作电压Vop可以由地址解码器121被供应至存储器单元阵列110。
读取/写入电路123可以包括第一至第m页面缓冲器PB1至PBm,该第一至第m页面缓冲器PB1至PBm可以分别通过第一至第m位线BL1至BLm联接到存储器单元阵列110。第一至第m页面缓冲器PB1至PBm可以在控制逻辑130的控制下操作。
第一至第m页面缓冲器PB1至PBm可以与数据输入/输出电路124通信数据DATA。在编程操作期间,第一至第m页面缓冲器PB1至PBm可以通过数据输入/输出电路124和数据线DL接收待存储的数据DATA。
在编程操作期间,当编程脉冲被施加到所选择字线时,第一至第m页面缓冲器PB1至PBm可以通过位线BL1至BLm将通过数据输入/输出电路124接收的数据DATA传送到所选择存储器单元。基于所传送的数据DATA来对所选择页面中的存储器单元进行编程。与被施加编程使能电压(例如,接地电压)的位线联接的存储器单元可以具有增加的阈值电压。与被施加编程禁止电压(例如,电源电压)的位线联接的存储器单元的阈值电压可被保持。在编程验证操作期间,第一至第m页面缓冲器PB1至PBm可以通过位线BL1至BLm从所选择存储器单元读取数据DATA。
在读取操作期间,读取/写入电路123可以通过位线BL从所选择页面的存储器单元读取数据DATA,并将读取的数据DATA存储到第一至第m页面缓冲器PB1至PBm。
在擦除操作期间,读取/写入电路123可以使位线BL浮置。在实施例中,读取/写入电路123可以包括列选择电路。
在实施例中,当存储在读取/写入电路123中包括的多个页面缓冲器的某些页面缓冲器中的数据被编程到存储器单元阵列110时,其它页面缓冲器可以从存储器控制器200接收新数据并且存储新数据。
数据输入/输出电路124通过数据线DL联接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124可以在控制逻辑130的控制下操作。
数据输入/输出电路124可以包括用于接收输入的数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124可以从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124可以将从读取/写入电路123中包括的第一至第m页面缓冲器PB1至PBm接收的数据DATA输出至外部控制器。
在读取操作或验证操作期间,感测电路125可以响应于由控制逻辑130生成的使能位信号VRYBIT而生成参考电流,并且将从读取/写入电路123接收的感测电压VPB与由参考电流产生的参考电压进行比较,并且将通过信号或失败信号输出至控制逻辑130。
控制逻辑130可以联接到地址解码器121、电压发生器122、读取/写入电路123、数据输入/输出电路124以及感测电路125。控制逻辑130可以控制存储器装置100的全部操作。控制逻辑130可以响应于从外部装置传送的命令CMD而操作。
控制逻辑130可以响应于命令CMD和地址ADD而生成各个信号,并且控制外围电路120。例如,控制逻辑130可以响应于命令CMD和地址ADD生成操作信号OPSIG、行地址RADD、读取/写入电路控制信号PBSIGNALS和使能位VRYBIT。控制逻辑130可以将操作信号OPSIG输出至电压发生器122、将行地址RADD输出至地址解码器121、将读取/写入电路控制信号输出至读取/写入电路123,并且将使能位VRYBIT输出至感测电路125。此外,控制逻辑130可以响应于从感测电路125输出的通过信号PASS或失败信号FAIL来确定在验证操作期间目标存储器单元已经通过验证还是已经失败。
在实施例中,控制逻辑130可以包括存储器操作处理器131。
存储器操作处理器131可以响应于从存储器控制器200提供的编程命令,执行将数据存储在存储器单元中的编程操作。
存储器操作处理器131可以响应于从存储器控制器200提供的备份编程命令来执行备份编程操作。备份编程操作可以是将数据存储在第二块中的存储器单元中的操作。在实施例中,备份编程操作可以包括编程电压施加操作而不包括编程验证操作。
存储器操作处理器131可以响应于从存储器控制器200提供的预编程命令来执行预编程操作。存储器操作处理器131可以响应于从存储器控制器200提供的后编程命令来执行后编程操作。预编程操作可以包括将数据存储在第一块中的存储器单元中。后编程操作可以包括将相同数据再次存储在第一块中的存储器单元中。可以对已被执行预编程操作的存储器单元执行与预编程操作相对应的后编程操作。
预编程操作和后编程操作各自可以包括编程电压施加操作和编程验证操作。在预编程操作期间待施加的编程脉冲的增量可以大于在后编程操作期间待施加的编程脉冲的增量。预编程操作的每个编程循环的编程验证电压可以低于后编程操作的每个编程循环的编程验证电压。
存储器操作处理器131可以响应于从存储器控制器200提供的读取命令,执行读取存储在存储器单元中的数据的操作。存储器操作处理器131可以响应于从存储器控制器200提供的擦除命令,执行擦除存储在存储器单元中的数据的擦除操作。
图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方向)上。在图5中,示出了布置在列方向(即+Y方向)上两个单元串。然而,这个图示是为了清楚起见;将理解的是,可以在列方向上布置三个或更多个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以分别具有类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可以在每个单元串中设置用于提供沟道层的柱(pillar)。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图4中,第一行中的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。
在实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可以被划分成第一至第p存储器单元MC1至MCp以及第p+1至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp沿-Z方向连续布置,并且串联地联接在源极选择晶体管SST和管道晶体管PT之间。第p+1至第n存储器单元MCp+1至MCn沿+Z方向连续布置,并且串联地联接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn通过管道晶体管PT彼此联接。每个单元串的第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至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中的任意一个时,可以从所选择单元串之中选择相应单个页面。
在实施例中,可以设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的偶数编号的单元串可以联接到各个偶数位线。布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的奇数编号的单元串可以联接到各个奇数位线。
在实施例中,第一至第n存储器单元MC1至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、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST,其中衬底设置在存储块BLKb的下部。
每个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCn之间。布置在相同行中的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行中的单元串CS11'至CS1m'的源极选择晶体管可以联接到第一源极选择线SSL1。布置在第二行中的单元串CS21'至CS2m'的源极选择晶体管可以联接到第二源极选择线SSL2。在实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可以共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn串联地联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每个单元串的漏极选择晶体管DST联接在相应位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管可以联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21'至CS2m'的漏极选择晶体管可以联接到第二漏极选择线DSL2。
因此,除了管道晶体管PT不包括在每个单元串中之外,图5中的存储块BLKb可以具有与图4的存储块BLKa的电路类似的等同电路。
在实施例中,可以设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'之中的偶数编号的单元串可以联接到各个偶数位线,并且布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'之中的奇数编号的单元串可以联接到各个奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。例如,可以设置虚设存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCn之间的电场。可选地,可以设置虚设存储器单元以减小漏极选择晶体管DST和存储器单元MC1至MCn之间的电场。随着虚设存储器单元的数量增大,存储块BLKb的操作可靠性可能增加,同时存储块BLKb的大小可能增大。随着虚设存储器单元的数量减少,存储块BLKb的大小可能减小,但是存储块BLKb的操作可靠性可能降低。
为了高效地控制虚设存储器单元,虚设存储器单元中的每一个可以具有所需的阈值电压。在对存储块BLKb执行擦除操作之前或之后,可以对全部或一些虚设存储器单元执行编程操作。在已执行编程操作之后执行擦除操作的情况下,通过控制待施加到与各个虚设存储器单元联接的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。
图6A是示出根据本公开的实施例的配置成存储一个数据位的存储器单元的阈值电压分布的示图。
图6B是示出根据本公开的实施例的配置成存储两个数据位的存储器单元的阈值电压分布的示图。
图6C是示出根据本公开的实施例的配置成存储三个数据位的存储器单元的阈值电压分布的示图。
图6D是示出根据本公开的实施例的配置成存储四个数据位的存储器单元的阈值电压分布的示图。
在图6A至图6D中,横轴表示阈值电压的电平,纵轴表示存储器单元的数量。
在图6A至图6D中,假设可以存储在每个存储器单元中的数据位的数量的范围是1至4。然而,在另一实施例中,可以在每个存储器单元中存储多于4个数据位。
图6A示出每个能够存储单个数据位的单层单元(SLC)的阈值电压分布。单层单元可以具有擦除状态E或编程状态P1。
读取电压Va1可以将擦除状态E与编程状态P1区分开。当使用读取电压Va1读取具有擦除状态E的单层单元时,单层单元可以被读取为ON单元。当使用读取电压Va1读取具有编程状态P1的单层单元时,单层单元可以被读取为OFF单元。
图6B示出每个能够存储两个数据位的多层单元(MLC)的阈值电压分布。多层单元可以具有擦除状态E和第一至第三编程状态P1至P3中的任意一种状态。
第一至第三读取电压Vb1至Vb3可以将擦除状态E和第一至第三编程状态P1至P3彼此区分开。第一读取电压Vb1可以将擦除状态E与第一编程状态P1区分开。第二读取电压Vb2可以将第一编程状态P1与第二编程状态P2区分开。第三读取电压Vb3可以将第二编程状态P2与第三编程状态P3区分开。
根据使用第一至第三读取电压Vb1至Vb3读取多层单元的结果,可以确定多层单元具有擦除状态E和第一至第三编程状态P1至P3中的任意一种状态。
图6C示出每个能够存储三个数据位的三层单元(TLC)的阈值电压分布。三层单元可以具有擦除状态E和第一至第七编程状态P1至P7中的任意一种状态。
第一至第七读取电压Vc1至Vc7可以将擦除状态E和第一至第七编程状态P1至P7彼此区分开。第一读取电压Vc1可以将擦除状态E与第一编程状态P1区分开。第二读取电压Vc2可以将第一编程状态P1与第二编程状态P2区分开。同样地,第七读取电压Vc7可以将第六编程状态P6与第七编程状态P7区分开。
根据使用第一至第七读取电压Vc1至Vc7读取三层单元的结果,可以确定三层单元具有擦除状态E和第一至第七编程状态P1至P7中的任意一种状态。
图6D示出每个能够存储四个数据位的四层单元(QLC)的阈值电压分布。四层单元可以具有擦除状态E和第一至第十五编程状态P1至P15中的任意一种状态。
第一至第十五读取电压Vd1至Vd15可以将擦除状态E与第一至第十五编程状态P1至P15彼此区分开。第一读取电压Vd1可以将擦除状态E与第一编程状态P1区分开。第二读取电压Vd2可以将第一编程状态P1与第二编程状态P2区分开。同样地,第十五读取电压Vd15可以将第十四编程状态P14与第十五编程状态P15区分开。
根据使用第一至第十五读取电压Vd1至Vd15读取四层单元的结果,可以确定四层单元具有擦除状态E和第一至第十五编程状态P1至P15中的任意一种状态。
将图6A至图6D相互比较,随着可以存储在每个存储器单元中的数据位的数量增加,可以由每个存储器单元表示的编程状态的数量和用于将各个编程状态彼此区分开的读取电压的数量可能增加。随着可以由每个存储器单元表示的编程状态的数量增加,设置与各个编程状态相对应的阈值电压分布的整个宽度可能增加。一方面,随着可以由每个存储器单元表示的编程状态的数量增加,与每个编程状态相对应的阈值电压分布的宽度可能减小。
图7A是示出根据本公开的实施例的正常编程操作的示图。
参照图7A,正常编程操作可以包括多个编程循环PL1至PLn。当每个存储器单元是能够存储两个数据位的多层单元时,存储器装置50可以通过执行多个编程循环PL1至PLn对所选择存储器单元进行编程,使得存储器单元中的每一个具有编程状态P1、P2和P3中的一种。可以存储在每个存储器单元中的数据位的数量不限于本公开的该实施例的数量。
多个编程循环PL1至PLn中的每一个可以包括施加编程脉冲的编程电压施加步骤(PGM Step)以及施加验证电压以确定存储器单元是否已被编程的验证步骤(VerifyStep)。
例如,当执行第一编程循环PL1时,施加第一编程脉冲Vpgm1,并且此后顺序地施加第一至第三验证电压V_vfy1至V_vfy3以验证存储器单元的编程状态。此处,第一验证电压V_vfy1可以用于对目标状态是第一编程状态P1的存储器单元执行验证操作。第二验证电压V_vfy2可以用于对目标状态是第二编程状态P2的存储器单元执行验证操作。第三验证电压V_vfy3可以用于对目标状态是第三编程状态P3的存储器单元执行验证操作。
已经通过验证操作的存储器单元被确定为具有相应目标状态,并且此后可以在第二编程循环PL2中被禁止编程。在第二编程循环PL2中,施加比第一编程脉冲Vpgm1高出单位电压ΔVpgm的第二编程脉冲Vpgm2,以便对未禁止编程的存储器单元进行编程。随后,以与第一编程循环PL1的验证操作相同的方式执行验证操作。例如,“验证通过”指示通过相应的验证电压确定存储器单元是关断单元(off-cell)。
如上所述,当存储器装置对每个能够存储两个数据位的多层单元(MLC)进行编程时,存储器装置使用第一至第三验证电压V_vfy1至V_vfy3来验证目标状态是各个相应编程状态的存储器单元。
在验证步骤中,可以将验证电压施加到与所选择存储器单元联接的所选择字线。页面缓冲器可以基于流经与各个所选择存储器单元联接的位线的电压或电流来确定存储器单元是否已经通过验证。
参照图1描述的主编程操作可以包括预编程操作和后编程操作。预编程操作和后编程操作各自可以是包括编程电压施加步骤(PGM Step)和验证步骤(Verify Step)的正常编程操作。
在预编程操作期间待施加的编程脉冲的增量可以大于在后编程操作期间待施加的编程脉冲的增量。预编程操作的每个编程循环的编程验证电压可以低于后编程操作的每个编程循环的编程验证电压。
图7B是示出根据本公开的实施例的备份编程操作的示图。
参照图7B,备份编程操作可以包括多个编程循环PL1至PLn。
然而,与参照图7A描述的正常编程操作不同,备份编程操作的多个编程循环PL1至PLn中的每一个可以仅包括施加编程脉冲的编程电压施加步骤(PGM Step),而不包括通过对存储器单元施加验证电压来确定存储器单元是否已被编程的验证步骤。因此,执行备份编程操作所花费的时间相比正常操作所花费的时间可以减少。
在实施例中,可以对单层单元执行备份编程操作。
参照图6A至图6D,由于每个单层单元可能具有的目标状态的数量仅为两个,即擦除状态和编程状态,其小于能够存储两个或更多个数据位的存储器单元可以具有的目标状态的数量。在单层单元的情况下,分别与擦除状态和编程状态相对应的阈值电压分布之间的距离可以大于能够存储两个或更多个数据位的存储器单元的阈值电压分布之间的距离。即使在单层单元中发生数据错误,因为该数据错误是单个位错误,所以与能够存储两个或更多个数据位的存储器单元中发生错误的情况相比,通过错误校正码(ECC)操作来恢复数据的可能性更高。
因此,对单层单元执行编程操作的验证操作的需求可能低于对能够存储两个或更多个数据位的存储器单元执行编程操作的验证操作的需求。对单层单元执行的编程操作中所包括的验证操作可以被省略,或者与对能够存储两个或更多个数据位的存储器单元执行的编程操作的验证操作相比,可以被更低频率地执行。
图8是示出根据本公开的实施例的主编程操作的配置的示图。
参照图8,已经被执行主编程操作的存储器单元可以是三层单元。每个三层单元可以具有擦除状态E和第一至第七编程状态P1至P7中的任意一种状态作为目标状态。
主编程操作可以包括预编程操作(Pre PGM)和后编程操作(Post PGM)。预编程操作可以包括将数据存储在所选择字线中。与预编程操作相对应的后编程操作可以包括将相同数据再次存储在已经被执行预编程操作Pre PGM的字线中。
在图8中,由虚线表示的三层单元的阈值电压分布可以属于已经被执行预编程操作的三层单元。由实线表示的三层单元的阈值电压分布可以属于在已经被执行预编程操作之后已经被执行后编程操作的三层单元。
在实施例中,预编程操作可以是模糊或粗略编程操作(Foggy PGM)。后编程操作可以是精细编程操作(Fine PGM)。在模糊编程操作期间待施加的编程脉冲的增量可以大于在精细编程操作期间待施加的编程脉冲的增量。模糊编程操作的各个编程循环的编程验证电压可以低于精细编程操作的各个编程循环的编程验证电压。
因此,在模糊编程操作中,每个存储器单元的阈值电压从擦除状态转变到目标编程状态的宽度可以大于精细编程操作期间的宽度。在精细编程操作中,存储器单元的阈值电压可以更精确地接近目标编程状态的阈值电压分布。
图9是示出根据本公开的实施例的存储器控制器200和存储器装置100的配置和操作的示图。
参照图9,存储器装置100可以包括存储器单元阵列110和存储器操作处理器131。
在实施例中,存储器单元阵列110可以包括第一块和第二块。每个第一块中包括的存储器单元可以存储n个数据位(n是大于m的自然数)。每个第二块中包括的存储器单元可以存储m个数据位(m是1或更大的自然数)。因此,第一块提供比第二块更高密度的存储容量。
存储器操作处理器131可以响应于从存储器操作控制器210提供的编程命令,执行将数据存储在存储器单元中的编程操作。
存储器操作处理器131可以响应于从存储器操作控制器210提供的备份编程命令来执行备份编程操作。存储器操作处理器131可以响应于从存储器操作控制器210提供的预编程命令来执行预编程操作。存储器操作处理器131可以响应于从存储器操作控制器210提供的后编程命令来执行后编程操作。预编程操作可以包括将数据组块存储在第一块的所选择字线中。与预编程操作相对应的后编程操作可以包括将相同数据组块再次存储在所选择字线中。
存储器操作处理器131可以响应于从存储器操作控制器210提供的读取命令,执行读取存储器单元中存储的数据的操作。存储器操作处理器131可以响应于从存储器操作控制器210提供的读取命令,执行读取第二块中存储的数据组块的操作。
存储器操作处理器131可以响应于从存储器操作控制器210提供的擦除命令,执行擦除存储器单元中存储的数据的擦除操作。存储器操作处理器131可以响应于从存储器操作控制器210提供的擦除命令,执行擦除所选择第二块的操作。
在实施例中,存储器控制器200可以包括存储器操作控制器210和编程顺序控制器220。
存储器操作控制器210可以生成与从主机接收的写入请求相对应的多个编程命令。与写入请求相对应的写入数据可以被划分成多个数据组块,多个数据组块中的每一个具有固定大小。存储器操作控制器210可以生成与各个数据组块相对应的多个编程命令。存储器操作控制器210可以将所生成的编程命令提供至存储器操作处理器131。
存储器操作控制器210可以根据从编程顺序控制器220提供的命令顺序信息向存储器装置131提供与多个数据组块中的每一个相对应的备份编程命令、预编程命令和后编程命令。命令顺序信息可以指示将多个编程命令提供至存储器操作处理器131的顺序。
例如,根据命令顺序信息,存储器操作控制器210可以将与第一数据组块相对应的备份编程命令和预编程命令提供至存储器操作处理器131、将与第二数据组块相对应的备份编程命令和预编程命令提供至存储器操作处理器131,并且此后将与第一数据组块相对应的后编程命令提供至存储器操作处理器131。
在实施例中,存储器操作控制器210可以将用于读取第二块中存储的数据组块的读取命令提供至存储器操作处理器131。存储器操作控制器210可以使用响应于读取命令而获得的数据组块来将与数据组块相对应的后编程命令提供至存储器操作处理器131。
在实施例中,当正由存储器操作处理器131执行的主编程操作由于突然断电而被中断时,存储器操作控制器210可以再次将主编程命令提供至存储器操作处理器131。突然断电可以是供应至参照图1所描述的存储装置的电力被中断的事件。在将电力再次供应至存储装置之后,存储器操作控制器210可以将用于读取第二块中存储的数据组块的读取命令提供至存储器操作处理器131。存储器操作控制器210可以使用响应于读取命令而获得的数据组块再次将与数据组块相对应的主编程命令提供至存储器操作处理器131。
在实施例中,如果将数据组块存储在第一块中的操作被完成,则存储器操作控制器210可以将擦除已经存储相应数据组块的第二块的命令提供至存储器操作处理器131。例如,当完成将存储在所选择第二块中的所有数据组块存储在第一块中的操作时,存储器操作控制器210可以将用于擦除所选择第二块的命令提供至存储器操作处理器131。
编程顺序控制器220可以包括编程状态表221。编程状态表221可以包括指示对被选择用来存储数据组块的第一块的每个字线执行的预编程操作是否已被完成的信息。
编程顺序控制器220可以基于编程状态表221生成命令顺序信息。下面参照图11详细描述基于编程状态表221生成命令顺序信息的进程。命令顺序信息可以指示将多个编程命令提供至存储器操作处理器131的顺序。编程顺序控制器220可以将所生成的命令顺序信息提供至存储器操作控制器210。
图10是示出根据本公开的实施例的备份编程操作和主编程操作的示图。
参照图10,第一块可以包括第零和第一字线WL0和WL1,第二块可以包括第零至第七字线WL0到WL7。第一块的存储器单元可以是每个可以存储四个数据位的四层单元。第二块的存储器单元可以是每个可以存储一个数据位的单层单元。由于第二块的存储器单元是单层单元而第一块的存储器单元是四层单元,因此能够存储在第二块的四个字线中的数据的大小可以等于能够存储在第一块的一个字线中的数据的大小。
每个块中包括的字线的数量和能够存储在每个块的存储器单元中的数据位的数量不限于该实施例数量。
可以将与从主机接收的写入请求相对应的数据组块分别存储在第一块中包括的字线之中的不同字线中。
备份编程操作可以是将数据组块存储在第二块的字线中的操作。备份编程操作可以仅包括编程脉冲施加操作而不包括编程验证操作。
主编程操作可以包括将数据组块存储在第一块的所选择字线中。主编程操作可以包括预编程操作和后编程操作。预编程操作可以包括将数据组块存储在第一块的所选择字线中。后编程操作可以包括将数据组块再次存储在第一块的所选择字线中。预编程操作和后编程操作各自可以包括编程验证操作和编程脉冲施加操作。
在实施例中,在对第一块的所选择字线执行预编程操作之后,可以不对所选择字线直接执行后编程操作。在完成对所选择字线的预编程操作以后经过设定时间之后,可以对所选择字线执行后编程操作。如果以这种方式延迟执行后编程操作,则与在完成预编程操作之后立即执行后编程操作的情况相比,可以减小施加到与所选择字线联接的存储器单元的压力。由于减小了施加到存储器单元的压力,因此可以使与所选择字线联接的存储器单元的阈值电压分布状态稳定。如果阈值电压分布状态稳定,则可以增加可以存储在存储器单元的每一个中的数据位的数量,并且可以减轻可能由阈值电压分布之间的间隔减小引起的可靠性降低。
参照图10,可以首先对第二块的第零至第三字线WL0至WL3执行与从主机接收的第一数据组块相对应的备份编程操作。此后,可以对第一块的第零字线WL0执行与第一数据组块相对应的预编程操作。随后,可以在对其它字线执行编程操作之后执行与第一数据组块相对应的后编程操作,而不是在完成相应预编程操作之后对第一块的第零字线WL0立即执行与第一数据组块相对应的后编程操作。
因此,可以对第二块的第四至第七字线WL4至WL7执行与接收的第二数据组块相对应的备份编程操作。此后,可以对第一块的第一字线WL1执行与第二数据组块相对应的预编程操作。
然后,可以对第一块的第零字线WL0执行与第一数据组块相对应的后编程操作。随后,可以对第一块的第一字线WL1执行与第二数据组块相对应的后编程操作。
图11是示出参照图9描述的编程状态表的示图。
参照图11,部分(a)中的箭头a1至a3指示参照图10描述的对第一块的第零和第一字线WL0至WL1执行编程操作的进程。
在实施例中,预编程操作(Pre PGM)可以是如参照图9所述的模糊或粗略编程操作(Foggy PGM)。后编程操作(Post PGM)可以是如参照图9所述的精细编程操作(Fine PGM)。
在由箭头a1指示的进程期间,对第零字线WL0执行预编程操作,并且此后可以对第一字线WL1执行预编程操作。由箭头a2指示的状态可以表示已经完成对第零和第一字线WL0至WL1的预编程操作。在由箭头a3指示的进程期间,对第零字线WL0执行后编程操作,并且此后可以对第一字线WL1执行后编程操作。
在实施例中,由于待对相同字线执行的预编程操作和后编程操作之间存在时间间隔,因此可以改善与字线联接的存储器单元的阈值电压分布。
例如,在由箭头a1至a3指示的进程期间,可以在已经完成对第一字线WL1的预编程操作之后对第零字线WL0执行后编程操作,而不是在已经对第零字线WL0执行预编程操作之后立即对第零字线WL0执行后编程操作。同样地,可以在已经完成对第零字线WL0的后编程操作之后对第一字线WL1执行后编程操作,而不是在已经对第一字线WL1执行预编程操作之后立即对第一字线WL1执行后编程操作。
编程状态表可以包括指示对被选择用来存储数据组块的第一块的每个字线执行的预编程操作是否已被完成的信息。
在图11中,编程状态表b1至b3可以分别对应于执行与箭头a1至a3相对应的编程操作的进程。编程状态表b1至b3可以指示对待存储各个数据组块的第一块的第零和第一字线WL0和WL1的预编程操作是否已被完成。
基于编程状态表b1至b3,可以生成命令顺序信息以指示将与多个数据组块中的每一个相对应的备份编程命令、预编程命令和后编程命令提供至存储器装置的顺序。可以生成命令顺序信息,使得在与数据组块相对应的预编程命令之前提供与数据组块相对应的备份编程命令。
例如,参照编程状态表b1,第零字线WL0可以处于以下状态:已完成对第零字线WL0执行预编程操作的进程。第一字线WL1可以处于以下状态:尚未完成对第一字线WL1执行预编程操作的进程。
因此,可以生成命令顺序信息,使得在已经将针对第零字线WL0的预编程命令提供至存储器装置之后,将针对第一字线WL1的备份编程命令提供至存储器装置。随后,可以生成命令顺序信息,使得将针对第一字线WL1的预编程命令提供至存储器装置。
参照编程状态表b2,第零字线WL0可以处于以下状态:已完成对第零字线WL0执行预编程操作的进程。第一字线WL1可以处于以下状态:已完成对第一字线WL1执行预编程操作的进程。
因此,可以生成命令顺序信息,使得在已经将针对第一字线WL1的预编程命令提供至存储器装置之后,将针对第零字线WL0的后编程命令提供至存储器装置。
参照编程状态表b3,第零字线WL0可以处于以下状态:已完成对第零字线WL0执行后编程操作的进程。可以从编程状态表删除关于已经完成对第零字线WL0执行后编程操作的进程的信息。第一字线WL1可以处于以下状态:已完成对第一字线WL1执行预编程操作的进程。然而,由于关于第一字线WL1的信息尚未存储在编程状态表中,因此可能未完成对第一字线WL1执行后编程操作的进程。
因此,可以生成命令顺序信息,使得在已经将针对第零字线WL0的后编程命令提供至存储器装置之后,将针对第一字线WL1的后编程命令提供至存储器装置。
图12是示出根据本公开的实施例的存储器控制器的操作的流程图。
参照图12,在步骤S1201中,存储器控制器可以从主机接收写入请求。
在步骤S1203中,存储器控制器可以生成与对应于写入请求的数据组块中的每一个相对应的多个编程命令。多个编程命令可以包括用于将数据组块存储在第一块中的主编程命令以及用于将数据组块存储在第二块中的备份编程命令。主编程命令可以包括用于将数据组块存储在第一块中的预编程命令以及用于将数据组块再次存储在第一块中的后编程命令。
在步骤S1205中,存储器控制器可以将用于将第一数据组块存储在第二块中的备份编程命令提供至存储器装置。根据备份编程命令的操作可以仅包括编程电压施加操作而不包括编程验证操作。
在步骤S1207中,存储器控制器可以将用于将第一数据组块存储在第一块中的预编程命令提供至存储器装置。根据预编程命令的操作可以包括编程电压施加操作和编程验证操作。
在步骤S1209中,存储器控制器可以将与第二数据组块相对应的备份编程命令和预编程命令提供至存储器装置。
在步骤S1211中,存储器控制器可以将用于将第一数据组块再次存储在第一块中的后编程命令提供至存储器装置。根据后编程命令的操作可以包括编程电压施加操作和编程验证操作。可以对已经被执行根据预编程命令的操作的字线执行根据针对每个数据组块的后编程命令的操作。
图13是示出根据本公开的实施例的存储装置的操作的流程图。
参照图13,在步骤S1301中,存储装置可以从主机接收写入请求。
在步骤S1303中,存储装置可以执行备份编程操作:仅包括编程电压施加操作而不包括编程验证操作,并且将对应于写入请求的数据组块存储在第二块中。
在步骤S1305中,存储装置可以执行主编程操作:包括编程验证操作和编程电压施加操作,并且将数据组块存储在第一块中。
图14是示出根据本公开的实施例的存储装置的操作的流程图。
参照图14,在步骤S1401中,存储装置可以从主机接收写入请求。
在步骤S1403中,存储装置可以执行将对应于写入请求的第一数据组块存储在第二块中的备份编程操作。
在步骤S1405中,存储装置可以执行将第一数据组块存储在第一块的所选择字线中的预编程操作。
在步骤S1407中,存储装置可以执行将对应于写入请求的第二数据组块存储在第二块中的备份编程操作。
在步骤S1409中,存储装置可以执行将第二数据组块存储在第一块的与所选择字线不同的另一字线中的预编程操作。
在步骤S1411中,存储装置可以执行将第一数据组块再次存储在第一块的所选择字线中的后编程操作。
在步骤S1413中,存储装置可以执行将第二数据组块再次存储在已经被执行与第二数据组块相对应的预编程操作的字线中的后编程操作。
图15是示出根据本公开的实施例的图1的存储器控制器的示例的示图。
参照图15,存储器控制器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并使用映射表将LBA转换为PBA。可以据映射的单元使用FTL来应用各种地址映射方法。代表性的地址映射方法可以包括页面映射方法、块映射方法以及混合映射方法。
处理器1010可以将从主机接收的数据随机化。例如,处理器1010可以使用随机化种子将从主机接收的数据随机化。经随机化的数据可以作为待存储的数据被提供至存储器装置,并且可以被编程到存储器单元阵列中。
在读取操作期间,处理器1010可以将从存储器装置接收的数据去随机化。例如,处理器1010可以使用去随机化种子将从存储器装置接收的数据去随机化。可以将经去随机化的数据输出至主机。
在实施例中,处理器1010可以驱动软件或固件以执行随机化操作或去随机化操作。
存储器缓冲器1020可以用作处理器1010的操作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器1020可以存储待由处理器1010运行的代码和命令。存储器缓冲器1020可以存储待由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可以执行错误校正。ECC电路1030可以基于待通过存储器接口1060而被写入到存储器装置100的数据来执行ECC编码操作。经ECC编码的数据可以通过存储器接口1060被传送至存储器装置。ECC电路1030可以对通过存储器接口1060从存储器装置接收的数据执行ECC解码操作。例如,ECC电路1030可以作为存储器接口1060的组件而包括在存储器接口1060中。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以使用诸如下列的各种通信方法中的至少一种执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)通信方法。
缓冲器控制电路1050可以在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可以在处理器1010的控制下与存储器装置100通信。存储器接口1060可以通过通道与存储器装置通信命令、地址和数据。
在另一实施例中,存储器控制器1000可以既不包括存储器缓冲器1020也不包括缓冲器控制电路1050。可以单独设置这两个组件中的任意一个,或者它们中的一个或两个的功能可以分布在存储器控制器100内部。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从存储器控制器1000中设置的非易失性存储器装置(例如,只读存储器)加载代码。可选地,处理器1010可以通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可以被划分成控制总线和数据总线。数据总线可以在存储器控制器1000中传送数据。控制总线可以在存储器控制器1000中传送诸如命令或地址的控制信息。数据总线和控制总线可以彼此分离,并且可以彼此既不相互干扰也不相互影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图16是示出根据本公开的实施例的应用存储装置的存储卡系统2000的框图。
参照图16,存储卡系统2000可包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以提供存储器装置2200和主机之间的接口连接。存储器控制器2100可以驱动用于控制存储器装置2200的固件。存储器控制器2100可以与参照图1描述的存储器控制器200相同的方式来实现。
在实施例中,存储器控制器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)协议。在实施例中,连接器2300可以由上述各种通信协议中的至少一种来定义。
在实施例中,存储器装置2200可以被实施为诸如下列的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。
在实施例中,存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以形成诸如下列的存储卡:个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD或SDHC)、通用闪存(UFS)等。
图17是示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)系统3000的框图。
参照图17,SSD系统3000可以包括主机3100和SSD 3200。SSD3200可以通过信号连接器3001与主机3100交换信号SIG,并且可以通过电源连接器3002接收电力PWR。SSD 3200可以包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可以执行上面参照图1描述的存储器控制器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)、WiFi、蓝牙以及高速非易失性存储器(NVMe)接口。
辅助电源3230可以通过电源连接器3002联接到主机3100。辅助电源3230可以被供应以来自主机3100的电力PWR,并且利用电力PWR进行充电。当来自主机3100的电力供应未平稳执行时,辅助电源3230可以供应SSD 3200的电力。在实施例中,辅助电源3230可以位于SSD3200的内部或SSD 3200的外部。例如,辅助电源3230可以设置在主板中,并且可以向SSD3200供应辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图18是示出根据本公开的实施例的应用存储装置的用户系统4000的框图。
参照图18,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以运行包括在用户系统4000中的组件、操作系统(OS)或用户程序。在实施例中,应用处理器4100可以包括用于控制包括在用户系统4000中的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM和LPDDR3 SDRAM的易失性RAM,或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。在实施例中,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)来封装并且然后被设置为单个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如下列的无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙或Wi-Fi通信。在实施例中,网络模块4300可以包括在应用处理器4100中。
存储模块4400可以在其中存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可将存储在存储模块4400中的数据传送至应用处理器4100。在实施例中,存储模块4400可以被实施为诸如下列的非易失性半导体存储器装置:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器。在实施例中,存储模块4400可以被设置为用户系统4000的可移动存储介质(即,可移动驱动器),诸如存储卡或外部驱动器。
在实施例中,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置中的每一个可以与上面参照图1描述的存储器装置100的方式相同的方式操作。存储模块4400可以与上面参照图1描述的存储装置50的方式相同的方式操作。
用户接口4500可以包括用于将数据或指令输入至应用处理器4100或将数据输出到外部装置的接口。在实施例中,用户接口4500可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电装置的用户输入接口。用户接口4500可以进一步包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
如上所述,本公开的各个实施例可以提供一种具有提高的稳定性的存储装置以及操作该存储装置的方法。
虽然已经公开本公开的实施例,但是本领域技术人员根据本公开将理解的是,在不脱离本公开的范围和精神的情况下,各种修改、添加和替换是可能的。
因此,本发明的范围由所附权利要求和权利要求的等同方案来限定,而不是由权利要求前面的描述来限定。
在以上讨论的实施例中,可以选择性地执行或跳过一个或更多个步骤。另外,每个实施例中的步骤可能不总是以常规顺序执行。此外,本文公开的实施例旨在帮助本领域的普通技术人员更清楚地理解本公开,而不是旨在限制本发明的界限。换言之,本公开所属领域的普通技术人员将能够容易地理解,基于本公开技术范围的各种修改是可能的。
已经参照附图描述了本公开的实施例,并且在说明书中使用的特定术语或词语应当根据本公开的精神来解释,而不限制本发明的主题。应理解的是,本文描述的基本发明构思的许多变化和修改仍将落入如所附权利要求及其等同方案所限定的本发明的精神和范围内。
Claims (20)
1.一种存储器控制器,所述存储器控制器控制包括第一块和第二块的存储器装置,所述存储器控制器包括:
存储器操作控制器,生成与从主机接收的写入请求相对应的多个编程命令,并且将所述多个编程命令提供至所述存储器装置;以及
编程顺序控制器,确定所述存储器操作控制器将所述多个编程命令提供至所述存储器装置的顺序,
其中所述多个编程命令包括主编程命令和备份编程命令,所述主编程命令用于将对应于所述写入请求的写入数据内具有固定大小的数据组块存储在所述第一块中,所述备份编程命令用于将所述数据组块存储在所述第二块中,
其中根据所述主编程命令的操作包括将所述数据组块存储在所述第一块中的编程脉冲施加操作,以及对应于所述编程脉冲施加操作的编程验证操作,
其中根据所述备份编程命令的操作包括将所述数据组块存储在所述第二块中的编程脉冲施加操作,并且
其中备份编程操作包括编程电压施加操作而不包括所述编程验证操作,并且所述编程电压施加操作被称为所述编程脉冲施加操作。
2.根据权利要求1所述的存储器控制器,
其中所述写入数据被划分为多个数据组块,每个数据组块具有所述固定大小,并且
其中生成所述多个编程命令以分别对应于所述多个数据组块。
3.根据权利要求2所述的存储器控制器,其中所述多个数据组块分别存储在所述第一块中包括的多个字线之中的不同字线中。
4.根据权利要求3所述的存储器控制器,其中所述主编程命令包括预编程命令和后编程命令,所述预编程命令用于将所述数据组块中的每一个存储在所述第一块中,所述后编程命令用于将所述数据组块再次存储在所述第一块中。
5.根据权利要求4所述的存储器控制器,其中根据所述预编程命令的操作和根据所述后编程命令的操作中的每一个包括编程脉冲施加操作和编程验证操作。
6.根据权利要求4所述的存储器控制器,其中对所述多个字线之中已经被执行根据所述预编程命令的操作的字线执行根据所述后编程命令的操作。
7.根据权利要求4所述的存储器控制器,
其中所述编程顺序控制器存储指示根据所述预编程命令的操作是否已被完成的编程状态表,
其中对所述多个字线之中、将存储各个数据组块的所述字线中的每一个执行根据所述预编程命令的所述操作,并且
其中所述编程顺序控制器基于所述编程状态表生成指示将所述多个编程命令提供至所述存储器装置的顺序的命令顺序信息。
8.根据权利要求7所述的存储器控制器,
其中所述存储器操作控制器基于所述命令顺序信息将与所述多个数据组块的第一数据组块相对应的第一备份编程命令和第一预编程命令提供至所述存储器装置,并且
其中所述存储器操作控制器在将与所述多个数据组块的第二数据组块相对应的第二备份编程命令和第二预编程命令提供至所述存储器装置之后,将与所述第一数据组块相对应的第一后编程命令提供至所述存储器装置。
9.根据权利要求8所述的存储器控制器,其中所述存储器操作控制器使用作为执行根据所述第一备份编程命令的操作的结果而存储在所述第二块中的所述第一数据组块,将所述第一后编程命令提供至所述存储器装置。
10.根据权利要求8所述的存储器控制器,其中在所述第一块中包括的所述字线之中,将存储所述第一数据组块的字线和将存储所述第二数据组块的字线彼此相邻。
11.根据权利要求4所述的存储器控制器,
其中在根据所述预编程命令的操作期间施加的编程脉冲的增量大于在根据所述后编程命令的操作期间施加的编程脉冲的增量,并且
其中根据所述预编程命令的所述操作的编程验证电压低于根据所述后编程命令的所述操作的编程验证电压。
12.根据权利要求1所述的存储器控制器,其中在根据所述主编程命令的操作之前执行根据所述备份编程命令的操作。
13.根据权利要求12所述的存储器控制器,其中当根据所述主编程命令的操作由于突然断电而被中断时,在向所述存储器装置恢复电力之后,所述存储器控制器使用作为执行根据所述备份编程命令的操作的结果而存储在所述第二块中的所述数据组块,将所述主编程命令再次提供至所述存储器装置。
14.根据权利要求1所述的存储器控制器,
其中所述第二块包括每个存储m个数据位的存储器单元,其中m是1或更大的自然数,并且
其中所述第一块包括每个存储n个数据位的存储器单元,其中n是大于m的自然数。
15.一种存储装置,包括:
存储器装置,包括具有每个存储n个数据位的存储器单元的第一块,其中n是大于m的自然数,以及具有每个存储m个数据位的存储器单元的第二块,其中m是1或更大的自然数;以及
存储器控制器,生成与从主机接收的写入请求相对应的多个编程命令,将所述多个编程命令提供至所述存储器装置,并且确定将所述多个编程命令提供至所述存储器装置的顺序,
其中根据所述多个编程命令的多个编程操作包括主编程操作和备份编程操作,所述主编程操作将对应于所述写入请求的写入数据内的具有固定大小的数据组块存储在所述第一块中,所述备份编程操作将所述数据组块存储在所述第二块中,
其中所述主编程操作包括将所述数据组块存储在所述第一块中的编程脉冲施加操作,以及对应于所述编程脉冲施加操作的编程验证操作,
其中所述备份编程操作包括将所述数据组块存储在所述第二块中的编程脉冲施加操作,并且
其中所述备份编程操作包括编程电压施加操作而不包括所述编程验证操作,并且所述编程电压施加操作被称为所述编程脉冲施加操作。
16.根据权利要求15所述的存储装置,
其中所述写入数据被划分为多个数据组块,每个数据组块具有所述固定大小,并且
其中生成所述多个编程命令以分别对应于各个数据组块。
17.根据权利要求16所述的存储装置,
其中所述多个数据组块分别存储在所述第一块中包括的多个字线之中的不同字线中,
其中所述主编程操作包括将所述数据组块存储在所述第一块中的预编程操作,以及对应于所述预编程操作将所述数据组块再次存储在所述第一块中的后编程操作,并且
其中对所述多个字线之中、已经被执行所述预编程操作的字线执行所述后编程操作。
18.根据权利要求17所述的存储装置,
其中在所述存储器控制器的控制下,所述存储器装置执行将所述多个数据组块的第一数据组块存储在所述第二块中的备份编程操作,并且执行将所述第一数据组块存储在所述第一块中的预编程操作,并且
其中所述存储器装置执行将所述多个数据组块的第二数据组块存储在所述第二块中的备份编程操作,执行将所述第二数据组块存储在所述第二块中的预编程操作,并且然后执行将所述第一数据组块再次存储在所述第一块中的后编程操作。
19.根据权利要求15所述的存储装置,
其中在所述主编程操作之前执行所述备份编程操作,并且
其中当所述主编程操作由于突然断电而被中断时,在向所述存储装置恢复电力之后,所述存储器装置在所述存储器控制器的控制下使用作为执行所述备份编程操作的结果而存储在所述第二块中的所述数据组块再次执行所述主编程操作。
20.一种存储器系统,包括:
存储器装置,包括较高密度存储的第一存储器区域和较低密度存储的第二存储器区域;以及
控制器,针对数据组块中的每一个,控制所述存储器装置对所述第二存储器区域顺序地执行备份编程操作并且对所述第一存储器区域执行粗略编程和精细编程操作,
其中针对所述数据组块之中的至少两个,所述控制器控制所述存储器装置首先执行所述粗略编程操作并且然后执行所述精细编程操作,
其中所述控制器控制所述存储器装置执行不具有编程验证进程的所述备份编程操作,并且
其中所述备份编程操作包括编程电压施加操作而不包括编程验证操作,并且所述编程电压施加操作被称为编程脉冲施加操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0165674 | 2018-12-19 | ||
KR1020180165674A KR20200076524A (ko) | 2018-12-19 | 2018-12-19 | 저장 장치 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111341372A CN111341372A (zh) | 2020-06-26 |
CN111341372B true CN111341372B (zh) | 2023-09-15 |
Family
ID=71096897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910781956.2A Active CN111341372B (zh) | 2018-12-19 | 2019-08-23 | 存储装置以及操作存储装置的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10854263B2 (zh) |
KR (1) | KR20200076524A (zh) |
CN (1) | CN111341372B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593282B2 (en) | 2020-05-12 | 2023-02-28 | Francesco E. DeAngelis | Dual memory secure digital (SD) card and system and method for wirelessly and automatically updating data in host computer using dual memory SD card |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1414566A (zh) * | 2001-06-27 | 2003-04-30 | 三因迪斯克公司 | 降低非易失性存储器存储元件间耦合效应的方法 |
CN102270501A (zh) * | 2010-06-01 | 2011-12-07 | 三星电子株式会社 | 利用编程定序器的闪存器件和系统,以及编程方法 |
CN103578554A (zh) * | 2012-08-08 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器装置及控制挂起其命令执行的方法 |
CN107578793A (zh) * | 2016-07-04 | 2018-01-12 | 三星电子株式会社 | 非易失性存储器系统和非易失性存储器装置的操作方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473923B2 (en) * | 2007-09-12 | 2013-06-25 | Sandisk Technologies Inc. | Pointers for write abort handling |
US8089805B2 (en) * | 2008-11-20 | 2012-01-03 | Micron Technology, Inc. | Two-part programming methods and memories |
US8688899B2 (en) * | 2010-09-28 | 2014-04-01 | Fusion-Io, Inc. | Apparatus, system, and method for an interface between a memory controller and a non-volatile memory controller using a command protocol |
US8681563B1 (en) * | 2011-04-04 | 2014-03-25 | Sk Hynix Memory Solutions Inc. | Flash multiple-pass write with accurate first-pass write |
KR101903091B1 (ko) | 2011-10-05 | 2018-10-02 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 |
US8773902B2 (en) * | 2012-05-09 | 2014-07-08 | Sandisk Technologies Inc. | Channel boosting using secondary neighbor channel coupling in non-volatile memory |
KR101979392B1 (ko) * | 2012-05-17 | 2019-05-16 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
JP2014127220A (ja) * | 2012-12-27 | 2014-07-07 | Toshiba Corp | 半導体記憶装置 |
KR102053958B1 (ko) | 2013-05-27 | 2019-12-10 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 재프로그램 방법 |
US9218242B2 (en) * | 2013-07-02 | 2015-12-22 | Sandisk Technologies Inc. | Write operations for defect management in nonvolatile memory |
US20150170747A1 (en) * | 2013-12-17 | 2015-06-18 | Skymedi Corporation | Method and system for programming a multi-bit per cell non-volatile memory |
KR102127287B1 (ko) * | 2014-02-11 | 2020-06-26 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러가 불휘발성 메모리로부터 데이터를 읽는 데이터 읽기 방법 |
JP2015204126A (ja) * | 2014-04-16 | 2015-11-16 | 株式会社東芝 | 半導体記憶装置 |
US9576665B2 (en) * | 2015-03-12 | 2017-02-21 | Kabushiki Kaisha Toshiba | Semiconductor memory device and memory system |
KR102641107B1 (ko) * | 2016-07-29 | 2024-02-27 | 삼성전자주식회사 | 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법 |
KR20180020706A (ko) * | 2016-08-19 | 2018-02-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
-
2018
- 2018-12-19 KR KR1020180165674A patent/KR20200076524A/ko not_active Application Discontinuation
-
2019
- 2019-07-18 US US16/515,133 patent/US10854263B2/en active Active
- 2019-08-23 CN CN201910781956.2A patent/CN111341372B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1414566A (zh) * | 2001-06-27 | 2003-04-30 | 三因迪斯克公司 | 降低非易失性存储器存储元件间耦合效应的方法 |
CN102270501A (zh) * | 2010-06-01 | 2011-12-07 | 三星电子株式会社 | 利用编程定序器的闪存器件和系统,以及编程方法 |
CN103578554A (zh) * | 2012-08-08 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器装置及控制挂起其命令执行的方法 |
CN107578793A (zh) * | 2016-07-04 | 2018-01-12 | 三星电子株式会社 | 非易失性存储器系统和非易失性存储器装置的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10854263B2 (en) | 2020-12-01 |
KR20200076524A (ko) | 2020-06-29 |
US20200202915A1 (en) | 2020-06-25 |
CN111341372A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110827905B (zh) | 存储装置及该存储装置的操作方法 | |
KR102524916B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN110390970B (zh) | 存储器装置及其操作方法 | |
CN111696608A (zh) | 存储器装置及其操作方法 | |
CN111258793B (zh) | 存储器控制器及其操作方法 | |
CN110780802B (zh) | 存储器控制器及其操作方法 | |
CN111435289B (zh) | 映射数据访问性能提高的存储器控制器及其操作方法 | |
CN111105829A (zh) | 存储器控制器及其操作方法 | |
CN111105832B (zh) | 存储装置和操作存储装置的方法 | |
CN111105836B (zh) | 存储装置及其操作方法 | |
CN111104059A (zh) | 存储器控制器及操作该存储器控制器的方法 | |
CN111177020B (zh) | 存储装置及其操作方法 | |
CN112988049A (zh) | 存储装置及其操作方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
CN113096708A (zh) | 存储器装置及其操作方法 | |
CN115376596A (zh) | 存储器设备和该存储器设备的操作方法 | |
KR102501778B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN111338978B (zh) | 存储装置以及操作存储装置的方法 | |
CN114078530A (zh) | 存储器装置及其操作方法 | |
CN112151096B (zh) | 存储器装置及其操作方法 | |
CN113760794A (zh) | 存储装置和操作存储装置的方法 | |
CN111312305A (zh) | 存储装置及其操作方法 | |
CN111341372B (zh) | 存储装置以及操作存储装置的方法 | |
TW202333038A (zh) | 記憶體裝置和操作該記憶體裝置的方法 | |
CN112002367B (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 |