CN112905382A - 数据单元的基于回归的校准及扫描 - Google Patents

数据单元的基于回归的校准及扫描 Download PDF

Info

Publication number
CN112905382A
CN112905382A CN202011402501.4A CN202011402501A CN112905382A CN 112905382 A CN112905382 A CN 112905382A CN 202011402501 A CN202011402501 A CN 202011402501A CN 112905382 A CN112905382 A CN 112905382A
Authority
CN
China
Prior art keywords
read
data
parameters
interval
data 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
CN202011402501.4A
Other languages
English (en)
Inventor
V·P·拉亚普鲁
H·R·辛吉迪
A·马尔谢
S·K·瑞特南
林其松
K·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 CN112905382A publication Critical patent/CN112905382A/zh
Pending legal-status Critical Current

Links

Images

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • 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/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请涉及数据单元的基于回归的校准及扫描。可执行读取操作以读取存储在数据块处的数据。可基于所述多个读取操作确定在与所述数据块相关联的一对编程分布之间的间隔的参数。可接收读取存储在所述数据块处的所述数据的读取请求。响应于接收到所述读取请求,可基于反映在与所述数据块相关联的所述一对编程分布之间的分离的参数执行读取操作,以读取存储在所述数据块处的所述数据。

Description

数据单元的基于回归的校准及扫描
技术领域
本公开的实施例大体上涉及存储器子系统,且更确切地说,涉及数据单元的基于回归的校准及扫描。
背景技术
存储器子系统可包含存储数据的一或多个存储器组件。存储器组件可为例如非易失性存储器组件及易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。
发明内容
在一个方面中,本公开涉及一种方法,其包括:执行多个读取操作以读取存储在数据块处的数据;由处理装置基于所述多个读取操作确定反映在与所述数据块相关联的一对编程分布之间的间隔的多个参数;接收读取存储在所述数据块处的所述数据的读取请求;及响应于接收到所述读取请求,基于反映在与所述数据块相关联的所述一对编程分布之间的所述间隔的所述多个参数,执行读取操作以读取存储在所述数据块处的所述数据。
在另一方面中,本公开涉及一种系统,其包括:存储器装置;及处理装置,其与所述存储器装置可操作地耦合以:接收读取存储在数据块处的数据的读取请求;接收反映在与所述数据块相关联的一对编程分布之间的第一间隔的第一组参数;基于反映在所述一对编程分布之间的所述第一间隔的所述第一组参数,执行多个读取操作以读取存储在所述数据块处的所述数据;基于所述多个读取操作确定反映在与存储器单元相关联的所述一对编程分布之间的第二间隔的第二组参数;确定所述第一组参数是否在与所述第二组参数的期望方差之外;及响应于确定所述第一组参数在与所述第二组参数的所述期望方差之外,将存储于所述数据块中的所述数据复制到第二数据块。
在另一方面中,本公开涉及一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时使所述处理装置:执行多个读取操作以读取存储在数据单元处的数据;基于所述多个读取操作确定反映在与所述数据单元相关联的一对编程分布之间的间隔的多个参数;接收读取存储在所述数据单元处的所述数据的读取请求;及响应于接收到所述读取请求,基于反映在与所述数据单元相关联的所述一对编程分布之间的所述间隔的所述多个参数,执行读取操作以读取存储在所述数据单元处的所述数据。
附图说明
根据下文给出的详细描述及本公开的各种实施例的附图,将更充分地理解本公开。然而,附图不应被视为将本公开限制于具体实施例,而是仅用于解释及理解。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2说明根据本公开的一些实施例的相邻编程分布及其间的间隔的实例。
图3说明根据本公开的一些实施例的反映谷曲线的校准参数的实例。
图4是根据本公开的一些实施例的用于执行数据块的基于回归的校准的实例方法的流程图。
图5是根据本公开的一些实施例的用于执行数据块的基于回归的扫描的实例方法的流程图。
图6是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的方面涉及数据单元的基于回归的校准及扫描。存储器子系统可为存储装置、存储器模块,或存储装置及存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含存储数据的一或多个存储器装置的存储器子系统。主机系统可提供将存储在存储器子系统处的数据并且可请求从存储器子系统检索的数据。
存储器装置可为非易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。每个裸片可由一或多个平面组成。平面可分组成逻辑单元(LUN)。对于一些类型的非易失性存储器装置(例如,NAND装置),每个平面由物理块集合组成。每一块由页集合组成。每一页由存储数据位的存储器单元集合组成。数据单元可指存储在存储器装置(例如,一或多个存储器页、一或多个存储器块等)处的数据块。类似地,下文中的数据块可指用于存储数据的存储器装置的单元,及可包含存储器单元组、字线组、字线,或个别存储器单元。
当将数据写入到存储器装置的存储器单元进行存储时,存储器单元可随时间降级。随着存储器单元降级,可能会不利地影响存储器装置的整体健康状况,从而导致存储在存储器装置中的数据的错误率更高。因此,为了监视及解决存储器单元中的错误率,存储器子系统执行数据完整性检查(在本文中也被称为“扫描”)以验证存储在每个存储器单元处的数据不包含错误。在数据完整性检查期间,针对存储在存储器处的数据确定一或多个可靠性统计数据。常规扫描机制中一种常见的可靠性统计数据是原始误码率(RBER)。RBER对应于存储在数据块处的数据遇到的每码字的误码数目。码字可指允许的最小读取单位。RBER降级的速率可从存储器装置中的一个字线到另一字线变化,并且还可基于可读取存储器单元的读取电平电压而变化。因此,优选一种扫描机制,所述扫描机制除了使用RBER速率外还利用多种因素来确定数据块的健康状况。
常规上,常见扫描实践仅依靠参考读取电压下的RBER速率来决定是否刷新数据块。刷新数据块可指将数据从正在刷新的数据块复制到新数据块中的过程,从而可对新数据块执行存取数据的未来操作。例如,如果以预定读取电压电平确定的数据块的RBER速率满足预定阈值,则可刷新数据块。尽管此扫描实践可提高数据完整性,但是仅基于数据块的RBER速率决定刷新数据块可能会导致不必要的数据块刷新。例如,如在下文中更详细地解释,如果确定RBER速率的读取电压电平改变,则RBER速率可提高。
另一常规方法已经使用静态编程分布来基于静态编程分布(例如,谷线)之间的间隔及基于从存储器单元中的数据的读取操作收集的数据点来确定存储器单元的RBER。因为静态谷线不能反映描述存储器单元状态的当前参数,所以随着存储器单元特性改变,基于静态谷曲线确定存储器单元的健康状况可能会随着时间而变得不准确。因此,可以优选使用不同的扫描技术来基于可动态调整的多个参数来准确地检测错误,从而避免对存储器块进行不必要的校正措施。
本公开的各方面通过实施数据单元的基于回归的校准及扫描来解决上述及其它缺陷。在一个实施方案中,基于回归的校准方法可用于执行数据块的多个随机读取操作,以收集表示与数据块相关联的一对编程分布(在本文中还称为数据块的谷线)之间的电压差的某些参数。编程分布可指数据块内的经编程存储器单元的阈值电压的范围(例如,阈值电压的正态分布)。然后,存储器子系统可将这些参数用作指数方程的输入,以基于方程的结果确定数据块的理想读取电平。理想读取电平可指在读取数据块的数据时施加的读取电压,其导致数据块的错误率处于最小值。基于方程的结果,可更新数据块的读取电压电平,从而获得准确的数据读取及最小的错误率。在一个实施方案中,收集的参数可包含谷线的宽度、理想的读取位置及在理想的读取位置处的RBER下限。
在某些实施方案中,当主机存取数据块时,可在后台连续执行校准方法。在这种情况下,校准所需的数据收集可在主机系统存取数据时进行。或者,出于运行回归测试的目的,可由存储器子系统发起数据收集。在实施方案中,可响应于事件的发生(例如,响应于高于预定值的错误率)来执行校准方法。数据块可能随时间开始降级,并且可将最初收集的校准参数调整为达到数据块的新理想读取位置。在这种情况下,校准方法可确定可更新表示数据块的谷线的参数(例如,通过确定原始读取位置处的数据块的错误率高于阈值)。然后,校准方法可执行一组新的读取操作,以确定表示谷线的新参数并且可相应地更新原始参数。
在实施方案中,基于回归的扫描方法可用于确保存储在数据块处的数据的数据完整性。扫描方法可利用在数据块的校准过程中确定的校准参数作为基准。然后,所述扫描方法可基于在校准过程中收集的原始谷线参数而以可配置速率对存储在数据块处的数据执行许多读取操作。基于来自读取操作的数据,存储器子系统可确定表示数据块的当前谷线的第二组参数。如果原始参数在与第二组参数的预期方差之外(例如,谷线形状的变化超出可接受的方差),则存储器子系统可确定可刷新数据块,因为它可能不处于可校正状态。然后,存储器子系统可将存储在数据块中的数据复制到另一数据块。
对数据块执行基于回归的校准及扫描可引起更准确地确定数据块的健康状态。由于基于回归的校准提供用于调整多个参数的反馈环路以便随时间确定错误率,因此可降低刷新数据块的速度,因为可通过调整读取位置来继续使用更多数据块来进行这些数据块的读取操作。因此,可提高存储器子系统的性能,因为可执行更多读取操作或写入操作来代替附加的刷新操作。由于在存储器子系统的活动操作期间可执行较少的错误处理操作,因此还可改进系统的时延。另外,由于数据块随时间降级,因此即使当数据块的电压分布随重复存取、数据块的老化等而改变时,也可动态地调整校准参数,以使数据块以最佳读取电平执行。因此,可降低存储器子系统的错误率。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130),或其组合。
存储器子系统110可为存储装置、存储器模块,或存储装置及存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储装置(UFS)驱动器及硬盘驱动器(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)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM快速(NVMe)接口来存取存储器组件(例如,存储器装置130)。物理主机接口可提供接口以用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号。
存储器装置可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为(但不限于)随机存取存储器(RAM),例如动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包含“与非”(NAND)型快闪存储器及就地写入存储器,例如三维交叉点(“3D交叉点”)存储器。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。
存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如多层单元(MLC)、三层单元(TLC)及四层单元(QLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,及MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可分组为页,页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。
虽然描述了例如3D交叉点类型存储器的非易失性存储器组件,但存储器装置130可以基于任何其它类型的非易失性存储器,例如“与非”(NAND)、只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(FeRAM)、磁性随机存取存储器(MRAM)、“或非”(NOR)快闪存储器,以及电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(或简称为控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据,及其它这类操作。存储器子系统控制器115可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文中所描述的操作。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适的处理器。
存储器子系统控制器115可包含处理器(处理装置)117,其经配置以执行存储在本地存储器119中的指令。在所示的实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,其经配置以存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流及例程的指令,包含处理存储器子系统110与主机系统120之间的通信。
在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然在图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110可不包含存储器子系统控制器115,且可替代地依靠外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令来实现对存储器装置130的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作,及与存储器装置130相关联的逻辑地址(如,逻辑块地址(LBA)、名称空间)与物理地址(例如,物理块地址)之间的地址转换。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,DRAM)及地址电路系统(例如,行解码器及列解码器),所述地址电路系统可从存储器子系统控制器115接收地址并解码所述地址以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其与存储器子系统控制器115结合操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其为与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器子系统110包含基于回归的校准及扫描组件113,其可基于表示与数据块相关联的一对编程分布(本文中也称为数据块的谷线)之间的电压差的多个参数来对数据块中的数据执行校准及扫描。编程分布可指数据块内的经编程存储器单元的阈值电压的范围(例如,阈值电压的正态分布)。表示谷线的参数可包含谷线的宽度(W)、在谷线中心处的读取电平阈值电压(C),及在谷线中心处的RBER下限(F)。在一些实施例中,存储器子系统控制器115包含基于回归的校准及扫描组件113的至少一部分。举例来说,存储器子系统控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中以用于执行本文中所描述的操作的指令。在一些实施例中,基于回归的校准及扫描组件113是主机系统110、应用程序或操作系统的一部分。
基于回归的校准及扫描组件113可将校准参数W、C及F用作指数方程的输入,以基于方程的结果确定数据块的理想读取电平。理想读取电平可为在读取数据块的数据时施加的读取电压,使得数据块的错误率处于最小值或较小值。基于方程的结果,可调整数据块的读取电压电平,从而改进结果并最小化错误率。可存储与数据块相关联的W、C及F参数的值,使得其可用于存储在数据块处的数据的后续读取或扫描操作中,以提高数据读取操作的准确性。
在某些实施方案中,当存储器子系统110接收读取存储在数据块处的数据的读取请求时,存储器子系统110可基于与数据块相关联的校准参数W、C及F对存储在数据块处的数据执行读取操作。举例来说,存储器子系统110可基于校准参数确定读取电压电平,及可使用读取电压电平执行读取操作。此外,如果满足特定条件,则存储器子系统110可更新数据块的校准参数。在一个实例中,存储器子系统可确定在以当前W、C及F值读取时数据块的错误率高于预定阈值。存储器子系统随后可对存储在数据块处的数据执行新的一组读取操作(例如,通过对数据块中的数据进行随机化采样),及可确定数据块的W、C及F校准参数的新的值。存储器子系统随后可通过新的一组W、C及F值更新数据块的所存储校准参数。
在实施方案中,存储器子系统110可对存储在数据块处的数据执行扫描以确保数据的数据完整性。扫描操作可利用在数据块的校准过程期间确定的校准参数W、C及F作为基准。扫描操作随后可基于校准参数W、C及F对存储在数据块处的数据执行多个读取操作。可基于数据块的健康状况配置存储在数据块处的数据的扫描速率,使得当数据块的RBER低于特定阈值时使用的样本数目小于当数据块的RBER高于阈值时使用的样本数目,因此将数据块视为健康时最小化扫描过程的开销。基于读取操作,存储器子系统110可确定参数W、C及F的第二组值,其表示在扫描时的数据块的谷线。如果W、C及F参数的原始值在与参数的第二组值的期望方差之外(例如,谷线形状的变化超过可接受的方差),则存储器子系统110可确定可刷新数据块,因为数据块可能不处于可校正状态。然后,存储器子系统110可将存储在数据块中的数据复制到另一数据块。下文描述关于校准及扫描组件113的操作的其它细节。
图2说明根据本公开的一些实施例的相邻编程分布及其间的间隔的实例。具有多层存储器单元(例如,TLC)的数据块使用每单元多个数据位存储TLC信息。为简单起见,图2展示用于存储器单元的两个相邻的编程分布,即表示逻辑值000的编程分布201A,及表示逻辑值001的编程分布201B。如图2中所说明,在两个编程分布201A-B之间是表示两个分布的间隔的谷线202。在一些实施例中,谷线202表示基于读取电压在X轴上的布置在数据块中观察到的RBER。编程分布201A可表示存储电压的存储器单元的数目,所述电压表示逻辑值000及编程分布201A的存储器单元的相应错误率。此外,编程分布201B可表示存储电压的存储器单元的数目,所述电压将表示逻辑值001及编程分布201B的存储器单元的相应错误率。如本文所描述,基于回归的校准及扫描组件113可确定谷线202随时间的宽度,及可确定存储器单元的健康状况。举例来说,如果谷线的宽度变得窄于阈值,则校准及扫描组件113可确定可刷新存储器单元。另一方面,如果校准及扫描组件113确定谷线的宽度至少等于阈值,则校准及扫描组件113可调整存储器单元的校准参数以改进错误率,而不会过早地刷新存储器单元。此外,如本文更详细地解释,校准及扫描组件113可使用指数方程及作为指数方程的输入的反映谷线的校准参数来动态地生成谷线202。在图3中更详细地说明反映谷线的校准参数。
图3说明根据本公开的一些实施例的反映谷曲线的校准参数的实例。在一个实施方案中,谷线或数据块可由可用于确定谷线的形状的多个参数表示。在一个实例中,参数可为表示谷线的宽度的W 320、作为谷线中心处的读取电平阈值电压的C 340,及作为谷线中心处的RBER下限的F 330。W 320可指示谷线宽度的电压范围及可例如由谷线的平均斜率表示。
为了确定数据块的W、C及F参数,校准及扫描组件113可在数据块的谷线内的随机电压电平下执行多个读取操作。校准及扫描组件113随后可使用数据点来确定数据块的编程分布,及因此确定两个相邻的编程分布之间的谷线。基于由数据点从随机读取操作确定的谷线,校准及扫描组件113可将谷线的中心确定为C 340,将谷线宽度的表示(例如,从谷线的斜率驱动的值)确定为W 320,及将中心处的谷线的RBER下限确定为F 330。校准及扫描组件113可存储反映谷线的W、C及F,使得其可用于存储于数据块中的数据的后续读取操作(例如,以调整用于读取数据块的数据的读取电平阈值)。
在一个实施方案中,表示谷线310的指数方程可为表示谷线的对称曲线的多项式方程。举例来说,以下方程可用于生成谷线310:
Y=W*(X-C)^2+F
其中Y是在X处的RBER,W是从谷线的宽度导出的值(W 320),C是在谷线的中心处的读取电平阈值电压(C 340),及F是在谷线的中心处的RBER下限(F 330)。在实施方案中,当校准及扫描组件113接收读取存储在数据块处的数据的读取请求时,校准及扫描组件113可利用以上指数方程来确定产生最小RBER的读取电平阈值。校准及扫描组件113可使用所述读取电平阈值来读取所请求数据。
在某些实施方案中,如果F 330的值满足阈值(例如,所述值等于或高于阈值),则校准及扫描组件113可确定可刷新数据块,因为最小错误率无法实现数据可靠性。类似地,如果W 320的值满足阈值(例如,W的值小于阈值宽度),则校准及扫描组件113可确定可刷新数据块,因为数据块的谷线欲度不处于健康状态下。另一方面,如果F 330及W 320的值在可接受范围内,但是由读取操作确定的RBER高于阈值,则校准及扫描组件113可确定数据块健康及可继续由主机使用,但是可转变读取电平。校准及扫描组件113随后可根据谷线的指数方程更新读取电平阈值,以在读取存储在数据块处的数据时实现改进的RBER。
图4是根据本公开的一些实施例的用于执行数据块的基于回归的校准的实例方法的流程图。方法400可通过处理逻辑来执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400由图1的校准及扫描组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述处理的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。
在操作410处,处理装置执行读取操作以读取存储在数据块处的数据。处理装置可响应于接收到与数据块相关联的条件的指示而执行读取操作。在某些实施方案中,条件可对应于经过的时间段或满足阈值的错误率。举例来说,数据块的重复校准可基于特定时间表(例如,每隔1分钟)周期性地触发读取操作。另一方面,当检测到满足阈值的RBER时,数据块的事件触发的校准可触发读取操作。举例来说,当RBER等于或超过阈值RBER值时,RBER可被视为满足阈值。响应于确定已满足与数据块相关联的条件,处理装置执行读取操作。
在操作420处,处理装置基于读取操作确定反映与数据块相关联的一对编程分布(在本文中也称为数据块的谷线)之间的间隔的参数。编程分布可指数据块内的经编程存储器单元的阈值电压的范围(例如,阈值电压的正态分布)。在一个实施方案中,反映谷线的参数可包含谷线的宽度、在谷线中心处的读取位置,及在中心读取位置处的RBER下限。处理装置可使用来自读取操作的数据点来确定数据块的编程分布,及因此确定两个相邻的编程分布之间的谷线。基于由来自读取操作的数据确定的谷线,处理逻辑可确定谷线的中心、谷线宽度的表示(例如,从谷线的斜率驱动的值),及在中心处的谷线的RBER下限。
在操作430处,处理装置接收读取存储在数据块处的数据的读取请求。在实施方案中,读取请求可由与存储器子系统相关联的主机系统在存取数据块时发起。或者,出于回归测试的目的,可由存储器子系统发起读取请求。响应于接收到读取请求,在操作440处,处理装置基于反映与数据块相关联的谷线的参数而执行读取操作以读取存储在数据块处的数据。举例来说,如果处理逻辑确定谷线的下限及谷线的宽度在可接受范围的范围内,但是由读取操作确定的RBER高于阈值,则处理逻辑可确定数据块健康及可继续由主机系统使用,但是可转变读取电平。处理逻辑随后可根据谷线的指数方程更新读取电平阈值,以在读取存储在数据块处的数据时实现改进的RBER。举例来说,可将用于读取操作的读取电平阈值的电压改变成与如由谷线的指数方程表示的最小RBER相关联的电压。
图5是根据本公开的一些实施例的用于执行数据块的基于回归的扫描的实例方法的流程图。可通过处理逻辑来执行方法500,所述处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法500由图1的校准及扫描组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述处理的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。
在操作510处,处理装置接收读取存储在数据块处的数据的读取请求。在操作520处,处理装置接收反映与数据块相关联的一对编程分布(例如,谷线)之间的第一间隔的第一组参数。在一个实例中,反映谷线的第一组参数可在较早校准过程期间确定,及可在扫描过程期间从存储装置检索。在一个实施方案中,反映谷线的第一组参数可包含谷线的宽度(W)、在谷线中心(C)处的读取位置,及在中心读取位置处的谷线(F)的RBER下限。
在操作530处,通过执行读取操作以基于反映所述一对编程分布之间的第一间隔的第一组参数来读取存储在数据块处的数据,处理装置执行扫描过程。在实施方案中,数据块数据的扫描速率可基于数据块的健康状况配置。扫描速率可指由在扫描过程期间执行的读取操作的数目表示的样本数目。可配置扫描速率,使得在数据块的RBER低于特定阈值时利用的样本数目小于在数据块的RBER高于所述阈值时利用的样本数目,因此在数据块视为健康时最小化扫描的开销。
在操作540处,处理装置基于读取操作确定反映与数据块相关联的第二谷线的第二组参数。在实施方案中,处理装置可确定参数W、C及F的第二组值,其表示在扫描时数据块的谷线。可基于读取操作确定W、C及F的第二组值,使得来自读取操作的数据点可用于确定数据块的编程分布,及因此确定两个相邻的编程分布之间的谷线。基于由来自读取操作的数据确定的谷线,处理逻辑可确定谷线的中心(C)、谷线宽度的表示(例如,从谷线的斜率驱动的值)(W),及在中心处的谷线的RBER下限(F)。
在操作550处,处理逻辑确定第一组参数是否在与第二组参数的期望方差之外。在实施方案中,如果W、C及F参数的第一组值在与参数的第二组值的期望方差之外(例如,谷线形状的变化超过可接受的方差),则处理装置可确定可刷新数据块,因为数据块可能不处于可校正状态。举例来说,期望方差可指W、C及F参数中的至少一个参数值的变化满足阈值的情况。在一些实施例中,当参数的值等于或超过与期望或先前值的阈值差时,参数可被视为满足阈值。数据块的原始谷线与数据块的当前谷线之间的此方差可指示数据块可不处于健康或可校正状态。
在操作560处,响应于确定第一组参数在与第二组参数的期望方差之外,处理装置将存储于数据块中的数据复制到第二数据块。在实施方案中,原始数据块可标记为引退,使得其不可用于存储来自主机系统的后续数据,并且可针对第二数据块执行数据的未来存取。
图6说明计算机系统600的实例机器,在所述计算机系统内可执行用于使机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统600可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或可用于执行控制器的操作(例如,以执行操作系统以执行对应于图1的校准及扫描组件113的操作)。在替代实施例中,机器可连接(例如,联网)到LAN、内联网、外联网及/或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、开关或桥接器,或能够(依序或以其它方式)执行指定由所述机器采取的动作的一组指令的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种。
实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或RDRAM等)、静态存储器606(例如,快闪存储器、静态随机存取存储器(SRAM)等),及数据存储系统618,其经由总线630彼此通信。
处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置602经配置以执行指令626以用于执行本文中所论述的操作及步骤。计算机系统600可进一步包含网络接口装置608以在网络620上通信。
数据存储系统618可包含机器可读存储媒体624(也称为计算机可读媒体),其上存储有体现本文中所描述的任何一或多种方法或功能的指令626或软件的一或多个集合。指令626还可在其由计算机系统600执行期间完全地或至少部分地驻存在主存储器604内及/或处理装置602内,主存储器604及处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618,及/或主存储器604可对应于图1的存储器子系统110。
在一个实施例中,指令626包含用于实施对应于校准及扫描组件(例如,图1的校准及扫描组件113)的功能的指令。尽管在实例实施例中将机器可读存储媒体624展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被视为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体及磁性媒体。
已关于计算机存储器内的数据位上的操作的算法及符号表示而呈现先前详细描述的一些部分。这些算法描述及表示是数据处理领域的技术人员用于将其工作的主旨最有效地传达给本领域的其它技术人员的方式。算法在这里并且通常被认为是导致期望结果的操作的自洽序列。操作是要求对物理量进行物理控制的操作。这些量通常但未必呈能够被存储、组合、比较及以其它方式控制的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、术语、数目等是方便的。
然而,应牢记,所有这些及类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可指控制及变换计算机系统的寄存器及存储器内的表示为物理(电子)量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。
本公开还涉及用于执行本文中的操作的设备。此设备可专门构造用于所需目的,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘(包含软盘、光盘、CD-ROM及磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
本文中呈现的算法及显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用于执行所述方法的更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,并不参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文所描述的本公开的教示。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。应显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神及范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

Claims (20)

1.一种方法,其包括:
执行多个读取操作以读取存储在数据块处的数据;
由处理装置基于所述多个读取操作确定反映在与所述数据块相关联的一对编程分布之间的间隔的多个参数;
接收读取存储在所述数据块处的所述数据的读取请求;及
响应于接收到所述读取请求,基于反映在与所述数据块相关联的所述一对编程分布之间的所述间隔的所述多个参数,执行读取操作以读取存储在所述数据块处的所述数据。
2.根据权利要求1所述的方法,其中所述多个参数包括:
指示所述间隔的宽度的第一参数、指示与所述间隔相关联的错误率的下限的第二参数,及指示在所述错误率的所述下限处的电压点的第三参数。
3.根据权利要求1所述的方法,其中在所述一对编程分布之间的所述间隔是与所述数据块相关联的相邻编程分布对之间的电压差。
4.根据权利要求1所述的方法,其中基于所述多个参数执行所述读取操作,以读取存储在所述数据块处的所述数据进一步包括:
基于反映所述一对编程分布之间的所述间隔的所述多个参数来确定读取电压电平;及
使用所述读取电压电平执行所述读取操作。
5.根据权利要求1所述的方法,其进一步包括:
确定与执行所述读取操作以读取存储在所述数据块处的所述数据相关联的错误率;及
响应于确定所述错误率满足阈值错误率,基于读取存储在所述数据块处的所述数据的另一多个读取操作来更新反映所述间隔的所述多个参数。
6.根据权利要求1所述的方法,其中所述一对编程分布之间的间隔进一步由方程反映,其中所述多个参数作为所述方程的输入值。
7.根据权利要求6所述的方法,其中所述方程是用于将所述间隔表示为对称曲线的第一方程或用于将所述间隔表示为不对称曲线的第二方程中的至少一个。
8.根据权利要求1所述的方法,其中执行所述多个读取操作进一步包括:
接收与所述数据块相关联的条件的指示,其中所述条件对应于经过的时间段或错误率;及
确定是否已满足与所述数据块相关联的所述条件,其中所述执行所述多个读取操作响应于确定已满足所述条件。
9.一种系统,其包括:
存储器装置;及
处理装置,其与所述存储器装置可操作地耦合以:
接收读取存储在数据块处的数据的读取请求;
接收反映在与所述数据块相关联的一对编程分布之间的第一间隔的第一组参数;
基于反映在所述一对编程分布之间的所述第一间隔的所述第一组参数,执行多个读取操作以读取存储在所述数据块处的所述数据;
基于所述多个读取操作确定反映在与存储器单元相关联的所述一对编程分布之间的第二间隔的第二组参数;
确定所述第一组参数是否在与所述第二组参数的期望方差之外;及
响应于确定所述第一组参数在与所述第二组参数的所述期望方差之外,将存储于所述数据块中的所述数据复制到第二数据块。
10.根据权利要求9所述的系统,其中所述多个读取操作的数目基于所述数据块的存储器单元的条件。
11.根据权利要求9所述的系统,其中所述第一组参数及所述第二组参数包括:
指示所述间隔的宽度的第一参数、指示在与所述数据块相关联的所述一对编程分布之间的所述间隔的中心处的电压点的第二参数,及指示在处于所述间隔的所述中心处的所述电压点下的错误率下限的第三参数。
12.根据权利要求9所述的系统,其中在所述一对编程分布之间的所述间隔是与所述数据块相关联的相邻编程分布对之间的电压差。
13.根据权利要求9所述的系统,其中所述一对编程分布之间的间隔进一步由方程反映,其中所述多个参数作为所述方程的输入值。
14.根据权利要求13所述的系统,其中所述方程是用于将所述间隔表示为对称曲线的第一方程或用于将所述间隔表示为不对称曲线的第二方程中的至少一个。
15.根据权利要求9所述的系统,其中为了执行所述多个读取操作,所述处理装置进一步用于:
接收与所述数据块相关联的条件的指示,其中所述条件对应于经过的时间段或错误率;及
确定是否已满足与所述数据块相关联的所述条件,其中所述执行所述多个读取操作响应于确定已满足所述条件。
16.根据权利要求9所述的系统,其中为了基于反映所述一对编程分布之间的所述第一间隔的所述第一组参数来执行所述读取操作以读取存储在所述数据块处的所述数据,所述处理装置进一步用于:
基于反映所述一对编程分布之间的所述第一间隔的所述第一组参数来确定读取电压电平;及
使用所述读取电压电平执行所述读取操作。
17.一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时使所述处理装置:
执行多个读取操作以读取存储在数据单元处的数据;
基于所述多个读取操作确定反映在与所述数据单元相关联的一对编程分布之间的间隔的多个参数;
接收读取存储在所述数据单元处的所述数据的读取请求;及
响应于接收到所述读取请求,基于反映在与所述数据单元相关联的所述一对编程分布之间的所述间隔的所述多个参数,执行读取操作以读取存储在所述数据单元处的所述数据。
18.根据权利要求17所述的非暂时性计算机可读存储媒体,其中所述多个参数包括:
指示所述间隔的宽度的第一参数、指示与所述间隔相关联的错误率的下限的第二参数,及指示在所述错误率的所述下限处的电压点的第三参数。
19.根据权利要求17所述的非暂时性计算机可读存储媒体,其中为了基于所述多个参数执行所述读取操作以读取存储在所述数据单元处的所述数据,所述处理装置进一步用于:
基于反映所述一对编程分布之间的所述间隔的所述多个参数来确定读取电压电平;及
使用所述读取电压电平执行所述读取操作。
20.根据权利要求17所述的非暂时性计算机可读存储媒体,其中所述处理装置进一步用于:
确定与执行所述读取操作以读取存储在所述数据单元处的所述数据相关联的错误率;及
响应于确定所述错误率满足阈值错误率,基于读取存储在所述数据单元处的所述数据的另一多个读取操作来更新反映所述间隔的所述多个参数。
CN202011402501.4A 2019-12-03 2020-12-02 数据单元的基于回归的校准及扫描 Pending CN112905382A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/702,399 US11194646B2 (en) 2019-12-03 2019-12-03 Regression-based calibration and scanning of data units
US16/702,399 2019-12-03

Publications (1)

Publication Number Publication Date
CN112905382A true CN112905382A (zh) 2021-06-04

Family

ID=76091470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011402501.4A Pending CN112905382A (zh) 2019-12-03 2020-12-02 数据单元的基于回归的校准及扫描

Country Status (2)

Country Link
US (2) US11194646B2 (zh)
CN (1) CN112905382A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11507297B2 (en) * 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US20240028248A1 (en) * 2022-07-19 2024-01-25 Micron Technology, Inc. Cross-temperature mitigation in a memory system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101578511B1 (ko) * 2009-05-20 2015-12-18 삼성전자주식회사 리드 전압 설정 방법
KR102028128B1 (ko) * 2012-08-07 2019-10-02 삼성전자주식회사 불휘발성 랜덤 액세스 메모리 및 낸드 플래시 메모리를 포함하는 메모리 시스템의 동작 방법
US20170148510A1 (en) * 2013-05-31 2017-05-25 Sandisk Technologies Llc Updating read voltages
US9697905B2 (en) * 2013-05-31 2017-07-04 Sandisk Technologies Llc Updating read voltages using syndrome weight comparisons
US10475523B2 (en) * 2013-05-31 2019-11-12 Western Digital Technologies, Inc. Updating read voltages triggered by the rate of temperature change
KR102065664B1 (ko) * 2013-08-09 2020-01-13 삼성전자 주식회사 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법
US9563502B1 (en) * 2013-12-20 2017-02-07 Seagate Technology Llc Read retry operations with read reference voltages ranked for different page populations of a memory
WO2015106162A1 (en) * 2014-01-09 2015-07-16 SanDisk Technologies, Inc. Selective copyback for on die buffered non-volatile memory
US9252817B2 (en) * 2014-01-10 2016-02-02 SanDisk Technologies, Inc. Dynamic log-likelihood ratio mapping for error correcting code decoding
US9740425B2 (en) * 2014-12-16 2017-08-22 Sandisk Technologies Llc Tag-based wear leveling for a data storage device
KR102284658B1 (ko) * 2015-03-19 2021-08-02 삼성전자 주식회사 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법
US9524790B1 (en) * 2015-08-02 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory cells wear reduction
US9761325B1 (en) * 2016-03-14 2017-09-12 Toshiba Memory Corporation Memory system
US10347331B2 (en) * 2016-06-13 2019-07-09 SK Hynix Inc. Read threshold optimization in flash memories
KR20180027660A (ko) * 2016-09-05 2018-03-15 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Also Published As

Publication number Publication date
US20210165703A1 (en) 2021-06-03
US11194646B2 (en) 2021-12-07
US20220050735A1 (en) 2022-02-17
US11704179B2 (en) 2023-07-18

Similar Documents

Publication Publication Date Title
US10580514B2 (en) Periodically updating a log likelihood ratio (LLR) table in a flash memory controller
US11107550B2 (en) Self-adaptive read voltage adjustment using boundary error statistics for memories with time-varying error rates
US10540228B2 (en) Providing data of a memory system based on an adjustable error rate
US11455194B2 (en) Management of unmapped allocation units of a memory sub-system
US11107543B2 (en) Adjustment of read and write voltages using a space between threshold voltage distributions
KR20210070378A (ko) 판독 방해 스캔 통합
US20210012856A1 (en) Self-adaptive read voltage adjustment using directional error statistics for memories with time-varying error rates
US11636913B2 (en) Tracking and refreshing state metrics in memory sub-systems
CN112447207A (zh) 基于阈值电压漂移的温度相关斜率管理阈值电压漂移
US11704179B2 (en) Regression-based calibration and scanning of data units
CN115428083A (zh) 使用可变预读取电压电平来管理非易失性存储器装置中的写入操作
CN114442920A (zh) 调整存储器子系统中的可靠性扫描阈值
CN115938434A (zh) 具有动态扫描频率的概率数据完整性扫描
CN113039515B (zh) 用于基于存储器组件耐久性估计执行耗损均衡调整的存储器子系统
CN112346901A (zh) 具有时变错误率的存储器中的抢先式读取刷新
CN114639413A (zh) 错误恢复操作
CN115132258A (zh) 优化存储电荷损失管理
CN114649045A (zh) 用于存储器子系统的工作负载自适应扫描
US11726671B2 (en) Memory access mode selection
US11599300B2 (en) Voltage threshold prediction-based memory management
US11881284B2 (en) Open translation unit management using an adaptive read threshold
CN115132255A (zh) 使用存储电荷损失裕度检查进行开放块管理
CN114639414A (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