CN116529693A - 加电时的媒体管理 - Google Patents

加电时的媒体管理 Download PDF

Info

Publication number
CN116529693A
CN116529693A CN202180075850.6A CN202180075850A CN116529693A CN 116529693 A CN116529693 A CN 116529693A CN 202180075850 A CN202180075850 A CN 202180075850A CN 116529693 A CN116529693 A CN 116529693A
Authority
CN
China
Prior art keywords
block
memory
pec
virtual
media management
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
CN202180075850.6A
Other languages
English (en)
Inventor
T·刘
罗贤钢
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 CN116529693A publication Critical patent/CN116529693A/zh
Pending legal-status Critical Current

Links

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/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]
    • 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/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • 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
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种方法包含:检测与包括具有与其相关联的存储器单元块的多个存储器单元块的存储器子系统相关联的加电事件;响应于检测到所述加电事件且在接收指示主机启动序列的信令之前,确定与所述多个存储器单元块当中的相应块相关联的存储器单元块是开放虚拟存储器单元块;确定与所述开放虚拟存储器单元块相关联的所述相应块展现大于阈值的健康特性值;以及响应于所述相应块展现大于所述阈值的健康特性值的所述确定而选择性地执行与所述开放虚拟存储器单元块相关联的相应存储器单元块的媒体管理操作。

Description

加电时的媒体管理
技术领域
本公开的实施例大体上涉及存储器子系统,且更明确来说,涉及加电时的媒体管理。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统将数据存储在存储器装置处及从所述存储器装置检索数据。
附图说明
从下文给出的详细描述及从本公开的各种实施例的附图将更加完全地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2说明根据本公开的一些实施例的包含具有存储器单元块的存储器子系统的实例计算系统。
图3是根据本公开的一些实施例的对应于加电时的媒体管理的流程图。
图4是根据本公开的一些实施例的对应于用于加电时的媒体管理的方法的流程图。
图5是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面涉及加电时的媒体管理,特定来说,涉及包含加电时的媒体管理组件的存储器子系统。存储器子系统可为存储系统、存储装置、存储器模块或此类的组合。存储器子系统的实例是存储系统,例如固态驱动器(SSD)。下文结合图1以及其它描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含例如存储数据的存储器装置的一或多个组件的存储器子系统。主机系统可提供将存储于存储器子系统处的数据且可请求将从存储器子系统检索的数据。
存储器装置可为非易失性存储器装置。非易失性存储器装置的一个实例是“与非”(NAND)存储器装置(还称为快闪技术)。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置是一或多个裸片的封装。每一裸片可由一或多个平面组成。平面可分组为逻辑单位(LUN)。针对一些类型的非易失性存储器装置(例如NAND装置),每一平面由一组物理块组成。每一块由一组页面组成。每一页面由一组存储器单元(“若干单元”)组成。单元是存储信息的电子电路。块在下文指代用于存储数据的存储器装置的单位且可包含一群组存储器单元、字线群组、字线或个别存储器单元。针对一些存储器装置,块(在下文还称为“存储器块”)是可被擦除的最小区域。页面无法被个别地擦除,且仅可擦除整个块。
存储器装置中的每一者可包含一或多个存储器单元阵列。取决于单元类型,单元可被写入以便存储一或多个二进制信息位,且具有与所存储位的数目相关的各种逻辑状态。逻辑状态可由例如“0”及“1”或此类值的组合的二进制值表示。存在各种类型的单元,例如单电平单元(SLC)、多电平单元(MLC)、三电平单元(TLC)及四电平单元(QLC)。举例来说,SLC可存储一个信息位且具有两种逻辑状态。
一些NAND存储器装置采用浮动栅极架构,其中基于位线与字线之间的相对电压变化来控制存储器存取。NAND存储器装置的其它实例可采用替换栅极架构,其可包含使用可允许基于用于构造字线的材料的性质将对应于数据值的电荷俘获于存储器单元内的字线布局。
存储器块的存储器单元(例如上页面或下页面中的存储器单元,如本文中描述)可经编程到目标(例如,所期望)数据状态。例如,电荷可经放置在存储器单元的电荷存储结构(例如,与存储器结构相关联的晶体管或“栅极”,其可包含浮动栅极及/或替换栅极架构)上或从所述电荷存储结构移除以将存储器单元编程到特定数据状态。举例来说,电荷可经施加以将下页面编程到目标数据状态。后续电荷可经施加以将上页面编程到目标数据状态。然而,时间可在对下页面与上页面的编程之间流逝。因此,可形成开放存储器块(即,部分编程的存储器块)。如本文中使用,术语“开放块”(例如,开放虚拟块、物理块及/或逻辑块)通常是指其中存储器块的一些但并非全部页面都被编程的存储器块。
此外,如本文中使用,术语“虚拟块”、“物理块”及“逻辑块”通常是指可按物理位置或逻辑位置分类的存储器块的各种特性描述,其中物理位置是此类存储器块被存储于存储器子系统内的位置,而逻辑位置是对应于此类存储器块被存储于存储器子系统内的物理位置的地址。举例来说,“物理块”通常是指存储对应于数据值的电荷的一组存储器单元。物理块具有与其相关联的地址(例如,物理块地址)。“逻辑块”通常是指含有对应于物理块内的存储器位置的物理地址的逻辑地址信息(例如,逻辑块地址)的数据结构。“虚拟块”通常是指逻辑块地址的一或多个构成部分。举例来说,虚拟块可含有对应于与逻辑块(或逻辑块地址)相关联的逻辑偏移的逻辑块地址及/或信息的一部分。在一些实施例中,与虚拟块相关联的逻辑地址的部分可含有逻辑块地址的最高有效位,且偏移信息可含有逻辑块地址的最低有效位。
由于NAND存储器装置中固有的特性,数据质量可随时间而降级。例如,随着存储器单元块(其在本文中可简称为“块”)的编程-擦除循环(PEC)计数增加,块中的数据质量可能降低。数据质量的降级可能会使存储器单元易受故障影响。例如,随着时间的推移,可能发生阈值电压(VT)电平移位。作为VT电平移位的结果,对经历VT电平移位的存储器单元执行的读取操作可能会发生故障或返回受损或不正确的数据值。
为了缓解这些问题,一些方法尝试进行块(例如,虚拟块)的周期性随机化选择以缓解数据降级。例如,此类方法可采用块的周期性随机化选择(例如,虚拟块的选择),且接着,执行与随机选择的虚拟块相关联的物理及/或逻辑块的扫描操作及后续块刷新。此类扫描及/或块刷新可在后台中执行(即,在主机的空闲时间期间)。然而,虚拟块的随机选择可导致在选择及扫描另一虚拟块之前重复地选择及扫描给定虚拟块多次。因此,未被选择的虚拟块将不会被刷新,且因此,未被选择的虚拟块中的数据将继续降级。
此外,据发现,开放块可能易受错误影响。例如,当开放块展现大于阈值的健康特性值时及/或在与包含开放块的存储器子系统相关联的断电事件之后,开放块可能特别易受错误影响。举例来说,开放块在扩展的断电事件及/或异步电力丢失(APL)之后可能易受错误影响。如本文中使用,APL是指事先没有来自主机的关闭通知的情况下的突然且出乎意料的电力丢失。
例如,开放块可能易受误放错误影响。如本文中使用,“误放错误”通常是指涉及页面的存储器单元的、致使数据随后被误放的失败/不正确读取操作的发生。举例来说,误放错误可在数据被编程到块中的最下页面而非将数据编程到块中的其它页面之后(即,在开放块形成之后)发生。在此类实例中,额外数据可被编程到开放块。例如,与开放虚拟块相关联的存储器块相关联的页面的最高页面及/或额外页面可经编程以形成完整的块(例如,完整虚拟块、完整物理块及/或完整逻辑块)。如本文中使用,“完整块”通常是指其中所有页面都被编程(例如,包含数据)的块。然而,由于现在完整块展现大于阈值的健康特性值及/或块已经历断电事件,例如非预期断电事件,对块的页面中的数据的后续读取操作可能会失败(例如,致使不可恢复的故障)。
因而,本公开涉及存储器子系统及/或计算系统的加电时的媒体管理。显著地,此媒体管理可响应于检测到与存储器子系统相关联的加电事件而执行,而非在主机的空闲时间期间发生。因而,媒体管理操作(例如,媒体扫描操作及所执行的任何后续块刷新操作)可在任何主机活动之前(例如,在主机利用与存储器子系统相关联的接口之前)执行。通常这样做,阻止展现大于阈值的健康特性值及/或已经历断电事件的开放块被主机编程,且因此阻止所述块在被扫描且(在必要时)被刷新之前变成完整块。换句话说,媒体管理操作(例如,媒体扫描及所执行的任何后续块刷新操作)可在主机执行涉及存储器系统的初始化操作之前执行。因此,可防止误放错误发生。媒体扫描操作的实例是后台媒体扫描操作,其可经执行以确定是否对存储器子系统的更多或更多操作执行媒体管理操作。
相反地,使用当开放块(例如,开放虚拟块)展现大于阈值的健康特性值及/或经历断电事件时不阻止开放块被主机编程的其它方法,存储器子系统可能经历降级的性能。此性能降级可为不合意的,尤其是在关键应用中及/或在期望很高的存储器子系统性能的要求很高的应用中。此外,在此类方法中可展现的此降级的性能可能在移动(例如,智能电话、物联网等)存储器部署中进一步恶化,在所述部署中可用于容置存储器子系统的空间量相较于传统计算架构来说受到限制。
本公开的方面通过检测与存储器子系统相关联的加电事件及响应于检测到加电事件但在接收指示主机启动序列的信令之前及/或在主机初始化序列完成之前确定块是开放块及对开放块选择性地执行媒体管理操作来解决上述及其它缺点。在一些实施例中,选择性地执行媒体管理操作可响应于确定开放块展现大于阈值的健康特性值而发生。另外,在一些实施例中,基于对开放块执行媒体管理操作,可对开放块执行块刷新。
如本文中使用,“主机初始化序列”通常是指由主机计算装置的中央处理单元(CPU)结合部署于主机计算装置内的其它组件响应于计算系统接收到电力信号而执行的各种过程。可由主机计算装置在初始化序列期间执行的过程的实例可包含接收由系统时钟产生且由CPU接收的时钟信号。响应于接收到此类时序信号,主机初始化序列可进一步包含由CPU定位系统级只读存储器(ROM)基本输入/输出系统(BIOS)指令以致使计算系统开始启动序列以允许计算系统操作。ROM BIOS指令可致使CPU执行存储于预定ROM位置中的指令以执行开机自测(POST)操作以检查计算系统的各种组件(例如存储器子系统、存储器装置、电力供应器、端口、外围装置(例如,指向装置、键盘等)、视频卡等)的状态。在POST成功完成之后,CPU通常存取BIOS以定位操作系统(OS)以执行(execute/perform)操作以执行OS以允许用户存取可由主机计算装置执行的应用程序。
尽管本文中的一些实施例通常关于在接收指示主机启动序列的信令之前执行媒体管理操作进行描述,但本公开的实施例不限于此。举例来说,在一些实施例中,本文中执行的操作(例如,本文中描述的媒体管理操作)可根据情况在主机初始化序列的不同阶段处执行。举例来说,在至少一个实施例中,本公开的方面可响应于由存储器子系统及/或存储器装置接收指示POST操作的信令但在主机初始化序列完成之前被执行。此外,在一些实施例中,本文中描述的媒体管理操作可在POST操作成功执行之后但在OS初始化之前执行。
通过执行加电时的媒体管理的方面,如本文中详述,存储器子系统性能与例如随机地选择块(例如虚拟块)及在后台中执行媒体管理操作及任何后续块刷新的那些方法的方法相比可能得以改进。例如,通过执行加电时的媒体管理的方面,如本文中详述,可防止误放错误。本文中的实施例可应用于移动存储器部署中以进一步改进部署于移动计算架构中的存储器子系统的可靠性。
图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可包含处理器芯片组及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如SSD控制器)及存储协议控制器(例如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(2DNAND)及三维NAND(3DNAND)。
存储器装置130、140中的每一者可包含一或多个存储器单元阵列。例如单电平单元(SLC)的一种类型的存储器单元每单元可存储一个位。例如多电平单元(MLC)、三电平单元(TLC)及四电平单元(QLC)及五电平单元(PLC)的其它类型的存储器单元每单元可存储多个位。在一些实施例中,存储器装置130的每一者可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分及MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储器单元可经分组为页面,其可指代用于存储数据的存储器装置的逻辑单位。对于一些类型的存储器(例如NAND),页面可经分组以形成块。
尽管描述了例如非易失性存储器单元的三维交叉点阵列的非易失性存储器组件及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及/或存储器装置140的所期望存取。存储器子系统控制器115可负责其它操作,例如损耗均衡操作、废弃项目收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作以及与存储器装置130相关联的逻辑块地址(例如逻辑块地址(LBA)、命名空间)与物理地址(例如物理块地址、物理媒体位置等)之间的地址转译。存储器子系统控制器115可进一步包含用以经由物理主机接口与主机系统120通信的主机接口电路系统。所述主机接口电路系统可将从主机系统接收的命令转换成命令指令以存取存储器装置130及/或存储器装置140,而且还将与存储器装置130及/或存储器装置140相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如DRAM)及地址电路系统(例如行解码器及列解码器),其可从存储器子系统控制器115接收地址且解码所述地址以存取存储器装置130及/或存储器装置140。
在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理的存储器装置,其是与用于相同存储器装置封装内的媒体管理的本地控制器(例如本地控制器135)组合的原始存储器装置。受管理的存储器装置的实例是受管理的NAND(MNAND)装置。
存储器子系统110可包含加电时的媒体管理组件113。尽管图1中未展示以便不使图式模糊不清,但加电时的媒体管理组件113可包含各种电路系统以促进检测与包括具有与其相关联的虚拟块的多个存储器单元块的存储器子系统相关联的加电事件,响应于检测到加电事件且在接收指示主机启动序列的信令之前确定块(例如,虚拟块、物理块及/或逻辑块)是开放块及选择性地执行与开放块相关联的相应块的媒体管理操作。在一些实施例中,加电时的媒体管理组件113可包含呈ASIC、FPGA、状态机及/或可允许加电时的媒体管理组件113编排及/或执行本文中描述的操作的其它逻辑电路系统的形式的专用电路系统。
在一些实施例中,存储器子系统控制器115包含加电时的媒体管理组件113的至少一部分。举例来说,存储器子系统控制器115可包含经配置以执行存储于本地存储器119中的指令以执行本文中描述的操作的处理器117(处理装置)。在一些实施例中,加电时的媒体管理组件113是存储器子系统110、应用程序或操作系统的部分。
在非限制性实例中,设备(例如计算系统100)可包含加电时的媒体管理组件113。加电时的媒体管理组件113可驻留于存储器子系统110上。如本文中使用,术语“驻留于”是指物理定位于特定组件上的某物。举例来说,加电时的媒体管理组件113“驻留于存储器子系统110上”是指其中包括加电时的媒体管理组件113的硬件电路系统物理定位于存储器子系统110上的状态。在本文中,术语“驻留于…上”可与例如“部署于…上”或“定位于…上”的其它术语互换使用。
加电时的媒体管理组件113可经配置以检测与包括多个存储器单元块(例如,NAND存储器单元块)的存储器子系统相关联的加电事件。加电事件可基于指示符/旗标或其它机制的变化及/或基于由存储器子系统110及/或存储器装置130/140检测的电压/电流的变化以及其它可能性检测到。在一些实施例中,加电事件可在接收源自主机系统120的中央处理单元的存储器子系统启动命令之前及/或在没有接收到所述存储器子系统启动命令情况下由存储器子系统110的组件检测。因此,在一些实施例中,加电事件可在主机系统120传播调用存储器装置130/140的存储器单元的关于存储器子系统110的信号或断言调用存储器装置130/140的存储器单元的关于存储器子系统110的命令之前由存储器子系统110的组件检测。这可允许存储器子系统110执行本文中描述的操作。
如上文描述,存储器组件可为形成存储器装置130的至少一部分的存储器裸片或存储器封装。在一些实施例中,存储器单元块可形成一或多个“超块”。如本文中使用,“超块”通常是指横跨多个存储器裸片且以交错方式被写入的一组数据块。例如,在一些实施例中,数个交错NAND存储器块中的每一者可跨具有与其相关联的多个平面及/或页面的多个存储器裸片部署。鉴于本公开的上下文,术语“超块”、“块”、“存储器单元块”及/或“交错NAND存储器块”以及其变体可互换使用。
在一些实施例中,加电时的媒体管理组件113可进一步经配置以确定块是开放块。在一些实施例中,块是否是开放块可通过确定块的下页面被编程且块的上页面是开放页面(即,未被编程的页面)来确定。页面是否是开放页面的确定可基于将电压(例如,读取电压)施加到页面中的存储器单元而发生。取决于返回的值/电压,页面可被确定为开放页面或经编程页面。显著地,确定块是否是开放块可响应于检测到加电事件而发生,而非在后台中/在空闲时间期间。例如,此类确定可响应于检测到加电事件且在接收指示主机启动序列的信令之前发生。
加电时的媒体管理组件113可进一步经配置以确定开放块展现大于阈值的健康特性值。例如,加电时的媒体管理组件113可确定与开放虚拟块相关联的相应块(例如,物理块及/或逻辑块)展现大于阈值的健康特性值。如本文中使用,“健康特性”通常是指存储器块中的存储器单元的对应于会影响存储器单元准确地存储数据的能力的存储器单元的质量、寿命预期或其它属性的可量化属性。健康特性或健康度量的非限制性实例可包含与存储器单元相关联的原始误码率(RBER)、与存储器单元相关联的损耗均衡特性及/或存储器单元已经受的编程擦除循环的总数量以及其它。因而,例如后台扫描、RBER扫描、读取扫描及/或完整性扫描等的各种扫描可用于确定给定健康特性值。例如,健康特性值的确定可包含块(例如,与开放虚拟块相关联的相应块)的编程-擦除循环(PEC)计数、擦除计数、年限或其任何组合中的至少一者的确定。
加电时的媒体管理组件113可进一步经配置以对块(例如,对与开放虚拟块相关联的相应块)选择性地执行媒体管理操作。选择性地执行媒体管理操作可响应于确定块(例如,与开放虚拟块相关联的相应块)展现大于阈值的健康特性值而发生。
在一些实施例中,加电时的媒体管理组件113可进一步经配置以执行存储于块中的数据的块刷新。块刷新可基于对块执行媒体管理操作来执行。显著地,加电时的媒体管理组件113可进一步经配置以在执行(或准许)块(例如,与开放虚拟块相关联的相应块)的任何主机存取之前执行块刷新。如所提及,结合加电时的媒体管理的其它方面(例如,在执行块的任何主机存取之前执行块刷新)阻止此主机存取可防止例如误放错误的错误。
图2说明根据本公开的一些实施例的包含具有存储器单元块的存储器子系统的实例计算系统。如所提及,存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)、或此类的组合。
如提及,存储器装置140可包含存储器单元页面。存储器单元(可简称为“单元”)可编程到多种不同数据状态(可简称为“状态”),此第一数据状态(如由236-1表示)、第二数据状态236-2及第三数据状态236-S(下文统称为状态236)。状态236对应于单元可被编程到的相应阈值电压(VT)电平且由相应VT分布表示,其可反映编程到多种状态236中的特定者的单元的统计平均VT电平。
如图2中展示,状态236可用由232-1、232-2及232-B(下文统称为数据模式232)表示的所存储数据模式的相应位编码。例如,数据模式232的邻近数据模式可相差单个位以及其它可能性。
在一些实施例中,所存储数据模式232的位对应于不同相应逻辑页面的数据。例如,在此实例中,数据模式232的最低有效位(LSB)(未说明)对应于第一逻辑页面234-1,其可称为“下页面”(LP)。数据模式232的下一位(未说明)对应于第二逻辑页面234-2,其可称为“上页面”(UP)。另外,数据模式232的最高有效位(MSB)(未说明)对应于第三逻辑页面234-P,其可称为“额外页面”(XP)。虽然说明为特定总数目的页面,但应理解,可存在不同数目的页面。此外,虽然本文中关于逻辑块222进行描述,但所属领域的一般技术人员应了解,逻辑块222(例如,开放逻辑块)及逻辑页面234可与虚拟块(由223表示)及多个虚拟页面(由238-1、238-2、…、238-V表示)相关联。因此,虚拟块223可为开放虚拟块,例如,具有被编程的下虚拟页面238-1(VLP),但具有未被编程的至少另一页面(例如,上虚拟页面238-2(VUP)及/或额外虚拟页面238-V(VXP))。
在一些实施例中,状态236-1可对应于状态236的最下VT电平,且状态236-S可对应于状态236的最上VT电平,以及其它可能性。存储器单元可根据各种技术来编程。作为实例,可采用一遍次编程,其中耦合到选定字线的单元各自从擦除状态被直接编程到目标状态236中的一者。
替代地,单元可经由多遍次编程技术(例如,二编次、三编次等)来编程,所述编程技术可包含经由第一编程遍次将单元中的至少一些的VT电平增加到一或多个中间VT电平(例如,低于对应于目标状态236的VT电平),且接着,随后经由一或多个后续编程遍次将单元VT电平从一或多个中间VT电平增加到目标VT电平。例如,第一遍次可将第一逻辑页面234-1(下页面(LP))编程到特定数据状态,但可不对另一逻辑页面,例如第二逻辑页面234-2(即,上页面(UP))及/或第三逻辑页面234-P(额外页面(XP))进行编程。因此,包含第一逻辑页面234-1的块222被部分编程。然而,第二逻辑页面234-2(即,“上页面”(UP))及/或第三逻辑页面234-P保持开放。在此例子中,形成开放块。
然而,如所提及,特定来说,当展现大于阈值的健康特性值时及/或在断电事件或意料之外的电源故障之后,开放块可能易受错误影响,所述错误例如误放错误。例如,主机系统120可经由物理主机接口218(例如NVMe接口或其它类型的接口)对开放块的额外页面进行编程,且因此最终填充开放块直到形成完整块为止。然而,当开放虚拟存储器单元块展现大于阈值的健康特性值时及/或在与存储器子系统相关联的断电事件之后准许主机系统120继续经由物理主机接口218存取开放块可使开放块(例如,曾经封闭)易受错误影响,如本文中详述。因此,如本文中详述的加电时的媒体管理可用于缓解此类错误。
图3是根据本公开的一些实施例的对应于加电时的媒体管理的流程331的图。流程331可由处理逻辑执行,所述处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如运行或执行于处理装置上的指令)或其组合。在一些实施例中,流程331由图1的加电时的媒体管理组件113执行。尽管以特定序列或顺序展示,但除非另外指定,否则过程的顺序可修改。因此,所说明实施例应仅被理解为实例,且所说明过程可以不同顺序执行,且一些过程可并行执行。另外,在各个实施例中,可省略一或多个过程。因此,不是每个实施例中都需要所有过程。其它过程流程是可能的。
在操作332处,可检测与多个存储器单元(例如,NAND存储器单元)块相关联的加电事件。在一些实施例中,可由加电时的媒体管理组件(例如图1中说明的加电时的媒体管理组件113)检测存储器子系统(例如,本文中图1中说明的存储器子系统110)的一些或所有组件的加电事件。
在操作333处,可从一或多个块(例如,包含封闭块及至少一个开放块)选择开放块。例如,开放虚拟块可从虚拟块中的一或多者选择。块可响应于332处的加电事件的检测而被选择。例如,响应于检测到加电事件,开放虚拟块可从与存储器装置(例如图1中说明的存储器装置140)的相应NAND存储器单元块相关联的一或多个虚拟块(例如,开放/封闭虚拟块)选择。
在操作334处,可确定如在333处选择的块的阈值健康特性值。如所提及,阈值健康特性值可通过确定与开放虚拟块相关联的相应存储器单元块的编程-擦除循环(PEC)计数、擦除计数、年限或其任何组合中的至少一者来确定。例如,在一些实例中,阈值健康特性值可通过PEC计数的确定来确定。如本文中使用,“PEC计数”通常是指NAND块已被存取(例如,编程及/或擦除)的次数,其是块损耗的指标。例如,可确定与开放虚拟块相关联的相应NAND存储器单元块的PEC计数以及其它可能性。
在操作335处,可将阈值健康特性值与健康阈值作比较以准许确定阈值健康特性值是否大于健康阈值。例如,可将PEC计数可与PEC阈值作比较以准许确定PEC计数是否大于PEC阈值。如本文中使用,“PEC阈值”通常是指特定总数目的编程-擦除循环。在一些实施例中,PEC阈值可等于500、1000、1500、2000、3000、4000或5000个编程-擦除循环以及其它可能类型的健康阈值/值。在一些实施例中,PEC计数可为在表(例如查找表)中递增或以其它方式被存储到存储器子系统或可由存储器子系统存取的值。
如果开放块具有小于或等于健康阈值(例如,PEC阈值)的阈值健康特性值(例如,PEC计数),那么流程331可返回到操作322,且可继续检测加电事件的启动。即,流程331可响应于确定PEC计数小于PEC阈值而避免执行(即,不执行)媒体管理操作。避免执行媒体管理操作可降低存储器子系统的计算负担及/或准许媒体管理操作在不同时间以其它方式执行(例如,稍后作为后台媒体管理操作执行)。
然而,如果在操作334处确定开放块的健康特性值大于健康特性阈值,那么流程331可继续到操作336。在操作336处,可执行媒体管理操作。例如,基于PEC计数大于PEC阈值(如在335处确定),可对与开放虚拟块相关联的开放块的存储器单元(例如,NAND存储器单元)块执行媒体管理操作。
在一些实施例中,媒体管理操作可响应于检测到加电事件启动且在加电事件完成之前执行。以此方式,媒体管理操作(例如,扫描操作)可被执行,且当需要时(例如,当VT电平小于VT阈值时),块刷新可在加电事件完成之前执行。在任何情况中,媒体管理操作可响应于检测到加电事件启动且在断电事件之后执行开放块的任何主机存取之前执行。换句话说,媒体管理操作可在没有执行妨碍主机的I/O事务情况下执行。因而,当开放块展现大于阈值的健康特性值及/或在被扫描且(在需要时)对开放块执行块刷新之前已经历断电事件时,流程331阻止开放块被主机系统编程。因此,流程331可防止发生误放错误。
在一些实施例中,执行媒体管理操作可包含对块执行读取操作(例如,在与擦除电压或编程电压不同的电压下)以确定存储器单元的VT电平。因此,在操作337处,可将VT电平(如经由336处的媒体管理操作确定)与VT阈值作比较以准许确定VT电平是否小于VT阈值。如果VT电平大于或等于VT阈值,那么流程331可返回到操作332,且可继续确定加电事件的启动。然而,如果确定VT电平小于VT阈值,那么流程331可继续到操作338。
在操作338处,可执行块刷新。例如,在一些实施例中,可响应于在336处执行媒体管理操作及/或响应于在337处确定VT电平小于VT阈值而对与开放块相关联的相应NAND存储器单元块执行块刷新。如本文中使用,块刷新通常是指将数据从NAND装置的一个部分复制到另一部分,例如将写入到一个存储器单元块的数据复制到另一存储器单元块。在一些实施例中,块刷新可为例如废弃项目收集操作的媒体管理操作的部分,如上文描述。在执行块刷新之后,流程331可返回到操作332。
在一些实施例中,可响应于确定发生加电事件的启动从一或多个虚拟块识别封闭虚拟块。例如,可响应于确定加电事件的启动的发生且在接收指示主机启动序列的信令之前识别封闭虚拟块。响应于封闭虚拟块的识别,流程331可避免对封闭虚拟块执行媒体管理操作。例如,流程331可避免对封闭虚拟块执行媒体管理操作,且代替地,可识别额外虚拟块直到确定与块当中的相应块相关联的存储器单元块是开放虚拟块为止。避免对封闭虚拟块执行媒体管理操作可减少与加电时的媒体管理操作相关联的计算开销量及/或总线业务量,如本文中详述。
图4是根据本公开的一些实施例的对应于用于加电时的媒体管理的方法440的流程图。方法440可由处理逻辑执行,处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法440由图1的加电时的媒体管理组件113执行。尽管以特定序列或顺序展示,但除非另外指定,否则过程的顺序可修改。因此,所说明实施例应仅被理解为实例,且所说明过程可以不同顺序执行,且一些过程可并行执行。另外,在各个实施例中,可省略一或多个过程。因此,不是每个实施例中需要所有过程。其它过程流程是可能的。
在操作441处,可检测与存储器子系统相关联的加电事件。例如,可检测与包含具有与其相关联的另一块(例如,虚拟块)的块(例如,物理存储器单元块及/或逻辑存储器单元块)的存储器子系统相关联的加电事件。在一些实施例中,存储器子系统可类似于图1中说明的存储器子系统110。如上文描述,存储器组件可为彼此耦合以创建存储器单元阵列(例如由存储器子系统用于存储数据的三维可堆叠交叉网格存储器单元阵列)的存储器裸片或存储器封装。
在操作443处,可响应于检测到加电事件而确定开放块。开放块可响应于检测到加电事件且在接收指示主机启动序列的信令之前被确定。举例来说,方法440可包含执行读取/扫描操作以识别块是开放块还是封闭块。在一些实施例中,读取电压可经施加到块的一页面或若干页面以及其它可能性。
在一些实施例中,可确定与多个块当中的相应块相关联的块是开放虚拟块。例如,在操作443处,可响应于确定加电事件且在接收指示主机启动序列的信令之前确定与存储器单元块当中的相应块相关联的块是开放虚拟块。
在操作445处,方法440可包含确定开放块展现大于阈值的健康特性值。例如,可确定开放块的健康特性值,如本文中详述,且随后可确定经确定健康特性值是否大于健康阈值,如本文中详述。
在操作447处,方法440可包含对开放块选择性地执行媒体管理操作,如本文中详述。例如,方法440可包含响应于确定与开放虚拟块相关联的相应块展现大于阈值的健康特性值而对相应块选择性地执行媒体管理操作。
图5是本公开的实施例可在其中操作的实例计算机系统500的框图。举例来说,图5说明计算机系统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展示为单个媒体,但术语“机器可读存储媒体”应理解为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码一组指令以供机器执行并且致使机器执行本公开的方法中的任一者或多者的任何媒体。因此,术语“机器可读存储媒体”应理解为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已依据对计算机存储器内的数据位的操作的算法及符号表示呈现前述详细描述的一些部分。这些算法描述及表示是由数据处理领域的技术人员用以向所属领域的其它技术人员最有效地表达其工作实质的方式。算法在本文且通常被设想为导致所期望结果的自相一致的操作序列。操作是需要物理操纵物理量的操作。通常,尽管不是必须的,这些量采取能够被存储、组合、比较及以其它方式操纵的电或磁性信号的形式。已被证明是方便的是,有时出于习惯用法的原因,原则上将这些信号指代为位、值、元素、符号、字符、项、数字等。
然而,应记住,全部这些及类似术语应与适当物理量相关联,且仅为应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,其将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵或变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的经专门构造,或其可包含由存储于计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘,包含软盘、光盘、CD-ROM及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文呈现的算法及显示并不固有地与任何特定计算机或其它设备相关。各种通用系统可结合根据本文的教示的程序使用,或可证明为方便的是构造更专门设备来执行方法。多种这些系统的结构将如下文描述中陈述那样出现。另外,本公开并非参考任何特定编程语言进行描述。应了解,多种编程语言可用于实施本文中所描述的本公开的教示。
本公开可经提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于存储呈可由机器(例如计算机)读取的形式的信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在前述说明书中,已参考本公开的特定实例实施例描述了其实施例。将明白,可在不背离所附权利要求书中所陈述的本公开的实施例的更宽精神及范围的情况下对本公开做出各种修改。因此,说明书及图式应以说明性意义而非限制性意义来看待。

Claims (20)

1.一种方法,其包括:
检测与包括具有与其相关联的虚拟存储器单元块的多个存储器单元块的存储器子系统相关联的加电事件的发生;
响应于检测到所述加电事件的所述发生且在接收指示主机启动序列的信令之前,确定与所述多个存储器单元块当中的相应块相关联的存储器单元块是开放虚拟存储器单元块;
确定与所述开放虚拟存储器单元块相关联的所述相应块展现大于阈值的健康特性值;以及
响应于与所述开放虚拟存储器单元块相关联的所述相应块展现大于所述阈值的健康特性值的所述确定对与所述开放虚拟存储器单元块相关联的所述相应存储器单元块选择性地执行媒体管理操作。
2.根据权利要求1所述的方法,其进一步包括执行存储于与所述开放虚拟存储器单元块相关联的所述相应存储器单元块中的数据的块刷新。
3.根据权利要求2所述的方法,其进一步包括在执行所述多个存储器单元块的任何主机存取之前执行所述块刷新。
4.根据权利要求1至2中任一权利要求所述的方法,其中确定与所述开放虚拟存储器单元块相关联的所述相应块展现大于阈值的健康特性值进一步包括确定与所述开放虚拟存储器单元块相关联的所述相应存储器单元块的编程-擦除循环(PEC)计数。
5.根据权利要求4所述的方法,其进一步包括将所述PEC计数与PEC阈值作比较。
6.根据权利要求5所述的方法,其中选择性地执行所述媒体管理操作进一步包括:
确定所述PEC计数小于所述PEC阈值;及
响应于确定所述PEC计数小于所述PEC阈值,避免执行所述媒体管理操作。
7.根据权利要求5所述的方法,其中选择性地执行所述媒体管理操作进一步包括:
确定所述PEC计数大于所述PEC阈值;及
响应于确定所述PEC计数大于所述PEC阈值,执行所述媒体管理操作。
8.根据权利要求1至2中任一权利要求所述的方法,其中相应存储器单元块被分组成多个页面,且其中一些但并非全部页面都具有存储于所述页面中的数据。
9.根据权利要求8所述的方法,其中所述数据存储于所述多个页面中的至少一下页面中。
10.一种设备,其包括:
加电时的媒体管理组件,其经配置以:
检测与多个NAND存储器单元块相关联的加电事件的启动;
响应于检测到所述加电事件,从与所述多个NAND存储器单元块中的相应块相关联的多个虚拟块选择开放虚拟块;
确定与所述开放虚拟块相关联的相应NAND存储器单元块的编程-擦除循环(PEC)计数;
将所述PEC计数与PEC阈值作比较;
确定所述PEC计数大于所述PEC阈值;以及
基于所述PEC计数大于所述PEC阈值,执行涉及与所述开放虚拟块相关联的所述多个NAND存储器单元的所述相应块中的至少一者的媒体管理操作。
11.根据权利要求10所述的设备,其中所述加电时的媒体管理组件进一步经配置以在所述加电事件完成之前执行所述媒体管理操作。
12.根据权利要求10至11中任一权利要求所述的设备,其中所述加电时的媒体管理组件进一步经配置以响应于检测到所述加电事件而识别来自所述多个虚拟块的封闭虚拟块。
13.根据权利要求12所述的设备,其中所述加电时的媒体管理组件进一步经配置以避免执行涉及所述封闭虚拟块的媒体管理操作。
14.根据权利要求12所述的设备,其中所述加电时的媒体管理组件进一步经配置以响应于对所述开放虚拟块执行所述媒体管理操作而对与所述开放虚拟块相关联的所述相应NAND存储器单元块执行块刷新。
15.一种系统,其包括:
存储器子系统,其包括经布置以形成多个交错NAND存储器单元块的可堆叠交叉网格阵列的多个存储器组件;及
处理装置,其耦合到所述多个存储器组件,所述处理装置用以执行包括以下的操作:
检测与所述多个交错NAND存储器单元块相关联的加电事件的启动;
响应于检测到所述加电事件,从与所述多个NAND存储器单元块中的相应NAND存储器单元块相关联的多个虚拟块选择开放虚拟块;
确定与所述开放虚拟块相关联的相应NAND存储器单元块的编程-擦除循环(PEC)计数;
确定所述PEC计数大于PEC阈值;
基于所述PEC计数大于所述PEC阈值,对与所述开放虚拟块相关联的所述相应NAND存储器单元块执行媒体管理操作;以及
基于对与所述开放虚拟块相关联的所述相应NAND存储器单元块执行媒体管理操作,执行与所述开放虚拟块相关联的所述相应NAND存储器单元块的块刷新。
16.根据权利要求15所述的系统,其进一步包括通过确定与所述虚拟块相关联的下页面被编程且与所述虚拟存储器单元块相关联的上页面是开放页面来确定所述虚拟存储器单元块是所述开放虚拟存储器单元块。
17.根据权利要求15至16中任一权利要求所述的系统,其中所述PEC阈值等于500、1000、1500、2000、3000、4000或5000个编程-擦除循环。
18.根据权利要求15至16中任一权利要求所述的系统,其中执行所述媒体管理操作进一步包括对与所述开放虚拟块相关联的所述相应NAND存储器单元块执行读取操作。
19.根据权利要求18所述的系统,其进一步包括通过执行所述读取操作来确定与所述开放虚拟块相关联的所述相应NAND存储器单元块的阈值电压(VT)电平。
20.根据权利要求19所述的系统,其进一步包括:
确定所述相应NAND存储器单元块的所述VT电平小于电压阈值;及
基于确定所述相应NAND存储器单元块的所述VT电平小于所述电压阈值,对与所述开放虚拟块相关联的所述相应NAND存储器单元块执行所述块刷新。
CN202180075850.6A 2020-11-11 2021-10-21 加电时的媒体管理 Pending CN116529693A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/095,386 2020-11-11
US17/095,386 US11409446B2 (en) 2020-11-11 2020-11-11 Media management on power-up
PCT/US2021/055973 WO2022103562A1 (en) 2020-11-11 2021-10-21 Media management on power-up

Publications (1)

Publication Number Publication Date
CN116529693A true CN116529693A (zh) 2023-08-01

Family

ID=81454412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180075850.6A Pending CN116529693A (zh) 2020-11-11 2021-10-21 加电时的媒体管理

Country Status (3)

Country Link
US (2) US11409446B2 (zh)
CN (1) CN116529693A (zh)
WO (1) WO2022103562A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409446B2 (en) * 2020-11-11 2022-08-09 Micro Technology, Inc. Media management on power-up
US11687248B2 (en) * 2021-05-13 2023-06-27 Micron Technology, Inc. Life time extension of memory device based on rating of individual memory units
US11615858B2 (en) * 2021-06-08 2023-03-28 Micron Technology, Inc. Media management operations based on health characteristics of memory cells
KR20230031617A (ko) * 2021-08-27 2023-03-07 에스케이하이닉스 주식회사 데이터를 리프레쉬하는 데이터 저장 장치 및 그 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9691485B1 (en) * 2016-07-11 2017-06-27 Sandisk Technologies Llc Storage system and method for marginal write-abort detection using a memory parameter change
US9727249B1 (en) * 2014-02-06 2017-08-08 SK Hynix Inc. Selection of an open block in solid state storage systems with multiple open blocks
US20180004417A1 (en) * 2015-12-03 2018-01-04 Samsung Electronics Co., Ltd. Method of operation for a nonvolatile memory system and method of operating a memory controller
US20180217751A1 (en) * 2017-01-31 2018-08-02 Sandisk Technologies Llc System and method for dynamic folding or direct write based on block health in a non-volatile memory system
US20200342949A1 (en) * 2018-12-20 2020-10-29 Micron Technology, Inc Bad block management for memory sub-systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US7849350B2 (en) * 2006-09-28 2010-12-07 Emc Corporation Responding to a storage processor failure with continued write caching
US8352683B2 (en) 2010-06-24 2013-01-08 Intel Corporation Method and system to reduce the power consumption of a memory device
US8853818B2 (en) 2013-02-20 2014-10-07 Macronix International Co., Ltd. 3D NAND flash memory
US10409526B2 (en) 2014-12-17 2019-09-10 Violin Systems Llc Adaptive garbage collection
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
US10678702B2 (en) 2016-05-27 2020-06-09 Advanced Micro Devices, Inc. Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations
US10318423B2 (en) * 2016-12-14 2019-06-11 Macronix International Co., Ltd. Methods and systems for managing physical information of memory units in a memory device
US10606513B2 (en) 2017-12-06 2020-03-31 Western Digital Technologies, Inc. Volatility management for non-volatile memory device
TWI677879B (zh) 2018-09-03 2019-11-21 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
US11409446B2 (en) * 2020-11-11 2022-08-09 Micro Technology, Inc. Media management on power-up

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727249B1 (en) * 2014-02-06 2017-08-08 SK Hynix Inc. Selection of an open block in solid state storage systems with multiple open blocks
US20180004417A1 (en) * 2015-12-03 2018-01-04 Samsung Electronics Co., Ltd. Method of operation for a nonvolatile memory system and method of operating a memory controller
US9691485B1 (en) * 2016-07-11 2017-06-27 Sandisk Technologies Llc Storage system and method for marginal write-abort detection using a memory parameter change
US20180217751A1 (en) * 2017-01-31 2018-08-02 Sandisk Technologies Llc System and method for dynamic folding or direct write based on block health in a non-volatile memory system
CN108376120A (zh) * 2017-01-31 2018-08-07 桑迪士克科技有限责任公司 用于管理在非易失性存储器系统中写入块的系统和方法
US20200342949A1 (en) * 2018-12-20 2020-10-29 Micron Technology, Inc Bad block management for memory sub-systems

Also Published As

Publication number Publication date
US11409446B2 (en) 2022-08-09
US11822796B2 (en) 2023-11-21
WO2022103562A1 (en) 2022-05-19
US20220334737A1 (en) 2022-10-20
US20220147252A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
CN113168875B (zh) 读取干扰扫描合并
US11682446B2 (en) Selective wordline scans based on a data state metric
US11409446B2 (en) Media management on power-up
US11886736B2 (en) Memory access threshold based memory management
US11810627B2 (en) Selective read disturb sampling
US11720286B2 (en) Extended cross-temperature handling in a memory sub-system
CN112346901A (zh) 具有时变错误率的存储器中的抢先式读取刷新
US11657891B2 (en) Error recovery operations
US11875865B2 (en) Select gate reliability
US11599300B2 (en) Voltage threshold prediction-based memory management
US11995320B2 (en) Scan fragmentation in memory devices
US20240071503A1 (en) Padding in flash memory blocks
US20230015066A1 (en) Memory sub-system for monitoring mixed mode blocks
US20240038311A1 (en) Reliability based data verification
US20230060913A1 (en) Effective access count based media management
US20230393920A1 (en) Adaptive wear leveling for endurance compensation
US20240062834A1 (en) Adaptive integrity scan in a memory sub-system
US20230110545A1 (en) Performing a program operation based on a high voltage pulse to securely erase data
US20230197157A1 (en) Adaptive read-retry offset based on word line groups for systems
US20240062835A1 (en) Adaptive integrity scan rates in a memory sub-system based on block health metrics
CN115732008A (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