CN112740331A - 基于存储器组件特性组件刷新存储在存储器组件处的数据 - Google Patents

基于存储器组件特性组件刷新存储在存储器组件处的数据 Download PDF

Info

Publication number
CN112740331A
CN112740331A CN201980062646.3A CN201980062646A CN112740331A CN 112740331 A CN112740331 A CN 112740331A CN 201980062646 A CN201980062646 A CN 201980062646A CN 112740331 A CN112740331 A CN 112740331A
Authority
CN
China
Prior art keywords
memory component
memory
threshold
determining
write
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
CN201980062646.3A
Other languages
English (en)
Other versions
CN112740331B (zh
Inventor
朱方芳
J·朱
戴颖煜
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 CN112740331A publication Critical patent/CN112740331A/zh
Application granted granted Critical
Publication of CN112740331B publication Critical patent/CN112740331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40626Temperature related aspects of refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Dram (AREA)

Abstract

对存储器组件执行一或多个写入操作。就自对所述存储器组件执行刷新操作以来对所述存储器组件执行的所述多个写入操作的数量是否超过阈值进行确定。响应于确定对所述存储器组件执行的写入操作的所述数量超过所述阈值,基于所述多个写入操作标识所述存储器组件的存储器胞元。对存储在所述存储器组件的紧邻经标识的存储器胞元的存储器胞元处的数据进行刷新。

Description

基于存储器组件特性组件刷新存储在存储器组件处的数据
技术领域
本公开的实施例总体上涉及存储器子系统,并且更具体地,涉及基于存储器组件特性组件刷新存储在存储器组件处的数据。
背景技术
存储器子系统可以包含存储数据的一或多个存储器组件,如交叉点阵列。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。通常,主机系统可以利用存储器子系统来将数据存储在存储器组件处并从存储器组件中检索数据。
附图说明
根据下文给出的详细描述和本公开的各种实施方案的附图,将更充分地理解本公开。
图1展示了根据本公开的一些实施例的包含存储器子系统的示例计算环境。
图2是根据本公开的一些实施例的用于响应于对存储器组件执行的写入操作的数量超过阈值而刷新在存储器组件的存储器胞元处存储的数据的示例方法的流程图。
图3是根据本公开的一些实施例的用于基于所生成的随机值对紧邻的存储器胞元执行刷新操作的示例方法的流程图。
图4是根据本公开的实施例的基于对存储器子系统的存储器组件执行的写入操作的数量刷新数据的图示。
图5A是根据本公开的一些实施例的基于确定所确定的值和随机值不匹配而确定不执行刷新操作的图示。
图5B是根据本公开的一些实施例的基于确定所确定的值和随机值匹配而确定执行刷新操作的图示。
图6A展示了根据本公开的实施例的确定是否调整对存储器子系统的存储器组件执行刷新操作的阈值。
图6B展示了根据本公开的实施例的调整对存储器子系统的存储器组件执行刷新操作的阈值。
图7是根据本公开的实施例的紧邻存储器组件的经标识的存储器胞元的存储器胞元的图示。
图8是根据本公开的一些实施例的用于确定经标识存储器胞元是否与最近刷新操作相关联的示例方法的流程图。
图9是示例计算机系统的框图,可以在所述示例计算机系统中操作本公开的实施方案。
具体实施方式
本公开的各方面涉及基于一或多个存储器组件特性对存储在存储器组件处的数据进行刷新。存储器子系统在下文中也被称为“存储器装置”。存储器子系统的实例是如固态驱动器(SSD)等存储系统。在一些实施例中,存储器子系统是混合存储器/存储子系统。通常,主机系统可以利用包含一或多个存储器组件的存储器子系统。主机系统可以提供要存储在存储器子系统处的数据,并且可以请求从存储器子系统中检索数据。
常规存储器子系统的存储器组件可以包含存储器胞元,所述存储器胞元可以存储与从主机系统接收的数据相对应的二进制数据的一或多个位。存储器组件可以是例如交叉点阵列存储器。当数据被写入到交叉点阵列存储器组件的存储器胞元以供存储时,邻近或相邻的存储器胞元可能经历所谓的写入干扰。写入干扰是在没有写入和/或刷新存储在邻近存储器胞元处的数据的情况下不断地将数据写入到特定存储器胞元从而使邻近存储器胞元随时间推移而改变(例如,经编程的状态改变)的结果。如果对特定存储器胞元执行太多的写入操作,则存储在存储器组件的相邻或紧邻的存储器胞元处的数据可能会遭损坏或被不正确地存储在相邻或紧邻的存储器胞元处。因此,当读取存储在相邻或紧邻的存储器胞元处的数据时,可能会导致更高的错误率。对于对存储器胞元执行的后续操作(例如,读取和/或写入),更高的错误率可能增加错误检测和纠正操作(例如,错误控制操作)的使用。错误控制操作的增加使用可能导致常规存储器子系统的性能下降。在用于执行错误控制操作的存储器子系统的资源越多时,可以用于执行其它读取操作或写入操作的资源就越少。因此,存储器子系统的性能可能随着可以在特定时间量内执行的读取操作和写入操作更少而降低。
为了减轻写入干扰对存储在存储器子系统处的数据的影响,常规存储器子系统通常将对存储器组件的管理单元执行的多个写入操作作为存储器组件上的元数据存储。管理单元可以定义为由存储器组件管理和/或操作的用户数据单元。例如,管理单元可以是存储在存储器组件处的千字节(KB)用户数据。对管理单元执行的多个写入操作可以从存储在存储器组件处的元数据中读取并用于确定存储器组件的部分中的一或多个部分(例如,紧邻的存储器胞元)的干扰计数。在没有对特定管理单元执行干预写入或刷新操作的情况下,干扰计数可以对应于对所述特定管理单元执行的写入操作的数量。
一旦干扰计数超过写入操作的阈值数量,就可以对存储器组件的管理单元的数据进行刷新。然而,在交叉点阵列类型存储器中,由于交叉点阵列类型存储器的高持久性,存储器组件的管理单元可能相对较小,并且写入计数的数量可能以百万计。存储干扰计数可能导致存储器子系统的大额开销,所述存储器子系统专门用于存储对存储器组件的管理单元执行的许多写入操作。此外,在常规存储器子系统中,在每次对特定管理单元执行写入操作时,都会从存储器组件中读取与针对特定管理单元的许多写入操作相关联的元数据,所述元数据递增以反映最近执行的写入操作,并且然后经更新的元数据被写回到存储器组件。对存储器组件的每个管理单元执行维持写入计数元数据的方法。每执行一次写入操作,这些操作的执行都会消耗大量的存储器子系统资源。此外,存储器组件可以包含数十万个管理单元。维持数量如此庞大的管理单元的写入计数元数据会消耗存储器子系统的大量计算资源。这会导致存储器子系统的性能下降以及用于存储用户数据的存储器子系统的容量减少。
本公开的各方面通过以基于与存储器组件相关联的一或多个特性的频率刷新存储在存储器组件处的数据解决了以上和其它缺陷。在从主机系统中接收数据并将其写入到存储器组件的存储器胞元时,对针对存储器组件执行的写入操作的数量进行计数。不同于利用对存储器组件的每个管理单元执行的写入操作的单独计数的常规存储器子系统,本公开的实施例可以利用对存储器组件而非对每个管理单元执行的写入操作的单个计数。一旦写入操作的数量超过阈值,就标识存储器组件的存储器胞元。阈值可以基于在特定数量的写入操作之后写入干扰影响存储在存储器组件的存储器胞元处的数据的概率来确定。例如,如果在不刷新数据的情况下执行1000个写入操作之后,写入干扰影响存储在存储器组件的存储器胞元处的数据的概率为0.01%,则阈值可以是小于1000个写入操作的写入操作的数量。
写入干扰影响存储在存储器胞元处的数据的概率可以基于与存储器组件相关联的一或多个特性。与存储器组件相关联的特性的实例可以包含对存储器组件执行的写入操作的总数量、存储器组件的温度、存储在存储器组件处的数据的漂移时间以及存储器组件的管芯到管芯变化。
当对存储器组件执行的写入操作的数量超过阈值时,标识与对存储器组件执行的写入操作相关联的存储器胞元。例如,可以标识与对存储器组件执行的写入操作中的最近写入操作相关联的存储器胞元。
如先前所讨论的,当数据被写入到存储器胞元(如经标识的存储器胞元)时,存储在邻近存储器胞元处的数据可能会受到写入干扰压力的影响。因此,在标识出与写入操作相关联的存储器胞元后,存储在邻近(例如,紧邻)经标识的存储器胞元的一或多个存储器胞元处的数据被刷新。刷新存储在所述一或多个邻近存储器胞元处的数据可以包含从所述一或多个存储器胞元中读取数据,然后将数据写回到所述一或多个存储器胞元。通过刷新存储在所述一或多个存储器胞元处的数据,可减轻由于对经标识的存储器胞元执行的写入操作所导致的写入干扰压力对存储在所述一或多个存储器胞元处的数据的影响。一旦已经在所述一或多个存储器胞元处刷新了数据,就可以将对存储器组件执行的写入操作的数量的计数重置为0,并且可以执行后续操作(例如,读取或写入操作)。
本公开的优势包含但不限于增加了存储在存储器子系统处的数据的可靠性。例如,通过将存储在邻近存储器胞元中的数据刷新到最近已经被写入的存储器胞元,可以减轻写入干扰压力对存储在邻近存储器胞元中的数据的影响。由于减轻了写入干扰压力对存储在邻近胞元中的数据的影响,因此在存储在存储器子系统处的数据中发现的错误的数量减少。与存储在邻近存储器胞元处的数据相关联的错误率减小可以减少由存储器子系统执行的错误纠正操作的数量并且改善存储器子系统的性能。此外,通过利用针对存储器组件的单个写入计数而非利用针对存储器组件的每个管理单元的写入计数,可减少专用于追踪存储器组件的写入计数的计算资源量。另外,利用针对存储器组件的单个写入计数而非利用针对存储器组件的每个管理单元的写入计数减少了专用于存储对应于每个管理单元的写入计数的元数据的存储器子系统的存储量。由于专用于追踪写入计数的计算资源更少,因此计算资源可以用于针对主机系统执行其它操作(例如,读取和写入数据),并且存储器子系统存储来自主机系统的数据的容量得以增加。这使得存储器子系统的性能得以改善。
图1展示了根据本公开的一些实施例的包含存储器子系统110的示例计算环境100。存储器子系统110可以包含媒体,如存储器组件112A到112N。存储器组件112A到112N可以是易失性存储器组件、非易失性存储器组件或其组合。在一些实施例中,存储器子系统是存储系统。存储系统的实例是SSD。在一些实施例中,存储器子系统110是混合存储器/存储子系统。通常,计算环境100可以包含使用存储器子系统110的主机系统120。例如,主机系统120可以将数据写入存储器子系统110并且从存储器子系统110读取数据。
主机系统120可以是计算装置,如台式计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可以包含或耦接到存储器子系统110,使得主机系统120可以从存储器子系统110读取数据或将数据写入所述存储器子系统。主机系统120可以通过物理主机接口耦接到存储器子系统110。如本文所使用的,“耦接到”通常是指组件之间的连接,其可以是有线或无线的间接通信连接或直接通信连接(例如,在没有介入组件的情况下),包含如电连接、光学连接、磁连接等连接。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、光纤信道、串行附接的SCSI(SAS)等。物理主机接口可以用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦接时,主机系统120可以进一步利用NVM快速(NVMe)接口对存储器组件112A到112N进行存取。物理主机接口可以提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。
存储器组件112A到112N可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(negative-and)(NAND(与非))型闪速存储器。存储器组件112A到112N中的每个存储器组件可以包含如单级胞元(SLC)或多级胞元(MLC)(例如,三级胞元(TLC)或四级胞元(QLC))等存储器胞元的一或多个阵列。在一些实施例中,特定存储器组件可以包含存储器胞元的SLC部分和MLC部分两者。存储器胞元中的每个存储器胞元可以存储由主机系统120使用的数据的一或多个位(例如,数据块)。尽管描述了如与非型闪速存储器等非易失性存储器组件,但是存储器组件112A到112N可以基于如易失性存储器等任何其它类型的存储器。在一些实施例中,存储器组件112A到112N可以是但不限于随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、或非(negative-or)(NOR(或非))闪速存储器、电可擦可编程只读存储器(EEPROM)以及非易失性存储器胞元的交叉点阵列。非易失性存储器的交叉点阵列可以结合可堆叠交叉网格数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于闪速的存储器相比,交叉点非易失性存储器可以执行原地写入操作,其中可以对非易失性存储器胞元进行编程而无需预先擦除非易失性存储器胞元。此外,存储器组件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包含干扰减轻组件113,所述干扰减轻组件可以用于以基于与存储器组件相关联的特性的频率对存储在存储器组件处的数据进行刷新。在一些实施例中,控制器115包含干扰减轻组件113的至少一部分。例如,控制器115可以包含被配置成执行存储在本地存储器119中的用于执行本文所描述的操作的指令的处理器117(处理装置)。在一些实施例中,干扰减轻组件113是主机系统120、应用或操作系统的一部分。
干扰减轻组件113可以确定对存储器组件执行的写入操作的数量是否超过阈值。干扰减轻组件113可以响应于确定所执行的写入操作的数量超过阈值而标识存储器组件的存储器胞元。干扰减轻组件113可以进一步对存储在存储器组件的紧邻经标识的存储器胞元的存储器胞元处的数据进行刷新。下文描述关于干扰减轻组件113的操作的另外的细节。
图2是根据本公开的一些实施例的用于响应于对存储器组件执行的写入操作的数量超过阈值而刷新在存储器组件的存储器胞元处存储的数据的示例方法200的流程图。方法200可以由处理逻辑执行,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200由图1的干扰减轻组件113执行。尽管以特定序列或顺序示出,但除非另有指定,否则可以修改过程的顺序。因此,展示的实施例应被理解为只是实例,并且展示的过程可以按不同的顺序执行,并且一些过程可以并行地执行。另外,可以在各个实施例中省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流程是可能的。
在框210处,处理逻辑对存储器组件执行一或多个写入操作。写入操作可以包含从主机系统接收用户数据并将用户数据存储在存储器组件的一或多个存储器胞元处。在框220处,处理逻辑确定对存储器组件执行的写入操作的数量是否超过阈值。对存储器组件执行的写入操作的数量可以对应于对存储器组件的任何存储器胞元执行的写入操作而非对存储器组件的特定管理单元执行的写入操作。由于写入操作的数量是在存储器组件水平上而非针对存储器组件的每个管理单元追踪的,所以存储器子系统的专用于追踪写入操作的数量的计算资源量得以减少。尽管本公开的实施例讨论了在每存储器组件基础上对所执行的写入操作的数量进行追踪,但在一些实施例中,写入操作的数量可以是对存储器子系统执行的写入操作的数量。
阈值可以对应于写入干扰影响存储在存储器组件的一或多个存储器胞元处的数据的概率。例如,如果在不刷新数据的情况下执行1000个写入操作之后,写入干扰影响存储在存储器组件的存储器胞元处的数据的概率较高,则阈值可以是小于1000个写入操作的写入操作的数量。在实施例中,为了使写入干扰对存储在存储器组件处的数据的影响最小化,阈值可以包含安全因素。例如,如果在已经对存储器组件执行1000个写入操作之后,写入干扰可能影响存储在存储器组件处的数据的概率较高,则阈值可以设置为对存储器组件执行的100个写入操作。由于更频繁地刷新(例如,在100个写入操作之后)存储在存储器组件处的数据,所以写入干扰影响存储在存储器组件的一或多个存储器胞元处的数据的可能性减小。
阈值可以基于与存储器组件相关联的各个特性。与存储器组件相关联的一个特性可以是对存储器组件执行的写入操作的总数量。对存储器组件执行的写入操作的总数量可以对应于在存储器组件的生命周期期间对存储器组件执行的写入操作的总数量。在对存储器组件的存储器胞元执行写入操作时,存储器胞元可能会退化。存储器胞元的退化使存储在存储器胞元处的数据更快地受到写入干扰压力的影响。因此,与对存储器组件执行的写入操作数量更低的存储器组件的存储器胞元相比,在对存储器组件执行的写入操作数量更高的存储器组件的存储器胞元处存储的数据刷新得更频繁。
与存储器组件相关联的另一个特性可以是存储器组件的温度。随着存储器组件的温度增加,存储在存储器组件的存储器胞元处的数据受写入干扰影响的概率增大。因此,存储在温度更高的存储器组件的存储器胞元处的数据可能比存储在温度更低的存储器组件的存储器胞元处的数据刷新得更频繁。所以,包含存储器组件的存储器子系统的操作温度可以用于确定写入操作的阈值。
与存储器组件相关联的另一个特性可以是针对存储在存储器组件的存储器胞元处的数据的漂移时间。漂移时间可以对应于自数据被写入到存储器胞元以来流逝的时间量。例如,如果自数据被写入到存储器胞元以来已经流逝了24小时,则漂移时间为24小时。在实施例中,为了追踪存储器组件的存储器胞元的漂移时间,可以将存储器胞元分成管理单元。当对具有特定管理单元或管理单元组的存储器胞元执行写入操作时,可以生成对应于执行写入操作的时间的时间戳(或何时执行写入操作的其它此类指示)并且将其分配给特定管理单元或管理单元组。在实施例中,时间戳可以对应于对具有管理单元或管理单元组的存储器胞元执行写入操作的最近的时间。在一些实施例中,时间戳可以对应于对具有管理单元或管理单元组的存储器胞元执行写入操作的最不接近的时间。随着存储在管理单元或管理单元组处的数据的漂移时间增加,写入干扰将影响存储在具有管理单元或管理单元组的存储器胞元处的数据的概率也会增加。因此,存储在漂移时间更高的具有管理单元或管理单元组的存储器胞元处的数据可能比漂移时间更低的具有管理单元或管理单元组的存储器胞元刷新得更频繁。
与存储器组件相关联的另一个特性可以是管芯到管芯变化。多个存储器组件中的某一存储器组件的管芯可以表现出不同的特性和性能,所述不同的特性和性能是由于存储器组件的制造过程而引起的管芯组成变化的结果。因此,与存储器组件的其它管芯相比,存储器组件的一些管芯可以更可靠地(例如,需要更少的错误纠正操作)存储数据。在从存储器组件的不同管芯中读取数据后,可以确定与数据相关联的错误率,并将所述错误率用于标识弱管芯。弱管芯可以对应于错误率超过阈值的管芯。例如,如果错误率的阈值是从管芯读取的数据中每百万位250个错误,并且从特定管芯读取的数据被确定为所读取数据中每百万位具有300个错误,则特定管芯可以被标识为弱管芯。存储在弱管芯处的数据更易于受到写入干扰压力的影响。因此,随着与存储在管芯处的数据相关联的错误率增加,存储在管芯处的数据刷新的频率也增加。
在框230处,处理逻辑基于在框210处执行的写入操作标识存储器组件的存储器胞元。处理逻辑响应于确定所执行的写入操作的数量超过阈值而标识存储器胞元。例如,如果阈值为50个写入操作,并且已经对存储器组件执行50个写入操作,则写入操作的数量超过阈值。在实施例中,经标识的存储器胞元可以对应于在框210处执行的所述一或多个写入操作期间被写入的最近的存储器胞元。在一些实施例中,经标识的存储器胞元可以对应于在框210处执行的所述一或多个写入操作期间被写入的存储器胞元中的任何一个存储器胞元。在一个实施例中,如将在下文中进一步详细描述的,处理逻辑可以确定经标识的存储器胞元是否与最近的刷新操作相关联并响应于与最近的刷新操作相关联的经标识的存储器胞元而标识出另一个存储器胞元。
在框240处,处理逻辑对存储在存储器组件的紧邻经标识的存储器胞元的一或多个存储器胞元处的数据进行刷新。所述一或多个紧邻的存储器胞元可以对应于与经标识的存储器胞元相邻的存储器胞元。刷新存储在存储器组件的所述一或多个存储器胞元处的数据可以包含读取存储在所述一或多个存储器胞元处的数据以及将数据写回到所述一或多个存储器胞元。通过刷新存储在所述一或多个存储器胞元处的数据,可以减轻由对经标识的存储器胞元执行的写入操作所导致的写入干扰压力对存储在所述一或多个存储器胞元处的数据的影响。在实施例中,在刷新存储在存储器组件的所述一或多个存储器胞元处的数据后,可以将对存储器组件执行的写入操作的数量的计数器重置为零。
在一个实施例中,在刷新存储在存储器组件的所述一或多个存储器胞元处的数据后,处理逻辑可以将与刷新操作相关联的信息存储在存储器子系统处的数据结构中。与刷新操作相关联的信息的实例可以包含对应于刷新操作的执行时间的时间戳、执行刷新操作时对存储器组件执行的写入操作的总数量以及存储器胞元的标识信息,如物理地址信息。
图3是根据本公开的一些实施例的用于基于所生成的随机值对紧邻的存储器胞元执行刷新操作的示例方法300的流程图。方法300可以由处理逻辑执行,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法300由图1的干扰减轻组件113执行。尽管以特定序列或顺序示出,但除非另外指定,否则可以修改过程的顺序。因此,展示的实施例应被理解为只是实例,并且展示的过程可以按不同的顺序执行,并且一些过程可以并行地执行。另外,可以在各个实施例中省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流程是可能的。
在框310处,处理逻辑对存储器组件的存储器胞元执行写入操作。在框320处,在对存储器组件的存储器胞元执行写入操作后,处理逻辑生成基于执行刷新操作的频率的随机值。如先前在图2中所描述的,频率可以基于写入干扰影响存储在存储器组件的存储器胞元处的数据的概率。随机值可以是来自一系列值的任何整数,其中值的范围的下界可以为零,并且值的范围的上界基于频率。例如,如果频率指示将在20个写入操作之后执行刷新操作,则随机值的范围的下界可以为零,并且随机值的范围的上界可以为19。这会产生包含20个整数的一系列值(例如,0到19),所述一系列值对应于执行刷新操作的频率。
在框330处,处理逻辑确定随机值匹配所确定的值。所确定的值可以是在基于所确定的频率的值的范围内的整数中的任何一个整数。例如,如果值的范围为0到19,则所确定的值可以是介于0与19之间的任何整数。如果所确定的值匹配在框320处生成的值,则与框310处的写入操作相关联的存储器胞元可以被标识为执行刷新操作。在实施例中,如果处理逻辑确定随机值不匹配所确定的值,则不标识执行刷新操作的存储器胞元,并且可以对存储器组件执行后续操作(例如,读取或写入操作)。
在框340处,响应于确定所确定的值匹配所生成的随机值,处理逻辑对紧邻经标识的存储器胞元的存储器胞元执行刷新操作。刷新操作可以减轻由在框310处对经标识的存储器胞元执行的写入操作所导致的写入干扰对存储在紧邻的存储器胞元处的数据的影响。
参考图3,通过利用所生成的随机值确定在执行写入操作之后是否执行刷新操作,存储器子系统不再追踪对存储器组件执行的写入操作的数量,如先前在图2中所描述的。相反,在每次对存储器组件执行写入操作时,都有一定概率可以基于所确定的频率执行刷新操作。例如,如果随机值的范围为0到19,则有5%(例如,20个中有1个)的概率将执行刷新操作。因此,并非在已经对存储器组件执行20个写入操作之后才刷新数据,而是在每次对存储器组件执行写入操作时,都有5%的概率将执行刷新操作。由于不再追踪对存储器组件执行的写入操作的数量,所以可以减少或消除存储器子系统专用于追踪写入操作的数量的计算资源量。这使得存储器子系统的性能得以提升。
图4是根据本公开的实施例的基于对存储器子系统的存储器组件执行的写入操作的数量刷新数据的图示400。图示400包含写入计数405,所述写入计数对应于对存储器子系统的存储器组件执行的写入操作的数量。在实施例中,写入计数405可以对应于在没有中间写入操作或刷新操作的情况下对存储器组件执行的写入操作的数量。图示400进一步包含阈值415,所述阈值可以对应于如先前在图2的框220处所讨论的阈值。
参考图4,在每次对存储器组件执行写入操作410时,写入计数405递增。一旦写入计数405超过为3的阈值415,就会对存储在存储器组件处的数据执行刷新操作,并且可以将写入计数405重置为零。在完成刷新操作后,可以对存储器组件执行后续写入操作420。如先前所描述的,在每次对存储器组件执行后续写入操作420,写入计数405可以递增。
图5A是根据本公开的一些实施例的基于确定所确定的值和随机值不匹配而确定不执行刷新操作的图示500。在框505处,对存储器组件执行写入操作。在对存储器组件执行写入操作后,如先前在图3的框320处所描述的生成随机值。存储器子系统可以确定所生成的随机值是否匹配所确定的值。如果所生成的随机值匹配所确定的值,则可以执行刷新操作。如果所生成的随机值不匹配所确定的值,则不执行刷新操作。
参考图5A,所确定的值510为0,并且所生成的随机值515为14。由于所确定的值510和随机值515不匹配,所以在框520处,存储器子系统可以确定不对存储器组件执行刷新操作。
图5B是根据本公开的一些实施例的基于确定所确定的值和随机值匹配而确定执行刷新操作的图示550。在框555处,对存储器组件执行写入操作。在对存储器组件执行写入操作后,如先前在图3的框320处所描述的生成随机值。
参考图5B,所确定的值560为0,并且所生成的随机值565为0。由于所确定的值560和随机值565匹配,所以在框570处,存储器子系统可以对存储器组件执行刷新操作。
图6A展示了根据本公开的实施例的确定是否调整对存储器子系统600的存储器组件执行刷新操作的阈值。存储器子系统600可以包含存储器组件605、610、630。存储器组件605、610、630中的每个存储器组件都具有相关联的漂移时间(例如,DRIFT)、温度(例如,TEMP.)、阈值(例如,THRESH.)和对存储器组件执行的写入操作的总数量(例如,WRITEOPS.)。阈值可以对应于如先前在图2的框220处所描述的阈值或如先前在图3的框320处所描述的频率。对存储器组件执行的写入操作的总数量可以对应于在存储器组件的生命周期期间对存储器组件执行的写入操作的总数量。
如先前所描述的,存储器组件的阈值可以基于存储器组件的各个特性来确定。因此,随着存储器组件的特性改变,可以调整确定对存储器组件执行刷新操作的频率的阈值。例如,当在存储器组件的生命周期内对存储器组件执行的写入操作的总数量超过写入阈值时,可以降低执行刷新操作的阈值。通过减小阈值,可以对存储器组件更频繁地执行刷新操作以减轻写入干扰压力的影响。在实施例中,阈值可以动态调整。例如,当在存储器组件的生命周期期间对存储器组件执行的写入操作的总数量增加时,阈值可以被降低。
存储器子系统600可以包含写入阈值615,所述写入阈值对应于对存储器组件执行的写入操作的总数量。当针对特定存储器组件的写入操作的总数量超过写入阈值615时,存储器子系统600可以调整针对所述特定存储器组件的阈值。存储器子系统600可以进一步包含温度阈值620,所述温度阈值对应于存储器组件的温度。当特定存储器组件的温度超过温度阈值620时,存储器子系统600可以调整针对所述特定存储器组件的阈值。另外,存储器子系统600可以包含漂移阈值625,所述漂移阈值对应于存储器组件的漂移时间。当特定存储器组件的或特定存储器组件的管理单元的漂移时间超过漂移阈值620时,存储器子系统600可以调整针对所述特定存储器组件的阈值。
参考图6A,存储器组件605的漂移时间为5小时,温度为125摄氏度,阈值为100并且写入操作的总数量为100,000。由于存储器组件605的漂移时间、温度和写入操作的总数量未超过漂移阈值625、写入阈值615或温度阈值620,所以存储器子系统600可以确定不对存储器组件605的阈值进行调整。存储器组件610的漂移时间为7小时,温度为150摄氏度,阈值为110并且写入操作的总数量为75,000。由于存储器组件610的漂移时间、温度和写入操作的总数量未超过漂移阈值625、写入阈值615或温度阈值620,所以存储器子系统600可以确定不对存储器组件610的阈值进行调整。存储器组件630的漂移时间为18小时,温度为120摄氏度,阈值为130并且写入操作的总数量为50,000。由于存储器组件630的漂移时间、温度和写入操作的总数量未超过漂移阈值625、写入阈值615或温度阈值620,所以存储器子系统600可以确定不对存储器组件630的阈值进行调整。
图6B展示了根据本公开的实施例的调整对存储器子系统650的存储器组件执行刷新操作的阈值。在图6B中,对存储器组件605执行的写入操作的总数量增加到151,000。由于对存储器组件605执行的写入操作的总数量超过150,000个写入阈值615,所以可以将存储器组件605的阈值从100调整到50。这导致对存储器组件605执行的刷新操作更频繁(例如,在执行50个写入操作之后)。存储器组件610的温度从150摄氏度增加到220摄氏度。由于存储器组件610的温度超过温度阈值620,所以可以将存储器组件610的阈值从110调整到60。存储器组件63的漂移时间从18小时增加到25小时。由于存储器组件630的漂移时间超过漂移阈值625,所以可以将存储器组件630的阈值从130调整到70。
尽管图6A和6B展示了基于温度和对存储器组件执行的写入操作的总数量的特性调整阈值,但在实施例中,阈值可以基于与存储器组件相关联的其它特性进行调整。例如,如果存储在存储器组件上的数据的漂移时间超过阈值,则可以降低阈值。在另一个实例中,如果存储器组件的特定管芯被标识为弱管芯(例如,存储在管芯处的数据的相关联的错误率超过阈值),则可以降低阈值。在一些实施例中,可以基于与单个存储器组件的不同部分相关联的特性将多个阈值分配给所述不同部分。例如,如果存储器组件的特定管理单元的漂移时间比存储器组件的另一个管理单元的漂移时间更高,则可以向具有更高的漂移时间的特定管理单元分配比具有更低的漂移时间的另一个管理单元更低的阈值。
在实施例中,存储器子系统可以利用与存储器组件相关联的一或多个特性的多个阈值。例如,可以将第一温度阈值和第二温度阈值用作用于调整存储器组件的阈值的下界和上界。如果存储器组件的温度降至第一温度阈值以下,则可以增大存储器组件的阈值,使得不那么频繁地执行刷新操作。如果存储器组件的温度超过第二温度阈值,则可以减小存储器组件的阈值,使得更频繁地执行刷新操作。
图7是根据本公开的实施例的紧邻存储器组件700的经标识的存储器胞元的存储器胞元的图示。存储器组件700包含字线705a-c和位线710a-c。存储器胞元(如存储器胞元715和720a-d)位于字线705a-c和位线710a-c中的每一个的交叉点处。当对存储器胞元执行写入操作时,写入干扰压力可能影响存储在紧邻执行写入操作的存储器胞元的存储器胞元处的数据。例如,如果对存储器胞元715执行写入操作,则写入干扰可能影响存储在存储器胞元720a-d处的数据。
因此,为了减轻由对特定存储器胞元执行的写入操作所导致的写入干扰的影响,可以如先前在图2的框230处所描述的标识所述特定存储器胞元。在标识所述特定存储器胞元后,可以对紧邻经标识的存储器胞元的存储器胞元执行刷新操作。例如,如果基于已经对存储器胞元715执行的写入操作标识存储器胞元715,则可以执行刷新操作以对存储在存储器胞元720a-d处的数据进行刷新,以便减轻写入干扰压力对存储在存储器胞元720a-d处的数据的影响。
图8是根据本公开的一些实施例的用于确定经标识存储器胞元是否与最近刷新操作相关联的示例方法800的流程图。方法800可以由处理逻辑执行,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法800由图1的干扰减轻组件113执行。尽管以特定序列或顺序示出,但除非另外指定,否则可以修改过程的顺序。因此,展示的实施例应被理解为只是实例,并且展示的过程可以按不同的顺序执行,并且一些过程可以并行地执行。另外,可以在各个实施例中省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流程是可能的。
在框810处,处理逻辑确定对存储器组件执行的写入操作的数量超过阈值。在框820处,处理逻辑基于写入操作标识存储器组件的存储器胞元。
在框830处,处理逻辑确定存储器胞元是否与最近刷新操作相关联。在实施例中,存储器胞元可以与最近刷新操作相关联,所述最近刷新操作基于自对经标识的存储器胞元执行刷新操作以来已经流逝的小于阈值时间量的时间量。例如,如果最近刷新操作的阈值时间量为24小时并且在16小时前已经对存储器胞元执行刷新操作,则存储器胞元与最近刷新操作相关联。在一个实施例中,存储器胞元可以与最近刷新操作相关联,所述最近刷新操作基于自对存储器胞元执行刷新操作以来已经对存储器组件执行的超过阈值的写入操作的数量。例如,如果写入操作的阈值数量为1,000个写入操作并且自对存储器胞元执行刷新操作以来已经对存储器组件执行500个写入操作,则存储器胞元与最近刷新操作相关联。
如先前在图2中所描述的,在完成刷新操作后,与刷新操作相关联的信息可以存储在存储器子系统处的数据结构中。处理逻辑可以通过查询数据结构的与经标识的存储器胞元的刷新操作相关联的信息来确定经标识的存储器胞元是否与最近刷新操作相关联。
如果经标识的存储器胞元被确定为与最近刷新操作相关联,则在框840处,处理逻辑标识存储器组件的另一个存储器胞元。另一个存储器胞元可以基于对存储器组件执行的写入操作。例如,如果在框820处标识的存储器胞元与最近写入操作相关联,则另一个存储器胞元可以是对存储器组件执行的写入操作的第二最近写入操作。在实施例中,另一个存储器胞元可以与对存储器组件执行的写入操作中的任何写入操作相关联。在标识存储器组件的另一个存储器胞元后,在框850处,处理逻辑对存储在紧邻另一个存储器胞元的一或多个存储器胞元处的数据进行刷新。
如果经标识的存储器胞元被确定为不与最近刷新操作相关联,则在框860处,处理逻辑对存储在紧邻经标识的存储器胞元的一或多个存储器胞元处的数据进行刷新。
图9展示了计算机系统900的示例机器,可以在所述计算机系统内执行用于使机器执行本文所讨论的方法中的任何一或多种方法的指令集。在一些实施例中,计算机系统900可以对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦接到或利用存储器子系统(例如,图1的存储器子系统110)或可以用于执行控制器的操作(例如,以执行操作系统,从而执行对应于图1的干扰减轻组件113的操作)。在替代性实施例中,机器可以连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可以在客户端-服务器网络环境中以服务器或客户端机器的能力进行操作,作为对等(或分布式)网络环境中的对等机器,或作为云计算基础架构或环境中的服务器或客户端机器。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web设备、服务器、网络路由器、交换机或桥接器或能够(顺序或以其它方式)执行指定由所述机器要采取的动作的指令集的任何机器。进一步地,虽然展示了单个机器,但是术语“机器”还应被视为包含单独地或联合地执行指令集(或多个指令集)以执行本文所讨论的方法中的任何一或多种方法的机器的任何集合。
示例计算机系统900包含通过总线930彼此通信的处理装置902、主存储器904(例如,只读存储器(ROM)、闪存、动态随机存取存储器(DRAM)如同步DRAM(SDRAM)或兰巴斯(Rambus)DRAM(RDRAM)等)、静态存储器906(例如,闪存、静态随机存取存储器(SRAM)等)和数据存储系统918。
处理装置902表示一或多个通用处理装置,如微处理器、中央处理单元等。更具体地,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器或实施指令集组合的处理器。处理装置902还可以是一或多个专用处理装置,如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置902被配置成执行用于执行本文中所讨论的操作和步骤的指令926。计算机系统900可以进一步包含网络接口装置908以通过网络920进行通信。
数据存储系统918可以包含其上存储有使本文所描述的方法或功能中的任何一或多种方法或功能具体化的一或多个指令集926的或软件的机器可读存储媒体924(也被称为计算机可读媒体)。在计算机系统900执行指令926期间,所述指令还可以完全地或至少部分地驻留在主存储器904内和/或处理装置902内,主存储器904和处理装置902还构成机器可读存储媒体。机器可读存储媒体924、数据存储系统918和/或主存储器904可以对应于图1的存储器子系统110。
在一个实施例中,指令926包含用于实施对应于干扰减轻组件(例如,图1的干扰减轻组件113)的功能的指令。虽然在示例实施例中示出的机器可读存储媒体924是单个媒体,但是术语“机器可读存储媒体”应被认为包含存储所述一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码由机器执行且使机器执行本公开的方法中的任何一或多种方法的指令集的任何媒体。因此,术语“机器可读存储媒体”应被视为包含但不限于固态存储器、光学媒体和磁性媒体。
已经在对计算机存储器内的数据位的操作的算法和符号表示方面呈现了前面详细描述的说明的一些部分。这些算法描述和表示是数据处理领域的技术人员用来向本领域的其它技术人员最有效地传递其工作实质的方式。算法在此处并且通常被认为是产生期望结果的操作的自相一致序列。所述操作是需要对物理量进行物理操纵的操作。通常但不一定,这些量采用能够被存储、组合、比较和以其它方式操纵的电或磁信号的形式。已经证明,主要出于通用的原因,有时将这些信号称为比特、值、元素、符号、字符、术语、数字等是便利的。
然而,应当记住的是,这些和类似术语中的全部术语将与适当的物理数量相关联并且仅是应用于这些量上的方便标签。本公开可以涉及计算机系统或类似的电子计算装置的动作和过程,所述计算机系统或类似的电子计算装置对在计算机系统的寄存器和存储器内表示为物理(电子)量的数据进行操作,并将其转换为在计算机系统的存储器或寄存器或其它此类信息存储系统内以类似方式表示为物理量的其它数据。
本公开还涉及一种用于执行本文的操作的设备。此设备可以被专门构造用于所需目的,或者其可以包含通过计算机中存储的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可以存储在计算机可读存储媒体中,所述计算机可读存储媒体如但不限于各自耦接到计算机系统总线的任何类型的盘(包含软盘、光盘、CD-ROM和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或者适于存储电子指令的任何类型的媒体。
本文所提出的算法和显示并非固有地与任何特定计算机或其它设备相关。各种通用系统可以与根据本文的教导的程序一起使用,或者可以证明,构造用于执行所述方法的更具专用性的设备是方便的。用于各种这些系统的结构将如以下的描述中阐述那样显现。另外,本公开不参考任何特定的编程语言进行描述。应理解,可以使用各种编程语言来实施如本文描述的本公开的教导。
本公开可以被提供为计算机程序产品或软件,所述计算机程序产品或软件可以包含其上存储有指令的机器可读媒体,所述指令可以用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于以机器(例如,计算机)可读形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、闪速存储器组件等。
在前述说明书中,已经参考其具体实例实施例对本公开的实施例进行描述。将显而易见的是,在不脱离如以下权利要求书中阐述的本公开的实施例的更广泛的精神和范围的情况下,可以对所述实施例进行各种修改。因此,说明书和附图应被视为说明性意义的,而不是限制性意义的。

Claims (20)

1.一种系统,其包括:
存储器组件;以及
处理装置,所述处理装置操作性地耦接到所述存储器组件,以:
对所述存储器组件执行多个写入操作;
确定自对所述存储器组件执行刷新操作以来对所述存储器组件执行的所述多个写入操作的数量是否超过阈值;
响应于确定对所述存储器组件执行的写入操作的所述数量超过所述阈值,基于所述多个写入操作标识所述存储器组件的存储器胞元;并且
对存储在所述存储器组件的紧邻经标识的存储器胞元的多个存储器胞元处的数据进行刷新。
2.根据权利要求1所述的系统,其中所述阈值基于写入干扰影响存储在所述存储器组件处的数据的概率确定。
3.根据权利要求1所述的系统,其中所述经标识的存储器胞元与所述多个写入操作的最近写入操作相关联。
4.根据权利要求1所述的系统,其中所述存储器组件包括交叉点阵列。
5.根据权利要求1所述的系统,其中所述处理装置进一步用于:
读取存储在所述存储器组件处的其它数据;
确定与存储在所述存储器组件处的所述其它数据相关联的错误率超过错误率阈值;以及
响应于确定与存储在所述存储器组件处的所述其它数据相关联的所述错误率超过所述错误率阈值,对所述阈值进行调整。
6.根据权利要求1所述的系统,其中所述处理装置进一步用于:
确定对所述存储器组件执行的写入操作的总数量是否超过写入操作阈值;以及
响应于确定对所述存储器组件执行的写入操作的所述总数量超过所述写入操作阈值,对所述阈值进行调整。
7.根据权利要求1所述的系统,其中所述处理装置进一步用于:
标识与所述存储器组件相关联的漂移时间;
确定所述与所述存储器组件相关联的漂移时间超过漂移时间阈值;以及
响应于确定所述与所述存储器组件相关联的漂移时间超过所述漂移时间阈值,对所述阈值进行调整。
8.根据权利要求1所述的系统,其中所述处理装置进一步用于:
标识与所述存储器组件相关联的温度;
确定所述与所述存储器组件相关联的温度是否满足温度阈值;以及
响应于确定所述与所述存储器组件相关联的温度满足所述温度阈值,对所述阈值进行调整。
9.根据权利要求1所述的系统,其中所述处理装置进一步用于:
确定所述存储器组件的所述经标识的存储器胞元是否与最近刷新操作相关联;
响应于确定所述存储器组件的所述经标识的存储器胞元与最近刷新操作相关联,标识所述存储器组件的另一个存储器胞元;以及
对存储在所述存储器组件的紧邻另一个存储器胞元的另外多个存储器胞元处的数据进行刷新。
10.一种方法,其包括:
对存储器组件执行写入操作;
生成基于执行刷新操作的频率的随机值;
由处理装置确定所生成的随机值是否匹配所确定的值;
响应于确定所述所生成的随机值匹配所述所确定的值,标识所述存储器组件的存储器胞元;以及
对所述存储器组件的紧邻所述经标识的存储器胞元的多个存储器胞元执行刷新操作。
11.根据权利要求10所述的方法,其进一步包括:
读取存储在所述存储器组件处的数据;
确定与存储在所述存储器组件处的所述数据相关联的错误率超过错误率阈值;以及
响应于确定与存储在所述存储器组件处的所述数据相关联的所述错误率超过所述错误率阈值,对所述频率进行调整。
12.根据权利要求10所述的方法,其进一步包括:
确定对所述存储器组件执行的写入操作的总数量是否超过写入操作阈值;以及
响应于确定对所述存储器组件执行的写入操作的所述总数量超过所述写入操作阈值,对所述频率进行调整。
13.根据权利要求10所述的方法,其进一步包括:
标识与所述存储器组件相关联的漂移时间;
确定所述与所述存储器组件相关联的漂移时间超过漂移时间阈值;以及
响应于确定所述与所述存储器组件相关联的漂移时间超过所述漂移时间阈值,对所述频率进行调整。
14.根据权利要求10所述的方法,其进一步包括:
标识与所述存储器组件相关联的温度;
确定所述与所述存储器组件相关联的温度是否满足温度阈值;以及
响应于确定所述与所述存储器组件相关联的温度满足所述温度阈值,对所述频率进行调整。
15.根据权利要求10所述的方法,其进一步包括:
确定所述存储器组件的所述经标识的存储器胞元是否与最近刷新操作相关联;
响应于确定所述存储器组件的所述经标识的存储器胞元与最近刷新操作相关联,标识所述存储器组件的另一个存储器胞元;以及
对存储在所述存储器组件的紧邻另一个存储器胞元的另外多个存储器胞元处的数据进行刷新。
16.一种非暂时性计算机可读存储媒体,其包括指令,所述指令当由处理装置执行时使所述处理装置:
对存储器组件执行多个写入操作;
确定自对所述存储器组件执行刷新操作以来对所述存储器组件执行的所述多个写入操作的数量是否超过阈值;
响应于确定对所述存储器组件执行的写入操作的所述数量超过所述阈值,基于所述多个写入操作标识所述存储器组件的存储器胞元;以及
对存储在所述存储器组件的紧邻经标识的存储器胞元的多个存储器胞元处的数据进行刷新。
17.根据权利要求16所述的非暂时性计算机可读存储媒体,其中所述阈值基于写入干扰影响存储在所述存储器组件处的数据的概率确定。
18.根据权利要求16所述的非暂时性计算机可读存储媒体,其中所述处理装置进一步用于:
读取存储在所述存储器组件处的其它数据;
确定与存储在所述存储器组件处的所述其它数据相关联的错误率超过错误率阈值;以及
响应于确定与存储在所述存储器组件处的所述其它数据相关联的所述错误率超过所述错误率阈值,对所述阈值进行调整。
19.根据权利要求16所述的非暂时性计算机可读存储媒体,其中所述处理装置进一步用于:
确定对所述存储器组件执行的写入操作的总数量是否超过写入操作阈值;以及
响应于确定对所述存储器组件执行的写入操作的所述总数量超过所述写入操作阈值,对所述阈值进行调整。
20.根据权利要求16所述的非暂时性计算机可读存储媒体,其中所述处理装置进一步用于:
标识与所述存储器组件相关联的漂移时间;
确定所述与所述存储器组件相关联的漂移时间超过漂移时间阈值;以及
响应于确定所述与所述存储器组件相关联的漂移时间超过所述漂移时间阈值,对所述阈值进行调整。
CN201980062646.3A 2018-08-21 2019-08-15 基于存储器组件特性组件刷新存储在存储器组件处的数据 Active CN112740331B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/107,878 2018-08-21
US16/107,878 US10672486B2 (en) 2018-08-21 2018-08-21 Refreshing data stored at a memory component based on a memory component characteristic component
PCT/US2019/046707 WO2020041099A1 (en) 2018-08-21 2019-08-15 Refreshing data stored at a memory component based on a memory component characteristic component

Publications (2)

Publication Number Publication Date
CN112740331A true CN112740331A (zh) 2021-04-30
CN112740331B CN112740331B (zh) 2024-03-29

Family

ID=69586568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980062646.3A Active CN112740331B (zh) 2018-08-21 2019-08-15 基于存储器组件特性组件刷新存储在存储器组件处的数据

Country Status (5)

Country Link
US (3) US10672486B2 (zh)
EP (1) EP3841575A4 (zh)
KR (1) KR20210034678A (zh)
CN (1) CN112740331B (zh)
WO (1) WO2020041099A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11056166B2 (en) * 2019-07-17 2021-07-06 Micron Technology, Inc. Performing a refresh operation based on a characteristic of a memory sub-system
US11086389B2 (en) * 2019-10-29 2021-08-10 Western Digital Technologies, Inc. Method and system for visualizing sleep mode inner state processing
US11907570B2 (en) * 2020-02-25 2024-02-20 Micron Technology, Inc. Predictive media management for read disturb
US20220076726A1 (en) * 2020-09-04 2022-03-10 Micron Technology, Inc. Methods and apparatus for probabilistic refresh in volatile memory devices
US11776611B2 (en) * 2021-08-03 2023-10-03 Micron Technology, Inc. Managing write disturb for units of a memory device using weighted write disturb counts
US11853617B2 (en) * 2021-09-07 2023-12-26 Micron Technology, Inc. Managing write disturb based on identification of frequently-written memory units

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101627444A (zh) * 2007-10-03 2010-01-13 株式会社东芝 半导体存储装置
US9299428B2 (en) * 2014-02-13 2016-03-29 SK Hynix Inc. Resistive memory apparatus and operation method thereof
US20170269979A1 (en) * 2016-03-15 2017-09-21 International Business Machines Corporation Autonomous dram scrub and error counting

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645770B2 (en) * 2012-01-18 2014-02-04 Apple Inc. Systems and methods for proactively refreshing nonvolatile memory
US9257169B2 (en) * 2012-05-14 2016-02-09 Samsung Electronics Co., Ltd. Memory device, memory system, and operating methods thereof
US9236110B2 (en) * 2012-06-30 2016-01-12 Intel Corporation Row hammer refresh command
US9384821B2 (en) * 2012-11-30 2016-07-05 Intel Corporation Row hammer monitoring based on stored row hammer threshold value
KR102105894B1 (ko) * 2013-05-30 2020-05-06 삼성전자주식회사 휘발성 메모리 장치 및 그것의 리프레쉬 방법
US9396786B2 (en) * 2013-09-25 2016-07-19 SK Hynix Inc. Memory and memory system including the same
KR102182381B1 (ko) * 2013-12-11 2020-11-24 에스케이하이닉스 주식회사 어드레스 저장회로, 메모리 및 이를 포함하는 메모리 시스템
KR102193993B1 (ko) * 2014-02-21 2020-12-22 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR102194003B1 (ko) * 2014-02-25 2020-12-22 삼성전자주식회사 메모리 모듈 및 이를 포함하는 메모리 시스템
WO2016067846A1 (ja) 2014-10-31 2016-05-06 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
KR102329673B1 (ko) * 2016-01-25 2021-11-22 삼성전자주식회사 해머 리프레쉬 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템
US9711234B1 (en) 2016-03-17 2017-07-18 EMC IP Holding Co., LLC Non-volatile memory read/write disturb monitoring
US10459793B2 (en) 2016-03-17 2019-10-29 Western Digital Technologies, Inc. Data reliability information in a non-volatile memory device
KR20180035981A (ko) 2016-09-29 2018-04-09 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US9881682B1 (en) 2016-11-23 2018-01-30 Seagate Technology Llc Fine grained data retention monitoring in solid state drives
US10566048B2 (en) * 2017-11-13 2020-02-18 Western Digital Technologies, Inc. Managing refresh operations for a memory device
US10586592B1 (en) * 2018-08-23 2020-03-10 Micron Technology, Inc. Disturb management based on write times
US11056166B2 (en) * 2019-07-17 2021-07-06 Micron Technology, Inc. Performing a refresh operation based on a characteristic of a memory sub-system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101627444A (zh) * 2007-10-03 2010-01-13 株式会社东芝 半导体存储装置
US9299428B2 (en) * 2014-02-13 2016-03-29 SK Hynix Inc. Resistive memory apparatus and operation method thereof
US20170269979A1 (en) * 2016-03-15 2017-09-21 International Business Machines Corporation Autonomous dram scrub and error counting

Also Published As

Publication number Publication date
US20200294608A1 (en) 2020-09-17
US20200066362A1 (en) 2020-02-27
WO2020041099A1 (en) 2020-02-27
KR20210034678A (ko) 2021-03-30
US11587628B2 (en) 2023-02-21
US20220051737A1 (en) 2022-02-17
US11164641B2 (en) 2021-11-02
EP3841575A1 (en) 2021-06-30
EP3841575A4 (en) 2022-04-27
CN112740331B (zh) 2024-03-29
US10672486B2 (en) 2020-06-02

Similar Documents

Publication Publication Date Title
CN112740331B (zh) 基于存储器组件特性组件刷新存储在存储器组件处的数据
US10950315B1 (en) Preread and read threshold voltage optimization
US11455194B2 (en) Management of unmapped allocation units of a memory sub-system
US11615830B2 (en) Performing a refresh operation based on a characteristic of a memory sub-system
US11544008B2 (en) Temperature correction in memory sub-systems
US11749373B2 (en) Bad block management for memory sub-systems
US11249679B2 (en) Selecting a write operation mode from multiple write operation modes
US11836392B2 (en) Relocating data to low latency memory
CN113168884A (zh) 使用与存储器子系统相关联的错误控制成功率实施粘性读取
US11636913B2 (en) Tracking and refreshing state metrics in memory sub-systems
WO2020033487A1 (en) Adjustment of a pre-read operation associated with a write operation
US11404141B2 (en) Preemptive read refresh in memories with time-varying error rates
US11106370B2 (en) Changing of memory components to be used for a stripe based on an endurance condition
CN116343875A (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
GR01 Patent grant
GR01 Patent grant