CN117882047A - 使用部分超级块的存储器子系统 - Google Patents

使用部分超级块的存储器子系统 Download PDF

Info

Publication number
CN117882047A
CN117882047A CN202280059138.1A CN202280059138A CN117882047A CN 117882047 A CN117882047 A CN 117882047A CN 202280059138 A CN202280059138 A CN 202280059138A CN 117882047 A CN117882047 A CN 117882047A
Authority
CN
China
Prior art keywords
superblock
blocks
bad
memory
block
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
CN202280059138.1A
Other languages
English (en)
Inventor
J·黄
罗贤钢
K·坦派罗
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 CN117882047A publication Critical patent/CN117882047A/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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0647Migration mechanisms
    • G06F3/0649Lifecycle 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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • 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
    • 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
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/883Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • 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

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)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种设备可包含媒体管理超级块组件。所述媒体管理超级块组件可确定非易失性存储器阵列的超级块中的一数量的块为不良块。所述媒体管理超级块组件可将不良块数量与不良块准则进行比较。所述媒体管理超级块组件可响应于所述不良块数量满足所述不良块准则,将主机数据写入到具有所述数量的不良块的所述超级块。

Description

使用部分超级块的存储器子系统
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体地说,涉及使用部分超级块的存储器子系统媒体管理操作。
背景技术
存储器子系统可以包含存储数据的一个或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
附图说明
根据下文提供的具体实施方式和本公开的各种实施例的附图将更加充分地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的示例计算系统。
图2说明根据本公开的一些实施例的用于使用部分超级块的非易失性存储器阵列的实例。
图3说明根据本公开的一些实施例的与使用部分超级块相关联的示例流程图。
图4说明根据本公开的一些实施例的与使用部分超级块相关联的示例流程图。
图5说明根据本公开的实施例的用于使用部分超级块的示例方法。
图6是其中可操作本公开的实施例的示例计算机系统的框图。
具体实施方式
本公开的方面针对于用于使用与存储器子系统相关联的部分超级块的媒体管理操作,特定来说,针对于包含媒体管理超级块组件的存储器子系统。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储器子系统的实例是存储系统,例如固态硬盘(SSD)。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用存储器子系统,所述存储器子系统包含一个或多个组件,例如存储数据的“存储器装置”。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
存储器装置可以为非易失性存储器装置。非易失性存储器装置的一个实例为“与非”(NAND)存储器装置(也被称为快闪技术)。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一个或多个裸片的封装。每一裸片可由一个或多个平面组成。平面可被分组为逻辑单元(LUN)。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由物理块集组成。每一块由页集组成。每一页由存储器单元(“单元”)集组成。单元是存储信息的电子电路。在下文中,块是指用于存储数据的存储器装置的单元,且可包含存储器单元群组、字线群组、字线或单独存储器单元。对于一些存储器装置,块(在下文中也被称为“存储器块”)为可擦除的最小区域。无法个别地擦除页,且只能擦除整个块。
存储器装置中的每一个可以包含一个或多个存储器单元阵列。取决于单元类型,可写入单元以存储一个或多个位的二进制信息,且所述单元具有与正存储的位数相关的各种逻辑状态。逻辑状态可由例如“0”和“1”或这类值的组合的二进制值表示。存在各种类型的单元,例如单层级单元(SLC)、多层级单元(MLC)、三层级单元(TLC)和四层级单元(QLC)。举例来说,SLC可存储一位信息且具有两种逻辑状态。
一些NAND存储器装置采用浮动栅极架构,其中基于位线与字线之间的相对电压变化来控制存储器存取。NAND存储器装置的其它实例可采用可包含使用字线布局的替换栅极架构,所述字线布局可允许基于用于构造字线的材料的特性而在存储器单元内捕获对应于数据值的电荷。
可由NAND的编程速度确定NAND的性能。也就是说,用于对NAND的页进行编程的速度。系统可通过将多个NAND页分组在一起以便并行地对NAND页进行编程来改进性能。这可通过分组在一起的页的数目来提高系统性能。然而,分组在一起的页(有时被称为)的数目减小可引起性能降低。可能重要的是,每一平面中的存储器的良好块的数目相等,使得可形成完整超级块。存储器的未完整形成的超级块可能不可供系统使用。可形成的完整超级块的最大数目可受具有最小数目个良好块的平面限制。如本文中所使用,超级块可以指代横跨以交错方式写入的多个裸片的块集。在一些情况下,超级块可横跨SSD内的所有裸片。超级块可含有来自单个裸片的多个块。超级块可以是SSD内的管理单位。
在一些方法中,包含一些不良块的超级块将限制可用于数据存储的超级块的数目,这是因为不可使用一特定数目的不良块的超级块(即,部分超级块,或不“完整”超级块)。不良块可以指不恰当地起作用的存储器块。通过消除这些部分或不完整超级块,系统性能降低。本公开的方面通过使用部分超级块或具有一些不良块的超级块来解决以上和其它缺陷,所述具有一些不良块的超级块将超级块的良好(或可用)块减少到与完整超级块的良好(或可用)块相比较少。下文描述若干参数以便减小这些部分超级块对系统性能的影响,同时仍使用所述部分超级块提高系统性能。这类参数包含每部分超级块的良好块的最小数目、部分超级块之间的特定写入距离,以及在使用部分超级块之前为了稍后在存储器系统的使用寿命中使用所述部分超级块而发生的延迟。
图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)。
存储器装置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(或为简洁起见,“MM超级块组件”),其可被配置成安排和/或执行操作以确定用于存储器的块数量的准则(在一些实例中,阈值或数量范围)且可使用存储器子系统110的各种组件、数据路径和/或接口来这样做。媒体管理超级块组件113可包含各种电路系统以促进超级块的选择和对存储器装置130、140的存储器单元中的数据的存储的控制。举例来说,媒体管理超级块组件113可包含呈ASIC、FPGA、状态机和/或其它逻辑电路系统或软件和/或固件形式的专用电路系统,其可允许媒体管理超级块组件113安排和/或执行与确定哪些超级块用于存储相关的数据存储操作,且传达给存储器子系统110的各种组件、数据路径和/或接口。
媒体管理超级块组件113可以通信方式耦合到存储器装置130、140,且可存取存储器装置130、存储器装置140、存储器子系统110的内部数据路径和/或存储器子系统110的接口以执行本文所描述的操作和/或将存储数据传送到存储器子系统110的额外元件。在一些实施例中,由媒体管理超级块组件113执行的操作可在存储器子系统110和/或存储器子系统控制器115内的数据传送的初始化或预初始化阶段期间执行。
在一些实施例中,存储器子系统控制器115包含媒体管理超级块组件113的至少一部分。举例来说,存储器子系统控制器115可包含处理器117(处理装置),其被配置成执行存储在本地存储器119中的指令以用于执行本文中所描述的操作。在一些实施例中,媒体管理超级块组件113是主机系统110(未示出)、应用程序或操作系统的一部分。
根据本公开的一些实施例,图1中的存储器装置130、140可包含数个物理块。举例来说,存储器装置130、140可包含NAND快闪存储器阵列,所述NAND快闪存储器阵列包含数个物理块。然而,本公开的实施例不限于特定类型的存储器或存储器阵列。举例来说,存储器阵列可为DRAM阵列、RRAM阵列或PCRAM阵列,以及其它类型的存储器阵列。此外,存储器阵列可连同与其操作相关联的各种外围电路系统位于特定半导体裸片上。
存储器阵列的存储器单元可为混合模式单元,其可操作为SLC和/或XLC(例如,额外层级单元,其可以指可在大于SLC的层级处操作的单元,还被称作非SLC模式单元)。存储器阵列中的物理块的数目可为128块、512块或1,024个块,但实施例不限于128的特定倍数或存储器阵列中的任何特定数目的物理块。此外,存储器的不同部分可充当用于媒体管理操作(例如垃圾收集)的动态SLC高速缓存器。举例来说,存储器的不同部分的大小可随着对存储器的需求的增加和/或减少而动态地增大和/或减小,且垃圾收集更有效地解决这些需求。
存储器阵列的每一物理块可含有耦合到存取线(例如,字线)的存储器单元的多个物理行。每一物理块中的行(例如,字线)的数目可以是32,但实施例不限于每物理块特定数目的行。此外,存储器单元可耦合到感测线(例如,数据线和/或数字线)。
每一行可包含存储器单元的多个页(例如,物理页)。物理页指代编程和/或感测的单元(例如,作为功能群组一起编程和/或感测的数个存储器单元)。每一行可包括存储器单元的一个物理页。然而,本公开的实施例不限于此。举例来说,在若干实施例中,每一行可包括存储器单元的多个物理页(例如,耦合到偶数编号的位线的一个或多个偶数存储器单元页,和耦合到奇数编号的位线的一个或多个奇数存储器单元页)。另外,对于包含XLC的实施例,存储器单元的物理页可存储数据的多个页(例如,逻辑页),例如上部数据页和下部数据页,其中每一单元在物理页中存储朝向上部数据页的一个或多个位和朝向下部数据页的一个或多个位。
在非限制性实例中,设备(例如,计算系统100)可包含存储器子系统媒体管理超级块组件113。存储器子系统媒体管理超级块组件113可驻存在存储器子系统110上。如本文中所使用,术语“驻存于……上”是指某物物理上位于特定组件上。举例来说,存储器子系统媒体管理超级块组件113“驻存在存储器子系统110上”是指包括存储器子系统媒体管理超级块组件113的硬件电路系统在物理上位于存储器子系统110上的状况。术语“驻存于……上”可在本文中与例如“部署于……上”或“位于……上”的其它术语互换使用。
存储器子系统媒体管理超级块组件113可被配置成确定特定超级块是否包含数个不良块(即,不再有功能或不可用于存储数据的块)。存储器子系统媒体管理超级块组件113可基于不良块的数目,以及下文与图2-5相关联地描述的其它参数确定将数据存储于特定超级块中。
图2说明根据本公开的一些实施例的用于使用部分超级块的非易失性存储器阵列221的实例。在一些实施例中,非易失性存储器阵列221可以是NAND存储器阵列。在一些实施例中,非易失性存储器阵列221可驻存在例如智能手机、膝上型计算机、平板手机、物联网装置、自主交通工具等移动计算装置上。如本文中所使用,术语“移动计算装置”通常是指具有平板或平板手机外观尺寸的手持型计算装置。一般来说,平板外形可包含在约3英寸与5.2英寸(对角测量)之间的显示屏,而平板手机外形可包含在约5.2英寸与7英寸(对角测量)之间的显示屏。然而,“移动计算装置”的实例不限于此,且在一些实施例中,“移动计算装置”可指IoT装置,以及其它类型的边缘计算装置。
非易失性存储器阵列221可包含若干裸片(“裸片0”)223-1和(“裸片1”)223-2(下文称为若干裸片223)。数个裸片223-1、223-2中的每一个可包含数个平面224-0到224-3(例如,“裸片0”223-1的“PL0”到“PL3”)和225-0到225-3(例如,“裸片1”223-2的“PL0”到“PL3”)。这些数个裸片223和数个平面224、225可包含一数量的超级块227-1到227-8(在下文统称为一数量的超级块227)。所述数量的超级块227的块中的每一个可被称为良好块(“G”)或不良块(“B”)。良好块是指可存储数据且仍有功能的块。不良块是指可能不再存储数据、可含有错误和/或可无非功能的块。
“完整”超级块可以指代包含特定数目的良好块的超级块。举例来说,第一超级块227-1包含跨裸片223-1和裸片223-2两者的平面的所有块(例如,指定为“G”的所有块)且为完整超级块。类似地,第二超级块227-2、第三超级块227-3和第四超级块227-4为完整超级块。这些完整超级块(227-1到227-4)可被称为具有100%性能,或者换句话说,性能不受不良块影响。
部分超级块可以指代具有至少一个不良块的超级块。举例来说,第五超级块227-5包含第二裸片223-2的第三平面225-3中的不良块(例如,“B”)。以此方式,第五超级块227-5在与完整超级块相比时可看到12.5%的性能降低。类似地,第六超级块227-6包含两个不良块且可看到25%的性能降低,第七超级块227-7包含五个不良块且可看到62.5%的性能降低,且第八超级块227-8包含七个不良块且可看到87.5%的性能降低。
在上文提及的先前方法中,当处理非易失性存储器阵列221中的数据时,可能已丢弃或忽略第五超级块227-5、第六超级块227-6、第七超级块227-7和第八超级块227-8。然而,如下文将进一步描述,这四个超级块(227-5到227-8)用作部分超级块,同时将使用部分超级块对性能的效应降到最低。为了减轻在不使用这些部分超级块的情况下可能发生的产率损失,创建以与完整超级块类似的方式使用部分超级块的系统。将使用部分超级块的效应降到最低的三个参数包含可接受的块丢失(ABL)数目、在写入部分超级块之间写入的主机数据字节(HWBS)量,以及何时开始使用部分超级块(SPS)。
关于可接受的块丢失(ABL)数目,将基于存储器系统性能的降低来确定超级块中的块丢失数目。举例来说,如果特定数目的不良块使存储器系统的性能降低了特定程度,那么可不使用具有所述数目的不良块的部分超级块。在开始使用存储器系统时、在制造测试之后、在存储器系统的使用中的特定生命周期处等等,可确定特定数目的不良块。也就是说,特定数目的可接受的不良块可为基于在存储器装置的不同使用阶段的数个参数进行调整的变量。
关于与在写入部分超级块之间写入的主机数据字节(HWBS)量相关的参数,HWBB参数可确保存储器系统的性能不会连续下降。举例来说,使用部分超级块对系统性能的效应可随时间扩散或通过限制在写入的特定时段期间使用的次数而被稀释。通过将部分超级块的使用隔开,存储器系统的性能可以在存储器系统的整个生命周期中维持在特定水平。关于与部分超级块的使用开始(SPS)相关的参数,SPS参数可确定何时使用部分超级块。举例来说,不应在存储器系统的早期生命周期期间使用部分超级块。另外,不应在存储器装置的基准设置和测试期间使用部分超级块。
图3说明根据本公开的一些实施例的与使用部分超级块相关联的示例流程图331。在操作332处,媒体管理超级块组件(例如图1中的媒体管理超级块组件113)可发起构建超级块(“SB”)。作为实例,存储器系统可开始构造和构建超级块中的每一个(例如图2中的超级块227)以便在存储器操作期间将数据存储于超级块中。
在操作333处,媒体管理超级块组件可确定是否可构建(例如,建立)完整超级块。作为实例,可做出对超级块中的块是否是良好块或超级块是否包含至少一个不良块的确定。响应于能够建立完整超级块,在操作334处,构建完整超级块,且在操作338处,存储器操作继续。响应于不能够构建完整超级块(例如,归因于包含不良块),在操作335处,可做出关于待构建的当前超级块是否小于完整超级块的大小(例如,构成完整超级块的块数目)减可允许的块丢失(ABL)数目(例如,“构建SB>完整SB-ABL”)的确定。作为实例,如果正在构建特定超级块(例如,图2中的超级块227-6),那么确定良好块的数目(例如,此实例中为6)是否小于完整超级块的块计数(例如,此实例中为8)减可接受的块丢失数目(例如,在出于性能原因可接受每超级块丢失2个块的情况下,出于此实例的目的为2)。在此实例中,6≥8-2,所以由于6大于或等于6(因为6等于6),因此可构建部分超级块(例如,超级块227-6)(由对操作337的“是”所指示)。
在操作337处,可构建部分超级块,且在操作338处,存储器操作继续。然而,响应于部分超级块不满足操作335的参数(例如,如具有3个良好块的超级块227-7,因此3>8-3,且由于3不大于(>)5),在操作336处,不满足参数的部分超级块的块可用于其它目的,例如当可满足操作的参数时的后续不良块替换。
图4说明根据本公开的一些实施例的与使用部分超级块相关联的示例流程图441。在操作442处,媒体管理超级块组件(例如图1中的媒体管理超级块组件113)可发起打开新超级块以用于主机写入。在操作443处,媒体管理超级块组件可检查超级块写入值(例如,检查自写入到最后一个部分超级块以来的主机写入)。在操作444处,在超级块写入值(“SWV”)与HWBB之间做出比较。在操作445处,响应于超级块写入值(“SWV”)小于(由“是”指示)HWBB,打开完整超级块以用于写入主机数据(意味着此时不写入到部分超级块)。HWBB也可被称作超级块写入值准则。
响应于SWV大于HWBB(由“否”所说明,且指示自写入到最后一个部分超级块以来写入的数据量大于阈值量,或满足准则),在操作446处,将超级块的擦除计数与关联于开始使用部分超级块(SPS)的值进行比较。举例来说,在使用中的完整超级块的擦除计数可指示存储器系统已执行的使用量且指示存储器系统处于其存储器使用寿命的较后阶段(例如,存储器系统更接近于使用寿命结束(EOL)条件而不是使用寿命开始(BOL)条件)。SPS值可为指示完整超级块的特定使用量的准则(或阈值)且可在存储器系统的存储器使用寿命中稍后触发部分超级块的使用。
响应于块的擦除计数小于SPS值,可打开完整超级块以用于主机写入,如在操作445处所指示。响应于擦除计数大于SPS值,在操作447处,可重置主机写入计数器中的值。举例来说,主机写入计数器可跟踪自写入部分超级块以来已发生的主机写入的数目且可被查询以确定超级块写入值。响应于主机写入计数器重置,在操作448处,可打开部分超级块(“SB”)以用于主机写入。
图5是根据本公开的一些实施例的与使用媒体管理超级块组件执行用于部分超级块使用的存储器子系统操作的方法550相对应的流程图。媒体管理超级块组件可类似于图1中的媒体管理超级块组件。所述方法550可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法550由图1的媒体管理超级块组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一个或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在操作552处,可将非易失性存储器阵列的数个超级块中的每一个的一数量的块确定为不良块。所述不良块可以指用于存储数据的存储器的不再有功能、不再保存正确数据、当数据存储到其时包含错误等等的块。可在固有使用或用户的使用之前确定不良块的数量。作为实例,可在存储器系统的测试和/或制造阶段期间确定不良块。
在操作554处,可将数个超级块中的每一个的不良块的数量与不良块准则(或不良块的阈值数量)进行比较。不良块准则可以指不使存储器系统的性能降低到可接受水平以下的可接受的不良块(较早被称为可接受的块丢失或ABL)数目。此可接受的不良块数目以及因此可接受的性能降低可为变量且可基于许多不同因素而确定。这些不同因素可受用户偏好、制造偏好等等影响。在一些实例中,可接受的不良块数目可为每超级块一(1)个不良块,使得性能可仅下降约10%。
在操作556处,可检查数个超级块中的每一个的超级块写入值是否满足超级块写入值准则(或,在一些情况下,超过阈值超级块写入值)。超级块写入值指示自写入到最后一个部分超级块以来写入的数据量。另外,作为实例,写入到的最后一个部分超级块可包含写入到的包含至少一个不良块的最后一个超级块。
在操作558处,可将主机数据写入到具有所述数量的不良块的特定超级块。在一个实例中,将主机数据写入到特定超级块可包含将主机数据写入到特定超级块中的良好块且制止将主机数据写入到特定超级块中的所述数量的不良块。
在一些实施例中,所述方法可另外包含响应于主机数据写入到特定超级块,将超级块写入值重置为零。所述方法可另外包含响应于主机数据写入到完整超级块而使超级块写入值递增一数值。所述方法可另外包含响应于超级块写入值满足超级块写入值准则(例如,在一些情况下,小于阈值数量),将主机数据写入到不包含不良块的不同超级块。
图6是其中可操作本公开的实施例的示例计算机系统600的框图。举例来说,图6说明计算机系统600的示例机器,在所述计算机系统600内可执行用于使得所述机器执行本文中所论述的方法中的任一种或多种方法的指令集。在一些实施例中,计算机系统600可对应于包含、耦合到或使用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,以执行操作系统从而进行对应于图1的媒体管理超级块组件113的操作)的主机系统(例如,图1的主机系统120)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明了单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令集(或多个指令集)以执行本文中所论述的任何一种或多种方法。
示例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器606(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统618,其经由总线603彼此通信。
处理装置602表示一个或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602也可为一个或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置602被配置成执行用于执行本文所论述的操作和步骤的指令626。计算机系统600可另外包含网络接口装置608以在网络611上通信。
数据存储系统618可包含机器可读存储媒体624(也称为计算机可读媒体),其上存储有一个或多个指令集626或体现本文中所描述的方法或功能中的任一种或多种的软件。指令626还可在由计算机系统600执行期间完全或至少部分地驻存在主存储器604内和/或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618和/或主存储器604可对应于图1的存储器子系统110。
在一个实施例中,指令626包含实施对应于媒体管理超级块组件(例如,图1的媒体管理超级块组件113)的功能性的指令。虽然在示例实施例中将机器可读存储媒体624展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“机器可读存储媒体”因此应被视为包含但不限于固态存储器、光学媒体和磁性媒体。
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储于计算机可读存储媒体中,例如但不限于任何类型的盘(包含固态驱动器(SSD)、硬盘驱动器(HDD)、软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
本公开可提供为计算机程序产品或软件,其可包含在其上储存有可用以编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在前述说明书中,本公开的实施例已经参照其特定示例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本发明的实施例的更广精神和范围的情况下对本发明进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

Claims (18)

1.一种设备,其包括:
媒体管理超级块组件,其被配置成:
确定非易失性存储器阵列的超级块中的一数量的块为不良块;
将不良块数量与不良块准则进行比较;以及
响应于所述不良块数量满足所述不良块准则,将主机数据写入到具有所述数量的不良块的所述超级块。
2.根据权利要求1所述的设备,其中所述媒体管理超级块组件被配置成确定超级块写入值是否满足超级块写入值准则,其中所述超级块写入值指示自写入到最后一个不完整超级块以来写入的数据量。
3.根据权利要求2所述的设备,其中所述媒体管理超级块组件被进一步配置成响应于所述超级块写入值满足所述超级块写入值准则,将主机数据写入到具有所述数量的不良块的所述超级块。
4.根据权利要求2所述的设备,其中所述媒体管理超级块组件被配置成响应于所述不良块数量满足所述不良块准则或所述超级块写入值满足所述超级块写入值准则,或这两者,制止将主机数据写入到具有所述数量的不良块的所述超级块。
5.根据权利要求1所述的设备,其中所述媒体管理超级块组件被配置成:
响应于所述不良块数量满足所述不良块准则,制止将主机数据写入到所述超级块;以及
响应于所述不良块数量满足所述不良块准则,使用所述超级块中的至少一个块替换不同超级块中的包含错误的块。
6.根据权利要求1到5中任一项所述的设备,其中所述不良块准则等于或大于所述超级块的块总数目的12.5%。
7.根据权利要求1到5中任一项所述的设备,其中所述不良块准则等于或小于所述超级块的块总数目的25%。
8.根据权利要求1到5中任一项所述的设备,其中所述非易失性存储器阵列是驻存于移动计算装置上的NAND存储器阵列。
9.根据权利要求1到5中任一项所述的设备,其中所述媒体管理超级块组件被进一步配置成:
响应于所述超级块的擦除计数满足第一擦除计数准则,制止将所述主机数据写入到所述超级块;以及
响应于所述超级块的所述擦除计数满足第二擦除计数准则,将所述主机数据写入到所述超级块。
10.一种方法,其包括:
确定非易失性存储器阵列的数个超级块中的每一个的一数量的块为不良块;
将所述数个超级块中的每一个的不良块数量与不良块准则进行比较;以及
检查所述数个超级块中的每一个的超级块写入值是否满足超级块写入值准则,其中所述超级块写入值指示自写入到最后一个部分超级块以来写入的数据量;以及
响应于对于所述数个超级块中的特定超级块,所述不良块数量满足所述不良块准则且所述超级块写入值满足所述超级块写入值准则,将主机数据写入到具有所述数量的不良块的所述特定超级块。
11.根据权利要求10所述的方法,其中将所述主机数据写入到所述特定超级块包括将所述主机数据写入到所述特定超级块中的良好块且制止将所述主机数据写入到所述特定超级块中的所述数量的不良块。
12.根据权利要求10所述的方法,其中写入到的所述最后一个超级块包括写入到的包含至少一个不良块的最后一个超级块。
13.根据权利要求10到12中任一项所述的方法,其还包括:
响应于所述主机数据写入到所述特定超级块,将所述超级块写入值重置为零;以及
响应于主机数据写入到完整超级块,使所述超级块写入值递增一数值。
14.根据权利要求10到12中任一项所述的方法,其还包括响应于所述超级块写入值满足所述超级块写入值准则,将主机数据写入到不包含不良块的不同超级块。
15.一种设备,其包括:
存储器装置,其包括存储器的多个块;以及
处理装置,其耦合到所述存储器装置,所述处理装置执行包括以下操作的操作:
确定非易失性存储器阵列的超级块中的一数量的块为不良块;
将不良块数量与不良块准则进行比较;
响应于所述不良块数量满足所述不良块准则,检查超级块写入值是否满足超级块写入值准则,其中所述超级块写入值指示自写入到最后一个不完整超级块以来写入的数据量;以及
响应于所述超级块写入值满足所述超级块写入值准则,将数据写入到具有所述数量的不良块的所述超级块。
16.根据权利要求15所述的设备,其中所述处理装置执行还包括以下操作的操作:响应于所述不良块数量满足所述不良块准则,使用具有所述数量的不良块的所述超级块用于除写入主机数据以外的操作。
17.根据权利要求15所述的设备,其中所述处理装置执行还包括以下操作的操作:响应于所述超级块写入值满足所述超级块写入值准则,将所述主机数据写入到不同于所述特定超级块的超级块。
18.根据权利要求15到17中任一项所述的设备,其中所述处理装置执行还包括以下操作的操作:响应于确定与所述特定超级块相关联的擦除计数满足擦除计数准则,阻止所述主机数据写入到所述特定超级块。
CN202280059138.1A 2021-09-01 2022-08-26 使用部分超级块的存储器子系统 Pending CN117882047A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/464,290 2021-09-01
US17/464,290 US11599416B1 (en) 2021-09-01 2021-09-01 Memory sub-system using partial superblocks
PCT/US2022/041702 WO2023034140A1 (en) 2021-09-01 2022-08-26 Memory sub-system using partial superblocks

Publications (1)

Publication Number Publication Date
CN117882047A true CN117882047A (zh) 2024-04-12

Family

ID=85287158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280059138.1A Pending CN117882047A (zh) 2021-09-01 2022-08-26 使用部分超级块的存储器子系统

Country Status (4)

Country Link
US (2) US11599416B1 (zh)
EP (1) EP4396667A1 (zh)
CN (1) CN117882047A (zh)
WO (1) WO2023034140A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230072196A (ko) * 2021-11-17 2023-05-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN114461542A (zh) * 2021-12-23 2022-05-10 合肥沛睿微电子股份有限公司 一种数据存取管理方法和存储装置
US11995345B2 (en) * 2022-06-02 2024-05-28 Micron Technology, Inc. Plane balancing in a memory system
CN116755642B (zh) * 2023-08-24 2023-10-27 四川云海芯科微电子科技有限公司 用于NAND Flash坏块的混合管理方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572311B1 (en) * 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
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
KR102653401B1 (ko) 2016-07-18 2024-04-03 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US10037152B2 (en) * 2016-12-19 2018-07-31 Alibaba Group Holding Limited Method and system of high-throughput high-capacity storage appliance with flash translation layer escalation and global optimization on raw NAND flash
US10223022B2 (en) * 2017-01-27 2019-03-05 Western Digital Technologies, Inc. System and method for implementing super word line zones in a memory device
US10409720B2 (en) * 2017-06-12 2019-09-10 Western Digital Technologies, Inc. System and method of direct write and mapping of data in a non-volatile memory having multiple sub-drives
US10372355B2 (en) 2017-12-29 2019-08-06 Micron Technology, Inc. Managing partial superblocks in a NAND device
US10672497B2 (en) * 2018-04-03 2020-06-02 SK Hynix Inc. Memory system and method for bad block management
KR102524432B1 (ko) 2018-04-09 2023-04-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102583726B1 (ko) 2018-06-27 2023-10-05 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11030094B2 (en) * 2018-07-31 2021-06-08 SK Hynix Inc. Apparatus and method for performing garbage collection by predicting required time
US10672452B2 (en) * 2018-09-21 2020-06-02 Micron Technology, Inc. Temperature informed memory refresh
US11112979B2 (en) * 2019-07-26 2021-09-07 Micron Technology, Inc. Runtime memory allocation to avoid and delay defect effects in memory sub-systems
JP2021034091A (ja) * 2019-08-29 2021-03-01 キオクシア株式会社 メモリシステムおよび制御方法
US11567665B2 (en) * 2020-08-31 2023-01-31 Micron Technology, Inc. Data dispersion-based memory management

Also Published As

Publication number Publication date
US11599416B1 (en) 2023-03-07
US11934268B2 (en) 2024-03-19
EP4396667A1 (en) 2024-07-10
WO2023034140A1 (en) 2023-03-09
US20230205629A1 (en) 2023-06-29
US20230069159A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
CN113168875B (zh) 读取干扰扫描合并
US10950315B1 (en) Preread and read threshold voltage optimization
US11682446B2 (en) Selective wordline scans based on a data state metric
US11934268B2 (en) Memory sub-system using partial superblocks
US11762767B2 (en) Storing highly read data at low impact read disturb pages of a memory device
US11733892B2 (en) Partial superblock memory management
US11886736B2 (en) Memory access threshold based memory management
CN118430623A (zh) 减缓存储器子系统中存储器单元的电压状况
US20220300160A1 (en) Memory sub-system media management operation threshold
CN112449693B (zh) 在存储系统的两遍编程之前执行读取操作
CN112328508B (zh) 多层存储器中的层交错
US12073107B2 (en) Memory sub-system for monitoring mixed mode blocks
CN115048039B (zh) 用于基于有效转换单元计数的存储器管理的方法、设备和系统
US12057167B2 (en) Padding in flash memory blocks
US20240038311A1 (en) Reliability based data verification
US20230395152A1 (en) Memory cell voltage level selection
US20230205450A1 (en) Voltage threshold prediction-based memory management
US20240192878A1 (en) Media management
US20230168829A1 (en) Data age and validity-based memory management
US20230207028A1 (en) Managing an adaptive data path selection threshold for a memory sub-system
CN117174123A (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