CN114724611A - 存储器子系统中的存储器装置的双交错编程 - Google Patents
存储器子系统中的存储器装置的双交错编程 Download PDFInfo
- Publication number
- CN114724611A CN114724611A CN202111552850.9A CN202111552850A CN114724611A CN 114724611 A CN114724611 A CN 114724611A CN 202111552850 A CN202111552850 A CN 202111552850A CN 114724611 A CN114724611 A CN 114724611A
- Authority
- CN
- China
- Prior art keywords
- memory
- programming
- pages
- groups
- program distribution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- 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/561—Multilevel memory cell aspects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5623—Concurrent multilevel programming and reading
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及存储器子系统中的存储器装置的双交错编程。存储器装置中的逻辑控制识别第一多个编程分布群组,其中每一群组包括与所述存储器装置的存储器阵列的配置为四层级QLC存储器的一部分相关联的编程分布的子集;在多遍次编程操作的第一遍次期间,所述控制逻辑将所述配置为QLC存储器的部分中的存储器单元粗略地编程为表示第二多个主机数据页的初始值,且将所述第一多个编程分布群组的指示符存储在所述存储器装置的所述存储器阵列的配置为单层级单元SLC存储器的一部分中,所述粗略编程的存储器单元中的每一个与所述第一多个编程分布群组相关联。
Description
技术领域
本公开的实施例通常涉及存储器子系统,且更确切地说,涉及存储器子系统的存储器装置的双交错编程。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统将数据存储在存储器装置处且从存储器装置检索数据。
发明内容
本公开的方面是针对一种存储器装置,其包括:存储器阵列,其包括配置为单层级单元(SLC)存储器的第一部分和配置为四层级单元(QLC)存储器的第二部分;以及控制逻辑,其与存储器阵列操作性地耦合,以执行包括以下的操作:识别第一多个编程分布群组,其中每一群组包括与配置为QLC存储器的第二部分相关联的编程分布的子集;在多遍次编程操作的第一遍次期间,将配置为QLC存储器的第二部分中的存储器单元粗略地编程为表示第二多个主机数据页的初始值;将第一多个编程分布群组的指示符存储在配置为SLC存储器的第一部分中,粗略编程的存储器单元中的每一个与第一多个编程分布群组相关联;以及在多遍次编程操作的第二遍次期间,基于第一多个编程分布群组的指示符而从第一遍次读取粗略编程的初始值,且将配置为QLC存储器的第二部分中的存储器单元精细地编程为表示第二多个主机数据页的最终值。
本公开的另一方面是针对一种方法,其包括:识别第一多个编程分布群组,其中每一群组包括与存储器装置的存储器阵列的配置为四层级(QLC)存储器的一部分相关联的编程分布的子集;在多遍次编程操作的第一遍次期间,将配置为QLC存储器的部分中的存储器单元粗略地编程为表示第二多个主机数据页的初始值;将第一多个编程分布群组的指示符存储在存储器装置的所述存储器阵列的配置为单层级单元(SLC)存储器的一部分中,粗略编程的存储器单元中的每一个与第一多个编程分布群组相关联;以及在多遍次编程操作的第二遍次期间,基于第一多个编程分布群组的指示符而从第一遍次读取粗略编程的初始值,且将配置为QLC存储器的部分中的存储器单元精细地编程为表示第二多个主机数据页的最终值。
本公开的又一方面是针对一种方法,其包括:识别四个编程分布群组,其中每一群组包括与存储器装置的存储器阵列的每存储器单元存储多个数据位的第一部分相关联的16个编程分布中的四个;在多遍次编程操作的第一遍次期间,将存储器阵列的第一部分中的存储器单元粗略地编程为表示四个主机数据页的初始值;将四个编程分布群组的指示符存储在存储器装置的存储器阵列的每单元存储一个数据位的第二部分中,粗略编程的存储器单元中的每一个与四个编程分布群组相关联;以及在多遍次编程操作的第二遍次期间,基于四个编程分布群组的指示符而从第一遍次读取粗略编程的初始值,且将存储器阵列的第一部分中的存储器单元精细地编程为表示第二多个主机数据页的最终值。
附图说明
根据下文给出的详细描述和本公开的各个实施例的附图,将更充分地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2A为根据实施例的与存储器子系统的存储器子系统控制器通信的存储器装置的框图。
图2B为说明根据本公开的一些实施例的实施双交错编程的存储器子系统的框图。
图3为根据本公开的一些实施例的存储器子系统的存储器装置的双交错编程的实例方法的流程图。
图4为说明根据本公开的一些实施例的用于存储器子系统的存储器装置的双交错编程的编程分布的曲线图。
图5为其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的方面涉及存储器子系统中的存储器装置的双交错编程。存储器子系统可为存储装置、存储器模块或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供待存储在存储器子系统处的数据且可请求待从存储器子系统检索的数据。
存储器子系统可包含高密度非易失性存储器装置,其中当未向存储器装置供应电力时需要保留数据。非易失性存储器装置的一个实例为与非(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由一组物理块组成。每一块由一组页组成。每一页由一组存储器单元(“单元”)组成。单元为存储信息的电子电路。取决于单元类型,单元可存储二进制信息的一或多个位,且具有与所存储的位数目相关的各种逻辑状态。逻辑状态可由二进制值(例如,“0”和“1”)或这类值的组合表示。
存储器装置可由按二维或三维网格布置的位组成。存储器单元蚀刻到列(下文也称为位线)和行(下文也称为字线)的阵列中的硅晶片上。字线可以指存储器装置的存储器单元的一或多个行,其与一或多个位线一起使用以产生存储器单元中的每一个的地址。位线和字线的相交点构成存储器单元的地址。下文中,块是指存储器装置的用于存储数据的单元,且可包含存储器单元群组、字线群组、字线或个别存储器单元。可以将一或多个块分组在一起以形成存储器装置的平面,以便允许在每一平面上进行并发操作。存储器装置可包含执行两个或更多个存储器平面的并发存储器页存取的电路系统。举例来说,存储器装置可包含可由存储器装置的平面共享的多个存取线驱动器电路和电力电路,以促进两个或更多个存储器平面的包含不同页类型的页的并发存取。为易于描述,这些电路通常可称为独立的平面驱动器电路。取决于所采用的存储架构,可跨存储器平面(即,在条带中)存储数据。因此,读取数据的片段(例如,对应于一或多个数据地址)的一个请求可产生对存储器装置的存储器平面中的两个或更多个执行的读取操作。
一些存储器装置使用某些类型的存储器单元(例如,四层级单元(QLC)存储器单元),其在每一存储器单元中存储四个数据位,这使得更多应用能够从传统硬盘驱动器移动到较新存储器子系统(例如,NAND固态驱动器(SSD))。针对读取密集型工作负载特别地充分调整QLC存储器,这在数据中心应用中很常见,其中数据通常产生一次,且接着定期读取以执行计算和分析。因此,QLC存储器通常视为脆弱的且仅用于极轻的写入工作负载,这是因为耐久性和服务质量(QoS)可限制数据中心应用中的可用性。
实施QLC存储器的某些存储器子系统使用标准的16-16粗略-精细两遍次编程算法。由于QLC存储器单元存储四个数据位,因此存在16个可能编程层级(即,24),其表示那四个数据位的可能值。在第一遍次中,编程字线以粗略地编程所有16个层级开始。这种“粗略”第一遍次的目标是将所有单元快速地编程为略低于其最终目标编程层级。在较慢的“精细”第二遍次期间,存储器单元编程为略高的最终目标编程电压。这类两遍次编程最小化单元到单元(C2C)干扰,这是因为当执行精细编程遍次时,每一单元和其相邻单元几乎均处于其最终目标编程电压,且仅需要“修改(touched-up)”即可。第一遍次中不需要精确编程和最小化的C2C耦合的组合产生具有高读取窗口预算(RWB)的快速编程。然而,这类标准的16-16粗略-精细编程需要在第一遍次之前首先将所有数据写入到单层级单元(SLC)存储器(即,每单元存储一个数据位的存储器单元),以防止出现非同步电力损耗(APL)。在大量数据通过SLC存储器的情况下,除非分配了大量SLC存储器,否则可耗损底层媒体。然而,分配为SLC存储器的块占用了QLC存储器的空间,由此减小了存储器装置的容量,且产生额外的QLC写入放大。增加的写入放大降低了存储器装置的耐久性且降低了随机写入性能。
实施QLC存储器的其它存储器子系统使用2-8-16三遍次编程算法。通过这一方法,在第一遍次中,编程字线以编程表示一个页(例如,下部页(LP))的两个层级开始。在第二遍次期间,接收用于两个更多页(例如,上部页(UP)和额外页(XP))的数据,且执行预读取操作以读出先前写入的LP数据,随后编程表示三个页的八个层级。在第三遍次期间,接收用于第四页(例如,顶部页(TP))的数据,且执行预读取操作以读出先前写入的LP、UP和XP数据,随后编程所有16个层级。在这类三遍次编程中执行的预读取操作增加了编程时间且产生造成存储器子系统中的QoS问题的不平衡格雷码(例如,1-3-3-8)。另外,在不存在粗略-精细编程的修改效应的情况下,RWB减小,这可在稍后从存储器装置读取编程数据时产生增加的错误率。
本公开的各方面通过实施存储器子系统中的存储器装置的双交错编程来解决以上和其它不足。在一个实施例中,存储器子系统基于上文所描述的标准16-16粗略-精细编程而使用双交错16-16两遍次编程算法(“i2-16-16”)。然而,双交错编程每四个编程的QLC页(即,LP、UP、XP、TP)仅消耗两个SLC存储器页。另外,利用双交错编程以不同方式执行SLC使用和预读取操作,其中表示四个主机页的16个电压分布拆分为多个分布群组(例如,各自具有四个分布的四个群组)。仅将足够的数据页存储在SLC存储器中而非在QLC编程期间将四个主机页存储在SLC存储器中,以提供多个分布群组的指示符(例如,2个群组指示符信息页可表示四个分布群组中的一个)。在所有16个编程层级的第一“粗略”编程遍次之后,存储器装置的控制逻辑可基于存储在SLC存储器中的群组指示符而使用多个分布群组中的仅一个来执行预读取操作,这具有极大的RWB和较低的相关联错误率。因此,在第二“精细”编程遍次中,控制逻辑可快速且精确地确定粗略编程的电压且执行修改编程以使存储器单元达到其最终目标编程电压。
这一方法的优点包含但不限于存储器子系统中的改进的性能。以本文中所描述的方式,维持标准的两遍次16-16编程算法(例如,修改效应和平衡格雷码)的期望特性,同时减少SLC存储器使用。另外,最小化在2-8-16编程算法中遇到的预读取容限问题。因此,改进存储器子系统的总服务质量等级,如QLC存储器的耐久性。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或这类的组合。
存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)和各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,运载工具、工业设备或联网商业装置中包含的嵌入式计算机)或包含存储器和处理装置的这类计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与……耦合”通常是指组件之间的连接,所述连接可为间接通信连接或直接通信连接(例如,不具有中间组件),无论是有线还是无线,包含例如电连接、光学连接、磁连接等。
主机系统120可包含处理器芯片组和由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓冲器、存储器控制器(例如,NVDIMM控制器)和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,例如将数据写入到存储器子系统110和从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过物理主机接口(例如,PCIe总线)与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。图1说明存储器子系统110作为实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(NAND)类型快闪存储器和就地写入存储器,例如作为非易失性存储器单元的交叉点阵列的三维交叉点(“3D交叉点”)存储器装置。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下编程非易失性存储器单元。NAND类型快闪存储器包含例如二维NAND(2DNAND)和三维NAND(3DNAND)
存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(SLC)每单元可存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)、四级单元(QLC)和五层级单元(PLC)每单元可存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或这类的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分和MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储器单元可分组为可指代用于存储数据的存储器装置的逻辑单元的页。在一些类型的存储器(例如,NAND)的情况下,可将页分组以形成块。
尽管描述了例如3D交叉点非易失性存储器单元阵列和NAND类型快闪存储器(例如,2D NAND、3D NAND)的非易失性存储器组件,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器和电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(或为简单起见,控制器115)可与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据的操作和其它这类操作。存储器子系统控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲器存储器或其组合。硬件可包含具有执行本文中所描述的操作的专用(即,硬译码)逻辑的数字电路系统。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。
存储器子系统控制器115可为处理装置,其包含配置成执行存储在本地存储器119中的指令的一或多个处理器(例如,处理器117)。在所说明的实例中,存储器子系统控制器115的本地存储器119包含配置成存储指令的嵌入式存储器,以用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程和例程。
在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,而是可替代地依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,且可将命令或操作转换为指令或适当命令以实现对存储器装置130的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓冲操作和与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名称空间)与物理地址(例如,物理块地址)之间的地址转换。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器装置130,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓冲器或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从存储器子系统控制器115接收地址且解码所述地址以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110为受管理存储器装置,其包含具有裸片上的控制逻辑(例如,本地媒体控制器135)的原始存储器装置130和用于同一存储器装置封装内的媒体管理的控制器(例如,存储器子系统控制器115)。受管理存储器装置的实例为受管理NAND(MNAND)装置。
在一个实施例中,存储器子系统110包含存储器接口组件113。存储器接口组件113负责处理存储器子系统控制器115与存储器子系统110的存储器装置(例如,存储器装置130)的相互作用。举例来说,存储器接口组件113可将与从主机系统120接收到的请求相对应的存储器存取命令发送到存储器装置130,所述存储器存取命令例如编程命令、读取命令或其它命令。此外,存储器接口组件113可从存储器装置130接收数据,例如响应于读取命令或成功地执行编程命令的确认而检索的数据。举例来说,存储器子系统控制器115可包含处理器117(处理装置),其配置成执行存储在本地存储器119中的指令以用于执行本文中所描述的操作。
在一个实施例中,存储器装置130包含程序管理器134,其配置成响应于从存储器接口113接收到存储器存取命令而实行对应的存储器存取操作。在一些实施例中,本地媒体控制器135包含程序管理器134的至少一部分且配置成执行本文中所描述的功能性。在一些实施例中,使用固件、硬件组件或上述组合在存储器装置130上实施程序管理器134。在一个实施例中,程序管理器134从例如存储器接口113的请求者接收对将数据编程到存储器装置130的存储器阵列的请求。在一个实施例中,存储器阵列可包含配置为SLC存储器的第一部分,和配置为QLC存储器的第二部分。QLC存储器中的存储器单元的电压电平形成一组16个编程分布,其表示存储在每一存储器单元中的四个位的16个不同组合。在一个实施例中,程序管理器134可将那16个编程分布划分为多个群组,例如各自包含四个编程分布的四个群组。因此,所得的编程分布群组看起来类似于表示两个数据位的四个不同组合的MLC分布。具有指示QLC存储器中的每一存储器单元所属的编程分布群组的值的两个指示符页可存储在SLC存储器中。程序管理器134可对编程操作的第二遍次执行预读取操作,以通过使用对应于相关联的编程分布群组的读取电压来确定每一单元的粗略编程的电压电平。下文描述关于程序管理器134的操作的其它细节。
图2A为根据实施例的呈存储器装置130形式的第一设备与呈存储器子系统(例如,图1的存储器子系统110)的存储器子系统控制器115形式的第二设备通信的简化框图。电子系统的一些实例包含个人计算机、个人数字助理(PDA)、数字相机、数字媒体播放器、数字记录器、游戏、电气设备、运载工具、无线装置、移动电话等。存储器子系统控制器115(例如,在存储器装置130外部的控制器)可为存储器控制器或其它外部主机装置。
存储器装置130包含按行和列逻辑地布置的存储器单元阵列204。逻辑行的存储器单元通常连接到同一存取线(例如,字线),而逻辑列的存储器单元通常选择性地连接到同一数据线(例如,位线)。单个存取线可能与存储器单元的超过一个逻辑行相关联,且单个数据线可能与超过一个逻辑列相关联。存储器单元阵列204的至少一部分的存储器单元(图2A中未展示)能够编程为至少两个目标数据状态中的一个。
提供行解码电路系统208和列解码电路系统210以对地址信号进行解码。接收地址信号且对其进行解码以存取存储器单元阵列204。存储器装置130还包含输入/输出(I/O)控制电路212,以管理将命令、地址和数据输入到存储器装置130以及从存储器装置130输出数据和状态信息。地址寄存器214与I/O控制电路212和行解码电路208以及列解码电路210通信以在解码之前锁存地址信号。命令寄存器224与I/O控制电路系统212和本地媒体控制器135通信以锁存传入命令。
控制器(例如,在存储器装置130内部的本地媒体控制器135)响应于命令而控制对存储器单元阵列204的存取,且产生用于外部存储器子系统控制器115的状态信息,即,本地媒体控制器135配置成对存储器单元阵列204执行存取操作(例如,读取操作、编程操作和/或擦除操作)。本地媒体控制器135与行解码电路系统208和列解码电路系统210通信,以响应于地址来控制行解码电路系统208和列解码电路系统210。在一个实施例中,本地媒体控制器135包含程序管理器134,其可实施如本文中所描述的存储器装置130的双交错编程。
本地媒体控制器135还与高速缓冲寄存器218通信。高速缓冲寄存器218锁存如由本地媒体控制器135引导的传入或传出数据以暂时存储数据,同时存储器单元阵列204正忙于分别写入或读取其它数据。在编程操作(例如,写入操作)期间,可将数据从高速缓冲寄存器218传递到数据寄存器220以用于传送到存储器单元阵列204;接着可将新数据从I/O控制电路系统212锁存在高速缓冲寄存器218中。在读取操作期间,数据可从高速缓冲寄存器218传送到I/O控制电路212以用于输出到存储器子系统控制器115;接着可将新数据从数据寄存器220传送到高速缓冲寄存器218。高速缓冲寄存器218和/或数据寄存器220可形成存储器装置130的页缓冲器(例如,可形成所述页缓冲器的一部分)。页缓冲器可进一步包含感测装置(图2A中未展示),以例如通过感测连接到存储器单元阵列204的存储器单元的数据线的状态来感测所述存储器单元的数据状态。状态寄存器222可与I/O控制电路系统212和本地存储器控制器135通信以锁存状态信息以用于输出到存储器子系统控制器115。
存储器装置130经由控制链路232从本地媒体控制器135接收存储器子系统控制器115处的控制信号。举例来说,控制信号可包含芯片启用信号CE#、命令锁存启用信号CLE、地址锁存启用信号ALE、写入启用信号WE#、读取启用信号RE#和写入保护信号WP#。取决于存储器装置130的性质,可进一步通过控制链路232接收额外或替代的控制信号(未展示)。在一个实施例中,存储器装置130经由多路复用的输入/输出(I/O)总线234从存储器子系统控制器115接收命令信号(其表示命令)、地址信号(其表示地址)和数据信号(其表示数据),且经由I/O总线234将数据输出到存储器子系统控制器115。
举例来说,可在I/O控制电路212处通过I/O总线234的输入/输出(I/O)引脚[7:0]接收命令,且可接着将所述命令写入到命令寄存器224中。可在I/O控制电路212处通过I/O总线234的输入/输出(I/O)引脚[7:0]接收地址,且可接着将所述地址写入到地址寄存器214中。可在I/O控制电路212处通过用于8位装置的输入/输出(I/O)引脚[7:0]或用于16位装置的输入/输出(I/O)引脚[15:0]接收数据,且可接着将所述数据写入到高速缓冲寄存器218中。可随后将数据写入到数据寄存器220中以用于编程存储器单元阵列204。
在一个实施例中,可省略高速缓冲寄存器218,且可将数据直接写入到数据寄存器220中。还可通过用于8位装置的输入/输出(I/O)引脚[7:0]或用于16位装置的输入/输出(I/O)引脚[15:0]输出数据。虽然可参考I/O引脚,但其可包含通过外部装置(例如,存储器子系统控制器115)实现到存储器装置130的电连接的任何导电节点,例如常用的导电衬垫或导电凸块。
所属领域的技术人员应了解,可提供额外的电路系统和信号,且已简化图2A的存储器装置130。应认识到,参考图2A所描述的各种块组件的功能性可不必与集成电路装置的不同组件或组件部分分离。举例来说,集成电路装置的单个组件或组件部分可适于执行图2A的超过一个块组件的功能性。替代地,可组合集成电路装置的一或多个组件或组件部分以执行图2A的单个块组件的功能性。另外,虽然根据各种信号的接收和输出的流行惯例来描述特定I/O引脚,但应注意,可在各种实施例中使用I/O引脚(或其它I/O节点结构)的其它组合或其它数目个所述I/O引脚。
图2B为示出根据本公开的一些实施例的实施双交错编程的存储器子系统的框图200。在一个实施例中,存储器接口113与存储器装置130操作性地耦合。在一个实施例中,存储器装置130包含程序管理器134和存储器阵列250,其为图2A中所说明的存储器单元阵列204的一个实例。存储器阵列250可包含形成在字线和位线的交叉点处的存储器单元阵列。在一个实施例中,将存储器单元分组为可进一步划分成子块的块,其中例如跨多个子块共享给定字线。在一个实施例中,每一子块对应于存储器阵列250中的单独平面。与子块内的字线相关联的存储器单元群组称为物理页。在一个实施例中,可存在存储器阵列250的其中子块配置为SLC存储器的第一部分252和存储器阵列250的其中子块配置为QLC存储器的第二部分254。取决于其如何配置,一个子块中的每一物理页可包含多个页类型。举例来说,由单层级单元(SLC)形成的物理页具有称为下部逻辑页(LP)的单个页类型。多层级单元(MLC)物理页类型可包含LP和上部逻辑页(UP),TLC物理页类型为LP、UP和额外逻辑页(XP),且QLC物理页类型为LP、UP、XP和顶部逻辑页(TP)。举例来说,由QLC存储器类型的存储器单元形成的物理页可具有总共四个逻辑页,其中每一逻辑页可存储不同于存储在与所述物理页相关联的其它逻辑页中的数据的数据。
取决于所使用的编程方案,存储器单元的每一逻辑页可在单独的编程遍次中编程,或多个逻辑页可一起编程。举例来说,在QLC物理页中,LP和UP可在一个遍次上编程,且XP和TP可在第二遍次上编程。其它编程方案是可能的。在一个实施例中,程序管理器134可接收例如待编程到QLC存储器254的四个主机数据页。因此,为了将来自四个页中的每一个的一个位编程到每一存储器单元,程序管理器134可将每一存储器单元编程到16个可能编程层级中的一个(即,表示那四个位的16个不同值的电压)。因此,四个主机数据页将由16个不同的编程分布表示。在一个实施例中,程序管理器134可将那16个编程分布划分为各自包含较小数目个那些分布的多个群组。举例来说,在一个实施例中,程序管理器134可形成各自包含四个编程分布的四个群组。由于每一群组具有少于16个编程分布,因此那些分布之间的RWB将较高,由此允许以较少误差读取对应的存储器单元。另外,程序管理器134可形成多个群组指示符页(例如,两个群组指示符页)以指示QLC存储器254中的每一存储器单元所属的编程分布群组。程序管理器134可将那些群组指示符页存储在存储器阵列250的配置为SLC存储器252的第一部分中。程序管理器134可接着执行编程操作的第一遍次以将QLC存储器254中的单元粗略地编程为表示四个主机数据页的电压电平。
随后,在执行编程操作的第二遍次之前,程序管理器134可读取存储在SLC存储器252中的群组指示符页,其将指示QLC存储器254中的每一存储器单元所属的编程分布群组。由于每一群组中存在不同编程分布,因此还可存在与每一群组相关联的不同读取电压,其设计成位于特定群组的特定分布之间。在一个实施例中,程序管理器134可使用对应读取电压执行每一编程分布群组中的QLC存储器254中的存储器单元的预读取操作。举例来说,程序管理器134可识别QLC存储器254中的给定存储器单元所属的编程分布群组,且执行预读取操作以使用与对应的编程分布群组相关联的读取电压来确定QLC存储器254中的存储器单元的粗糙编程的电压电平。在预读取操作期间,可掩蔽其它编程分布群组(即,未读取的那些群组)以避免干扰。在确定粗略编程的电压电平后,程序管理器134可执行编程操作的第二遍次以将QLC存储器254中的存储器单元精细地编程为表示四个主机数据页的电压电平。第二遍次可包含修改粗略编程的电压电平以达到表示四个主机数据页的目标电压电平。以这种方式,程序管理器134可以可靠地从第一编程遍次读出四个主机数据页的粗略编程的电压电平,同时仅将SLC存储器252的两个页用于群组指示符页。
图3为根据本公开的一些实施例的存储器子系统的存储器装置的双交错编程的实例方法的流程图。方法300可由处理逻辑进行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法300由图1、图2A和图2B的程序管理器134执行。虽然以特定顺序或次序展示,但除非另外规定,否则可修改过程的次序。因此,说明的实施例应仅作为实例理解,且说明的过程可以不同次序执行,且一些过程可并行执行。另外,可在各种实施例中省略一或多个过程。因此,并非在每一实施例中都需要所有过程。其它过程流是可能的。
在操作305处,接收命令/请求。举例来说,处理逻辑(例如,程序管理器134)可从例如存储器子系统控制器115的存储器接口113的请求方接收对存储器装置(例如,存储器装置130)的存储器阵列(例如,存储器阵列250)执行存储器存取操作的第一请求。在一个实施例中,存储器存取操作包括程序操作。举例来说,存储器存取操作可包含与多个主机数据页(例如,四个主机数据页)相关联的QLC程序操作。
在操作310处,识别编程分布群组。举例来说,处理逻辑可识别多个编程分布群组(例如,四个编程分布群组)。如果将来自四个主机数据页中的每一个的一个位编程到每一存储器单元,那么程序管理器134可将每一存储器单元编程到16个可能编程层级中的一个(即,表示那四个位的16个不同值的电压)。因此,四个主机数据页将由16个不同编程分布表示,如图4中的曲线410所说明。16个编程分布可称为D0到D15。在其它实施例中,可存在一些其它数目个编程分布。在一个实施例中,程序管理器134可将那16个编程分布划分为各自包含较小数目个那些分布(例如,四个分布)的四个群组,如由图4中的曲线420所说明。因此,每一群组包括与存储器装置的存储器阵列的配置为四层级(QLC)存储器的一部分(例如部分254)相关联的编程分布的子集。举例来说,在一个实施例中,群组0可包含D0、D4、D8和D12,群组1可包含D1、D5、D9和D13,群组2可包含D2、D6、D10和D14,且群组3可包含D3、D7、D11和D15。在其它实施例中,可存在一些其它数目个群组,其各自包含一些其它数目个编程分布。
在操作315处,产生且存储指示符。举例来说,处理逻辑可在存储器阵列的配置为SLC存储器252的一部分中产生和存储编程分布群组(例如在操作310处识别到的那些编程分布群组)的指示符,在操作315处粗略编程的已编程存储器单元中的每一个与编程分布群组相关联。在一个实施例中,如果存储器单元编程为属于构成给定群组的编程分布中的一个内的电压电平,那么所述存储器单元与给定群组相关联。举例来说,如果存储器单元编程为属于分布D5内的电压电平,那么存储器单元将与群组1相关联。在一个实施例中,群组的指示符包括多个群组指示符数据页(例如,两个页)。因此,群组指示符数据页的数目小于正编程的主机数据页的数目。因此,较少SLC存储器252用于多遍次编程操作,且存储器阵列250的容量增加。
在操作320处,启动存储器存取操作。举例来说,处理逻辑可启动对存储器阵列250的存储器存取操作。在一个实施例中,存储器存取操作包含多通次编程操作,其中存储器阵列250的存储器单元在两个或更多个编程遍次中编程。在一个实施例中,在多遍次编程操作的第一遍次期间,处理逻辑将配置为QLC存储器254的部分中的存储器单元粗略地编程为表示主机数据页的初始值。在一个实施例中,程序管理器134可使得将一或多个编程脉冲施加到存储器阵列250的对应字线,以将主机数据页存储在存储器阵列250的存储器单元中。初始值可略低于最终目标值,使得可以最小延迟执行第一编程遍次。取决于实施例,可改变本文中所描述的操作的次序。举例来说,如上文所描述,可在操作315处产生且存储指示符之后,在操作320处启动存储器存取操作。然而,在另一实施例中,可在操作320处启动存储器存取操作之后,在操作315中产生且存储指示符。另外,在又另一实施例中,可在操作310处识别到编程分布群组之前且在操作315中产生且存储指示符之前,在操作处320启动存储器存取操作。
在操作325处,读取指示符。举例来说,处理逻辑可从存储器阵列250的配置为SLC存储器252的部分读取包含群组指示符数据页的指示符。在一个实施例中,在执行多遍次编程操作的第二遍次之前,程序管理器134可读取存储在SLC存储器252中的群组指示符页,其将指示QLC存储器254中的每一存储器单元所属的编程分布群组。
在操作330处,识别存储器单元。举例来说,处理逻辑可基于群组指示符数据页识别在操作315处粗略编程的存储器单元的子集,所述存储器单元与编程分布群组中的每一个相关联。在一个实施例中,使用群组指示符数据,程序管理器134可识别与第一编程分布群组相关联的存储器单元的第一子集,例如编程为属于构成第一群组的编程分布中的一个内的电压电平的那些存储器单元。程序管理器134可对其余编程分布群组中的每一个执行类似识别。
在操作335处,识别读取电压电平。举例来说,处理逻辑可识别与编程分布群组中的每一个相关联的相应读取电压电平。由于在每一群组中存在不同编程分布,因此还可存在与每一群组相关联的不同读取电压。在一个实施例中,这些相应读取电压电平设计成位于每一特定群组的特定分布之间。
在操作340处,继续存储器存取操作。举例来说,处理逻辑可继续对存储器阵列250的存储器存取操作。在一个实施例中,存储器存取操作包含多通次编程操作,其中存储器阵列250的存储器单元在两个或更多个编程遍次中编程。在一个实施例中,在多遍次编程操作的第二遍次期间,处理逻辑基于编程分布群组的指示符而从第一遍次读取粗略编程的初始值,且在操作345处,将存储器阵列250的配置为QLC存储器254的部分中的存储器单元精细地编程为表示主机数据页的最终值。在一个实施例中,程序管理器134使得将在操作335处识别到的相应读取电压电平施加到编程分布群组中的每一个。在确定粗略编程的初始值之后,程序管理器134可使得将一或多个编程电压脉冲施加到存储器阵列250的配置为QLC存储器254的部分中的存储器单元,以将初始值增加到表示主机数据页的最终值。图4的曲线430说明精细编程的存储器单元的编程分布。
图5说明计算机系统500的实例机器,在所述实例机器内可执行用于使得所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的程序管理器134的操作)。在替代实施例中,机器可连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为同级间(或分散式)网络环境中的同级机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定待由所述机器采取的动作的指令集的任何机器。此外,虽然说明了单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令集(或多个指令集)以执行本文中所论述的方法中的任何一或多种方法。
实例计算机系统500包含经由总线530彼此通信的处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等的动态随机存取存储器(DRAM))、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等),和数据存储装置518。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更确切地说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置502配置成执行指令526,以用于执行本文中所论述的操作和步骤。计算机系统500可进一步包含网络接口装置508以通过网络520进行通信。
数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体,例如非暂时性计算机可读媒体),其上存储有一或多个指令集526或实施本文中所描述的方法或功能中的任何一或多个的软件。指令526还可在其由计算机系统500执行期间完全或至少部分地驻留在主存储器504内和/或处理装置502内,主存储器504和处理装置502还构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含用于实施对应于图1的程序管理器114的功能性的指令。虽然在实例实施例中将机器可读存储媒体524展示为单个媒体,但应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。还应认为术语“机器可读存储媒体”包含能够存储或编码供机器执行的指令集且使机器执行本公开的方法中的任何一或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示为数据处理领域的技术人员用于将其工作的主旨最有效地传达给所属领域的其它技术人员的方式。算法在这里且通常被认为是引起所要结果的操作的自洽(self-consistent)序列。操作为要求对物理量进行物理操控的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已证实将这些信号称为位、值、元件、符号、字符、术语、数目等是方便的。
然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅是应用于这些量的方便标签。本公开可指计算机系统或类似电子计算装置的动作和过程,其将在计算机系统的寄存器和存储器内表示为物理(电子)量的数据操控和变换为在计算机系统存储器或寄存器或其它这类信息存储系统内类似地表示为物理量的其它数据。
本公开还涉及用于执行本文中的操作的设备。这一设备可出于预期目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这类计算机程序可存储在计算机可读存储媒体中,例如但不限于各自耦合到计算机系统总线的任何类型的盘,包含软盘、光盘、CD-ROM和磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体。
本文中呈现的算法和显示在本质上与任何特定计算机或其它设备无关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用于执行所述方法的更专用设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可使用多种编程语言来实施如本文中所描述的本公开的教示。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,本公开的实施例已经参考其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广泛精神和范围的情况下对本公开进行各种修改。因此,说明书和图式应视为说明性的而非限制性的。
Claims (20)
1.一种存储器装置,其包括:
存储器阵列,其包括配置为单层级单元SLC存储器的第一部分和配置为四层级单元QLC存储器的第二部分;以及
控制逻辑,其与所述存储器阵列操作性地耦合,以执行包括以下的操作:
识别第一多个编程分布群组,其中每一群组包括与所述配置为QLC存储器的第二部分相关联的编程分布的子集;
在多遍次编程操作的第一遍次期间,将所述配置为QLC存储器的第二部分中的存储器单元粗略地编程为表示第二多个主机数据页的初始值;
将所述第一多个编程分布群组的指示符存储在所述配置为SLC存储器的第一部分中,所述粗略编程的存储器单元中的每一个与所述第一多个编程分布群组相关联;以及
在所述多遍次编程操作的第二遍次期间,基于所述第一多个编程分布群组的所述指示符而从所述第一遍次读取粗略编程的初始值,且将所述配置为QLC存储器的第二部分中的所述存储器单元精细地编程为表示所述第二多个主机数据页的最终值。
2.根据权利要求1所述的存储器装置,其中所述控制逻辑将执行包括以下的进一步操作:
从请求者接收将所述第二多个主机数据页编程到所述存储器阵列的请求。
3.根据权利要求1所述的存储器装置,其中所述第一多个群组的所述指示符包括第三多个群组指示符数据页,其中所述第三多个群组指示符数据页小于所述第二多个主机数据页。
4.根据权利要求3所述的存储器装置,其中与所述配置为QLC存储器的第二部分相关联的所述编程分布包括16个分布,
其中所述第一多个编程分布群组包括四个群组,
其中所述第二多个主机数据页包括四个页,且
其中所述第三多个群组指示符数据页包括两个页。
5.根据权利要求3所述的存储器装置,其中所述控制逻辑将执行包括以下的进一步操作:
从所述配置为SLC存储器的第一部分读取所述第三多个群组指示符数据页;以及
基于所述第三多个群组指示符数据页而识别与第一多个编程分布群组中的每一个相关联的所述粗略编程的存储器单元的子集。
6.根据权利要求5所述的存储器装置,其中所述控制逻辑将执行包括以下的进一步操作:
识别与所述第一多个编程分布群组中的每一个相关联的相应读取电压电平,
其中基于所述第一多个编程分布群组的所述指示符而从所述第一遍次读取所述粗略编程的初始值包括使得将所述相应读取电压电平施加到所述第一多个编程分布群组中的每一个。
7.根据权利要求1所述的存储器装置,其中将所述配置为QLC存储器的第二部分中的所述存储器单元精细地编程为表示所述第二多个主机数据页的最终值包括使得将一或多个编程电压脉冲施加到所述配置为QLC存储器的第二部分中的所述存储器单元,以将所述初始值增加到所述最终值。
8.一种方法,其包括:
识别第一多个编程分布群组,其中每一群组包括与存储器装置的存储器阵列的配置为四层级QLC存储器的一部分相关联的编程分布的子集;
在多遍次编程操作的第一遍次期间,将所述配置为QLC存储器的部分中的存储器单元粗略地编程为表示第二多个主机数据页的初始值;
将所述第一多个编程分布群组的指示符存储在所述存储器装置的所述存储器阵列的配置为单层级单元SLC存储器的一部分中,所述粗略编程的存储器单元中的每一个与所述第一多个编程分布群组相关联;以及
在所述多遍次编程操作的第二遍次期间,基于所述第一多个编程分布群组的所述指示符而从所述第一遍次读取所述粗略编程的初始值,且将所述配置为QLC存储器的部分中的所述存储器单元精细地编程为表示所述第二多个主机数据页的最终值。
9.根据权利要求8所述的方法,其进一步包括:
从请求者接收将所述第二多个主机数据页编程到所述存储器阵列的请求。
10.根据权利要求8所述的方法,其中所述第一多个群组的所述指示符包括第三多个群组指示符数据页,其中所述第三多个群组指示符数据页小于所述第二多个主机数据页。
11.根据权利要求10所述的方法,其中与所述配置为QLC存储器的部分相关联的所述编程分布包括16个分布,
其中所述第一多个编程分布群组包括四个群组,
其中所述第二多个主机数据页包括四个页,且
其中所述第三多个群组指示符数据页包括两个页。
12.根据权利要求10所述的方法,其进一步包括:
从所述配置为SLC存储器的部分读取所述第三多个群组指示符数据页;以及
基于所述第三多个群组指示符数据页而识别与第一多个编程分布群组中的每一个相关联的所述粗略编程的存储器单元的子集。
13.根据权利要求12所述的方法,其进一步包括:
识别与所述第一多个编程分布群组中的每一个相关联的相应读取电压电平,
其中基于所述第一多个编程分布群组的所述指示符而从所述第一遍次读取所述粗略编程的初始值包括使得将所述相应读取电压电平施加到所述第一多个编程分布群组中的每一个。
14.根据权利要求8所述的方法,其中将所述配置为QLC存储器的部分中的所述存储器单元精细地编程为表示所述第二多个主机数据页的最终值包括使得将一或多个编程电压脉冲施加到所述配置为QLC存储器的部分中的所述存储器单元,以将所述初始值增加到所述最终值。
15.一种方法,其包括:
识别四个编程分布群组,其中每一群组包括与存储器装置的存储器阵列的每存储器单元存储多个数据位的第一部分相关联的16个编程分布中的四个;
在多遍次编程操作的第一遍次期间,将所述存储器阵列的所述第一部分中的存储器单元粗略地编程为表示四个主机数据页的初始值;
将所述四个编程分布群组的指示符存储在所述存储器装置的所述存储器阵列的每单元存储一个数据位的第二部分中,所述粗略编程的存储器单元中的每一个与所述四个编程分布群组相关联;以及
在所述多遍次编程操作的第二遍次期间,基于所述四个编程分布群组的所述指示符而从所述第一遍次读取所述粗略编程的初始值,且将所述存储器阵列的所述第一部分中的所述存储器单元精细地编程为表示所述第二多个主机数据页的最终值。
16.根据权利要求15所述的方法,其进一步包括:
从请求者接收将所述四个主机数据页编程到所述存储器阵列的请求。
17.根据权利要求15所述的方法,其中所述四个群组的所述指示符包括两个群组指示符数据页。
18.根据权利要求17所述的方法,其进一步包括:
从所述存储器阵列的所述第二部分读取所述两个群组指示符数据页;以及
基于所述两个群组指示符数据页而识别与所述四个编程分布群组中的每一个相关联的所述粗略编程的存储器单元的子集。
19.根据权利要求18所述的方法,其进一步包括:
识别与所述四个编程分布群组中的每一个相关联的相应读取电压电平,
其中基于所述四个编程分布群组的所述指示符而从所述第一遍次读取所述粗略编程的初始值包括使得将所述相应读取电压电平施加到所述四个编程分布群组中的每一个。
20.根据权利要求15所述的方法,其中将所述存储器阵列的所述第一部分中的所述存储器单元精细地编程为表示所述四个主机数据页的最终值包括使得将一或多个编程电压脉冲施加到所述存储器阵列的所述第一部分中的所述存储器单元,以将所述初始值增加到所述最终值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/247,643 US11699491B2 (en) | 2020-12-18 | 2020-12-18 | Double interleaved programming of a memory device in a memory sub-system |
US17/247,643 | 2020-12-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114724611A true CN114724611A (zh) | 2022-07-08 |
Family
ID=81847474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111552850.9A Pending CN114724611A (zh) | 2020-12-18 | 2021-12-17 | 存储器子系统中的存储器装置的双交错编程 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11699491B2 (zh) |
CN (1) | CN114724611A (zh) |
DE (1) | DE102021006246A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230386583A1 (en) * | 2022-05-24 | 2023-11-30 | Micron Technology, Inc. | Adaptive porogramming delay scheme in a memory sub-system |
US20230410914A1 (en) * | 2022-05-24 | 2023-12-21 | Micron Technology, Inc. | Programming delay scheme for in a memory sub-system based on memory reliability |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11309032B2 (en) * | 2019-11-26 | 2022-04-19 | Samsung Electronics Co., Ltd. | Operating method of memory system including memory controller and nonvolatile memory device |
-
2020
- 2020-12-18 US US17/247,643 patent/US11699491B2/en active Active
-
2021
- 2021-12-17 DE DE102021006246.9A patent/DE102021006246A1/de active Pending
- 2021-12-17 CN CN202111552850.9A patent/CN114724611A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220199165A1 (en) | 2022-06-23 |
DE102021006246A1 (de) | 2022-06-23 |
US11699491B2 (en) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11776615B2 (en) | Sequential SLC read optimization | |
US11726690B2 (en) | Independent parallel plane access in a multi-plane memory device | |
CN115836277A (zh) | 检查存储器子系统中的多个存储器裸片的状态 | |
CN113590023A (zh) | 在多平面存储器装置的单独平面上存储区名称空间中的区 | |
CN114724611A (zh) | 存储器子系统中的存储器装置的双交错编程 | |
US20240103770A1 (en) | Improved memory performance using memory access command queues in memory devices | |
US20230176972A1 (en) | Memory performance during program suspend protocol | |
US20230069382A1 (en) | Managing host input/output in a memory system executing a table flush | |
CN115437973A (zh) | 多平面存储器装置中的并发页高速缓存资源存取 | |
CN113590022A (zh) | 用于存储器装置的系统和方法 | |
US11899972B2 (en) | Reduce read command latency in partition command scheduling at a memory device | |
US11756612B2 (en) | All levels dynamic start voltage programming of a memory device in a memory sub-system | |
CN115273925B (zh) | 存储器子系统刷新 | |
US11941290B2 (en) | Managing distribution of page addresses and partition numbers in a memory sub-system | |
US11693597B2 (en) | Managing package switching based on switching parameters | |
US20230359398A1 (en) | Enabling multiple data capacity modes at a memory sub-system | |
US20230058232A1 (en) | Partition command queues for a memory device | |
US20220138108A1 (en) | Cache release command for cache reads in a memory sub-system | |
US20220113903A1 (en) | Single memory bank storage for servicing memory access commands | |
CN115705853A (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 |