CN114223033A - 预测性存储器管理 - Google Patents
预测性存储器管理 Download PDFInfo
- Publication number
- CN114223033A CN114223033A CN202080057265.9A CN202080057265A CN114223033A CN 114223033 A CN114223033 A CN 114223033A CN 202080057265 A CN202080057265 A CN 202080057265A CN 114223033 A CN114223033 A CN 114223033A
- Authority
- CN
- China
- Prior art keywords
- error correction
- data
- controller
- latency information
- physical address
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
Abstract
描述与预测性存储器管理相关的系统、设备和方法。错误校正操作可对存储器系统执行,且可包含与对数据执行各种错误校正技术相关联的时延,且可基于所述时延信息预测用以存储所述数据的物理地址的健康度。在一实例中,方法可包含由控制器确定对应于对由所述控制器接收的数据执行的一或多个错误校正操作的时延信息,以及基于所述时延信息指派对应于与所述数据对应的物理地址位置的健康度,以及至少部分地基于对应于与所述数据对应的所述多个物理地址位置的所述健康度的所述信息采取涉及所述物理地址位置的动作。
Description
技术领域
本公开大体上涉及半导体存储器和方法,且更具体地说,涉及用于预测性存储器管理的设备、系统和方法。
背景技术
存储器装置通常被提供为计算机或其它电子系统中的内部、半导体、集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器会需要功率以维持其数据(例如主机数据、错误数据等等)并包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)和晶闸管随机存取存储器(TRAM)等等。非易失性存储器可通过在未被供电时保存所存储数据来提供永久数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等等。
存储器装置可以耦合到主机(例如主机计算装置)以存储数据、命令和/或指令以在操作计算机或电子系统时供主机使用。举例来说,数据、命令和/或指令可在计算或其它电子系统的操作期间在主机与存储器装置之间传送。
附图说明
图1是根据本公开的数个实施例的呈包含具有存储器系统的设备的计算系统形式的功能框图。
图2A是根据本公开的数个实施例的呈包含错误校正组件的设备形式的功能框图。
图2B是根据本公开的数个实施例的呈包含错误校正组件的设备形式的另一功能框图。
图3是根据本公开的数个实施例的表示实例数据和预测性存储器管理操作的流程图。
图4是根据本公开的数个实施例的表示预测性存储器管理操作的流程图。
图5是根据本公开的数个实施例的表示用于预测性存储器管理的实例方法的流程图。
图6是根据本公开的数个实施例的表示用于预测性存储器管理的另一实例方法的流程图。
具体实施方式
描述与预测性存储器管理相关的系统、设备和方法。可对存储器系统执行错误校正操作。从错误校正操作导出的时延信息可用以预测用以在存储器系统中存储数据的物理地址的健康度。举例来说,可基于在每一层和/或层级利用的错误校正的特性来对数据执行多个层和/或层级的错误校正。一个此类特性可包含与对数据执行各种错误校正技术相关联的时延,且可基于所述时延信息预测用以存储数据的物理地址的健康度。在一实例中,方法可包含由控制器确定对应于对由控制器接收的数据执行的一或多个错误校正操作的时延信息,以及基于时延信息指派对应于与数据对应的物理地址位置的健康度,以及至少部分地基于对应于与数据对应的所述多个物理地址位置的健康度的信息采取涉及物理地址位置的动作。
例如快闪存储器装置的存储器装置可用于将数据存储于计算系统中并且可将这类数据在与计算系统相关联的主机之间传送。存储于存储器装置中的数据可为重要的或甚至对计算系统的操作至关重要。对于广泛范围的电子应用,利用快闪存储器装置作为非易失性存储器。快闪存储器装置通常使用允许高存储器密度、高可靠性及低功耗的单晶体管存储器单元。存储于存储器装置中的数据可含有可使用错误校正逻辑校正的错误。有时数据中的错误是不可校正的,且应当避免向主机报告不可校正的错误。
两种常见类型的快闪存储器阵列架构包含“NAND”和“NOR”架构,所述架构以每一者的基本存储器单元配置所布置的逻辑形式来命名。在NOR阵列架构中,存储器阵列的浮动栅极存储器单元通常布置于矩阵中。
阵列矩阵的每一浮动栅极存储器单元的栅极通常以行耦合到字选择线且其漏极耦合到列位线。通过行解码器以选择耦合到所述存储器单元的栅极的字选择线的方式激活一行浮动栅极存储器单元来存取NOR架构浮动栅极存储器阵列。所述行选定存储器单元接着通过取决于特定单元是处于经编程状态还是经擦除状态而流过不同电流来将其数据值置于列位线上。
NAND阵列架构还将其浮动栅极存储器单元阵列布置于矩阵中,使得所述阵列的每一浮动栅极存储器单元的栅极以行耦合到字选择线。然而,每一存储器单元不通过其漏极直接耦合到列位线。替代地,所述阵列的存储器单元在源极线和列位线之间以源极到漏极方式串联耦合在一起。
NAND阵列架构中的存储器单元可被配置成,例如被编程到所要状态。也就是说,电荷可置于存储器单元的浮动栅极上或从存储器单元的浮动栅极移除以将所述单元置于数个存储的状态中。举例来说,单电平单元(SLC)可表示两个二进制状态,例如1或0。快闪存储器单元也可存储多于两个二进制状态,例如00、01、10或11。这类单元可被称为多状态存储器单元、多位单元或多电平单元(MLC)。MLC可允许制造较高密度存储器,而不会增加存储器单元的数目,这是因为每一单元可表示多于一个的位。MLC可具有多于一个经编程状态,例如能够表示两个位的单元可具有三个经编程状态和经擦除状态。
可通过以下操作实现存储器单元的读取:将适当电压施加到控制栅极和漏极并且将可指示单元的电压阈值(Vt)的漏极到源极电流与参考电流(例如“跳变点”)进行比较以确定存储器单元的状态。在实例数据读取操作中,可将0伏特施加到选定字线,例如施加到选定字线中的一或多个单元的控制栅极。约5伏特的读取传递电压可施加到未选定字线,例如施加到未选定字线中的单元的控制栅极。漏极到源极电流,例如流过选定字线上的单元的“单元电流”或“漏极电流”指示单元的二进制逻辑状态。
当特定存储器单元的单元电流高于跳变点时,存储器单元被读取为具有特定状态,例如经擦除状态或经编程状态。当特定存储器单元的单元电流低于跳变点时,存储器单元被读取为具有不同状态。因此,存储器单元的所要经配置状态,例如00、01、10或11取决于单元电流是高于跳变点还是低于跳变点。
具有除其所要/预期经配置状态以外的状态(例如其经编程进入的状态)的存储器单元表示正在被读取的数据中的数据错误。多个存储器装置采用例如校正码(ECC)检查的错误检查技术来检测数据中的位错误,例如具有不正确状态的单元。ECC方案可与单元群组相关联,例如存储器块、存储器片段或存储器扇区,且可通过检测和可能校正位错误来减少读取失败。ECC方案的实例包含汉明码、里德-所罗门(RS)码、玻色-乔杜里-霍赫昆海姆(BCH)码、循环冗余检查(CRC)码、戈莱码、里德-穆勒码、戈帕码、相邻单元辅助错误校正码、低密度奇偶校验(LDPC)错误校正码,和丹尼斯顿码等等。
当存取的数据位,例如表示由处理器检索的信息的存储器单元具有不正确的状态,和/或与数据相关联的物理地址损耗或以其它方式未正确地操作时,读取失败发生。减少读取失败会增加存储器装置和/或系统的操作可靠性。错误检查/校正技术可能无法校正一些错误位。包含不可校正错误的数据可造成伤害,浪费资源,和/或造成主机中的故障,出于这些原因,应当避免传输具有不可校正错误的数据。此外,许多错误检查技术会不成功地施加于数据,即使当重复施加时也是如此,且具有不可校正错误的数据会传输到主机。
在一些方法中,通过例如位于存储器装置上的控制器对所述存储器装置执行这些和其它错误检查技术。存储器装置控制器可为媒体控制器,例如紧密耦合到存储器装置(例如,存储器装置的存储器单元、块、扇区等)的非易失性存储器高速(NVMe)控制器。
因此,在其中对存储器装置执行错误校正(例如,使用驻留在存储器装置上的控制器或其它电路)的方法中,可多次读取数据且错误可被检测到且可为不可校正的。换句话说,存在于数据中的错误位无法被准确地校正,这可导致不正确的数据提供到主机或在一些情况下造成计算系统的故障。如本文中所使用,术语“驻留于…上”是指某物在物理上位于特定组件上。举例来说,对“驻留于存储器装置上的某物”执行错误校正是指其中物理上在存储器装置上执行错误校正的状况。术语“驻留于…上”可在本文中与如“部署于…上”或“位于…上”的其它术语互换使用。
随着存储器装置的存储能力增加,这些效应可变得更加明显,这是因为存储器装置能够存储越来越多的数据,进而增加引入到数据中的错误位的数量。一些方法对提供于上文所描述的存储器装置上的错误校正的限制,尤其是在存储于中的数据量和预期数据检索的速度方面,可进一步加剧这些效应。
相比之下,本文中的实施例是针对通过预测对应于其中存储数据的物理位置的损耗量来减轻含有错误的数据或可能含有错误的数据的传播。对数据的损耗量的预测可至少部分地基于从错误校正操作导出的时延信息。当识别出不可校正错误和/或数据的预测损耗指示不可校正错误(或与存储器装置的特定物理地址空间相关联的数据可能含有大于阈值数量的不可校正错误的升高可能性)时,控制器可指示(例如,警示)主机以使得数据可在其不能够被恢复之前被保存。为了促进本文所描述的操作的执行,存储器装置可包含呈错误校正组件的形式的专用电路(例如,硬件、逻辑、集成电路等)以对从存储器装置接收的数据执行错误校正操作。举例来说,在一些实施例中,在驻留于存储器装置的控制器上的错误校正组件中可包含多个层级的错误校正逻辑。存储器装置可对数据执行多个层级的错误校正,且可在执行每一错误校正操作之后确定时延信息以预测对应于从其存取数据的物理地址空间的损耗量。
本文中的实施例可允许基于对数据执行的一或多个读取和/或错误校正迭代而确定读取时延。每一读取时延与残余位错误率(RBER)相关联且错误校正操作的每一迭代可以某一因数将RBER减少。因此,在一些实施例中,存储器装置可使用初始错误校正逻辑对数据执行错误校正操作,且基于确定的读取时延采取涉及对应于数据的再一个物理地址位置的动作。存储器装置采取的动作可包含预测对应于其中存储数据的物理地址位置的损耗量,基于与物理地址空间相关联的预测损耗量引退物理地址空间,预测针对其中存储数据的物理地址位置留下的数据传送循环的剩余数量,或其组合。在确定读取时延之后,存储器装置可使用后续错误校正逻辑执行后续错误校正操作。通过使用不同错误校正逻辑执行多个错误校正操作,数据可经校正或确定为不可校正且因此报告给主机。
如本文中所使用,“初始错误校正操作”指代对尚未被执行任何类别的错误校正操作的原始数据执行的错误校正操作。可对数据实施初始错误校正的多个迭代。举例来说,初始错误校正操作可包含用于校正存储器系统或存储器装置存储的数据上的错误的操作,所述错误是由于存储器系统或存储器装置的存储特性的性质所引起。初始错误校正操作不同于后续错误校正操作,在所述后置错误校正操作中,数据引发一或多个后续错误校正操作来检测或校正可在执行初始错误校正操作之后存在于数据中的剩余错误(例如,不可检测和/或不可校正的错误)。。
在一些方法中,存储器装置可执行后续错误校正操作,例如用于检测和/或校正在存储器装置进行的错误校正之后存在于数据中的不可检测和/或不可校正错误的操作。后续错误校正操作可为错误校正的不同技术,且可在后续错误校正的每一迭代之后确定时延信息以预测数据和/或与数据相关联的物理地址的健康度。以此方式,存储器装置可通过部分地基于确定的时延采取动作(例如,预测对应于数据的损耗量)而最小化传播通过计算系统的不可校正错误的数量,且进而减少报告给主机装置的不可校正错误的数量。以此方式,可使用多种类型错误校正技术校正错误,且可确定对应于数据的信息的健康度。
在本公开的以下详细描述中,参考形成本公开的部分的附图,且附图中通过图示的方式展示可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例且可在不脱离本公开的范围的情况下进行过程、电气和结构性改变。
如本文中所使用,例如“N”、“M”、“P”、“S”、“R”等特定地相对于图式中的参考标号的指定符指示可包含数个如此指定的特定特征。还应理解,本文中所使用的术语仅出于描述特定实施例的目的,而不意图为限制性的。如本文所使用,除非上下文另外明确规定,否则单数形式“一(a/an)”和“所述(the)”可包含单个指示物和多个指示物两者。此外,“数个”、“至少一个”和“一或多个”(例如数个存储器装置)可指一或多个存储器装置,而“多个”意图指这种事物中的多于一个。此外,贯穿本申请案以许可的意义(即,有可能、能够),而非以强制性的意义(即,必须)使用单词“可能”和“可”。术语“包含”和其派生词指“包含但不限于”。视上下文而定,术语“耦合(coupled/coupling)”意指物理上直接或间接连接或存取及移动(传输)命令及/或数据。视上下文而定,术语“数据”和“数据值”在本文中可互换地使用且可具有相同含义。
本文中的图式遵循编号定则,其中第一一或多个数字对应于图式编号,且剩余的数字标识图式中的元件或组件。可通过使用类似数字来标识不同图式之间的类似的元件或组件。举例来说,106可表示图1中的元件“06”,且相似元件可在图2中表示为206。通常在本文中可以用单个元件编号指代一组或多个类似元件或组件。举例来说,多个参考元件112-1、…、112-P(例如,112-1到112-P)可大体上称为112。如将了解,可添加、交换和/或去除本文中的各个实施例中示出的元件,以便提供本公开的多个额外实施例。另外,图式中提供的元件的比例和/或相对尺度意图说明本公开的某些实施例,且不应被视作限制性意义。
图1是根据本公开的数个实施例的呈包含包含存储器系统104的设备的计算系统100形式的功能框图。如本文所使用,“设备”可指但不限于多种结构或结构的组合中的任何一种,例如,电路或电路系统、一或多个裸片、一或多个模块、一或多个装置或一或多个系统。存储器系统104可为例如固态驱动器(SSD),且可包含主机接口108、缓冲器109、控制器110,例如处理器和/或其它控制电路,以及数个存储器装置112-1到112-P,例如诸如NAND快闪装置等固态存储器装置,其为存储器系统104提供存储容量。在数个实施例中,控制器110、存储器装置112-1到112-P和/或主机接口108可物理上位于单个裸片上或单个封装内(例如,受管理NAND应用)。而且,在数个实施例中,存储器,例如存储器装置112-1到112-P,可包含单个存储器装置。
如图1中所说明,控制器110可耦合到主机接口108并且经由一或多个信道耦合到存储器装置112-1到112-P且可用以在存储器系统104和主机102之间传送数据。主机接口108可呈标准化接口的形式。举例来说,当存储器系统104用于计算系统100中的数据存储时,接口108可以是串行高级技术附件(SATA)、外围组件互连高速(PCIe),或通用串行总线(USB)、双倍数据速率(DDR)接口,以及其它连接器和接口。然而,一般来说,接口108可提供用于在存储器系统104与具有用于主机接口108的兼容接受器的主机102之间传递控制、地址、数据和其它信号的接口。
主机102可为主机系统,例如个人手提式计算机、台式计算机、数码相机、移动电话、具有物联网(IoT)能力的装置、存储卡读卡器,或图形处理单元(例如,视频卡),以及各种其它类型的主机。主机102可包含系统主板和/或背板并且可包含数个存储器存取装置,例如数个处理资源(例如,一或多个处理器、微处理器或一些其它类型的控制电路)。所属领域的一般技术人员将理解,“处理器”可以是一或多个处理器,如平行处理系统、多个协处理器等。主机102可通过通信信道103耦合到存储器系统104的主机接口108。
缓冲器109可包含于存储器系统104上且为物理存储器存储装置的在数据从存储器装置112-1到112-P移动到控制器110时用以临时存储数据的部分。在一些实施例中,主机102可负责执行用于包含存储器系统104的计算系统100的操作系统。因此,在一些实施例中,主机102可负责控制存储器系统104的操作。举例来说,主机102可执行管理计算系统100的硬件(例如调度任务、执行应用程序、控制外围设备等)的指令(例如,呈操作系统形式)。
计算系统100可包含单独的集成电路,或者主机102、存储器系统104、错误校正组件106、缓冲器109、主机接口108、控制器110和/或存储器装置112-1到112-P可在同一集成电路上。计算系统100可例如是服务器系统和/或高性能计算(HPC)系统和/或其一部分。尽管图1中展示的实例示出具有冯诺伊曼体系结构(Von Neumann architecture)的系统,但本公开的实施例可实施于非冯诺伊曼体系结构中,所述非冯诺伊曼体系结构可不包含通常与冯诺伊曼体系结构相关联的一或多个组件(例如,CPU、ALU等)。
在一些方法中,存储器系统104(例如,控制器110)可使用例如错误校正码(ECC)等一或多种错误检查技术以确定存储于存储器装置112-1到112-P中的数据(例如,存储器单元和/或单元群组,例如,数据字或扇区)是否错误,例如具有不正确状态。错误或不正确状态可以指存储器单元的除其被编程或写入到的状态以外的状态。举例来说,非易失性存储器单元可编程到例如1或0的特定逻辑状态中,且可经历用于确认所述单元被编程为所要正确状态的程序验证操作。在这类方法中,如果检测到错误位,那么可通过存储器系统104对数据执行错误校正操作。
控制器110可包含错误校正组件106,其可使用例如ECC等一或多个错误检查技术以确定存储器装置112-1到112-P的数据(例如,存储器单元和/或单元群组,例如数据字或扇区)是否错误。错误校正组件106可包含例如呈硬件和/或固件形式的数个组件,例如一或多个集成电路,和/或用于对主机102从存储器系统104接收的数据执行错误校正操作的软件。错误校正组件106可包含一或多个子组件,例如本文结合图2示出和描述的初始ECC逻辑(例如,编码组件)214和/或后续ECC逻辑(例如,编码组件)216。
错误校正组件106可包含ECC逻辑(例如,硬件和/或固件)以根据方案执行错误校正操作,所述方案例如汉明码、RS码、BCH码、CRC码、戈莱码、里德-穆勒码、戈帕码、相邻单元辅助错误校正码、LDPC错误校正码,和丹尼斯顿码,和/或例如可促进对在存储器装置112-1到112-P与主机102之间传送的数据的错误校正的其它类型的错误校正方案。
在一些实施例中,错误校正组件106可经由缓冲器109从存储器装置112-1到112-P接收数据。数据可在从存储器装置112-1到112-P传送到缓冲器109且最终传送到错误校正组件106之前根据一或多个ECC方案进行编码。举例来说,在一些实施例中,控制器110和/或存储器装置112-1到112-P可在将数据传送到错误校正组件106之前根据一或多个ECC方案对数据进行编码。如果错误校正组件106接收到先前已通过存储器系统104根据一或多个ECC方案经编码的数据,那么作为执行错误校正操作的部分,错误校正组件106可根据一或多个ECC方案解码数据。
然而,实施例不受如此限制,且在一些实施例中,错误校正组件106可从存储器装置112-1到112-P接收未经编码数据且根据一或多个ECC方案对数据进行编码和/或随后进行解码。因此,错误校正组件106可负责执行用于计算系统100的所有(或至少一部分)错误校正操作。即,在一些实施例中,对数据的错误校正可由存储器系统104通过驻留于主机102上(例如,与其紧密耦合)的错误校正组件106执行。
举例来说,控制器110可通过将第一时戳和/或第二时戳与初始时戳进行比较而确定时延信息,且基于时延信息指派对应于与数据对应的物理地址位置的健康度的信息。读取时延可与RBER相关联,且可经确定且用以预测数据和/或与数据相关联的物理地址的健康度。在一些实施例中,控制器110可监视经由缓冲器109从存储器装置112-1到112-P接收的数据的健康度。数据的健康度可以指存在于数据中的错误(例如,位翻转错误、不可校正错误等)的数量、对数据执行的错误校正操作的数量,和/或可至少部分地基于时延信息的针对物理地址位置留下的数据传送循环的预测剩余数量。控制器110可通过确定对应于由控制器110执行的错误校正操作的时戳的差来确定时延信息。可在每一错误校正操作之后确定时延信息,且可部分地基于在每一错误校正操作之后确定的时延信息确定物理地址位置的健康度。
控制器110可经由缓冲器109耦合到存储器装置112。缓冲器109可为在数据由控制器读取之前用于数据的临时存储组件。控制器110可包含驻留于其上的错误校正组件106,且控制器110可经配置以使用错误校正组件106对对应于存储器装置的物理地址位置的数据执行初始错误校正操作。控制器可基于指派于错误校正操作的时戳确定读取时延。举例来说,控制器110可当初始读取数据时指派初始时戳,且可对初始错误校正操作指派第一时戳且使用存在于错误校正组件106上的错误校正逻辑执行后续错误校正操作。控制器110可对后续错误校正操作指派第二时戳。控制器可至少部分地基于第一时戳和第二时戳确定对应于初始错误校正操作和后续错误校正操作的时延信息。
基于确定的时延信息,控制器110可至少部分地基于对应于与数据对应的物理地址位置的健康度的信息采取涉及物理地址位置的动作。在一些实施例中,控制器110采取动作,例如预测对应于与数据对应的物理地址位置的损耗量且部分地基于预测的损耗量引退对应于数据的物理地址位置。在其它实施例中,控制器110可通过至少部分地基于时延信息预测针对物理地址位置留下的数据传送循环的剩余数量来采取动作。预测数据传送循环的剩余数量可包含在预测数量的数据传送循环的最后数据传送循环之后引退物理地址位置。控制器110可使用此预测健康度来发起一或多个读取操作,使用对应于第一层级的ECC逻辑发起错误校正的一或多个迭代,和/或使用对应于错误校正的后续层级的ECC逻辑发起错误校正操作的一或多个后续迭代。
控制器110可响应于控制器110确定数据由缓冲器109(耦合到控制器110)接收而发起错误校正操作的执行。举例来说,响应于控制器110确定已从缓冲器109接收数据,控制器110可指派初始时戳,且可使用驻留于错误校正组件106上的错误校正逻辑执行提供第一层级的错误校正的初始错误校正操作且对初始错误校正操作指派第一时戳。时戳可为初始时戳(当数据由控制器110从存储器装置112-1到112-P和/或缓冲器110接收时)与数据已由控制器110读取时之间的时间周期。由控制器110从第一时戳确定的时延信息可用以确定是否执行后续错误校正操作。
在以上实例中,控制器110使用驻留于错误校正组件106上的错误校正逻辑可执行对应于第一层级或错误校正的后续错误校正操作。控制器110可对后续错误校正操作指派第二时戳,且至少部分地基于第一时戳和/或第二时戳确定对应于初始错误校正操作和后续错误校正操作的时延信息。使用这些方法,控制器110和/或错误校正组件106可确定数据是否具有不可校正错误,待校正的数据是否需要不同层级的错误校正,和/或预测与正经历错误校正操作的数据相关联的物理地址位置的健康度。
控制器110可经配置以确定对应于与数据相关联的物理地址位置的健康度的信息指示在特定数量的后续数据循环内经历失败的物理地址位置中的一或多个;以及基于物理地址位置中的所述一或多个将在特定数量的后续数据循环内经历失败的确定可能性指派的健康度信息而引退所述多个物理地址位置。换句话说,控制器110可至少部分地基于时延信息(例如,数据的预测健康度)使用驻留于错误校正组件106上的提供第二层级的错误校正的错误校正逻辑执行不同错误校正操作。
如所提到,错误校正组件106可确定待进行错误校正的一些数据需要与由存储器系统104存储的其它数据不同(例如,更高层级)的错误校正(例如,更高精度等)。举例来说,错误校正组件106可确定第一数据单元(例如,受管理单元,例如数据块、扇区、一或多个码字、数据页等)对计算系统100的执行是关键的且第二数据单元对计算系统100的执行较不关键,且基于此确定和时延信息和/或与数据相关联的物理地址的预测健康度而执行不同错误校正操作。
如本文中所使用,“受管理单元”(MU)通常指一起编程和/或读取或作为功能群组的数个存储器单元。受管理单元可对应于逻辑块大小(例如,主机的数据传送大小和/或存储器系统的数据管理大小),其可为例如4KB。作为实例,受管理单元可映射到存储器单元的物理块。然而,实施例不受如此限制。举例来说,在存储用户数据和开销数据(例如,提供存储在存储器单元群组内的其它数据的信息的数据)的存储器单元群组对应于大于逻辑块大小时,受管理单元可对应于大于逻辑块大小。作为实例,开销数据可包含例如元数据、错误校正码(ECC)数据、逻辑块地址(LBA)数据以及与对受管理单元执行的存储器操作相关联的计数器(例如,读取/写入计数器)等数据。在一些实施例中,MU可包含多个码字。如本文所使用,“码字”大体上指代错误校正码的元素。在一些实施例中,码字可为以循环冗余校验(CRC)保护的独立编码数据块。
错误校正组件106可对第一数据单元指派较高错误校正优先级,且响应于时延信息的确定而对第一数据单元执行不同层级的错误校正操作以指派数据的健康度。取决于第二数据单元的关键性,在此实例中,错误校正组件106可在对第一数据单元执行错误校正操作之后对第二数据单元执行错误校正操作,或者错误校正组件106可指示存储器装置104例如与对第一数据单元执行错误校正操作并行地对第二数据单元执行错误校正操作。
在一些实例中,第一层级或错误校正和第二层级的错误校正可不同。举例来说,错误校正组件106可包含ECC逻辑(例如,硬件和/或固件)以根据方案执行多层级的错误校正操作,所述方案例如汉明码、RS码、BCH码、CRC码、戈莱码、里德-穆勒码、戈帕码、相邻单元辅助错误校正码、LDPC错误校正码,和丹尼斯顿码,和/或例如其它类型的错误校正方案,或其组合。
举例来说,第一层级或错误校正可为具有读取重试的BCH硬解码,其中可使用各种电压重复读取操作的迭代。第二层级的错误校正可为相邻单元辅助错误校正。在其它实施例中,第一层级或错误校正可为LDPC硬解码错误校正操作的一或多个迭代,且第二层级或错误校正可为LDPC软解码迭代的一或多个迭代。此外,控制器110可实施任何数量的错误校正层级。
在错误校正组件106已对数据执行错误校正操作(例如,初始错误校正操作和/或后续错误校正操作)之后,主机102可在主机计算操作的执行中使用经错误校正的数据。然而,实施例不受如此限制,且在一些实施例中,一旦错误校正组件106已对数据执行错误校正操作,那么错误校正组件106就可致使数据传送回到存储器装置112,或控制器110可确定可基于时延信息而引退与数据相关联的物理地址位置。
控制器110可与存储器装置112-1到112-P通信以控制数据读取、写入和擦除操作以及其它操作。控制器110可包含例如呈硬件和/或固件形式的数个组件,例如一或多个集成电路,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA),和/或用于控制对数个存储器装置112-1到112-P的存取和/或用于促进存储器装置112-1到112-P与主机102之间的数据传送的软件。控制器110可包含未示出以免混淆本公开的实施例的各种组件以控制数据读取、写入、擦除等操作。在一些实施例中,此类组件可以不是控制器110的组件,例如,用以控制数据读取、写入、擦除等操作的组件可为位于存储器系统104内的独立组件。
存储器装置112-1到112-P可包含数个存储器单元阵列。举例来说,阵列可以是具有NAND架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。存储器单元可例如分组成包含多个物理页的多个块。数个块可包含于存储器单元的平面中,且阵列可包含数个平面。
存储器装置112-1到112-P可包含易失性存储器和/或非易失性存储器。在数个实施例中,存储器装置112-1到112-P可包含多芯片装置。多芯片装置可包含数个不同的存储器类型和/或存储器模块。举例来说,存储器系统可包含任何类型的模块上的非易失性或易失性存储器。在其中存储器装置112-1到112-P包含非易失性存储器的实施例中,存储器装置112-1到112-P可为快闪存储器装置,例如NAND或NOR快闪存储器装置。
然而,实施例不限于此,且存储器装置112-1到112-P可包含其它非易失性存储器装置,例如非易失性随机存取存储器装置(例如,NVRAM、ReRAM、FeRAM、MRAM、PCM)),“新兴”存储器装置,例如电阻可变(例如,3-D交叉点(3D XP))存储器装置、包含自选存储器(SSM)单元阵列的存储器装置等,或其组合。电阻可变存储器装置可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相比,电阻可变非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。与基于快闪的存储器和电阻可变存储器相比,自选存储器单元可包含具有充当存储器单元的开关和存储元件两者的单种硫族化物材料的存储器单元。
存储器装置112-1到112-P可提供用于计算系统100的主存储器或可在整个计算系统100中用作额外存储器或存储装置。每一存储器装置112-1到112-P可包含存储器单元,例如易失性和/或非易失性存储器单元的一或多个阵列。举例来说,阵列可以是具有NAND架构的快闪阵列。实施例不限于特定类型的存储器装置。举例来说,存储器装置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快闪存储器等等。
图2A和2B是根据本公开的数个实施例的呈包含错误校正组件206的设备201形式的功能框图。错误校正组件206可类似于本文在图1中所说明的错误校正组件106。如图2A中所示,错误校正组件206可包含初始ECC逻辑214和后续ECC逻辑216。如图2B中所示,初始ECC逻辑214进一步包含第一层级错误校正218,而后续ECC逻辑216进一步包含第N层级错误校正222。错误校正组件206可驻留于例如图1中所说明的存储器系统104的存储器系统上(例如,物理上部署在其上)。
初始ECC逻辑214和后续ECC逻辑216可包含例如呈硬件和/或固件形式的数个组件,例如一或多个集成电路,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA),和/或用于对在主机(例如,图1中所说明的主机102)与存储器装置(例如,图1中所说明的存储器装置112-1到112-P)之间传送的数据执行错误校正操作的软件。
初始ECC逻辑214可经实施为BCH ECC和/或迭代编码器/解码器,例如LDPC ECC编码器/解码器,或作为对所接收数据执行错误校正操作的部分用以对从存储器系统接收的数据进行编码的其它合适的编码器。类似地,后续ECC逻辑216可经实施为BCH ECC编码器/解码器和/或迭代编码器/解码器,例如LDPC编码器/解码器,或作为对所接收数据执行错误校正操作的部分用以对从存储器系统接收的数据进行编码和/或解码的其它合适的编码器/解码器。
如上文所描述,错误校正组件206可从存储器装置(例如,图1中所说明的存储器装置112-1到112-P)接收数据且对数据执行错误校正操作。错误校正操作的执行可包含实施一或多个错误校正码以校正数据中的错误。
在一些实施例中,初始ECC逻辑214和/或后续ECC逻辑216可实施多个层的编码和/或解码。举例来说,初始ECC逻辑214和/或后续ECC逻辑216可包含第一层级错误校正218和/或第N层级错误校正222。举例来说,初始ECC逻辑214可包含呈BCH码的形式的第一层级错误校正218。类似地,后续ECC逻辑216可包含呈LDPC解码器的形式的第N层级错误校正222。然而,本公开的实施例不限于上述ECC的特定数量和/或类型,且可包含额外ECC,和/或与上文描述的那些不同的ECC的类型或排序。
根据本公开的各种实施例,初始ECC逻辑214和/或后续ECC逻辑216可选择性地实施全LDPC ECC方案(例如,使用初始ECC逻辑214和后续ECC逻辑216),或具有初始BCH码(例如,导致第一层级错误校正218)以及LDPC码和后续LDPC码(例如,导致第N层级错误校正)的分层ECC方案。在其它实例中,初始ECC逻辑214和/或后续ECC逻辑216可选择性地实施全BCH(或其它ECC方案)(例如,使用初始ECC逻辑214和后续ECC逻辑216),或具有初始BCH码(例如,导致第一层级错误校正218)以及相邻单元辅助错误校正(NAC)码和后续NAC码(例如,导致第N层级错误校正)的分层ECC方案。在上文描述的分层ECC方案中,BCH码、LDPC、NAC和/或其它ECC方案可例如运行多次迭代。残余错误可导致时延信息,所述时延信息可提示控制器(例如,图1的控制器110)预测数据和/或与数据相关联的物理地址的健康度。基于预测,控制器可采取动作和/或逐步升级到使用不同ECC方案的不同层级的错误校正。
在以上实例中,控制器可经配置以执行不同错误校正操作的多个迭代。错误校正操作的多个迭代可为不同的错误校正技术,且可在后续错误校正的每一迭代之后确定时延信息以预测数据和/或与数据相关联的物理地址的健康度。以此方式,存储器装置可避免在展现对存储于其中的数据赋予不可校正错误的较高可能性的物理地址空间中存储数据,这可通过部分地基于确定的时延采取动作(例如,预测对应于与数据相关联的物理地址空间的损耗量)而减少传播通过计算系统的不可校正错误的数量。这又可允许避免向主机装置报告不可校正错误。
控制器可实施ECC的任何组合以包括ECC的多个层。举例来说,错误校正组件206可包括多个ECC逻辑以提供多个层级的错误校正。如上文所描述,ECC的实例包含汉明码、RS码、BCH码、CRC码、戈莱码、里德-穆勒码、戈帕码、相邻单元辅助错误校正码、LDPC错误校正码,和丹尼斯顿码等等,且错误校正组件206可经配置以按各种次序实施此类ECC中的一或多个,作为对由错误校正组件206接收的数据提供多层ECC的部分。
控制器可至少部分地基于时延信息和/或由控制器确定的预测健康度且至少部分地基于时戳对ECC的迭代的指派而从第一层级错误校正218逐步升级到第N层级错误校正222。举例来说,控制器可经配置以对不同错误校正操作的多个迭代中的每一迭代指派时戳,且至少部分地基于指派于不同错误校正操作中的每一操作的时戳和初始时戳(当数据由控制器从例如图1的存储器装置112-1到112-P和/或缓冲器110等存储器装置接收时和/或当初始读取数据315时)确定对应于错误校正逻辑(例如,初始ECC逻辑214和/或后续ECC逻辑216)的时延。基于时延信息的确定,控制器可采取动作,例如确定可能需要的额外错误校正操作,预测对应于数据的损耗量,基于预测的损耗量引退对应于数据的物理地址,预测针对对应于数据的物理地址位置留下的数据传送循环的剩余数量,或其组合。另外,控制器可确定数据不可校正且向主机(例如,图1的主机102)报告不可校正数据。使用这些方法,存储器系统(例如,图1的存储器系统100)可避免接收到不可校正数据。
图3是根据本公开的数个实施例的表示实例数据315和预测性存储器管理操作的流程图。图3说明可类似于结合图1描述的缓冲器109和控制器110的缓冲器309和控制器310。图3进一步说明第一层级的错误校正318和第N层级错误校正322,其可包含于错误校正组件(例如,结合图1描述的错误校正组件106)中且类似于结合图2B描述的第一层级错误校正218和第N层级错误校正222。
缓冲器309、控制器310、第一层级的错误校正318和第N层级错误校正322可为计算系统(例如,图1的计算系统100)的部分。虽然此处未示出以免混淆本公开的实例,但主机(例如,图1的主机102)可耦合到存储器系统(例如,图1的存储器系统104),且控制器310可驻留于存储器系统上。
数据315可存储于存储器装置(例如,图1的存储器装置112)中且在缓冲器309中缓冲直到其由控制器310读取。举例来说,控制器310可经配置以经由缓冲器309从存储器装置接收数据315(在框317处)。数据315可对应于主机的操作。在一些实施例中,主机可从存储器装置请求数据315以执行操作。
控制器310可对数据315指派初始时戳325。初始时戳325可为当从缓冲器309和/或存储器装置初始接收数据时和/或当初始读取数据315时。为了避免报告不可校正错误传送到主机,控制器310可执行一或多个错误校正操作。举例来说,控制器310可经配置以在第一层级的错误校正318处执行一或多个错误校正操作。在一些实施例中,控制器310可在不同相应离散读取电压下执行初始错误校正操作,且初始错误校正操作可对应于对数据315的第一层级的错误校正318。控制器310可在对数据315执行的初始错误校正操作之后指派时戳324-1。控制器310可基于时戳324-1和初始时戳325确定时延信息326-1。
控制器310可基于在相应离散读取电压下的相应迭代的执行与初始时戳325之间的时间周期而确定时延信息,例如与执行所述多个初始错误校正操作相关联的时延信息326-1。至少部分地基于时延信息326-1,控制器310可预测数据315的健康度(例如,预测对应于数据315的损耗量)且采取动作。举例来说,动作可为控制器310经配置以预测针对对应于数据315的物理地址位置留下的数据传送循环的剩余数量。基于动作,控制器310可使用对应于第一层级或错误校正318的ECC逻辑执行错误校正操作的另一迭代。在第一层级的错误校正318处的错误校正操作的额外迭代之后,控制器310可指派另一时戳324-2以基于时戳324-2和初始时戳325确定另一(例如,不同)时延信息326-2。
如本文所提到,控制器310可包含经配置以执行初始错误校正操作、后续错误校正操作或这两者的错误校正逻辑。基于从时戳324-2确定的时延信息326-2以及数据315的健康度和/或损耗的后续预测,控制器310可确定使用对应于第N层级的错误校正322的ECC逻辑对数据315执行后续错误校正操作。在执行第N层级错误校正322的迭代之后,控制器310可指派时戳324-3以确定时延信息326-3。时延信息326-3可基于时戳324-3和初始时戳325。控制器310可使用时延信息326-3以基于在第N层级的错误校正322处执行的后续错误校正操作确定对应于数据315的物理地址位置的健康度信息。以此方式,控制器310可预测与数据315相关联的健康度和/或预测对应于数据的损耗量且采取动作。
控制器310可执行后续错误校正操作的多个迭代。举例来说,至少部分地基于从被指派时戳324-3的第N层级错误校正322操作确定的时延信息326-3,控制器可在第N层级的错误校正322处执行后续错误校正操作的另一迭代。控制器310可对在第N层级的错误校正322处的错误校正操作指派时戳324-M且确定时延信息326-S。时延信息326-S可基于时戳324-M和初始时戳325。控制器310可使用时延信息326-S以基于在第N层级的错误校正322处执行的后续错误校正操作确定对应于数据315的物理地址位置的健康度信息。以此方式,控制器310可预测与数据315相关联的健康度和/或预测对应于数据的损耗量且采取动作。
举例来说,控制器310可至少部分地基于确定的对应于物理地址位置的健康度信息采取涉及物理地址位置的动作。在一些实施例中,控制器310可经配置以至少部分地基于例如与所述至少一个后续错误校正操作相关联的326-S的时延信息预测针对所述多个物理地址留下的数据传送循环的剩余数量。基于确定的每一时延信息326,控制器310可指派针对物理地址留下的剩余数据传送循环的数量。在一些实施例中,控制器310可经配置以在所述数量的数据传送循环已完成之后引退所述多个物理地址。多层级错误校正操作和预测性存储器管理可以此方式继续直到控制器310不检测到任何额外错误和/或确定错误不可校正为止。
图4是根据本公开的数个实施例的表示预测性存储器管理操作的流程图。图4说明各种层级的错误校正、对应于各种层级的错误校正的执行的时延信息,以及基于时延信息指派于迭代或错误校正的时戳。图4进一步说明第一层级的错误校正418、第二层级的错误校正420和第N层级错误校正422,其可包含于错误校正组件(例如,结合图1描述的错误校正组件106)中且类似于结合图2B描述的第一层级错误校正218和第N层级错误校正222。
在一些实施例中,第一层级的错误校正418、第二层级的错误校正420和第N层级的错误校正422可使用玻色-乔杜里-霍赫昆海姆(BCH)错误校正码、相邻单元辅助错误校正(NAC)码或这两者中的至少一个来执行,且后续错误校正操作可使用NAC代码、存储器保护错误校正码或这两者来执行。在其它实施例中,可使用其它错误校正码方案(例如,汉明码、RS码等)。
缓冲器(例如,图1的缓冲器109)、控制器(例如,图1的控制器110)、执行第一层级的错误校正418、第二层级的错误校正420和第N层级错误校正422的电路可为计算系统(例如,图1的计算系统100)的部分。虽然此处未示出以免混淆本公开的实例,但主机(例如,图1的主机102)可耦合到存储器系统(例如,图1的存储器系统104),且控制器可驻留于存储器系统上。
在430,控制器可经由缓冲器从存储器装置接收对应于主机的操作的数据。在一些实施例中,控制器可从主机接收对数据的请求。控制器可对数据指派初始时戳425。可响应于从缓冲器和/或存储器装置接收的数据而指派初始时戳425,或初始时戳425可对应于控制器对从缓冲器和/或存储器装置接收的数据开始读取操作。控制器可经配置以调整在读取操作期间施加于数据的相应离散读取电压(例如,VDM)。
如本文所使用,“离散读取电压”或“VDM”大体上指代当感测存储器单元的状态时可跨越存储器单元的端子施加的分界电压。可基于存储器单元对所施加离散读取电压的反应来感测存储器单元的状态。举例来说,存储器单元可进入导电接通状态(逻辑一)或保持于弱导电断开状态(逻辑零)。存储器单元从被感测为逻辑一转变到被感测为逻辑零的所施加电压可称为存储器单元的阈值电压。因此,作为实例,当VDM高于存储器单元的阈值电压时,存储器单元可被感测为存储逻辑一,且当VDM低于存储器单元的阈值电压时,存储器单元可被感测为存储逻辑零。
在432,控制器可经配置以用第一离散读取电压(VDM1)读取数据且记录第一时戳424-1,其中第一时戳424-1对应于控制器的第一读取的完成。控制器可基于第一时戳424-1和初始时戳425确定第一时延信息426-1。时延信息可由控制器使用以预测数据的健康度。时延信息,例如时延信息426-1,可用以预测数据是否不可校正或损毁。时延信息,例如时延信息426-1,可用以防止向主机报告不可校正数据。控制器可至少部分地基于确定的对应于与数据对应的物理地址位置的健康度的时延信息424-1而在框428-1处采取涉及物理地址位置的动作。
采取动作可包含至少部分地基于时延信息确定对应于数据的一个物理地址位置或多个物理地址位置降级,且在框436-1处结束读取操作。在另一实施例中,采取动作可包含预测对应于数据的损耗量,且部分地基于预测的损耗量引退对应于数据的物理地址位置。在另一实施例中,采取动作可包含至少部分地基于时延信息预测针对所述多个地址位置留下的数据传送循环的剩余数量。预测数据传送循环的剩余数量可包含在最后数据传送循环之后引退物理地址位置。如果不存在错误,那么读取操作在436-1处结束。如果控制器确定要采取的动作将引退对应于数据的物理地址位置,那么读取操作在436-1处结束。
在一些实施例中,当控制器确定数据中存在错误且控制器确定数据健康到足以继续进行错误校正操作时,控制器可调整离散读取电压且尝试读取数据。在440,控制器可以第二离散读取电压(VDM2)读取数据且记录第二时戳424-2。控制器可至少部分地基于初始时戳425和第二时戳424-2确定第二时延信息426-2。
基于第二时延信息426-2,如果物理地址位置经引退,那么控制器可在428-2采取动作,或如果控制器确定数据中不再存在错误,那么操作可在436-2结束且数据可传输到主机和/或保存于计算装置中。
在一些实施例中,控制器可经配置以如箭头450所指示将读取迭代重复若干次迭代,直到确定数据不含错误,或直到已经执行可基于时延信息通过数据的健康度确定的特定数量的迭代。控制器可进一步经配置以至少部分地基于与在相应离散读取电压下执行所述多个读取操作和/或错误校正操作相关联的时延信息来调整读取操作、初始错误校正操作和/或后续错误校正操作的相应离散读取电压。控制器可经配置以改变用于每一迭代的电压,或电压可保持相同。
举例来说,控制器可在不同的相应离散读取电压下执行一或多个初始错误校正操作,其中所述一或多个初始错误校正操作对应于对数据的第一层级的错误校正。具体地,控制器可应用对应于第一层级的错误校正418的错误校正操作。控制器可指派第三时戳424-3且使用第三时戳424-3连同初始时戳425一起来确定第三时延信息426-3。第三时延信息426-3可用以预测数据的健康度。
基于第三时延信息426-3,控制器可在428-3采取动作,且如果物理地址位置经引退,或如果控制器确定数据中不再存在错误,那么操作可在436-3结束且数据可传输到主机和/或保存于计算装置中。
控制器可确定数据中存在残余错误且基于确定的数据的健康度,控制器可重复对应于第一层级的错误校正418的初始错误校正操作,如由箭头452所指示。在其它实施例中,控制器可确定数据的健康度足够和/或尚未达到数据传送循环的预测数量以使得允许执行初始错误校正操作的更多迭代,和/或控制器可至少部分地基于数据的预测健康度(例如,第三时延信息426-3)对数据执行对应于第二层级的错误校正的一或多个后续错误校正操作。
举例来说,控制器可在不同的相应离散读取电压下执行一或多个后续错误校正操作,其中所述一或多个后续错误校正操作对应于对数据的第二层级的错误校正。具体地,控制器可应用对应于第二层级的错误校正420的错误校正操作。控制器可指派第四时戳424-4且确定数据中是否存在残余错误。控制器可指派第四时戳424-4且使用第四时戳424-4连同初始时戳425一起来确定第四时延信息426-4。第四时延信息426-4可用以预测数据的健康度。
基于第四时延信息426-4,控制器可在428-4采取动作,且如果物理地址位置经引退,或如果控制器确定数据中不再存在错误,那么操作可在436-4结束且数据可传输到主机和/或保存于计算装置中。
控制器可确定数据中存在残余错误且基于确定的数据的健康度,控制器可重复对应于第二层级的错误校正420的后续错误校正操作,如由箭头454所指示。在其它实施例中,控制器可确定数据的健康度足够好和/或尚未达到数据传送循环的预测数量以使得允许执行后续错误校正操作的更多迭代,和/或控制器可至少部分地基于预测的数据的健康度(例如,第四时延信息426-4)对数据执行对应于第N层级的错误校正的一或多个后续错误校正操作。
举例来说,控制器可在不同的相应离散读取电压下执行一或多个(额外)后续错误校正操作,其中所述一或多个后续错误校正操作对应于对数据的第N层级的错误校正。具体地,控制器可应用对应于第N层级的错误校正422的错误校正操作。控制器可指派第五时戳424-M且确定数据中是否存在残余错误。控制器可指派第五时戳424-M且使用第五时戳424-M连同初始时戳425一起来确定第五时延信息426-S。第五时延信息426-5可用以预测数据的健康度。
基于第五时延信息426-5,控制器可在428-P采取动作,且如果物理地址位置经引退,或如果控制器确定数据中不再存在错误,那么操作可在436-R结束且数据可传输到主机和/或保存于计算装置中。
控制器可确定数据中存在残余错误且基于确定的数据的健康度,控制器可重复对应于第N层级的错误校正422的后续错误校正操作,如由箭头456所指示。在其它实施例中,控制器可确定数据的健康度足够好和/或尚未达到数据传送循环的预测数量以使得允许执行后续错误校正操作的更多迭代,和/或控制器可至少部分地基于预测的数据的健康度(例如,第四时延信息426-4)对数据执行对应于第N层级的错误校正的一或多个后续错误校正操作。
在其中错误不可校正或控制器确定数据的健康度不足的情况下,控制器(在458)可向主机和/或计算系统报告不可校正错误。以此方式,存储器装置可避免向主机传输不可校正数据。
图5是根据本公开的数个实施例的表示用于预测性存储器管理的实例方法560的流程图。在框562处,方法560可包含由控制器(例如,图1的控制器110)确定对应于对由控制器接收的数据执行的一或多个错误校正操作的时延信息。时延信息可用以预测数据和/或对应于数据的物理地址位置的健康度。
可在错误校正操作之后从指派于数据的时戳确定时延信息。当从存储器装置(例如,图1的存储器装置112和/或缓冲器109)接收数据时,或当控制器对数据发起读取操作时,可指派初始时戳(例如,图3的初始时戳325或图4的初始时戳425)。在一些实施例中,方法560可包含由控制器对提供第一层级(例如,第一层级的错误校正318)的错误校正的错误校正操作的迭代指派第一时戳(例如,图3的第一时戳324-1或图4的第一时戳424-1);以及由控制器至少部分地基于从第一时戳和/或初始时戳确定的时延信息而确定对数据执行提供第一层级的错误校正的错误校正操作的后续迭代。可对错误校正操作的后续迭代指派额外时戳。
举例来说,方法560可进一步包含由控制器对提供第一层级的错误校正的错误校正操作的后续迭代指派第二时戳(例如,第二时戳324-2);以及由控制器至少部分地基于第二时戳确定时延信息;以及基于从第二时戳和/或初始时戳确定的时延信息指派对应于所述多个物理地址位置的健康度的信息。控制器可基于每一确定的时延信息对数据指派健康度信息。
举例来说,方法560在框564处可包含基于时延信息指派对应于与数据对应的多个物理地址位置的健康度的信息。在一些实施例中,控制器可基于时延信息采取动作。方法560在框566处可包含基于时延信息指派对应于与数据对应的多个物理地址位置的健康度的信息。此类动作可包含预测对应于数据的损耗量且部分地基于预测的损耗量而引退对应于数据的物理地址;确定对应于数据的物理地址位置降级,和基于损耗的确定引退物理地址位置;和/或预测针对物理地址位置留下的数据传送循环的剩余数量,且在所述数量的数据传送循环中的最后数据传送循环之后引退所述多个物理地址位置。在其中数据的健康度良好的实施例中,或当留下多个数据传送循环时,控制器可确定在不同层级执行错误校正操作。
举例来说,方法660可包含由控制器对提供第二层级的错误校正(例如,图3的第N层级的错误校正322)的错误校正操作的迭代指派第二时延信息(例如,图3的时延信息326-3),其中第二时延信息是基于时戳(例如,图3的时戳324-3)和/或初始时戳325;以及由控制器至少部分地基于第二时延信息确定对数据执行提供第二层级的错误校正的错误校正操作的后续迭代。
举例来说,方法660可包含由控制器对提供第二层级的错误校正的错误校正操作的后续迭代指派不同时戳(例如,图3的时戳324-M);以及由控制器至少部分地基于所述不同时戳和/或初始时戳确定新时延信息(例如,时延信息326-S);以及基于从所述不同时戳确定的新时延信息指派和/或更新对应于所述多个物理地址的健康度的信息。
图6是根据本公开的数个实施例的表示用于预测性存储器管理的实例方法670的流程图。在框672处,方法670可包含由耦合到存储器装置(例如,图1的存储器装置112)的控制器(例如,图1的控制器110)监视对应于数据的物理地址的健康度。控制器可监视来自主机(例如,图1的主机102)的数据请求且确定数据在传送主机之前是否需要错误校正操作。
在框674处,方法670包含由控制器使用驻留于控制器上的错误校正组件基于对数据执行的错误校正操作的迭代确定时延信息,其中错误校正组件包含使用错误校正组件(例如,图1的错误校正组件106)的多层级错误校正。错误校正组件可包含驻留于控制器上的错误校正逻辑(例如,图2A和2B的初始ECC逻辑214),且错误校正操作可对数据提供多个层级的错误校正(例如,图2的第一层级的错误校正218和第N层级的错误校正222)。方法670可包含对错误校正操作的迭代指派时戳以确定时延信息以确定数据的健康度。
举例来说,在框676处,方法670包含由控制器至少部分地基于时延信息确定对应于数据的物理地址的健康度。控制器可使用时延信息以采取可防止向主机报告不可校正数据的动作。举例来说,在框678处,方法670包含至少部分地基于时延信息和所述多个物理地址的健康度预测针对物理地址留下的数据传送循环的剩余数量。
时延信息可由控制器在错误校正的每一迭代之后确定。举例来说,方法670可包含由控制器接收对应于提供第一层级的错误校正的错误校正操作的时延信息;以及由控制器基于对应于提供第一层级的错误校正的错误校正操作的时延信息确定对应于数据的所述多个物理地址的健康度。控制器可在第一层级的错误校正之后确定数据传送循环的剩余数量。
举例来说,方法670可包含由控制器确定数据传送循环的剩余数量;使用错误校正组件至少部分地基于对应于提供第一层级的错误校正的错误校正操作的时延信息和对应于数据的物理地址的健康度而对数据执行提供第二层级的错误校正的错误校正操作;以及由控制器确定对应于提供第二层级的错误校正的错误校正操作的时延信息。此外,控制器可在第一第二层级的错误校正之后确定数据传送循环的剩余数量。
举例来说,方法670可包含确定数据传送循环的剩余数量;以及使用错误校正组件至少部分地基于对应于提供第二层级的错误校正的错误校正操作的时延信息和对应于数据的物理地址的健康度而对数据执行提供第三层级的错误校正的错误校正操作;以及由控制器确定对应于提供第三层级的错误校正的错误校正操作的时延信息。此外,控制器可在第三层级的错误校正之后确定数据传送循环的剩余数量。
举例来说,方法670可包含确定数据传送循环的剩余数量;至少部分地基于时延信息、对应于数据的所述多个物理地址的健康度或这两者而避免执行后续错误校正迭代;以及由控制器至少部分地基于时延信息、对应于数据的所述多个物理地址的健康度、数据传送循环的剩余数量低于数据传送循环的阈值数量或其组合而引退对应于数据的所述多个物理地址。
虽然已在本文中示出并描述了具体实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所示出的具体实施例。本公开意图覆盖本公开的一或多个实施例的修改或变化。应理解,以说明方式而非限制方式进行了以上描述。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本公开的一或多个实施例的范围包含其中使用以上结构和过程的其它应用。因此,应参考所附权利要求书连同此类权利要求所赋予的等效物的全范围确定本公开的一或多个实施例的范围。
在前述具体实施方式中,出于简化本公开的目的而将一些特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。实际上,如所附权利要求书所反映,本发明主题在于单个所公开实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例。
Claims (22)
1.一种方法,其包括:
由控制器确定对应于对由所述控制器接收的数据执行的一或多个错误校正操作的时延信息;
基于所述时延信息指派对应于与所述数据对应的多个物理地址位置的健康度的信息;以及
至少部分地基于对应于与所述数据对应的所述多个物理地址位置的所述健康度的所述信息而采取涉及所述多个物理地址位置的动作。
2.根据权利要求1所述的方法,其中采取动作包含:
预测对应于与所述数据对应的所述多个物理地址位置中的物理地址位置的损耗量;以及
部分地基于预测的所述损耗量引退对应于所述数据的所述物理地址位置。
3.根据权利要求1所述的方法,其中采取动作包含:
至少部分地基于所述时延信息确定所述多个物理地址位置中的物理地址位置降级;以及
从操作引退所述物理地址位置。
4.根据权利要求1到3中任一权利要求所述的方法,其中采取动作包含至少部分地基于所述时延信息预测针对所述多个物理地址位置留下的数据传送循环的剩余数量。
5.根据权利要求4所述的方法,其中预测数据传送循环的所述剩余数量包含在所述数量的数据传送循环中的最后数据传送循环之后引退所述多个物理地址位置。
6.根据权利要求1到3中任一权利要求所述的方法,其进一步包括:
由所述控制器对提供第一层级的错误校正的所述错误校正操作的迭代指派第一时戳;以及
由所述控制器至少部分地基于从所述第一时戳确定的所述时延信息确定对所述数据执行提供所述第一层级的错误校正的所述错误校正操作的后续迭代。
7.根据权利要求6所述的方法,其进一步包括:
由所述控制器对提供所述第一层级的错误校正的所述错误校正操作的所述后续迭代指派第二时戳;以及
由所述控制器至少部分地基于所述第二时戳确定所述时延信息;以及
基于从所述第二时戳确定的所述时延信息指派对应于所述多个物理地址位置的所述健康度的所述信息。
8.根据权利要求1到3中任一权利要求所述的方法,其进一步包括:
由所述控制器对提供第二层级的错误校正的所述错误校正操作的迭代指派第二时延信息,其中所述第二时延信息是基于时戳;以及
由所述控制器至少部分地基于所述第二时延信息确定对所述数据执行提供所述第二层级的错误校正的所述错误校正操作的后续迭代。
9.根据权利要求8所述的方法,其进一步包括:
由所述控制器对提供所述第二层级的错误校正的所述错误校正操作的所述后续迭代指派不同时戳;以及
由所述控制器至少部分地基于所述不同时戳确定新时延信息;以及
基于从所述不同时戳确定的所述新时延信息指派对应于所述多个物理地址的所述健康度的所述信息。
10.一种方法,其包括:
由耦合到存储器装置的控制器监视对应于数据的多个物理地址的健康度;
由所述控制器使用驻留于所述控制器上的错误校正组件基于对所述数据执行的错误校正操作的迭代而确定时延信息,其中所述错误校正组件包含多层级错误校正;
由所述控制器至少部分地基于所述时延信息确定对应于所述数据的所述多个物理地址的所述健康度;以及
至少部分地基于所述时延信息和所述多个物理地址的所述健康度预测针对所述多个物理地址留下的数据传送循环的剩余数量。
11.根据权利要求10所述的方法,其进一步包括:
由所述控制器接收对应于提供第一层级的错误校正的所述错误校正操作的时延信息;以及
由所述控制器基于对应于提供所述第一层级的错误校正的所述错误校正操作的所述时延信息确定对应于所述数据的所述多个物理地址的所述健康度。
12.根据权利要求11所述的方法,其进一步包括:
确定数据传送循环的所述剩余数量;
使用所述错误校正组件至少部分地基于对应于提供所述第一层级的错误校正的所述错误校正操作的所述时延信息和对应于所述数据的所述多个物理地址的所述健康度而对所述数据执行提供第二层级的错误校正的错误校正操作;以及
由所述控制器确定对应于提供所述第二层级的错误校正的所述错误校正操作的时延信息。
13.根据权利要求12所述的方法,其进一步包括:
确定数据传送循环的所述剩余数量;以及
使用所述错误校正组件至少部分地基于对应于提供所述第二层级的错误校正的所述错误校正操作的所述时延信息和对应于所述数据的所述多个物理地址的所述健康度而对所述数据执行提供第三层级的错误校正的错误校正操作;以及
由所述控制器确定对应于提供所述第三层级的错误校正的所述错误校正操作的时延信息。
14.根据权利要求10到11中任一权利要求所述的方法,其进一步包括:
确定数据传送循环的所述剩余数量;
至少部分地基于所述时延信息、对应于所述数据的所述多个物理地址的所述健康度或这两者而避免执行后续错误校正迭代;以及
由所述控制器至少部分地基于所述时延信息、对应于所述数据的所述多个物理地址的所述健康度、数据传送循环的所述剩余数量低于数据传送循环的阈值数量或其组合而引退对应于所述数据的所述多个物理地址。
15.一种设备,其包括:
控制器,其耦合到存储器装置,所述控制器包含驻留于其上的错误校正组件,其中所述控制器经配置以:
使用所述错误校正组件对对应于所述存储器装置的多个物理地址位置的数据执行初始错误校正操作;
对所述初始错误校正操作指派第一时戳;
使用错误校正逻辑执行后续错误校正操作;
对所述后续错误校正操作指派第二时戳;
至少部分地基于所述第一时戳和所述第二时戳确定对应于所述初始错误校正操作和所述后续错误校正操作的时延信息;
基于所述时延信息指派对应于与所述数据对应的所述多个物理地址位置的健康度的信息;以及
至少部分地基于对应于与所述数据对应的所述多个物理地址位置的所述健康度的所述信息而采取涉及所述多个物理地址位置的动作。
16.根据权利要求15所述的设备,其中所述时延信息与残余位错误率RBER相关联。
17.根据权利要求15到16中任一权利要求所述的设备,其中在每一后续错误校正操作之后确定时延信息,且部分地基于在每一后续错误校正操作之后确定的所述时延信息确定所述多个物理地址位置的所述健康度。
18.根据权利要求15到16中任一权利要求所述的设备,其中所述控制器进一步经配置以:
确定对应于所述多个物理地址位置的所述健康度的所述信息指示所述多个物理地址位置中的一或多个在特定数量的后续数据循环内经历失败;以及
基于所述多个物理地址位置中的所述一或多个将在所述特定数量的后续数据循环内经历所述失败的确定可能性所述指派的健康度信息而引退所述多个物理地址位置。
19.一种系统,其包括:
主机;以及
存储器系统,其耦合到所述主机,所述存储器系统包括驻留于所述存储器系统上的控制器,其中所述控制器经配置以:
从存储器装置接收对应于所述主机的操作的数据;
在不同的相应离散读取电压下执行多个初始错误校正操作,其中所述多个初始错误校正操作对应于对所述数据的第一层级的错误校正;
基于在所述相应离散读取电压下的相应迭代的执行之间的时间周期而确定与执行所述多个初始错误校正操作相关联的时延信息;
至少部分地基于所述确定的时延信息对所述数据执行对应于第二层级的错误校正的至少一个后续错误校正操作;
基于在执行所述至少一个后续错误校正操作中的相应错误校正操作中消耗的时间周期而确定与执行所述至少一个后续错误校正操作相关联的时延信息;
基于执行的后续错误校正操作的数量而确定对应于所述数据的物理地址位置的健康度信息;以及
至少部分地基于所述确定的对应于所述物理地址位置的健康度信息而采取涉及所述物理地址位置的动作。
20.根据权利要求19所述的系统,其中所述控制器进一步经配置以至少部分地基于与所述至少一个后续错误校正操作相关联的所述时延信息预测针对所述多个物理地址留下的数据传送循环的剩余数量。
21.根据权利要求20所述的系统,其中所述控制器进一步经配置以至少部分地基于所述预测的针对所述多个物理地址留下的数据传送循环的剩余数量而指派针对所述多个物理地址留下的数据传送循环的剩余数量的数量。
22.根据权利要求21所述的系统,其中所述控制器进一步经配置以在所述数量的数据传送循环已完成之后引退所述多个物理地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/545,372 | 2019-08-20 | ||
US16/545,372 US11150812B2 (en) | 2019-08-20 | 2019-08-20 | Predictive memory management |
PCT/US2020/046730 WO2021034788A1 (en) | 2019-08-20 | 2020-08-18 | Predictive memory management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114223033A true CN114223033A (zh) | 2022-03-22 |
CN114223033B CN114223033B (zh) | 2023-02-21 |
Family
ID=74645847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080057265.9A Active CN114223033B (zh) | 2019-08-20 | 2020-08-18 | 预测性存储器管理 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11150812B2 (zh) |
KR (1) | KR102440704B1 (zh) |
CN (1) | CN114223033B (zh) |
DE (1) | DE112020003961T5 (zh) |
WO (1) | WO2021034788A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11150812B2 (en) * | 2019-08-20 | 2021-10-19 | Micron Technology, Inc. | Predictive memory management |
CN114860150A (zh) * | 2021-02-04 | 2022-08-05 | 戴尔产品有限公司 | 在存储群集的存储系统之间执行损耗均衡 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150243373A1 (en) * | 2014-02-23 | 2015-08-27 | Qualcomm Incorporated | Kernel masking of dram defects |
CN105074655A (zh) * | 2013-01-21 | 2015-11-18 | 高通股份有限公司 | 用于取消对循环的数据预取请求的方法和设备 |
US20180232274A1 (en) * | 2016-01-29 | 2018-08-16 | Toshiba Memory Corporation | Global error recovery system |
CN108984329A (zh) * | 2017-05-31 | 2018-12-11 | 英特尔公司 | 延迟错误处理 |
CN109154901A (zh) * | 2016-04-15 | 2019-01-04 | 美光科技公司 | 监测存储器中执行的错误校正操作 |
CN109616148A (zh) * | 2017-09-22 | 2019-04-12 | 爱思开海力士有限公司 | 具有解码器的存储器系统、其操作方法和解码器 |
US20190171381A1 (en) * | 2017-12-06 | 2019-06-06 | International Business Machines Corporation | Reducing unnecessary calibration of a memory unit for which the error count margin has been exceeded |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7352621B2 (en) | 2005-06-23 | 2008-04-01 | Intel Corporation | Method for enhanced block management |
US8019938B2 (en) | 2006-12-06 | 2011-09-13 | Fusion-I0, Inc. | Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage |
JP5014821B2 (ja) | 2007-02-06 | 2012-08-29 | 株式会社日立製作所 | ストレージシステム及びその制御方法 |
US7681089B2 (en) | 2007-02-20 | 2010-03-16 | Dot Hill Systems Corporation | Redundant storage controller system with enhanced failure analysis capability |
US7804718B2 (en) * | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US8473779B2 (en) | 2008-02-29 | 2013-06-25 | Assurance Software And Hardware Solutions, Llc | Systems and methods for error correction and detection, isolation, and recovery of faults in a fail-in-place storage array |
US8037380B2 (en) | 2008-07-08 | 2011-10-11 | International Business Machines Corporation | Verifying data integrity of a non-volatile memory system during data caching process |
US8380915B2 (en) * | 2010-01-27 | 2013-02-19 | Fusion-Io, Inc. | Apparatus, system, and method for managing solid-state storage media |
US8495435B2 (en) | 2010-09-22 | 2013-07-23 | Intel Corporation | Dynamic physical memory replacement through address swapping |
US8990538B2 (en) * | 2010-11-05 | 2015-03-24 | Microsoft Corporation | Managing memory with limited write cycles in heterogeneous memory systems |
US10359949B2 (en) | 2011-10-31 | 2019-07-23 | Apple Inc. | Systems and methods for obtaining and using nonvolatile memory health information |
US9846641B2 (en) * | 2012-06-18 | 2017-12-19 | International Business Machines Corporation | Variability aware wear leveling |
US9195396B2 (en) * | 2013-03-14 | 2015-11-24 | SanDisk Technologies, Inc. | Estimating access frequency statistics for storage device |
US10475523B2 (en) * | 2013-05-31 | 2019-11-12 | Western Digital Technologies, Inc. | Updating read voltages triggered by the rate of temperature change |
US9535774B2 (en) * | 2013-09-09 | 2017-01-03 | International Business Machines Corporation | Methods, apparatus and system for notification of predictable memory failure |
US9513815B2 (en) * | 2013-12-19 | 2016-12-06 | Macronix International Co., Ltd. | Memory management based on usage specifications |
US9990279B2 (en) * | 2014-12-23 | 2018-06-05 | International Business Machines Corporation | Page-level health equalization |
US9654148B2 (en) * | 2015-01-06 | 2017-05-16 | Samsung Electronics Co., Ltd. | Reconfigurable ECC for memory |
KR102420025B1 (ko) | 2017-06-19 | 2022-07-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US11132133B2 (en) * | 2018-03-08 | 2021-09-28 | Toshiba Memory Corporation | Workload-adaptive overprovisioning in solid state storage drive arrays |
US10990304B2 (en) * | 2019-06-27 | 2021-04-27 | Western Digital Technologies, Inc. | Two-dimensional scalable versatile storage format for data storage devices |
US11150812B2 (en) * | 2019-08-20 | 2021-10-19 | Micron Technology, Inc. | Predictive memory management |
-
2019
- 2019-08-20 US US16/545,372 patent/US11150812B2/en active Active
-
2020
- 2020-08-18 DE DE112020003961.7T patent/DE112020003961T5/de active Pending
- 2020-08-18 KR KR1020227001795A patent/KR102440704B1/ko active IP Right Grant
- 2020-08-18 WO PCT/US2020/046730 patent/WO2021034788A1/en active Application Filing
- 2020-08-18 CN CN202080057265.9A patent/CN114223033B/zh active Active
-
2021
- 2021-10-11 US US17/450,516 patent/US11714558B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105074655A (zh) * | 2013-01-21 | 2015-11-18 | 高通股份有限公司 | 用于取消对循环的数据预取请求的方法和设备 |
US20150243373A1 (en) * | 2014-02-23 | 2015-08-27 | Qualcomm Incorporated | Kernel masking of dram defects |
US20180232274A1 (en) * | 2016-01-29 | 2018-08-16 | Toshiba Memory Corporation | Global error recovery system |
CN109154901A (zh) * | 2016-04-15 | 2019-01-04 | 美光科技公司 | 监测存储器中执行的错误校正操作 |
CN108984329A (zh) * | 2017-05-31 | 2018-12-11 | 英特尔公司 | 延迟错误处理 |
CN109616148A (zh) * | 2017-09-22 | 2019-04-12 | 爱思开海力士有限公司 | 具有解码器的存储器系统、其操作方法和解码器 |
US20190171381A1 (en) * | 2017-12-06 | 2019-06-06 | International Business Machines Corporation | Reducing unnecessary calibration of a memory unit for which the error count margin has been exceeded |
Also Published As
Publication number | Publication date |
---|---|
DE112020003961T5 (de) | 2022-08-18 |
WO2021034788A1 (en) | 2021-02-25 |
US11714558B2 (en) | 2023-08-01 |
US20210055868A1 (en) | 2021-02-25 |
KR102440704B1 (ko) | 2022-09-07 |
US20220027058A1 (en) | 2022-01-27 |
CN114223033B (zh) | 2023-02-21 |
KR20220013008A (ko) | 2022-02-04 |
US11150812B2 (en) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11334413B2 (en) | Estimating an error rate associated with memory | |
US11586679B2 (en) | Proactive corrective actions in memory based on a probabilistic data structure | |
KR102102828B1 (ko) | 메모리에서 에러 정정 코드(ecc) 연산 | |
US11714558B2 (en) | Predictive memory management | |
CN116168753A (zh) | 存储器装置缺陷扫描 | |
CN108701491B (zh) | 用于错误率降低的方法和设备 | |
US20230100557A1 (en) | Host-based error correction | |
US10084487B2 (en) | Apparatuses and methods for erasure-assisted ECC decoding | |
US11437119B2 (en) | Error read flow component | |
US11656931B2 (en) | Selective sampling of a data unit based on program/erase execution time | |
US11934266B2 (en) | Memory compaction management in memory devices | |
US20240069765A1 (en) | Two-tier defect scan management | |
WO2021011414A1 (en) | Recovery management of retired super management units |
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 |