掌桥专利:专业的专利平台
掌桥专利
首页

存储器装置页面程序序列

文献发布时间:2023-06-19 12:27:31


存储器装置页面程序序列

本申请案主张在2020年2月18日申请的通过引用方式并入本文中的第62/978,046号美国临时专利申请案及在2020年8月20日申请的通过引用方式并入本文中的第16/998,631号美国专利申请案的优先权及权益。

技术领域

本发明的实施例大体上涉及存储器装置,且更明确来说,涉及用于对例如存储器子系统的存储器装置的存储器装置的一或多个页面进行编程的序列。

背景技术

存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统将数据存储在存储器装置处及从所述存储器装置检索数据。

发明内容

根据本申请案的一方面,提供一种系统。所述系统包括:一组存储器装置;及处理装置,其可操作地耦合到所述一组存储器装置,所述处理装置经配置以执行包括以下各者的操作:接收将写入到所述一组存储器装置的数据;选择所述一组存储器装置的特定存储器装置的一组块,所述一组块的特定块包括多个字线及多个页面类型;及通过根据页面程序序列用所述数据的至少一部分对所述特定块进行编程将所述数据的所述部分写入到所述特定块,所述页面程序序列包括:关于来自所述多个页面类型的第一组页面类型对所述多个字线中的一或多个字线进行编程;及在所述第一组页面类型的所有字线都已经编程之后,关于来自所述多个页面类型的第二组页面类型对所述多个字线中的一或多个字线进行编程。

根据本申请案的另一方面,提供一种方法。所述方法包括:从主机系统接收将写入到存储器子系统的数据;及将所述数据的至少一部分写入到所述存储器子系统的特定存储器装置的特定块,所述特定块包括多个字线及多个页面级,且所述写入包括根据页面程序序列用所述数据的所述部分对所述特定块进行编程,所述页面程序序列包括:关于来自所述多个页面级的第一组页面级对所述多个字线中的一或多个字线进行编程;及在所述第一组页面级的所有字线都已经编程之后,关于来自所述多个页面级的第二组页面级对所述多个字线中的一或多个字线进行编程。

根据本申请案的又另一方面,提供一种非暂时性计算机可读存储媒体,其包括在由处理装置执行时致使所述处理装置执行包括以下各者的操作的指令:接收将写入到存储器装置的数据;及通过根据页面程序序列用所述数据的至少一部分对所述特定块进行编程将所述数据的所述部分写入到所述存储器装置的特定块,所述特定块包括多个字线及多个页面类型,且所述页面程序序列包括:关于来自所述多个页面类型的第一组页面类型对所述多个字线中的一或多个字线进行编程;及在所述第一组页面类型的所有字线都已经编程之后,关于来自所述多个页面类型的第二组页面类型对所述多个字线中的一或多个字线进行编程。

附图说明

从下文给出的详细描述及从本发明的各种实施例的附图将更加完全地理解本发明。然而,图式不应理解为将本发明限于特定实施例,而仅是为了解释及理解。

图1说明根据本发明的一些实施例的包含存储器子系统的实例计算系统。

图2呈现说明根据本发明的一些实施例的用于对存储器装置的块的页面进行编程的实例页面程序序列的表。

图3及4是根据本发明的一些实施例的用于使用页面程序序列对存储器装置的块的页面进行编程的实例方法的流程图。

图5A及5B提供说明在一些实施例的上下文中计算环境的组件之间的交互的交互图,在所述实施例中执行使用本文中所描述的页面程序序列对存储器装置的块的页面进行编程的方法。

图6是本发明的实施例可操作于其中的实例计算机系统的框图。

具体实施方式

本发明的方面涉及用于对例如存储器子系统的存储器装置的存储器装置的一或多个页面进行编程的序列。存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的混合物。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含例如存储数据的存储器装置的一或多个组件的存储器子系统。主机系统可将存取请求发送到存储器子系统,例如以将数据存储在存储器子系统处及从存储器子系统读取数据。

主机系统可将存取请求(例如写入命令、读取命令)发送到存储器子系统,例如以将数据存储在存储器子系统处的存储器装置上及从存储器子系统上的存储器装置读取数据。如由主机请求指定的将读取或写入的数据在下文称为“主机数据”。主机请求可包含主机数据的逻辑地址信息(例如逻辑块地址(LBA)、命名空间),所述逻辑地址信息是主机系统使其与主机数据相关联的位置。逻辑地址信息(例如LBA、命名空间)可为主机数据的元数据的部分。元数据还可包含错误处置数据(例如ECC码字、奇偶校验码)、数据版本(例如,用于区别写入数据的年限)、有效位图(哪些LBA或逻辑传送单元含有有效数据)等。

存储器子系统可启动对存储在存储器装置上的主机数据的媒体管理操作,例如写入操作。举例来说,存储器子系统的固件可作为废料收集管理操作的部分将先前写入的主机数据从存储器装置上的一位置重写到新位置。例如由固件所启动的重写的数据在下文称为“废料收集数据”。

“用户数据”在下文统称为主机数据及废料收集数据。“系统数据”在下文称为由存储器子系统创建及/或维持以用于响应于主机请求执行操作及用于媒体管理的数据。系统数据的实例包含(且不限于)系统表(例如逻辑到物理地址映射表)、来自日志的数据、暂时存储器数据等。

存储器装置可为非易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。每一裸片可由一或多个平面组成。针对一些类型的非易失性存储器装置(例如NAND装置),每一平面由一组物理块组成。针对一些存储器装置,块是可擦除的最小区。每一块包括由一组页面组成。每一页面由存储数据位的一组存储器单元组成。存储器装置可为例如由外部控制器从外部管理的原始存储器装置(例如NAND)。存储器装置可为可管理存储器装置(例如可管理NAND),其是与相同存储器装置封装内的用于存储器管理的本地嵌入式控制器组合的原始存储器装置。

针对例如NAND型存储器装置的某些存储器装置,在给定存储器装置中存在一或多个块,在给定块中存在多个字线,在给定字线中存在多个页面。每一页面可存储一或多个数据位。另外,字线中的每一页面可表示不同页面类型,例如NAND型存储器装置(例如包括四电平单元(QLC)的NAND型存储器装置)的下页(LP)页面类型、上页(UP)页面类型、额外页(XP)页面类型、及顶页(TP)页面类型。如本文中使用,LP页面类型的页面可称为“LP页面”,UP页面类型的页面可称为“UP页面”,XP页面类型的页面可称为“TP页面”。每一页面类型可表示单元的不同电平(例如,QLC可具有LP的第一电平、UP的第二电平、XP的第三电平及TP的第四电平)。为了将数据写入到给定页面,根据页面编程算法对给定页面进行编程。

常规页面编程算法遵循特定页面程序序列以减小(或以其它方式去除)块中的字线耦合效应,其可由在给定字线上对特定类型的页面一起进行编程引起且其可影响块中的最终电荷分布。例如,一些常规编程算法的页面程序序列涉及将小范围的字线作为一群组一起进行编程,且一旦所述群组中的页面被编程,就选择下一群组的字线并对其进行编程。这可以选择下一群组的字线并对其进行编程而继续直到块的最后字线为止。这样做,可减小或去除块中的字线耦合效应。

针对某些数据存储应用,使用常规页面编程算法(具有常规页面程序序列)可能使存储器装置(例如NAND型存储器装置)的写入速度对于数据写入操作来说过慢(例如,存储器子系统的存储器装置无法跟上存储器子系统控制器请求的数个写入操作)。因而,一些常规存储器装置利用例如使用存储器装置的一或多个单电平单元(SLC)页面实施的高速缓存页面,主机数据首先被写入到所述高速缓存页面以便提高存储器装置的写入速度。SLC页面不涉及使用页面编程算法且通常具有比多电平单元(MLC)页面更快的写入速度。在使用高速缓存页面情况下,写入到存储器装置的高速缓存页面(例如SLC页面)的数据最终将被复制或移动到存储器装置的非高速缓存页面,例如使用存储器装置的一或多个MLC页面实施的非高速缓存页面(例如存储器装置的三电平单元(TLC)页面或四电平单元(QLC)页面)。通过以此方式使用高速缓存页面(例如SLC页面),使用常规页面程序算法(以写入到存储器装置的非高速缓存页面)的存储器装置可相对于直接写入到存储器装置的非高速缓存页面提高其写入速度。不幸的是,将数据从高速缓存页面复制/移动到存储器装置的非高速缓存页面的过程可涉及确定(例如跟踪)有效高速缓存页面、从高速缓存页面(例如SLC块中的SLC页面)读取数据、擦除非高速缓存页面(例如MLC页面)、及将数据从高速缓存页面写入到非高速缓存页面。因此,复制/移动过程可被认为是可用块的低效使用,从而降低存储器子系统性能及增加主机数据在存储器装置内的额外不必要写入。存储器装置内的额外不必要写入可增加存储器装置(例如NAND型存储器装置)写入放大且可减少主机在块寿命终止之前可写入到存储器装置的数据的量(例如,用于复制数据的额外读取、额外写入(例如100到200MB)、及存储器装置(例如NAND型存储器装置)的寿命可更快期满)。

本发明的方面通过使用不同于常规程序序列的页面程序序列对存储器装置的块的页面进行编程解决了上述及其它缺点。根据一些实施例,关于存储器装置的特定块,页面程序序列包括在关于下一组页面类型(例如UP及XP页面)对字线进行编程(编程有数据)之前关于一组给定页面类型(例如LP页面)对所有字线进行编程(编程有数据)。此页面程序序列可以此方式继续(随着更多数据被写入到特定块)直到以此方式对所有组的页面类型进行编程为止。此页面程序序列可与包括使用一或多个替换栅极(RG)实施的NAND型存储器装置的存储器装置一起使用。基于RG的NAND型存储器装置通常经历比基于浮动栅极(FG)的NAND型存储器装置更少的字线耦合问题。

例如,在存储器装置包括具有QLC存储器单元(即,具有QLC页面)的NAND型存储器装置的情况下,一些实施例的页面程序序列包括:首先对给定块的字线的一或多个LP页面进行编程;一旦给定块的所有字线的LP页面被编程,接下来对给定块的字线的UP及XP页面进行编程;及一旦给定块的所有字线的XP及UP页面被编程,接下来对给定块的字线的TP页面进行编程。在另一例子中,在存储器装置包括具有TLC存储器单元(即,具有TLC页面)的NAND型存储器装置的情况下,一些实施例的页面程序序列包括:首先对给定块的字线的一或多个LP页面进行编程;一旦给定块的所有字线的LP页面被编程,接下来对给定块的字线的UP页面进行编程;及一旦给定块的所有字线的UP页面被编程,接下来对给定块的字线的TP页面进行编程。针对一些实施例,关于一组给定页面类型对字线进行编程使得页面的下一字线不被编程(关于一组给定页面类型)直到针对当前字线对所述一组给定页面类型的所有页面进行编程为止。例如,关于具有QLC存储器单元的NAND型存储器装置,下一字线的XP及UP页面不会经编程有数据直到当前字线的XP及UP页面两者都被编程有数据为止。

关于具有MLC存储器单元(例如TLC或QLC存储器单元)的NAND型存储器装置,一些实施例可使用本文中描述的页面程序序列减少NAND型存储器装置的程序时间(例如tPROG),使得给定块的LP页面可代替SLC页面用于写入操作(例如,LP页面可代替使用SLC存储器单元实施的单独高速缓存使用)。在不使用单独高速缓存(例如基于SLC的高速缓存)的情况下,在给定块中的LP页面已满之后,各种实施例可将额外数据编程到UP及XP页面,且最终将额外数据编程到TP页面,而不必从LP页面移动数据或擦除MLC块。另外,针对一些实施例,块的LP页面可用作初级写入高速缓存,且块的XP及UP页面可用作次级写入高速缓存。

通过提高存储器装置的写入速度,各种实施例可消除对将单独高速缓存(例如基于SLC的高速缓存)用于关于存储器装置的写入操作的需要。通过避免使用单独高速缓存,一些实施例的存储器装置可避免必须重写已经写入到存储器装置(例如,写入到块的LP页面)的数据(例如主机数据),且可减少额外擦除(借此增加可写入到存储器装置的数据的量)。例如,通过明确地避免使用基于SLC的高速缓存,各种实施例可消除关于SLC页面及MLC页面执行废料收集的需要。此外,本文中描述的一些实施例可通过仅需要跟踪源页面有效性来简化用于管理存储器装置的处理装置指令(例如固件),这是因为处理装置指令不再需要实现高速缓存(例如基于SLC的高速缓存)的页面的有效性跟踪。确切来说,一些实施例的处理装置指令将仅需要实现跟踪源页面的有效性。

本文中揭示用于如本文中描述那样对存储器子系统(例如NAND型存储器装置)的一或多个页面进行编程的系统的一些实例。

图1说明根据本发明的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类事物的组合。

存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合物。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、安全数字(SD)卡、嵌入式多媒体控制器(eMMC)驱动、通用快闪存储(UFS)驱动及硬盘驱动器(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)、小计算机系统接口(SCSI)、双倍数据率(DDR)存储器总线、双列直插式存储器模块(DIMM)接口(例如,支持双倍数据速率(DDR)的DIMM套接字接口))、开放NAND快闪接口(ONFI)、双倍数据速率(DDR)、低功耗双倍数据速率(LPDDR)或任何其它接口。物理主机接口可用于在主机系统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(2D NAND)及三维NAND(3DNAND)。

存储器装置130中的每一者可包含一或多个存储器单元阵列。例如单电平单元(SLC)的一种类型的存储器单元每单元可存储一个位。例如多电平单元(MLC)、三电平单元(TLC)及四电平单元(QLC)及五电平单元(PLC)的其它类型的存储器单元每单元可存储多个位。在一些实施例中,存储器装置130中的每一者可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分及MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可经分组为页面,其可指代用于存储数据的存储器装置的单位。在具有一些类型的存储器(例如NAND)的情况下,页面可经分组以形成块。

尽管描述了例如NAND类型快闪存储器(例如2D NAND、3D NAND)的非易失性存储器组件及非易失性存储器单元的3D交叉点阵列,但存储器装置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及/或存储器装置140的所期望存取。存储器子系统控制器115可负责其它操作,例如磨损均衡操作、废料收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作及与存储器装置130相关联的逻辑块地址(例如逻辑块地址(LBA)、命名空间)与物理地址(例如物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含用以经由物理主机接口与主机系统120通信的主机接口电路系统。所述主机接口电路系统可将从主机系统120接收的命令转换成命令指令以存取存储器装置130及/或存储器装置140,并且将与存储器装置130及/或存储器装置140相关联的响应转换成用于主机系统120的信息。

存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如DRAM)及地址电路系统(例如行解码器及列解码器),其可从存储器子系统控制器115接收地址且解码所述地址以存取存储器装置130。

在一些实施例中,存储器装置130包含本地媒体控制器135,其连同存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如存储器子系统控制器115)可从外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是可管理存储器装置,其是与同一存储器装置封装内的用于媒体管理的本地控制器(例如本地控制器135)组合的原始存储器装置。可管理存储器装置的实例是可管理NAND(MNAND)装置。

存储器子系统控制器115包含具有替代性页面程序序列113的存储器装置页面编程器(此后为存储器装置页面编程器113),其实现或促进根据一些实施例的页面程序序列对存储器装置(例如130、140)的块的一或多个页面进行编程。针对一些实施例,存储器装置页面编程器113使存储器子系统控制器115能够接收将写入到存储器装置(例如130、140)中的至少一者的数据(例如,从主机系统120)、及选择数据将被写入到其的存储器装置中的至少一者的一组块。针对所述一组块的包括多个字线及多个页面类型(例如LP、UP、XP及TP页面类型)的特定块,存储器装置页面编程器113使存储器子系统控制器115能够将数据的至少一部分写入到特定块。针对一些实施例,存储器装置页面编程器113通过根据本文中描述的页面程序序列对特定块进行编程(编程有数据的部分)使存储器子系统控制器115能够将数据部分写入到特定块。例如,页面程序序列可包括:在关于第二组页面类型(例如UP及XP页面)对字线进行编程之前关于第一组页面类型(例如LP页面)对所有字线进行编程(编程有数据);及在关于第三组页面类型(例如TP页面)对字线进行编程之前关于第二组页面类型(例如LP页面)对所有字线进行编程(编程有数据)。此页面程序序列可以此方式继续(随着更多数据被写入到特定块)直到以此方式对所有组的页面类型进行编程为止。关于包括具有TLC存储器单元的NAND型存储器装置的存储器装置(例如130、140),第一组页面类型可包括LP页面类型,第二组页面类型可包括UP页面类型,且第三组页面类型可包括TP页面类型。关于包括具有QLC存储器单元的NAND型存储器装置的存储器装置(例如130、140),第一组页面类型可包括LP页面类型,第二组页面类型可包括UP及XP页面类型,且第三组页面类型可包括TP页面类型。

如本文中提及,可关于包括使用一或多个替换栅极(RG)实施的NAND型存储器装置的存储器装置(例如130、140)执行由存储器装置页面编程器113实现的操作。

针对一些实施例,存储器装置页面编程器113使存储器子系统控制器115能够在无需使用存储器装置的高速缓存(例如基于SLC的高速缓存)的情况下将数据写入到存储器装置(例如130、140)。针对一些实施例,存储器装置页面编程器113通过页面程序序列使存储器子系统控制器115能够使用第一组页面类型(例如存储器装置130或140的块的LP页面)作为用于关于存储器装置执行写入操作的高速缓存。另外,针对一些实施例,存储器装置页面编程器113通过页面程序序列使存储器子系统控制器115能够使用第一组页面类型(例如存储器装置130或140的块的LP页面)作为用于至少写入操作的第一级(例如初级)高速缓存,且能够使用第二组页面类型(例如存储器装置130或140的块的UP及XP页面)作为用于关于存储器装置执行写入操作的第二级(例如第二)高速缓存。

尽管将存储器装置页面编程器113说明为存储器子系统控制器115的部分,但针对一些实施例,存储器装置页面编程器113可(至少部分)由驻存在存储器装置(例如130、140)上的控制器实施,例如由存储器装置130的本地媒体控制器135。

图2呈现说明根据本发明的一些实施例的用于对存储器装置的块的页面进行编程的实例页面程序序列的表200、210。特定来说,表200说明可与具有QLC存储器单元的NAND型存储器装置一起使用的实例页面程序序列。因此,表200表示存储器装置的块X,其中所述块包括范围从WL0到WLn的字线,其中字线200中的每一者包括LP页面、UP页面、XP页面及TP页面。相比之下,表210说明可与具有TLC存储器单元的NAND型存储器装置一起使用的实例页面程序序列。因此,表210表示存储器装置的另一块X,其中所述块包括范围从WL0到WLn的字线,其中字线220中的每一者包括LP页面、UP页面、及TP页面。如本文中描述,所说明的实例页面程序序列可为通过存储器子系统控制器(例如115)或本地媒体控制器(例如135)实施的页面程序序列。

针对由表200说明的实例页面程序序列,第一组页面类型(204)可包括LP页面,第二组页面类型(206)可包括UP及XP页面类型,且第三组页面类型(208)可包括TP页面。根据一些实施例,实例页面程序序列可包括:关于LP页面(第一组页面类型204的页面)对块X的一或多个字线202进行编程;一旦所有字线202的LP页面经编程有数据(例如主机数据),就关于UP及XP页面(第二组页面类型206的页面)对块X的一或多个字线202进行编程;且一旦所有字线202的UP及XP页面都经编程有数据(例如主机数据),就关于TP页面(第三组页面类型208的页面)对块X的一或多个字线202进行编程。如由表200说明,关于对字线202中的每一者的LP页面(第一组页面类型204的页面)进行编程,可按从字线WL0的LP页面开始且以字线WLn的LP页面结束的顺序对每一字线的LP页面进行编程。这关于对TP页面(第三组页面类型208的页面)进行编程类似地进行说明。同样由表200说明,关于对字线202中的每一者的UP及XP页面(第二页页面类型206的页面)进行编程,在对下一字线(例如WL4)的UP及XP页面(例如页面6及7)进行编程前对给定字线(例如WL3)的UP及XP页面(例如页面2及3)进行编程。

针对由表210说明的实例页面程序序列,第一组页面类型(222)可包括LP页面类型,第二组页面类型(224)可包括UP页面类型,且第三组页面类型(226)可包括TP页面类型。根据一些实施例,实例页面程序序列可包括:关于LP页面(第一组页面类型222的页面)对块X的一或多个字线210进行编程;一旦所有字线220的LP页面经编程有数据(例如主机数据),就关于UP页面(第二组页面类型224的页面)对块X的一或多个字线220进行编程;且一旦所有字线220的UP页面都经编程有数据(例如主机数据),就关于TP页面(第三组页面类型226的页面)对块X的一或多个字线220进行编程。如由表210说明,关于对字线220的每一者的LP页面(第一组页面类型222的页面)进行编程,可按从字线WL0的LP页面开始且以字线WLn的LP页面结束的顺序对每一字线的LP页面进行编程。这关于对UP页面(第二组页面类型224的页面)及TP页面(第三组页面类型226的页面)进行编程类似地进行说明。

图3及4是根据本发明的一些实施例的用于使用页面程序序列对存储器装置的块的页面进行编程的实例方法的流程图。方法300、400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法300、400中的至少一者由图1的存储器子系统控制器115基于存储器装置页面编程器113执行。另外或替代地,针对一些实施例,方法300、400中的至少一者至少部分由图1的存储器装置130的本地媒体控制器135执行。尽管以特定顺序或次序展示,但除非另外指定,否则过程的次序是可修改的。因此,说明的实施例应被理解为仅作为实例,且说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中,可省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流是可能的。

现在参考图3的方法300,在操作305,处理装置(例如存储器子系统控制器115的处理器117)接收将写入到存储器装置(例如130)的数据。针对一些实施例,接收到的数据是来自正请求存储器子系统(例如110)将主机数据写入到存储器装置(例如130)以进行存储的主机系统(例如120)的主机数据。

在操作310,处理装置(例如117)通过根据本文中描述的实施例的一些的页面程序序列用数据的至少一部分对特定块进行编程将数据的所述部分写入(或致使其写入)到存储器装置(例如130)的特定块。所述特定块可包括多个字线及多个页面类型(或多个页面级)。例如,针对具有QLC存储器单元的NAND型存储器装置,多个页面类型可包括LP、UP、XP、及TP页面类型。针对具有TLC存储器单元的NAND型存储器装置,多个页面类型可包括LP、UP、及TP页面类型。如本文中描述,多个字线中的每一字线可包括各自表示多个页面类型中的不同页面类型(或多个页面级中的不同页面级)的多个页面。

在图3中,页面程序序列包括:在操作320,关于来自多个页面类型的第一组页面类型(或来自多个页面级的第一组页面级)对多个字线中的一或多个字线进行编程;且在第一组页面类型的所有字线都经编程之后,在操作325,关于来自多个页面类型的第二组页面类型(来自多个页面级的第二组页面级)对多个字线中的一或多个字线进行编程。同样如所展示,页面程序序列进一步包括:在第二组页面类型的所有字线都经编程之后,在操作330,关于来自多个页面类型的第三组页面类型(来自多个页面级的第三组页面级)对多个字线中的一或多个字线进行编程。页面程序序列可以此方式继续(随着额外数据被写入到特定块)直到特定块内的所有组的页面类型的所有字线都以此方式被写入为止。

取决于实施例,所述第一组页面类型可包括下页(LP)类型。第二组页面类型可包括上页(UP)类型或上页(UP)类型及额外页(XP)类型。所述第三组页面类型可包括顶页(TP)类型。替代地,第一组页面级可包括第一页面级。第二组页面级可包括第二页面级,或第二页面级及第三页面级。第三组页面级可包括第四页面级。

现在参考图4的方法400,操作405可类似于上文关于图3的方法300描述的操作305。在操作410,处理装置(例如117)选择数据的至少一部分将写入到其的存储器装置(例如130)的一组块。

在操作415,处理装置(例如117)通过根据本文中描述的实施例中的一些的页面程序序列将特定块编程有数据的部分将数据的至少一部分写入(或致使其写入)到(由操作410选择的一组块的)特定块。针对一些实施例,(操作415的)操作420、425、430分别类似于上文关于图3的方法300描述的(操作310)的操作320、325及330。

图5A及5B提供说明在一些实施例的上下文中计算环境100的组件之间的交互的交互图,在所述实施例中执行用于使用本文中所描述的页面程序序列对存储器装置的块的页面进行编程的方法。所述方法的操作可由处理逻辑执行,所述处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,所述方法由主机系统(例如120)、存储器子系统控制器(例如115)、存储器装置(例如130、140)或其一些组合执行。尽管以特定顺序或次序展示了所述操作,但除非另外指定,否则可修改过程的次序。因此,说明的实施例应被理解为仅作为实例,且说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中,可省略一或多个过程。因此,并非在每个实施例中都需要所有过程。在图5A及5B中说明的实例的上下文中,主机系统可包含主机系统120,存储器子系统控制器可包含存储器子系统控制器115,且存储器装置可包含存储器装置130或140。

如图5A中展示,在操作502,主机系统120将用以将数据(例如主机数据)写入到存储器子系统110的存储器地址的存储器子系统命令发送到存储器子系统110。在操作510,存储器子系统控制器115接收所述存储器子系统命令,且在操作512,存储器子系统控制器115(基于与所述存储器子系统命令一起提供的存储器地址)选择数据(例如主机数据)将被写入到其的一组存储器装置。在操作514,存储器子系统控制器115将数据(例如主机数据)的至少一部分写入到所选择的一组存储器装置(例如130、140)的存储器装置(例如130)。

在操作530,基于操作514,存储器子系统控制器115可致使存储器装置(例如130)关于第一组页面类型(例如LP页面)对特定块的一或多个字线进行编程。在操作532,在特定块的所有字线都关于第一组页面类型(例如LP页面)经编程之后,存储器子系统控制器115可致使存储器装置(例如130)关于第二组页面类型(例如UP及XP页面)对特定块的一或多个字线进行编程。现在参考图5B,在操作534,存储器子系统控制器115可致使存储器装置(例如130)关于第三组页面类型(例如TP页面)对特定块的一或多个字线进行编程。

图6说明呈计算机系统600的形式的实例机器,在计算机系统600内可执行用于致使机器执行本文论述的方法论中的任一者或多者的一组指令。在一些实施例中,计算机系统600可对应于主机系统(例如图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如图1的存储器子系统110)或可用于执行本文中描述的操作。在替代实施例中,机器可连接(例如联网)到局域网(LAN)、内部网、外部网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器操作,或在云端计算基础设施或环境中作为服务器或客户端机器操作。

机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够(循序或以其它方式)执行指定由所述机器所采取的动作的一组指令的任何机器。此外,虽然说明了单个机器,但术语“机器”还应被视为包含个别或联合执行一(或多组)指令以执行本文中论述的方法论中的任一者或多者的机器的任何集合。

实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM))、静态存储器606(例如,快闪存储器、静态随机存取存储器(SRAM))等)及数据存储装置618,其经由总线630彼此通信。

处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元或类似物。更特定来说,处理装置602可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实施其它指令集的一处理器或实施指令集的组合的多个处理器。处理装置602也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似物。处理装置602经配置以执行用于执行本文中论述的操作及步骤的指令626。计算机系统600可进一步包含网络接口装置608以经由网络620通信。

数据存储装置618可包含其上存储有一或多组指令626或体现本文中描述的方法论或功能中的任一或多者的软件的机器可读存储媒体624(也称为计算机可读媒体)。指令626在由计算机系统600执行期间也可完全或至少部分驻存于主存储器604内及/或处理装置602内,主存储器604及处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储装置618及/或主存储器604可对应于图1的存储器子系统110。

在一个实施例中,指令626包含用以实施对应于使用本文中所描述的页面程序序列(例如图1的存储器装置页面编程器113)对存储器装置的块的页面进行编程的功能性的指令。虽然在实例实施例中将机器可读存储媒体624展示为单个媒体,但术语“机器可读存储媒体”应理解为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”也应理解为包含能够存储或编码由机器执行且致使机器执行本发明的方法论中的任一或多者的一组指令的任何媒体。术语“机器可读存储媒体”应相应地理解为包含(但不限于)固态存储器、光学媒体及磁性媒体。

已依据对计算机存储器内的数据位的操作的算法及符号表示呈现前述详细描述的一些部分。这些算法描述及表示是由数据处理领域的技术人员用以向所属领域的其它技术人员最有效地表达其工作实质的方式。算法在本文且通常被设想为导致所期望结果的自相一致的操作序列。操作是需要物理量的物理操纵的操作。通过,尽管不一定,但这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。已被证明是方便的是,有时出于习惯用法的原因,原则上将这些信号称为位、值、元素、符号、字符、项、数字或类似物。

然而,应记住,所有这些及类似术语都应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本发明可涉及计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置操纵表示为计算机系统的寄存器及存储器内的物理(电子)量的数据并将所述数据转换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。

本发明还涉及用于执行本文中的操作的设备。此设备可出于预期目的特殊地被构造,或其可包含由存储于计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可经存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡或适于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。

本文中呈现的算法及显示器并不固有地涉及任何特定计算机或其它设备。各种通用系统可结合根据本文中的教示的程序使用,或可证明构造更专门的设备来执行方法是方便的。用于各种这些系统的结构将如下文描述中陈述那样出现。另外,本发明并非是参考任何特定编程语言进行描述。应了解,多种编程语言可用于实施本文所描述的本发明的教示。

本发明可经提供作为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本发明的过程。机器可读媒体包含用于存储呈可由机器(例如计算机)读取的形式的信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。

在前述说明书中,已参考本发明的特定实例实施例描述了其实施例。将明显的是,在不背离所附权利要求书中所陈述的本发明的实施例的更宽精神及范围的情况下,可对特定实例实施例做出各种修改。因此,说明书及图式应以说明性意义而非限制性意义来看待。

相关技术
  • 存储器装置页面程序序列
  • 程序存储器控制器中页面窗口的本地页面转换和许可存储
技术分类

06120113299394