CN112309479A - 用于数据完整性扫描的读取计数缩放因子 - Google Patents

用于数据完整性扫描的读取计数缩放因子 Download PDF

Info

Publication number
CN112309479A
CN112309479A CN202010768291.4A CN202010768291A CN112309479A CN 112309479 A CN112309479 A CN 112309479A CN 202010768291 A CN202010768291 A CN 202010768291A CN 112309479 A CN112309479 A CN 112309479A
Authority
CN
China
Prior art keywords
block
read
word lines
region
error rate
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.)
Granted
Application number
CN202010768291.4A
Other languages
English (en)
Other versions
CN112309479B (zh
Inventor
K·K·姆奇尔拉
A·马尔谢
V·P·拉亚普鲁
H·R·辛吉迪
G·S·阿尔萨斯
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 CN112309479A publication Critical patent/CN112309479A/zh
Application granted granted Critical
Publication of CN112309479B publication Critical patent/CN112309479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • 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/0727Error 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 storage system, e.g. in a DASD or network based storage system
    • 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/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/0793Remedial or corrective actions
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control 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/24Bit-line control 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请案涉及用于数据完整性扫描的读取计数缩放因子。存储器系统中的处理装置从主机系统接收第一读取请求,其中所述第一读取请求被引导到存储于存储器组件的块中的第一地址处的第一数据。所述处理装置确定所述第一地址位于所述块的第一区内并且使所述块的读取计数器递增默认量。所述处理装置进一步从所述主机系统接收第二读取请求,其中所述第二读取请求被引导到存储于所述存储器组件的块中的第二地址处的第二数据,确定所述第二地址位于所述块的第二区内并且使所述块的所述读取计数器递增经缩放量。

Description

用于数据完整性扫描的读取计数缩放因子
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及管理包含具有不同特性的存储器组件的存储器子系统。
背景技术
存储器子系统可为存储系统、存储器模块,或存储装置和存储器模块的混合。存储器子系统可以包含存储数据的一或多个存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。
发明内容
在一个方面中,本公开涉及一种系统,其包括:存储器组件,其包括多个块;和处理装置,其以操作方式与所述存储器组件耦合以进行以下操作:从主机系统接收第一读取请求,其中所述第一读取请求被引导到存储于所述存储器组件的所述多个块中的一块中的第一地址处的第一数据;确定所述第一地址位于所述块的第一区内;响应于所述第一地址位于所述第一区内,使所述块的读取计数器递增默认量;从所述主机系统接收第二读取请求,其中所述第二读取请求被引导到存储于所述存储器组件的块中的第二地址处的第二数据;确定所述第二地址位于所述块的第二区内;和响应于所述第二地址位于所述第二区内,使所述块的所述读取计数器递增经缩放量。
在另一方面中,本公开涉及一种操作存储器子系统的方法,其包括:执行数据完整性扫描以确定存储器组件的块的多个字线中的每一个的错误率;基于所述所确定的错误率,识别所述多个字线的与所述块的第一区相关联的第一子集;基于所述所确定的错误率,识别所述多个字线的与所述块的第二区相关联的第二子集;基于所述所确定的错误率,鉴于错误阈值确定所述第一区的第一读取干扰能力;基于所述所确定的错误率,鉴于所述错误阈值确定第二区的第二读取干扰能力;基于所述第一读取干扰能力和所述第二读取干扰能力,确定所述块的读取计数缩放因子;和响应于接收到被引导到所述块的一或多个读取请求,鉴于所述读取计数缩放因子使所述块的读取计数器递增。
在另一方面中,本公开涉及一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时使所述处理装置进行以下操作:从主机系统接收第一读取请求,其中所述第一读取请求被引导到存储于存储器组件的块中的第一地址处的第一数据;确定所述第一地址位于所述块的第一区内;响应于所述第一地址位于所述第一区内,使所述块的读取计数器递增默认量;从所述主机系统接收第二读取请求,其中所述第二读取请求被引导到存储于所述存储器组件的块中的第二地址处的第二数据;确定所述第二地址位于所述块的第二区内;和响应于所述第二地址位于所述第二区内,使所述块的所述读取计数器递增经缩放量。
附图说明
根据下文给出的详细描述和本发明的各种实施例的附图,将更充分地理解本发明。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2是根据本公开的一些实施例的使用具有分层粒度的读取计数器的实例方法的流程图。
图3是说明根据本公开的一些实施例的物理块层级和超级块层级粒度下的读取计数器的框图。
图4是根据本公开的一些实施例的使用物理块层级粒度下的读取计数器触发数据完整性扫描的实例方法的流程图。
图5是根据本公开的一些实施例的使用超级块层级粒度下的读取计数器触发数据完整性扫描的实例方法的流程图。
图6是根据本公开的一些实施例的确定读取计数缩放因子的实例方法的流程图。
图7是说明根据本公开的一些实施例的用于存储读取计数缩放因子的数据结构的框图。
图8是根据本公开的一些实施例的当使读取计数器递增以触发数据完整性扫描时使用读取计数缩放因子的实例方法的流程图。
图9是根据本公开的一些实施例的在数据完整性扫描之后使用分层准则用于块刷新的实例方法的流程图。
图10是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的方面针对于使用读取计数缩放因子触发存储器子系统中的数据完整性扫描。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的混合。结合图1描述存储装置和存储器模块的实例。通常,主机系统可以利用包含一或多个存储器组件的存储器子系统。主机系统可提供数据以存储于存储器子系统处并且可请求从存储器子系统检索数据。
存储器组件可为存储器装置,例如非易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。每一裸片可包括一或多个平面。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由物理块集组成。对于一些存储器装置,块是可擦除的最小区域。每一块由页集组成。每一页由存储数据位的存储器单元集组成。当数据写入到存储器组件的存储器单元进行存储时,存储器单元可变差。因此,存储器组件的每一存储器单元可处置在存储器单元不再能够可靠地存储数据之前执行的有限数目个写入操作。存储于存储器组件的存储器单元处的数据可从存储器组件读取并且发射到主机系统。当从存储器组件的存储器单元读取数据时,附近或相邻存储器单元可经历被称为读取干扰的事物。读取干扰是从一个存储器单元连续读取且中间无擦除操作,从而致使其它附近存储器单元随着时间改变(例如,变成经编程)的结果。如果在存储器单元上执行太多个读取操作,那么存储于存储器组件的相邻存储器单元处的数据可变成并损坏或不正确地存储于存储器单元处。这可引起存储于存储器单元处的数据的较高错误率。这增加使用错误检测和校正操作(例如,错误控制操作)用于在存储器单元上执行的连续操作(例如,读取和/或写入)的情况。对错误控制操作的增加的使用可引起常规存储器子系统的性能降低。另外,随着存储器单元或块的错误率继续增加,甚至可能超出存储器子系统的错误校正能力,从而导致不可修复的数据丢失。此外,由于存储器子系统的较多资源用以执行错误控制操作,因此较少资源可用于执行其它读取操作或写入操作。
与存储于块处的数据相关联的错误率可归因于读取干扰而增加。因此,在块上执行阈值数目的读取操作后,存储器子系统可执行数据完整性检查(在本文中也称为“扫描”)以验证存储于块处的数据不包含任何错误。在数据完整性检查期间,确定用于存储于块处的数据的一或多个可靠性统计数据。可靠性统计数据的一个实例是原始位错误率(RBER)。RBER对应于存储于块处的数据经历的每单位时间的位错误数目。
常规地,如果用于块的可靠性统计数据超过阈值,指示与存储于块处的数据相关联的至少部分地归因于读取干扰引起的高错误率,那么存储于块处的数据重新定位到存储器子系统的新块(在本文中也称为“折叠”)。存储于块处的数据折叠到其它块可包含将数据写入到其它块以刷新存储器子系统所存储的数据。此举可抵消与数据相关联的读取干扰的效应并且擦除块处的数据。然而,如先前论述,读取干扰会影响与被执行读取操作的存储器单元相邻的存储器单元。因此,在特定存储器单元被更频繁地读取的情况下,读取干扰可诱发块的存储器单元上的不均匀应力。举例来说,块的与频繁被读取的存储器单元相邻的存储器单元可具有高错误率,而不与存储器单元相邻的存储器单元可归因于读取干扰对这些存储器单元的影响减小而具有较低错误率。
取决于特定存储器子系统的主机系统的数据存取活跃度,读取干扰的效应可集中于块中的一或多个特定存储器页上或更均匀地分布在块的所有存储器页上。举例来说,如果读取应力集中于单个存储器页上,那么所述块可被视为经历单字线(SWL)读取干扰(还被称作“行锤击”读取干扰)。单字线读取干扰可发生在其中存储于存储器子系统中的特定数据片与同一块中的剩余数据相比显著更频率地被读取的情境中。然而,如果读取应力均匀分布于多个存储器页上,那么所述块可被视为经历均匀读取干扰(还被称作“完整块”读取干扰)。均匀读取干扰可发生于其中以大致相同的频率读取块中的每一数据片的情境中。
常规存储器子系统在块层级使用扫描操作执行数据完整性检查。由于扫描操作是在块层级执行,因此存储器子系统监测在特定块上执行的读取操作的数目,并且当读取计数(即,读取操作的数目)满足或超过特定读取阈值时执行扫描操作。取决于所述实施,存储器子系统可维持跟踪在所述块上执行的读取操作的数目的读取计数器或多个读取计数器。控制器固件通常无法将单字线读取干扰应力和均匀读取干扰应力区分开,因此使用基于单字线读取干扰应力设置的保守读取阈值。当物理块中的一个字线经历单字线读取干扰应力时,与仅经历均匀读取干扰应力的另一字线相比,触发扫描的读取计数可低2x到50x。如果两个字线均是同一物理块的部分且存储器子系统维持用于物理块的共同读取计数器,那么比物理块中的个别字线中的任一个所见的实际读取数目显著更快地满足读取操作阈值数目。因此,虽然可适合于扫描所述一个字线,但这类扫描操作对于物理块的剩余部分可能并不必需。以此方式执行不必要的扫描操作可引起存储器子系统执行过量存储器管理操作。这可引起存储器子系统的性能降低,并且存储器子系统的功率消耗增加。可能还要占用系统带宽和其它资源很长一段时间,防止将那些资源用于其它功能性。
本公开的方面通过使用用于触发存储器子系统中的数据完整性扫描的读取计数缩放因子解决上述和其它缺陷。存储器子系统可识别块的已受单字线读取干扰应力影响的区以及块的不受此影响的其它区。当取决于对应读取请求被引导到的区,使用于块的读取计数器递增时,存储器子系统可利用读取计数缩放因子。举例来说,对于被引导到块的单字线读取干扰受害区中的字线的读取请求,存储器子系统可使用于所述块的读取计数器递增默认量(例如1)。对于被引导到所述块的另一个区中的字线的读取请求,存储器子系统可替代地使读取计数器递增经缩放量。经缩放量可为鉴于块的缩放因子确定的默认量的分数。缩放因子可由存储器子系统先前确定为其它区的读取干扰能力与单字线读取干扰受害区的读取干扰能力的比。通过使用块的缩放因子跟踪读取计数,存储器子系统减小读取计数累加并且减小执行数据完整性扫描的频率,进而增加性能,减小功率消耗并且释放系统资源来用于其它功能性。因此,当执行读取干扰扫描时占用存储器控制器较少时间,进而允许控制器有更多时间处置用于存储器组件的其它数据存取操作。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,如存储器组件112A到112N。存储器组件112A到112N可以是易失性存储器组件、非易失性存储器组件或此类组件的组合。存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储装置(UFS)驱动器以及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)和非易失性双列直插式存储器模块(NVDIMM)。
计算环境100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。主机系统120使用例如存储器子系统110以将数据写入到存储器子系统110和从存储器子系统110读取数据。如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
主机系统120可为计算装置,例如台式计算机、手提式计算机、网络服务器、移动装置、嵌入式计算机(例如,包含在车辆、工业设备或连网的商业装置中的计算机),或包含存储器和处理装置的这类计算装置。主机系统120可包含或耦合到存储器子系统110使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120还可利用NVM高速(NVMe)接口来存取存储器组件112A到112N。物理主机接口可提供接口以用于在存储器子系统110与主机系统120之间传送控制、地址、数据以及其它信号。
存储器组件112A到112N可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(NAND)类型闪存存储器。存储器组件112A到112N中的每一个可包含存储器单元的一或多个阵列,所述存储器单元如单层级单元(SLC)或多层级单元(MLC)(例如,三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可包含存储器单元的SLC部分和MLC部分两者。存储器单元中的每一个可存储供主机系统120使用的一或多个数据位。虽然描述如NAND类型快闪存储器的非易失性存储器组件,但存储器组件112A到112N可基于任何其它类型的存储器,如易失性存储器。在一些实施例中,存储器组件112A-112N可以是但不限于随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、或非(NOR)闪存存储器、电可擦除可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件112A到112N的存储器单元可分组为存储器页或数据块,其可指用于存储数据的存储器组件的单元。数据块可进一步分组成存储器组件112A到112N中的每一个上的一或多个平面,其中可同时对平面中的每一个执行操作。来自不同平面的对应数据块可以条带的形式彼此相关联,横跨多个平面。
存储器系统控制器115(下文称为“控制器”)可与存储器组件112A到112N通信以执行操作,例如在存储器组件112A到112N处读取数据、写入数据或擦除数据,以及其它此类操作。控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器,或其组合。控制器115可以是微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。控制器115可包含配置成执行存储在本地存储器119中的指令的处理器(处理装置)117。在所说明实例中,控制器115的本地存储器119包含配置成存储指令以用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程以及例程的嵌入式存储器。在一些实例中,本地存储器119可以包含存储器寄存器,其存储存储器指针、提取的数据等。本地存储器119还可以包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已说明为包含控制器115,但在本公开的另一实施例中,存储器子系统110可能不包含控制器115,且可改为依靠(例如由外部主机或由与存储器子系统分离的处理器或控制器提供的)外部控制。
一般来说,控制器115可从主机系统120接收命令或操作且可将所述命令或操作转换成指令或适合的命令以实现对存储器组件112A到112N的所需存取。控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作和在与存储器组件112A到112N相关联的逻辑块地址与物理块地址之间的地址转译。控制器115还可包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器组件112A到112N,以及将与存储器组件112A到112N相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可以包含未说明的附加电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲(例如DRAM)和地址电路(例如行解码器和列解码器),其可从控制器115接收地址且对地址进行解码以存取存储器组件112A到112N。
存储器子系统110包含可用以确定何时对存储器组件112A到112N的块执行扫描或其它数据完整性检查的扫描确定组件113。在一个实施例中,扫描确定组件113监测存储于存储器组件112A到112N的块中的数据的老化并且实施具有分层粒度的用于跟踪执行的读取操作的数目的读取计数器。执行的读取操作的数目是扫描确定组件113确定何时执行数据完整性扫描可使用的一个度量。在一个实施方案中,读取计数器维持于本地存储器119中。对于存储最近写入的数据的块(即,开放块),扫描确定组件113可利用物理块层级处的读取计数器单独地跟踪每一物理块上执行的读取操作的数目。在其它实施方案中,扫描确定组件113可利用读取计数器和某一其它粒度级,例如每字线、每字线群组或每某一其它存储单元。当维持用于较小存储单元的读取计数器时,累加速率较低且在数据完整性扫描期间可扫描较少字线。因此,当在特定物理块上执行读取操作时,用于所述物理块的对应读取计数器递增所定义的量(例如1)。当数据的老化增加且块不再存储最近写入的数据(即,闭合块)时,例如如果较新数据已经写入到存储器组件上的其它块,那么扫描确定组件113可利用超级块层级的读取计数器跟踪在超级块中的全部块上一起执行的读取操作的数目。因此,当在是超级块的部分的任何块上执行读取操作时,使用于所述超级块的对应读取计数器递增。如果扫描确定组件113确定读取计数(即,针对个别物理块或超级块)满足第一阈值准则(例如,超过第一读取阈值),那么扫描确定组件113可执行数据完整性扫描以视需要确定一个物理块或超级块中的所有块的错误率。在确定对应错误率后,扫描确定组件113即刻可确定错误率中的任一个是否超过错误阈值并且可重新定位来自那些块的数据并且重置那些块的读取计数。下文描述关于扫描确定组件113的操作的另外细节。
图2是根据本公开的一些实施例的使用具有分层粒度的读取计数器的实例方法的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200由图1的扫描确定组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。
在操作210处,处理装置监测存储于存储器组件112A到112N上的各个块中的数据的老化。在一个实施例中,控制器115维持存储于存储器组件112A到112N上的所有块的索引。举例来说,索引可包含块和指配给块中的每一个的连续索引号的列表。在写入存储器组件112A到112N上的新块时,控制器115可将对应条目添加到索引并且指配索引号。索引号可具有每当指配新索引号时递增一个单位的值。因此,索引号的值指示存储于块上的数据的老化,这是因为与先前写入的块相比,可为最近写入的块指配较高索引号。当用新数据擦除和/或覆写块时,控制器115可为块指配新索引号。在一个实施例中,控制器115将索引维持于本地存储器119中。
在操作220处,处理装置确定特定块是否正在存储最近写入的数据。在一个实施例中,扫描确定组件113维持关于数据的老化的阈值准则,其中所述阈值准则用于确定最近是否写入数据。举例来说,所述阈值准则可包含表示一定量的最近写入的数据的索引号。在一个实施例中,所述阈值准则可鉴于一起存储一定量的数据(例如,1千兆字节)的块的数目来定义。因此,扫描确定组件113可确定特定块的索引号,确定所述索引号与索引中的最高索引号之间的差,并且将所述差与所述阈值准则进行比较。举例来说,如果特定块具有索引号966,那么最高索引号是972,意指存在差6,且如果所述阈值准则设置于24个块处,那么扫描确定组件113可确定存储于块中的数据满足阈值准则(即,小于或等于阈值块数目)。相比之下,如果所述差大于阈值块数目,那么数据可被视为不满足阈值准则。
如果块正在存储最近写入的数据,那么在操作230处,处理装置维持第一操作模式并且使用物理块层级读取计数器跟踪在块上执行的读取操作的数目。图3是说明根据本公开的一些实施例的物理块层级的读取计数器的框图。如所说明,存在数个逻辑超级块S1、S2、S3,其各自包括以条带形式分布于多个逻辑单元编号(LUN)LUN1、LUN2、LUN3、LUN4上的数个物理块P0、P1。在一个实施例中,物理块是存储器组件的多个LUN(或平面)上的块条带的部分。此条带也可被称作超级块。在一个实施例中,在第一操作模式中,扫描确定组件113将用于超级块S1的每一个LUN中的每一个物理块P0、P1的单独读取计数器C1-C8维持于本地存储器119中。如果既定超级块中的任一块正在存储最近写入的数据,那么扫描确定组件113可使用单独物理块层级计数器用于超级块中的每一个块。每当在特定块(例如,LUN1的P0)上执行读取操作时,扫描确定组件113可使对应物理块层级读取计数器(例如,C1)递增。
如果块不正在存储最近写入的数据,那么在操作240处,处理装置切换到第二操作模式并且使用超级块层级读取计数器跟踪在超级块上执行的读取操作的数目。如图3中所说明,如果既定超级块中没有块正在存储最近写入的数据,那么扫描确定组件113可使用单个超级块层级计数器(例如,C9或C10)用于超级块(例如,S2或S3)中的所有块。每当在超级块中任一个块上执行读取操作时,扫描确定组件113可使对应超级块层级读取计数器(例如,C9或C10)递增。
在操作250处,处理装置基于与超级块中的物理块对应的任一个物理块层级读取计数器的最高值,设置超级块层级读取计数器的值。当从第一模式转换到第二模式时,例如如果超级块中的数据已老化并且不再有资格作为最近写入的数据,那么扫描确定组件113可使用物理块层级读取计数器的值确定超级块层级读取计数器的值。举例来说,如果确定超级块S1在某一时间点不包含任何最近写入的数据,那么扫描确定组件113可识别来自计数器C1-C8中的任一个的最高读取计数值并且使用所述值作为用于超级块S1的新超级块层级读取计数器的值。
图4是根据本公开的一些实施例的使用物理块层级粒度下的读取计数器触发数据完整性扫描的实例方法的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400由图1的扫描确定组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。
在操作410处,处理装置进入使用单独读取计数器用于超级块中的每一物理块的第一模式。如上文所描述,如果任一个块(例如,既定超级块S1中的LUN1-LUN4上的P0-P1)正在存储最近写入的数据,那么扫描确定组件113可使用单独物理块层级计数器C1-C8用于超级块中的每一个块。在操作420处,处理装置响应于接收到被引导到对应块的读取请求而使物理块层级读取计数器递增。举例来说,控制器115可接收到指示特定逻辑数据地址的读取请求并且可确定所述数据的对应物理块地址。控制器115可接着对所述块(例如,超级块S1中的LUN1的P0)执行读取操作,且扫描确定组件113可使对应物理块层级读取计数器(例如,C1)递增。
在操作430处,处理装置确定读取计数器C1的值(即,读取计数)是否满足读取阈值准则(即,满足或超过第一读取阈值)。读取计数表示从对第一块执行了前一扫描操作或数据完整性检查(此时,读取计数经重置)起第一块(例如,LUN1的P0)已被读取的次数。在其它实施方案中,读取计数器在执行扫描操作或数据完整性检查时不重置,而是替代地使读取计数阈值递增阈值量。第一读取阈值可表示在应执行扫描或其它数据完整性检查之前在既定存储器块上的读取操作的数目。在一个实施例中,扫描确定组件113将读取计数与第一读取阈值进行比较以确定读取计数是否满足或超过第一读取阈值。如果读取计数不满足或超过第一读取阈值,那么处理装置返回到操作410并且继续监测存储器组件上的块的读取计数值。在另一实施例中,第一阈值准则包含读取计数低于第一读取阈值,使得如果读取计数不满足第一阈值准则,那么处理装置继续操作440。
如果满足读取阈值准则,那么在操作440处,处理装置执行数据完整性扫描以确定块的错误率。与存储于块处的数据相关联的错误率可归因于读取干扰而增加。因此,在块上执行阈值数目的读取操作后,存储器子系统110即刻可执行扫描或其它数据完整性检查以验证存储于块处的数据不包含任何错误,或错误的数目低到合适程度。在扫描期间,扫描确定组件113识别一或多个可靠性统计数据,例如原始位错误率(RBER),其表示存储于块处的数据在每单位时间经历的位错误数目。在一个实施例中,在扫描期间,扫描确定组件113从块读取原始码字(即,一系列固定数目的位)。扫描确定组件113可将码字应用于错误校正码(ECC)解码器以产生经解码码字并且将经解码码字与原始码字进行比较。扫描确定组件113可计数经解码码字和原始码字之间的翻转位的数目,其中翻转位的数目与码字中的位的总数目的比表示RBER。扫描确定组件113可对额外码字重复此过程直到整个块已经扫描。
在操作450处,处理装置确定块的错误率是否满足错误阈值准则(即,满足或超过错误阈值)。在一个实施例中,扫描确定组件113将错误率与表示存储器组件的错误校正能力的错误阈值进行比较。如果错误率不满足或超过错误阈值,那么处理装置返回到操作410并且继续监测存储器组件上的块的读取计数值。在另一实施例中,错误阈值准则包含错误率低于错误阈值,使得如果错误率不满足错误阈值准则,那么处理装置继续操作460。
如果满足错误阈值准则,那么在操作460处,处理装置将来自块的数据重新定位到另一块并且重置读取计数器C1的读取计数值(例如,重置为0或某一其它初始值)。在一个实施例中,扫描确定组件113读取存储于对应块(即,错误率满足或超过错误阈值的块)中的数据并且将所述数据写入到另一块。一旦数据已经写入到其它块,便擦除存储于初始块中的数据且所述初始块可用于被编程有新数据。取决于实施例,数据重新定位到同一存储器组件的同一平面的另一块,重新定位到同一存储器组件上的另一平面,或重新定位到存储器子系统110的不同存储器组件。
图5是根据本公开的一些实施例的使用超级块层级粒度下的读取计数器触发数据完整性扫描的实例方法的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法500由图1的扫描确定组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。
在操作510处,处理装置进入使用单个读取计数器用于每一超级块的第二模式。如上文所描述,如果块(例如,既定超级块S2中的LUN1-LUN4上的P0-P1)中没有一个正在存储最近写入的数据,那么扫描确定组件113可使用单个超级块层级计数器C9用于超级块S2。在操作520处,处理装置响应于接收到被引导到超级块S2中的任一块的读取请求而使超级块层级读取计数器C9递增。举例来说,控制器115可接收指示特定逻辑数据地址的读取请求并且可确定所述数据的对应物理块地址。控制器115接着可对所述块(例如,超级块S2中的LUN1的P0)执行读取操作,且扫描确定组件113可使对应超级块层级读取计数器(例如,C9)递增。
在操作530处,处理装置确定读取计数器C9的值(即,读取计数)是否满足读取阈值准则(即,满足或超过第一读取阈值)。读取计数表示从在对应超级块S2中的任一个块上执行了前一扫描操作或数据完整性检查(此时,读取计数经重置)起所述块已被读取的次数。第一读取阈值可表示在应执行扫描或其它数据完整性检查之前在既定存储器块上的读取操作的数目。在一个实施例中,扫描确定组件113将读取计数与第一读取阈值进行比较以确定读取计数是否满足或超过第一读取阈值。如果读取计数不满足或超过第一读取阈值,那么处理装置返回到操作510并且继续监测存储器组件上的块的读取计数值。在另一实施例中,第一阈值准则包含读取计数低于第一读取阈值,使得如果读取计数不满足第一阈值准则,那么处理装置继续操作540。
如果满足读取阈值准则,那么在操作540处,处理装置执行数据完整性扫描以确定超级块S2中的每一物理块的错误率。在扫描期间,扫描确定组件113识别一或多个可靠性统计数据,例如原始位错误率(RBER),其表示存储于块处的数据在每单位时间经历的位错误数目。在一个实施例中,在扫描期间,扫描确定组件113从块读取原始码字(即,一系列固定数目的位)。扫描确定组件113可将码字应用于错误校正码(ECC)解码器以产生经解码码字并且将经解码码字与原始码字进行比较。扫描确定组件113可计数经解码码字和原始码字之间的翻转位的数目,其中翻转位的数目与码字中的位的总数目的比表示RBER。扫描确定组件113可对额外码字重复此过程直到超级块中的每一块已经扫描。
在操作550处,处理装置确定任一个物理块的错误率是否满足错误阈值准则(即,满足或超过错误阈值)。在一个实施例中,扫描确定组件113将块的错误率与表示存储器组件的错误校正能力的错误阈值进行比较。如果特定块的错误率不满足或超过错误阈值,那么处理装置返回到操作510并且继续监测存储器组件上的块的读取计数值。在另一实施例中,错误阈值准则包含错误率低于错误阈值,使得如果错误率不满足错误阈值准则,那么处理装置继续操作560。
如果满足错误阈值准则,那么在操作560处,处理装置将来自块的数据重新定位到另一块并且重置读取计数器C9的读取计数值(例如,重置为0或某一其它初始值)。在一个实施例中,扫描确定组件113读取存储于对应块(即,错误率满足或超过错误阈值的块)中的数据并且将所述数据写入到另一块。一旦数据已经写入到其它块,便擦除存储于初始块中的数据且所述初始块可用于被编程有新数据。取决于实施例,数据重新定位到同一存储器组件的同一平面的另一块,重新定位到同一存储器组件上的另一平面,或重新定位到存储器子系统110的不同存储器组件。
图6是根据本公开的一些实施例的确定读取计数缩放因子的实例方法的流程图。方法600可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法600由图1的扫描确定组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。
在操作610处,处理装置执行数据完整性扫描以识别与块中的每一字线相关联的一或多个可靠性统计数据,例如RBER。在一个实施例中,在扫描期间,扫描确定组件113从每一字线读取原始码字(即,一系列固定数目的位),将码字应用于ECC解码器以产生经解码码字并且将经解码码字与原始码字进行比较。扫描确定组件113可计数经解码码字和原始码字之间的翻转位的数目,其中翻转位的数目与码字中的位的总数目的比表示RBER。扫描确定组件113可对额外码字重复此过程直到块中的每一字线已经扫描。
在操作620处,处理装置使用所确定的错误率识别块中的一或多个单字线读取干扰受害区。单字线读取干扰受害区可具有显著高于其它字线区的错误率。在一个实施例中,扫描确定组件113可将所确定的每一字线的错误率彼此进行比较并且识别最高错误率。举例来说,扫描确定组件可将具有超过所有字线错误率的平均值达特定阈值量的所确定错误率的字线识别为组成单字线读取干扰受害区的字线。在一个实施例中,具有高于第一阈值的错误率的字线可被视为单字线读取干扰受害区的部分,且具有低于第二阈值的错误率的字线可被视为其它字线区的部分。
在操作630处,处理装置确定一或多个单字线读取干扰受害区的读取干扰能力和不经历单字线读取干扰的其它字线区的读取干扰能力。在一个实施例中,扫描确定组件113将所确定的每一字线的错误率与块的错误阈值进行比较以将结果归一化。扫描确定组件113可确定由所确定的对应字线的错误率表示的占错误阈值的百分比。举例来说,如果错误阈值是200且所确定的字线错误率是20,那么所得百分比是10%。剩余的百分比(即,90%)表示字线的读取干扰能力。在一个实施例中,扫描确定组件113针对一或多个单字线读取干扰受害区和其它字线区中的每一个做出类似确定。举例来说,来自单字线读取干扰受害区的字线可具有180的错误率,给出90%的百分比,指示10%的读取干扰能力。在一个实施例中,具有低于第一阈值的读取干扰能力的字线可被视为单字线读取干扰受害区的部分,且具有高于第二阈值的读取干扰能力的字线可被视为其它字线区的部分。
在框640处,处理装置基于其它字线区的读取干扰能力与一或多个单字线读取干扰受害区的读取干扰能力的比,确定读取计数缩放因子。在一个实施例中,扫描确定组件113确定被确定为其它字线区的部分的所有字线的第一平均读取干扰能力和被确定为一或多个单字线读取干扰受害区的部分的所有字线的第二平均读取干扰能力。在另一实施例中,扫描确定组件113确定被确定为其它字线区的部分的所有字线的第一最大读取干扰能力和被确定为一或多个单字线读取干扰受害区的部分的所有字线的第二最大读取干扰能力。扫描确定组件113可确定第一最大值与第二最大值的比,其中所确定的比可用作读取计数缩放因子。举例来说,如果第一最大值是90%且第二最大值是10%,那么所确定的读取计数缩放因子是9。在一个实施例中,扫描确定组件113可将读取计数缩放因子的指示存储于如图7中所说明的数据结构700中。图7是说明根据本公开的一些实施例的用于存储读取计数缩放因子的数据结构700的框图。在一个实施例中,数据结构包含对应于存储器组件上的每一区段(例如,块)的条目并且可存储于例如本地存储器119中。如所说明,每一条目可包含对应区段的识别符、所述区段的当前读取计数、所述区段的所定义扫描阈值、所述区段中的一或多个单字线读取干扰受害区的指示和所确定的所述区段的缩放因子。
再次参考图6,在框650处,处理装置鉴于读取计数缩放因子来为用于一或多个单字线读取干扰受害区和其它字线区的读取计数器提供服务。在一个实施例中,对于被引导到一或多个单字线读取干扰受害区中的字线的每一读取操作,扫描确定组件113可使用于块的读取计数器递增默认量(例如1),并且对于被引导到其它字线区中的字线的每一读取操作,扫描确定组件113可使块的读取计数器递增经缩放量(例如,1/9)。下文结合图8描述关于此读取计数缩放因子的使用的额外细节。
图8是根据本公开的一些实施例的当使读取计数器递增以触发数据完整性扫描时使用读取计数缩放因子的实例方法的流程图。方法800可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法800由图1的扫描确定组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。
在操作810处,处理装置从主机系统120或从存储器子系统110的某一其它组件接收读取请求。在操作820处,处理装置确定读取请求是否引导到存储于单字线读取干扰受害区中的数据。在一个实施例中,控制器115可接收指示特定逻辑数据地址的读取请求并且可确定所述数据的对应物理块地址。如上文所描述,数据结构700可包含所述区段中的一或多个单字线读取干扰受害区的指示。因此,控制器115可确定在物理地址是数据结构700中所识别的地址范围的部分的情况下,读取请求中所识别的数据存储于单字线读取干扰受害区中。否则,控制器115将读取请求视为被引导到块的其它字线区。
如果读取请求引导到存储于单字线读取干扰受害区中的数据,那么在操作830处,处理装置使块的读取计数器递增默认量。在一个实施例中,扫描确定组件使数据结构700中的与所识别的块对应的读取计数器递增默认量(例如1)。所述默认量是可配置参数并且可在其它实施例中具有其它值。
如果读取请求不被引导到存储于单字线读取干扰受害区中的数据,那么在操作840处,处理装置使块的读取计数器递增经缩放量。在一个实施例中,经缩放量包含表示缩放因子的倒数的值。举例来说,如果所确定的缩放因子是9,那么经缩放量可为1/9。
在操作850处,处理装置确定读取计数器的值(即,读取计数)是否满足读取阈值准则(即,满足或超过第一读取阈值)。读取计数表示从对块执行了前一扫描操作或数据完整性检查(此时,读取计数经重置)起所述块已被读取的次数。第一读取阈值可表示在应执行扫描或其它数据完整性检查之前在既定存储器块上的读取操作的数目。在一个实施例中,扫描确定组件113将读取计数与第一读取阈值进行比较以确定读取计数是否满足或超过第一读取阈值。如果读取计数不满足或超过第一读取阈值,那么处理装置返回到操作810并且等待从主机系统120接收到另一读取请求。
如果满足读取阈值准则,那么在操作860处,处理装置执行数据完整性扫描以确定块的错误率。与存储于块处的数据相关联的错误率可归因于读取干扰而增加。因此,在块上执行阈值数目的读取操作后,存储器子系统110即刻可执行扫描或其它数据完整性检查以验证存储于块处的数据不包含任何错误,或错误的数目低到合适程度。在扫描期间,扫描确定组件113识别一或多个可靠性统计数据,例如RBER,其表示存储于块处的数据在每单位时间经历的位错误数目。在一个实施例中,在扫描期间,扫描确定组件113从块读取原始码字(即,一系列固定数目的位)。扫描确定组件113可将码字应用于ECC解码器以产生经解码码字并且将经解码码字与原始码字进行比较。扫描确定组件113可计数经解码码字和原始码字之间的翻转位的数目,其中翻转位的数目与码字中的位的总数目的比表示RBER。扫描确定组件113可对额外码字重复此过程直到整个块已经扫描。
在操作870处,处理装置确定块的错误率是否满足错误阈值准则(即,满足或超过错误阈值)。在一个实施例中,扫描确定组件113将错误率与表示存储器组件的错误校正能力的错误阈值进行比较。如果错误率不满足或超过错误阈值,那么处理装置返回到操作810并且等待从主机系统120接收到另一读取请求。
如果满足错误阈值准则,那么在操作880处,处理装置将来自块的数据重新定位到另一块并且重置读取计数器的读取计数值(例如,重置为0或某一其它初始值)。在一个实施例中,扫描确定组件113读取存储于块中的数据并且将所述数据写入到另一块。一旦数据已经写入到其它块,便擦除存储于初始块中的数据且所述初始块可用于被编程有新数据。取决于实施例,数据重新定位到同一存储器组件的同一平面的另一块,重新定位到同一存储器组件上的另一平面,或重新定位到存储器子系统110的不同存储器组件。
图9是根据本公开的一些实施例的在数据完整性扫描之后使用分层准则用于块刷新的实例方法的流程图。方法900可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法900由图1的扫描确定组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。
在操作910处,处理装置执行数据完整性扫描以确定块上的每一字线的错误率。与存储于块处的数据相关联的错误率可归因于读取干扰而增加。因此,在块上执行阈值数目的读取操作后,存储器子系统110即刻可执行扫描或其它数据完整性检查以验证存储于块处的数据不包含任何错误,或错误的数目低到合适程度。在扫描期间,扫描确定组件113识别一或多个可靠性统计数据,例如RBER,其表示存储于块处的数据在每单位时间经历的位错误数目。在一个实施例中,在扫描期间,扫描确定组件113从块读取原始码字(即,一系列固定数目的位)。扫描确定组件113可将码字应用于ECC解码器以产生经解码码字并且将经解码码字与原始码字进行比较。扫描确定组件113可计数经解码码字和原始码字之间的翻转位的数目,其中翻转位的数目与码字中的位的总数目的比表示RBER。扫描确定组件113可对额外码字重复此过程直到块中的每一字线已经扫描。
在操作920处,处理装置确定块中的特定字线的最高错误率是否满足错误阈值准则(即,满足或超过错误阈值)。在一个实施例中,扫描确定组件113将块中的既定字线的最高错误率与表示存储器组件的错误校正能力的错误阈值进行比较。如果最高错误率不满足或超过错误阈值,那么处理装置返回到操作810并且等待从主机系统120接收到另一读取请求。
如果块的最高错误率满足错误阈值准则,那么在操作930处,处理装置确定多少个字线具有满足错误阈值准则的错误率并且确定字线的数目是否满足折叠阈值准则。一般来说,错误阈值准则通常是基于ECC解码器的硬解码阈值,以便使错误处置触发速率降到最小。不过,在实践中,对于读取重试和软解码能力,可存在显著读取干扰余量。块中具有最高错误率的字线可受局部化读取应力(例如,单字线读取干扰应力)影响或可能固有地比其它字线更差。因而,基于此一个字线刷新整个块可能是不必要的。因此,扫描确定组件113可在决定刷新块之前,确定是否有阈值数目的字线具有超过错误阈值的错误率。如果具有高错误率的字线的数目不满足折叠阈值准则,那么扫描确定组件可依赖于内置到存储器子系统110中来处置那些错误的错误处置过程。
如果具有高错误率的字线的数目确实满足折叠阈值准则,那么在操作940处,处理装置将来自块的数据重新定位到另一块并且重置读取计数器的读取计数值(例如,重置为0或某一其它初始值)。在一个实施例中,扫描确定组件113读取存储于块中的数据并且将所述数据写入到另一块。一旦数据已经写入到其它块,便擦除存储于初始块中的数据且所述初始块可用于被编程有新数据。取决于实施例,数据重新定位到同一存储器组件的同一平面的另一块,重新定位到同一存储器组件上的另一平面,或重新定位到存储器子系统110的不同存储器组件。
图10说明计算机系统1000的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任一或多种方法的指令集。在一些实施例中,计算机系统1000可对应于包含、耦合到或使用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,执行操作系统以执行与图1的扫描确定组件113对应的操作)的主机系统(例如,图1的主机系统120)。在替代性实施例中,机器可连接(例如,网络连接)到LAN、内联网、外联网或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器、或能够(依序或以其它方式)执行指定由机器采取的动作的一组指令的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种。
实例计算机系统1000包含处理装置1002、主存储器1004(例如,只读存储器(ROM)、闪存存储器、动态随机存取存储器(DRAM)例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器1006(例如,闪存存储器、静态随机存取存储器(SRAM)等),以及数据存储系统1018,其经由总线1030彼此通信。
处理装置1002表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置1002也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置1002被配置成执行指令1026以用于执行本文中所论述的操作和步骤。计算机系统1000可另外包含网络接口装置1008以在网络1020上通信。
数据存储系统1018可包含机器可读存储媒体1024(也称为计算机可读媒体),其上存储有一或多个指令集1026或体现本文中所描述的方法或功能中的任一或多种的软件。指令1026还可在由计算机系统1000执行期间完全或至少部分地驻存在主存储器1004内和/或处理装置1002内,主存储器1004和处理装置1002也构成机器可读存储媒体。机器可读存储媒体1024、数据存储系统1018和/或主存储器1004可对应于图1的存储器子系统110。
在一个实施例中,指令1026包含用以实施对应于图1的扫描确定组件113的功能性的指令。尽管在实例实施例中机器可读存储媒体1024示出为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。
已关于计算机存储器内的数据位的操作的算法和符号表示而呈现先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给本领域的其它技术人员的方式。算法在这里并且通常被认为是导致期望的结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、要素、符号、字符、项、数目等是方便的。
然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或其可以包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,如但不限于任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种各样的这些系统的结构。此外,并不参考任何特定编程语言来描述本公开。应了解,可以使用各种编程语言来实施如本文所描述的本公开的教示内容。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、闪存存储器组件等。
在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

Claims (20)

1.一种系统,其包括:
存储器组件,其包括多个块;和
处理装置,其以操作方式与所述存储器组件耦合以进行以下操作:
从主机系统接收第一读取请求,其中所述第一读取请求被引导到存储于所述存储器组件的所述多个块中的一块中的第一地址处的第一数据;
确定所述第一地址位于所述块的第一区内;
响应于所述第一地址位于所述第一区内,使所述块的读取计数器递增默认量;
从所述主机系统接收第二读取请求,其中所述第二读取请求被引导到存储于所述存储器组件的块中的第二地址处的第二数据;
确定所述第二地址位于所述块的第二区内;和
响应于所述第二地址位于所述第二区内,使所述块的所述读取计数器递增经缩放量。
2.根据权利要求1所述的系统,其中所述第一区包括以下中的至少一个:单字线SWL读取干扰受害区,或所述块的与所述第二区内的字线相比具有较小读取干扰能力的字线集。
3.根据权利要求2所述的系统,其中所述第二区包括其它区,且其中所述第二区内的所述字线与所述第一区内的字线相比具有较高读取干扰能力。
4.根据权利要求1所述的系统,其中所述经缩放量包括鉴于所述块的缩放因子确定的所述默认量的分数。
5.根据权利要求4所述的系统,其中所述缩放因子包括所述第二区的读取干扰能力与所述第一区的读取干扰能力的比。
6.根据权利要求1所述的系统,其中所述处理装置还进行以下操作:
确定所述读取计数器的值满足关于在所述块上执行的读取操作的数目的阈值准则;和
响应于所述读取计数器的所述值满足所述阈值准则,执行数据完整性扫描以确定所述块的每一字线的错误率。
7.根据权利要求6所述的系统,其中为执行所述数据完整性扫描,所述处理装置进行以下操作:
确定所述块的字线的最大错误率是否满足错误阈值准则;
响应于所述最大错误率满足所述错误阈值准则,确定所述块的字线的数目是否满足折叠阈值准则,所述数目的字线具有满足所述错误阈值准则的错误率;
响应于所述字线的数目满足所述折叠阈值准则:
将存储于所述块中的数据重新定位到所述存储器组件上的另一块;和
将所述读取计数器的所述值重置为初始值;和
响应于所述字线的数目不满足所述折叠阈值准则,依赖于所述系统的错误处置过程。
8.一种操作存储器子系统的方法,其包括:
执行数据完整性扫描以确定存储器组件的块的多个字线中的每一个的错误率;
基于所述所确定的错误率,识别所述多个字线的与所述块的第一区相关联的第一子集;
基于所述所确定的错误率,识别所述多个字线的与所述块的第二区相关联的第二子集;
基于所述所确定的错误率,鉴于错误阈值确定所述第一区的第一读取干扰能力;
基于所述所确定的错误率,鉴于所述错误阈值确定第二区的第二读取干扰能力;基于所述第一读取干扰能力和所述第二读取干扰能力,确定所述块的读取计数缩放因子;和
响应于接收到被引导到所述块的一或多个读取请求,鉴于所述读取计数缩放因子使所述块的读取计数器递增。
9.根据权利要求8所述的方法,其中所述第一区包括以下中的至少一个:单字线SWL读取干扰受害区,或所述块的与所述第二区内的字线相比具有较小读取干扰能力的字线集,且其中识别所述多个字线的与所述第一区相关联的所述第一子集包括识别所述所确定的对应错误率超过第一阈值的字线。
10.根据权利要求9所述的方法,其中所述第二区包括具有与所述第一区内的字线相比具较高读取干扰能力的字线的其它区,且其中识别所述多个字线的与所述第二区相关联的所述第二子集包括识别所述所确定的对应错误率低于第二阈值的字线。
11.根据权利要求8所述的方法,其中确定所述第一区的所述第一读取干扰能力包括:
确定所述多个字线的所述第一子集的第一最大错误率;和
将所述第一最大错误率与所述块的错误阈值进行比较,其中所述第一读取干扰能力包括所述第一最大错误率和所述错误阈值之间的差。
12.根据权利要求8所述的方法,其中确定所述第二区的所述第二读取干扰能力包括:
确定所述多个字线的所述第二子集中的每一个的第二最大错误率;和
将所述第二最大错误率与所述块的错误阈值进行比较,其中所述第二读取干扰能力包括所述第二最大错误率和所述错误阈值之间的差。
13.根据权利要求8所述的方法,其中确定所述读取计数缩放因子包括确定所述第二区的所述第二读取干扰能力与所述第一区的所述第一读取干扰能力的比。
14.根据权利要求8所述的方法,其另外包括:
针对被引导到所述第一区的读取请求,使所述块的所述读取计数器递增默认量;和
针对被引导到所述第二区的读取请求,使所述块的所述读取计数器递增经缩放量,其中所述经缩放量包括鉴于所述缩放因子确定的所述默认量的分数。
15.一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时使所述处理装置进行以下操作:
从主机系统接收第一读取请求,其中所述第一读取请求被引导到存储于存储器组件的块中的第一地址处的第一数据;
确定所述第一地址位于所述块的第一区内;
响应于所述第一地址位于所述第一区内,使所述块的读取计数器递增默认量;
从所述主机系统接收第二读取请求,其中所述第二读取请求被引导到存储于所述存储器组件的块中的第二地址处的第二数据;
确定所述第二地址位于所述块的第二区内;和
响应于所述第二地址位于所述第二区内,使所述块的所述读取计数器递增经缩放量。
16.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述第一区包括以下中的至少一个:单字线SWL读取干扰受害区,或所述块的与所述第二区内的字线相比具有较小读取干扰能力的字线集,其中所述第二区包括其它区,且其中所述第二区内的所述字线与所述第一区内的字线相比具有较高读取干扰能力。
17.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述经缩放量包括鉴于所述块的缩放因子确定的所述默认量的分数。
18.根据权利要求17所述的非暂时性计算机可读存储媒体,其中所述缩放因子包括所述第二区的读取干扰能力与所述第一区的读取干扰能力的比。
19.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述指令进一步致使所述处理装置进行以下操作:
确定所述读取计数器的值满足关于在所述块上执行的读取操作的数目的阈值准则;和
响应于所述读取计数器的所述值满足所述阈值准则,执行数据完整性扫描以确定所述块的每一字线的错误率。
20.根据权利要求19所述的非暂时性计算机可读存储媒体,其中为执行所述数据完整性扫描,所述指令进一步致使所述处理装置进行以下操作:
确定所述块的字线的最大错误率是否满足错误阈值准则;
响应于所述最大错误率满足所述错误阈值准则,确定所述块的字线的数目是否满足折叠阈值准则,所述数目的字线具有满足所述错误阈值准则的错误率;
响应于所述字线的数目满足所述折叠阈值准则:
将存储于所述块中的数据重新定位到所述存储器组件上的另一块;和
将所述读取计数器的所述值重置为初始值;和
响应于所述字线的数目不满足所述折叠阈值准则,依赖于所述系统的错误处置过程。
CN202010768291.4A 2019-08-02 2020-08-03 用于数据完整性扫描的读取计数缩放因子 Active CN112309479B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/530,628 US11287998B2 (en) 2019-08-02 2019-08-02 Read count scaling factor for data integrity scan
US16/530,628 2019-08-02

Publications (2)

Publication Number Publication Date
CN112309479A true CN112309479A (zh) 2021-02-02
CN112309479B CN112309479B (zh) 2024-06-25

Family

ID=74258665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010768291.4A Active CN112309479B (zh) 2019-08-02 2020-08-03 用于数据完整性扫描的读取计数缩放因子

Country Status (2)

Country Link
US (2) US11287998B2 (zh)
CN (1) CN112309479B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115910168A (zh) * 2021-08-05 2023-04-04 美光科技公司 存储器装置的快速可靠性扫描

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11133076B2 (en) * 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
US11287998B2 (en) * 2019-08-02 2022-03-29 Micron Technology, Inc. Read count scaling factor for data integrity scan
KR102695175B1 (ko) * 2019-10-11 2024-08-14 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US11699498B2 (en) 2020-12-04 2023-07-11 Micron Technology, Inc. Managing probabilistic data integrity scan intervals
US11609857B2 (en) 2020-12-04 2023-03-21 Micron Technology, Inc. Identification and caching of frequent read disturb aggressors
US11467737B2 (en) 2020-12-04 2022-10-11 Micron Technology, Inc. Reducing probabilistic data integrity scan collisions
US11409599B2 (en) * 2020-12-04 2022-08-09 Micron Technology, Inc. Managing probabilistic data integrity scans in workloads with localized read patterns
US11853602B2 (en) * 2021-08-11 2023-12-26 Micron Technology, Inc. Techniques for adjusting a granularity associated with read disturb tracking
US11922029B2 (en) * 2022-06-02 2024-03-05 Micron Technology, Inc. Modified read counter incrementing scheme in a memory sub-system
US12045130B2 (en) * 2022-06-02 2024-07-23 Micron Technology, Inc. Managing data integrity using a change in a number of data errors and an amount of time in which the change occurred
US12061551B2 (en) * 2022-08-26 2024-08-13 Micron Technology, Inc. Telemetry-capable memory sub-system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040228197A1 (en) * 2000-09-14 2004-11-18 Nima Mokhlesi Compressed event counting technique and application to a flash memory system
US20090034328A1 (en) * 2007-08-03 2009-02-05 Bong-Gwan Seol Memory system protected from errors due to read disturbance and reading method thereof
US20140173180A1 (en) * 2012-12-14 2014-06-19 Sandisk Technologies Inc. Tracking read accesses to regions of non-volatile memory
CN105874541A (zh) * 2014-03-17 2016-08-17 桑迪士克科技有限责任公司 通过对非易失性存储器的分区内的读取访问的计数来检测存储器上的读取干扰
US9711234B1 (en) * 2016-03-17 2017-07-18 EMC IP Holding Co., LLC Non-volatile memory read/write disturb monitoring
US20180374549A1 (en) * 2017-06-26 2018-12-27 Micron Technology, Inc. Methods of error-based read disturb mitigation and memory devices utilizing the same

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100802059B1 (ko) 2006-09-06 2008-02-12 삼성전자주식회사 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
US9195584B2 (en) 2012-12-10 2015-11-24 Sandisk Technologies Inc. Dynamic block linking with individually configured plane parameters
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9552171B2 (en) * 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US10014060B2 (en) * 2015-01-30 2018-07-03 Sandisk Technologies Llc Memory system and method for reducing read disturb errors
US10108472B2 (en) 2015-05-13 2018-10-23 SK Hynix Inc. Adaptive read disturb reclaim policy
KR20180059208A (ko) * 2016-11-25 2018-06-04 삼성전자주식회사 리클레임 제어부를 갖는 메모리 콘트롤러 및 그에 따른 동작 제어 방법
US10714195B2 (en) * 2017-08-31 2020-07-14 SK Hynix Inc. Read disturb detection and recovery with adaptive thresholding for 3-D NAND storage
US11287998B2 (en) * 2019-08-02 2022-03-29 Micron Technology, Inc. Read count scaling factor for data integrity scan

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040228197A1 (en) * 2000-09-14 2004-11-18 Nima Mokhlesi Compressed event counting technique and application to a flash memory system
US20090034328A1 (en) * 2007-08-03 2009-02-05 Bong-Gwan Seol Memory system protected from errors due to read disturbance and reading method thereof
US20140173180A1 (en) * 2012-12-14 2014-06-19 Sandisk Technologies Inc. Tracking read accesses to regions of non-volatile memory
CN104813408A (zh) * 2012-12-14 2015-07-29 桑迪士克科技股份有限公司 跟踪对非易失性存储器的区域的读访问
CN105874541A (zh) * 2014-03-17 2016-08-17 桑迪士克科技有限责任公司 通过对非易失性存储器的分区内的读取访问的计数来检测存储器上的读取干扰
US9711234B1 (en) * 2016-03-17 2017-07-18 EMC IP Holding Co., LLC Non-volatile memory read/write disturb monitoring
US20180374549A1 (en) * 2017-06-26 2018-12-27 Micron Technology, Inc. Methods of error-based read disturb mitigation and memory devices utilizing the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115910168A (zh) * 2021-08-05 2023-04-04 美光科技公司 存储器装置的快速可靠性扫描

Also Published As

Publication number Publication date
CN112309479B (zh) 2024-06-25
US20220179577A1 (en) 2022-06-09
US11782627B2 (en) 2023-10-10
US20210034274A1 (en) 2021-02-04
US11287998B2 (en) 2022-03-29

Similar Documents

Publication Publication Date Title
CN112309479B (zh) 用于数据完整性扫描的读取计数缩放因子
CN113168875B (zh) 读取干扰扫描合并
US11200957B2 (en) Read disturb scan consolidation
US11688485B2 (en) Self-adaptive read voltage adjustment using boundary error statistics for memories with time-varying error rates
CN112216331B (zh) 使用具有时变错误率的存储器的方向错误统计的自适应读电压调节
US11836392B2 (en) Relocating data to low latency memory
CN114981892A (zh) 预读取及读取阈值电压优化
CN114175163A (zh) 基于存储器子系统的特性执行刷新操作
US11810627B2 (en) Selective read disturb sampling
CN112166406B (zh) 管理包含具有不同特性的存储器装置的存储器系统
CN111273857A (zh) 基于可靠性统计分布的数据块的子组的数据的选择性重定位
US11163488B2 (en) Extended cross-temperature handling in a memory sub-system
US11404141B2 (en) Preemptive read refresh in memories with time-varying error rates
US20210373787A1 (en) Changing of memory components to be used for a stripe based on an endurance condition

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
GR01 Patent grant
GR01 Patent grant