CN113039515B - 用于基于存储器组件耐久性估计执行耗损均衡调整的存储器子系统 - Google Patents
用于基于存储器组件耐久性估计执行耗损均衡调整的存储器子系统 Download PDFInfo
- Publication number
- CN113039515B CN113039515B CN201980075914.5A CN201980075914A CN113039515B CN 113039515 B CN113039515 B CN 113039515B CN 201980075914 A CN201980075914 A CN 201980075914A CN 113039515 B CN113039515 B CN 113039515B
- Authority
- CN
- China
- Prior art keywords
- selected block
- endurance
- determining
- wear
- leveling
- 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.)
- Active
Links
Images
Classifications
-
- 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/0653—Monitoring storage devices or 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
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 Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种系统,其包括:存储器组件,其包含块;以及处理装置,其与所述存储器组件可操作地耦合。所述处理装置确定所述存储器组件的耐久性值。针对多个块中的每个选定块,所述处理装置基于擦除所述选定块的时间或所述选定块的错误统计中的至少一者来确定所述选定块的耐久性估计,且基于所述选定块的所述耐久性估计而更新与所述选定块相关联的耐久性值。所述处理装置接收发往所述存储器组件的写入指令,且基于所述耐久性值将所述写入指令分发到所述块中的一或多者。描述了其它实施例。
Description
优先权申请
本申请案主张2018年11月20日提交的美国申请案序号16/196,113的优先权,所述美国申请案以全文引用的方式并入本文中。
技术领域
本公开的实施例大体上涉及存储器子系统,且更确切地说,涉及基于存储器组件耐久性估计执行耗损均衡调整。
背景技术
存储器子系统可为存储系统,例如固态驱动器(SSD)或硬盘驱动器(HDD)。存储器子系统可为存储器模块,例如双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)或非易失性双列直插式存储器模块(NVDIMM)。存储器子系统可包含存储数据的一或多个存储器组件。存储器组件可例如为非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。
附图说明
根据下文给出的具体实施方式且根据本公开的各种实施例的附图将更加充分地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2为根据本公开的一些实施例的用以基于存储器组件耐久性估计执行耗损均衡调整的实例方法的流程图。
图3为根据本公开的一些实施例的用以基于存储器组件耐久性估计执行耗损均衡调整的方法的确定存储器组件的耐久性值(图2中的操作210)的流程图。
图4为本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的各方面是针对基于存储器组件耐久性估计而执行耗损均衡调整。存储器子系统在下文还称为“存储器装置”。存储器子系统的实例是经由外围互连件(例如,输入/输出总线、存储区域网络)耦合到中央处理单元(CPU)的存储装置。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器和硬盘驱动器(HDD)。存储器子系统的另一实例是经由存储器总线耦合到CPU的存储器模块。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)、非易失性双列直插式存储器模块(NVDIMM)等。在一些实施例中,存储器子系统是混合式存储器/存储子系统。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供将存储在存储器子系统处的数据且可请求将从存储器子系统检索的数据。
存储器子系统可包含可存储来自主机系统的数据的多个存储器组件。每个存储器组件可包含不同类型的媒体。媒体的实例包含(但不限于)包含基于快闪的存储器或NAND存储器的非易失性存储器。每个存储器组件包含数千存储空间块。举例来说,NAND存储器包含NAND块。每个块由存储器子系统可将数据写入到的页构成。为了将数据写入到页,需要擦除整个块。数据写入到存储器组件,接着擦除且接着重写的事件的序列被称为编程擦除(P/E)循环。存储器组件可在写入到存储器组件或从存储器组件读取的数据中的错误之前仅擦除设定次数。存储器组件的寿命可在P/E循环中表征。
在常规存储器子系统中,假定存储器组件中的块的质量通过P/E循环均匀地表征。因此,为了在P/E循环中量化存储器组件,评估存储器组件中的每个块以识别已经历至多P/E循环的块。假定此块为最旧块且还假定具有剩余的最少量的耐久性。接着分配P/E循环的数目的存储器组件。换句话说,存储器组件年龄由最旧块(或具有剩余的最少量的耐久性的块)指定。
然而,存储器组件中的块可为不均匀的,使得存储器组件中的每个块可对相同数目的P/E循环具有不同等级的电阻(例如,耐久性)。换句话说,一些块可以或多或少稳固的方式表现。
本公开的各方面通过具有利用存储器组件中的块中的每一者的耐久性的潜在差异的存储器子系统来解决以上及其它不足。此存储器子系统基于擦除的时间和/或错误统计来估计块的耐久性。通过估计每个块的耐久性,可获得块的寿命的更精确量化。存储器子系统可接着使用存储器组件中的每个块的此更精确耐久性度量来执行耗损均衡。举例来说,存储器子系统可基于每个块的所确定的耐久性均匀地分发待存储到存储器组件中的块的数据。此确保在存储器组件中的其它块之前没有单个块超出目标P/E循环。举例来说,如果存储器子系统的存储器组件中的选定块处于或接近指示所述块处于或接近所述块不再能够可靠地存储数据的点的使用阈值,则数据可以存储于存储器组件的另一块处。
通过估计每个块的耐久性,存储器子系统上的耗损(例如,对存储器组件中的块执行的操作的数目和/或写入到存储器组件中的块的数据量)可更均匀地分布,从而避免存储器组件中的特定块相对于存储器组件中的其它块的过早失效。此存储器子系统可因此最大化存储器组件的寿命。此外,此存储器子系统可完全利用存储器组件中的块的写入预算,直到错误校正码(ECC)校正能力。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,例如存储器组件112A到112N。存储器组件112A到112N可为易失性存储器组件、非易失性存储器组件或这类组件的组合。在一些实施例中,存储器子系统为存储系统。存储系统的实例是SSD。在一些实施例中,存储器子系统110为混合存储器/存储子系统。一般来说,计算环境100可包含使用存储器子系统110的主机系统120。举例来说,主机系统120可将数据写入到存储器子系统110且从存储器子系统110读取数据。
主机系统120可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可包含或耦合到存储器子系统110,使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等连接。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤信道、串行连接的SCSI(SAS)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取存储器组件112A到112N。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。
存储器组件112A到112N可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(NAND)类型快闪存储器。存储器组件112A到112N中的每一个可包含一或多个存储器单元阵列,所述存储器单元例如单层级单元(SLC)或多层级单元(MLC)(例如,三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可包含存储器单元的SLC部分和MLC部分两者。存储器单元中的每一者可存储由主机系统120使用的数据的一或多个位(例如数据块)。虽然描述了例如NAND类型快闪存储器等非易失性存储器组件,但存储器组件112A到112N可基于任何其它类型的存储器,例如易失性存储器。在一些实施例中,存储器组件112A到112N可以是(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、或非(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于闪存的存储器形成对比,交叉点非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件112A到112N的存储器单元可以分组为存储器页或数据块,所述存储器页或数据块可以指用于存储数据的存储器组件的单元。
存储器系统控制器115(下文称为“控制器”)可与存储器组件112A到112N通信以执行操作,例如在存储器组件112A到112N处读取数据、写入数据或擦除数据,以及其它此类操作。控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器,或其组合。控制器115可以是微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。控制器115可包含经配置以执行存储在本地存储器119中的指令的处理器(处理装置)117。在所示出的实例中,控制器115的本地存储器119包含被配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流和例程。在一些实施例中,本地存储器119可以包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已说明为包含控制器115,但在本公开的另一实例实施例中,存储器子系统110可不包含控制器115,且可替代地依赖于(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供的)外部控制。
一般来说,控制器115可以从主机系统120接收命令或操作,并且可以将命令或操作转换成指令或适当的命令,以实现对存储器组件112A到112N的期望的存取。控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓冲存储操作和与存储器组件112A到112N相关联的逻辑块地址与物理块地址之间的地址转换。控制器115还可包含主机接口电路系统,以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器组件112A到112N,以及将与存储器组件112A到112N相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲(例如DRAM)和地址电路(例如行解码器和列解码器),其可从控制器115接收地址且对地址进行解码以存取存储器组件112A到112N。
存储器子系统110包含耗损均衡调整控制器113,其可基于块中的每一者的耐久性估计而确定包含于存储器组件中的块的耐久性值。块的耐久性值表示分配到所述块的年龄或耐久性。由于存储器组件中的每个块可对相同数目的P/E循环具有不同等级的电阻(例如,耐久性),而非仅基于所述块已经历的所记录的P/E循环的数目来量化块的耐久性值,因此耗损均衡调整控制器113使用块的耐久性估计来确定所记录的P/E循环的数目是否准确地表示分配到所述块的年龄或耐久性。如下文进一步描述,耐久性估计可基于擦除所述块的时间和/或例如位错误率的错误统计。使用块中的每一者的耐久性值,耗损均衡调整控制器113可进一步执行耗损均衡调整。如图1中所说明,耗损均衡调整控制器113可包含于存储器子系统110的控制器115中。在一些实施例中,耗损均衡调整控制器113是应用程序或操作系统的一部分。
耗损均衡调整控制器113可确定包含于存储器子系统110的存储器组件112A到112N中的块中的每一者的耐久性估计。耗损均衡调整控制器113可更新与包含于存储器组件112A到112N中的每一者中的块中的每一者相关联的耐久性值。可基于块中的每一者的耐久性估计来更新耐久性值。耗损均衡调整控制器113可接收发往存储器组件112A中的一者的写入指令。写入指令接着基于所述块中的每一者的耐久性值而分发到存储器组件112A中的所述块中的一或多者。下文借助于实例描述关于耗损均衡调整控制器113的操作的另外细节。在一个实施例中,处理器117经配置以执行存储在本地存储器119中的指令,所述指令使耗损均衡调整控制器113执行这些操作。借助于实例,参考图2和图3讨论基于存储器组件耐久性估计来执行耗损均衡调整的操作的另外细节。
图2为根据本公开的一些实施例的用以基于存储器组件耐久性估计执行耗损均衡调整的实例方法200的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法200由图1的耗损均衡调整控制器113执行。虽然以特定序列或次序来展示,但是除非另外指定,否则至少一些操作的次序可修改。因此,应理解,所示出的实施例仅为实例,且所示出的操作可以不同次序执行,且一些操作可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,并非在每一实施例中需要所有的操作。其它过程流程是可能的。
在操作210处,处理装置确定包含多个块的存储器组件(例如,存储器组件112A)的多个耐久性值。存储器组件112A的多个块可分别与多个耐久性值相关联。由于存储器组件112A的多个块由实际P/E循环非均匀地表征,因此与所述块相关联的耐久性值提供块的实际寿命的较好度量。耐久性值可为块的剩余耐久性,且可在P/E循环中测量。处理装置可以在预定时间间隔处确定执行操作210。举例来说,预定时间间隔可为设定数目的P/E循环。在一个实例实施例中,处理装置通过对多个块中的每个选定块执行在图3中借助于实例更详细地展示的操作来确定存储器组件112A的耐久性值。
在操作220处,处理装置接收发往存储器组件112A的写入指令,所述存储器组件包含多个块。在操作230处,处理装置基于多个耐久性值将写入指令分发到多个块中的一或多者。处理装置可以在存储器组件中的块上维持编程擦除循环的近似均匀使用。在一个实施例中,处理装置可以在存储器子系统110中的多个存储器组件112A-112N中的块上维持P/E循环的近似均匀使用。通过考虑存储器组件112A-112N中的块的非均匀耗损,处理装置可通过基于块的耐久性更好地分发写入指令而增加存储器组件112A-112N的寿命。
在图3中,流程图说明根据本公开的一些实施例的确定存储器组件的耐久性值的实例方法(图2中的操作210)。
在操作310中,处理装置选择存储器组件(例如,存储器组件112A)的多个块的选定块。在操作320中,处理装置对选定块进行擦除。在一个实施例中,处理装置可通过擦除存储于选定块中的数据而擦除选定块的全部内容。
与操作320同时,处理装置在操作330处测量擦除选定块的时间。在操作340处,处理装置基于擦除选定块所花费的时间(或擦除选定块的时间)而确定选定块的第一耐久性估计。擦除选定块的时间承载与选定块的剩余耐久性有关的信息。在此实例实施例中,处理装置可以构建统计模型,所述统计模型对擦除的时间的分布与针对特定错误校正能力的所估计的剩余耐久性之间的关系建模。在此实施例中,处理装置接收擦除选定块的时间作为到统计模型的输入,以获得选定块的第一耐久性估计。
在一个实施例中,为了补偿温度可能对擦除选定块的时间产生的任何影响,当数据写入到选定块时,处理装置接收选定块的温度,且当处理装置在操作320处擦除选定块时,接收选定块的温度。当写入数据时以及当处理装置擦除选定块时,温度传感器测量选定块的温度。温度传感器可包含于存储器组件112A上,所述存储器组件包含选定块。当温度之间存在偏差时,处理装置可调整第一耐久性估计。
在一个实施例中,并非在操作320处测量擦除选定块的时间的处理装置,包含选定块的存储器组件112A可执行持续时间计算(即,测量擦除选定块的时间)。存储器组件112A接着可在处理装置的请求下将擦除选定块的时间传输到耗损均衡调整控制器113的处理装置。
如图3中所示,在一个实例实施例中,处理装置可与操作340同时执行操作350-380。在另一实施例中,处理装置可在操作340之后循序地执行操作350-380。在另一实施例中,处理装置可在操作350-380之后循序地执行操作340。
在操作350处,在操作320处擦除选定块之后,处理装置可将预定数据写入到选定块。预定数据可为已知数据模式。在操作360处,处理装置从选定块读取数据。在一个实施例中,在操作350中将预定数据写入到选定块之后,处理装置在操作360处立即从选定块读取数据。在操作370处,处理装置使用在操作360处来自选定块的读取数据和预定数据确定选定块的错误统计。错误统计可例如为每一块的码字的最大错误数、每一码字的平均错误数或位错误率。随着块老化,其将展现较大的最大错误数、较大的平均错误数或较大的位错误率。因此,指示较大错误的数目或较大位错误率的错误统计指示块为较老的,且因此具有较少的剩余耐久性。
在一个实施例中,并非在操作350处确定选定块的错误统计的处理装置,而是包含选定块的存储器组件112A确定选定块的错误统计,且在处理装置的请求下将选定块的错误统计传输到耗损均衡调整控制器113的处理装置。
在操作380处,处理装置基于选定块的错误统计确定选定块的第二耐久性估计。在一个实施例中,为了补偿温度可能对错误统计产生的任何影响,当处理装置在操作320处擦除选定块时,处理装置可接收选定块的温度,且当处理装置在操作360处从选定块读取数据时,处理装置可接收选定块的温度。温度传感器可在处理装置擦除选定块时测量选定块的温度,并且在处理装置从选定块读取数据时测量选定块的温度。温度传感器可包含于存储器组件112A中,所述存储器组件包含选定块。当温度之间存在偏差时,处理装置可调整第二耐久性估计。
在操作390处,处理装置基于以下各项中的至少一者确定选定块的耐久性估计:选定块的第一耐久性估计或选定块的第二耐久性估计。举例来说,虽然选定块实际上经擦除200次(例如,200P/E循环),但选定块可与根据基于选定块的擦除时间和/或错误统计的耐久性估计仅经擦除100次(例如,100P/E循环)的块对应。
在一个实施例中,处理装置将基于擦除选定块的时间的耐久性估计优于基于选定块的错误统计的耐久性估计排序,使得处理装置确定选定块的耐久性估计为选定块的第一耐久性估计。
在另一实施例中,处理装置将基于选定块的错误统计的耐久性估计优于基于擦除选定块的时间的耐久性估计排序,使得处理装置确定选定块的耐久性估计为选定块的第二耐久性估计。
在一个实施例中,处理装置可确定第一耐久性估计和第二耐久性估计中的较大者为选定块的耐久性估计。在另一实施例中,处理装置可确定第一耐久性估计和第二耐久性估计中的较小者为选定块的耐久性估计。在一个实施例中,处理装置可确定选定块的耐久性估计为第一耐久性估计和第二耐久性估计的加权和。
在操作395处,处理装置基于选定块的耐久性估计而更新与选定块相关联的耐久性值。在一个实例实施例中,处理装置产生与耗损均衡组数目相等的年龄组的数目。在此实施例中,为了在操作395中更新与选定块相关联的耐久性值,处理装置确定与选定块相关联的P/E循环的所记录数目,确定跟与选定块相关联的P/E循环的所记录数目相关联的耗损均衡组,且确定与选定块的耐久性估计相关联的年龄组。处理装置接着确定年龄组是否不同于耗损均衡组,且当年龄组不同于耗损均衡组时更新与选定块相关联的耐久性值。在一个实施例中,当年龄组与耗损均衡组之间存在不匹配时,年龄组采用优先级,且调整选定块的耗损均衡组,使得处理装置将选定块置于与年龄组对应的耗损均衡组中。
在一个实施例中,年龄组与擦除持续时间相关联。在一个实施例中,年龄组与错误统计(或速率)带相关联。举例来说,最高错误率带包含被视为最老的块,而较低错误率带包含被视为最新的块。在一个实施例中,处理装置使用在主机读取操作或背景读取扫描期间关于错误统计所收集的统计数据来确定年龄组。在一个实施例中,处理装置温度补偿年龄组。
在一个实施例中,处理装置对存储器组件112A中的每个块重复图3中的实例过程,以确定所述块中的每一者的耐久性值。处理装置可在预定时间间隔处执行图3中的此实例过程。举例来说,处理装置可在预定时间间隔处确定执行图3中的过程。举例来说,预定时间间隔可为设定数目的P/E循环。
图4说明计算机系统400的实例机器,所述实例机器内可执行用于使所述机器执行本文中所论述的方法中的任何一或多种的一组指令。在一些实施例中,计算机系统400可与包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120)对应或可用于执行控制器的操作(例如,执行操作系统以执行与图1的耗损均衡调整控制器113对应的操作)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中进行操作。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的一组指令的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令的集合(或多个集合)以执行本文中所论述的方法中的任何一或多种。
实例计算机系统400包含处理装置402、主存储器404(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器406(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统418,其经由总线430彼此通信。
处理装置402表示一或多个通用处理装置,如微处理器、中央处理单元等。更具体地说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置402还可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置402经配置以执行指令426以用于执行本文中所论述的操作和步骤。计算机系统500可进一步包含网络接口装置408以在网络420上通信。
数据存储系统418可包含机器可读存储媒体424(也称为计算机可读媒体),其上存储有一或多组指令426或体现本文中所描述的方法或功能中的任何一或多种的软件。指令426还可在其由计算机系统400执行期间完全或至少部分地驻留在主存储器404内和/或处理装置402内,主存储器404和处理装置402还构成机器可读存储媒体。机器可读存储媒体424、数据存储系统418和/或主存储器404可与图1的存储器子系统110对应。
在一个实施例中,指令426包含指令以实施与耗损均衡调整控制器(例如,图1的耗损均衡调整控制器113)对应的功能性。虽然在实例实施例中将机器可读存储媒体424展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的一组指令且使机器执行本公开的方法中的任何一个或多个的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给本领域的其他技术人员的方式。算法在这里并且通常被认为是引起所期望的结果的操作的自洽序列。操作为要求对物理量进行物理控制的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、术语、数字等有时是便利的。
然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅是应用于这些量的方便标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)量的数据为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文的操作的设备。此设备可以出于既定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,如但不限于任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
本文中所呈现的算法和显示自身不与任何特定计算装置或其它设备相关。各种通用系统可根据本文中的教示与程序一起使用,或其可以证明构造更专用的设备来执行方法是方便的。将如下文描述中所示呈现用于各种这些系统的结构。另外,不参考任何特定编程语言描述本公开。应了解,可使用多种编程语言来实施如本文中所描述的本公开的教示。
本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有可以用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,已参考其具体实例实施例描述了本公开的实施例。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本发明进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
Claims (20)
1.一种存储器系统,其包括:
存储器组件,其包括多个块;以及
处理装置,其与所述存储器组件可操作地耦合,所述处理装置经配置以执行包括以下各项的操作:
通过针对所述多个块中的每个选定块执行包括以下各项的操作来确定所述存储器组件的多个耐久性值:
基于擦除所述选定块的时间或所述选定块的错误统计中的至少一者而确定所述选定块的耐久性估计,
确定与关联于所述选定块的编程擦除循环的所记录数目相关联的第一耗损均衡组,多个耗损均衡组关联于编程擦除循环的多个所记录数目,所述多个耗损均衡组包括所述第一耗损均衡组和第二耗损均衡组,
确定关联于所述选定块的所述耐久性估计的第一年龄组,多个年龄组与多个擦除持续时间或多个错误统计带相关联,所述多个年龄组包括所述第一年龄组,年龄组的数目等于耗损均衡组的数目,且年龄组的所述数目大于二及耗损均衡组的所述数目大于二,以及
响应于确定所述第一年龄组不同于所述第一耗损均衡组,
基于所述选定块的所述耐久性估计而更新与所述选定块相关联的耐久性值,
确定所述第一年龄组对应于所述第二耗损均衡组,以及
将所述选定块关联于所述第二耗损均衡组;
接收发往所述存储器组件的写入指令;且
基于所述多个耐久性值将所述写入指令分发到所述多个块中的一或多者。
2.根据权利要求1所述的存储器系统,其中确定所述存储器组件的所述多个耐久性值进一步包括针对所述多个块中的每个选定块,执行包括以下各项的操作:
擦除所述选定块,以及
测量擦除所述选定块的时间。
3.根据权利要求1所述的存储器系统,其中确定所述存储器组件的所述多个耐久性值进一步包括针对所述多个块中的每个选定块,执行包括以下各项的操作:
擦除所述选定块,
将预定数据写入到所述选定块,
从所述选定块读取数据,以及
使用来自所述选定块的所述读取数据和所述预定数据确定所述选定块的错误统计。
4.根据权利要求2所述的存储器系统,其中确定所述存储器组件的所述多个耐久性值进一步包括针对所述多个块中的每个选定块,执行包括以下各项的操作:
将预定数据写入到所述选定块,
从所述选定块读取数据,以及
使用来自所述选定块的所述读取数据和所述预定数据确定所述选定块的错误统计。
5.根据权利要求1所述的存储器系统,其中所述处理装置经配置以执行进一步包括以下各项的操作:
确定与所述选定块相关联的编程擦除循环的所述所记录数目,以及
确定所述第一年龄组是否不同于所述第一耗损均衡组。
6.根据权利要求1所述的存储器系统,其中所述错误统计为以下各项中的至少一者:每一块的码字的最大错误数、每一码字的平均错误数或位错误率。
7.根据权利要求1所述的存储器系统,其中确定所述选定块的所述耐久性估计进一步包括:
基于擦除所述选定块的所述时间确定第一耐久性估计,
基于所述选定块的所述错误统计确定第二耐久性估计,且
基于所述第一耐久性估计和所述第二耐久性估计确定所述选定块的所述耐久性估计。
8.根据权利要求7所述的存储器系统,其中所述选定块的所述耐久性估计为以下各项中的一者:
所述第一耐久性估计和所述第二耐久性估计中的较大者,
所述第一耐久性估计和所述第二耐久性估计中的较小者,或
所述第一耐久性估计和所述第二耐久性估计的加权和。
9.一种用于存储器的方法,其包括:
通过针对多个块中的每个选定块执行包括以下各项的操作来确定存储器组件的多个耐久性值:
基于擦除所述选定块的时间或所述选定块的错误统计中的至少一者而确定所述选定块的耐久性估计,
确定与关联于所述选定块的编程擦除循环的所记录数目相关联的第一耗损均衡组,多个耗损均衡组关联于编程擦除循环的多个所记录数目,所述多个耗损均衡组包括所述第一耗损均衡组和第二耗损均衡组,
确定关联于所述选定块的所述耐久性估计的第一年龄组,多个年龄组与多个擦除持续时间或多个错误统计带相关联,所述多个年龄组包括所述第一年龄组,年龄组的数目等于耗损均衡组的数目,且年龄组的所述数目大于二及耗损均衡组的所述数目大于二,以及
响应于确定所述第一年龄组不同于所述第一耗损均衡组,
基于所述选定块的所述耐久性估计而更新与所述选定块相关联的耐久性值,确定所述第一年龄组对应于所述第二耗损均衡组,以及
将所述选定块关联于所述第二耗损均衡组;
接收发往所述存储器组件的写入指令;且
基于所述多个耐久性值将所述写入指令分发到所述多个块中的一或多者。
10.根据权利要求9所述的方法,其中确定所述存储器组件的所述多个耐久性值进一步包括针对所述多个块中的每个选定块,执行包括以下各项的操作:
擦除所述选定块,以及
测量擦除所述选定块的时间。
11.根据权利要求9所述的方法,其中确定所述存储器组件的所述多个耐久性值进一步包括针对所述多个块中的每个选定块,执行包括以下各项的操作:
擦除所述选定块,
将预定数据写入到所述选定块,
从所述选定块读取数据,以及
使用来自所述选定块的所述读取数据和所述预定数据确定所述选定块的错误统计。
12.根据权利要求10所述的方法,其中确定所述存储器组件的所述多个耐久性值进一步包括针对所述多个块中的每个选定块,执行包括以下各项的操作:
将预定数据写入到所述选定块,
从所述选定块读取数据,以及
使用来自所述选定块的所述读取数据和所述预定数据确定所述选定块的错误统计。
13.根据权利要求9所述的方法,其进一步包括:
确定与所述选定块相关联的编程擦除循环的所述所记录数目,以及
确定所述第一年龄组是否不同于所述第一耗损均衡组。
14.根据权利要求9所述的方法,其中所述错误统计为以下各项中的至少一者:每一块的码字的最大错误数、每一码字的平均错误数或位错误率。
15.根据权利要求9所述的方法,其中确定所述选定块的所述耐久性估计进一步包括:
基于擦除所述选定块的所述时间确定第一耐久性估计,
基于所述选定块的所述错误统计确定第二耐久性估计,且
基于所述第一耐久性估计和所述第二耐久性估计确定所述选定块的所述耐久性估计。
16.根据权利要求15所述的方法,其中所述耐久性估计为以下各项中的一者:
所述第一耐久性估计和所述第二耐久性估计中的较大者,
所述第一耐久性估计和所述第二耐久性估计中的较小者,或
所述第一耐久性估计和所述第二耐久性估计的加权和。
17.至少一个机器可读存储媒体,其包括指令,所述指令在由处理装置执行时使所述处理装置执行包括以下各项的操作:
通过针对多个块中的每个选定块执行包括以下各项的操作来确定存储器组件的多个耐久性值:
基于擦除所述选定块的时间或所述选定块的错误统计中的至少一者而确定所述选定块的耐久性估计,
确定与关联于所述选定块的编程擦除循环的所记录数目相关联的第一耗损均衡组,多个耗损均衡组关联于编程擦除循环的多个所记录数目,所述多个耗损均衡组包括所述第一耗损均衡组和第二耗损均衡组,
确定关联于所述选定块的所述耐久性估计的第一年龄组,多个年龄组与多个擦除持续时间或多个错误统计带相关联,所述多个年龄组包括所述第一年龄组,年龄组的数目等于耗损均衡组的数目,且年龄组的所述数目大于二及耗损均衡组的所述数目大于二,以及
响应于确定所述第一年龄组不同于所述第一耗损均衡组,
基于所述选定块的所述耐久性估计而更新与所述选定块相关联的耐久性值,确定所述第一年龄组对应于所述第二耗损均衡组,以及
将所述选定块关联于所述第二耗损均衡组;
接收发往所述存储器组件的写入指令;且
基于所述多个耐久性值将所述写入指令分发到所述多个块中的一或多者。
18.根据权利要求17所述的至少一个机器可读存储媒体,其中确定所述存储器组件的所述多个耐久性值进一步包括针对所述多个块中的每个选定块,执行包括以下各项的操作:
擦除所述选定块,以及
测量擦除所述选定块的时间。
19.根据权利要求17所述的至少一个机器可读存储媒体,其中确定所述存储器组件的所述多个耐久性值进一步包括针对所述多个块中的每个选定块,执行包括以下各项的操作:
擦除所述选定块,
将预定数据写入到所述选定块,
从所述选定块读取数据,以及
使用来自所述选定块的所述读取数据和所述预定数据确定所述选定块的错误统计。
20.根据权利要求18所述的至少一个机器可读存储媒体,其中确定所述存储器组件的所述多个耐久性值进一步包括针对所述多个块中的每个选定块,执行包括以下各项的操作:
将预定数据写入到所述选定块,
从所述选定块读取数据,以及
使用来自所述选定块的所述读取数据和所述预定数据确定所述选定块的错误统计。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/196,113 | 2018-11-20 | ||
US16/196,113 US10963185B2 (en) | 2018-11-20 | 2018-11-20 | Memory sub-system for performing wear-leveling adjustments based on memory component endurance estimations |
PCT/US2019/061715 WO2020106570A1 (en) | 2018-11-20 | 2019-11-15 | Memory sub-system for performing wear-leveling adjustments based on memory component endurance estimations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113039515A CN113039515A (zh) | 2021-06-25 |
CN113039515B true CN113039515B (zh) | 2022-06-24 |
Family
ID=70727216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980075914.5A Active CN113039515B (zh) | 2018-11-20 | 2019-11-15 | 用于基于存储器组件耐久性估计执行耗损均衡调整的存储器子系统 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10963185B2 (zh) |
CN (1) | CN113039515B (zh) |
WO (1) | WO2020106570A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10963185B2 (en) | 2018-11-20 | 2021-03-30 | Micron Technology, Inc. | Memory sub-system for performing wear-leveling adjustments based on memory component endurance estimations |
US11907573B2 (en) * | 2021-06-21 | 2024-02-20 | Western Digital Technologies, Inc. | Performing background operations during host read in solid state memory device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102301427A (zh) * | 2009-04-08 | 2011-12-28 | 国际商业机器公司 | 分析来自具有有限耐久性和/或保持性的存储器设备的监视数据信息 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101548175B1 (ko) | 2008-11-05 | 2015-08-28 | 삼성전자주식회사 | 싱글 레벨 메모리 셀 블락과 멀티 레벨 메모리 셀 블락을 포함하는 불휘발성 메모리 장치의 마모 레벨링 방법 |
US9063874B2 (en) * | 2008-11-10 | 2015-06-23 | SanDisk Technologies, Inc. | Apparatus, system, and method for wear management |
KR20130060791A (ko) | 2011-11-30 | 2013-06-10 | 삼성전자주식회사 | 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브 |
US10642505B1 (en) * | 2013-01-28 | 2020-05-05 | Radian Memory Systems, Inc. | Techniques for data migration based on per-data metrics and memory degradation |
US9195590B2 (en) | 2013-08-29 | 2015-11-24 | Micron Technology, Inc. | Sub-sector wear leveling in memories |
KR102289919B1 (ko) | 2014-04-15 | 2021-08-12 | 삼성전자주식회사 | 스토리지 컨트롤러, 스토리지 장치, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법 |
US20160141029A1 (en) * | 2014-11-19 | 2016-05-19 | Sandisk Technologies Inc. | Health data associated with a resistance-based memory |
KR102258126B1 (ko) | 2015-03-19 | 2021-05-28 | 삼성전자주식회사 | 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
DE102017103347B4 (de) | 2017-02-17 | 2023-07-20 | Infineon Technologies Ag | Verarbeitung von daten in speicherzellen eines speichers |
US10963185B2 (en) | 2018-11-20 | 2021-03-30 | Micron Technology, Inc. | Memory sub-system for performing wear-leveling adjustments based on memory component endurance estimations |
-
2018
- 2018-11-20 US US16/196,113 patent/US10963185B2/en active Active
-
2019
- 2019-11-15 WO PCT/US2019/061715 patent/WO2020106570A1/en active Application Filing
- 2019-11-15 CN CN201980075914.5A patent/CN113039515B/zh active Active
-
2021
- 2021-03-17 US US17/204,478 patent/US11487479B2/en active Active
-
2022
- 2022-10-07 US US17/962,192 patent/US11868663B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102301427A (zh) * | 2009-04-08 | 2011-12-28 | 国际商业机器公司 | 分析来自具有有限耐久性和/或保持性的存储器设备的监视数据信息 |
Also Published As
Publication number | Publication date |
---|---|
US20210200480A1 (en) | 2021-07-01 |
CN113039515A (zh) | 2021-06-25 |
US11487479B2 (en) | 2022-11-01 |
US20230031288A1 (en) | 2023-02-02 |
US11868663B2 (en) | 2024-01-09 |
US20200159448A1 (en) | 2020-05-21 |
WO2020106570A1 (en) | 2020-05-28 |
US10963185B2 (en) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11450391B2 (en) | Multi-tier threshold voltage offset bin calibration | |
CN113168884B (zh) | 使用与存储器子系统相关联的错误控制成功率实施粘性读取 | |
US11836392B2 (en) | Relocating data to low latency memory | |
KR20210070379A (ko) | 메모리 서브-시스템의 요구 시 리프레시 동작을 수행하는 방법 | |
US11868663B2 (en) | Memory sub-system for performing wear-leveling adjustments based on memory component endurance estimations | |
US10761754B2 (en) | Adjustment of a pre-read operation associated with a write operation | |
US11704217B2 (en) | Charge loss scan operation management in memory devices | |
US11636913B2 (en) | Tracking and refreshing state metrics in memory sub-systems | |
CN114174976A (zh) | 从多个写入操作模式选择写入操作模式 | |
CN116168753A (zh) | 存储器装置缺陷扫描 | |
CN112166406B (zh) | 管理包含具有不同特性的存储器装置的存储器系统 | |
US11194646B2 (en) | Regression-based calibration and scanning of data units | |
US11748013B2 (en) | Grouping blocks based on power cycle and power on time | |
US11705192B2 (en) | Managing read level voltage offsets for low threshold voltage offset bin placements | |
CN114639413A (zh) | 错误恢复操作 | |
US11068168B2 (en) | Managing storage performance consistency with feedback control | |
US11734195B2 (en) | Adjustable memory operation settings based on memory sub-system operating requirements | |
CN117795472A (zh) | 自适应数据完整性扫描频率 | |
CN112750490A (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 |