CN112053733A - 故障敏感存储器页面的选择性加速取样 - Google Patents
故障敏感存储器页面的选择性加速取样 Download PDFInfo
- Publication number
- CN112053733A CN112053733A CN202010503747.4A CN202010503747A CN112053733A CN 112053733 A CN112053733 A CN 112053733A CN 202010503747 A CN202010503747 A CN 202010503747A CN 112053733 A CN112053733 A CN 112053733A
- Authority
- CN
- China
- Prior art keywords
- sensitivity
- memory
- layer
- pages
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C29/32—Serial access; Scan testing
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/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
- 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
Abstract
本发明涉及故障敏感存储器页面的选择性加速取样。存储器系统中的处理装置确定所述存储器系统中的存储器页面的敏感度值。所述处理装置基于对应敏感度值将所述存储器页面指派到多个敏感度层中的敏感度层,其中每一敏感度层具有对应敏感度值范围。所述处理装置进一步确定所述多个敏感度层中的每一敏感度层的目标扫描间隔及扫描存储器组件中的多个存储器页面的子集,其中所述子集包括来自每一敏感度层的根据每一敏感度层的对应目标扫描间隔确定的数个存储器页面。
Description
技术领域
本发明的实施例大体上涉及存储器子系统,且更明确来说,涉及故障敏感存储器页面的选择性加速取样。
背景技术
存储器子系统可为存储系统,例如固态驱动(SSD)或硬盘驱动(HDD)。存储器子系统可为存储器模块,例如双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)或非易失性双列直插式存储器模块(NVDIMM)。存储器子系统可包含存储数据的一或多个存储器组件。存储器组件可为(例如)非易失性存储器组件及易失性存储器组件。一般来说,主机系统可利用存储器子系统在存储器组件处存储数据及从所述存储器组件检索数据。
发明内容
在一个方面中,本发明提供一种系统,其包括:存储器组件;及处理装置,其可操作地与所述存储器组件耦合以:确定所述存储器组件中的存储器页面的敏感度值;基于对应敏感度值将所述存储器页面指派到多个敏感度层中的敏感度层,其中每一敏感度层具有对应敏感度值范围;确定所述多个敏感度层中的每一敏感度层的目标扫描间隔;及扫描所述存储器组件中的多个存储器页面的子集,其中所述子集包括来自每一敏感度层的根据每一敏感度层的对应目标扫描间隔确定的数个存储器页面。
在另一方面中,本发明提供一种方法,其包括:由处理装置确定所述存储器组件中的存储器页面的敏感度值;基于对应敏感度值将所述存储器页面指派到多个敏感度层中的敏感度层,其中每一敏感度层具有对应敏感度值范围;确定所述多个敏感度层中的每一敏感度层的目标扫描间隔;及扫描所述存储器组件中的多个存储器页面的子集,其中所述子集包括来自每一敏感度层的根据每一敏感度层的对应目标扫描间隔确定的数个存储器页面。
在另一方面中,本发明提供一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时致使所述处理装置:定义多个媒体扫描时隙,可将对应于多个敏感度层的多个存储器页面指派到所述多个媒体扫描时隙,其中所述多个敏感度层中的每一敏感度层包括敏感度值范围及对应于所述敏感度值范围的一组存储器页面;将多个所述媒体扫描时隙指派到所述多个敏感度层中的每一敏感度层,其中指派到第一敏感度层的第一多个时隙中的时隙的第一数目大于指派到第二敏感度层的第二多个时隙中的时隙的第二数目,其中对应于所述第一层的所述敏感度值大于对应于所述第二层的所述敏感度值;针对所述多个敏感度层中的每一敏感度层,将所述相应层的所述存储器页面列表的存储器页面指派到所述多个媒体扫描时隙中的指派到所述相应层的媒体扫描时隙;及扫描指派到数个媒体扫描时隙的所述多个存储器页面。
附图说明
从下文给出的详细描述及从本发明的各种实施例的附图将更加完全地理解本发明。
图1说明根据本发明的一些实施例的包含存储器子系统的实例计算环境。
图2是说明根据本发明的一些实施例的将存储器块中的存储器页面指派到敏感度层的框图。
图3是说明根据本发明的一些实施例的媒体扫描样本到多个敏感度层的百分比分配的框图。
图4是根据本发明的一些实施例的用于执行故障敏感存储器页面的选择性加速取样的实例方法的流程图。
图5是根据本发明的一些实施例的用于将存储器页面指派到静态高敏感度层列表或静态低敏感度层列表的实例方法的流程图。
图6是根据本发明的一些实施例的用于将存储器页面指派到动态高敏感度层列表、动态中敏感度层列表或动态低敏感度层列表的实例方法的流程图。
图7是本发明的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本发明的方面涉及存储器子系统中的故障敏感存储器页面的选择性加速取样。存储器子系统的实例是经由外围互连(例如,输入/输出总线、存储区域网络)耦合到中央处理部件(CPU)的存储装置。存储装置的实例包含固态驱动(SSD)、快闪驱动、通用串行总线(USB)快闪驱动及硬盘驱动(HDD)。存储器子系统的另一实例是经由存储器总线耦合到CPU的存储器模块。存储器模块的实例包含双列直插式存储器模块(DIMM)、小形DIMM(SO-DIMM)或非易失性双列直插式存储器模块(NVDIMM)等。在一些实施例中,存储器子系统可为混合存储器/存储子系统。一般来说,主机系统可利用包含一或多个存储器组件(在下文也称为“存储器装置”)的存储器子系统。主机系统可提供将存储在存储器子系统处的数据且可请求将从存储器子系统检索的数据。
存储器子系统中的存储器组件可包含存储器单元,其可包含用于存储对应于从主机系统接收的数据的一或多个二进制数据位的一或多个存储器页面(在本文中也称为“页面”)。存储器组件的多个存储器单元可经分组在一起以形成存储器块。随着数据被写入到存储器组件的存储器单元以用于存储,存储器单元可能会随着时间的推移恶化。举例来说,当对存储器单元执行过多读取及写入操作时,存储在存储器单元及存储器组件的邻近存储器单元处的数据可能会由于各种故障机制(例如,读取干扰错误、交叉温度问题、数据保持问题等)而损坏或不正确地存储在存储器单元处。当对存储器子系统的特定位置(例如,块的存储器单元的一个行)的读取影响未读取的邻近位置(例如,相同块的不同行)的阈值电压时,发生读取干扰错误。当存储器子系统操作于高温环境中时,发生数据保持问题,这是由于当在高温下操作时存储器单元会随着时间的推移而丢失电荷。当在具有广泛地变化的温度的环境中操作存储器子系统使得存储器单元在给定温度下编程且稍后在显著不同的温度下读取时,可能发生交叉温度故障。这些故障机制可导致存储于存储器单元中的数据的更高出错率,从而触发对存储器子系统执行数据完整性检查(在本文中也称为“扫描”)以验证存储在每一数据块处的数据不包含任何错误的需要。在数据完整性检查期间,确定存储在数据块处的数据的一或多个可靠性统计。可靠性统计的一个实例是原始位出错率(RBER)。RBER对应于存储在数据块处的数据经历的每码字位错误数目。码字可指代所允许的最小读取单位。RBER降级速率可因字线而异且还可因故障机制而异。因此,确保基于字线敏感度对跨所有存储器块的字线进行充分取样的扫描机制是优选的。
然而,用于数据完整性检查的扫描操作成本较高,且由于读取操作、重复错误检测及校正操作可能会引入延时。针对给定存储器块,如果每个字线都被扫描(错误检测)且接着可能被暴露到校正操作(错误控制操作),那么此可导致常规存储器子系统的性能降低。另外,随着存储器单元或数据块的出错率继续增加,其甚至会超过存储器子系统的错误校正能力,从而导致不能挽回丢失的数据。此外,随着存储器子系统的更多资源用于执行错误控制操作,更少的资源可用于执行其它读取操作或写入操作。因此,扫描操作覆盖范围(哪些字线需要扫描)及频率(多久运行一次扫描)可经调谐以最小化延时及性能代偿。
常规地,流行的扫描方法包含基于存储器系统对块的使用仅扫描存储器块子集。举例来说,如果存储器块所经历的读取操作的数目大于扫描阈值,那么存储器块是扫描的候选。虽然以此方式的选择性扫描可改进延时,但单独基于存储器块的使用频率的扫描可能不能确保对某些故障机制敏感的存储器页面将被充分扫描。举例来说,如果存储器块A的读取数目超过扫描阈值,那么易受读取干扰错误影响且定位于存储器块A中的存储器页面可能会被扫描,而如果存储器块B的读取数目低于扫描阈值,那么也易受读取干扰错误影响但定位于存储器块B中的另一存储器页面可能不会被扫描。
用于扫描的另一常规准则可为存储器块的相对年限使得较旧的块可被扫描同时较新的块略过扫描。另一现存扫描方法包含扫描每个存储器块中的每个页面以进行错误检测及校正。虽然此方法可提供对错误检测的终极覆盖,但此情况中的扫描过程耗费大量时间且可能需要数月来扫描整个存储器组件。因此,不同扫描技术可为优选的以改进性能并减小延时,同时确保对故障敏感存储器页面的充分扫描覆盖。
本发明的方面通过在存储器子系统中实施故障敏感存储器页面的选择性加速取样解决上述及其它缺点。在一个实施方案中,存储器子系统可基于存储器页面对与字线的交叉温度、读取干扰及保持响应相关的故障机制的敏感性初始地确定子系统中的每一存储器块中的每一存储器页面的敏感度值。存储器子系统可包含敏感度层集合,其中每一层涵盖敏感度值范围,且。可基于匹配存储器页面的敏感度值与敏感度层的敏感度值范围向敏感度层指派存储器页面。基于故障敏感度选择性地取样存储器页面可消除对周期性地扫描敏感页面的额外扫描模块的需要,从而消除对验证工作的需要。本发明的方面还使能够以较慢速率取样存储器子系统且以较快速率取样最敏感页面,而不会影响系统的性能及延时。另外,本发明的方面可使能够在存储器组件的寿命期间识别新的故障度量且使所得敏感存储器页面列表能够在最低开发及集成开销下集成到取样过程中。
如将在本文中更详细描述,在一个实施方案中,可基于包含存储器组件的系统规格、存储器单元裕度及故障敏感度的存储器组件的物理特性确定每一敏感度层的目标扫描间隔。敏感度层的目标扫描间隔可表示需要扫描指派到敏感度层的存储器页面的时间周期(例如,每隔三天、每周、每月等)。在一个实施方案中,具有较高敏感度值的敏感度层可具有比具有较低敏感度值的敏感度层更小的目标扫描间隔(即,可更频繁地扫描)。存储器子系统可周期性地扫描来自通过每一敏感度层的目标扫描间隔所确定的敏感度层集合中的每一敏感度层的存储器页面的子集。
图1说明根据本发明的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,例如存储器组件112A到112N。存储器组件112A到112N可为易失性存储器组件、非易失性存储器组件或此类组件的组合。在一些实施例中,存储器子系统是存储系统。存储系统的实例是SSD。在一些实施例中,存储器子系统110是混合存储器/存储子系统。一般来说,计算环境100可包含使用存储器子系统110的主机系统120。举例来说,主机系统120可将数据写入到存储器子系统110及从存储器子系统110读取数据。
主机系统120可为计算装置,例如桌上型计算机、膝上型计算机、网络服务器、移动装置或包含存储器及处理装置的此计算装置。主机系统120可包含存储器子系统110或可耦合到存储器子系统110使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文中使用,“耦合到”通常是指组件之间的连接,其可为间接通信连接或直接通信连接(例如,无中介组件),无论是有线还是无线的,包含例如电的、光学的、磁性的等的连接。物理主机接口的实例包含(但不限于)串行高级技术附接(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM Express(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的存储器单元可经分组为存储器页面或数据块,其可指代用于存储数据的存储器组件的单位。数据块可进一步经分组成存储器组件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,其可用于基于每一存储器页面对一或多个故障机制的敏感度值对存储器子系统110的存储器组件112A到112N中的一或多者中的存储器页面选择性地取样。在一个实施方案中,存储器子系统110可基于页面对由与所述页面相关联的字线的物理特性(例如字线的宽度)所指示的一或多个故障度量的敏感性确定每一存储器页面的敏感度值。相关故障度量包含(但不限于)字线的交叉温度、读取干扰及保持响应。存储器子系统110可包含敏感度层集合,其中每一层涵盖敏感度值范围,且选择性取样模块113可将存储器页面指派到敏感度层中的一者的静态页面列表或动态页面列表,其中存储器页面的敏感度值处于层的敏感度值范围内。静态页面列表可基于存储器组件的过程相关特性(例如,存储器组件的鉴定数据)确定。动态页面列表可在列表的初始创建之后更新,其中页面可基于特定准则(例如,由存储器页面引起的存储器块的特定刷新速率)添加到所述列表。选择性取样模块113可基于包含存储器组件的系统规格、存储器单元裕度及故障敏感度的存储器组件的物理特性确定每一敏感度层的目标扫描间隔。敏感度层的目标扫描间隔可表示其处可扫描指派到敏感度层的某一百分比的存储器页面的时间周期,使得具有较高敏感度值的敏感度层可具有比具有较低敏感度值的敏感度层更小的目标扫描间隔(即,可更频繁地扫描)。存储器子系统110可周期性地扫描来自通过每一敏感度层的目标扫描间隔所确定的敏感度层集合中的每一敏感度层的存储器页面子集。在一个实施方案中,将在给定时间扫描的完整页面列表(在本文中也称为“媒体扫描样本”)可划分成多个部分,每一部分分配给一个敏感度层,且分配到每一部分的媒体扫描样本的百分比可与每一敏感度层的敏感度等级成比例。举例来说,分配到每一敏感度层的媒体扫描样本的百分比可基于敏感度层的目标扫描间隔及存储器子系统110的操作模型。存储器子系统110的操作模型是每天期望给存储器子系统通电的小时数(例如,每天8个小时)。
图2是说明根据本发明的一些实施例的将存储器块中的存储器页面指派到敏感度层的框图200。在一个实施方案中,存储器块210可包含具有各种敏感度值Va到Vn的存储器页面P1到Pn。图1的每一存储器组件112A到N可含有数百个存储器块。可基于页面对由与存储器页面相关联的字线的物理特性(例如字线的宽度)所指示的一或多个故障度量的敏感性向每一存储器页面P指派敏感度值V。相关故障度量包含对应于存储器页面的字线的交叉温度、读取干扰及保持响应。举例来说,如果对存储器页面的字线的交叉温度的敏感度导致第一敏感度值,那么随着字线的交叉温度升高,存储器页面的敏感度值可改变。类似地,针对读取干扰,存储器页面的敏感度值可随着页面的字线的读取干扰能力增加而增加。沿着相同线,随着存储器页面的字线的保持裕度增加从而导致更多保持暴露,存储器页面的敏感度值可增加。
在一个实施例中,多个敏感度层275A到C可定义于存储器子系统中,且每一敏感度层可包含敏感度值范围(Vx、Vy等)。图2说明其中存在三个敏感度层275A到C的实施方案。然而,在其它实施方案中,可存在定义于存储器子系统中的某个其它数目的敏感度层,例如两个敏感度层、四个敏感度层、五个敏感度层等。每一存储器页面P可经指派到敏感度层275A到C中的仅一者,其中存储器页面P的敏感度值匹配对应敏感度层的敏感度值中的一者。举例来说,具有敏感度值Va的存储器页面P1及具有敏感度值Vb的存储器页面P4可经指派到敏感度层275A,这是因为层275A的敏感度值集包含敏感度值Va及Vb。类似地,具有敏感度值Vc的存储器页面P3可经指派到敏感度层275B,这是因为层275B的敏感度值集包含敏感度值Vc。
在一个实施方案中,敏感度层可包含经定义为不被任何其它敏感度层覆盖的任何敏感度值的敏感度值准则。举例来说,敏感度层275C可具有定义为除(Va、Vb、Vc、Vd)之外的任何敏感度值的敏感度值准则,这是因为那些值已经保留用于敏感度层275A及275B。相应地,具有敏感度值Vg的存储器页面P2及具有敏感度值Ve的Pn可经指派到敏感度层275C。在另一实施方案中,以均匀间隔物理地定位于存储器块210中(例如,使用循环算法,在存储器块210中,每隔四个页面)的存储器页面集合可经指派到敏感度层,无论页面的敏感度值为何。此选择准则可有助于确保跨整个存储器块210充分地取样存储器页面,例如以检测可能尚未转译成存储器页面敏感度值的未预见到的错误。
图3是说明根据本发明的一些实施例的媒体扫描样本到多个敏感度层的百分比分配的框图300。在一个实施方案中,敏感度层数据365可包含存储器组件112A到N内的存储器页面可被指派到其的敏感度层275A到C的集合。对于每一敏感度层275A到C,可确定与敏感度层相关联的专属敏感度值范围。在另一实例中,可确定与敏感度层相关联的一组离散敏感度值。除相关联的敏感度值之外,每一敏感度层275A到C的数据包含基于每一存储器页面的敏感度值指派到敏感度层的存储器页面列表。举例来说,敏感度层275A可包含存储器页面370的列表,其中每一页面的敏感度值匹配与敏感度层275A相关联的敏感度值范围内的敏感度值。
在一个实施方案中,选择性取样模块113可建立媒体扫描样本385,其可在给定时间扫描且根据每一层的某一经预先确定的百分比分配准则由来自每一敏感度层275A到C的多个存储器页面组成。在一个实施方案中,分配到每一敏感度层的媒体扫描样本的百分比可与每一敏感度层275A到C的敏感度等级成比例。举例来说,分配到每一敏感度层的媒体扫描样本的百分比可基于敏感度层的目标扫描间隔(例如,每隔三天、每周、每月等)及存储器子系统110的操作模型(例如,存储器每天8小时主动取样)。每一敏感度层的目标扫描间隔可基于一或多个因素确定,所述因素包含存储器子系统规格、运行扫描的速率、层内的存储器页面的故障敏感度、存储器单元裕度及存储器组件的操作模型(例如,每天的通电小时数)。
在另一实施方案中,选择性取样模块113可通过定义可将来自每一敏感度层的存储器页面列表指派到其的媒体扫描时隙的数目建立媒体扫描样本385。在此案例中,媒体扫描时隙的子集可经指派到每一敏感度层275A到C。媒体扫描时隙的子集可与每一敏感度层的敏感度等级成比例。举例来说,当对应于第一层的敏感度值大于对应于第二层的敏感度值时,指派到第一敏感度层的时隙的第一子集可具有比指派到第二敏感度层的时隙的第二子集更多的时隙。在执行每一扫描工作之前,媒体扫描时隙可根据指派到相应层的媒体扫描时隙子集以来自每一敏感度层的存储器页面填充。替代地,媒体扫描时隙可在扫描工作运行时根据每一敏感度层的目标扫描间隔以来自敏感度层的存储器页面动态地填充。
在说明性实例中,假设存储器子系统110含有1百万个存储器页面,且假想地假设在1百万个页面中,存储器子系统110在高敏感度层中含有5000个页面。还假设存储器子系统的通电时间是每天8个小时,根据系统规格,高敏感度层中的存储器页面需要每隔5天至少扫描一次(此表示高敏感度层的目标扫描间隔),且选择性取样模块113能够每分钟扫描4个存储器页面。在此假设下,分配到高敏感度层的扫描样本的百分比可经计算为敏感度页面总数目(5000)除以可在5天内扫描的页面总数目(4页面/分x 60分/时x 8时/天x 5天)=9700。结果是(5000/9700)=55%。因此,为了每隔5天取样所有敏感页面,媒体扫描样本可能需要将其总存储器页面的大约55%分配到高敏感度层。
在本发明的另一实施方案中,分配到每一敏感度层的媒体扫描样本的百分比可经偏斜使得分配到高敏感度层的取样百分比大于分配到低敏感度层的取样百分比,从而最小化扫描样本及频率同时维持数据的可靠性。举例来说,出于说明目的假设敏感度层275A具有比敏感度层275B更高的敏感度等级且敏感度层275C具有最低敏感度等级。在此案例中,媒体扫描样本385可包括来自敏感度层275A的样本内的页面的大约66%、来自敏感度层275B的样本内的页面的大约20%及来自敏感度层275C的样本内的页面的大约13%。
图4是根据本发明的一些实施例的用于执行故障敏感存储器页面的选择性加速取样的实例方法的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法400由图1的选择性取样模块113执行。尽管以特定顺序或次序展示,但除非另外指定,否则过程的次序是可修改的。因此,说明的实施例应被理解为仅作为实例,且说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中,可省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流是可能的。
在操作410处,处理装置确定存储器组件112中的多个存储器页面的敏感度值。处理装置可基于页面对由与所述页面相关联的字线的物理特性(例如字线的宽度)所指示的一或多个故障度量的敏感性确定每一存储器页面的敏感度值。
在操作420处,处理装置将每一存储器页面指派到多个敏感度层的敏感度层,其中每一层对应于页面敏感度值范围,且敏感度层对应于存储器页面的敏感度值。在一个实施方案中,多个敏感度层中的每一层可涵盖敏感度值范围,且处理装置可将每一存储器页面指派到敏感度层中的一者的静态页面列表或动态页面列表,其中存储器页面的敏感度值处于层的敏感度值范围内。
在操作430处,处理装置确定多个敏感度层中的每一敏感度层的目标扫描间隔。在一个实施方案中,每一敏感度层的目标扫描间隔可基于指定存储器组件对故障机制的敏感性的存储器组件112的物理特性确定。在一个实施方案中,对故障具有高敏感率的存储器单元可具有较短目标扫描间隔,而具有低敏感率的存储器单元可具有较长目标扫描间隔。相关物理特性的实例包含由存储器组件的系统规格、存储器单元裕度及故障敏感度指定的存储器组件的方面。存储器单元裕度可指代谷裕度,其是两个阈值电压值的面积,谷裕度越小,可能易受故障影响的存储器单元越多。存储器组件的系统规格可指代存储器组件的数据表,其描述其技术能力、大小、速度、输出性能及类似者。敏感度层的目标扫描间隔可表示可扫描指派到敏感度层的存储器页面的子集使得具有较高敏感度值的敏感度层可具有比具有较低敏感度值的敏感度层更小的目标扫描间隔(即,可更频繁地扫描)的时间周期。
在操作440处,处理装置扫描存储器页面的子集,所述子集由来自每一敏感度层的根据每一敏感度层的对应目标扫描间隔确定的数个存储器页面组成。在一个实施方案中,处理装置可周期性地扫描来自通过每一敏感度层的目标扫描间隔所确定的敏感度层集合中的每一敏感度层的存储器页面子集。在一个实施方案中,可在给定时间扫描的媒体扫描样本可划分成多个部分,每一部分分配给一个敏感度层,且分配到每一部分的媒体扫描样本的百分比可与每一敏感度层的敏感度等级成比例。举例来说,分配到每一敏感度层的媒体扫描样本的百分比可基于敏感度层的目标扫描间隔及存储器组件112的操作模型(例如,每天8小时的通电时间)。在另一实例中,处理装置可定义可将待扫描的多个存储器页面指派到其的媒体扫描时隙列表。层集合中的每一敏感度层可从所述列表经指派与敏感度层的敏感度等级成比例的数个扫描时隙。数个媒体扫描时隙随后可以来自相应敏感度层的存储器页面填充,且可扫描扫描时隙的完整填充列表。替代地,可在扫描工作运行时即时填充媒体扫描时隙。在此案例中,扫描时隙的次序可确定可从其填充所述扫描时隙的敏感度层。举例来说,如果层A具有60%的取样率,层B具有40%的取样率,且扫描样本具有10个时隙,那么时隙1到6可以来自层A的存储器页面填充,且时隙7到10可以来自层B的存储器页面填充。在某些实施方案中,可首先使用随机数策略选择敏感度层以填充媒体扫描时隙。类似地,可使用随机数策略从所选择的层选择存储器页面以进行扫描。
图5是根据本发明的一些实施例的用于将存储器页面指派到高敏感度层或低敏感度层的静态列表的实例方法的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法500由图1的选择性取样模块113执行。尽管以特定顺序或次序展示,但除非另外指定,否则过程的次序是可修改的。因此,说明的实施例应被理解为仅作为实例,且说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中,可省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流是可能的。
在操作510处,处理装置确定存储器组件112中的存储器页面的敏感度值。处理装置可基于页面对由与所述页面相关联的字线的物理特性(例如字线的宽度)所指示的一或多个故障度量的敏感性确定每一存储器页面的敏感度值。相关故障度量包含字线的交叉温度、读取干扰及保持响应。
在操作515处,处理装置确定存储器页面的敏感度值是否满足与高敏感度层相关联的经预先确定的敏感度准则。在一个实施方案中,敏感度值范围可与高敏感度层相关联。在此案例中,如果页面的敏感度值在高敏感度层的敏感度值范围内,那么可认为满足敏感度准则。在另一实施方案中,可确定一组离散敏感度值可与高敏感度层相关联。在此案例中,如果页面的敏感度值匹配高敏感度层的敏感度值集中的敏感度值中的一者,那么可认为满足敏感度准则。
如果存储器页面的敏感度值满足敏感度准则,那么在操作520处,选择性处理模块113将存储器页面指派到高敏感度层的静态列表。在一个实施方案中,在存储器组件112的开发及测试期间,可收集存储器子系统110的存储器块内的字线的鉴定及验证数据。在此收集过程期间,可基于存储器组件112的制造过程(例如,硅技术)生成敏感页面的静态列表,其可表示高敏感度层的静态列表。
在操作540处,处理装置根据高敏感度层的目标扫描间隔扫描存储器页面。在一个实施方案中,选择性取样模块113可基于包含存储器组件112的系统规格、存储器单元裕度及故障敏感度的存储器组件112的物理特性确定高敏感度层的目标扫描间隔。高敏感度层的目标扫描间隔可表示可扫描指派到高敏感度层的存储器页面使得高敏感度层可具有比低敏感度层更小的目标扫描间隔(即,可更频繁地扫描)的时间周期。
如果存储器页面的敏感度值不满足高敏感度层的敏感度准则,那么在操作530处,选择性取样模块113将存储器页面指派到低敏感度层的静态列表。在一个实施方案中,在存储器组件112的鉴定及验证数据的收集期间,可基于存储器组件112的制造过程(例如,硅技术)生成静态非敏感页面列表,且此列表可表示低敏感度层的静态列表。
在操作550处,处理装置根据低敏感度层的目标扫描间隔扫描存储器页面。在一个实施方案中,选择性取样模块113可基于包含存储器组件112的系统规格、存储器单元裕度及故障敏感度的存储器组件112的物理特性确定低敏感度层的目标扫描间隔。低敏感度层的目标扫描间隔可表示可扫描指派到低敏感度层的某一百分比的存储器页面使得低敏感度层可具有比高敏感度层更大的目标扫描间隔(即,可不太频繁地扫描)的时间周期。
图6是根据本发明的一些实施例的用于将存储器页面指派到高敏感度层、中敏感度层及低敏感度层的动态列表的实例方法的流程图。方法600可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法600由图1的选择性取样模块113执行。尽管以特定顺序或次序展示,但除非另外指定,否则过程的次序是可修改的。因此,说明的实施例应被理解为仅作为实例,且说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中,可省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流是可能的。
在操作610处,处理装置确定存储器组件112中的存储器页面的敏感度值。处理装置可基于页面对由与所述页面相关联的字线的物理特性(例如字线的宽度)所指示的一或多个故障度量的敏感性确定每一存储器页面的敏感度值。相关故障度量包含字线的交叉温度、读取干扰及保持响应。
在操作615处,处理装置确定存储器页面的敏感度值是否满足与高敏感度层相关联的经预先确定的第一敏感度准则。如上文关于图5描述,敏感度值范围可与高敏感度层相关联。在此案例中,如果页面的敏感度值在高敏感度层的敏感度值范围内,那么可认为满足第一敏感度准则。如果存储器页面的敏感度值满足第一敏感度准则,那么在操作620处,选择性处理模块113将存储器页面指派到高敏感度层的动态敏感页面列表。在一个实施方案中,动态敏感页面列表可经生成且在存储器组件112的寿命内动态地更新。在一个实施方案中,如果存储器页面正触发存储器组件112的健康问题,那么可将存储器页面添加到动态敏感页面列表(例如,如果所述页面与其它页面相比导致更高的存储器块210的刷新速率,那么所述页面正触发健康问题)。在此案例中,选择性处理模块113可建立直方图以检测哪些字线已比其它字线触发更多的存储器块刷新,且可将那些字线平移到可动态地存储的且与高敏感度层相关联的敏感存储器页面列表。在另一实例中,可利用机器学习机制基于多个故障度量动态地确定存储器块210内的敏感存储器页面。动态存储器页面列表可使能够在存储器组件112的寿命期间识别新的故障度量且使所得敏感存储器页面列表能够在最低开发及集成开销下集成到取样过程中。
在操作640处,处理装置根据高敏感度层的目标扫描间隔扫描存储器页面。在一个实施方案中,选择性取样模块113可基于包含存储器组件112的系统规格、存储器单元裕度及故障敏感度的存储器组件112的物理特性确定高敏感度层的目标扫描间隔。高敏感度层的目标扫描间隔可表示可扫描指派到高敏感度层的某一百分比的存储器页面使得高敏感度层可具有比较低敏感度层更小的目标扫描间隔(即,可更频繁地扫描)的时间周期。
如果存储器页面的敏感度值不满足高敏感度层的第一敏感度准则,那么在操作625处,处理装置确定存储器页面的敏感度值是否满足与中敏感度层相关联的经预先确定的第二敏感度准则。在一个实施方案中,与中敏感度层相关联的第二准则可为使以均匀间隔物理地定位于存储器块210中(例如,使用循环算法,在存储器块210中,每隔四个页面)的存储器页面集合包含于中敏感度层中,无论页面的敏感度值为何。此选择准则可用于确保跨整个存储器组件112充分地取样存储器页面,例如以检测可能尚未转译成页面敏感度值的未预见到的错误。
如果存储器页面的敏感度值满足第二敏感度准则,那么在操作630处,选择性处理模块113将存储器页面指派到中敏感度层的敏感页面列表。在操作640处,处理装置根据中敏感度层的目标扫描间隔扫描存储器页面。在一个实施方案中,选择性取样模块113可基于包含存储器组件112的系统规格、NAND裕度及故障敏感度的存储器组件112的物理特性确定中敏感度层的目标扫描间隔。中敏感度层的目标扫描间隔可表示可扫描指派到中敏感度层的某一百分比的存储器页面使得中敏感度层可具有比高敏感度层更大的目标扫描间隔(即,可不太频繁地扫描)但具有比低敏感度层更小的目标扫描间隔(即,可更频繁地扫描)的时间周期。
如果存储器页面的敏感度值不满足中敏感度层的第二敏感度准则,那么在操作650处,选择性取样模块113将存储器页面指派到低敏感度层的页面列表。在一个实施方案中,既不满足高敏感度层的第一敏感度准则也不满足中敏感度层的第二敏感度准则的存储器页面可默认新增到低敏感度层的列表。最后,在操作660处,处理装置根据低敏感度层的目标扫描间隔扫描存储器页面。在一个实施方案中,如上文关于图5描述,选择性取样模块113可基于包含存储器组件112的系统规格、NAND裕度及故障敏感度的存储器组件112的物理特性确定低敏感度层的目标扫描间隔。低敏感度层的目标扫描间隔可表示可扫描指派到低敏感度层的某一百分比的存储器页面使得低敏感度层可具有比高敏感度层及中敏感度层更大的目标扫描间隔(即,可不太频繁地扫描)的时间周期。
图7说明计算机系统700的实例机器,可在计算机系统700内执行可致使机器执行本文论述的方法论中的任一或多者的一组指令。在一些实施例中,计算机系统700可对应于主机系统(例如,图1的主机系统120),所述主机系统包含存储器子系统(例如,图1的存储器子系统110)、耦合到所述存储器子系统或利用所述存储器子系统或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的选择性取样模块113的操作)。在替代实施例中,机器可连接(例如,联网)到LAN、内部网、外部网及/或因特网中的其它机器。机器可作为主从式网络环境中的服务器或客户端机器而操作、充当对等(或分布式)网络环境中的对等机器或充当云计算基础设施或环境中的服务器或客户端机器。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够执行(循序或以其它方式)指定由所述机器所采取的动作的一组指令的任何机器。此外,虽然说明了单个机器,但术语“机器”还应被视为包含个别或联合执行一(或多组)指令以执行本文中论述的方法论中的任一或多者的机器的任何集合。
实例计算机系统700包含处理装置702、主存储器704(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM))、静态存储器706(例如,快闪存储器、静态随机存取存储器(SRAM))等)及数据存储系统718,其经由总线730与彼此通信。
处理装置702表示一或多个通用处理装置,例如微处理器、中央处理单元或类似物。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的一处理器或实施指令集组合的多个处理器。处理装置702也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似物。处理装置702经配置以执行用于执行本文中论述的操作及步骤的指令726。计算机系统700可进一步包含网络接口装置708以通过网络720通信。
数据存储系统718可包含其上存储一或多组指令726或体现本文中描述的方法论或功能中的任一或多者的软件的机器可读存储媒体724(也称为计算机可读媒体)。指令726在由计算机系统700执行期间也可完全或至少部分驻留于主存储器704内及/或处理装置702内,主存储器704及处理装置702也构成机器可读存储媒体。机器可读存储媒体724、数据存储系统718及/或主存储器704可对应于图1的存储器子系统110。
在一个实施例中,指令726包含实施对应于图1的选择性取样模块113的功能性的指令。虽然在实例实施例中将机器可读存储媒体724展示为单个媒体,但术语“机器可读存储媒体”应理解为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”也应理解为包含能够存储或编码由机器执行的指令集且致使机器执行本发明的方法论中的任一或多者的任何媒体。术语“机器可读存储媒体”应相应地理解为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已依据对计算机存储器内的数据位的操作的算法及符号表示呈现前述详细描述的一些部分。这些算法描述及表示是由数据处理领域的技术人员用以向所属领域的其它技术人员最有效地表达其工作实质的方式。算法在本文且通常被设想为导致所期望结果的自相一致的操作序列。操作是需要物理操纵物理量的操作。通常,但不是必须的,这些量采取能够被存储、组合、比较及以其它方式操纵的电或磁性信号的形式。已证明,有时由于习惯用法将这些信号称为位、值、元素、符号、字符、项、数字或类似物是方便的。
然而,应记住,所有这些及类似术语都应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本发明可参考计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置操纵表示为计算机系统的寄存器及存储器内的物理(电子)量的数据并将所述数据转换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
本发明还涉及用于执行本文中的操作的设备。此设备可出于预期目的经专门构造,或其可包含由存储于计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可经存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文中呈现的算法及显示器并不固有地与任何特定计算机或其它设备有关。各种通用系统可结合根据本文中的教示的程序使用,或可证明构造更专门的设备来执行方法是方便的。用于各种这些系统的结构将如下文描述中陈述那样出现。另外,本发明不参考任何特定编程语言进行描述。应了解,多种编程语言可用于实施本文中所描述的本发明的教示。
本发明可经提供作为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本发明的过程。机器可读媒体包含用于存储呈可由机器(例如计算机)读取的形式的信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,已参考本发明的特定实例实施例描述了其实施例。应明白,在不背离所附权利要求书中所陈述的本发明的实施例的更宽精神及范围的情况下,可对特定实施例做出各种修改。因此,说明书及图式应以说明性意义而非限制性意义来看待。
Claims (20)
1.一种系统,其包括:
存储器组件;及
处理装置,其可操作地与所述存储器组件耦合以:
确定所述存储器组件中的存储器页面的敏感度值;
基于对应敏感度值将所述存储器页面指派到多个敏感度层中的敏感度层,其中每一敏感度层具有对应敏感度值范围;
确定所述多个敏感度层中的每一敏感度层的目标扫描间隔;及
扫描所述存储器组件中的多个存储器页面的子集,其中所述子集包括来自每一敏感度层的根据每一敏感度层的对应目标扫描间隔确定的数个存储器页面。
2.根据权利要求1所述的系统,其中来自每一敏感度层的所述数个存储器页面包括基于所述敏感度层的所述目标扫描间隔及所述存储器组件的操作模型确定的媒体扫描样本的百分比。
3.根据权利要求1所述的系统,其中所述目标扫描间隔是基于所述存储器组件的至少一个物理特性,包括所述存储器组件的系统规格、存储器单元裕度或故障敏感度。
4.根据权利要求1所述的系统,其中为了确定存储器页面的所述敏感度值,所述处理装置将进一步基于与所述存储器页面相关联的字线的宽度确定故障度量,所述故障度量包括所述字线的交叉温度、读取干扰或保持响应中的至少一者。
5.根据权利要求1所述的系统,其中为了将存储器页面指派到敏感度层,所述处理装置将进一步基于所述存储器组件的鉴定或制造数据中的至少一者将所述存储器页面指派到静态敏感页面列表。
6.根据权利要求1所述的系统,其中为了将存储器页面指派到敏感度层,所述处理装置将进一步基于由所述存储器页面引起的存储器块的刷新速率将所述存储器页面指派到动态敏感页面列表。
7.根据权利要求1所述的系统,其中所述处理装置将进一步将以均匀间隔定位于存储器块中的多个存储器页面指派到敏感度层。
8.一种方法,其包括:
由处理装置确定所述存储器组件中的存储器页面的敏感度值;
基于对应敏感度值将所述存储器页面指派到多个敏感度层中的敏感度层,其中每一敏感度层具有对应敏感度值范围;
确定所述多个敏感度层中的每一敏感度层的目标扫描间隔;及
扫描存储器组件中的多个存储器页面的子集,其中所述子集包括来自每一敏感度层的根据每一敏感度层的对应目标扫描间隔确定的数个存储器页面。
9.根据权利要求8所述的方法,其中来自每一敏感度层的所述数个存储器页面包括基于所述敏感度层的所述目标扫描间隔及所述存储器组件的操作模型确定的媒体扫描样本的百分比。
10.根据权利要求8所述的方法,其中所述目标扫描间隔是基于所述存储器组件的至少一个物理特性,包括所述存储器组件的系统规格、存储器单元裕度或故障敏感度。
11.根据权利要求8所述的方法,其中确定存储器页面的所述敏感度值包括基于与所述存储器页面相关联的字线的宽度确定故障度量,所述故障度量包括所述字线的交叉温度问题、读取干扰错误或数据保持问题中的至少一者。
12.根据权利要求8所述的方法,其中将所述存储器页面指派到敏感度层包括:基于所述存储器组件的鉴定或制造数据中的至少一者将所述存储器页面指派到静态敏感页面列表。
13.根据权利要求8所述的方法,其中将所述存储器页面指派到敏感度层包括:基于由所述存储器页面引起的存储器块的刷新速率将所述存储器页面指派到动态敏感页面列表。
14.根据权利要求8所述的方法,其进一步包括将以均匀间隔定位于存储器块中的多个存储器页面指派到敏感度层。
15.一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时致使所述处理装置:
定义多个媒体扫描时隙,可将对应于多个敏感度层的多个存储器页面指派到所述多个媒体扫描时隙,其中所述多个敏感度层中的每一敏感度层包括敏感度值范围及对应于所述敏感度值范围的一组存储器页面;
将多个所述媒体扫描时隙指派到所述多个敏感度层中的每一敏感度层,其中指派到第一敏感度层的第一多个时隙中的时隙的第一数目大于指派到第二敏感度层的第二多个时隙中的时隙的第二数目,其中对应于所述第一层的所述敏感度值大于对应于所述第二层的所述敏感度值;
针对所述多个敏感度层中的每一敏感度层,将所述相应层的所述存储器页面列表的存储器页面指派到所述多个媒体扫描时隙中的指派到所述相应层的媒体扫描时隙;及
扫描指派到数个媒体扫描时隙的所述多个存储器页面。
16.根据权利要求15所述的非暂时性计算机可读存储媒体,其进一步包括指令,所述指令在由处理装置执行时致使所述处理装置基于与所述多个敏感度层中的每一敏感度层相关联的目标扫描间隔进一步确定所述多个敏感度层。
17.根据权利要求16所述的非暂时性计算机可读存储媒体,其中时隙的所述第一数目是基于相应敏感度层的所述目标扫描间隔。
18.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述多个敏感度层中的每一敏感度层进一步包括以均匀间隔物理地定位于存储器块中的多个存储器页面。
19.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述相应层的所述存储器页面列表中的所述存储器页面具有敏感度值,所述敏感度值对应于与所述相应敏感度层相关联的敏感度值范围。
20.根据权利要求15所述的非暂时性计算机可读存储媒体,其中媒体扫描时隙的所述数目是至少基于所述存储器组件的系统规格、存储器单元裕度或故障敏感度中的至少一者。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/432,786 US11301143B2 (en) | 2019-06-05 | 2019-06-05 | Selective accelerated sampling of failure-sensitive memory pages |
US16/432,786 | 2019-06-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112053733A true CN112053733A (zh) | 2020-12-08 |
Family
ID=73609156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010503747.4A Pending CN112053733A (zh) | 2019-06-05 | 2020-06-05 | 故障敏感存储器页面的选择性加速取样 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11301143B2 (zh) |
CN (1) | CN112053733A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11467763B2 (en) * | 2021-01-20 | 2022-10-11 | Micron Technology, Inc. | Valid data aware media reliability scanning for memory sub-blocks |
US11868223B2 (en) * | 2022-01-19 | 2024-01-09 | Dell Products L.P. | Read-disturb-based read temperature information utilization system |
US11914494B2 (en) | 2022-01-20 | 2024-02-27 | Dell Products L.P. | Storage device read-disturb-based read temperature map utilization system |
US11928354B2 (en) * | 2022-01-21 | 2024-03-12 | Dell Products L.P. | Read-disturb-based read temperature determination system |
US11922035B2 (en) | 2022-01-21 | 2024-03-05 | Dell Products L.P. | Read-disturb-based read temperature adjustment system |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6603690B1 (en) * | 2002-03-06 | 2003-08-05 | International Business Machines Corporation | Low-power static column redundancy scheme for semiconductor memories |
CN1790297A (zh) * | 2004-12-14 | 2006-06-21 | 国际商业机器公司 | 用于管理存储器页请求的方法和系统 |
CN103733179A (zh) * | 2011-05-17 | 2014-04-16 | 麦利尔公司 | 用于存储器功率和/或面积缩减的方法和设备 |
US20140189881A1 (en) * | 2012-12-31 | 2014-07-03 | Ronnie Lindsay | Enhanced security for accessing virtual memory |
US8862952B1 (en) * | 2012-03-16 | 2014-10-14 | Western Digital Technologies, Inc. | Prioritized memory scanning for data storage systems |
CN104584135A (zh) * | 2012-06-21 | 2015-04-29 | 桑迪士克科技股份有限公司 | 采用目标读擦洗算法的闪存 |
US9069477B1 (en) * | 2011-06-16 | 2015-06-30 | Amazon Technologies, Inc. | Reuse of dynamically allocated memory |
CN106233265A (zh) * | 2015-02-26 | 2016-12-14 | 斯特拉托斯卡莱有限公司 | 将访问频率层次结构用于逐出目标的选择 |
CN108228093A (zh) * | 2016-12-22 | 2018-06-29 | 西部数据技术公司 | 使用后台介质扫描来监控存储器的方法和装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7477547B2 (en) * | 2007-03-28 | 2009-01-13 | Sandisk Corporation | Flash memory refresh techniques triggered by controlled scrub data reads |
US8120990B2 (en) * | 2008-02-04 | 2012-02-21 | Mosaid Technologies Incorporated | Flexible memory operations in NAND flash devices |
US8161355B2 (en) * | 2009-02-11 | 2012-04-17 | Mosys, Inc. | Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard CMOS logic process |
US8176234B2 (en) * | 2009-12-04 | 2012-05-08 | International Business Machines Corporation | Multi-write coding of non-volatile memories |
US9229854B1 (en) * | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US10445229B1 (en) * | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US10439650B2 (en) * | 2015-05-27 | 2019-10-08 | Quantum Corporation | Cloud-based solid state device (SSD) with dynamically variable error correcting code (ECC) system |
US10222984B1 (en) * | 2015-12-31 | 2019-03-05 | EMC IP Holding Company LLC | Managing multi-granularity flash translation layers in solid state drives |
KR102508132B1 (ko) * | 2016-10-31 | 2023-03-09 | 주식회사 멤레이 | 자기 저항 메모리 모듈 및 이를 포함하는 컴퓨팅 디바이스 |
US10885991B2 (en) * | 2017-04-04 | 2021-01-05 | Sandisk Technologies Llc | Data rewrite during refresh window |
US10387280B2 (en) * | 2017-06-09 | 2019-08-20 | International Business Machines Corporation | Reporting defects in a flash memory back-up system |
JP7010667B2 (ja) * | 2017-11-06 | 2022-01-26 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11119662B2 (en) * | 2018-06-29 | 2021-09-14 | International Business Machines Corporation | Determining when to perform a data integrity check of copies of a data set using a machine learning module |
US10762979B2 (en) * | 2018-10-29 | 2020-09-01 | International Business Machines Corporation | Data retention in storage drives |
US20200218599A1 (en) * | 2019-01-09 | 2020-07-09 | Hewlett Packard Enterprise Development Lp | Methods and systems for smart memory data integrity checking |
US10956317B2 (en) * | 2019-02-11 | 2021-03-23 | International Business Machines Corporation | Garbage collection in non-volatile memory that fully programs dependent layers in a target block |
-
2019
- 2019-06-05 US US16/432,786 patent/US11301143B2/en active Active
-
2020
- 2020-06-05 CN CN202010503747.4A patent/CN112053733A/zh active Pending
-
2022
- 2022-04-07 US US17/715,433 patent/US11644979B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6603690B1 (en) * | 2002-03-06 | 2003-08-05 | International Business Machines Corporation | Low-power static column redundancy scheme for semiconductor memories |
CN1790297A (zh) * | 2004-12-14 | 2006-06-21 | 国际商业机器公司 | 用于管理存储器页请求的方法和系统 |
CN103733179A (zh) * | 2011-05-17 | 2014-04-16 | 麦利尔公司 | 用于存储器功率和/或面积缩减的方法和设备 |
US9069477B1 (en) * | 2011-06-16 | 2015-06-30 | Amazon Technologies, Inc. | Reuse of dynamically allocated memory |
US8862952B1 (en) * | 2012-03-16 | 2014-10-14 | Western Digital Technologies, Inc. | Prioritized memory scanning for data storage systems |
CN104584135A (zh) * | 2012-06-21 | 2015-04-29 | 桑迪士克科技股份有限公司 | 采用目标读擦洗算法的闪存 |
US20140189881A1 (en) * | 2012-12-31 | 2014-07-03 | Ronnie Lindsay | Enhanced security for accessing virtual memory |
CN106233265A (zh) * | 2015-02-26 | 2016-12-14 | 斯特拉托斯卡莱有限公司 | 将访问频率层次结构用于逐出目标的选择 |
CN108228093A (zh) * | 2016-12-22 | 2018-06-29 | 西部数据技术公司 | 使用后台介质扫描来监控存储器的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11644979B2 (en) | 2023-05-09 |
US20220229564A1 (en) | 2022-07-21 |
US11301143B2 (en) | 2022-04-12 |
US20200387324A1 (en) | 2020-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113168875B (zh) | 读取干扰扫描合并 | |
US11644979B2 (en) | Selective accelerated sampling of failure- sensitive memory pages | |
US11455194B2 (en) | Management of unmapped allocation units of a memory sub-system | |
US11682446B2 (en) | Selective wordline scans based on a data state metric | |
US11749373B2 (en) | Bad block management for memory sub-systems | |
US11544008B2 (en) | Temperature correction in memory sub-systems | |
US11436085B2 (en) | Dynamic over provisioning allocation for purposed blocks | |
CN113168884A (zh) | 使用与存储器子系统相关联的错误控制成功率实施粘性读取 | |
US11726869B2 (en) | Performing error control operation on memory component for garbage collection | |
CN112740331A (zh) | 基于存储器组件特性组件刷新存储在存储器组件处的数据 | |
US11894090B2 (en) | Selective power-on scrub of memory units | |
WO2021035085A1 (en) | Sequential slc read optimization | |
CN112346901A (zh) | 具有时变错误率的存储器中的抢先式读取刷新 | |
CN111273857A (zh) | 基于可靠性统计分布的数据块的子组的数据的选择性重定位 | |
CN114097035A (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 |