CN117795472A - 自适应数据完整性扫描频率 - Google Patents

自适应数据完整性扫描频率 Download PDF

Info

Publication number
CN117795472A
CN117795472A CN202280055363.8A CN202280055363A CN117795472A CN 117795472 A CN117795472 A CN 117795472A CN 202280055363 A CN202280055363 A CN 202280055363A CN 117795472 A CN117795472 A CN 117795472A
Authority
CN
China
Prior art keywords
memory
data integrity
utilization value
subdivision
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280055363.8A
Other languages
English (en)
Inventor
S·谢里菲·德黑兰尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN117795472A publication Critical patent/CN117795472A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

示范性方法、设备及系统包含检测触发以更新数据完整性扫描频率。响应于检测到所述触发,获得存储器细分的年限指标或所述存储器细分的利用率值。使用所述年限指标或所述利用率值确定新数据完整性扫描频率。使用所述新数据完整性扫描频率在当前媒体扫描循环期间启动所述存储器细分的扫描。

Description

自适应数据完整性扫描频率
技术领域
本公开大体上涉及存储器子系统中的数据错误的减轻,且更明确来说,涉及确定及使用自适应数据完整性扫描频率以保证存储器子系统的可靠性。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统来将数据存储于存储器装置处及从存储器装置检索数据。
附图说明
将从下文给出的详细描述及从本公开的各种实施例的附图更完全理解本公开。然而,图式不应被视为将本公开限于特定实施例,而是仅用于解释及理解。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2说明根据本公开的一些实施例的管理存储器子系统的一部分的实例。
图3是根据本公开的一些实施例的用以基于存储器的年限、耐用性或利用率而动态选择数据完整性扫描频率的实例方法的流程图。
图4是根据本公开的一些实施例的用以基于存储器的年限、耐用性或利用率而动态选择数据完整性扫描频率的另一实例方法的流程图。
图5是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面涉及在存储器子系统中实施自适应数据完整性扫描频率。存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如存储数据的存储器装置)的存储器子系统。主机系统可提供存储于存储器子系统处的数据且可请求从存储器子系统检索的数据。
存储器装置可为非易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。非易失性存储器装置的一个实例是与非(NAND)存储器装置。非易失性存储器装置的其它实例在下文结合图1进行描述。封装中的裸片可指派给一或多个通道以与存储器子系统控制器通信。每一裸片可由一或多个平面组成。平面可分组到逻辑单元(LUN)中。针对一些类型的非易失性存储器装置(例如NAND存储器装置),每一平面由一组物理块组成,物理块是用以存储数据的存储器胞元群组。胞元是存储信息的电子电路。
取决于胞元类型,胞元可存储一或多个二进制信息位且具有与所存储的位的数目相关的各种逻辑状态。逻辑状态可由例如“0”及“1”或此类值的组合的二进制值表示。存在各种类型的胞元,例如单电平胞元(SLC)、多电平胞元(MLC)、三电平胞元(TLC)及四电平胞元(QLC)。举例来说,SLC可存储一个信息位且具有两种逻辑状态。
存储器中的数据可靠性可随存储器装置密度提高而降级。举例来说,错误率随装置组件大小缩小而提高或在每胞元编程多个/额外位时提高等等。可靠性的此降低的一种促成因素是读取干扰。当对存储器的一部分(例如一行胞元)(通常称为侵略者)执行的读取操作影响存储器的另一部分(例如相邻行胞元)(通常称为受害者)中的阈值电压时,发生读取干扰。存储器装置通常对这些干扰具有有限容限。足够量的读取干扰效应(例如对相邻侵略胞元执行的阈值次数的读取操作)可将存储器的其它/未读部分中的受害胞元改成与原来编程不同的逻辑状态,这导致错误。另外,其它因素会促成错误。举例来说,存储数据的数据保持/年限、热电子(热e)现象(其中块内的读取可随时间提高在块中观察到的总错误率)、写入与读取之间的交叉温度差等也可促成位错误。
存储器系统可经由读取存储器(即,执行媒体或完整性扫描)及在例如存储器细分内的一或多个位置的错误指示达到阈值时对存储器位置重新编程的内部过程来减轻错误。数据完整性扫描利用关于导致错误的现象的基于时间的度量且基于所述现象的最坏情况方案可靠性水平以一速率执行扫描。举例来说,如果存储器子系统满载且接近寿命终止(即,存储器装置的最大支持编程/擦除循环(PEC)),那么其可具有说明数据可存储于存储器中达X天而不会被重新编程的规范。在X天之后,存储器子系统有在数据中存在无法校正数目个错误的风险。存储器子系统可利用数据完整性扫描频率,使得存储器子系统可在所述天数内扫描整个驱动器(即,基于假定存储器装置被100%完全编程而在媒体扫描循环内进行的读取操作的频率)。然而,存储器装置的寿命终止度量比寿命中期或寿命开始度量严格得多。另外,当存储器的利用率小于100%(即,存储器装置未被100%完全编程)时,基于100%利用率的扫描频率导致扫描循环在时间间隔结束之前完成且数据完整性扫描过程一直暂停到下一时间间隔。由于使用这些最坏情况度量,在存储器装置的大部分寿命期间,至少在每一间隔开始时,存储器子系统利用非必要高数据完整性扫描速率。非必要高数据完整性扫描速率可导致由主机装置进行的存储器存取延迟。
本公开的方面通过基于存储器的年限、耐用性及/或利用率而动态选择数据完整性扫描频率来解决上述及其它缺点。举例来说,存储器子系统可基于存储器装置的当前年限(例如依据PEC)及存储器装置的利用率而选择数据完整性扫描频率。因此,存储器子系统可大大降低数据完整性扫描的频率(例如,在存储器装置的寿命开始及中期期间及/或当存储器装置未被完全利用时)。这进一步导致主机存取存储器的带宽增加且不牺牲存储数据的可靠性。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如存储器装置140)、一或多个非易失性存储器装置(例如存储器装置130)或其组合。
存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可为例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如飞机、无人机、火车、汽车或其它运输工具)、物联网(IoT)启用装置、嵌入式计算机(例如包含于运载工具、工业装备或联网商用装置中的嵌入式计算机)或包含存储器及处理装置的此类计算装置的计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中使用,“耦合到”或“与…耦合”一般指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有中介组件),无论有线还是无线,包含例如电、光学、磁性等的连接。
主机系统120可包含处理器芯片组及由处理器芯片组执行的软件栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如NVDIMM控制器)及存储协议控制器(例如PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110例如将数据写入到存储器子系统110及从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、小型计算机系统接口(SCSI)、双倍数据速率(DDR)存储器总线、双列直插式存储器模块(DIMM)接口(例如支持双倍数据率(DDR)的DIMM插槽接口)、开放NAND快闪接口(ONFI)、双倍数据速率(DDR)、低功率双倍数据速率(LPDDR)或任何其它接口。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM快速(NVMe)接口存取组件(例如存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。图1将存储器子系统110说明为实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接及/或通信连接的组合存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如存储器装置140)可为(但不限于)随机存取存储器(RAM),例如动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如存储器装置130)的一些实例包含与非(NAND)型快闪存储器及原位写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其是非易失性存储器胞元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉栅格式数据存取阵列来基于体电阻变化执行位存储。因此,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行原位写入操作,其中非易失性存储器胞元可在不事先擦除非易失性存储器胞元的情况下编程。NAND型快闪存储器包含例如二维NAND(2D NAND)及三维NAND(3D NAND)。
尽管描述了例如NAND型存储器(例如2D NAND、3D NAND)及非易失性存储器胞元的3D交叉点阵列的非易失性存储器组件,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选择存储器、其它硫属化物基存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、氧化物基RRAM(OxRAM)、或非(NOR)快闪存储器及电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(或简称为控制器115)可与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据及其它此类操作的操作(例如响应于由控制器115调度于命令总线上的命令)。存储器子系统控制器115可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器或其组合。硬件可包含具有用于执行本文中描述的操作的专用(即,硬编码)逻辑的数字电路系统。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适处理器。
存储器子系统控制器115可包含经配置以执行存储于本地存储器119中的指令的处理装置117(处理器)。在所说明的实例中,存储器子系统控制器115的本地存储器119包含经配置以存储用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流及例程的指令的嵌入式存储器。
在一些实施例中,本地存储器119可包含存储存储器指针、提取数据等的存储器寄存器。本地存储器119还可包含用于存储微代码的只读存储器(ROM)。虽然已将图1中的实例存储器子系统110说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,而是可依赖外部控制(例如,由外部主机或与存储器子系统110分离的处理器或控制器提供)。
一般来说,存储器子系统控制器115可从主机系统120接收命令或操作且可将命令或操作转换成指令或适当命令以实现对存储器装置130及/或存储器装置140的期望存取。存储器子系统控制器115可负责其它操作,例如损耗均衡操作、废弃项目收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓冲操作及与存储器装置130相关联的逻辑地址(例如逻辑块地址(LBA)、命名空间)与物理地址(例如物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含用以经由物理主机接口与主机系统120通信的主机接口电路系统。主机接口电路系统可将从主机系统接收的命令转换成命令指令以存取存储器装置130及/或存储器装置140,而且将与存储器装置130及/或存储器装置140相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如DRAM)及地址电路系统(例如行解码器及列解码器),其可从存储器子系统控制器115接收地址且解码地址以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器胞元执行操作。外部控制器(例如存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其是与用于同一存储器装置封装内的媒体管理的本地控制器(例如本地控制器135)组合的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器子系统110包含数据完整性管理器113,其通过定期执行存储器装置130的数据完整性扫描来减轻读取干扰及其它数据错误。在一些实施例中,控制器115包含数据完整性管理器113的至少一部分。举例来说,控制器115可包含经配置以执行存储于本地存储器119中的用于执行本文中描述的操作的指令的处理器117(处理装置)。在一些实施例中,数据完整性管理器113是主机系统120、应用程序或操作系统的部分。
数据完整性管理器113以不同频率执行数据完整性扫描。数据完整性管理器113可基于存储器的年限、耐用性及/或利用率而动态选择数据完整性扫描频率。举例来说,数据完整性管理器113可基于存储器装置的当前年限(例如依据PEC)及存储器装置的利用率而选择数据完整性扫描频率。下文描述关于数据完整性管理器113的操作的更多细节。
图2说明根据本公开的一些实施例的管理存储器子系统200的一部分的实例。在一个实施例中,数据完整性管理器113每存储器单元210实施数据完整性管理方案。举例来说,数据完整性管理器113可每LUN或其它存储器细分(即,存储器单元210)动态选择数据完整性扫描频率。
存储器单元210的说明包含存储器胞元阵列。为了提供简单解释,存储器210说明少量存储器胞元。存储器单元210的实施例可包含远远更多存储器胞元。
每一存储器单元210包含存储器子系统110经由字线215及位线220存取的存储器胞元。举例来说,存储器装置130可使用字线230读取一页存储器。在所述页内,存储器胞元225经由字线230及位线235存取。如上文提及,读取存储器胞元可导致对其它存储器胞元的读取干扰效应。举例来说,存储器胞元225(侵略者)的读取可导致干扰存储器胞元240及245(受害者)。类似地,字线230(侵略者)的其它存储器胞元的读取可导致干扰字线250及255(受害者)的其它存储器胞元。
此干扰效应会提高受害存储器胞元的错误率。在一个实施例中,数据完整性管理器113使用数据完整性扫描将存储器的一部分的错误率测量为原始位错误率(RBER)。在另一实施例中,数据完整性管理器113可使用其它测量表示错误率或数据可靠性,例如电压分布值(例如读取阈值电压分布)。在一个实施例中,数据完整性管理器113比较当前、最近或平均电压分布值与理想或预期电压分布值(例如由新或无应力存储器导致的值)且差的量值表示错误率或其它数据可靠性指示。
数据完整性管理器113可通过在数据完整性扫描期间检查受害者的错误率来减轻读取干扰及促成数据错误的其它因素。响应于检测到存储器的给定部分的错误率满足阈值错误率值,数据完整性管理器113可将数据从存储器的所述部分迁移到存储器的不同部分。在一个实施例中,数据完整性管理器113利用存储器单元210的年限、耐用性及/或利用率来选择数据完整性扫描频率。自适应数据完整性扫描频率方案的此及其它特征参考图3到4进一步描述。
图3是根据本公开的一些实施例的用以基于存储器的年限、耐用性及/或利用率而动态选择数据完整性扫描频率的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法300由图1的数据完整性管理器113执行。尽管以特定序列或顺序展示,但除非另外指定,否则过程的顺序可修改。因此,所说明实施例应被理解为仅作为实例,且所说明过程可以不同顺序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,不是在每个实施例中需要所有过程。其它过程流程是可能的。
在操作305处,处理装置检测是否已针对存储器细分发生更新数据完整性扫描频率的触发。举例来说,处理装置可使用在最后更新或通电事件之后经过的时间量、媒体扫描循环的开始或结束或另一参数作为触发。在一个实施例中,处理装置针对多个存储器细分检测更新数据完整性扫描频率的触发。如果处理装置未检测到触发,那么方法300返回到操作305以继续等待检测触发。如果处理装置检测到触发,那么方法300继续到操作310。
在操作310处,处理装置获得存储器细分的年限指标及存储器细分的利用率值。举例来说,存储器子系统可追踪由存储器细分执行的PEC的次数且使用PEC的次数作为年限指标。另外或替代地,存储器子系统可使用存储器细分已被使用的时间量、平均错误率或类似数据完整性损失指标或存储器细分的另一年限及/或耐用性指示。
存储器子系统还可例如基于用于存储有效数据的存储器量与未存储有效数据的存储器量(例如经擦除存储器位置、旗标为被擦除的存储器位置等)的比较而追踪存储器细分的利用量。举例来说,利用量可追踪为0与1之间的百分比或值。在一个实施例中,处理装置通过将利用率值向上舍入到0与1之间的预定数目个增量中的最近增量来更新利用率值。举例来说,处理装置可利用利用增量来降低利用率改变导致更新数据完整性扫描频率的频率。在一个实施例中,处理装置追踪每存储器细分的利用率。在另一实施例中,处理装置追踪跨所有存储器装置的利用率。在另一实施例中,处理装置追踪每块类型(例如SLC、TLC等)的利用率。
在操作315处,处理装置使用年限指标及利用率值来确定新数据完整性扫描频率。举例来说,处理装置可针对年限指标获得数据被估计为可靠的时间量。处理装置可通过将年限指标的数据可靠性的时间量除以存储器细分中的存储器的页数(即,每块或类似存储器单元的页数是存储器子系统的预定数目)来确定存储器细分在被完全利用时的时间间隔(在扫描之间):
时间间隔与扫描频率之间存在反比关系(例如,越小间隔对应于越高频率)。在一个实施例中,当前PEC下的数据可靠性时间表示错误率的各种促成因素(例如读取干扰、热e、数据保持等)中的最坏情况时间。
处理装置通过将存储器细分在被完全利用时的时间间隔除以利用率值来作出利用率调整。举例来说,如果如上文描述般确定的时间间隔(其假定驱动器满载)导致每8秒一次数据完整性扫描且利用率值是0.5,那么时间间隔被调整为8/0.5=16秒。此经调整时间间隔可基于/针对单个存储器细分、多个存储器细分或所有存储器细分而确定及使用。
在操作320处,处理装置使用/鉴于块类型、系统可接受的主机与扫描比及/或每天平均/典型通电小时数来任选地调整新数据完整性扫描频率。举例来说,处理装置管理SLC块、TLC块等的不同扫描频率。作为另一实例,主机与扫描比指示在主机读取之间在存储器子系统中可发生多少次扫描读取。10:1的比率意味着每10次主机读取可发出1次扫描读取。当计算时间间隔时,处理装置要避免违反比率以便防止存储器性能下降。作为另一实例,时间间隔的计算可基于假定存储器子系统每天24小时开启。然而,如果存储器系统每天仅12小时开启(平均),那么处理装置可在计算时间间隔时考虑此作为一因素且例如加倍扫描频率以满足当前PEC下的数据可靠性时间。
在操作325处,处理装置使用新数据完整性扫描频率在当前媒体扫描循环期间启动存储器细分的数据完整性扫描。举例来说,处理装置将数据完整性扫描频率设置为经调整时间间隔。处理装置以新数据完整性扫描频率执行一或多次读取以确定作为数据完整性扫描的一部分读取的每一存储器位置的数据完整性的指标。在一个实施例中,此包含检查存储器位置的错误率,例如原始位错误率(RBER)。在另一实施例中,确定数据完整性的指标包含比较存储器的受害/取样部分的阈值电压分布与预期电压分布。
在其中阈值电压分布用作数据可靠性的指标的实施例中,处理装置可通过确定经测量分布值/直方图的“形状”是否单调增大/减小、比较局部极小值、比较直方图的宽度、确定直方图的移位(左移/右移)量等来比较形状与折叠阈值。作为另一实例,处理装置可比较阈值电压分布/直方图或其部分的“群体”(例如,在某些读取位置之间)。满足来自读取位置之间的理想群体的阈值增加的最新直方图群体可充当数据可靠性指示(或缺少数据可靠性)。
在操作330处,处理装置确定任何存储器位置的数据完整性的指标是否满足折叠阈值。举例来说,如果存储器位置的错误率满足折叠阈值(例如,满足或超过错误率阈值),那么方法300继续到操作335且处理装置折叠数据。处理装置可通过对存储器位置的数据进行错误校正且将经校正数据写入到新位置来折叠数据。如果存储器位置的数据完整性的指标不满足折叠阈值或在折叠满足折叠阈值的位置的数据之后,方法300返回到操作305以等待检测下一触发。
图4是根据本公开的一些实施例的用以基于存储器的年限、耐用性及/或利用率而动态选择数据完整性扫描频率的另一实例方法的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法400由图1的数据完整性管理器113执行。尽管以特定序列或顺序展示,但除非另外指定,否则过程的顺序可修改。因此,所说明实施例应被理解为仅作为实例,且所说明过程可以不同顺序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,不是在每个实施例中需要所有过程。其它过程流程是可能的。
在操作405处,处理装置检测是否已针对存储器细分发生更新数据完整性扫描频率的触发。举例来说,处理装置可使用在最后更新或通电事件之后经过的时间量、数据完整性扫描循环的开始或结束或另一参数作为触发,如上文参考操作305描述。
在操作410处,处理装置获得存储器细分的年限指标及/或存储器细分的利用率值。举例来说,存储器子系统可使用PEC次数、存储器细分已被使用的时间量、平均错误率或类似数据完整性损失指标、这些指示中的一或多者的组合或存储器细分的另一年限及/或耐用性指示,如上文参考操作310描述。
在操作415处,处理装置使用年限指标及/或利用率值确定新数据完整性扫描频率。举例来说,处理装置可使用年限指示来确定时间间隔,如上文参考操作315描述。任选地,处理装置可使用利用率值来调整时间间隔,如上文参考操作315及任选地操作320描述。替代地,处理装置可使用默认时间间隔(例如,基于最坏情况/无论当前年限指标为何)及使用利用率值来调整默认时间间隔,如上文参考操作315及任选地操作320描述。
在操作420处,处理装置使用新数据完整性扫描频率在当前媒体扫描循环期间启动存储器细分的数据完整性扫描。举例来说,处理装置将数据完整性扫描频率设置为经调整时间间隔,如上文参考操作325描述。
图5说明计算机系统500的实例机器,在计算机系统500内可执行用于导致机器执行本文中论述的方法论中的任一或多者的一组指令。在一些实施例中,计算机系统500可对应于主机系统(例如图1的主机系统120),其包含、耦合到或利用存储器子系统(例如图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的数据完整性管理器113的操作)。在替代实施例中,机器可连接(例如联网)到LAN、内联网、外联网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器操作,或在云计算基础设施或环境中作为服务器或客户端机器操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够(循序或以其它方式)执行指定由机器采取的动作的一组指令的任何机器。此外,虽然说明了单个机器,但术语“机器”还应被视为包含个别地或联合地执行一组(或多组)指令以执行本文中论述的方法论中的任一或多者的机器的任何集合。
实例计算机系统500包含处理装置502、主存储器504(例如只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如快闪存储器、静态随机存取存储器(SRAM)等)及数据存储系统518,其经由总线530彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的一处理器或实施指令集组合的多个处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似者。处理装置502经配置以执行用于执行本文中论述的操作及步骤的指令526。计算机系统500可进一步包含网络接口装置508以通过网络520通信。
数据存储系统518可包含其上存储体现本文中描述的方法论或功能中的任一或多者的一或多组指令526或软件的机器可读存储媒体524(也称为计算机可读媒体)。指令526也可在其由计算机系统500执行期间完全或至少部分驻留于主存储器504及/或处理装置502内,主存储器504及处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518及/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含用以实施对应于数据完整性管理器(例如图1的数据完整性管理器113)的功能性的指令。虽然在实例实施例中将机器可读存储媒体524展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被视为包含能够存储或编码一组指令以供机器执行且导致机器执行本公开的方法论中的任一或多者的任何媒体。因此,术语“机器可读存储媒体”应被视为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已依据对计算机存储器内的数据位的操作的算法及符号表示来呈现前述详细描述的一些部分。这些算法描述及表示是由数据处理领域的技术人员用以向所属领域的其它技术人员最有效传达其工作实质的方式。算法在此通常被设想为导致期望结果的自相一致操作序列。操作是需要物理操纵物理量的操作。通常但不一定,这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。有时主要出于习惯用法的原因,将这些信号称为位、值、元素、符号、字符、项、数字或类似者已被证明是方便的。
然而,应记住,所有这些及类似术语应与适当物理量相关联且仅为应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,其将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵或变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
本公开还涉及用于执行本文中的操作的设备。此设备可为了预期目的而专门构造,或其可包含由存储于计算机中的计算机程序选择性激活或重新配置的通用计算机。举例来说,计算机系统或其它数据处理系统(例如控制器115)可响应于其处理器执行含于存储器或其它非暂时性机器可读存储媒体中的计算机程序(例如指令序列)而实施计算机实施方法300到400。此计算机程序可存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文中呈现的算法及显示不固有地与任何特定计算机或其它设备相关。各种通用系统可根据本文中的教示来结合程序使用,或可证明构造更专门设备来执行方法是方便的。各种这些系统的结构将如下文描述中陈述那样出现。另外,本公开未参考任何特定编程语言进行描述。应了解,各种编程语言可用于实施本文中描述的本公开的教示。
本公开可经提供为计算机程序产品或软件,其可包含机器可读媒体,机器可读媒体上存储有可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程的指令。机器可读媒体包含用于存储呈可由机器(例如计算机)读取的形式的信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明中,已参考本公开的特定实例实施例描述本公开的实施例。将明白,可在不背离所附权利要求书中陈述的本公开的实施例的更广精神及范围的情况下对本公开做出各种修改。因此,说明书及图式应被视为意在说明而非限制。

Claims (20)

1.一种方法,其包括:
检测更新数据完整性扫描频率的触发;
响应于检测到所述触发,获得存储器细分的年限指标或所述存储器细分的利用率值;
使用所述年限指标或所述利用率值来确定新数据完整性扫描频率;及
使用所述新数据完整性扫描频率在当前媒体扫描循环期间启动所述存储器细分的扫描。
2.根据权利要求1所述的方法,其中所述触发是先前媒体扫描循环的结束或所述当前媒体扫描循环的开始。
3.根据权利要求1所述的方法,其中所述年限指标是由所述存储器细分执行的编程/擦除循环的次数。
4.根据权利要求1所述的方法,其中所述利用率值是0与1之间的表示当前用有效数据进行编程的所述存储器细分的百分比的数字。
5.根据权利要求4所述的方法,其进一步包括:
通过将所述利用率值向上舍入到0与1之间的预定数目个增量中的最近增量来更新所述利用率值。
6.根据权利要求1所述的方法,其中确定所述新数据完整性扫描频率包括:
获得所述年限指标的数据可靠性的时间量;
通过将所述年限指标的数据可靠性的所述时间量除以所述存储器细分中的存储器的页数来确定所述存储器细分在被完全利用时的时间间隔;及
将所述存储器细分在被完全利用时的所述时间间隔除以所述利用率值。
7.根据权利要求6所述的方法,其进一步包括:
使用主机与扫描读取比或每天平均通电小时数来调整所述存储器细分的所述时间间隔。
8.一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时导致所述处理装置:
检测更新数据完整性扫描频率的触发;
响应于检测到所述触发,获得存储器细分的年限指标或所述存储器细分的利用率值;
使用所述年限指标或所述利用率值来确定新数据完整性扫描频率;及
使用所述新数据完整性扫描频率在当前媒体扫描循环期间启动所述存储器细分的扫描。
9.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述触发是先前媒体扫描循环的结束或所述当前媒体扫描循环的开始。
10.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述年限指标是由所述存储器细分执行的编程/擦除循环的次数。
11.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述利用率值是0与1之间的表示当前用有效数据进行编程的所述存储器细分的百分比的数字。
12.根据权利要求11所述的非暂时性计算机可读存储媒体,其中所述处理装置进一步用以:
通过将所述利用率值向上舍入到0与1之间的预定数目个增量中的最近增量来更新所述利用率值。
13.根据权利要求8所述的非暂时性计算机可读存储媒体,其中确定所述新数据完整性扫描频率包括:
获得所述年限指标的数据可靠性的时间量;
通过将所述年限指标的数据可靠性的所述时间量除以所述存储器细分中的存储器的页数来确定所述存储器细分在被完全利用时的时间间隔;及
将所述存储器细分在被完全利用时的所述时间间隔除以所述利用率值。
14.根据权利要求13所述的非暂时性计算机可读存储媒体,其中所述处理装置进一步用以:
使用主机与扫描读取比或每天平均通电小时数来调整所述存储器细分。
15.一种系统,其包括:
多个存储器装置;及
处理装置,其与所述多个存储器装置可操作地耦合以:
检测更新数据完整性扫描频率的触发;
响应于检测到所述触发,获得由存储器细分执行的编程/擦除循环的次数或所述存储器细分的利用率值;
使用所述编程/擦除循环次数或所述利用率值来确定新数据完整性扫描频率;及
使用所述新数据完整性扫描频率在当前媒体扫描循环期间启动所述存储器细分的扫描。
16.根据权利要求15所述的系统,其中所述触发是先前媒体扫描循环的结束或所述当前媒体扫描循环的开始。
17.根据权利要求15所述的系统,其中所述利用率值是0与1之间的表示当前用有效数据进行编程的所述存储器细分的百分比的数字。
18.根据权利要求17所述的系统,其中所述处理装置进一步用以:
通过将所述利用率值向上舍入到0与1之间的预定数目个增量中的最近增量来更新所述利用率值。
19.根据权利要求15所述的系统,其中确定所述新数据完整性扫描频率包括:
获得所述编程/擦除循环次数的数据可靠性的时间量;
通过将所述编程/擦除循环次数的数据可靠性的所述时间量除以所述存储器细分中的存储器的页数来确定所述存储器细分在被完全利用时的时间间隔;及
将所述存储器细分在被完全利用时的所述时间间隔除以所述利用率值。
20.根据权利要求19所述的系统,其中所述处理装置进一步用以:
使用主机与扫描读取比或每天平均通电小时数来调整所述存储器细分的所述时间间隔。
CN202280055363.8A 2021-08-09 2022-08-08 自适应数据完整性扫描频率 Pending CN117795472A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/397,745 2021-08-09
US17/397,745 US11467897B1 (en) 2021-08-09 2021-08-09 Adaptive data integrity scan frequency
PCT/US2022/039738 WO2023018668A1 (en) 2021-08-09 2022-08-08 Adaptive data integrity scan frequency

Publications (1)

Publication Number Publication Date
CN117795472A true CN117795472A (zh) 2024-03-29

Family

ID=83547296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280055363.8A Pending CN117795472A (zh) 2021-08-09 2022-08-08 自适应数据完整性扫描频率

Country Status (3)

Country Link
US (1) US11467897B1 (zh)
CN (1) CN117795472A (zh)
WO (1) WO2023018668A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102167393B1 (ko) * 2013-08-16 2020-10-19 삼성전자 주식회사 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법
WO2015106162A1 (en) * 2014-01-09 2015-07-16 SanDisk Technologies, Inc. Selective copyback for on die buffered non-volatile memory
US20160042024A1 (en) * 2014-08-08 2016-02-11 Front Porch Digital, Inc. Continuous data health check
US11442919B2 (en) * 2015-07-31 2022-09-13 Accenture Global Services Limited Data reliability analysis
US11017870B1 (en) * 2019-12-23 2021-05-25 Micron Technology, Inc. Select gate maintenance in a memory sub-system

Also Published As

Publication number Publication date
US11467897B1 (en) 2022-10-11
WO2023018668A1 (en) 2023-02-16

Similar Documents

Publication Publication Date Title
US11372545B2 (en) Managing bin placement for block families of a memory device based on trigger metric values
US11410734B1 (en) Voltage bin selection for blocks of a memory device after power up of the memory device
US11955194B2 (en) Tracking and refreshing state metrics in memory sub-systems
CN115148267A (zh) 基于块族的电压分布参数来避免错误
CN115148266A (zh) 基于块的电压分布参数来避免错误
WO2023018514A1 (en) Probabilistic data integrity scan with an adaptive scan frequency
US11853556B2 (en) Combining sets of memory blocks in a memory device
US11694758B2 (en) Changing scan frequency of a probabilistic data integrity scan based on data quality
US20220129154A1 (en) Managing bin placement for block families of a memory device using trigger metric scores
US20220115079A1 (en) Threshold voltage offset bin selection based on die family in memory devices
CN114639413A (zh) 错误恢复操作
US11467897B1 (en) Adaptive data integrity scan frequency
US11545229B1 (en) Probabilistic data integrity scan with dynamic scan frequency
US11709602B2 (en) Adaptively performing media management operations on a memory device
US11977774B2 (en) Charge loss mitigation throughout memory device lifecycle by proactive window shift
US11922041B2 (en) Threshold voltage bin calibration at memory device power up
CN112750490B (zh) 使用环境参数来进行编程脉冲控制
US20240071522A1 (en) Read counter adjustment for delaying read disturb scans
US20230386588A1 (en) Media management
US20230195354A1 (en) Adaptive scans of memory devices of a memory sub-system
US20230396270A1 (en) Dynamic decoding for memory systems
US20230205450A1 (en) Voltage threshold prediction-based memory management
US20230393932A1 (en) Managing data integrity using a change in a number of data errors and an amount of time in which the change occurred
US20230197157A1 (en) Adaptive read-retry offset based on word line groups for systems
US20220336023A1 (en) Determining voltage offsets for memory read operations

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