CN114822670A - 有效数据感知媒体可靠性扫描 - Google Patents
有效数据感知媒体可靠性扫描 Download PDFInfo
- Publication number
- CN114822670A CN114822670A CN202210053408.XA CN202210053408A CN114822670A CN 114822670 A CN114822670 A CN 114822670A CN 202210053408 A CN202210053408 A CN 202210053408A CN 114822670 A CN114822670 A CN 114822670A
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- blocks
- data
- subset
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C29/32—Serial access; Scan testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及有效数据感知媒体可靠性扫描。一种设备可以包含包括多个块的存储器阵列和与所述存储器阵列耦合的控制器。所述控制器可配置成选择所述多个块中的一个块进行扫描操作,以确定存储在所述块中的第一数据集的可靠性裕度。所述控制器可识别与所述块中的所述第一数据集的子块的有效性的状态相关联的信息。所述控制器可基于识别所述信息而确定存储所述第一数据集的有效数据的所述子块的第一子集和为无效的子块的第二子集。所述控制器可对所述块中的子块的所述第一子集而不是对子块的所述第二子集执行所述扫描操作。
Description
交叉引用
本申请要求帕尔默(Palmer)于2021年1月20日提交的标题为“有效数据感知媒体可靠性扫描(VALID DATA AWARE MEDIA RELIABILITY SCANNING)”的第17/153,068号美国专利申请的优先权,所述美国专利申请转让给本受让人,并且明确地以全文引用的方式并入本文中。
技术领域
本技术领域涉及有效数据感知媒体可靠性扫描。
背景技术
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等的各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可被编程为常常对应于逻辑1或逻辑0的两个支持状态中的一者。在一些实例中,单个存储器单元可支持超过两个可能状态,存储器单元可存储所述超过两个可能状态中的任一个。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到相应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。除非由外部电源周期性更新,否则易失性存储器单元(例如,DRAM单元)可随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述一种设备。在一些实例中,所述设备可以包含:存储器阵列,其包括多个块;以及控制器,其与存储器阵列耦合且配置成:选择存储器阵列中的多个块中的一个块进行扫描操作,以确定存储在多个块中的块中的第一数据集的可靠性裕度;至少部分地基于选择块而识别与块中的第一数据集的子块的有效性的状态相关联的信息;至少部分地基于识别信息而确定存储第一数据集的有效数据的子块的第一子集和为无效的子块的第二子集;以及至少部分地基于确定多个块中的块中的子块的第一子集而对子块的第一子集而不是对子块的第二子集执行扫描操作。
描述一种存储代码的非暂时性计算机可读媒体。在一些实例中,所述非暂时性计算机可读媒体可以包含指令,所述指令在由电子装置的处理器执行时使得所述电子装置:选择存储器阵列中的多个块中的一个块进行扫描操作,以确定存储在多个块中的块中的第一数据集的可靠性裕度;至少部分地基于选择块而识别与块中的第一数据集的子块的有效性的状态相关联的信息;至少部分地基于识别信息而确定存储第一数据集的有效数据的子块的第一子集和为无效的子块的第二子集;以及至少部分地基于确定多个块中的块中的子块的第一子集而对子块的第一子集而不是对子块的第二子集执行扫描操作。
描述一种方法。在一些实例中,所述方法可以包含:选择存储器阵列中的多个块中的一个块进行扫描操作,以确定存储在多个块中的块中的第一数据集的可靠性裕度;至少部分地基于选择块而识别与块中的第一数据集的子块的有效性的状态相关联的信息;至少部分地基于识别信息而确定存储第一数据集的有效数据的子块的第一子集和为无效的子块的第二子集;以及至少部分地基于确定多个块中的块中的子块的第一子集而对子块的第一子集而不是对子块的第二子集执行扫描操作。
附图说明
图1示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的系统的实例。
图2示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的系统的实例。
图3示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的分布曲线图的实例。
图4示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的系统的实例。
图5示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的过程流程的实例。
图6示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的存储器系统控制器的框图。
图7示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的一或多个方法的流程图。
具体实施方式
系统可以包含主机系统和存储主机系统数据的存储器系统。例如,存储器系统可以包含存储逻辑状态的NAND存储器单元。存储器系统可以制造得越来越小,以减小存储器系统在系统中占据的大小,例如,以满足市场需求。例如,NAND媒体在技术复杂性方面继续增长且在大小方面减小。随着存储器系统越来越小,内在数据存储可靠性可能会面临越来越大的压力。在一些情况下,随着存储器单元的大小减小,用于编程第一逻辑状态的电压的量值可能接近于用于编程第二逻辑状态的第二电压,例如,存储器单元更可能从期望的逻辑状态漂移到不期望的逻辑状态,且因此降低存储器系统中数据存储的可靠性。减少可靠性问题的一种常见方法是周期性地扫描存储在存储器系统中的数据以评估编程单元分布的质量,从而确保有满足可靠性规范的裕度,例如,扫描可用于确定存储的数据是否可靠,并且不可能由于温度、时间、电荷损耗、电荷增益和其它干扰机制而改变。例如,存储器系统控制器可以周期性地扫描NAND媒体以查找错误或编程状态的裕度。在一些实例中,扫描利用大量NAND输入/输出(I/O)通信量,例如,读取和分析NAND装置的大部分块和页上的分布。在此类实例中,用于扫描的通信量可能与主机通信量竞争总体带宽,并导致主机感知的装置性能下降,例如,随着存储器系统变小,它们可能利用更多的扫描来确保所存储数据的可靠性,但是,随着分配更多的资源来执行扫描,扫描数量的增加可能会导致存储器系统性能的降低。
本文描述了使用与块内数据有效性相关的信息执行可靠性扫描以确定在存储器系统的哪些页上执行扫描操作的存储器系统的系统、技术和装置。具体地,扫描操作可以跳过块内不包含有效数据的页。存储器系统可以使用为垃圾收集而维护的有效性信息。也就是说,存储器系统可以利用为NAND存储器中的垃圾收集操作而保存的信息来执行更有效的扫描,从而避免扫描无效数据。存储器系统能够利用各种技术来跟踪有效和无效数据。例如,第一种技术可以包含使用可以为垃圾收集而维护的页有效性表(PVT)。PVT可以是包含每个块中每个页的位的位图。在一些实例中,第二种技术可以包含使用存储写入每个位置的逻辑块地址(LBA)的物理到逻辑(P2L)映射。因为P2L映射通常在重写数据时不更新,因此可以使用逻辑到物理(L2P)表来执行P2L中的LBA的查找操作,以确定LBA的有效版本是否是针对块列出的版本。在一些情况下,第三种技术可以包含使用除了L2P表以外还可能存储的L2P位图并识别L2P表的哪些区域包含块中的条目。然后可以读取这些区域以确定块的有效页。在其它实例中,存储器系统可以利用不同的技术来跟踪无效和有效数据。通过利用为垃圾收集而维护的信息,存储器系统可以提高扫描操作的效率,例如,通过知道哪些页包含无效数据,扫描操作可以跳过存储无效数据的页并扫描包含有效数据的页,从而加快扫描操作并减少用于扫描操作的通信量带宽。
本公开的特征一开始在参考图1到2描述的系统、装置和电路的上下文中加以描述。本公开的特征在参考图3-5描述的分布曲线图、系统和过程流程的上下文中加以描述。本公开的这些和其它特征进一步通过参考图6和7描述的与有效数据感知媒体可靠性扫描相关的设备图和流程图来说明,并参考这些图加以描述。
图1示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可以是或包含任何装置或装置的集合,其中装置或装置的集合包含至少一个存储器阵列。例如,存储器系统110可为或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),或非易失性DIMM(NVDIMM),以及其它可能性。
系统100可以包含在计算装置中,所述计算装置如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具物联网(IoT)功能的装置、嵌入式计算机(例如,包含在交通工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
系统100可以包含主机系统105,其可以与存储器系统110耦合。在一些实例中,这种耦合可以包含与主机系统控制器106的连接,所述主机系统控制器可以是配置成使主机系统105根据如本文描述的实例执行各种操作的控制组件的实例。主机系统105可以包含一或多个装置,且在一些情况下可以包含处理器芯片组和通过处理器芯片组执行的软件堆栈。例如,主机系统105可以包含配置成用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可以包含一或多个核心、一或多个高速缓存(例如,主机系统105本地的或包含在主机系统105中的存储器)、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,外围组件互连高速(PCIe)控制器、串行高级技术附件(SATA)控制器)。主机系统105可以使用存储器系统110,例如,将数据写入存储器系统110以及从存储器系统110读取数据。虽然图1示出一个存储器系统110,但是主机系统105可与任何数量的存储器系统110耦合。
主机系统105可经由至少一个物理主机接口而与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110可配置成使用相关联协议经由物理主机接口通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据及其它信号)。物理主机接口的实例可以包含但不限于SATA接口、UFS接口、eMMC接口、PCIe接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、双数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接接口)、开放NAND快闪接口(ONFI),和低功率双数据速率(LPDDR)接口。在一些实例中,一或多个此类接口可包含在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115中或以其它方式在其间得到支持。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每个存储器装置130的相应物理主机接口,或经由用于包含在存储器系统110中的每种类型的存储器装置130的相应物理主机接口与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可以包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可以包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元,或其任何组合)的一或多个存储器阵列。尽管图1的实例中示出两个存储器装置130-a和130-b,但存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含超过一个存储器装置130,则存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合及通信(例如,经由物理主机接口),并且可以是配置成使存储器系统110根据如本文描述的实例执行各种操作的控制组件的实例。存储器系统控制器115还可与存储器装置130耦合并通信以在存储器装置130处执行一般可称为存取操作的操作,例如读取数据、写入数据、擦除数据,或更新数据,以及其它此类操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此类命令(例如,在一或多个存储器装置130内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作,并且可将命令或操作转换成指令或适当命令,以实现对存储器装置130的期望存取。在一些情况下,存储器系统控制器115可与主机系统105和一或多个存储器装置130交换数据(例如,响应于或以其它方式结合来自主机系统105的命令)。例如,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的相应信号。
存储器系统控制器115可配置成用于与存储器装置130相关联的其它操作。例如,存储器系统控制器115可执行或管理操作,例如,耗损均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测,和与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
存储器系统控制器115可以包含硬件,如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬译码)逻辑的电路,以执行本文中归于存储器系统控制器115的操作。存储器系统控制器115可以是或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路系统。
存储器系统控制器115还可以包含本地存储器120。在一些情况下,本地存储器120可以包含只读存储器(ROM)或可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归于存储器系统控制器115的功能的其它存储器。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或其它存储器,其可由存储器系统控制器115用于例如与本文中归于存储器系统控制器115的功能有关的内部存储或计算。
尽管图1中的存储器系统110的实例已示出为包含存储器系统控制器115,但在一些情况下存储器系统110可不包含存储器系统控制器115。例如,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130内部的一或多个本地控制器135,以执行本文中归于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或其任何组合执行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器装置130可包含非易失性存储器单元的一或多个阵列。例如,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(RAM)(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、电可擦除可编程ROM(EEPROM),或其任何组合。另外或替代地,存储器装置130可包含易失性存储器单元的一或多个阵列。例如,存储器装置130可包含RAM存储器单元,例如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。
在一些实例中,存储器装置130可包含(例如,在同一裸片上或在同一封装内)本地控制器135,其可在相应存储器装置130的一或多个存储器单元上执行操作。本地控制器135可结合存储器系统控制器115操作,或可进行本文中归于存储器系统控制器115的一或多个功能。举例来说,如图1所示,存储器装置130a可包含本地控制器135a,并且存储器装置130b可包含本地控制器135b。
在一些情况下,存储器装置130可以是或包含NAND装置(例如,NAND快闪装置)。存储器装置130可以是或包含存储器裸片160。例如,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每个裸片160可包含一或多个平面165,并且每个平面165可包含相应的块170的集,其中每个块170可包含相应的页175的集,并且每个页175可包含存储器单元集。
在一些情况下,NAND存储器装置130可包含配置成各自存储一个信息位的存储器单元,其可称为单层级单元(SLC)。另外或替代地,NAND存储器装置130可包含配置成各自存储多个信息位的存储器单元,如果配置成各自存储两个信息位,则其可称为多层级单元(MLC),如果配置成各自存储三个信息位,则其可称为三层级单元(TLC),如果配置成各自存储四个信息位,则其可称为四层级单元(QLC),或更一般地称为多层级存储器单元。多层级存储器单元可相对于SLC存储器单元提供更大的存储密度,但在一些情况下,可能涉及用于支持电路系统的更窄读取或写入裕度或更大复杂度。
在一些情况下,平面165可以指块170的群组,并且在一些情况下,并行操作可在不同平面165内进行。例如,并行操作可在不同块170内的存储器单元上执行,只要不同块170是在不同平面165中即可。在一些情况下,在不同平面165中执行并行操作可具有一或多个限制,例如相同操作是在相应平面165内具有相同页地址的不同页175内的存储器单元上执行的(例如,涉及命令解码、页地址解码电路系统或跨平面165共享的其它电路系统)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未示出)的存储器单元。例如,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级别(例如,在页粒度级别)读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)擦除。也就是说,页175可以是可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元的集合)的最小单元,且块170可以是可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元的集合)的最小单元。另外,在一些情况下,NAND存储器单元可在其可用新数据重写之前擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
在一些情况下,为了在块170内更新一些数据,同时保留块170内的其它数据,存储器装置130可将待保留的数据复制到新块170且将更新的数据写入到新块170的一或多个其余页。存储器装置130(例如,本地控制器135)或存储器系统控制器115可将保留在旧块170中的数据标记或以其它方式表示为无效或过时,并且可以更新逻辑到物理(L2P)映射表以使数据的逻辑地址(例如,LBA)与新的有效块170而不是旧的无效块170相关联。在一些情况下,例如由于时延或耗损考虑,此类复制和重新映射可替代擦除和重写整个旧块170。在一些情况下,L2P映射表的一或多个副本可存储在存储器装置130的存储器单元内(例如,一或多个块170或平面165内),以供本地控制器135或存储器系统控制器115使用(例如,参考和更新)。
在一些情况下,可维护L2P映射表且可在页粒度级别上将数据标记为有效或无效,并且页175可以包含有效数据、无效数据或不包含数据。无效数据可以是由于数据的较新版本或更新版本存储在存储器装置130的不同页175中而过时的数据。无效数据先前可能已被编程到无效页175,但可能不再与有效逻辑地址(例如由主机系统105参考的逻辑地址)相关联。有效数据可以是存储在存储器装置130上的此类数据的最新版本。不包含数据的页175可以是从未被写入或已被擦除的页175。
在一些情况下,存储器系统控制器115或本地控制器135可执行存储器装置130的操作(例如,作为一或多个媒体管理算法的一部分),例如耗损均衡、后台刷新、垃圾收集、清理、块扫描、叠合(例如,将数据移动至页的不同层级,例如将SLC数据移动至MLC数据)、健康监测,或其它操作,或其任何组合。例如,在存储器装置130内,块170可具有含有有效数据的一些页175和含有无效数据的一些页175。为了避免等待块170中的所有页175具有无效数据以便擦除和重复使用块170,可调用被称作“垃圾收集”的算法,以允许块170被擦除和释放为用于后续写入操作的空闲块。垃圾收集可指媒体管理操作集,其包含例如选择包含有效和无效数据的块170、选择块中包含有效数据的页175、将来自所选页175的有效数据复制到新位置(例如,另一块170中的空闲页175)、将先前选择的页175中的数据标记为无效,以及擦除选定块170。因此,可增加已擦除的块170的数量,使得可使用更多的块170来存储后续数据(例如,随后从主机系统105接收到的数据)。
系统100可以包含支持有效数据感知媒体可靠性扫描的任何数量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储指令(例如,固件)以进行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能。例如,如果由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115,或由存储器装置130(例如,由本地控制器135)执行,则这种指令可使得主机系统105、存储器系统控制器115或存储器装置130进行如本文描述的一或多个相关联功能。
在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例是受管理NAND(MNAND)系统。
在一些实例中,存储器系统控制器115还可以执行扫描操作以确定存储在存储器装置130中的数据的可靠性裕度。也就是说,存储在存储器装置130中的数据可能由于时间、温度变化、电荷损耗、电荷增益和其它干扰机制而改变。为了确保可靠地存储数据,存储器系统控制器115可以执行周期性扫描操作,以检查所存储数据的裕度或修复发生的错误。在一些实例中,因为存储器系统110还执行针对主机系统105的操作,所以扫描操作可以在后台执行。也就是说,来自扫描操作的通信量可能与来自主机系统操作的通信量竞争,从而导致系统100使用更多带宽并经历总体性能的降低。
如本文描述,存储器系统控制器115可以利用另外用于垃圾收集的信息(例如,存储在存储器装置130中的数据的有效性)来执行扫描操作。在此类实例中,由于不会扫描无效数据,因此存储器系统控制器115可以更有效地扫描数据。避免扫描无效数据可以减少执行扫描操作的持续时间,从而允许系统100减少带宽并提高总体性能。存储器系统控制器115可以利用各种技术来维护如参考图4描述的有效性信息。
图2示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的系统200的实例。系统200可以是如参考图1或其方面描述的系统100的实例。系统200可包含存储器系统210,其配置成存储从主机系统205接收到的数据,且如果由主机系统205使用存取命令(例如,读取命令或写入命令)来请求,则将数据发送到主机系统205。系统200可实施参考图1所描述的系统100的方面。例如,存储器系统210和主机系统205可分别是存储器系统110和主机系统105的实例。
存储器系统210可包含存储器装置240,以例如响应于从主机系统205接收到存取命令而存储在存储器系统210与主机系统205之间传送的数据,如本文中所描述。存储器装置240可包含如参考图1所描述的一或多个存储器装置。例如,存储器装置240可包含NAND存储器、PCM、自选存储器、3D交叉点、其它基于硫族化物的存储器、FERAM、MRAM、NOR(例如,NOR快闪)存储器、STT-MRAM、CBRAM、RRAM,或OxRAM。
存储器系统210可包含存储控制器230以用于控制直接进出存储器装置240的数据的传递,例如用于存储数据、检索数据,和确定待将数据存储在其中和待从其检索数据的存储器位置。存储控制器230可使用特定针对每种类型的存储器装置240的协议直接地或经由总线(未示出)与存储器装置240通信。在一些情况下,单个存储控制器230可用于控制相同或不同类型的多个存储器装置240。在一些情况下,存储器系统210可包含多个存储控制器230,例如,用于每种类型的存储器装置240的不同存储控制器230。在一些情况下,存储控制器230可实施如参考图1所描述的本地控制器135的方面。
存储器系统210可另外包含用于与主机系统205通信的接口220,和用于临时存储在主机系统205与存储器装置240之间传送的数据的缓冲器225。接口220、缓冲器225和存储控制器230可用于例如由数据路径250所示在主机系统205与存储器装置240之间转译数据,且可统称为数据路径组件。
在传送期间使用缓冲器225临时地存储数据可允许在处理命令时缓冲数据,由此减少命令之间的延迟且允许与命令相关联的任意数据大小。这还可允许处置命令的突发,且一旦突发已停止,便可存储或传输(或两者)缓冲的数据。缓冲器225可包含相对快速的存储器(例如,一些类型的易失性存储器,例如SRAM或DRAM),或硬件加速器或这两者,以允许快速地将数据存储到缓冲器225和从所述缓冲器检索数据。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传送的数据路径开关组件。
数据在缓冲器225内的临时存储可指在执行存取命令期间数据在缓冲器225中的存储。也就是说,在完成存取命令后,相关联数据可能不再维持在缓冲器225中(例如,可用额外存取命令的数据覆写)。此外,缓冲器225可以是非高速缓存缓冲器。也就是说,主机系统205可不直接从缓冲器225读取数据。例如,可将读取命令添加到队列中,而无需将地址与已在缓冲器225中的地址进行匹配的操作(例如,无需高速缓存地址匹配或查找操作)。
存储器系统210可另外包含用于执行从主机系统205接收到的命令且在移动数据时控制数据路径组件的存储器系统控制器215。存储器系统控制器215可以是如参考图1所描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。
在一些情况下,一或多个队列(例如,命令队列260、缓冲器队列265和存储队列270)可用于控制存取命令的处理和对应数据的移动。例如,如果存储器系统210并行处理来自主机系统205的超过一个存取命令,则这可能是有益的。作为可能实施方案的实例,分别在接口220、存储器系统控制器215和存储控制器230处描绘命令队列260、缓冲器队列265和存储队列270。然而,队列(如果使用)可位于存储器系统210内的任何位置。
在主机系统205与存储器装置240之间传送的数据可在存储器系统210中采用与非数据信息(例如,命令、状态信息)不同的路径。例如,存储器系统210中的系统组件可使用总线235彼此通信,而数据可通过数据路径组件而不是总线235使用数据路径250。存储器系统控制器215可通过经由总线235与数据路径组件通信(例如,使用特定针对存储器系统210的协议)而控制如何及是否在主机系统205与存储器装置240之间传送数据。
如果主机系统205将存取命令传输到存储器系统210,则命令可由接口220例如根据协议(例如,UFS协议或eMMC协议)接收。因此,接口220可被视为存储器系统210的前端。在接收到每个存取命令后,接口220可例如经由总线235将命令传达到存储器系统控制器215。在一些情况下,可通过接口220将每个命令添加到命令队列260,以将命令传达到存储器系统控制器215。
存储器系统控制器215可确定已基于来自接口220的通信而接收到存取命令。在一些情况下,存储器系统控制器215可确定已通过从命令队列260检索命令而接收到存取命令。在例如已经由存储器系统控制器215从命令队列260检索命令之后,可将所述命令从所述命令队列移除。在一些情况下,存储器系统控制器215可使接口220例如经由总线235从命令队列260移除命令。
在确定已接收到存取命令后,存储器系统控制器215可执行存取命令。对于读取命令,这可意味着从存储器装置240获得数据和将数据传输到主机系统205。对于写入命令,这可意味着从主机系统205接收数据和将数据移动到存储器装置240。
在任一情况下,存储器系统控制器215可将缓冲器225尤其用于从主机系统205接收的或发送到所述主机系统的数据的临时存储。缓冲器225可视为存储器系统210的中间端。在一些情况下,缓冲器地址管理(例如,指向缓冲器225中的地址位置的指针)可由接口220、缓冲器225或存储控制器230中的硬件(例如,专用电路)进行。
为了处理从主机系统205接收到的写入命令,存储器系统控制器215可首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。例如,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与写入命令相关联的数据的空间量。
在一些情况下,缓冲器队列265可用于控制与存储在缓冲器225中的数据相关联的命令流,所述命令流包含写入命令。缓冲器队列265可包含与当前存储在缓冲器225中的数据相关联的存取命令。在一些情况下,命令队列260中的命令可通过存储器系统控制器215移动到缓冲器队列265,且可在相关联数据存储在缓冲器225中的同时保留在缓冲器队列265中。在一些情况下,缓冲器队列265中的每个命令可与缓冲器225处的地址相关联。也就是说,可维持指示在缓冲器225中存储与每个命令相关联的数据的位置的指针。使用缓冲器队列265,可从主机系统205循序接收多个存取命令且可并行处理存取命令的至少若干部分。
如果缓冲器225具有足够空间来存储写入数据,则存储器系统控制器215可使接口220例如根据协议(例如,UFS协议或eMMC协议)将可用性的指示(例如,“准备好传送”指示)传输到主机系统205。当接口220随后从主机系统205接收到与写入命令相关联的数据时,接口220可使用数据路径250将数据传送到缓冲器225以供临时存储。在一些情况下,接口220可从缓冲器225或缓冲器队列265获得缓冲器225内的存储数据的位置。接口220可例如经由总线235向存储器系统控制器215指示是否已完成到缓冲器225的数据传送。
一旦写入数据已通过接口220存储在缓冲器225中,就可将数据从缓冲器225传送出并存储在存储器装置240中。这可使用存储控制器230完成。例如,存储器系统控制器215可使存储控制器230使用数据路径250从缓冲器225检索数据并将数据传送到存储器装置240。存储控制器230可视为存储器系统210的后端。存储控制器230可例如经由总线235向存储器系统控制器215指示已完成到存储器装置240中的存储器装置的数据传送。
在一些情况下,存储队列270可用于辅助写入数据的传送。例如,存储器系统控制器215可将写入命令从缓冲器队列265推送(例如,经由总线235)到存储队列270以供处理。存储队列270可包含用于每个存取命令的条目。在一些实例中,存储队列270可另外包含:缓冲器指针(例如,地址),其可指示在缓冲器225中何处存储与命令相关联的数据;以及存储指针(例如,地址),其可指示存储器装置240中与数据相关联的位置。在一些情况下,存储控制器230可从缓冲器225、缓冲器队列265或存储队列270获得从其获得数据的缓冲器225内的位置。存储控制器230可管理存储器装置240内的存储数据(例如,进行耗损均衡、垃圾收集等)的位置。可例如通过存储器系统控制器215将条目添加到存储队列270。在完成数据的传送后,可例如通过存储控制器230或存储器系统控制器215从存储队列270中移除条目。
为了处理从主机系统205接收到的读取命令,存储器系统控制器215可再次首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。例如,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与读取命令相关联的数据的空间量。
在一些情况下,缓冲器队列265可用于以与上文关于写入命令所论述的类似方式来辅助与读取命令相关联的数据的缓冲器存储。例如,如果缓冲器225具有足够空间来存储读取数据,则存储器系统控制器215可使存储控制器230从存储器装置240检索与读取命令相关联的数据并且使用数据路径250将数据存储在缓冲器225中以供临时存储。存储控制器230可例如经由总线235向存储器系统控制器215指示何时已完成到缓冲器225的数据传送。
在一些情况下,存储队列270可用于辅助读取数据的传送。例如,存储器系统控制器215可将读取命令推送到存储队列270以供处理。在一些情况下,存储控制器230可从缓冲器225或存储队列270获得存储器装置240内的从其检索数据的位置。在一些情况下,存储控制器230可从缓冲器队列265获得缓冲器225内用以存储数据的位置。在一些情况下,存储控制器230可从存储队列270获得缓冲器225内的存储数据的位置。在一些情况下,存储器系统控制器215可将由存储队列270处理的命令移动回到命令队列260。
一旦数据已通过存储控制器230存储在缓冲器225中,就可将数据从缓冲器225传送出并发送到主机系统205。例如,存储器系统控制器215可使接口220使用数据路径250从缓冲器225检索数据,并且例如根据协议(例如,UFS协议或eMMC协议)将数据传输到主机系统205。例如,接口220可处理来自命令队列260的命令,且可例如经由总线235向存储器系统控制器215指示已完成到主机系统205的数据传输。
存储器系统控制器215可根据次序(例如,根据命令队列260的次序的先入先出次序)执行接收到的命令。对于每个命令,存储器系统控制器215可使对应于命令的数据移进和移出缓冲器225,如上文所论述。当数据移动到缓冲器225中且存储在所述缓冲器内时,命令可保持在缓冲器队列265中。如果已完成命令的处理(例如,如果已从缓冲器225传送出对应于存取命令的数据),则可例如通过存储器系统控制器215从缓冲器队列265移除命令。如果从缓冲器队列265移除命令,则先前存储与所述命令相关联的数据的地址可用于存储与新命令相关联的数据。
存储器系统控制器215可另外配置成用于与存储器装置240相关联的操作。例如,存储器系统控制器215可执行或管理操作,例如,耗损均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测,和与来自主机系统205的命令相关联的逻辑地址(例如,LBA)和与存储器装置240内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。也就是说,主机系统205可发出指示一或多个LBA的命令,并且存储器系统控制器215可识别由LBA指示的一或多个物理块地址。在一些情况下,一或多个邻接LBA可对应于非邻接的物理块地址。在一些情况下,存储控制器230可被配置成结合或代替存储器系统控制器215执行以上操作中的一或多者。在一些情况下,存储器系统控制器215可执行存储控制器230的功能并且可省略存储控制器230。
在一些实例中,存储器系统控制器215还可执行扫描操作以确保存储于存储器装置240中的数据的可靠性。为了减少执行扫描操作的持续时间,存储器系统控制器215可以利用另外用于垃圾收集的信息(例如,存储在存储器装置240中的数据的有效性)来执行扫描操作。通过利用有效性信息,存储器系统控制器215可以避免扫描无效的数据部分。这可允许存储器系统控制器215执行扫描操作的速度比必须扫描所有数据(例如,无效和有效数据)时的速度更快。存储器系统控制器215可以通过利用有效性信息来提高系统200的总体性能。
图3示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的分布曲线图300的实例。分布曲线图300可示出如本文描述的TLC的实例分布曲线图300。尽管分布曲线图300示出TLC的实例分布曲线图300,但类似分布曲线图300可适用于存储其它数量的位的存储器单元。例如,MLC或QLC可与具有不同数量的电压分布305的类似分布曲线图300相关联(例如,基于由存储器单元所存储的一定数量的位)。
分布曲线图300可说明与TLC的不同逻辑状态相关联的电压分布305。例如,电压分布305-a可以示出存储逻辑值‘111’的TLC的单元的电压分布。在另一实例中,电压分布305-d可以示出存储逻辑值‘101’的TLC的单元的电压分布305-d。在一些情况下,每个逻辑状态可对应于与超过一个数据页相关联的数据。例如,每个逻辑值可以包含与三页(例如,第一页、第二页和第三页)相关联的数据。也就是说,第一位可以与第一页相关联,第二位可以与第二页相关联,并且第三位可以与第三页相关联。在其它实例中,与每个逻辑值相关联的一些位可以来自同一页(例如,TLC可以存储与两页相关联的逻辑值,其中TLC为两页中的一页存储多个位)。
在一些其它实例中,分布曲线图300可示出存储除分布曲线图300所示的那些值以外的其它值的TLC的电压分布305。例如,每个电压分布305可以对应于反相逻辑值。也就是说,电压分布305-a可对应于存储逻辑值‘000’的TLC。另外,电压分布305-d可示出存储逻辑值‘010’的TLC的电压分布305-d。
分布曲线图300还可示出参考阈值310。参考阈值310可以是如参考图2所描述的参考阈值310的实例。也就是说,存储器系统(例如,如参考图1描述的存储器系统110)可将一或多个参考阈值310应用于一或多个存储器单元,以确定由一或多个存储器单元存储的逻辑值。例如,存储器系统可将参考阈值310中的每一个应用于一或多个存储器单元以读取由一或多个存储器单元所存储的数据的每一页。在另一实例中,存储器系统可将参考阈值310的子集应用于一或多个存储器单元以读取由一或多个存储器单元所存储的数据的页的子集。例如,存储器系统可仅应用参考阈值310-d以确定由与第一页相关联的存储器单元所存储的值。也就是说,如果在将参考阈值310-d应用于存储器单元之后,电流从存储器单元流动,则存储器系统可确定由与第一页相关联的存储器单元所存储的值为逻辑值‘0’。替代地,如果在将参考阈值310-d应用于存储器单元之后,电流并不从存储器单元流动,则存储器系统可确定由与第一页相关联的存储器单元所存储的值为逻辑值‘1’。
在另一实例中,存储器系统可将三个参考阈值310应用于存储器单元以确定由与第一页和第二页相关联的存储器单元所存储的值。例如,存储器系统可施加参考阈值310-a或参考阈值310-b;参考阈值310-c、参考阈值310-d或参考阈值310-e;和参考阈值310-f或参考阈值310-g。
在一些情况下,在存储器单元正在存储冗余数据的至少一个位的情况下,存储器系统可确定将参考阈值310的子集应用于存储器单元。例如,存储器系统可接收要存储在存储器单元中的数据(例如,在写入命令内),并基于在与大于阈值的可靠性相关联的第一模式下操作而生成用于存储在存储器单元中的至少一位冗余数据(例如,与大于阈值的容量相关联的第二模式相反)。在此实例中,存储器系统可应用参考阈值310的子集以感测写入命令中包含的数据。在存储器系统检测到所感测的数据内的错误的情况下,存储器系统可以应用剩余的参考阈值310以感测冗余数据。此处,存储器系统可以利用冗余数据来校正检测到的错误。
在一些情况下,存储器系统可以执行扫描操作,以确定存储在存储器装置(例如,参考图1描述的存储器装置130)的块(例如,参考图1描述的块170)中的数据集的可靠性裕度。在一些实例中,存储器系统可以利用各种扫描电压315来执行扫描操作。例如,存储器系统可以从扫描电压315-a开始,并确定具有将在扫描电压315-a处显示为错误的较低页(例如,LSB)值‘0’的单元数量。存储器系统随后可确定存储较低页值‘0’的单元的裕度。类似地,存储器系统可施加扫描电压315-b以确定不同页(例如,MSB)的裕度,例如,与参考阈值310-e的单元的裕度。存储器系统还可以施加额外扫描电压315以确定与参考阈值310的单元裕度的额外电平。也就是说,存储器系统可以在不同于参考阈值310的各种扫描电压315下执行读取操作。例如,存储器系统可以以递增的电压电平扫过分布,或者可以施加高于或低于参考阈值310中的一或多个或每个的不同扫描电平。
存储器系统还可确定每个扫描电压315的错误位的数量。例如,存储器系统可以确定由于施加扫描电压315-a而产生的错误位的数量。存储器系统可以基于导致错误位数量最少的扫描电压315来确定理想电压(例如,对单元进行编程的电压)。也就是说,尽管存储器单元被编程为“100”,但由于制造不一致,每个存储器单元可能具有不同的阈值电压,例如,将第一单元编程为“100”可能比将第二单元编程为“100”使用更小的电压。具有最接近参考阈值的阈值电压的存储器单元更可能基于干扰机制(例如,温度变化、电荷损耗、电荷增益等)翻转状态。通过在一或多个扫描电压315下执行扫描操作,存储器系统可以确定哪些存储器单元最接近参考阈值,并且最有可能漂移到相邻逻辑值。因此,相比分布的外部范围上的存储器单元,存储器系统可以更多地监视最接近参考阈值的存储器单元,例如,存储器系统可以针对大部分位在其附近翻转的电压具有较小增量提高以确定可靠性裕度。最接近参考阈值的存储器单元的数量越小,存储器可能越可靠,例如,可能翻转和改变逻辑状态的存储器单元可能越少。在一些实例中,存储器系统还可以校正扫描操作期间检测到的错误。
图4示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的系统400的实例。系统400可以包含存储器系统410,其可以是如参考图1描述的存储器系统110的实例。存储器系统410可以包含存储器系统控制器415和存储器装置430、存储器装置440和存储器装置450,它们可以是如参考图1描述的存储器系统控制器115和存储器装置130的实例。存储器系统控制器415可以包含媒体扫描器420和媒体管理器425。存储器装置430、440和450可以分别包含本地控制器435、445和455以及块470-a、470-b和470-c、页475-a、475-b、475-c,其可以是如参考图1描述的本地控制器135、本地控制器145、块170、页175的实例。存储器装置430可以存储页有效性表480和逻辑到物理表495。存储器装置440可以存储物理到逻辑映射485。存储器装置450可以存储位图490。应注意,仅出于说明目的,逻辑到物理表495被示为存储在存储器装置430中。在一些实例中,逻辑到物理表495可以存储在存储器装置440、存储器装置450或存储器系统410中的其它位置。也就是说,存储器系统410可以具有维护与整个存储器系统410相关的信息的单个逻辑到物理表495。另外,页有效性表480、物理到逻辑映射485和位图490可以存储在任何存储器装置430、440、450或存储器系统410中的其它位置。也就是说,页有效性表480、物理到逻辑映射485和位图490可以包含与整个存储器系统410相关的信息,并且仅出于说明目的而示为在特定存储器装置440中。在一些实例中,还可以存在存储在存储器装置430、440、450或存储器系统410中的其它位置中的多个页有效性表480、物理到逻辑映射485、位图490。在一些实例中,块470-a、470-b和470-c还可以包含多个页475。也就是说,仅出于说明目的,在每个块470中示出单个页475。在一些实例中,页475也可被称为子块。另外,存储器装置430、440和450可以包含多个块470。也就是说,仅出于说明目的且不限制权利要求,在每个存储器装置中示出单个块470。块470可指存储器装置430、440和450中的存储粒度级别。也就是说,如参考图1所描述,存储器装置430、440、450可以包含一或多个平面(例如,平面165),所述平面包含相应块470。在一些实例中,可跨不同块470上的不同平面发生并发操作(例如,每个平面的第一块470上的并发读取操作)。在此类实例中,配置成跨平面执行并发操作的一组块470可被称为虚拟块。每个块470可以包含按行和列组织的存储器单元,其中同一页475中的存储器单元可以共享公共字线。
如参考图1所描述,存储器系统410可配置成存储主机系统(例如,如参考图1描述的主机系统105)的数据。存储器系统410还可配置成执行从主机系统接收的命令(例如,读取命令、写入命令)。在一些实例中,存储器系统410可以在执行从主机系统接收的命令之后传达数据或响应。
存储器系统控制器415可配置成与主机系统通信。例如,存储器系统控制器415可配置成从主机系统接收命令,并将命令传达给存储器装置430、440和450。在一些实例中,存储器系统控制器415可以将从主机系统接收的逻辑存储器地址转换为与存储器装置430、440和450中的数据的物理位置相关联的物理存储器地址。例如,存储器系统控制器415可以存储逻辑到物理表495,以跟踪从主机系统接收的逻辑地址以及与给定逻辑地址相关联的数据的当前物理地址。在此类实例中,存储器系统控制器415可以获取逻辑到物理表495中与从主机系统接收到的执行转换的命令相关的部分。在一些实例中,存储器系统控制器415可以包含本地存储器(例如,SRAM),用于存储逻辑到物理表495的相关部分。例如,媒体管理器425可以包含本地存储器(例如,SRAM),用于存储逻辑到物理表495的一部分。也就是说,媒体管理器425可配置成加载(例如,读取)逻辑到物理表495的相关部分,例如,逻辑到物理表495中对应于从主机系统接收的逻辑地址的部分。然后,媒体管理器425可以在本地存储器中执行查找(例如,读取表)。
存储器系统控制器415还可以包含媒体管理器425。在一些实例中,媒体管理器425可配置成管理存储在存储器装置430、440和450处的数据。例如,媒体管理器425可配置成执行或管理例如损耗均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、后台刷新和健康监测等操作。例如,媒体管理器425可配置成管理与存储在存储器装置430、440和450处的有效和无效数据(例如,由于存储在别处的数据的较新或更新版本而过时的数据)相关的操作。在此类实例中,媒体管理器425可配置成执行垃圾收集操作,例如,媒体管理操作,包含选择具有有效和无效数据的块470,将有效数据从块470中的所选页475复制到新位置(例如,不同的块470),将所选页475中的数据标记为无效,并擦除所选块470。在一些实例中,媒体管理器425可配置成通过几种不同的技术跟踪有效或无效数据。仅出于说明目的,本文描述媒体管理器425可使用以进行垃圾收集或媒体管理操作的技术的实例。媒体管理器425可以利用其它技术,本文给出的实例不限制独立权利要求。媒体管理器425还可以使用这些技术的组合以进行垃圾收集或媒体管理操作。
在一些实例中,媒体管理器425可以利用页有效性表480来跟踪有效和无效数据。在此类实例中,媒体管理器425可以针对每个块470维护页有效性表480,所述页有效性表识别有效数据存储在块470中的位置。在一些实例中,页有效性表480的大小可对应于主机逻辑块地址(LBA)的大小。例如,如果主机LBA是4096字节并且块470可以存储4096LBA,则页有效性表480可以存储4096位,例如,页有效性表480中的每一位可以指示与给定LBA相关联的存储器装置430中的物理位置是存储有效数据还是无效数据。在一些实例中,如果对应位置存储有效数据,则页有效性表480可以存储值一(1),而如果对应位置存储无效数据,则存储值零(0)。例如,页475-a可存储对应于第一LBA的数据。当数据首次写入页475-a时,媒体管理可在页有效性表480中存储值一(1),以指示存储在页475-a中的数据有效。在一些实例中,对应于第一LBA的数据可能变得无效(例如,数据可能在别处被重写)。在此类实例中,媒体管理器425可以清除值一(1)并存储值零(0),以指示页475-a中的数据无效。
在其它实例中,媒体管理器425可以利用物理到逻辑(P2L)映射485来跟踪有效和无效数据。在此类实例中,媒体管理器425可以为存储器装置440中的每个块470维护物理到逻辑映射。例如,物理到逻辑映射485可以包含块470中存储LBA的每个物理地址的条目。也就是说,物理到逻辑映射485可以包含写入块470-b的LBA的列表,例如,物理到逻辑映射485可以指示第一LBA写入页475-b。在一些实例中,可不更新物理到逻辑映射485,例如,当数据最初被存储时,可以写入物理到逻辑映射485,然后保持不变(例如,直到块470-b被擦除)。在此类实例中,媒体管理器425可首先读取给定位置(例如,页475-b中的物理位置)的物理到逻辑映射485。对于存储在页475-b中的每个LBA(例如,在一些实例中,页475-b可以存储四(4)个LBA),媒体管理器425可以针对逻辑到物理表495执行查找。例如,媒体管理器425可以读取物理到逻辑映射485,以确定第一LBA最初存储在页475-b中。然后,媒体管理器425可以在逻辑到物理表495中查找与第一LBA相关联的物理地址,以确定与第一LBA相关联的数据的当前位置。如果媒体管理器425确定当前位置为页475-b,则数据可能有效。如果媒体管理确定当前位置不是页475-b,则数据可能无效。
在一些情况下,媒体管理器425可以利用位图490来跟踪有效和无效数据。在此类实例中,媒体管理器425可以将逻辑到物理表495划分成若干不同区域,并且在存储器装置450中具有位图490,所述位图识别逻辑到物理表495的哪些区域具有存储在块470中的数据,例如,位图490可以识别逻辑到物理表495的哪个区域指示块470-c。例如,位图490可以包含多个位,所述多个位中的每一位可以指示逻辑到物理表495的区域是否包括块470-c内的逻辑地址与物理地址之间的至少一个映射。媒体管理器425可通过随后查找位图490中识别的区域来确定是将有效数据还是将无效数据写入块470-c。例如,位图490可指示逻辑到物理表495的第一区域与页475中存储的数据相关联。媒体管理器425随后可查找逻辑到物理表495的第一区域(例如,加载第一区域),以确定存储在页475-c中的数据的有效性,例如,如果逻辑到物理表495中的物理位置仍在页475-c中,则数据可能有效,如果逻辑到物理表495中的物理位置指示除页475-c以外的位置,则数据可能无效。在一些实例中,逻辑到物理表495被划分成的区域的数量可能不同。例如,如果逻辑到物理表495具有1,048,576个条目,则逻辑到物理表495可以被分成1024个区域,每个区域具有1024个条目。在其它实例中,逻辑到物理表495可以基于存储器装置450的存储容量而被划分为不同数量的区域。
在一些实例中,媒体扫描器420可配置成扫描存储在存储器装置430、440和450中的数据以确保可靠性。也就是说,写入块470的数据可以由于时间、温度变化、电荷损耗、电荷增益和其它干扰机制而改变。此外,存储器装置430、440和450可以随着时间的推移变得越来越小,以满足市场期望。这可能会对固有的数据存储可靠性造成额外压力。因此,媒体扫描器420可配置成选择块470以检查所存储数据的可靠性。在一些实例中,媒体扫描器420可配置成随机选择块470以执行扫描操作。在其它实例中,媒体扫描器420可以利用块470的顺序次序,或者被编程为选择已知会导致问题的块470,例如,包含易受基于制造的问题影响的字线的块470。如参考图3所描述,媒体扫描器420可以使用各种扫描电压扫描块,以确定在块470处存储的数据中的错误数量。在一些实例中,媒体扫描器420可以将扫描操作作为后台操作来执行,例如,主机系统还可以向存储器系统410传达命令,并且存储器系统控制器415可以在执行扫描操作的同时传达与所述命令相关联的数据。也就是说,主机通信量可以与来自扫描操作的通信量竞争,并降低存储器系统410的总体性能。
如本文所描述,媒体扫描器420可配置成利用与存储在块470中的数据的有效性相关的信息来执行扫描操作。也就是说,媒体扫描器420可以利用由媒体管理器425保存的信息。例如,媒体扫描器420可以从页有效性表480、或物理到逻辑映射485或位图490收集信息,以确定给定块470是否存储无效数据,例如,媒体扫描器420可以与媒体管理器425通信,以获得与所选块470相关联的有效性信息。例如,媒体扫描器420可以首先选择用于扫描的块470。在一些情况下,当实施页有效性表480的技术时,媒体扫描器420可以请求媒体管理器425从页有效性表480读取指示所选块470中存储的数据是否有效的位,例如,指示数据有效的值1或指示数据无效的值0。在此类实例中,如果读取了具有值一(1)的位,则媒体管理器425随后可以向媒体扫描器420传达数据是有效的,或者如果读取了具有值零(0)的位,则传达数据是无效的。在其它情况下,当实施物理到逻辑映射485的技术时,媒体扫描器420可以请求媒体管理器425从物理到逻辑映射485读取与所选块470中数据存储位置的物理地址相关联的逻辑地址(例如,LBA)。在此类实例中,媒体管理器425随后可以在逻辑到物理表495中查找逻辑地址(例如,读取逻辑地址),以确定数据的当前位置(例如,数据的有效位置)。如果当前位置与所选块470相同,则媒体管理器425可以随后向媒体扫描器420传达数据是有效的,或者如果当前位置与所选块470不同,则传达数据是无效的。在其它情况下,当实施位图490的技术时,媒体扫描器420可以请求媒体管理器425读取指示逻辑到物理表495的哪个区域包含所选块470中的数据的有效状态的位。在此类实例中,媒体管理器425随后可以查找由位读取指示的逻辑到物理表495区域,并且如果位于逻辑到物理表495中的物理地址位于所选块470中,则向媒体扫描器420传达数据是有效的,或者如果位于逻辑到物理表495中的物理地址位于除所选块470之外的块470中,则传达数据是无效的。因此,媒体扫描器420可以基于从媒体管理器425接收有效性信息而避免扫描无效数据,并减少执行扫描操作的持续时间。这还可以减少在扫描操作期间在存储器系统控制器415与存储器装置430、440和450之间传达的通信量。在此类实例中,主机通信量可以较少地与来自媒体扫描的通信量竞争,并提高存储器系统410的总体性能。
图5示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的过程流程500的实例。可以通过处理逻辑来执行过程流程500,所述处理逻辑可以包含硬件(例如处理系统、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令),或其组合。在一些实例中,过程流程500可由如参考图1描述的系统(例如,系统100)执行。例如,过程流程500可由主机系统505(例如,参考图1描述的主机系统105)、存储器系统控制器515(例如,参考图1描述的存储器系统110)和存储器装置530(例如,参考图1描述的存储器装置130)执行。在一些实例中,存储器系统控制器515的操作可由媒体扫描(例如,参考图4描述的媒体扫描器420)和媒体管理(例如,参考图4描述的媒体管理器425)执行。在一些实例中,存储器系统控制器515可执行代码集以控制存储器系统的功能元件来执行下文描述的功能。尽管以特定的序列或次序显示,但除非另有说明,否则可以修改次序的顺序。因此,所示实例用作实例,且所示过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实例中省略一或多个过程。因此,在每个实例中并不需要所有过程。其它过程流程也是可能的。图5可以示出系统100在扫描操作期间在主机系统505、存储器系统控制器515和存储器装置530之间传达命令和响应。
在535,选择块进行扫描操作。例如,可由存储器系统控制器515选择块(例如,如参考图4描述的块470)。在一些实例中,可以通过媒体扫描(例如,如参考图4描述的媒体扫描器420)来选择块。例如,存储器系统控制器515可以执行周期性媒体扫描(例如,每个时间段扫描一个块,在某一时间段内平均扫描每个块),以确保存储在存储器装置530中的数据的可靠性。当执行媒体扫描时,存储器系统控制器515可以选择块来执行扫描操作。在一些实例中,存储器系统控制器515可以选择存储器装置530的随机块。在其它实例中,存储器系统控制器515可以基于顺序次序选择块。在其它情况下,存储器系统控制器515可基于编程指令选择块。例如,存储器系统控制器515可被编程为选择包含复杂情况字线(例如,易受基于制造过程的错误影响的字线)的块。
在540,可识别有效性信息。例如,存储器系统控制器515可识别与在535选择的块相关联的有效性信息。如参考图4所描述,存储器系统控制器515可以包含媒体管理(例如,媒体管理器425),其跟踪用于媒体管理操作(例如,垃圾收集操作)的有效和无效数据。如本文所描述,存储器系统控制器515可以利用为媒体管理操作保留的信息而例如通过避免对无效数据执行扫描操作来执行更有效的扫描。存储器系统控制器515可以通过各种技术来识别有效性信息。例如,如参考图4所描述,存储器系统控制器515可以利用页有效性表(例如,页有效性表480)、物理到逻辑映射(例如,物理到逻辑映射485)或逻辑到物理位图(例如,位图490)来跟踪与存储在存储器装置530中的数据相关联的有效性状态。也就是说,存储器系统控制器515可以识别相关有效性信息存储在存储器装置530中的位置,例如,在页有效性表、物理到逻辑映射或位映射中。
在一些实例中,存储器系统控制器515可以读取与所选块相关联的逻辑到物理地址表(例如,逻辑到物理表495)的一部分。存储器系统控制器515还可以读取页有效性表、物理到逻辑映射或位映射的相关部分,以获得关于存储在所选块中的数据的有效性的信息。例如,当实施页有效性表技术时,存储器系统控制器515可以读取指示存储在所选块中的数据是否有效的位,例如,指示数据有效的值一(1)或指示数据无效的值零(0)。在其它实例中,当实施逻辑到物理映射时,存储器系统控制器515可以读取与所选块中存储数据的物理地址相关联的逻辑地址(例如,LBA)。在其它情况下,当实施逻辑到物理位图时,存储器系统控制器515可以读取指示要查找逻辑到物理表的哪个区域的位。在此类实例中,存储器系统控制器515还可以请求逻辑到物理表的所述部分,并从存储器装置530接收所述部分。
在545,可以确定有效和无效数据。例如,存储器系统控制器515可以确定所选块是存储有效数据还是无效数据(或组合或两者)。在一些实例中,当实施页有效性表技术时,存储器系统控制器515可以基于接收到的是一(1)还是零(0)来确定存储在所选块中的数据是否有效。在其它实例中,当实施逻辑到物理映射时,存储器系统控制器515可以在逻辑到物理表中查找接收到的逻辑地址,以确定数据的当前位置(例如,数据的有效位置)。如果当前位置是所选块,则存储器系统控制器515可以确定数据有效。如果当前位置不同于所选块,则存储器系统控制器515可以确定数据无效。在其它情况下,当实施逻辑到物理位图时,存储器系统控制器515可以加载由从存储器装置530接收的逻辑到物理位图指示的逻辑到物理表的区域。然后,如果位于逻辑到物理表中的物理地址位于所选块内,则存储器系统控制器515可以确定数据有效,而如果物理地址位于所选块外,则确定数据无效。
在550,可以执行第一扫描。例如,存储器系统控制器515可以对存储器装置530的所选块执行第一扫描操作。如参考图3所描述,扫描操作可以确定存储在所选块中的数据的可靠性裕度。因此,存储器系统控制器515可向所选块施加多个电压以确定可靠性裕度。在第一扫描中,存储器系统控制器515可向所选块施加第一电压。另外,当存储器系统控制器515确定所选块的哪些区域包含无效数据时,存储器系统控制器515可以避免扫描无效数据。这可以减少执行扫描的持续时间。
在555,可以接收第一数据。例如,存储器系统控制器515可以在执行第一扫描操作之后从存储器装置530接收第一数据。存储器系统控制器515可以例如基于错误校正编码而利用第一数据返回来确定所存储的数据中是否存在任何错误。也就是说,存储器系统控制器515可以利用错误校正编码来确定所存储的数据中的错误数量。存储器系统控制器515还可以利用第一数据返回来确定存储在所选块中的数据的初始可靠性裕度。
在560,可以接收第一命令。例如,存储器系统控制器515可以从主机系统505接收第一命令。在一些实例中,第一命令可以是存取命令(例如,读取、写入或刷新命令)。在一些情况下,存储器系统控制器515可以执行扫描操作作为后台操作。也就是说,主机系统505可能不知道存储器系统控制器515正在执行扫描操作。因此,在一些情况下,主机系统505可以在存储器系统控制器515执行扫描操作时传输第一命令。这可能导致主机通信量与由本文描述的扫描操作生成的通信量竞争。通过减少执行扫描操作的持续时间(例如,通过避免扫描无效数据),可以提高系统的总体性能,并且可以减少来自扫描操作的通信量与主机通信量的竞争。
在565,可以生成第二命令。例如,存储器系统控制器515可以生成第二命令以传输到存储器装置530。在一些实例中,存储器系统控制器515可以对第一命令执行地址转换、数据缓冲和其它功能,以生成用于存储器装置530的第二命令。在一些情况下,存储器系统控制器515可以请求与命令相关的逻辑到物理表的一部分,从而增加整个系统的通信量和带宽。
在570,可以传输第二命令。例如,存储器系统控制器515可以将第二命令传输到存储器装置530。
在575,可以执行第二扫描。例如,存储器系统控制器515可以对存储器装置530的所选块执行第二扫描操作。在第二扫描中,存储器系统控制器515可以向所选块施加第二电压。另外,当存储器系统控制器515确定所选块的哪些区域包含无效数据时,存储器系统控制器515可以避免扫描无效数据。
在580,可以执行第二个命令。例如,存储器装置530可以执行第二命令。在一些实例中,第二命令可由本地控制器(例如,如参考图1描述的本地控制器135)执行。在一些情况下,存储器装置530可以向存储器装置中的多个块写入数据或从中读取数据。在一些实例中,存储器系统控制器515还可以同时执行第二扫描。因此,主机通信量可能与来自第二扫描的通信量竞争。通过减少执行第二扫描的持续时间(例如,避免扫描无效数据),可以减少扫描操作的通信量。也就是说,通过执行如本文描述的扫描操作,可以减轻或在某种程度上缓解主机通信量与扫描操作通信量的竞争。
在585,接收响应。例如,存储器系统控制器515可以从存储器装置530接收响应。存储器装置530可以基于在580执行第二命令来传输响应。例如,响应可以包含数据或数据存储在存储器装置530中的指示。
在590,可以接收第二数据。例如,存储器系统控制器515可以在执行第二扫描之后从存储器装置530接收第二数据。存储器系统控制器515可以例如基于错误校正编码而利用第二数据返回来确定所存储的数据中是否存在任何错误。存储器系统控制器515还可以利用第二数据返回来确定存储在所选块中的数据的额外可靠性裕度。也就是说,由于第二扫描利用了第二电压,因此存储器系统控制器515可以利用第二数据返回来确定关于可靠性裕度的额外信息。在一些实例中,在接收到第二数据之后,存储器系统控制器515可以执行额外扫描以确定更好的可靠性裕度。在其它实例中,在接收到第二数据之后,存储器系统控制器515可以校正检测到的错误,例如,存储器系统控制器515可以基于确定所选块中的错误,将所选块中存储的数据重写为新块。在一些实例中,可以同时执行步骤585和590。也就是说,存储器系统控制器可以同时接收来自第二扫描的第二数据和来自第二命令的响应。在此类实例中,主机系统505通信量和扫描通信量可以竞争。通过利用有效性信息,存储器系统控制器515可以更有效地执行扫描操作,并且减少带宽且减少与主机系统505竞争的扫描通信量的量。
图6示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的存储器系统控制器620的框图600。存储器系统控制器620可以是参考图1到5描述的存储器系统控制器的方面的实例。存储器系统控制器620或其各种组件可以是用于执行如本文描述的有效数据感知媒体可靠性扫描的各种方面的构件的实例。例如,存储器系统控制器620可以包含扫描操作组件630、有效性组件635、存储器组织组件640、存取组件645或其任何组合。这些组件中的每一者可直接或间接地(例如经由一或多个总线)彼此通信。
扫描操作组件630可配置为或以其它方式支持进行以下操作的构件:选择存储器阵列中的多个块中的一个块进行扫描操作,以确定存储在多个块中的块中的第一数据集的可靠性裕度。在一些实例中,扫描操作组件630可以至少部分地基于随机化技术选择多个块中的块。在一些情况下,扫描操作组件630可以至少部分地基于顺序次序选择多个块中的块。
在一些例子中,扫描操作组件630可配置为或以其它方式支持进行以下操作的构件:至少部分地基于确定多个块中的块中的子块的第一子集而对子块的第一子集而不是对子块的第二子集执行扫描操作。
有效性组件635可配置为或以其它方式支持进行以下操作的构件:至少部分地基于选择块而识别与块中的第一数据集的子块的有效性的状态相关联的信息。在一些实例中,有效性组件635可配置为或以其它方式支持进行以下操作的构件:至少部分地基于识别信息而确定存储第一数据集的有效数据的子块的第一子集和为无效的子块的第二子集。
在一些例子中,有效性组件635可配置为或以其它方式支持进行以下操作的构件:识别存储与子块的有效性的状态相关联的多个位的表。在一些情况下,有效性组件635可配置为或以其它方式支持进行以下操作的构件:至少部分地基于识别表而识别与子块的第一子集的第一子块相关联的多个位中的第一位。在一些例子中,有效性组件635可配置为或以其它方式支持进行以下操作的构件:至少部分地基于识别表而识别与子块的第二子集的第二子块相关联的多个位中的第二位。
在一些实例中,有效性组件635可配置为或以其它方式支持进行以下操作的构件:确定多个位中的第一位的第一值指示子块的第一子集存储有效数据,其中至少部分地基于确定第一位的第一值而确定存储有效数据的子块的第一子集。在一些例子中,有效性组件635可配置为或以其它方式支持进行以下操作的构件:确定多个位中的第二位的第二值指示子块的第二子集存储无效数据,其中至少部分地基于确定第二位的第二值而确定存储无效数据的子块的第二子集。
在一些情况下,有效性组件635可配置为或以其它方式支持进行以下操作的构件:识别第一表,所述第一表存储与和块的第一子块相关联的第一物理地址相关联的第一逻辑地址。在一些例子中,有效性组件635可配置为或以其它方式支持进行以下操作的构件:存取第二表,所述第二表存储与第一逻辑地址相关联的第二物理地址,所述第二物理地址对应于与第一逻辑地址相关联的数据的当前位置。
在一些情况下,有效性组件635可配置为或以其它方式支持进行以下操作的构件:至少部分地基于将第一物理地址与第二物理地址进行比较而确定第一物理地址在子块的第一子集内。
在一些实例中,存储器组织组件640可配置为或以其它方式支持进行以下操作的构件:执行存储器组织过程,其包含至少部分地基于第一块内的无效子块的数量将第一块内的有效数据子块移动到第二不同块,其中至少部分地基于执行存储器组织过程而识别与子块的有效性的状态相关联的信息。
在一些例子中,存取组件645可配置为或以其它方式支持进行以下操作的构件:存取与存储多个位的块相关联的第一表,多个位中的每个位指示第二表的多个区域中的一个区域是否包含块内的逻辑地址与物理地址之间的至少一个映射。在一些实例中,存取组件645可配置为或以其它方式支持进行以下操作的构件:至少部分地基于多个位中的第一位的值指示第二表的第一区域存储块内逻辑地址与对应物理地址之间的映射而存取第一区域。
在一些情况下,有效性组件635可配置为或以其它方式支持进行以下操作的构件:至少部分地基于存取第二表的第一区域而确定与对应物理地址相关联的子块处于子块的第一子集中。
图7示出根据本文公开的实例的支持有效数据感知媒体可靠性扫描的方法700的流程图。方法700的操作可由如本文描述的存储器系统控制器或其组件实施。例如,方法700的操作可由如参考图1到6描述的存储器系统控制器执行。在一些实例中,存储器系统控制器可以执行指令集来控制装置的功能元件以执行所描述的功能。另外或替代地,存储器系统控制器可使用专用硬件来执行下文描述的功能的方面。
在705,所述方法可以包含选择存储器阵列中的多个块中的一个块进行扫描操作,以确定存储在多个块中的块中的第一数据集的可靠性裕度。705的操作可以根据如本文公开的实例来执行。在一些实例中,705的操作的方面可以由如参考图6描述的扫描操作组件630来执行。
在710,所述方法可以包含至少部分地基于选择块而识别与块中的第一数据集的子块的有效性的状态相关联的信息。710的操作可以根据如本文公开的实例来执行。在一些实例中,710的操作的方面可以由如参考图6描述的有效性组件635来执行。
在715,所述方法可以包含至少部分地基于识别信息而确定存储第一数据集的有效数据的子块的第一子集和为无效的子块的第二子集。715的操作可以根据如本文公开的实例来执行。在一些实例中,715的操作的方面可以由如参考图6描述的有效性组件635来执行。
在720,所述方法可以包含至少部分地基于确定多个块中的块中的子块的第一子集而对子块的第一子集而不是对子块的第二子集执行扫描操作。720的操作可以根据如本文公开的实例来执行。在一些实例中,720的操作的方面可以由如参考图6描述的扫描操作组件630来执行。
在一些实例中,如本文描述的设备可以执行一或多个方法,例如方法700。所述设备可以包含用于以下项的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):选择存储器阵列中的多个块中的一个块进行扫描操作,以确定存储在多个块中的块中的第一数据集的可靠性裕度;至少部分地基于选择块而识别与块中的第一数据集的子块的有效性的状态相关联的信息;至少部分地基于识别信息而确定存储第一数据集的有效数据的子块的第一子集和为无效的子块的第二子集;以及至少部分地基于确定多个块中的块中的子块的第一子集而对子块的第一子集而不是对子块的第二子集执行扫描操作。
方法700和本文描述的设备的一些实例可进一步包含用于以下项的操作、特征、电路系统、逻辑、构件或指令:执行存储器组织过程,其包含至少部分地基于第一块内的无效子块的数量将第一块内的有效数据子块移动到第二不同块,其中可以至少部分地基于执行存储器组织过程而识别与子块的有效性的状态相关联的信息。
方法700和本文描述的设备的一些例子可进一步包含用于以下项的操作、特征、电路系统、逻辑、构件或指令:识别存储与子块的有效性的状态相关联的多个位的表;至少部分地基于识别表而识别与子块的第一子集的第一子块相关联的多个位中的第一位;以及至少部分地基于识别表而识别与子块的第二子集的第二子块相关联的多个位中的第二位。
方法700和本文描述的设备的一些情况可进一步包含用于以下项的操作、特征、电路系统、逻辑、构件或指令:确定多个位中的第一位的第一值指示子块的第一子集存储有效数据,其中可以至少部分地基于确定第一位的第一值而确定存储有效数据的子块的第一子集;以及确定多个位中的第二位的第二值指示子块的第二子集存储无效数据,其中可以至少部分地基于确定第二位的第二值而确定存储无效数据的子块的第二子集。
方法700和本文描述的设备的一些实例可进一步包含用于以下项的操作、特征、电路系统、逻辑、构件或指令:识别第一表,所述第一表存储与和块的第一子块相关联的第一物理地址相关联的第一逻辑地址;以及存取第二表,所述第二表存储与第一逻辑地址相关联的第二物理地址,所述第二物理地址对应于与第一逻辑地址相关联的数据的当前位置。
方法700和本文描述的设备的一些例子可进一步包含用于以下项的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于将第一物理地址与第二物理地址进行比较而确定第一物理地址可在子块的第一子集内。
方法700和本文描述的设备的一些情况可进一步包含用于以下项的操作、特征、电路系统、逻辑、构件或指令:存取与存储多个位的块相关联的第一表,多个位中的每个位指示第二表的多个区域中的一个区域是否包含块内的逻辑地址与物理地址之间的至少一个映射;以及至少部分地基于多个位中的第一位的值指示第二表的第一区域存储块内逻辑地址与对应物理地址之间的映射而存取第一区域。
方法700和本文描述的设备的一些实例可进一步包含用于以下项的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于存取第二表的第一区域而确定与对应物理地址相关联的子块可处于子块的第一子集中。
在方法700和本文描述的设备的一些例子中,可至少部分地基于随机化技术选择多个块中的块。
在方法700和本文描述的设备的一些实例中,可至少部分地基于顺序次序选择多个块中的块。
应注意,上文描述的方法描述了可能的实施方案,且操作和步骤可经重新布置或以其它方式修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
描述一种设备。所述设备可以包含:存储器阵列,其包含多个块;以及控制器,其与存储器阵列耦合且配置成:选择存储器阵列中的多个块中的一个块进行扫描操作,以确定存储在多个块中的块中的第一数据集的可靠性裕度;至少部分地基于选择块而识别与块中的第一数据集的子块的有效性的状态相关联的信息;至少部分地基于识别信息而确定存储第一数据集的有效数据的子块的第一子集和为无效的子块的第二子集;以及至少部分地基于确定多个块中的块中的子块的第一子集而对子块的第一子集而不是对子块的第二子集执行扫描操作。
在一些实例中,控制器可执行存储器组织过程,其包含至少部分地基于第一块内的无效子块的数量将所述第一块内的有效数据子块移动到第二不同块,其中所述控制器可配置成至少部分地基于执行所述存储器组织过程而识别与所述子块的所述有效性的所述状态相关联的所述信息。
在一些例子中,控制器可识别存储与子块的有效性的状态相关联的多个位的表;至少部分地基于识别表而识别与子块的第一子集的第一子块相关联的多个位中的第一位;以及至少部分地基于识别表而识别与子块的第二子集的第二子块相关联的多个位中的第二位。
在一些情况下,控制器可确定多个位中的第一位的第一值指示子块的第一子集存储有效数据,其中控制器可配置成至少部分地基于确定第一位的第一值而确定存储有效数据的子块的第一子集;以及确定多个位中的第二位的第二值指示子块的第二子集存储无效数据,其中控制器可配置成至少部分地基于确定第二位的第二值而确定存储无效数据的子块的第二子集。
在一些实例中,控制器可识别第一表,所述第一表存储与和块的第一子块相关联的第一物理地址相关联的第一逻辑地址;以及存取第二表,所述第二表存储与第一逻辑地址相关联的第二物理地址,所述第二物理地址对应于与第一逻辑地址相关联的数据的当前位置。
在一些情况下,控制器可至少部分地基于将第一物理地址与第二物理地址进行比较而确定第一物理地址可在子块的第一子集内。
在一些例子中,控制器可存取与存储多个位的块相关联的第一表,多个位中的每个位指示第二表的多个区域中的一个区域是否包含块内的逻辑地址与物理地址之间的至少一个映射;以及至少部分地基于多个位中的第一位的值指示第二表的第一区域存储块内逻辑地址与对应物理地址之间的映射而存取第一区域。
在一些实例中,控制器可至少部分地基于存取第二表的第一区域而确定与对应物理地址相关联的子块可处于子块的第一子集中。
在设备的一些实例中,控制器可配置成基于随机化技术选择多个块中的块。
在设备的一些实例中,控制器可配置成基于顺序次序选择多个块中的块。
可使用多种不同技术和技艺中的任一个来表示本文描述的信息和信号。例如,可以通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能引用的数据、指令、命令、信息、信号、位、符号和码片。一些图可将信令说明为单个信号;然而,信号可表示信号的总线,其中所述总线可具有多种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,则组件被视为彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可以包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传达,在闭路关系中,信号能够通过导电路径在组件之间传达。如果如控制器的组件将其它组件耦合在一起,则组件发起允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。例如,由定位在两个组件之间的开关间隔开的所述组件在开关断开的情况下彼此隔离。如果控制器将两个组件隔离,则控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
术语“如果”、“当”、“基于”、“至少部分地基于”和“响应于”可互换使用。在一些实例中,如果术语“如果”、“当”、“基于”、“至少部分地基于”和“响应于”用于描述条件性动作或过程的部分之间的连接,则所述术语可互换。在一些实例中,如果用于描述条件性动作或过程,则术语“如果”、“当”、“基于”、“至少部分地基于”和“响应于”可互换。
本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可为导电的,且可以包括经重掺杂,例如简并,半导体区域。源极与漏极可通过经轻掺杂半导体区域或沟道分离。如果沟道是n型(即,多数载流子是电子),则FET可以被称为n型FET。如果沟道是p型(即,多数载流子是空穴),则FET可以被称为p型FET。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。例如,将正电压或负电压分别施加到n型FET或p型FET可导致沟道变得导电。如果大于或等于晶体管的阈值电压的电压施加到晶体管栅极,则晶体管可“接通”或“激活”。如果小于晶体管的阈值电压的电压施加到晶体管栅极,则晶体管可“断开”或“去激活”。
本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文使用的术语“示例性”意指“充当实例、例子或说明”,而不是“优选”或“优于其它实例”。详细描述包含具体细节,以提供对所描述技术的理解。然而,可以在没有这些具特定细节的情况下实践这些技术。在一些例子中,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
在附图中,类似组件或特征可以具有相同的参考标记。此外,可通过在参考标记之后跟着短横及在类似组件之间进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,则描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。
本文描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件实施,则可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体传输。其它实例和实施方案在本公开和所附权利要求书的范围内。例如,由于软件的性质,上文描述的功能可以使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一者的组合来实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。
例如,结合本文中的公开内容描述的各种说明性块和组件可使用通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或设计成执行本文描述的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何处理器、控制器、微控制器或状态机。处理器还可以实施为计算装置的组合(例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一或多个微处理器,或任何其它此类配置)。
如本文所使用,包含在权利要求书中,如在项列表(例如,后加例如“中的至少一个”或“中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。另外,如本文所使用,短语“基于”不应理解为提及封闭条件集。例如,在不脱离本公开的范围的情况下,描述为“基于条件A”的示例性步骤可基于条件A和条件B两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。
计算机可读媒体包含非暂时性计算机存储媒体以及包含促进将计算机程序从一处传递到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可以包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、压缩光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,则所述同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所使用,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘使用激光以光学方式复制数据。以上各者的组合也包含在计算机可读媒体的范围内。
提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
Claims (20)
1.一种设备,其包括:
存储器阵列,其包括多个块;以及
控制器,其与所述存储器阵列耦合且配置成:
选择所述多个块中的一个块进行扫描操作,以确定存储在所述多个块中的所述块中的第一数据集的可靠性裕度;
至少部分地基于选择所述块而识别与所述块中的所述第一数据集的子块的有效性的状态相关联的信息;
至少部分地基于识别所述信息而确定存储所述第一数据集的有效数据的所述子块的第一子集和为无效的所述子块的第二子集;以及
至少部分地基于确定所述多个块中的所述块中的所述子块的所述第一子集而对所述子块的所述第一子集而不是对所述子块的所述第二子集执行所述扫描操作。
2.根据权利要求1所述的设备,其中所述控制器进一步配置成:
执行存储器组织过程,其包括至少部分地基于第一块内的无效子块的数量将所述第一块内的有效数据子块移动到第二不同块,其中所述控制器配置成至少部分地基于执行所述存储器组织过程而识别与所述子块的所述有效性的所述状态相关联的所述信息。
3.根据权利要求1所述的设备,其中所述控制器进一步配置成:
识别存储与子块的所述有效性的所述状态相关联的多个位的表;
至少部分地基于识别所述表而识别与所述子块的所述第一子集的第一子块相关联的所述多个位中的第一位;以及
至少部分地基于识别所述表而识别与所述子块的所述第二子集的第二子块相关联的所述多个位中的第二位。
4.根据权利要求3所述的设备,其中所述控制器进一步配置成:
确定所述多个位中的所述第一位的第一值指示所述子块的所述第一子集存储有效数据,其中所述控制器配置成至少部分地基于确定所述第一位的所述第一值而确定存储有效数据的所述子块的所述第一子集;以及
确定所述多个位中的所述第二位的第二值指示所述子块的所述第二子集存储无效数据,其中所述控制器配置成至少部分地基于确定所述第二位的所述第二值而确定存储无效数据的所述子块的所述第二子集。
5.根据权利要求1所述的设备,其中所述控制器进一步配置成:
识别第一表,所述第一表存储与和所述块的第一子块相关联的第一物理地址相关联的第一逻辑地址;以及
存取第二表,所述第二表存储与所述第一逻辑地址相关联的第二物理地址,所述第二物理地址对应于与所述第一逻辑地址相关联的数据的当前位置。
6.根据权利要求5所述的设备,其中所述控制器进一步配置成:
至少部分地基于将所述第一物理地址与所述第二物理地址进行比较而确定所述第一物理地址在所述子块的所述第一子集内。
7.根据权利要求1所述的设备,其中所述控制器进一步配置成:
存取与存储多个位的所述块相关联的第一表,所述多个位中的每个位指示第二表的多个区域中的一个区域是否包括所述块内的逻辑地址与物理地址之间的至少一个映射;以及
至少部分地基于所述多个位中的第一位的值指示第二表的第一区域存储所述块内所述逻辑地址与对应物理地址之间的映射而存取所述第一区域。
8.根据权利要求7所述的设备,其中所述控制器进一步配置成:
至少部分地基于存取所述第二表的所述第一区域而确定与所述对应物理地址相关联的子块处于所述子块的所述第一子集中。
9.根据权利要求1所述的设备,其中所述控制器配置成基于随机化技术选择所述多个块中的所述块。
10.根据权利要求1所述的设备,其中所述控制器配置成基于顺序次序选择所述多个块中的所述块。
11.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使得所述电子装置:
选择存储器阵列中的多个块中的一个块进行扫描操作,以确定存储在所述多个块中的所述块中的第一数据集的可靠性裕度;
至少部分地基于选择所述块而识别与所述块中的所述第一数据集的子块的有效性的状态相关联的信息;
至少部分地基于识别所述信息而确定存储所述第一数据集的有效数据的所述子块的第一子集和为无效的所述子块的第二子集;以及
至少部分地基于确定所述多个块中的所述块中的所述子块的所述第一子集而对所述子块的所述第一子集而不是对所述子块的所述第二子集执行所述扫描操作。
12.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置执行存储器组织过程,所述存储器组织过程包括至少部分地基于第一块内的无效子块的数量将所述第一块内的有效数据子块移动到第二不同块,其中所述电子装置配置成至少部分地基于执行所述存储器组织过程而识别与所述子块的所述有效性的所述状态相关联的所述信息。
13.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
识别存储与子块的所述有效性的所述状态相关联的多个位的表;
至少部分地基于识别所述表而识别与所述子块的所述第一子集的第一子块相关联的所述多个位中的第一位;以及
确定所述多个位中的所述第一位的第一值指示所述子块的所述第一子集存储有效数据,其中所述电子装置配置成至少部分地基于确定所述第一位的所述第一值而确定存储有效数据的所述子块的所述第一子集。
14.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
识别第一表,所述第一表存储与和所述块的第一子块相关联的第一物理地址相关联的第一逻辑地址;
存取第二表,所述第二表存储与所述第一逻辑地址相关联的第二物理地址,所述第二物理地址对应于与所述第一逻辑地址相关联的数据的当前位置;以及
至少部分地基于将所述第一物理地址与所述第二物理地址进行比较而确定所述第一物理地址在所述子块的所述第一子集内。
15.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
存取与存储多个位的所述块相关联的第一表,所述多个位中的每个位指示第二表的多个区域中的一个区域是否包括所述块内的逻辑地址与物理地址之间的至少一个映射;
至少部分地基于所述多个位中的第一位的值指示第二表的第一区域存储所述块内所述逻辑地址与对应物理地址之间的映射而存取所述第一区域;以及
至少部分地基于存取所述第二表的所述第一区域而确定与所述对应物理地址相关联的子块处于所述子块的所述第一子集中。
16.一种方法,其包括:
选择存储器阵列中的多个块中的一个块进行扫描操作,以确定存储在所述多个块中的所述块中的第一数据集的可靠性裕度;
至少部分地基于选择所述块而识别与所述块中的所述第一数据集的子块的有效性的状态相关联的信息;
至少部分地基于识别所述信息而确定存储所述第一数据集的有效数据的所述子块的第一子集和为无效的所述子块的第二子集;以及
至少部分地基于确定所述多个块中的所述块中的所述子块的所述第一子集而对所述子块的所述第一子集而不是对所述子块的所述第二子集执行所述扫描操作。
17.根据权利要求16所述的方法,其进一步包括:
执行存储器组织过程,其包括至少部分地基于第一块内的无效子块的数量将所述第一块内的有效数据子块移动到第二不同块,其中至少部分地基于执行所述存储器组织过程而识别与所述子块的所述有效性的所述状态相关联的所述信息。
18.根据权利要求16所述的方法,其进一步包括:
识别存储与子块的所述有效性的所述状态相关联的多个位的表;
至少部分地基于识别所述表而识别与所述子块的所述第一子集的第一子块相关联的所述多个位中的第一位;以及
确定所述多个位中的所述第一位的第一值指示所述子块的所述第一子集存储有效数据,其中至少部分地基于确定所述第一位的所述第一值而确定存储有效数据的所述子块的所述第一子集。
19.根据权利要求16所述的方法,其进一步包括:
识别第一表,所述第一表存储与和所述块的第一子块相关联的第一物理地址相关联的第一逻辑地址;
存取第二表,所述第二表存储与所述第一逻辑地址相关联的第二物理地址,所述第二物理地址对应于与所述第一逻辑地址相关联的数据的当前位置;以及
至少部分地基于将所述第一物理地址与所述第二物理地址进行比较而确定所述第一物理地址在所述子块的所述第一子集内。
20.根据权利要求16所述的方法,其进一步包括:
存取与存储多个位的所述块相关联的第一表,所述多个位中的每个位指示第二表的多个区域中的一个区域是否包括所述块内的逻辑地址与物理地址之间的至少一个映射;
至少部分地基于所述多个位中的第一位的值指示第二表的第一区域存储所述块内所述逻辑地址与对应物理地址之间的映射而存取所述第一区域;以及
至少部分地基于存取所述第二表的所述第一区域而确定与所述对应物理地址相关联的子块处于所述子块的所述第一子集中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/153,068 US11467763B2 (en) | 2021-01-20 | 2021-01-20 | Valid data aware media reliability scanning for memory sub-blocks |
US17/153,068 | 2021-01-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114822670A true CN114822670A (zh) | 2022-07-29 |
Family
ID=82406385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210053408.XA Withdrawn CN114822670A (zh) | 2021-01-20 | 2022-01-18 | 有效数据感知媒体可靠性扫描 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11467763B2 (zh) |
CN (1) | CN114822670A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11475969B2 (en) * | 2020-12-18 | 2022-10-18 | Micron Technology, Inc. | Scan optimization using data selection across wordline of a memory array |
KR20230018873A (ko) * | 2021-07-30 | 2023-02-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7038932B1 (en) * | 2004-11-10 | 2006-05-02 | Texas Instruments Incorporated | High reliability area efficient non-volatile configuration data storage for ferroelectric memories |
CN103635968A (zh) * | 2011-05-31 | 2014-03-12 | 美光科技公司 | 包含存储器系统控制器的设备和相关方法 |
CN107301016A (zh) * | 2016-04-15 | 2017-10-27 | 西部数据科技股份有限公司 | 用于垃圾收集的有效性跟踪 |
CN111902806A (zh) * | 2017-12-11 | 2020-11-06 | 美光科技公司 | 改进高速缓存的快闪转换层中的垃圾收集效率的方案 |
US20200387324A1 (en) * | 2019-06-05 | 2020-12-10 | Micron Technology, Inc. | Selective accelerated sampling of failure-sensitive memory pages |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9245653B2 (en) * | 2010-03-15 | 2016-01-26 | Intelligent Intellectual Property Holdings 2 Llc | Reduced level cell mode for non-volatile memory |
US9036417B2 (en) * | 2012-09-06 | 2015-05-19 | Sandisk Technologies Inc. | On chip dynamic read level scan and error detection for nonvolatile storage |
JP6584823B2 (ja) * | 2014-06-20 | 2019-10-02 | 株式会社東芝 | メモリ管理装置、プログラム、及び方法 |
US9880760B2 (en) * | 2014-10-30 | 2018-01-30 | Sandisk Technologies Llc | Managing data stored in a nonvolatile storage device |
US9858002B1 (en) * | 2016-05-13 | 2018-01-02 | Seagate Technology Llc | Open block stability scanning |
US10380018B2 (en) * | 2017-04-04 | 2019-08-13 | Micron Technology, Inc. | Garbage collection |
TWI653538B (zh) * | 2017-11-13 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
US10553290B1 (en) * | 2018-10-30 | 2020-02-04 | Micron Technology, Inc. | Read disturb scan consolidation |
US10956053B2 (en) * | 2018-12-04 | 2021-03-23 | Micron Technology, Inc. | Selective relocation of data of a subset of a data block based on distribution of reliability statistics |
US10892024B2 (en) * | 2018-12-26 | 2021-01-12 | Micron Technology, Inc. | Scan optimization from stacking multiple reliability specifications |
-
2021
- 2021-01-20 US US17/153,068 patent/US11467763B2/en active Active
-
2022
- 2022-01-18 CN CN202210053408.XA patent/CN114822670A/zh not_active Withdrawn
- 2022-09-12 US US17/942,821 patent/US12050804B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7038932B1 (en) * | 2004-11-10 | 2006-05-02 | Texas Instruments Incorporated | High reliability area efficient non-volatile configuration data storage for ferroelectric memories |
CN103635968A (zh) * | 2011-05-31 | 2014-03-12 | 美光科技公司 | 包含存储器系统控制器的设备和相关方法 |
CN107301016A (zh) * | 2016-04-15 | 2017-10-27 | 西部数据科技股份有限公司 | 用于垃圾收集的有效性跟踪 |
CN111902806A (zh) * | 2017-12-11 | 2020-11-06 | 美光科技公司 | 改进高速缓存的快闪转换层中的垃圾收集效率的方案 |
US20200387324A1 (en) * | 2019-06-05 | 2020-12-10 | Micron Technology, Inc. | Selective accelerated sampling of failure-sensitive memory pages |
Also Published As
Publication number | Publication date |
---|---|
US20220229578A1 (en) | 2022-07-21 |
US11467763B2 (en) | 2022-10-11 |
US12050804B2 (en) | 2024-07-30 |
US20230070538A1 (en) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12050804B2 (en) | Valid data aware media reliability scanning | |
US20240272820A1 (en) | Data relocation operation techniques | |
US12007889B2 (en) | Valid data identification for garbage collection | |
CN115373592B (zh) | 用于页线填充数据的设备、非暂时性计算机可读介质及方法 | |
CN115904221A (zh) | 高速缓存块预算技术 | |
CN114639418A (zh) | 取消映射操作技术 | |
CN117667760A (zh) | 存储器系统逻辑单元号程序 | |
US12019877B2 (en) | Metadata allocation in memory systems | |
US20230205425A1 (en) | Sacrificial block pool | |
CN115966242A (zh) | 用于存储器系统的参数表保护 | |
CN115705163A (zh) | 逻辑重映射技术 | |
CN114691031A (zh) | 基于分片操作的存储器系统的存取 | |
CN115605850A (zh) | 用于逻辑到物理表压缩的数据组织 | |
US11977758B2 (en) | Assigning blocks of memory systems | |
US12124367B2 (en) | Techniques for accessing managed NAND | |
US20240078031A1 (en) | Dividing blocks for special functions | |
CN114546895B (zh) | 主机侧存储器地址管理 | |
US12112066B2 (en) | Techniques for firmware enhancement in memory devices | |
US20240086070A1 (en) | Read disturb management for memory | |
US20240176550A1 (en) | Transferring valid data using a system latch | |
US20230297501A1 (en) | Techniques for accessing managed nand | |
US20240274215A1 (en) | Multi-level cell maintenance operations | |
US20240289042A1 (en) | Block replacement using combined blocks | |
US20240061605A1 (en) | Techniques for priority information | |
US20240281169A1 (en) | Reliable and efficient boot logical unit access |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220729 |
|
WW01 | Invention patent application withdrawn after publication |