CN112074904A - 存储器起动电压管理 - Google Patents
存储器起动电压管理 Download PDFInfo
- Publication number
- CN112074904A CN112074904A CN201980029054.1A CN201980029054A CN112074904A CN 112074904 A CN112074904 A CN 112074904A CN 201980029054 A CN201980029054 A CN 201980029054A CN 112074904 A CN112074904 A CN 112074904A
- Authority
- CN
- China
- Prior art keywords
- voltage values
- memory
- starting voltage
- stored
- firing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/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/20—Initialising; Data preset; Chip identification
-
- 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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/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
- G11C21/00—Digital stores in which the information circulates continuously
Landscapes
- Read Only Memory (AREA)
Abstract
一种系统包含存储一组起动电压值的存储器装置,其中所述一组起动电压值各自表示用于在对所述存储器装置的对应一或多个存储器位置执行操作时初始地存储电荷的电压电平;及处理装置,其可操作地耦合到所述存储器装置,以:确定存储于所述存储器装置中的所述一组起动电压值中的起动电压值的数量是否达到阈值;响应于确定所述一组中的起动电压值的所述数量达到所述阈值修改存储于所述存储器装置中的所述一组起动电压值以从所述一组移除一或多个起动电压值;以及将新起动电压值添加到一组经修改起动电压值。
Description
技术领域
揭示的实施例涉及存储器系统,且特定来说,涉及存储器起动电压管理。
背景技术
存储器系统可采用存储器装置来存储及存取信息。存储器装置可包含易失性存储器装置、非易失性存储器装置或组合装置。非易失性存储器装置可包含采用“NAND”技术或逻辑门、“NOR”技术或逻辑门或其组合的快闪存储器。
例如快闪存储器的存储器装置利用电能以及对应阈值电平或处理电压电平来存储及存取数据。然而,快闪存储器装置的性能或特性随着时间或使用而改变或降级。性能或特性的变化随着时间推移与阈值或处理电压电平发生冲突,从而导致错误及其它性能问题。
附图说明
图1说明根据本发明的一些实施例的包含存储系统的实例计算环境。
图2说明根据本发明的一些实施例的监测存储器块列表中的容量的实例的框图。
图3是说明根据本发明的实施例的用于管理起动电压的存储容量的实例方法的流程图。
图4A及4B说明根据本发明的一些实施例的释放存储器块列表中的容量用于起动电压值的实例的框图。
图5是本发明的实施方案可在其中操作的实例计算机系统的框图。
具体实施方式
本发明的方面涉及管理存储器系统的起动电压。存储器系统的实例是存储系统,例如固态驱动器(SSD)。一般来说,主机系统可利用包含一或多个存储器装置的存储器系统。存储器装置可包含非易失性存储器装置,例如(举例来说)“与非”(NAND)。主机系统可提供将数据存储在存储器系统的存储器装置处的写入请求及可提供检索存储在存储器系统处的数据的读取请求。针对初始写入操作,存储器装置可将电荷存储到特定存储器位置的存储器单元以用于写入操作。存储器装置可基于对所述特定存储器位置(例如,存储器块、字线或其组合)进行的初始写入操作存储编程起动电压。传统存储器装置可各自利用存储器块列表跟踪用于对对应存储器块/字线进行编程的起动电压电平。针对对所述特定存储器位置进行的后续编程事件(例如,写入操作),存储器系统(例如,SSD)可参考经存储编程起动电压,此可导致经改进编程时间(“Tprog”)性能。然而,一些传统存储器系统可存储的编程起动电压的数目可能受到限制。常规存储器块列表可具有用于跟踪最大数目个起动电压电平的最大容量。一旦块列表变满,后续开放块流(例如,对应块、字线等发生的一组/序列写入/编程操作)就可能不会受益于跟踪起动电压电平。因此,传统存储器系统的后续开放块流可能经历更加不良的Tprog性能。
本发明的方面通过动态地管理存储器装置的存储器块列表及释放存储器块列表上的容量以跟踪新起动电压电平来解决上述及其它缺点。本发明的方面描述例如基于跟踪最近使用的开放块流来管理存储器块列表。本发明的方面描述例如基于确定存储器块是否接近及/或已达到最大容量来管理存储器块列表,且作为响应,管理存储器块列表中的一或多个条目以释放容量。
图1是根据本发明的一些实施例的包含存储器系统102的实例计算系统100的框图。存储器系统102可包含媒体,例如存储器装置104A到114N。存储器装置104A到104N可为易失性存储器装置、非易失性存储器装置或此类装置的组合。在一些实施例中,存储器系统102是存储系统。存储系统的实例是固态驱动器(SSD)。一般来说,计算系统100可包含使用存储器系统102的主机系统108。举例来说,主机系统108可将数据写入到存储器系统102及从存储器系统102读取数据。
主机系统108可为计算装置,例如桌面计算机、膝上型计算机、网络服务器、移动装置或包含存储器及处理装置的此计算装置。主机系统108可包含或可耦合到存储器系统102使得主机系统108可从存储器系统102读取数据或将数据写入到存储器系统102。主机系统108可经由物理主机接口耦合到存储器系统102。如本文中使用,“耦合到”通常是指组件之间的连接,其可为间接通信连接或直接通信连接(例如,无中介组件),无论是有线还是无线的,包含例如电、光、磁等的连接。物理主机接口的实例包含(但不限于)串行高级技术附接(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)等。物理主机接口可用于在主机系统108与存储器系统102之间传输数据。当存储器系统102通过PCIe接口与主机系统108耦合时,主机系统108可进一步利用NVM高速(NVMe)接口存取存储器装置104A到104N。接口可提供用于在存储器系统102与主机系统108之间传递控制、地址、数据及其它信号的接口。
存储器装置104A到104N可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。非易失性存储器装置的实例包含“与非”(NAND)型快闪存储器。存储器装置104A到104N中的每一者可包含一或多个存储器单元阵列,例如单电平单元(SLC)、多电平单元(MLC)(例如,三电平单元(TLC)或四电平单元(QLC))。在一些实施例中,特定存储器装置包含多种类型的存储器单元阵列,例如(举例来说)SLC存储器单元及MLC存储器单元两者。存储器单元中的每一者可存储由主机系统108使用的一或多个数据位(例如,数据块)。尽管描述了非易失性存储器装置(例如NAND类型快闪存储器),但存储器装置104A到104N可基于任何其它类型的非易失性存储器或易失性存储器。举例来说,存储器装置104A到104N可为(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁电机随机存取存储器(MRAM)、“或非”(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可基于体电阻变化连同堆叠式交叉栅格式数据存取阵列执行位存储。另外,与许多基于快闪的存储器形成对比,交叉点非易失性存储器可执行原位写入操作,其中可在先前未擦除非易失性存储器单元的情况下对所述非易失性存储器单元进行编程。此外,存储器装置104A到104N的存储器单元可经分组为存储器页或数据块,其可指代用于存储数据的存储器装置的单位。
存储器系统控制器106可与存储器装置104A到104N通信以执行操作,例如在存储器装置104A到104N处读取数据、写入数据或擦除数据及其它此类操作。此外,存储器系统控制器106可包含硬件,例如一或多个集成电路及/或离散组件、处理装置、缓冲器存储器、例如固件或其它指令的软件或其组合。一般来说,存储器系统控制器106可从主机系统108接收命令或操作且可将所述命令或操作转换成指令或适当命令以实现对存储器装置104A到104N的所期望存取。存储器系统控制器106可负责其它操作,例如损耗均衡操作、废料收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作及与存储器装置104A到104N相关联的逻辑块地址与物理块地址之间的地址转译。存储器系统控制器106可进一步包含用以经由物理主机接口与主机系统108通信的主机接口电路系统。所述主机接口电路系统可将从主机系统接收的命令转换成命令指令以存取存储器装置104A到104N,且还将与存储器装置104A到104N相关联的响应转换成用于主机系统108的信息。
存储器装置104A到104N可包含经配置以存储数据及提供对数据的存取的一或多个存储器组件(例如,通道、封装、裸片、平面、块、页、单元等)。举例来说,存储器装置104A到104N可包含各自将数据存储于电荷存储结构中的存储器单元阵列。存储器单元可包含例如浮动栅极、电荷俘获、相变、铁电、磁阻及/或经配置以持久性或半持久性地存储数据的其它合适的存储元件。存储器单元可为可经编程到表示信息的目标状态的单晶体管存储器单元。例如,电荷可经放置在存储器单元的电荷存储结构(例如,电荷俘获或浮动栅极)上或从所述电荷存储结构移除以将单元编程到特定数据状态。
存储器系统控制器106可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。存储器系统控制器106可包含经配置以执行存储于本地存储器122中的指令的处理器120(处理装置)。在说明的实例中,存储器系统控制器106的本地存储器122包含经配置以存储用于执行控制存储器系统102的操作的各种过程、操作、逻辑流及例程的指令的嵌入式存储器,所述操作包含处置存储器系统102与主机系统108之间的通信。在一些实施例中,本地存储器122可包含存储例如存储器指针、经提取数据等的存储器寄存器。本地存储器122还可包含用于存储微代码的只读存储器(ROM)。虽然已将图1中的实例存储器系统102说明为包含存储器系统控制器106,但在本发明的另一实施例中,存储器系统可不包含存储器系统控制器,且可代替地依赖于外部控制(例如,由外部主机提供、或由与存储器系统分离的处理器或控制器提供)。
媒体装置104A到104N可包含用于创建包含媒体装置104A到104N的编程起动电压的数据结构的媒体控制器121A到121N。在一些实施例中,数据结构是列表(在下文称为“块列表”或“存储器块列表”)。下文连同图2更详细描述存储器块列表。存储器块列表可存储可用于对对应块流进行写入/编程的起动电压。块流中的每一者可表示对应块、字线或其组合发生的一组/序列写入/编程操作。在一些实施例中,一个存储器块列表可存储存储器装置104A到104N中的一者的起动电压。在一些实施例中,一个存储器块列表可存储存储器装置104A到104N中的一者以上或全部的起动电压。
存储器系统102可包含用于跟踪及管理一组起动电压(例如,一组块-字线组合的编程起动电压的例子)的起动电压管理组件113。在一个实施例中,存储器系统控制器106包含起动电压管理组件113。举例来说,存储器系统控制器106可包含经配置以执行存储于本地存储器122中指令以用于跟踪及管理一组起动电压的的处理器120(处理装置)。起动电压管理组件113可确定存储器块列表是否已达到最大容量及/或接近最大容量,且可释放容量以用于存储新起动电压值,如下文更详细描述。
图2说明根据本发明的一些实施例的监测存储器块列表中的容量的实例的框图。存储器块列表212可存储最近存储的存储器块/字线的一组起动电压252A到252N。举例来说,从空的列表开始(例如,例如在存储器系统启动时或在复位事件之后),存储器装置104A到104N中的一或多者可确定当第一次对存储器位置进行写入/编程时的编程起动电压(例如,编程起动电压252A)。当确定了编程起动电压(例如,编程起动电压252A)时,相应存储器装置104可将其存储于存储器块列表212中。随着存储器装置104第一次对不同存储器块执行写入/编程操作,存储器装置104可类似地确定起动电压252A到252N并将其存储于存储器块列表212中。
存储器块列表212可包含用于存储起动电压值252A到252N的狭槽/寄存器。起动电压值252的每一条目可包含索引标识符253A到253N。起动电压值252A到252N可表示为“B1stV[…]”,其包含第一存储器块的起动电压值“BnthV[…]”,其包含第n存储器块的起动电压值。存储器块列表212中的每一起动电压值条目可用于对对应块流206A到206N进行编程。块流206A到206N中的每一者可表示对应块(例如,块208A到208N)、字线或其组合发生的一组/序列写入/编程操作。
存储器块列表212可具有用于存储起动电压的最大容量(例如,最大存储容量)。最大容量可对应于一次可跟踪的块/字线的最大数目。举例来说,存储器块列表212可具有最大容量‘n’,例如以用于跟踪对应于n个不同存储器块的起动电压252A到252N。
存储器块列表212可包含指示存储器块列表212何时达到一或多个阈值的一或多个状态指示符(例如,状态216)。在一些实施例中,阈值经设置以匹配最大容量。在一些实施例中,阈值经设置为小于最大容量(例如,n-1)。阈值可被预先定义及/或可为用户可配置的。在一些实施例中,起动电压管理组件113使用状态指示符216检测存储器块列表212何时接近最大容量及/或已达到最大容量,且可修改存储器块列表212以释放容量以便将用于后续对应写入/编程操作的一或多个新起动电压存储在存储器块列表212中。
修改存储器块列表212以释放容量及存储最近存取/写入/编程的块的起动电压252A到252N提供存储器系统102中的多个流的经简化存储器装置起动电压管理。因此,起动电压管理组件113可帮助在面对需要减少的固件开销的多个开放块流时维持最大Tprog性能。基于跟踪最近使用的开放块流,起动电压管理组件113可使用存储器块列表212跟踪具有较高后续存取可能性的块,借此进一步提高性能增益。
图3是说明用于管理起动电压的存储容量的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法300由图1的起动电压管理组件113执行。
在框302,处理装置确定存储于存储器装置中的一组起动电压值中的起动电压值的数量是否达到阈值。在一些实施例中,阈值经设置以匹配最大容量。在一些实施例中,阈值经设置为小于最大容量(例如,n-1)。阈值可被预先定义及/或可为用户可配置的。一组电压值中的起动电压值的数量是否达到阈值的确定可基于时序、事件/输入条件的辨识等而触发。所述确定可自主触发,即,在无来自其它外部组件/装置的任何命令或交互的情况下。在一些实施例中,确定由经配置以实施基于时间的事件驱动的步调(例如针对监视器步调计时器机制)的过程、一组指令、硬件或电路等触发。举例来说,基于时间的事件驱动的步调可基于用于检查图2的存储器块列表212的占用/可用性状态的经设置持续时间/频率。
在一些实施例中,确定由经配置以实施基于事件的步调的过程、一组指令、硬件或电路等触发。举例来说,处理装置可就在新近打开的块内的第一程序之前检查存储器块列表212的占用/可用性状态。换句话来说,处理装置可在存储器块变成打开的任何时候(例如在擦除操作之后、废料收集之后等)检查占用/可用性状态。而且,例如,处理装置可在处理装置将写入/编程命令发送到存储器装置104A到104N的任何时候检查存储器块列表212的占用/可用性状态。
处理装置可通过存取/读取存储器块列表212作出确定。举例来说,处理装置可读取存储器块列表212以确定存储器块列表212中的狭槽/寄存器中的任何者是否为空,例如包含预定值还是不包含任何值。
在一些实施例中,处理装置可使用检查状态命令读取存储器块列表212。检查状态命令可包含用于操作/存取存储器块列表212的预存或预配置命令/指令。举例来说,检查状态命令可对应于包含于实施于存储器装置104A到104N中的自动动态字线起动电压(ADWLSV)机制中的现存Get Feature 0xDC函数。ADWLSV机制及/或其功能可自主地(例如,在无来自存储器装置104A到104N外的任何启动及维持命令/指令的情况下)确定及存储起动电压252A到252N。
当存储器块列表212中存储编程起动电压252A到N的例子的狭槽/寄存器的数目达到阈值时,处理装置可更新一或多个状态指示符216。举例来说,可存在被设置到存储器块列表212的最大容量(例如,n)的阈值的一个状态指示符。当存储器块列表212中存储编程起动电压252A到N的例子的全部狭槽/寄存器都达到阈值(例如,最大容量阈值)时,处理装置可将相应状态指示符设置为有效或真。在另一实例中,可存在被设置到为小于存储器块列表212的最大容量(例如,n-1)的阈值。当存储器块列表212中存储编程起动电压252A到N的例子的狭槽/寄存器的数目达到阈值(例如,小于最大容量阈值)时,处理装置可将相应状态指示符设置为有效或真。在一些实施例中,存在设置到存储器块列表212的最大容量的阈值及设置到小于存储器块列表212的最大容量(例如,n-1)的额外阈值。参考图3,在框304,如果作出一组起动电压值中的起动电压值的数量未达到阈值的确定,那么处理装置当在框302触发时例如基于基于时间的步调及/或基于事件的步调作出另一确定。因此,存储器装置104A到104N可继续操作,包含确定最新打开或最新标定的存储器块/字线的编程起动电压252A到252N及将最新确定的编程起动电压252A到252N存储于存储器块列表212中。
在框304,如果作出一组起动电压值中的起动电压值的数量达到阈值的确定,那么处理装置在框306修改存储于存储器装置中的一组起动电压值。处理装置可修改存储于存储器装置的存储器块列表212中的一组起动电压值。处理装置可例如通过移除存储于存储器块列表212中的起动电压值252A到252N中的一或多者来修改一组起动电压值。
图4A到4B说明根据本发明的一些实施例的释放存储器块列表中的容量用于起动电压值的实例的框图。举例来说,存储器系统控制器106可命令存储器装置104A在存储器块列表412已达到n个不同起动电压的最大容量之后对第(n+1)存储器块410执行写入/编程操作。在此类情况下,起动电压管理组件113可管理存储器块列表312以释放存储器块列表212中的容量以便添加对应于对第(n+1)存储器块进行的写入/编程操作的新起动电压。起动电压管理组件113可例如擦除存储器块列表412中的先前存储的起动电压中的一或多者(例如,1-n个起动电压中的一或多者)以便存储第(n+1)存储器块410的起动电压。
在一些实施例中,例如图4A中说明,起动电压管理组件113可基于移除先前存储的起动电压清除或复位存储器块列表412。起动电压管理组件113可基于状态416在接收到或未接收到对新块的额外写入/编程请求的情况下复位存储器块列表412。一旦存储器块列表412清空,存储器装置104就可确定与新/传入写入/编程请求相关联的额外(例如,第(n+1))块的编程起动电压,且起动电压管理组件113可将额外(例如,第(n+1))块的编程起动电压452A存储于对应于条目标识符452A的寄存器中。
在一些实施例中,例如图4B中说明,起动电压管理组件113可基于移除起动电压中的最旧例子更新存储器块列表412。举例来说,存储器块列表412可使用先进先出(FIFO)存储器结构(例如,缓冲器)实施。如图4B中说明,起动电压管理组件113可基于接收涉及第(n+1)块的写入/编程请求丢弃或擦除先前列于寄存器1中的起动电压的第一/最旧例子(例如,图2中的B1st V[…]252A)。在一些实施例中,起动电压管理组件113可移位剩余起动电压,使得最旧值(例如,B2nd V[…])总是被存储在对应于最旧条目标识符453A的指定寄存器(例如,寄存器1)。例如第(n+1)块410的最新起动电压460也可被存储在另一指定寄存器(例如,寄存器n 453N)处。在一些实施例中,起动电压管理组件113可根据写入/编程存取移位,例如通过具有用于列表的顶部/底部处的最近存取的存储器位置的起动电压及具有相应地分类的其它起动电压。
在一些实施例中,存储器块列表312使用循环缓冲器实施,且起动电压管理组件113使用最旧条目标识符453A(例如指针或索引)跟踪列表中的最旧/最新条目。根据最旧条目标识符453A,起动电压管理组件113可用最新起动电压对最旧条目进行写入/编程,及接着相应地移位最旧条目标记453A。
在一些实施例中,起动电压管理组件113可包含各自跟踪自对对应存储器位置进行的最后写入/编程存取(例如,对应开放块流的最后活动)以来的持续时间的计时器。起动电压管理组件113可使用计时器值确定最旧条目。
起动电压管理组件113可移除起动电压值中的一或多者,如上文论述。举例来说,在一些实施例中,起动电压管理组件113可基于清除存储器块列表412更新存储器块列表412。举例来说,起动电压管理组件113可清除/复位存储器块列表412及移除存储于其中的值中的一或多个(例如,全部)。起动电压管理组件113可使用复位列表命令(例如,针对ADWLSV机制是现存Set Feature 0xDC)清除存储器块列表412。在一些实施例中,起动电压管理组件113可基于移除/替换存储器块列表412中的起动电压中的最旧者更新存储器块列表412。举例来说,起动电压管理组件113可在确定了起动电压的新例子(例如,第(n+1)起动电压)时触发更新。
参考图3,在框308,处理装置将新起动电压值添加到存储器装置中的一组经修改起动电压值。处理装置可将起动电压的新例子存储于先前被最旧条目占用的空间/资源中。举例来说,处理装置可根据最旧条目标记存储新起动电压,及接着更新最旧条目标记。
在一些实施例中,处理装置致使执行虚设操作(例如,虚设读取操作)。虚设操作可包含在无任何主机命令/交互的情况下由存储器装置自主地触发/启动的操作。虚设操作可用于完成过程/序列,例如用于完成存储器块列表412的更新过程。
处理装置可执行及/或触发存储器装置104执行包含一或多个自主触发/启动的读取操作的虚设读取。在一些实施例中,可根据ADWLSV机制对存储器装置104执行虚设读取。在一些实施例中,随机选择待针对虚设读取操作读取的存储器单元。在一些实施例中,针对虚设读取操作读取一组预定存储器单元。在一些实施例中,虚设读取可包含从开放块流中的一者(例如,对应于最新编程起动电压的流)读取。处理装置及/或存储器装置104可忽略或丢弃虚设读取的结果。
图5说明用于致使机器执行本文论述的方法论中的任一者或多者的一组指令可在其内执行的计算机系统500的实例机器。举例来说,计算机系统500可对应于主机系统(例如,图1的主机系统108),所述主机系统包含或利用存储系统(例如,图1的存储器系统102)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的起动电压管理组件113的操作)。在替代实施方案中,机器可连接(例如,联网)到LAN、内部网、外部网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器,或在云计算基础设施或环境中作为服务器或客户端机器操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够(循序或以其它方式)执行指定由所述机器所采取的动作的一组指令的任何机器。此外,虽然说明了单个机器,但术语“机器”还应被视为包含个别或联合执行一(或多组)指令以执行本文中论述的方法论中的任一者或多者的机器的任何集合。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等)及数据存储装置518,其经由总线530与彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元或类似物。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的一处理器或实施指令集组合的多个处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似物。处理装置502经配置以执行指令526以用于执行本文中论述的操作及步骤。计算机系统500可进一步包含网络接口装置508以通过网络520进行通信。
数据存储装置518可包含其上存储体现本文中描述的方法论或功能中的任一者或多者的一或多组指令或软件526的机器可读存储媒体524(也称为计算机可读媒体)。指令526在由计算机系统500执行期间也可完全或至少部分驻存于主存储器504内及/或处理装置502内,主存储器504及处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储装置518及/或主存储器504可对应于图1的存储器系统102。
在一个实施方案中,指令526包含用以实施对应于编程组件(例如,图1的起动电压管理组件113)的功能性的指令。虽然在实例实施例方案中将机器可读存储媒体524展示为单个媒体,但术语“机器可读存储媒体”应理解为包含单个媒体或存储一或多组指令的多个媒体(例如,集中式或分布式数据库及/或相关联高速缓存及服务器)。术语“机器可读存储媒体”也应理解为包含能够存储或编码一组指令以供机器执行的且致使机器执行本发明的方法论中的任一者或多者的任何媒体。术语“机器可读存储媒体”应相应地理解为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已依据对计算机存储器内的数据位的操作的算法及符号表示呈现前述详细描述的一些部分。这些算法描述及表示是由数据处理领域中的技术人员用于最有效地将其工作实质传达给所属领域的其它技术人员的方式。算法在此处被设想为且通常被设想为导致所期望结果的自洽操作序列。操作是需要物理量的物理操纵的操作。通过,尽管不一定,但这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。已被证明是方便的是,有时主要出于习惯用法的原因,将这些信号称为位、值、元素、符号、字符、项、数字或类似物。
然而,应记住,所有这些及类似术语都应与适当物理量相关联,且仅仅是应用于这些量的方便标签。除非从上文论述明白那样另外明确指出,否则,应了解,在整个描述中,本发明的方面可涉及计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置操纵表示为计算机系统的寄存器及存储器内的物理(电子)量的数据并将所述数据转换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
本发明还涉及用于执行本文中的操作的设备。此设备可出于预期目的经专门构造,或其可包括由存储于计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可经存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡或适于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文中呈现的算法及显示器并不固有地与任何特定计算机或其它设备相关。各种通用系统可结合根据本文中的教示的程序使用,或可证明构造更专门的设备来执行方法是方便的。用于各种这些系统的结构将如下文描述中陈述那样出现。另外,本发明并非是参考任何特定编程语言进行描述。应了解,多种编程语言可用于实施本文中所描述的本发明的教示。
本发明可经提供作为计算机程序产品或软件,其可包含具有其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本发明的过程。机器可读媒体包含用于存储呈可由机器(例如计算机)读取的形式的信息的任何机构。举例来说,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在前述说明书中,已参考本发明的特定实例实施方案描述了其实施方案。将明显的是,在不背离所附权利要求书中所陈述的本发明的实施方案的更宽精神及范围的情况下,可对所述实施方案做出各种修改。因此,说明书及图式应以说明性意义而非限制性意义来看待。
所使用的术语“处理”包含操纵信号及数据,例如写入或编程、读取、擦除、刷新、调整或改变值、计算结果、执行指令、组装、传送及/或操纵数据结构。术语数据结构包含布置为位、字或代码字、块、文件、输入数据、系统生成的数据(例如计算得到的或生成的数据)及程序数据的信息。此外,所使用的术语“动态”描述在对应装置、系统或实施例的操作、使用或部署期间及在运行制造商或第三方固件之后或在运行制造商或第三方固件时发生的过程、功能、动作或实施方案。动态发生的过程、功能、动作或实施方案可在设计、制造及初始测试、设置或配置之后发生。
Claims (30)
1.一种系统,其包括:
存储器装置,其存储一组起动电压值,其中所述一组起动电压值各自表示用于在对所述存储器装置的对应一或多个存储器位置执行操作时初始地存储电荷的电压电平;及
处理装置,其可操作地耦合到所述存储器装置,以:
确定存储于所述存储器装置中的所述一组起动电压值中的起动电压值的数量是否达到阈值;
响应于确定所述一组中的起动电压值的所述数量达到所述阈值修改存储于所述存储器装置中的所述一组起动电压值以从所述一组移除一或多个起动电压值;以及
将新起动电压值添加到一组经修改起动电压值。
2.根据权利要求1所述的系统,其中根据预定步调触发确定所述一组起动电压值中的起动电压值的数量是否达到阈值。
3.根据权利要求1所述的系统,其中在存储器块变成打开时且在对打开的存储器块进行第一操作之前触发确定所述一组起动电压值中的起动电压值的数量是否达到阈值。
4.根据权利要求1所述的系统,其中所述处理装置进一步经配置以在修改所述一组起动电压值之后执行虚设操作。
5.根据权利要求1所述的系统,其中所述处理装置经配置以:
使用所述存储器装置的自动动态字线起动电压ADWLSV确定所述一组起动电压值中的起动电压值的所述数量是否达到阈值;及
使用ADWLSV的设置特征功能移除所述起动电压值中的所述一或多者。
6.根据权利要求1所述的系统,其中所述处理装置经配置以基于复位存储器块列表以清除所述一组经存储起动电压值来移除所述起动电压值中的所述一或多者。
7.根据权利要求1所述的系统,其中所述处理装置经配置以基于以下各者来移除所述起动电压值中的所述一或多者:
跟踪存储器块列表内的最旧条目,其中所述最旧条目表示对应于所述存储器位置中的自最后存取或充电操作以来具有最长延迟及/或被最先存取的一者的所述起动电压值中的一者;及
删除所述最旧条目。
8.根据权利要求7所述的系统,其中:
所述一组起动电压值是使用循环缓冲器存储的;且
所述处理装置经配置以跟踪所述起动电压值之中被最先存储的所述最旧条目。
9.根据权利要求1所述的系统,其中:
所述存储器装置包括“与非”NAND裸片;且
所述一组起动电压值经存储于所述NAND裸片中。
10.根据权利要求1所述的系统,其中所述起动电压值对应于多个块流,其中每一块流是针对所述存储器装置的对应块、所述存储器装置的字线或其组合调度的一组数据及/或电荷操作。
11.根据权利要求1所述的系统,其中所述处理装置经配置以基于根据递增步进脉冲编程ISPP机制迭代地将电荷存储于标定存储器单元中而执行操作,其中:
所述ISPP机制的第一充电迭代根据所述起动电压值中对应于标定存储器单元的一者充电,且
所述起动电压值各自用于减少用于完成所述相应操作的迭代次数。
12.一种方法,其包括:
将起动电压值存储于数据结构中,其中:
所述数据结构具有最大容量,且
所述起动电压值各自表示用于在对存储器单元子集进行写入或编程时初始地将电荷存储到所述存储器单元子集的电压电平,其中所述存储器单元子集对应于存储器块中的一者、字线中的一者或其组合;
确定存储于所述数据结构中的所述起动电压值的数量达到所述最大容量;
移除所述数据结构中的所述起动电压值中的一或多者以维持对应于一组最近存取的存储器块、字线或其组合的一组所述起动电压值;以及
在所述移除之后将新起动电压值存储到所述数据结构。
13.根据权利要求12所述的方法,其中确定存储于所述数据结构中的所述起动电压值的所述数量达到所述最大容量包括根据预定步调检查所述数据结构的容量。
14.根据权利要求12所述的方法,其中确定存储于所述数据结构中的所述起动电压值的所述数量达到所述最大容量包括在存储器块变成打开时且在对打开的存储器块进行第一写入操作之前检查所述数据结构的容量。
15.根据权利要求12所述的方法,其中存储所述起动电压值、确定所述起动电压值的所述数量达到所述最大容量、移除所述起动电压值中的所述一或多者、存储所述新起动电压值或其组合包含在无来自主机装置的命令或交互的情况下存储所述起动电压值、确定所述起动电压值的所述数量达到所述最大容量、移除所述起动电压值中的所述一或多者、存储所述新起动电压值或其组合。
16.一种方法,其包括:
确定存储于存储器装置中的一组起动电压值中的起动电压值的数量是否达到阈值,其中所述一组起动电压值各自表示用于在对所述存储器装置的对应一或多个存储器位置执行操作时初始地存储电荷的电压电平;
响应于确定所述一组中的起动电压值的所述数量达到所述阈值修改存储于所述存储器装置中的所述一组起动电压值以从所述一组移除一或多个起动电压值;以及
将新起动电压值添加到一组经修改起动电压值。
17.根据权利要求16所述的方法,其中根据预定步调触发确定所述一组起动电压值中的起动电压值的数量是否达到阈值。
18.根据权利要求16所述的方法,其中在存储器块变成打开时且在对打开的存储器块进行第一操作之前触发确定所述一组起动电压值中的起动电压值的数量是否达到阈值。
19.根据权利要求16所述的方法,其进一步包括在修改所述一组起动电压值之后执行虚设操作。
20.根据权利要求16所述的方法,其中移除所述起动电压值中的所述一或多者是基于复位存储器块列表以清除所述一组经存储起动电压值。
21.根据权利要求16所述的方法,其中移除所述起动电压值中的所述一或多者是基于:
跟踪存储器块列表内的最旧条目,其中所述最旧条目表示对应于所述存储器位置中的自最后存取或充电操作以来具有最长延迟及/或被最先存取的一者的所述起动电压值中的一者;及
删除所述最旧条目。
22.根据权利要求16所述的方法,其中:
所述一组起动电压值是使用循环缓冲器存储的;且
所述方法进一步包括跟踪所述起动电压值之中被最先存储的所述最旧条目。
23.根据权利要求16所述的方法,其中所述起动电压值对应于多个块流,其中每一块流是针对所述存储器装置的对应块、所述存储器装置的字线或其组合调度的一组数据及/或电荷操作。
24.一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时致使所述处理装置:
确定存储于存储器装置中的一组起动电压值中的起动电压值的数量是否达到阈值,其中所述一组起动电压值各自表示用于在对所述存储器装置的对应一或多个存储器位置执行操作时初始地存储电荷的电压电平;
响应于确定所述一组中的起动电压值的所述数量达到所述阈值修改存储于所述存储器装置中的所述一组起动电压值以从所述一组移除一或多个起动电压值;以及
将新起动电压值添加到一组经修改起动电压值。
25.根据权利要求24所述的非暂时性计算机可读存储媒体,其中根据预定步调触发确定所述一组起动电压值中的起动电压值的数量是否达到阈值。
26.根据权利要求24所述的非暂时性计算机可读存储媒体,其中在存储器块变成打开时且在对打开的存储器块进行第一操作之前触发确定所述一组起动电压值中的起动电压值的数量是否达到阈值。
27.根据权利要求24所述的非暂时性计算机可读存储媒体,其中所述处理装置进一步在修改所述一组起动电压值之后执行虚设操作。
28.根据权利要求24所述的非暂时性计算机可读存储媒体,其中移除所述起动电压值中的所述一或多者是基于复位存储器块列表以清除所述一组经存储起动电压值。
29.根据权利要求24所述的非暂时性计算机可读存储媒体,其中移除所述起动电压值中的所述一或多者是基于:
跟踪存储器块列表内的最旧条目,其中所述最旧条目表示对应于所述存储器位置中的自最后存取或充电操作以来具有最长延迟及/或被最先存取的一者的所述起动电压值中的一者;及
删除所述最旧条目。
30.根据权利要求24所述的非暂时性计算机可读存储媒体,其中:
所述一组起动电压值是使用循环缓冲器存储的;且
所述处理装置进一步跟踪所述起动电压值之中被最先存储的最旧条目。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/967,265 | 2018-04-30 | ||
US15/967,265 US10482965B1 (en) | 2018-04-30 | 2018-04-30 | Memory start voltage management |
PCT/US2019/025255 WO2019212668A1 (en) | 2018-04-30 | 2019-04-01 | Memory start voltage management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112074904A true CN112074904A (zh) | 2020-12-11 |
CN112074904B CN112074904B (zh) | 2022-04-01 |
Family
ID=68291609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980029054.1A Active CN112074904B (zh) | 2018-04-30 | 2019-04-01 | 存储器起动电压管理 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10482965B1 (zh) |
CN (1) | CN112074904B (zh) |
WO (1) | WO2019212668A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11132303B2 (en) * | 2020-02-04 | 2021-09-28 | Micron Technology, Inc. | Memory sub-system management of firmware block record and device block record |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039252A (zh) * | 2006-03-15 | 2007-09-19 | 中兴通讯股份有限公司 | 一种三重内容可寻址存储器路由表管理方法 |
CN101625899A (zh) * | 2008-07-10 | 2010-01-13 | 海力士半导体有限公司 | 对非易失性存储器件进行编程的方法 |
US20100214853A1 (en) * | 2009-02-26 | 2010-08-26 | Tai Kyu Kang | Nonvolatile memory device and method of operating the same |
CN101894161A (zh) * | 2010-07-22 | 2010-11-24 | 北京天融信科技有限公司 | 一种用于实时监控的循环事件存取方法和装置 |
CN103578523A (zh) * | 2012-07-23 | 2014-02-12 | 三星电子株式会社 | 存储器件、存储系统及控制存储器件的读取电压的方法 |
CN104899151A (zh) * | 2015-02-02 | 2015-09-09 | 上海小蚁科技有限公司 | 内存数据读写方法及装置 |
CN104964387A (zh) * | 2015-06-12 | 2015-10-07 | 石家庄国祥运输设备有限公司 | 一种轨道交通车辆空调设备故障信息的记录和选取方法 |
CN105022701A (zh) * | 2015-07-27 | 2015-11-04 | 四川长虹电器股份有限公司 | 空调器运行状态和参数的存储方法 |
CN107302676A (zh) * | 2017-07-28 | 2017-10-27 | 建荣半导体(深圳)有限公司 | 一种录像存储方法、系统、芯片、存储装置及行车记录仪 |
CN107632777A (zh) * | 2016-07-18 | 2018-01-26 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
JP5072723B2 (ja) * | 2008-06-11 | 2012-11-14 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR101596827B1 (ko) | 2009-10-14 | 2016-02-23 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US9418000B2 (en) * | 2014-12-22 | 2016-08-16 | Intel Corporation | Dynamically compensating for degradation of a non-volatile memory device |
WO2018148676A1 (en) * | 2017-02-13 | 2018-08-16 | Endura Technologies LLC | Realtime critical timing path potential fault event detection and prevention for embedded cores |
-
2018
- 2018-04-30 US US15/967,265 patent/US10482965B1/en active Active
-
2019
- 2019-04-01 CN CN201980029054.1A patent/CN112074904B/zh active Active
- 2019-04-01 WO PCT/US2019/025255 patent/WO2019212668A1/en active Application Filing
- 2019-09-10 US US16/566,713 patent/US10878910B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039252A (zh) * | 2006-03-15 | 2007-09-19 | 中兴通讯股份有限公司 | 一种三重内容可寻址存储器路由表管理方法 |
CN101625899A (zh) * | 2008-07-10 | 2010-01-13 | 海力士半导体有限公司 | 对非易失性存储器件进行编程的方法 |
US20100214853A1 (en) * | 2009-02-26 | 2010-08-26 | Tai Kyu Kang | Nonvolatile memory device and method of operating the same |
CN101894161A (zh) * | 2010-07-22 | 2010-11-24 | 北京天融信科技有限公司 | 一种用于实时监控的循环事件存取方法和装置 |
CN103578523A (zh) * | 2012-07-23 | 2014-02-12 | 三星电子株式会社 | 存储器件、存储系统及控制存储器件的读取电压的方法 |
CN104899151A (zh) * | 2015-02-02 | 2015-09-09 | 上海小蚁科技有限公司 | 内存数据读写方法及装置 |
CN104964387A (zh) * | 2015-06-12 | 2015-10-07 | 石家庄国祥运输设备有限公司 | 一种轨道交通车辆空调设备故障信息的记录和选取方法 |
CN105022701A (zh) * | 2015-07-27 | 2015-11-04 | 四川长虹电器股份有限公司 | 空调器运行状态和参数的存储方法 |
CN107632777A (zh) * | 2016-07-18 | 2018-01-26 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107302676A (zh) * | 2017-07-28 | 2017-10-27 | 建荣半导体(深圳)有限公司 | 一种录像存储方法、系统、芯片、存储装置及行车记录仪 |
Also Published As
Publication number | Publication date |
---|---|
US10878910B2 (en) | 2020-12-29 |
CN112074904B (zh) | 2022-04-01 |
US20200005870A1 (en) | 2020-01-02 |
US20190333582A1 (en) | 2019-10-31 |
US10482965B1 (en) | 2019-11-19 |
WO2019212668A1 (en) | 2019-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10209902B1 (en) | Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data | |
KR100902008B1 (ko) | 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템 | |
US10818367B2 (en) | Controller and method of operating the same | |
CN112053733B (zh) | 故障敏感存储器页面的选择性加速取样 | |
CN112740331B (zh) | 基于存储器组件特性组件刷新存储在存储器组件处的数据 | |
CN112447207B (zh) | 基于阈值电压漂移的温度相关斜率管理阈值电压漂移 | |
CN112740189B (zh) | 非易失性存储器的多级损耗均衡 | |
CN114097033A (zh) | 存储器子系统的被取消映射分配单元的管理 | |
US20160098213A1 (en) | Hybrid storage system employing reconfigurable memory | |
CN112840310B (zh) | 增加用于命令调度的带宽的存储器子系统 | |
CN112689829A (zh) | 用于就地数据替代媒体的混合式耗损均衡 | |
CN113424165B (zh) | 在存储器子系统处的编程操作的中断 | |
CN117751345A (zh) | 存储器单元的选择性上电清除 | |
CN112074904B (zh) | 存储器起动电压管理 | |
US10346040B2 (en) | Data merging management method based on data type, memory storage device and memory control circuit unit | |
CN111886650B (zh) | 以基于温度的频率对存储器系统的存储器单元执行操作 | |
CN113129974A (zh) | 跟踪在存储器装置处执行的操作 | |
CN114097035A (zh) | 在存储器子系统通电阶段期间执行完全存储器刷新的决策 | |
CN113939797B (zh) | 用于存储器子系统的锁定管理 | |
US20240176508A1 (en) | Reliability gain in memory devices with adaptively selected erase policies | |
CN115938443A (zh) | 非易失性存储器的存储器操作之间的时间间隔 | |
CN112230845A (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 |