CN116339618A - 存储器子系统的存储器装置的自适应扫描 - Google Patents

存储器子系统的存储器装置的自适应扫描 Download PDF

Info

Publication number
CN116339618A
CN116339618A CN202211657654.2A CN202211657654A CN116339618A CN 116339618 A CN116339618 A CN 116339618A CN 202211657654 A CN202211657654 A CN 202211657654A CN 116339618 A CN116339618 A CN 116339618A
Authority
CN
China
Prior art keywords
scan
media
memory device
media scan
memory
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
CN202211657654.2A
Other languages
English (en)
Inventor
刘洋
许中广
郎慕蓉
朱方芳
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 CN116339618A publication Critical patent/CN116339618A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开涉及存储器子系统的存储器装置的自适应扫描。维持与存储器装置相关联的一或多个媒体扫描参数。识别与所述存储器装置相关联的编程擦除循环数目。响应于确定所述编程擦除循环数目满足准则,通过调整所述一或多个媒体扫描参数产生一或多个经调整媒体扫描参数。根据所述一或多个经调整媒体扫描参数执行所述存储器装置的媒体扫描。

Description

存储器子系统的存储器装置的自适应扫描
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及存储器子系统的存储器装置的自适应扫描。
背景技术
存储器子系统可以包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
发明内容
在一个方面中,本公开涉及一种系统,其包括:存储器装置;和处理装置,其以操作方式与所述存储器装置耦合以执行包括以下操作的操作:维持与所述存储器装置相关联的一或多个媒体扫描参数;识别与所述存储器装置相关联的编程擦除循环数目;响应于确定所述编程擦除循环数目满足准则,通过调整所述一或多个媒体扫描参数产生一或多个经调整媒体扫描参数;和根据所述一或多个经调整媒体扫描参数执行所述存储器装置的媒体扫描。
在另一方面中,本公开涉及一种方法,其包括:维持与存储器装置相关联的一或多个媒体扫描参数,其中所述一或多个媒体扫描参数与扫描频率查找表中的第一条目相关联;识别与所述存储器装置相关联的编程擦除循环数目;响应于确定所述编程擦除循环数目满足第一准则,确定与所述存储器装置相关联的性能度量;响应于确定所述性能度量满足第二准则,通过将所述一或多个媒体扫描参数调整为与所述扫描频率查找表中的第二条目相关联的值,产生一或多个经调整媒体扫描参数;和根据所述一或多个经调整媒体扫描参数执行所述存储器装置的媒体扫描。
在又一方面中,本公开涉及一种包括指令的非暂时性计算机可读存储媒体,所述指令当由处理装置执行时致使所述处理装置执行包括以下操作的操作:维持与存储器装置相关联的一或多个媒体扫描参数;识别与所述存储器装置相关联的编程擦除循环数目;响应于确定所述编程擦除循环数目满足准则,通过调整所述一或多个媒体扫描参数产生一或多个经调整媒体扫描参数;和根据所述一或多个经调整媒体扫描参数执行所述存储器装置的媒体扫描。
附图说明
根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,图式不应视为将本公开限制于具体实施例,而是仅用于解释和理解。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2说明根据本公开的一些实施例的扫描管理组件维持的实例查找表。
图3是根据本公开的一些实施例的基于存储器装置的编程擦除循环数目自适应调整媒体扫描参数的实例方法的流程图。
图4是根据本公开的一些实施例的基于所测量的存储器装置性能自适应调整媒体扫描参数的实例方法的流程图。
图5是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的各方面针对于存储器子系统的存储器装置的自适应扫描。存储器子系统可以为存储装置、存储器模块,或存储装置和存储器模块的组合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如存储数据的存储器装置)的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
存储器子系统可以包含高密度非易失性存储器装置,其中当没有电力被供应到存储器装置时需要数据的保持。非易失性存储器装置的一个实例为与非(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置是一或多个裸片的封装。每一裸片可由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由物理块集组成。每一块由页集组成。每个页由存储器单元(“单元”)集组成。单元是存储信息的电子电路。取决于单元类型,单元可存储一或多个二进制信息位,且具有与所存储的位数相关的各种逻辑状态。逻辑状态可以由二进制值(例如,“0”和“1”或这类值的组合)表示。
存储器装置可由布置成二维网格的位构成。存储器单元蚀刻到列(下文也称为位线)和行(下文也称为字线)的阵列中的硅晶片上。字线可以指存储器装置的存储器单元的一或多个行,所述一或多个行与一或多个位线一起使用以生成存储器单元中的每一个的地址。位线和字线的相交点构成存储器单元的地址。在下文中,块是指用于存储数据的存储器装置的单元,并且可以包含存储器单元的群组、字线群组、字线或个别存储器单元。可以将一或多个块分组在一起以形成存储器装置的平面,以便允许在每一平面上进行并发操作。存储器装置可以包含执行两个或更多个存储器平面的并发存储器页存取的电路系统。例如,存储器装置可包含用于存储器装置的每个平面的相应存取线驱动器电路和电力电路以促进对包含不同页类型的两个或更多个存储器平面的页进行并发存取。
可通过将特定电压施加到存储器单元来编程(写入到)存储器单元,这使得存储器单元保持电荷,因此允许调制存储器装置中的电压分布。此外,精确地控制存储器单元所存储的电荷量允许对应于不同逻辑电平的多个阈值电压电平,从而有效地允许单个存储器单元存储多个信息位:以2n个不同阈值电压电平操作的存储器单元能够存储n个信息位。因此,可通过将由存储器单元展现的测得电压与一或多个参考电压电平进行比较以便区分单层级单元的两个逻辑电平以及多层级单元的多个逻辑电平来执行读取操作。
归因于各种物理现象和操作过程,例如缓慢电荷损失和读取干扰,存储器单元的电荷电平可能随时间降级,因此在存储器读取操作中引起较高错误率。读取干扰是其中从存储器单元读取数据可致使同一块中的未读存储器单元的阈值电压移位到不同值的现象。缓慢电荷损失是其中存储器单元的阈值电压在时间上随着存储器单元的电荷降级而发生改变的现象。
可通过各种数据状态度量来测量所得存储器降级。本文中的“数据状态度量”应指根据存储在存储器装置上的数据的状态测量或推断的量。具体地,数据状态度量可反映缓慢电荷损失的状态、潜伏读取干扰的程度、时间电压移位和/或数据状态的其它可测量功能。复合数据状态度量是分量状态度量集的函数(例如,加权和)。在说明性实例中,数据状态度量可表示为原始位错误率(RBER),其为给定数据块每单位时间所经历的位错误的数目。作为另一实例,数据状态度量可包含每页的位错误计数。作为又一实例,数据状态度量可包含谷部中心移位或谷部宽度阈值测量。术语“谷部”可与由多个不重叠分布产生的图表的形状有关。分布(谷部)穿插有电压间隔(谷部容限),其中装置的存储器单元没有(或极少)具有其阈值电压。此类谷部容限因此可用于分离各种电荷状态。
存储器降级的速度高度依附于与存储器装置相关联的编程擦除循环(PEC)的数目。PEC的数目是指存储器单元群组被擦除且随后被编程有新数据的次数。在存储器装置的寿命即将终止时,随着存储器装置的PEC增加,存储器降级可能会更加严重。为了缓解存储器降级,可对存储器装置周期性地执行数据完整性检查操作(在本文中也称为“扫描操作”)。数据完整性检查可涉及评估存储器装置的一或多个块上的一或多个数据状态度量。如果数据完整性检查指示一或多个数据状态度量无法满足相应质量准则(例如,RBER超过预定义阈值,每页的位错误计数超过预定义阈值,且/或特定阈值电平的谷部宽度超过预定义阈值),可对受影响的块执行一或多个媒体管理操作以便缓解所检测到的存储器降级。在说明性实例中,媒体管理操作可包含刷新或“折叠”操作,其涉及将存储在存储器装置的受影响块处的数据重新定位到另一块。
在常规存储器子系统中,可基于预先确定的静态时间间隔来执行扫描操作的频率。另外,决定是否执行媒体管理操作的数据状态度量预定义阈值还可为静态的。在常规存储器子系统中,预定时间间隔和预定义阈值两者均基于存储器装置的寿命终止规范。也就是说,常规存储器子系统基于在存储器装置寿命终止时报告的规范来定义静态扫描频率时间间隔和静态预定义数据状态度量阈值。举例来说,常规存储器子系统可执行存储器表征,其确定在存储器装置寿命终止或即将终止时的错误率,并且基于所述错误率可确定将在所述存储器装置的整个寿命期间使用的静态扫描频率和静态预定义数据状态度量阈值。
然而,因为存储器降级依附于PEC的数目,所以使用基于存储器装置的寿命终止规范的扫描频率可导致当存储器装置具有低PEC计数时(例如,在存储器装置的寿命即将开始时)太过频繁地执行扫描。另外,使用基于寿命终止规范的数据状态度量阈值可导致当存储器装置具有低PEC计数时(例如,在存储器装置的寿命即将开始时)太过频繁地和/或不必要地执行媒体管理操作。在存储器装置的整个寿命期间应用静态扫描频率可导致不必要地过度扫描存储器装置,同时在存储器装置的整个寿命期间维持数据状态度量阈值可导致过度折叠。过度扫描或过度折叠可引起存储器装置性能,并且可影响存储器装置的服务质量(QoS)。
本公开的方面通过使存储器子系统在存储器装置的整个寿命期间自适应调整扫描频率和/或数据状态度量阈值来解决以上和其它缺陷。存储器子系统控制器可在存储器装置的寿命开始时,将初始值指配给媒体扫描参数。媒体扫描参数可与扫描频率有关且可包含例如扫描群组的数目和字线扫描间隔。另外或替代地,媒体扫描参数可与数据状态度量阈值有关且可包含例如每页值的位错误计数和谷部宽度测量阈值。
在实施例中,在存储器装置寿命开始时,存储器子系统控制器可将初始值指配给媒体扫描参数。随着PEC的数目增加,存储器子系统控制器可调整媒体扫描参数值。在实施例中,存储器子系统控制器可维持一或多个媒体扫描参数查找表,其列出将在PEC的数目增加时使用的媒体扫描参数值。举例来说,媒体扫描参数查找表可列出针对PEC计数0、PEC计数2,000、PEC计数4,000等的扫描频率参数(例如,扫描群组的数目和字线扫描间隔)。扫描群组的数目和字线扫描间隔值可随着PEC的数目增加而减小,进而引起在存储器装置寿命即将终止时存储器装置的扫描频率增加。
作为另一实例,媒体扫描参数查找表可列出针对PEC计数0、PEC计数2,000、PEC计数4,000等的折叠阈值,例如每页的位错误计数和/或谷部宽度测量值。折叠阈值参数可随着PEC的数目增加而减小,进而引起在存储器装置的整个寿命期间媒体管理操作(例如,折叠操作)增加。作为又一实例,存储器子系统可确定在特定数目的PEC(例如,每200个PEC)之后的性能度量,并且可基于性能度量的结果来调整媒体扫描参数。
本公开的优点包含但不限于阻止在存储器装置的整个寿命中过度扫描和过度折叠,同时仍防范在存储器装置寿命即将结束时发生性能降级。通过基于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)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)等。物理主机接口可用于在主机系统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(2DNAND)和三维NAND(3DNAND)。
存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(SLC)可每单元存储一个位。其它类型的存储器单元(例如多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)和五层级单元(PLC))可每单元存储多个位。在一些实施例中,每一存储器装置130可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC、PLC或其任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分、MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。
虽然描述了非易失性存储器组件,例如3D交叉点非易失性存储器单元阵列和NAND型快闪存储器(例如,2D NAND、3D NAND),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、“或非”(NOR)快闪存储器或电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(为简单起见,控制器115)可与存储器装置130通信以进行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文所描述的操作。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适的处理器。
存储器子系统控制器115可包含处理装置,其包含配置成执行存储在本地存储器119中的指令的一或多个处理器(例如,处理器117)。在所说明的实例中,存储器子系统控制器115的本地存储器119包含配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程和例程。
在一些实施例中,本地存储器119可包含存储存储器指针、提取的数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然在图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一个实施例中,存储器子系统110不包含存储器子系统控制器115,而是替代地可依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令来实现对存储器装置130的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑地址(如,逻辑块地址(LBA)、名称空间)与物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓存器或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),其可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以在存储器装置130的一或多个存储器单元上执行操作。外部控制器(例如,存储器系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110为受管理存储器装置,其为具有在裸片上的控制逻辑(例如,本地媒体控制器135)和同一存储器装置封装内用于存储器管理的控制器(例如,存储器子系统控制器115)的原始存储器装置130。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器子系统110包含扫描管理组件113,其可在存储器装置130的整个寿命中自适应调整与执行扫描操作和媒体管理操作相关联的媒体扫描参数值。在一些实施例中,存储器子系统控制器115包含扫描管理组件113的至少一部分。在一些实施例中,扫描管理组件113是主机系统110、应用程序或操作系统的部分。在其它实施例中,本地媒体控制器135包含扫描管理组件113的至少一部分,且被配置成执行本文中所描述的功能性。
扫描管理组件113可维持一或多个媒体扫描参数查找表。查找表可基于用于每一存储器装置的PEC的数目列出将使用哪些媒体扫描参数值。在实施例中,扫描管理组件113可识别每一存储器装置(例如存储器装置130)的PEC计数值。在实施例中,扫描管理组件113可维持每一存储器装置的PEC的数目的计数,或扫描管理组件113可从具有存储器子系统控制器115的另一组件接收计数。在存储器装置130的寿命开始时,扫描管理组件113可将初始值指配给媒体扫描参数。举例来说,媒体扫描参数查找表可包含针对PEC 0的初始值。随着PEC的数目增加,扫描管理组件113可基于媒体扫描查找表确定是否调整媒体扫描参数。关于图2描述媒体扫描查找表的实例。
扫描管理组件113可根据媒体扫描参数执行存储器装置的扫描,并且响应于扫描结果,可执行媒体管理操作,例如折叠操作。媒体扫描参数可包含自适应调整扫描频率的参数和/或自适应调整执行媒体管理操作时所处的折叠阈值的参数。举例来说,扫描操作可包含将存储器装置内的块和/或字线划分成数个扫描群组并且根据字线扫描时间间隔扫描每个扫描群组中的字线。因此,媒体扫描参数可为扫描群组的数目和字线扫描时间间隔。随着PEC的数目增加,扫描群组的数目和字线扫描间隔可减小,因此扫描操作的频率增加。
基于扫描操作,扫描管理组件113可确定存储器装置中的字线的数据状态度量。扫描管理组件113可确定对存储器装置内包含数据状态度量超过折叠阈值所针对的字线的块执行媒体管理操作(例如,折叠操作)。在实施例中,媒体扫描参数包含折叠阈值,例如每页位错误计数阈值和/或谷部宽度阈值。因此,随着用于存储器装置的PEC的数目增加,扫描管理组件113可自适应调整执行媒体管理操作时所处的折叠阈值。在实施例中,随着PEC的数目增加,每页位错误计数阈值和谷部宽度值可减小,因此在存储器装置的寿命即将终止时执行的媒体管理操作的数目增加。在一些实施例中,扫描管理组件113可基于存储器装置的PEC计数调整媒体扫描参数,包含扫描操作频率和执行媒体管理操作时所处的折叠阈值两者。
在实施例中,扫描管理组件113可基于PEC的数目和存储器装置的性能自适应调整媒体扫描参数。以特定PEC时间间隔,扫描管理组件113可确定与存储器装置相关联的性能度量。举例来说,对于每x数目的PEC(例如,其中x=100个PEC),扫描管理组件113可确定存储器装置的性能。性能度量可为例如在对存储器装置内的块子集执行时,在10秒写读延迟下确定的原始位错误率。如果性能度量超过阈值性能度量值,那么扫描管理组件113可调整媒体扫描参数。可基于存储器装置的PEC计数自适应调整阈值性能度量值本身。举例来说,随着PEC的数目增加,阈值性能度量的值可增加。如果性能度量超过与存储器装置的PEC计数相关联的阈值性能度量值,那么扫描管理组件113可增加媒体扫描参数值。在一个实例中,媒体扫描参数值可与级别的数目相关联,且随着存储器装置的性能降低,扫描管理组件113可增加媒体扫描参数值的级别。
在一些实施例中,扫描管理组件113可对每一存储器装置的片段或部分执行上述功能。举例来说,扫描管理组件113维持的查找表可基于用于存储器装置的每个块、块群组或某一其它片段的PEC的数目,列出将使用的媒体扫描参数值。在这类实施例中,扫描管理组件113可确定所述片段(例如,块、块群组、字线、字线群组等)的PEC计数,且可基于PEC的数目调整媒体扫描参数值。扫描管理组件113可另外基于经调整媒体扫描参数值执行片段的扫描。
下文描述关于扫描阈值管理组件113的操作的另外细节。
图2说明根据本公开的一些实施例的扫描管理组件维持的实例查找表210、220、230、240。在实施例中,图2中所说明的查找表可组合成较少数据结构或分成额外数据结构,且可存储为除表以外的数据结构。查找表210、220、230、240可存储于存储器子系统内的持久性存储器中,例如存储于存储器装置130中。在实施例中,查找表210、220、230、240可存储于图1的本地存储器119中。
扫描管理组件113可维持存储器子系统中的每一存储器装置的媒体扫描参数值。媒体扫描参数可为扫描群组的数目和影响扫描频率的字线扫描频率,且/或可为每页位错误计数(BEC)和影响媒体管理操作发生率的谷部宽度测量值。谷部宽度可表示处于表示存储于存储器单元上的电荷电平的分布之间的电压容限的量。在实施例中,谷部宽度可针对TLC的7级分布。媒体扫描管理组件113可识别与每一存储器装置相关联的编程擦除循环的数目。
图2的查找表210包含PEC 211列、扫描群组的数目213列和字线扫描间隔215列。随着用于存储器装置的PEC的数目增加,扫描管理组件113可通过根据查找表210调整扫描群组的数目和字线扫描间隔,产生经调整扫描群组数目和经调整字线扫描间隔。在寿命开始时,扫描管理组件113可将存储器装置的扫描群组数目和字线扫描间隔设置为表210中PEC0处的初始值,即16个扫描群组和16秒字线扫描间隔。这意味着针对存储器装置的每次扫描,扫描管理组件113可将存储器装置中的块和/或字线划分为16个扫描群组,并且可在16秒时间间隔下扫描每个扫描群组中的字线。一旦存储器装置达到2,000个PEC,扫描管理组件113可根据表210调整媒体扫描参数。因此,在PEC 2,000处,扫描群组数目可保持在16且字线扫描间隔可减小到12秒。一旦PEC达到7,000,举例来说,扫描管理组件113可将扫描群组数目减小为8并且将字线扫描间隔减小到6秒,因此在寿命即将终止时增加存储器装置的扫描频率。
图2的查找表220包含PEC 221列、每页位错误计数(BEC)223列和谷部宽度225列。每页BEC计数值和谷部宽度值可用于确定何时执行媒体管理操作,例如折叠操作。随着用于存储器装置的PEC的数目增加,扫描管理组件113可通过根据查找表220调整每页BEC计数和/或谷部宽度阈值,产生每页经调整BEC计数和经调整谷部宽度阈值。在寿命开始时,扫描管理组件113可将存储器装置的每页BEC和谷部宽度阈值设置为表220中PEC 0处的初始值,即,每页300个BEC和800谷部宽度。这意味着针对存储器装置的每次扫描,扫描管理组件113可确定每页位错误计数和/或相关联谷部(例如,谷部7)的宽度。如果扫描管理组件113确定每页BEC值和/或相关联谷部的宽度超过表220中的值(即,在PEC 0处,如果页的每页BEC超过300且/或谷部7的谷部宽度超过800),那么扫描管理组件113可确定存储器装置已降级并且可对存储器装置内的受影响页或块执行媒体管理操作以恢复数据(例如,通过执行折叠操作)。一旦PEC达到2,000,扫描管理组件113便可根据查找表220,将每页BEC阈值调整到280并且可将谷部宽度阈值调整到775。在PEC达到7,000时,举例来说,扫描管理组件113可将每页BEC阈值调整到200并将谷部宽度阈值调整到700,因此防范在存储器装置寿命即将结束时发生性能降级。
在实施例中,扫描管理组件113可通过调整媒体扫描参数,使用查找表230和240一起产生经调整媒体扫描参数。查找表230可包含级别231列、扫描群组数目233列和字线扫描间隔235列。查找表240可包含PEC 241列和阈值度量243列。随着用于存储器装置的PEC数目增加,扫描管理组件113可基于查找表240中的阈值度量243,根据查找表230中的级别调整扫描群组数目和字线扫描间隔。在寿命开始时,扫描管理组件113可将存储器装置的扫描群组数目和字线扫描间隔设置为表230中0级处的初始值,即16个扫描群组和16秒字线扫描间隔。一旦PEC达到1,000,扫描管理组件113便可确定与存储器装置相关联的性能度量。举例来说,性能度量可为在10秒写读延迟下执行的原始位错误率(RBER)。如果性能度量超过查找表240中与PEC计数241相关联的阈值度量243值,那么扫描管理组件113可使媒体扫描参数值增加到查找表230中的下一级。举例来说,如果在PEC 1,000处,存储器装置的性能度量超过查找表240中的阈值(即,1E-10),那么扫描管理组件113可使媒体扫描参数增加到查找表230中1级处的值。作为另一实例,如果在PEC 2,000处,存储器装置的性能度量不超过查找表240中的阈值(即,1E-9),那么扫描管理组件113可将媒体扫描参数保持在其当前值,即,在此实例中1级处的值。如果在PEC 4,000处,性能度量超过查找表240中的阈值(即,1E-8),那么扫描管理组件113可将媒体扫描参数增加到下一级处的值,在此实例中,是2级。因此,扫描管理组件113维持存储器装置的级别值,并且基于存储器装置是否正在经历性能降级来增加扫描频率。
图3是根据本公开的一些实施例的基于存储器装置的PEC数目自适应调整媒体扫描参数的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法300由图1的扫描管理组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在操作310处,处理逻辑维持与存储器装置相关联的一或多个媒体扫描参数。在一些实施例中,媒体扫描参数可包含扫描群组数目和字线扫描间隔。在一些实施例中,媒体扫描参数可包含每页位错误计数值和谷部宽度值。在一些实施例中,媒体扫描参数可包含扫描群组数目、字线扫描间隔、每页位错误计数值和/或谷部宽度值的任何组合。
在操作320处,处理逻辑识别与存储器装置相关联的编程擦除循环数目。举例来说,存储器子系统控制器可维持所述编程擦除循环数目。
在操作330处,处理逻辑确定编程擦除循环数目是否满足准则。在一些实施例中,处理逻辑可维持媒体扫描查找表。媒体扫描查找表中的每一条目可包含与一或多个媒体扫描参数值相关联的编程擦除循环计数值。当与存储器装置相关联的编程擦除循环数目匹配媒体扫描查找表中条目中的一个的编程擦除循环计数值时,处理逻辑可确定编程擦除循环数目满足准则。如果编程擦除循环数目满足准则,那么方法转到操作340;否则,方法转到操作350。
在操作340处,响应于确定编程擦除循环数目满足准则,处理逻辑通过调整一或多个媒体扫描参数产生一或多个经调整媒体扫描参数。处理逻辑可识别与媒体查找表中的匹配条目相关联的一或多个媒体扫描参数值,并且可将一或多个媒体扫描参数调整(或设置)为条目中的一或多个媒体扫描参数值。
在操作350处,响应于确定编程擦除循环数目不满足准则,处理逻辑将一或多个媒体扫描参数维持在其当前值。也就是说,处理逻辑可确定不调整所述一或多个媒体扫描参数。
在操作360处,处理逻辑根据一或多个经调整媒体扫描参数(或在编程擦除循环数目不满足准则的情况下,根据一或多个媒体扫描参数)执行存储器装置的媒体扫描。在一些实施例中,一或多个媒体扫描参数(包含根据一或多个经调整媒体扫描参数)可包含扫描群组数目和字线扫描间隔。在这类实施例中,根据一或多个媒体扫描参数执行存储器装置的媒体扫描包含将存储器装置的字线划分成扫描群组。扫描群组数目是包含在媒体扫描参数中的数目。每个扫描群组可包含数个字线。举例来说,每扫描群组的字线数目可为存储器装置中的字线总数目除以包含在媒体扫描参数中的扫描群组数目。处理逻辑随后可根据字线扫描间隔,确定每个字线的数据状态度量。字线扫描间隔可为时间间隔,且处理逻辑可根据时间间隔确定每个字线的数据状态度量。举例来说,字线扫描间隔可为i秒,且处理逻辑可确定时间t处扫描群组中的第一字线的数据状态度量,可确定时间t+i处扫描群组中的第二字线的数据状态度量,可确定时间t+2i处扫描群组中的第三字线的数据状态度量等。
响应于确定与字线中的一个相关联的数据状态度量超过折叠阈值,处理逻辑可对包含与超过折叠阈值的数据状态度量相关联的字线的块执行媒体管理操作。媒体管理操作可为刷新或折叠操作。折叠阈值可为RBER值、每页位错误计数值、谷部宽度分布值或某一其它折叠阈值。
在一些实施例中,一或多个媒体扫描参数(包含一或多个经调整媒体扫描参数)可包含每页位错误计数值和谷部宽度值。在这类实施例中,根据一或多个媒体扫描参数执行存储器装置的媒体扫描可类似于上文所描述的过程,然而,并非调整扫描群组数目和/或字线扫描间隔,而是处理逻辑可调整折叠阈值(即,每页位错误计数值和/或谷部宽度值)。因此,处理逻辑可将存储器装置的字线划分成预定数目的扫描群组。每个群组可包含数个字线。处理逻辑随后可根据预定字线扫描间隔,确定每个字线的数据状态度量。处理逻辑可确定与字线中的一个相关联的数据状态度量是否超过每页位错误计数值或谷部宽度值中的至少一个。每页位错误计数值和/或谷部宽度值可为包含在与存储器装置的PEC数目相关联的媒体扫描参数中的值。响应于确定与字线中的一个相关联的数据状态度量超过每页位错误计数值或谷部宽度值中的至少一个,处理逻辑可对包含与超过数据状态度量相关联的字线的块执行媒体管理操作。媒体管理操作可为刷新或折叠操作。
在一些实施例中,处理逻辑可根据存储器装置的PEC计数自适应调整扫描群组数目、字线扫描间隔、每页位错误计数和谷部宽度值。处理逻辑随后可根据四个经自适应调整值执行扫描操作。
图4是根据本公开的一些实施例的基于所测量的存储器装置性能自适应调整媒体扫描参数的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400由图1的扫描管理组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在操作410处,处理逻辑维持与存储器装置相关联的一或多个媒体扫描参数。所述一或多个媒体扫描参数可与扫描频率查找表中的第一条目相关联。在一些实施例中,媒体扫描参数可包含扫描群组数目和字线扫描间隔。
在操作420处,处理逻辑识别与存储器装置相关联的编程擦除循环数目。举例来说,存储器子系统控制器可维持所述编程擦除循环数目。
在操作430处,处理逻辑确定编程擦除循环数目是否满足第一准则。在实施例中,处理逻辑可通过确定编程擦除循环数目是预定值的倍数,确定编程擦除循环数目满足第一准则。作为说明性实例,预定值可为200,且处理逻辑可在编程擦除循环数目是200的倍数的情况下确定编程擦除循环数目满足第一准则。换句话说,编程擦除循环数目每200个循环满足第一准则。如果编程擦除循环数目满足第一准则,那么方法转到操作440;否则,方法转到操作450。
在操作440处,响应于确定编程擦除循环数目满足第一准则,处理逻辑确定与存储器装置相关联的性能度量。在实施例中,性能度量可为与存储器装置中的数个块相关联的平均原始位错误计数。举例来说,处理逻辑可选择存储器装置内的块子集并且确定所述块子集在10秒写读延迟下的原始位错误率。
在操作460处,处理逻辑确定性能度量是否满足第二准则。在实施例中,处理逻辑可识别与编程擦除循环数目相关联的阈值性能度量值。举例来说,在一些实施例中,处理逻辑可维持阈值性能度量查找表。阈值性能度量查找表中的每一条目可包含编程擦除循环计数值和相关联的阈值性能度量值。处理逻辑可识别与关联于存储器装置的编程擦除循环数目相关联的阈值性能度量值。在一些实施例中,阈值性能度量查找表可不包含针对预定值的每一倍数的条目。也就是说,继续所述实例,阈值性能度量查找表可不包含针对每200个编程擦除循环的条目,而是可包含针对每1,000个编程擦除循环的条目。在这类实施例中,处理逻辑可识别具有最接近与存储器装置相关联的编程擦除循环数目,但不超过与存储器装置相关联的编程擦除循环数目的编程擦除循环数目值的条目。处理逻辑可通过确定性能度量超过与阈值性能度量查找表中的条目相关联的阈值性能度量值,确定性能度量满足第二准则。如果性能度量满足第二准则,那么方法转到操作470;否则,方法转到操作450。
在操作470处,响应于确定性能度量满足第二准则,处理逻辑通过将一或多个媒体扫描参数调整为与扫描频率查找表中的第二条目相关联的值,产生一或多个经调整媒体扫描参数。扫描频率查找表可包含与媒体扫描参数值相关联的多个级别。举例来说,扫描频率查找表可包含0级到6级。0级可与初始媒体扫描参数值相关联,且媒体扫描参数值可随着级别增加而减小,因此随着PEC计数增加,扫描操作的频率增加。因而,扫描频率查找表所述的第二条目可与表中的下一级相关联。
在操作450处,处理逻辑将一或多个媒体扫描参数维持在其当前值。也就是说,响应于确定编程擦除循环数目不满足第一准则,性能度量不满足第二准则,处理逻辑可确定不调整所述一或多个媒体扫描参数。
在操作480处,处理逻辑根据一或多个经调整媒体扫描参数(或在编程擦除循环数目不满足准则的情况下,根据一或多个媒体扫描参数)执行存储器装置的媒体扫描。根据一或多个媒体扫描参数(包含根据一或多个经调整媒体扫描参数)执行存储器装置的媒体扫描可包含将存储器装置的字线划分成扫描群组。扫描群组数目是包含在媒体扫描参数中的数目。每个扫描群组可包含数个字线。举例来说,每扫描群组的字线数目可为存储器装置中的字线总数目除以包含在媒体扫描参数中的扫描群组数目。处理逻辑随后可根据字线扫描间隔,确定每个字线的数据状态度量。字线扫描间隔可为时间间隔,且处理逻辑可根据时间间隔确定每个字线的数据状态度量。举例来说,字线扫描间隔可为i秒,且处理逻辑可确定时间t处扫描群组中的第一字线的数据状态度量,可确定时间t+i处扫描群组中的第二字线的数据状态度量,可确定时间t+2i处扫描群组中的第三字线的数据状态度量等。
响应于确定与字线中的一个相关联的数据状态度量超过折叠阈值,处理逻辑可对包含与超过折叠阈值的数据状态度量相关联的字线的块执行媒体管理操作。媒体管理操作可为刷新或折叠操作。折叠阈值可为RBER值、每页位错误计数值、谷部宽度分布值或某一其它折叠阈值。
图5说明计算机系统500的实例机器,在所述计算机系统500内可执行用于致使所述机器执行本文中所论述的方法中的任一种或多种方法的指令集。在一些实施例中,计算机系统500可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120),或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的扫描管理组件113的操作)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、闪存存储器、动态随机存取存储器(DRAM)例如同步DRAM(SDRAM)或RDRAM等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统518,其经由总线530彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似物。处理装置502被配置成执行指令526以用于执行本文中所论述的操作和步骤。计算机系统500可另外包含网络接口装置508以在网络520上通信。
数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),其上存储有一或多个指令集526或体现本文中所描述的方法或功能中的任一或多种的软件。指令526还可在由计算机系统500执行期间完全或至少部分地驻存在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含实施对应于电力管理组件(例如,图1的扫描管理组件113)的功能性的指令。虽然在实例实施例中将机器可读存储媒体524展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“机器可读存储媒体”因此应被视为包含但不限于固态存储器、光学媒体和磁性媒体。
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,如但不限于任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
本公开可提供为计算机程序产品或软件,其可包含在其上储存有可用以编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

Claims (20)

1.一种系统,其包括:
存储器装置;和
处理装置,其以操作方式与所述存储器装置耦合以执行包括以下操作的操作:
维持与所述存储器装置相关联的一或多个媒体扫描参数;
识别与所述存储器装置相关联的编程擦除循环数目;
响应于确定所述编程擦除循环数目满足准则,通过调整所述一或多个媒体扫描参数产生一或多个经调整媒体扫描参数;和
根据所述一或多个经调整媒体扫描参数执行所述存储器装置的媒体扫描。
2.根据权利要求1所述的系统,其中所述媒体扫描参数包括扫描群组数目和字线扫描间隔。
3.根据权利要求2所述的系统,其中所述存储器装置包括多个字线,且其中根据所述一或多个经调整媒体扫描参数执行所述存储器装置的所述媒体扫描另外包括:
将所述多个字线划分成所述数目的扫描群组;
根据所述字线扫描间隔,确定每个扫描群组中的所述字线的数据状态度量;和
响应于确定与所述字线中的一个相关联的所述数据状态度量超过折叠阈值,对包括所述字线的块执行媒体管理操作。
4.根据权利要求1所述的系统,其中所述媒体扫描参数包括每页位错误计数值或谷部宽度值中的至少一个。
5.根据权利要求4所述的系统,其中所述存储器装置包括多个字线,且其中根据所述一或多个经调整媒体扫描参数执行所述存储器装置的所述媒体扫描另外包括:
将所述多个字线将划分成数个扫描群组;
根据字线扫描间隔,确定每个扫描群组中的字线的数据状态度量,其中所述数据状态度量包括每页位错误计数或谷部宽度中的至少一个;和
响应于确定与所述字线中的一个相关联的所述数据状态度量超过所述每页位错误计数值或所述谷部宽度值中的至少一个,对包括所述字线的块执行媒体管理操作。
6.根据权利要求1所述的系统,其中确定所述编程擦除循环数目满足所述准则包括:
维持媒体扫描查找表,其中所述媒体扫描查找表中的条目包括编程擦除计数值和一或多个媒体扫描参数值;和
确定所述编程擦除循环数目匹配所述媒体扫描查找表中的所述条目。
7.根据权利要求6所述的系统,其中调整所述一或多个媒体扫描参数包括:
将所述一或多个媒体扫描参数设置为所述条目中与所述编程擦除循环数目相关联的所述一或多个媒体扫描参数值。
8.一种方法,其包括:
维持与存储器装置相关联的一或多个媒体扫描参数,其中所述一或多个媒体扫描参数与扫描频率查找表中的第一条目相关联;
识别与所述存储器装置相关联的编程擦除循环数目;
响应于确定所述编程擦除循环数目满足第一准则,确定与所述存储器装置相关联的性能度量;
响应于确定所述性能度量满足第二准则,通过将所述一或多个媒体扫描参数调整为与所述扫描频率查找表中的第二条目相关联的值,产生一或多个经调整媒体扫描参数;和
根据所述一或多个经调整媒体扫描参数执行所述存储器装置的媒体扫描。
9.根据权利要求8所述的方法,其中所述一或多个媒体扫描参数包括扫描群组数目和字线扫描间隔。
10.根据权利要求9所述的方法,其中所述存储器装置包括多个字线,且其中根据所述一或多个经调整媒体扫描参数执行所述存储器装置的所述媒体扫描另外包括:
将所述多个字线划分成所述数目的扫描群组;
根据所述字线扫描间隔,确定每个扫描群组中的所述字线的数据状态度量;和
响应于确定与所述字线中的一个相关联的所述数据状态度量超过折叠阈值,对包括所述字线的块执行媒体管理操作。
11.根据权利要求8所述的方法,其中确定所述编程擦除循环数目满足所述第一准则包括确定所述编程擦除循环数目是预定值的倍数。
12.根据权利要求8所述的方法,其中所述性能度量是与所述存储器装置中的数个块相关联的平均原始位错误计数。
13.根据权利要求8所述的方法,其中确定所述性能度量满足所述第二准则包括:
识别与所述编程擦除循环数目相关联的阈值性能度量值;和
确定所述性能度量超过所述阈值性能度量值。
14.一种包括指令的非暂时性计算机可读存储媒体,所述指令当由处理装置执行时致使所述处理装置执行包括以下操作的操作:
维持与存储器装置相关联的一或多个媒体扫描参数;
识别与所述存储器装置相关联的编程擦除循环数目;
响应于确定所述编程擦除循环数目满足准则,通过调整所述一或多个媒体扫描参数产生一或多个经调整媒体扫描参数;和
根据所述一或多个经调整媒体扫描参数执行所述存储器装置的媒体扫描。
15.根据权利要求14所述的非暂时性计算机可读存储媒体,其中所述媒体扫描参数包括扫描群组数目和字线扫描间隔。
16.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述存储器装置包括多个字线,且其中根据所述一或多个经调整媒体扫描参数执行所述存储器装置的所述媒体扫描另外包括:
将所述多个字线划分成所述数目的扫描群组;
根据所述字线扫描间隔,确定每个扫描群组中的所述字线的数据状态度量;和
响应于确定与所述字线中的一个相关联的所述数据状态度量超过折叠阈值,对包括所述字线的块执行媒体管理操作。
17.根据权利要求14所述的非暂时性计算机可读存储媒体,其中所述媒体扫描参数包括每页位错误计数值和谷部宽度值。
18.根据权利要求17所述的非暂时性计算机可读存储媒体,其中所述存储器装置包括多个字线,且其中根据所述一或多个经调整媒体扫描参数执行所述存储器装置的所述媒体扫描另外包括:
将所述多个字线将划分成数个扫描群组;
根据字线扫描间隔,确定每个扫描群组中的所述字线的数据状态度量,其中所述数据状态度量包括每页位错误计数或谷部宽度中的至少一个;和
响应于确定与所述字线中的一个相关联的所述数据状态度量超过所述每页位错误计数值或所述谷部宽度值中的至少一个,对包括所述字线的块执行媒体管理操作。
19.根据权利要求14所述的非暂时性计算机可读存储媒体,其中确定所述编程擦除循环数目满足所述准则包括:
维持媒体扫描查找表,其中所述媒体扫描查找表中的条目包括编程擦除计数值和一或多个媒体扫描参数值;和
确定所述编程擦除循环数目匹配所述媒体扫描查找表中的所述条目。
20.根据权利要求19所述的非暂时性计算机可读存储媒体,其中调整所述一或多个媒体扫描参数包括:
将所述一或多个媒体扫描参数设置为所述条目中与所述编程擦除循环数目相关联的所述一或多个媒体扫描参数值。
CN202211657654.2A 2021-12-22 2022-12-22 存储器子系统的存储器装置的自适应扫描 Pending CN116339618A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163292832P 2021-12-22 2021-12-22
US63/292,832 2021-12-22
US17/579,923 US20230195354A1 (en) 2021-12-22 2022-01-20 Adaptive scans of memory devices of a memory sub-system
US17/579,923 2022-01-20

Publications (1)

Publication Number Publication Date
CN116339618A true CN116339618A (zh) 2023-06-27

Family

ID=86767951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211657654.2A Pending CN116339618A (zh) 2021-12-22 2022-12-22 存储器子系统的存储器装置的自适应扫描

Country Status (2)

Country Link
US (1) US20230195354A1 (zh)
CN (1) CN116339618A (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9460815B2 (en) * 2013-12-30 2016-10-04 Sandisk Technologies Llc Reusing partial bad blocks in NAND memory
US11132133B2 (en) * 2018-03-08 2021-09-28 Toshiba Memory Corporation Workload-adaptive overprovisioning in solid state storage drive arrays
US10892024B2 (en) * 2018-12-26 2021-01-12 Micron Technology, Inc. Scan optimization from stacking multiple reliability specifications
US11782701B2 (en) * 2021-06-01 2023-10-10 Stephen Davidson Software updater
US20230195324A1 (en) * 2021-12-20 2023-06-22 Samsung Electronics Co., Ltd. Storage device

Also Published As

Publication number Publication date
US20230195354A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
US11735274B2 (en) Proactive read disturb mitigation
US20230245708A1 (en) Tracking and refreshing state metrics in memory sub-systems
US11810627B2 (en) Selective read disturb sampling
US20240134571A1 (en) Using duplicate data for improving error correction capability
CN114639413A (zh) 错误恢复操作
US20230195354A1 (en) Adaptive scans of memory devices of a memory sub-system
US20240153570A1 (en) Select gate maintenance with adaptive scan frequency in a memory sub-system
US20240062835A1 (en) Adaptive integrity scan rates in a memory sub-system based on block health metrics
US20240062834A1 (en) Adaptive integrity scan in a memory sub-system
US20230197157A1 (en) Adaptive read-retry offset based on word line groups for systems
US11875867B2 (en) Weighted wear leveling for improving uniformity
US11977774B2 (en) Charge loss mitigation throughout memory device lifecycle by proactive window shift
US11599272B2 (en) Deck based media management operations in memory devices
US11881284B2 (en) Open translation unit management using an adaptive read threshold
US20230393920A1 (en) Adaptive wear leveling for endurance compensation
US11922041B2 (en) Threshold voltage bin calibration at memory device power up
US11687248B2 (en) Life time extension of memory device based on rating of individual memory units
US20240071522A1 (en) Read counter adjustment for delaying read disturb scans
US11599300B2 (en) Voltage threshold prediction-based memory management
US20230393777A1 (en) Dynamic read level trim selection for scan operations of memory devices
US20240177781A1 (en) Read operation with capacity usage detection scheme
US20230195355A1 (en) Dynamic prioritization of selector vt scans
CN117795472A (zh) 自适应数据完整性扫描频率
CN118116425A (zh) 动态读取校准
CN116450030A (zh) 媒体管理

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication