CN115202571A - 用于存储器管理的方法、设备及系统 - Google Patents

用于存储器管理的方法、设备及系统 Download PDF

Info

Publication number
CN115202571A
CN115202571A CN202210378481.4A CN202210378481A CN115202571A CN 115202571 A CN115202571 A CN 115202571A CN 202210378481 A CN202210378481 A CN 202210378481A CN 115202571 A CN115202571 A CN 115202571A
Authority
CN
China
Prior art keywords
memory
ready
interval
memory device
memory cells
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
Application number
CN202210378481.4A
Other languages
English (en)
Inventor
Y·温博格
E·N·李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN115202571A publication Critical patent/CN115202571A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • G11C16/3409Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

本公开涉及几乎就绪的存储器管理。方法包含:经由以第一间隔的状态轮询确定存储器装置的存储器单元集合的几乎就绪状态的指示符;基于所述几乎就绪状态的所述指示符,确定所述存储器装置的所述存储器单元集合几乎准备好完成对所述存储器装置的所述存储器单元集合执行操作;及响应于确定所述存储器装置的所述存储器单元集合几乎准备好完成所述操作的执行,以第二间隔执行状态轮询。

Description

用于存储器管理的方法、设备及系统
技术领域
本公开的实施例大体上涉及存储器子系统,且更确切地说,涉及几乎就绪的存储器管理。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
发明内容
本公开的方面提供一种用于几乎就绪的存储器管理的方法,其中所述方法包括;经由以第一间隔的状态轮询确定存储器装置的存储器单元集合的几乎就绪状态的指示符;基于所述几乎就绪状态的所述指示符,确定所述存储器装置的所述存储器单元集合几乎准备好完成对所述存储器装置的所述存储器单元集合执行操作;及响应于确定所述存储器装置的所述存储器单元集合几乎准备好完成所述操作的执行,以第二间隔执行状态轮询。
本公开的另一方面提供一种用于几乎就绪的存储器管理的设备,其中所述设备包括:几乎就绪的存储器管理组件,其经配置以:确定对存储器装置的存储器单元集合的操作的当前完成水平;确定所述当前完成水平满足几乎就绪阈值;响应于所述确定所述当前完成水平满足所述几乎就绪阈值,将值存储在与所述存储器单元集合相关联的寄存器中,以指示所述存储器单元集合几乎准备好完成所述操作;经由以第一间隔的状态轮询确定存储在所述寄存器中的所述值;及响应于所述确定存储在所述寄存器中的所述值指示所述存储器单元集合几乎就绪,以短于所述第一间隔的第二间隔执行所述寄存器的状态轮询。
本公开的另一方面提供一种用于几乎就绪的存储器管理的系统,其中所述系统包括:非易失性存储器装置,其包含经布置以形成NAND存储器单元的多个块的可堆叠交叉网格化阵列的多个存储器组件;及处理装置,其耦合到所述多个存储器组件,所述处理装置用于执行包括以下各项的操作:以第一间隔执行与NAND存储器单元的所述多个块相关联的多个寄存器的状态轮询,以确定所述寄存器的相应值;基于存储在与NAND 存储器单元块相关联的所述多个寄存器中的寄存器中的值,确定所述NAND存储器单元块几乎准备好完成对所述NAND存储器单元块执行操作;及响应于确定所述NAND存储器单元块几乎准备好完成所述操作的执行,以第二间隔执行与所述NAND存储器单元块相关联的所述寄存器的状态轮询。
附图说明
根据下文提供的具体实施方式及本公开的各种实施例的附图将更加充分地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2是根据本公开的一些实施例的包含寄存器的实例控制器。
图3是根据本公开的一些实施例的对应于几乎就绪的存储器管理的流程图。
图4是根据本公开的一些实施例的与用于几乎就绪的存储器管理的方法相对应的流程图。
图5是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的方面涉及几乎就绪的存储器管理,具体来说,涉及包含几乎就绪的存储器管理组件的存储器子系统。存储器子系统可为存储系统、存储装置、存储器模块或这些的组合。存储器子系统的实例是例如固态驱动器(SSD)的存储系统。下文结合图1以及其它地方描述存储装置及存储器模块的实例。一般来说,主机系统可利用存储器子系统,所述存储器子系统包含一或多个组件,例如存储数据的存储器装置。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
存储器装置可为非易失性存储器装置。非易失性存储器装置的一个实例是与非(NAND)存储器装置(也称为快闪技术)。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可由一或多个平面组成。平面可分组成逻辑单元(LUN)。对于一些类型的非易失性存储器装置(例如,NAND装置),每个平面由物理块集合组成。每一块由页集合组成。每个页由一组存储器单元(“单元”) 组成。单元是存储信息的电子电路。在下文中,块是指用于存储数据的存储器装置的单元,且可包含存储器单元群组、字线群组、字线或单独存储器单元。与可擦除的区域相比,对于一些存储器装置,块(在下文中也称为“存储器块”)是最小区域。不可单独地擦除页,且仅可擦除整个块。
存储器装置中的每一个可包含一或多个存储器单元阵列。取决于单元类型,可写入到单元以存储二进制信息的一或多个位,且具有与正存储的位数相关的各种逻辑状态。逻辑状态可由二进制值(例如,“0”及“1”)或此类值的组合表示。存在各种类型的单元,例如单层级单元(SLC)、多层级单元(MLC)、三层级单元(TLC)及四层级单元(QLC)。举例来说,SLC可存储一个信息位且具有两种逻辑状态。
一些NAND存储器装置采用浮置栅极架构,其中基于位线与字线之间的相对电压变化来控制存储器存取。NAND存储器装置的其它实例可采用替换栅极架构,所述替换栅极架构可包含使用字线布局,所述字线布局可允许基于用于构建字线的材料的属性而在存储器单元内捕获对应于数据值的电荷。
可对存储器块执行媒体管理操作。媒体管理操作的非限制性实例可包含错误校正操作、耗损均衡操作、读取干扰缓解操作,及/或垃圾收集操作。媒体管理操作可在“前台”(例如,在主机利用与存储器子系统相关联的接口期间)及/或在“后台”(例如,当主机未利用与存储器子系统相关联的接口时)执行。在本文中,媒体管理操作可在替代方案中称为“存储器管理操作”。
媒体管理操作或其它类型的操作可响应于命令而发生。举例来说,控制器可发出命令以在存储器装置上执行操作(例如,读取操作、写入操作、擦除操作等)。然而,在控制器可向存储器装置发出命令之前,控制器必须等待存储器装置指示它已准备好接收命令。举例来说,存储器装置的就绪状态可指示存储器装置准备好接收命令。相反地,存储器装置的未就绪状态可指示存储器装置未准备好接收命令。举例来说,当操作正在存储器装置上执行时,存储器装置可具有(例如,响应于状态轮询断言)未就绪状态。
可通过执行存储器装置的状态轮询确定存储器装置的状态。举例来说,可通过将读取状态命令发送到存储器装置执行状态轮询。读取状态命令可引发来自存储器装置的响应,例如包含存储在与存储器装置相关联的寄存器中的状态信息的响应。举例来说,寄存器可返回二进制值,例如指示存储器装置未准备好(即,忙碌)的“0”或可返回指示存储器装置准备好的“1”,以及其它可能的值。举例来说,寄存器可在存储器装置上的实际编程操作期间返回“0”,从而指示存储器装置忙碌。
一些方法可以规则的间隔(即,相同的间隔)执行状态轮询。然而,在出现存储器装置的就绪状态与由于以规则间隔轮询而确定就绪状态之间可能存在一定量的延迟。此延迟可至少部分地由于在延迟期间存储器装置保持空闲(例如,未接收命令)而降低存储器系统性能。
因此,一些其它方法尝试不断地执行状态轮询。然而,不断地执行状态可固有地增加开销(例如,总线业务及/或计算要求),从而也会降低存储器系统性能。此外,不断地执行状态轮询可增加功耗量,从而通过限制可用于存储器系统及/或包含存储器系统的装置的其它操作/方面的功率量来增加与存储器系统的操作相关联的成本量及/或降低存储器系统性能。
一些其它方法尝试估计操作完成时间,然后努力仅在估计的操作完成时间处及/或之后执行状态轮询。然而,此类方法可不准确地估计操作完成时间。举例来说,此类方法可能无法考虑操作中的时序变化,例如可归因于不同类型的存储器装置、不同的存储器装置架构及/或不同类型的操作的时序变化。因此,此类方法还可在出现存储器装置的就绪状态与通过在/基于不准确估计的操作完成时间执行的状态轮询来确定就绪状态之间施加延迟。
由此类方法施加的时延可能是不合需要的,尤其是在关键应用中及/或在预期极高存储器子系统性能的要求非常高的应用中。此外,在此类方法中可能展现的这种降级的性能可能会在移动(例如,智能手机、物联网等)存储器部署中进一步加剧,在所述部署中,相比于传统计算架构,可用于容纳存储器子系统的空间量是有限的。
本公开的方面通过采用几乎就绪状态来解决先前方法的上述及其它缺陷。如本文所用,“几乎就绪状态”通常指代以下状况:涉及存储器装置的存储器单元的操作正在进行(例如,执行)并且尚未完成,但操作的当前完成水平满足几乎就绪的阈值,如本文详述。以此方式,状态轮询间隔可基于几乎就绪状态(存储器装置是否具有几乎就绪状态) 来改变,以实现总线开销/功耗与存储器装置(例如,NAND存储器装置)的未充分利用之间的改进平衡。举例来说,与以规则间隔/不断地执行状态轮询的方法及/或估计操作完成时间的方法相比,几乎就绪的存储器管理可通过响应于存储器装置的几乎就绪状态而减少状态轮询间隔来改进(例如,减少)发生存储器装置变为就绪(具有就绪状态)与确定就绪状态之间的任何延迟。然而,与以规则间隔/不断地执行状态轮询的方法及/或估计操作完成时间的方法相比,几乎就绪的存储器管理还可通过响应于存储器装置不具有几乎就绪状态而以第一间隔执行状态轮询来改进(例如,减少)总线业务/计算开销量及/或减少与状态轮询相关联的功耗。因此,与不采用几乎就绪的存储器管理的方法相比,可改进存储器子系统性能。本文中的实施例可应用于移动存储器部署中以进一步改进在移动计算架构中部署的存储器子系统的可靠性。
因此,本公开涉及几乎就绪的存储器管理。几乎就绪的存储器管理可经由以第一间隔(例如,每50μs)的状态轮询确定存储器装置的存储器单元集合的几乎就绪状态的指示符。基于所述指示符,几乎就绪的存储器管理可确定存储器装置的存储器单元集合几乎准备好完成操作的执行,并且响应于确定存储器装置的存储器单元集合几乎准备好完成操作的执行,以第二间隔(例如,每1μs一次)执行状态轮询。因此,几乎就绪状态轮询可通过在存储器单元集合几乎就绪时以更频繁的第二间隔执行状态轮询来减少存储器装置就绪与确定就绪状态之间的延迟,并且仍可通过在存储器装置未几乎就绪时以较不频繁的第一间隔执行状态轮询来避免不必要的增加开销。换句话说,与不采用几乎就绪的存储器管理的方法相比,几乎就绪的存储器管理可提供总线开销/功耗与存储器装置 (例如,NAND存储器装置)的未充分利用之间的改进平衡。
图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可包含处理器芯片组及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,SSD控制器)及存储协议控制器(例如,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(3D NAND)。
存储器装置130、140中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如,单层级单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)及五层级单元(PLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类存储器单元阵列的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,及MLC部分、TLC部分、QLC 部分或PLC部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。
尽管描述例如非易失性存储器单元及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及/或存储器装置140的期望存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名字空间)与物理地址(例如,物理块地址、物理媒体位置等)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统,以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换为命令指令,以存取存储器装置130及/或存储器装置140以及将与存储器装置130及/或存储器装置140相关联的响应转换为用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如DRAM)及地址电路系统(例如行解码器及列解码器),所述地址电路系统可接收来自存储器子系统控制器115的地址,且解码所述地址以存取存储器装置130及/或存储器装置140。
在一些实施例中,存储器装置130包含结合存储器子系统控制器115操作以在存储器装置130的一或多个存储器单元上执行操作的本地媒体控制器135。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其是与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器子系统110可包含几乎就绪的存储器管理组件113。尽管图1中未示出,但是为了不混淆附图,几乎就绪的存储器管理组件113可包含各种电路系统,以便于经由以第一间隔(例如,每50μs)的状态轮询确定存储器装置的存储器单元集合的几乎就绪状态的指示符;基于所述指示符,确定存储器装置的存储器单元集合几乎准备好完成操作的执行;及响应于确定存储器装置的存储器单元集合几乎准备好完成操作,以第二间隔 (例如,每1μs一次)执行状态轮询。在一些实施例中,几乎就绪的存储器管理组件113 可包含采用ASIC、FPGA、状态机及/或其它逻辑电路系统形式的专用电路系统,其可允许几乎就绪的存储器管理组件113协调及/或执行操作,以经由以第一间隔的状态轮询确定存储器装置(例如,存储器装置130及/或存储器装置140)的存储器单元集合的几乎就绪状态的指示符;基于所述指示符,确定存储器装置的存储器单元集合几乎准备好完成操作的执行;及响应于确定存储器装置的存储器单元集合几乎准备好完成操作,以第二间隔执行状态轮询。
在各种实施例中,第二间隔短于第一间隔。在一些实施例中,存储器子系统控制器115包含几乎就绪的存储器管理组件113的至少一部分。举例来说,存储器子系统控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中以用于执行本文中所描述的操作的指令。在一些实施例中,几乎就绪的存储器管理组件113是存储器子系统110、应用程序或操作系统的一部分。
在非限制性实例中,设备(例如,计算系统100)可包含存储器子系统几乎就绪的存储器管理组件113,为简洁起见,其在本文中可称为“几乎就绪的存储器管理组件”113 或“存储器管理组件”113。几乎就绪的存储器管理组件113可驻存在存储器子系统110 上。如本文中所使用,术语“驻存在……上”是指某物物理上位于特定组件上。举例来说,几乎就绪的存储器管理组件113“驻存在存储器子系统110上”是指包括几乎就绪的存储器管理组件113的硬件电路系统在物理上位于存储器子系统110上的状况。术语“驻存在......上”可在本文中与例如“部署在......上”或“位于......上”的其它术语互换使用。
几乎就绪的存储器管理组件113可经配置以确定存储器装置的存储器单元集合的几乎就绪状态的指示符。在一些实施例中,几乎就绪状态的指示符可为存储在存储器装置中的寄存器(例如,图2中描述的寄存器221)中的值。举例来说,几乎就绪的存储器管理组件113可经配置以经由寄存器以第一间隔的状态轮询确定存储器装置的存储器单元集合的几乎就绪状态的指示符(例如,状态寄存器中的值)。在一些实施例中,几乎就绪的存储器管理组件113可经配置以响应于起始操作,例如在存储器组件(例如,NAND 存储器组件)的存储器单元集合上执行的操作而以第一间隔执行状态轮询。
类似地,几乎就绪的存储器管理组件113可经配置以按第二间隔执行状态轮询,例如第二间隔短于第一间隔,如本文中详述。举例来说,几乎就绪的存储器管理组件113 可经配置以响应于确定存储器装置的存储器单元集合几乎准备好完成操作的执行而以第二间隔执行状态轮询。几乎就绪的存储器管理组件113可确定存储器装置的存储器单元集合几乎准备好在执行操作期间,或在一些情况下,在执行操作之前完成操作的执行,如本文中详述。在任何情况下,与不采用几乎就绪状态及/或基于几乎就绪状态的状态轮询的方法相比,使第二间隔短于第一间隔可提供总线开销/功耗与存储器装置(例如, NAND存储器装置)的未充分利用之间的改进平衡。
在一些实施例中,几乎就绪的存储器管理组件113可经配置以将值存储在存储器装置中的寄存器中,以指示存储器装置的单元是否几乎准备好完成操作的执行。几乎就绪的存储器管理组件113可经配置以基于操作的类型、存储器装置的存储器单元的类型,或两者将值存储在寄存器中,如本文中详述。以此方式,与不采用几乎就绪状态的方法相比,几乎就绪的存储器管理组件113可解释不同类型的操作及/或存储器单元的完成时间差,以改进存储器系统功能。
举例来说,短操作(例如,读取操作)可具有存储在寄存器中以指示几乎就绪状态的对应值。短操作的实例包含读取/写入操作、涉及SLC的操作,及/或不包含验证步骤的其它类型的操作。由于此类操作的长度相对较短,因此值可在执行操作之前存储在寄存器中,并且至少在操作的持续时间内维持在寄存器中以指示几乎就绪状态。在执行操作之前将对应值存储在寄存器中以指示几乎就绪状态并将所述值维持至少短操作的持续时间可导致在短操作的持续时间内基本上以或完全以第二间隔执行状态轮询,并且一旦完成短操作,就可因此减少与就绪状态的确定相关联的任何延迟。
相反地,长操作(例如,擦除操作)可至少最初地具有存储在寄存器中以指示未几乎就绪状态(例如,其上正/将执行长操作的存储器单元集合的未几乎就绪状态)的对应值。长操作的实例包含擦除操作、涉及MLC、TLC、QLC等的操作,及/或包含验证步骤的操作。在执行操作之前将对应值存储在寄存器中以指示未几乎就绪状态并将所述值维持长操作的持续时间的至少一部分可导致至少最初地以第一间隔执行状态轮询并且因此可提高效率(例如,减少总线业务/功耗),同时在确定几乎就绪状态时仍允许随后以第二间隔执行状态轮询,因此一旦完成长操作,也减少与就绪状态的确定相关联的任何延迟。
举例来说,几乎就绪的存储器管理组件113可经配置以在寄存器中设置一个值,以基于操作(例如,长操作)的当前完成水平来指示存储器装置的单元及/或存储器装置是否几乎就绪。在执行操作期间,几乎就绪的存储器管理组件113可确定操作(例如,长操作) 的当前完成水平。操作的当前完成水平可等于当前的循环数量及/或当前电压。循环的实例包含对其上执行操作的单元的编程/擦除及/或验证循环。几乎就绪的存储器管理组件 113可递增计数器或以其它方式跟踪一定量的当前循环。或者或另外,几乎就绪的存储器管理组件113可确定当前电压。举例来说,可通过发出多个读取命令以确定其上执行操作的单元的当前电压来执行验证步骤。
几乎就绪的存储器管理组件113可将当前完成水平(例如,一定量的当前循环)与几乎就绪阈值相比较。所述比较可允许确定当前完成水平是否满足几乎就绪阈值,且因此是否存储/改变几乎就绪状态的指示符。举例来说,当操作的当前完成水平(例如,6个循环)超过几乎就绪阈值(例如,5个循环)时,几乎就绪的存储器管理组件113随后可将指示其上执行操作的单元的几乎就绪状态的值存储在寄存器中。
几乎就绪的存储器管理组件113可经配置以例如基于操作的类型(例如,读取操作、擦除操作等)及/或其上执行/将执行操作的存储器单元的类型(例如,SLC、MLC等)来确定几乎就绪阈值。类似于如本文中详述的当前完成水平,几乎就绪阈值可为阈值数量的循环及/或阈值电压。举例来说,几乎就绪阈值可等于阈值数量的循环(例如,5个循环)。循环的阈值数量可小于预期完成操作的循环的总数量(例如,6个循环)。举例来说,在一些实施例中,几乎就绪阈值可等于与预期完成操作的循环总数量中的最后一个循环相对应的值,以及其它可能性。在一些实施例中,几乎就绪阈值可为几乎就绪阈值电压。几乎就绪阈值电压可小于完成阈值电压(例如,当完成操作时用于单元的目标编程电压)。
在一些实施例中,几乎就绪阈值可为预定值,所述预定值包含在例如查找表的表中,或另外由存储器子系统存储或存取。举例来说,几乎就绪的存储器管理组件113可经配置以将操作的几乎就绪阈值确定为等于所存储值(例如,存储在查找表中),所述所存储值对应于操作的类型及/或其上执行/将执行操作的存储器单元的类型。以此方式,与不采用几乎就绪状态的方法相比,几乎就绪阈值可解释不同类型的操作及/或一种类型的存储器单元的完成时间差,这可改进存储器系统功能。
如所提及,几乎就绪的存储器管理组件113可确定操作的当前完成水平是否满足几乎就绪阈值。在一些实施例中,几乎就绪的存储器管理组件113可确定当前完成水平不满足几乎就绪阈值。在此类情况下,几乎就绪的存储器管理组件113可以第一间隔执行 /继续执行存储器装置的状态轮询。此外,几乎就绪的存储器管理组件113可基于以第一间隔执行状态轮询而确定操作的更新的当前完成水平。可响应于以第一间隔执行的每个状态轮询而确定更新的当前完成水平。以此方式,可以顺序方式将更新的完成水平与几乎就绪阈值相比较,直到确定更新的完成水平满足几乎就绪阈值。响应于确定更新的完成水平满足几乎就绪阈值,几乎就绪的存储器管理组件113可以第二间隔执行存储器装置的状态轮询。
在一些实施例中,几乎就绪的存储器管理组件113可至少以第二间隔执行存储器装置的状态轮询,直到确定就绪状态。举例来说,几乎就绪的存储器管理组件113可至少以第二间隔执行存储器装置的状态轮询,直到确定就绪状态为响应于读取状态命令而确定或以其它方式确定。
在一些实施例中,几乎就绪的存储器管理组件113可至少维持指示几乎就绪状态的所存储值,直到确定就绪状态。举例来说,在一些实施例中,几乎就绪的存储器管理组件113可在确定就绪状态之后将所存储值维持至少一些时间段。
在一些实施例中,第一间隔可大于40微秒(μs)。举例来说,第一间隔可在40μs到200μs的范围内。包含所有个别值及从40μs到200μs的子范围。举例来说,第一间隔可在40μs到200μs、50μs到200μs、40μs到150μs、50μs到100μs,及/或50μs到 75μs的范围内。在一些实施例中,第一间隔可基本上等于50μs或可等于50μs。如本文中所使用,术语“基本上”意指特性不需要是绝对的,而是足够接近以便实现所述特性的优点。举例来说,“基本上等于50μs”不限于绝对地等于50的值。举例来说,本文中“基本上等于50μs”可在50μs的0.5%、1%、2%、5%、10%或20%等内。
在一些实施例中,第二间隔可小于40微秒(μs)。举例来说,第二间隔可在0.5μs到40μs的范围内。包含所有个别值及从0.5μs到40μs的子范围。举例来说,第二间隔可在0.5μs到小于40μs、1μs到小于40μs、1μs到20μs、1μs到10μs、1μs到5μs、1 μs到2μs,及/或0.5μs到1.5μs的范围内。在一些实施例中,第二间隔可基本上等于1 μs或可等于1μs。举例来说,“基本上等于1μs”可在1μs的0.5%、1%、2%、5%、10%或20%等内。
在一些实施例中,第一间隔可为第二间隔的至少两倍长,第一间隔可为第二间隔的至少五倍长,及/或第一间隔可为第二间隔的至少10倍长。举例来说,第一间隔可比第二间隔长五十倍,以及其它可能的相对值。与不采用几乎就绪状态的方法相比,使第一间隔为第二间隔的至少两倍长、第二间隔的至少五倍长,及/或第二间隔的至少10倍长可提供总线开销/功耗与存储器装置(例如,NAND存储器装置)的未充分利用之间的改进平衡。
图2是根据本公开的一些实施例的包含寄存器的实例控制器215。寄存器221(例如,状态寄存器)可根据本文所描述的多个实施例存储状态信息。在一些实施例中,存储器子系统控制器215可类似于图1中所说明的存储器子系统控制器115。举例来说,寄存器 221可包含在如图1中所描述的本地存储器119中,以及其它可能性。
作为实例,与寄存器221相关联的状态信息可包含与程序指令相关的状态信息,例如程序计数器状态信息、断裂点、非法指令等,以及各种其它例外。与寄存器221相关联的状态信息可包含与在微码指令中检测到的错误条件、无效电路状态等相关的状态信息。状态信息还可包括控制流信息及调试信息,以及其它状态信息。值得注意的是,在一些实施例中,与寄存器221相关联的状态信息可包含就绪/未就绪状态信息及几乎就绪 /未几乎就绪状态信息。可向主机(例如,如图1中描述的主机120)提供(例如,报告)所生成的状态信息。
寄存器221可存储状态信息(例如,状态消息),所述状态信息可包括多个位(例如,8个位、64、128等)。举例来说,如图2中所说明,寄存器221可存储总共8个位,包含第一位222-1、第二位222-2、第三位222-3、第四位222-4、第五位222-5、第六位222-6、第七位222-7,及第八位222-B。
每一位可具有可存储状态信息的多个字段223-1、223-2、223-3、223-4、223-5、223-6、 223-7、223-8、223-9、223-10、223-11、223-12、223-13、223-14、223-15、223-16、223-17、 223-18、223-19、223-20、223-21、223-22、223-23、223-24、223-25、223-26、223-27、 223-28、223-29、223-30、223-31、223-32、223-33、223-34、223-35、223-36、223-37、223-38、223-39到223-F。举例来说,第五位222-5可包含可存储与存储器装置的存储器单元集合的就绪/未就绪状态相关的状态信息的字段223-21、223-22、223-23到225-24。第五位222-5可存储二进制值,例如指示存储器装置未就绪的“0”或指示存储器装置就绪的“1”,以及其它可能值。值得注意的是,位的值可对应于几乎就绪状态信息。举例来说,在一些实施例中,第四位222-4可存储二进制值,例如指示存储器装置未几乎就绪的“0”,或可存储指示存储器装置几乎就绪的“1”,以及其它可能值。
虽然本文中描述为将就绪状态信息存储在第五位222-5处且将几乎就绪状态信息存储在第四位222-4处,但是此状态信息可存储在其它地方,例如寄存器221中的不同位或不同位集合中,以及其它可能性。此外,尽管图2说明具有相应数量的字段的总共8 位的个别寄存器221,但是应理解,可增加或减少寄存器、位及/或字段的总数。
图3是根据本公开的一些实施例的对应于几乎就绪的存储器管理的流程331的图。举例来说,如本文中详述,流程331可至少适用于长操作。在操作332处,可确定对存储器装置的存储器单元集合的操作的当前完成水平。可通过几乎就绪的存储器管理组件,例如图1中所说明的几乎就绪的存储器管理组件113确定操作的当前完成水平。
在操作333处,可确定当前完成水平以满足几乎就绪阈值,如本文所描述。在一些实施例中,可在起始对存储器装置的操作之前及和/或之后确定当前完成水平。举例来说,对于长操作,可至少在起始对存储器装置的操作之后(例如,在对存储器装置的存储器单元集合执行操作期间)确定当前完成水平。
在操作334处,值可存储在与存储器单元集合相关联的寄存器中,以指示存储器单元集合几乎准备好完成操作。举例来说,响应于确定当前完成水平满足几乎就绪阈值,值可存储在与存储器单元集合相关联的寄存器中,以指示存储器单元集合几乎准备好完成操作。
举例来说,在操作335处,可经由以第一间隔的状态轮询确定存储在寄存器中的值。在操作336处,可以短于第一间隔的第二间隔执行状态轮询。举例来说,响应于确定存储在寄存器中的值指示存储器单元集合几乎就绪,可以短于第一间隔的第二间隔执行状态轮询。在各种实施例中,可以第二间隔执行状态轮询,直到确定就绪状态,从而加快确定存储器装置的就绪状态。
在一些实施例中,存储器装置可包含在多个存储器装置中。在此类实施例中,可以第二间隔执行多个存储器装置中的存储器装置的第一子集(例如,其中满足几乎就绪状态阈值及/或指示符指示几乎就绪状态的那些存储器装置)的状态轮询,基本上同时地以比第二间隔较不频繁的第一间隔执行存储器装置的第二子集(例如,其中不满足几乎就绪状态阈值及/或指示符指示未几乎就绪状态的那些存储器装置)的状态轮询。与不采用几乎就绪状态的方法相比,以不同间隔(例如,以第一间隔或以第二间隔)基本上同时地对多个存储器装置执行状态轮询还可改进总线开销/功耗与存储器装置(例如,NAND存储器装置)的未充分利用之间的存储器系统上的总体平衡。类似地,在一些实施例中,存储器装置的存储器单元的第一子集(例如,存储器单元的SLC部分)以第二间隔的状态轮询与以第一间隔执行存储器装置的存储器单元的第二子集(例如,存储器单元的TLC部分)的状态轮询基本上同时进行。
图4是根据本公开的一些实施例的与用于几乎就绪的存储器管理的方法450相对应的流程图。方法450可由处理逻辑执行,所述处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法450由图1的几乎就绪的存储器管理组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在操作451处,可经由以第一间隔的状态轮询确定存储器装置的存储器单元集合的几乎就绪状态的指示符。在本文中,存储器装置可为例如图1中所说明的存储器装置130、140的存储器装置。在一些实施例中,方法450可包含确定存储器子系统中的NAND存储器单元集合(例如,NAND存储器单元的一或多个块)的几乎就绪状态的指示符。如上文所述,存储器组件可为存储器裸片或存储器封装,其彼此耦合以创建存储器单元阵列,例如由存储器子系统用于存储数据的三维可堆叠交叉网格化存储器单元阵列。
在操作453处,可确定存储器装置的存储器单元集合几乎准备好完成对存储器装置的存储器单元集合执行操作。举例来说,方法450可包含基于几乎就绪状态的指示符确定存储器装置的存储器单元集合几乎准备好完成对存储器装置的存储器单元集合执行操作。如所提及,在一些实施例中,几乎就绪状态的指示符可为存储在与存储器单元集合相关联的寄存器中的值。
在操作455处,可以第二间隔执行状态轮询(例如,NAND存储器单元的块的状态轮询)。举例来说,可响应于确定存储器装置的存储器单元集合几乎准备好完成操作的执行而以第二间隔执行状态轮询。在一些实施例中,方法450可包含以第二间隔对分组到给定的NAND存储器单元组中的相应数量的平面、页及/或存储器裸片执行状态轮询。
图5是其中可操作本公开的实施例的实例计算机系统500的框图。举例来说,图5说明计算机系统500的实例机器,在所述计算机系统内可执行用于使机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或可用于执行控制器的操作(例如,以执行操作系统以执行对应于图1的几乎就绪的存储器管理组件113的操作)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网及/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
所述机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM (RDRAM)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等),及数据存储系统418,其经由总线530彼此通信。
处理装置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的几乎就绪的存储器管理组件113)的功能的指令。尽管在实例实施例中机器可读存储媒体524展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一或多种的任何媒体。因此,术语“机器可读存储媒体”应被认为包含但不限于固态存储器、光学媒体及磁性媒体。
已在针对计算机存储器内的数据位的操作的算法及符号表示方面呈现了先前详细描述的一些部分。这些算法描述及表示是数据处理领域的技术人员用于将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
然而,应牢记,所有这些及类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可以指控制及变换计算机系统的寄存器及存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。
本公开还涉及用于执行本文中的操作的设备。此设备可出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM及磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自连接到计算机系统总线。
本文中呈现的算法及显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或可证明构造用于执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于存储呈机器(例如,计算机)可读形式的信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神及范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

Claims (20)

1.一种用于几乎就绪的存储器管理的方法(450),所述方法包括:
经由以第一间隔的状态轮询确定存储器装置(130、140)的存储器单元集合的几乎就绪状态的指示符;
基于所述几乎就绪状态的所述指示符,确定所述存储器装置的所述存储器单元集合几乎准备好完成对所述存储器装置的所述存储器单元集合执行操作;及
响应于确定所述存储器装置的所述存储器单元集合几乎准备好完成所述操作的执行,以第二间隔执行状态轮询。
2.根据权利要求1所述的方法,其中所述指示符进一步包括在所述存储器装置中的寄存器(221)中的值。
3.根据权利要求2所述的方法,其进一步包括基于所述操作的类型、所述存储器装置的所述存储器单元的类型或两者将所述值存储在所述寄存器中。
4.根据权利要求2所述的方法,其进一步包括基于所述操作的当前完成水平将所述值存储在所述寄存器中。
5.根据权利要求4所述的方法,其中基于所述操作的所述当前完成水平将所述值存储在所述寄存器中进一步包括:
确定所述当前完成水平满足几乎就绪阈值;
响应于确定所述当前完成水平满足所述几乎就绪阈值,将值存储在所述寄存器中以指示所述存储器装置的所述存储器单元的所述几乎就绪状态;及
响应于存储所述值,以所述第二间隔执行所述寄存器的所述状态轮询。
6.根据权利要求4所述的方法,其中所述操作的所述当前完成水平是完成所述操作的多个预期循环中的当前循环。
7.根据权利要求4所述的方法,其中所述操作的所述当前完成水平是与所述存储器装置相关联的当前电压。
8.根据权利要求7所述的方法,其中所述几乎就绪阈值进一步包括几乎就绪阈值电压。
9.根据权利要求8所述的方法,其中确定所述指示符满足所述几乎就绪阈值进一步包括确定与所述存储器装置相关联的所述电压大于所述几乎就绪阈值电压,但小于完成阈值电压。
10.根据权利要求1所述的方法,其进一步包括:
确定所述存储器装置的所述存储器单元集合几乎准备好完成所述操作的执行;及
以所述第一间隔执行继续状态轮询。
11.根据权利要求10所述的方法,其进一步包括:
基于以所述第一间隔执行所述继续状态轮询,确定所述操作的更新的当前完成水平;
确定所述更新的完成水平满足所述几乎就绪阈值;及
响应于所述确定所述更新的完成水平满足所述几乎就绪阈值,以所述第二间隔执行所述存储器装置的所述状态轮询。
12.根据权利要求1所述的方法,其进一步包括至少以所述第二间隔执行所述存储器装置的所述状态轮询,直到确定所述存储器装置的就绪状态。
13.一种用于几乎就绪的存储器管理的设备(110),所述设备包括:
几乎就绪的存储器管理组件(113),其经配置以:
确定对存储器装置(130、140)的存储器单元集合的操作的当前完成水平;
确定所述当前完成水平满足几乎就绪阈值;
响应于所述确定所述当前完成水平满足所述几乎就绪阈值,将值存储在与所述存储器单元集合相关联的寄存器(221)中,以指示所述存储器单元集合几乎准备好完成所述操作;
经由以第一间隔的状态轮询确定存储在所述寄存器中的所述值;及
响应于所述确定存储在所述寄存器中的所述值指示所述存储器单元集合几乎就绪,以短于所述第一间隔的第二间隔执行所述寄存器的状态轮询。
14.根据权利要求13所述的设备,其中所述存储器装置是NAND存储器装置。
15.根据权利要求13所述的设备,其中所述几乎就绪的存储器管理组件进一步经配置以:
通过以所述第一间隔提供多个读取状态命令来以所述第一间隔执行所述状态轮询;及
通过以所述第二间隔提供多个读取状态命令来以所述第二间隔执行所述状态轮询。
16.根据权利要求13至15中任一项所述的设备,其中所述几乎就绪的存储器管理组件进一步经配置以:
与以所述第一间隔执行所述存储器装置的存储器单元的第二子集的状态轮询基本上同时地以所述第二间隔执行所述存储器装置的所述存储器单元的第一子集的状态轮询。
17.一种用于几乎就绪的存储器管理的系统(110),所述系统包括:
非易失性存储器装置(130),其包含经布置以形成NAND存储器单元的多个块的可堆叠交叉网格化阵列的多个存储器组件;及
处理装置(117),其耦合到所述多个存储器组件,所述处理装置用于执行包括以下各项的操作:
以第一间隔执行与NAND存储器单元的所述多个块相关联的多个寄存器的状态轮询,以确定所述寄存器的相应值;
基于存储在与NAND存储器单元块相关联的所述多个寄存器中的寄存器(221)中的值,确定所述NAND存储器单元块几乎准备好完成对所述NAND存储器单元块执行操作;及
响应于确定所述NAND存储器单元块几乎准备好完成所述操作的执行,以第二间隔执行与所述NAND存储器单元块相关联的所述寄存器的状态轮询。
18.根据权利要求17所述的系统,其中所述处理装置进一步响应于起始对所述NAND存储器单元块的所述操作而以所述第一间隔执行所述寄存器的所述状态轮询。
19.根据权利要求17至18中任一项所述的系统,其中所述第一间隔大于或等于40微秒(μs),并且其中所述第二间隔小于40μs。
20.根据权利要求19所述的系统,其中所述第二间隔基本上等于1μs。
CN202210378481.4A 2021-04-13 2022-04-12 用于存储器管理的方法、设备及系统 Pending CN115202571A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/229,476 2021-04-13
US17/229,476 US11636904B2 (en) 2021-04-13 2021-04-13 Almost ready memory management

Publications (1)

Publication Number Publication Date
CN115202571A true CN115202571A (zh) 2022-10-18

Family

ID=83509508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210378481.4A Pending CN115202571A (zh) 2021-04-13 2022-04-12 用于存储器管理的方法、设备及系统

Country Status (2)

Country Link
US (1) US11636904B2 (zh)
CN (1) CN115202571A (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8853818B2 (en) 2013-02-20 2014-10-07 Macronix International Co., Ltd. 3D NAND flash memory
US10409526B2 (en) 2014-12-17 2019-09-10 Violin Systems Llc Adaptive garbage collection
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
US10002649B1 (en) * 2017-02-23 2018-06-19 Sandisk Technologies Llc Preliminary ready indication for memory operations on non-volatile memory
US10521375B2 (en) * 2017-06-22 2019-12-31 Macronix International Co., Ltd. Controller for a memory system
US11249536B2 (en) * 2018-12-17 2022-02-15 Qualcomm Incorporated Reducing power consumption of communication interfaces by clock frequency scaling and adaptive interleaving of polling

Also Published As

Publication number Publication date
US20220328109A1 (en) 2022-10-13
US11636904B2 (en) 2023-04-25

Similar Documents

Publication Publication Date Title
US20210349662A1 (en) Implementing variable number of bits per cell on storage devices
US11682446B2 (en) Selective wordline scans based on a data state metric
US11669451B2 (en) Multi-plane switching of non-volatile memory
US11604749B2 (en) Direct memory access (DMA) commands for noncontiguous source and destination memory addresses
US11699491B2 (en) Double interleaved programming of a memory device in a memory sub-system
US11836076B2 (en) Implementing mapping data structures to minimize sequentially written data accesses
US20220180955A1 (en) Managing probabilistic data integrity scan intervals
US11720490B2 (en) Managing host input/output in a memory system executing a table flush
US11467737B2 (en) Reducing probabilistic data integrity scan collisions
CN115691616A (zh) 基于管芯生成的脉冲信号的状态轮询
CN115048040A (zh) 基于有效数据的比率的媒体管理操作
CN113590022A (zh) 用于存储器装置的系统和方法
US11636904B2 (en) Almost ready memory management
US11934690B2 (en) Memory sub-system refresh
US11693597B2 (en) Managing package switching based on switching parameters
US11934686B2 (en) Data reordering at a memory subsystem
US11669456B2 (en) Cache release command for cache reads in a memory sub-system
US11868642B2 (en) Managing trim commands in a memory sub-system
US11670376B2 (en) Erasing partially-programmed memory unit
US20230064822A1 (en) Temperature controlled media management operations at a memory sub-system
US20230214139A1 (en) Second read initialization on latch-limited memory device
US20220113903A1 (en) Single memory bank storage for servicing memory access commands

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