CN112119382B - 用于检测存储器系统中的错误的自适应扫描频率 - Google Patents

用于检测存储器系统中的错误的自适应扫描频率 Download PDF

Info

Publication number
CN112119382B
CN112119382B CN201980032753.1A CN201980032753A CN112119382B CN 112119382 B CN112119382 B CN 112119382B CN 201980032753 A CN201980032753 A CN 201980032753A CN 112119382 B CN112119382 B CN 112119382B
Authority
CN
China
Prior art keywords
scans
memory device
time interval
error rate
memory
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.)
Active
Application number
CN201980032753.1A
Other languages
English (en)
Other versions
CN112119382A (zh
Inventor
K·R·布兰特
W·C·菲利皮亚克
M·G·麦克尼雷
K·K·姆奇尔拉
S·K·瑞特南
合田晃
T·A·马夸特
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 CN112119382A publication Critical patent/CN112119382A/zh
Application granted granted Critical
Publication of CN112119382B publication Critical patent/CN112119382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/079Root cause analysis, i.e. error or fault diagnosis
    • 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
    • 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
    • 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
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • 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/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • 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/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • 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/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

以第一组扫描中的每个扫描之间的第一时间间隔对存储器系统中的存储器装置执行所述第一组扫描,以检测所述存储器装置上的错误,通过执行所述第一组扫描,确定在所述存储器装置上检测到的错误率在改变,以及响应于确定在所述存储器装置上检测到的所述错误率在改变,以第二组扫描中的每个扫描之间的第二时间间隔执行所述第二组扫描,以检测所述存储器装置上的错误,其中,所述第二时间间隔不同于所述第一时间间隔。

Description

用于检测存储器系统中的错误的自适应扫描频率
技术领域
本公开总体涉及一种存储器系统,并且更具体地,涉及一种用于检测存储器系统中的错误的自适应扫描频率。
背景技术
存储器系统可以是诸如固态驱动器(SSD)之类的存储系统,并且可以包含存储数据的一或多个存储器组件。例如,存储器系统可以包含诸如非易失性存储器装置和易失性存储器装置之类的存储器装置。通常,主机系统可以利用存储器系统来将数据存储在存储器系统的存储器装置处并检索存储在存储器系统处的数据。
发明内容
在一个方面,本申请涉及一种方法,所述方法包括:以第一组扫描中的每个扫描之间的第一时间间隔对存储器系统中的存储器装置执行所述第一组扫描,以检测所述存储器装置上的错误;通过执行所述第一组扫描,将第一错误率确定为所述第一组扫描中的第一数量的扫描检测到的错误比率,以及将第二错误率确定为所述第一组扫描中的第二数量的扫描检测到的错误比率;通过执行所述第一组扫描,通过将所述第一错误率与所述第二错误率进行比较,确定在所述存储器装置上检测到的错误率在改变;以及响应于通过执行所述第一组扫描确定在所述存储器装置上检测到的所述错误率在改变,以第二组扫描中的每个扫描之间的第二时间间隔执行所述第二组扫描,以检测所述存储器装置上的错误,其中,所述第二时间间隔不同于所述第一时间间隔。
在另一方面,本申请涉及一种系统,所述系统包括:存储器装置;和处理装置,联接到所述存储器装置,其中,所述处理装置被配置为:以第一数量的扫描中的每个之间的第一时间间隔执行所述第一数量的扫描,以检测所述存储器装置上的错误;将第一错误率确定为所述第一数量的扫描检测到的错误比率;以及响应于在所述存储器装置上检测到的所述错误率满足阈值,以第二数量的扫描中的每个之间的第二时间间隔执行所述第二数量的扫描,以检测所述存储器装置上的错误。
在另一方面,本申请涉及一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质包括指令,当由处理装置执行时,所述指令使所述处理装置执行以下操作:以第一组扫描中的每个扫描之间的第一时间间隔对存储器系统中的存储器装置执行所述第一组扫描,以检测所述存储器装置上的错误;通过执行所述第一组扫描,将第一错误率确定为所述第一组扫描中的第一数量的扫描检测到的错误比率,以及将第二错误率确定为所述第一组扫描中的第二数量的扫描检测到的错误比率;通过执行所述第一组扫描,通过将所述第一错误率与所述第二错误率进行比较,确定在所述存储器装置上检测到的错误率在改变;以及响应于通过执行所述第一组扫描确定在所述存储器装置上检测到的所述错误率在改变,以第二组扫描中的每个扫描之间的第二时间间隔执行所述第二组扫描,以检测所述存储器装置上的错误,其中,所述第二时间间隔不同于所述第一时间间隔。
附图说明
根据以下给出的详细描述和本公开的各种实施方式的附图,将更全面地理解本公开。
图1示出了根据本公开的多个实施例的包含存储器系统的示例计算环境。
图2是根据本公开的多个实施例的在检测存储器系统中的错误时动态地改变扫描频率的示例方法的流程图。
图3是根据本公开的多个实施例的扫描结果的示例的图。
图4是本公开的实施方式可以在其中操作的示例计算机系统的框图。
具体实施方式
本公开的方面涉及调节扫描频率以检测存储器系统中的存储器装置中的错误。存储器系统可以是诸如固态驱动器(SSD)之类的存储系统。在一些实施例中,存储器系统是混合存储器/存储系统。通常,主机系统可以利用包含一或多个存储器装置的存储器系统。存储器装置可以包含非易失性存储器装置,诸如例如,与非(NAND)。主机系统可以提供写入请求以将数据存储在存储器系统的存储器装置处,并且可以提供读取请求以检索存储在存储器系统处的数据。
存储器系统能够进行扫描(例如,背景扫描)以检测存储器装置中的错误(例如,介质缺陷)。由于较频繁地发生错误,存储器装置可能劣化。扫描可以检测和纠正错误和/或管理错误。对于常规存储器系统,扫描通常以固定的速率执行。例如,可以每24小时进行一次扫描。但是,如果发生错误的频率高于扫描速率,则常规存储器系统的扫描可能无法及时检测到错误以纠正错误,这可能导致数据损坏和/或数据丢失。
本公开的方面通过以自适应扫描频率执行扫描来解决上述和其他缺陷。本公开的实施例包含以可以响应于检测到错误的速率而动态改变的频率扫描存储器装置。在各种实施例中,可以响应于随着时间加速的存储器装置的劣化而调节扫描的频率。例如,可将扫描频率初始设置为每24小时发生一次。在4次扫描之后可以检测到第一错误,再扫描3次之后可以检测到第二错误,并且再扫描2次之后可以检测到第三错误。此错误数据可以指示存储器劣化正在加速,并且错误的发生将可能比24小时扫描速率更快,这会导致无法纠正的错误。作为响应,本公开动态地增加扫描频率。例如,扫描被动态改变为每12小时发生一次而不是每24小时发生一次。在另一示例中,本公开描述了响应于指示错误较不频繁地发生的错误数据而动态地降低扫描频率。降低扫描频率可以例如减少计算装置的功耗。
在多个实施例中,存储器装置上的特定位置可以具有特定的扫描频率。例如,如果一或多个字线比其他字线更频繁地故障,则可以比其他字线更频繁地扫描所述一或多个字线。
如本文进一步所述,错误频率的改变可以触发特定操作。例如,错误频率的增加可以指示存储器装置可能正在劣化。可以响应于达到错误的阈值频率而使存储器装置的块和/或字线退出,以防止由于一或多个无法纠正的错误引起的数据损坏和/或数据丢失。在一些实施例中,响应于错误频率的改变来调节修整设置。
图1示出了根据本公开的多个实施例的包含存储器系统110的示例计算环境100。存储器系统110可以包含诸如存储器装置112A至112N之类的介质。存储器装置112A至112N可以是易失性存储器装置、非易失性存储器装置或它们的组合。在一些实施例中,存储器系统110是存储系统。存储系统的示例是固态驱动器(SSD)。通常,计算环境100可以包含使用存储器系统110的主机系统120。在一些实施方式中,主机系统120可以将数据写入存储器系统110并从存储器系统110读取数据。在一些实施例中,存储器系统110是混合存储器/存储系统。
主机系统120可以是诸如台式计算机、膝上型计算机、网络服务器、移动装置之类的计算装置,或者是包含存储器和处理装置的此类计算装置。主机系统120可以包含或联接到存储器系统110,使得主机系统120可以从存储器系统110读取数据或向所述存储器系统写入数据。主机系统120可以经由物理主机接口联接到存储器系统110。如本文所使用的,“联接到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含诸如电、光、磁等之类的连接。物理主机接口的示例包含但不限于串行高级技术附件(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)等。物理主机接口可以用于在主机系统120和存储器系统110之间传输数据。当存储器系统110通过PCIe接口与主机系统120联接时,主机系统120可以进一步利用NVM Express(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的存储器单元可以被分组为存储页面或数据块,它们可以指代用于存储数据的存储器装置的单元。
控制器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可以包含自适应扫描组件113(例如,电路系统、专用逻辑、可编程逻辑、固件等)以执行本文描述的操作。自适应扫描组件113可以设置用于扫描存储器装置112A至112N的特定扫描速率,并且可以响应于利用扫描检测到的错误率而实时地动态地改变扫描速率。如本文所使用的,术语实时用于指示在时间上接近其原因发生的事件,例如,没有不必要的延迟。例如,自适应扫描组件113可以以第一数量的扫描中的每个之间的第一时间间隔执行所述第一数量的扫描,以检测存储器装置112A至112N上的错误,并使控制器115纠正错误。自适应扫描组件113可以确定检测到的错误的频率是否改变。例如,自适应扫描组件113可以确定较频繁地或较不频繁地检测到错误。响应于检测到的错误的频率的改变,自适应扫描组件113可以实时修改扫描速率以改变要执行的后续扫描的频率。例如,如果较频繁地检测到错误,则自适应扫描组件113可以增加扫描存储器装置112A至112N的频率。在另一示例中,如果较不频繁地检测到错误,则自适应扫描组件113可以降低扫描存储器装置112A至112N的频率。
在多个实施例中,自适应扫描组件113可以响应于错误频率的改变而触发要调节的存储器系统110的可调节算法、电压、电流和/或基于时间的设置。例如,自适应扫描组件113可以响应于第一数量的扫描以变化的频率检测错误而向控制器115发送通知以调节存储器装置112A至112N的修整设置(例如,读取和/或写入电压)。调节修整设置的示例包含并且不限于调节读取和/或写入电压、读取和/或写入电流、基于时间的设置以及算法。例如,存储器系统110中的固件可以包含用于基于错误的特征来调节修整设置的算法。
在多个实施例中,存储器装置112A至112N包含区段。存储器装置112A至112N可以包含区段,诸如并且不限于通道、封装件、管芯、平面、块、页面、单元等)。存储器装置112A至112N的存储器单元可以布置成行(例如,每行对应于字线)和列(例如,每列对应于位线)。例如,存储器装置可以包含第一区段和第二区段。自适应扫描组件113可以监视针对这些区段检测到的错误的频率。存储器系统110中的固件可以对错误进行计数并以小时、分钟、秒来跟踪通电时间等。
自适应扫描组件113可以响应于存储器装置112A至112N的区段达到错误的阈值频率而触发所述区段退出。例如,存储器系统110中的固件可以在特定区域中包含阈值数量的错误。当区域达到其阈值数量的错误时,存储器系统110将使所述区域退出。在一些示例中,所述区域是管芯。区段可以各自具有不同的阈值,或者区段组可以具有彼此不同的阈值。区段的阈值频率可以预先配置和/或由用户定义。例如,第一区段和/或第二区段可以是一或多个字线。如果一或多个字线达到错误的阈值频率,则所述一或多个字线可以退出以防止数据丢失。
在多个实施例中,自适应扫描组件113可以为存储器装置112A至112N上的特定区段设置扫描频率。存储器装置的特定区段的扫描频率可以不同于存储器装置112A至112N的另一区段。响应于在第一区段中第一数量的扫描以变化的频率检测到错误,可以在存储器装置112A至112N的第一区段中执行第二数量的扫描。第二数量的扫描可以在所述第二数量的扫描中的每个之间具有第二时间间隔,所述第二时间间隔不同于第一数量的扫描中的每个之间的第一时间间隔。在一些实施例中,第一区段和/或第二区段可以是一或多个字线。例如,如果一或多个字线比其他字线更频繁地故障,则可以比其他字线更频繁地扫描所述一或多个字线。
自适应扫描组件113可以动态地改变用于多次扫描存储器装置112A至112N的扫描速率。例如,自适应扫描组件113可以检测到错误较不频繁地发生,并且可以调节扫描速率以较不频繁地扫描存储器装置。之后,自适应扫描组件113可以检测到错误较频繁地发生,并且可以调节扫描速率以较频繁地扫描存储器装置。
存储器系统110可以包含未示出的附加电路系统或组件。例如,存储器系统110可以包含高速缓存或缓冲器(例如,DRAM)以及可以从控制器115接收地址并解码所述地址以访问存储器装置112A至112N的地址电路系统(例如,行解码器和列解码器)。
图2是根据本公开的一些实施方式在检测存储器系统中的错误时动态地改变扫描频率的示例方法200的流程图。方法200可以由处理逻辑来执行,所述处理逻辑可以包含硬件(例如,电路系统、专用逻辑、可编程逻辑、微代码等)、软件(诸如在处理装置上运行的指令)、固件或它们的组合。在一个实施例中,图1的自适应扫描组件113可以执行方法200。尽管以特定的序列或顺序示出,但是除非另有说明,否则可以修改过程的顺序。因此,所示出的实施方式应仅被理解为示例,并且所示出的过程可以以不同的顺序执行,并且一些过程可以并行执行。另外,在各个实施例中可以省略一或多个过程。因此,并非在每个实施方式中都需要所有过程。其他的过程流是可能的。
在框210处,处理装置以第一组扫描中的每个扫描之间的第一时间间隔对存储器系统中的存储器装置执行所述第一组扫描,以检测所述存储器装置上的错误。在一些实施例中,存储器系统是固态驱动器。时间间隔可以例如以天、小时、分钟和/或秒或它们的任何组合来设置。时间间隔可以是可配置的、预定义的和/或用户定义的。
在框220处,如下面结合图3更详细描述地,通过执行第一组扫描,处理装置确定在存储器装置上检测到的错误率在改变。
在框230处,响应于确定在存储器装置上检测到的错误率在改变,处理装置以第二组扫描中的每个扫描之间的第二时间间隔执行所述第二组扫描。第二时间间隔不同于第一时间间隔。
如果在存储器装置上发生的错误率随着频率增加而改变,则处理装置可以使用小于第一时间间隔的第二时间间隔。处理装置可以从所执行的各种扫描的结果来确定在存储器装置中发生的错误率。
图3是根据本公开的多个实施例的扫描结果的示例的图300。y轴312可以表示从扫描中检测到的错误的数量。x轴314可以表示基于时间间隔执行的扫描。扫描之间的时间间隔可以以天、小时、分钟、秒和/或它们的任何组合来设置。在此示例中,扫描之间的时间间隔初始设置为24小时,使得扫描频率初始设置为每天扫描1次。在第一天,扫描1可能未检测到任何错误。同样,在第二天和第三天,扫描2和扫描3可能未检测到任何错误。但是,在第四天,扫描4可能检测到错误,如图300所示。
处理装置可以将检测到的错误率确定为错误检测与自从检测到上个错误以来执行的扫描数量的比率。例如,处理装置可以确定在执行4次扫描之后检测到第一错误,并且错误检测率是1:4。在第5天,扫描5未检测到错误。在第6天,扫描6检测到另一错误。处理装置可以确定再执行两次扫描之后检测到第二错误,并且新的错误检测率为1:2。
处理装置可以将新的错误检测率(例如1:2)与先前的错误检测率(例如1:4)进行比较,以确定所述比率是否已改变。在此示例中,由于在4次扫描后检测到第一个错误并且在2次扫描后检测到第二错误,因此错误数据表明错误速率随频率增加而改变。为了防止由于无法纠正的错误引起的数据损坏和/或数据丢失,处理装置可以调节扫描之间的时间间隔以将时间间隔从例如24小时减少到例如12小时。
如果在存储器装置上发生的错误率随着频率降低而改变,则处理装置可以使用大于第一时间间隔的第二时间间隔。例如,扫描7、扫描8、扫描9、扫描10和扫描11可能未检测到任何错误。处理装置可以确定比率已经改变,因为通过至少执行2次扫描未检测到错误,并且在2次扫描后检测到上个错误。在此示例中,处理装置可以确定错误率可能在降低。为了增加计算系统(例如,图1中的计算系统100)的性能,处理装置可以调节扫描之间的时间间隔以将时间间隔增加例如从12小时增加到例如24小时。
存储器装置可以包含区段,诸如并且不限于通道、封装件、管芯、平面、块、页面、单元等)。存储器装置的存储器单元可以布置成行(例如,每行对应于字线和列(例如,每列对应于位线)。在一些实施例中,处理装置以第二时间间隔对存储器装置的区段执行第二组扫描。在一些实施例中,以第一时间间隔对存储器装置的特定区段执行第一组扫描,并且以第二时间间隔对存储器装置的不同区段执行第二组扫描。
在一些实施例中,处理装置确定在存储器装置的区段上发生的错误率是否满足阈值。阈值可以是可配置的、预定义的和/或用户定义的。可以将阈值设置为发生错误的比率或发生错误的数量。当满足阈值时,处理装置可以改变对存储器装置执行的扫描速率。例如,响应于检测到已满足第一数量的扫描的阈值错误率,处理装置可以以第二数量的扫描中的每个扫描之间的第二时间间隔执行所述第二数量的扫描。
进一步地,第二数量的扫描可以在存储器装置的一或多个区段中执行。在本公开的多个实施例中,可以为存储器装置的一或多个特定区段设置错误阈值。区段可以各自具有不同的阈值,或者区段组可以具有彼此不同的阈值。例如,第一区段可以具有与第二区段不同的阈值。阈值可以基于存储器的类型和/或数据的优先级。例如,与每个单元1位(SLC)的位相比,可以较频繁地扫描每个单元4位(例如,QLC)的区域,并且可以基于数据的优先级较频繁地或较不频繁地扫描固件元数据、用户数据和奇偶校验数据。
在一些实施例中,如果在存储器装置的区段上发生的错误率满足阈值,则处理装置可以执行一或多个动作。例如,处理装置可以响应于确定在存储器装置的区段上发生的错误率满足阈值而使所述区段退出。例如,响应于存储器装置的第一区段达到阈值(例如,发生错误的阈值率、错误的阈值数量),处理装置可以使所述第一区段退出。
在另一示例中,如果在存储器装置的区段上发生的错误率满足阈值,则处理装置可以调节存储器装置的修整设置。在一些实施例中,处理装置响应于确定在存储器装置上发生的错误率在改变而调节存储器装置的修整设置。
图4示出了计算机系统400的示例机器,在所述计算机系统中可以执行用于使所述机器执行本文讨论的方法中的任何一个或多个的一组指令。例如,计算机系统400可以对应于包含或利用存储器系统(例如,图1的存储器系统110)的主机系统(例如,图1的主机系统120),或者可以用于执行控制器的操作(例如,执行操作系统以执行对应于图1的自适应扫描组件113的操作)。在替代实施方式中,机器可以连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其他机器。机器可以在客户端-服务器网络环境中以服务器或客户端机器的能力、作为对等(或分布式)网络环境中的对等机器、或作为云计算基础架构或环境中的服务器或客户端机器操作。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够执行一组指令(顺序指令或其他指令)的任何机器,这些指令指定该机器要执行的动作。进一步地,虽然示出了单个机器,但是术语“机器”也应被认为包含机器的任何集合,这些机器单独地或共同地执行一组(或多组)指令以执行本文讨论的方法中的任何一个或多个。示例计算机系统400包含经由总线430彼此通信的处理装置402、主存储器404(例如,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)之类的动态随机存取存储器(DRAM)等)、静态存储器406(例如,闪存、静态随机存取存储器(SRAM)等)和数据存储装置418。
处理装置402表示一或多个通用处理装置,诸如微处理器、中央处理器等。更具体地,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或者实现其他指令集的处理器、或者实现指令集组合的处理器。处理装置402还可以是一或多个专用处理装置,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置402被配置为执行指令426,以执行本文讨论的操作和步骤。计算机系统400可以进一步包含网络接口装置408,以通过网络420进行通信。
数据存储装置418可以包含机器可读存储介质424(也称为计算机可读介质),在其上存储体现本文所述方法或功能中的任何一个或多个的一或多组指令或软件426。在计算机系统400执行指令426期间,所述指令也可以全部或至少部分地驻留在主存储器404内和/或处理装置402内,主存储器404和处理装置402也构成机器可读存储介质。机器可读存储介质424、数据存储装置418和/或主存储器404可以对应于图1的存储器系统110。
在一个实施方式中,指令426包含用于实现对应于编程组件(例如,图1的自适应扫描组件113)的功能的指令。虽然在示例实施方式中将机器可读存储介质424示出为单个介质,但是术语“机器可读存储介质”应被认为包含存储一或多组指令的单个介质或多个介质(例如,集中式或分布式数据库和/或关联的高速缓存和服务器)。术语“机器可读存储介质”也应被认为包含能够存储或编码一组指令以供机器执行并且使机器执行本公开的方法中的任何一个或多个的任何介质。因此,术语“机器可读存储介质”应被认为包含但不限于固态存储器、光学介质和磁性介质。
已经在对计算机存储器内的数据位的操作的算法和符号表示方面呈现了前述详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地向本领域其他技术人员传达其工作实质的方式。算法在这里并且通常被认为是产生期望结果的自洽操作序列。这些操作是需要对物理量进行物理操纵的操作。通常,尽管不是必须的,但是这些量采取能够被存储、组合、比较和以其他方式操纵的电或磁信号的形式。已经证明,主要出于通用的原因,有时将这些信号称为位、值、元素、符号、字符、项、数字等是方便的。
然而,应当记住,所有这些和类似术语均与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非从上面的讨论明显另外指出,否则将理解,在整个描述中,本公开的方面可以指计算机系统或类似电子计算装置的动作和过程,所述计算机系统或类似电子计算装置将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和转换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储系统内的物理量的其他数据。
本公开还涉及用于执行本文操作的设备。此设备可以被特别构造用于预期目的,或者其可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可以存储在计算机可读存储介质(诸如但不限于包含软盘、光盘、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.一种存储器系统,包括:
存储器装置;和
处理装置,联接到所述存储器装置,其中,所述处理装置被配置为:
以第一组扫描中的每个扫描之间的第一时间间隔对所述存储器装置执行所述第一组扫描,以检测所述存储器装置上的错误;
通过执行所述第一组扫描,将第一错误率确定为所述第一组扫描中的第一数量的扫描检测到的错误比率,以及将第二错误率确定为所述第一组扫描中的第二数量的扫描检测到的错误比率;
通过执行所述第一组扫描,通过将所述第一错误率与所述第二错误率进行比较,确定在所述存储器装置上检测到的错误率在改变;以及
响应于通过执行所述第一组扫描确定在所述存储器装置上检测到的所述错误率在改变,以第二组扫描中的每个扫描之间的第二时间间隔执行所述第二组扫描,以检测所述存储器装置上的错误,其中,所述第二时间间隔不同于所述第一时间间隔。
10.根据权利要求9所述的存储器系统,其中,响应于确定在所述存储器装置上检测到的所述错误率随着频率增加而改变,所述第二时间间隔小于所述第一时间间隔。
11.根据权利要求9所述的存储器系统,其中,响应于确定在所述存储器装置上检测到的所述错误率随着频率降低而改变,所述第二时间间隔大于所述第一时间间隔。
12.根据权利要求9所述的存储器系统,其中,所述处理装置被进一步配置为响应于确定在所述存储器装置的区段上检测到的错误率满足阈值,在所述存储器装置的所述区段中执行所述第二组扫描。
13.根据权利要求9所述的存储器系统,其中,以所述第一时间间隔对所述存储器装置的区段执行所述第一组扫描,并且以所述第二时间间隔对所述存储器装置的不同区段执行所述第二组扫描。
14.根据权利要求9所述的存储器系统,其中,所述处理装置被进一步配置为响应于确定在所述存储器装置的区段上检测到的错误率满足阈值,使所述区段退出。
15.根据权利要求9所述的存储器系统,其中,所述处理装置被进一步配置为响应于确定在所述存储器装置上检测到的所述错误率在改变,调节所述存储器装置的修整设置。
16.根据权利要求9所述的存储器系统,其中,所述存储器系统是固态驱动器。
17.一种非暂时性计算机可读存储介质,包括指令,当由处理装置执行时,所述指令使所述处理装置执行以下操作:
以第一组扫描中的每个扫描之间的第一时间间隔对存储器系统中的存储器装置执行所述第一组扫描,以检测所述存储器装置上的错误;
通过执行所述第一组扫描,将第一错误率确定为所述第一组扫描中的第一数量的扫描检测到的错误比率,以及将第二错误率确定为所述第一组扫描中的第二数量的扫描检测到的错误比率;
通过执行所述第一组扫描,通过将所述第一错误率与所述第二错误率进行比较,确定在所述存储器装置上检测到的错误率在改变;以及
响应于通过执行所述第一组扫描确定在所述存储器装置上检测到的所述错误率在改变,以第二组扫描中的每个扫描之间的第二时间间隔执行所述第二组扫描,以检测所述存储器装置上的错误,其中,所述第二时间间隔不同于所述第一时间间隔。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其中,响应于确定在所述存储器装置上检测到的所述错误率随着频率增加而改变,所述第二时间间隔小于所述第一时间间隔,并且响应于确定在所述存储器装置上检测到的所述错误率随着频率降低而改变,所述第二时间间隔大于所述第一时间间隔。
19.根据权利要求17所述的非暂时性计算机可读存储介质,其中,以所述第一时间间隔对所述存储器装置的区段执行所述第一组扫描,并且以所述第二时间间隔对所述存储器装置的不同区段执行所述第二组扫描。
20.根据权利要求17所述的非暂时性计算机可读存储介质,其中,所述处理装置被进一步配置为:
响应于确定在所述存储器装置上检测到的所述错误率在改变,调节所述存储器装置的修整设置。
CN201980032753.1A 2018-05-17 2019-05-16 用于检测存储器系统中的错误的自适应扫描频率 Active CN112119382B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/982,653 2018-05-17
US15/982,653 US10846165B2 (en) 2018-05-17 2018-05-17 Adaptive scan frequency for detecting errors in a memory system
PCT/US2019/032644 WO2019222488A1 (en) 2018-05-17 2019-05-16 Adaptive scan frequency for detecting errors in a memory system

Publications (2)

Publication Number Publication Date
CN112119382A CN112119382A (zh) 2020-12-22
CN112119382B true CN112119382B (zh) 2022-02-25

Family

ID=68533579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980032753.1A Active CN112119382B (zh) 2018-05-17 2019-05-16 用于检测存储器系统中的错误的自适应扫描频率

Country Status (4)

Country Link
US (1) US10846165B2 (zh)
EP (1) EP3794454A4 (zh)
CN (1) CN112119382B (zh)
WO (1) WO2019222488A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US11327551B2 (en) * 2019-02-14 2022-05-10 Micron Technology, Inc. Methods and apparatus for characterizing memory devices
US11256778B2 (en) 2019-02-14 2022-02-22 Micron Technology, Inc. Methods and apparatus for checking the results of characterized memory searches
US12118056B2 (en) 2019-05-03 2024-10-15 Micron Technology, Inc. Methods and apparatus for performing matrix transformations within a memory array
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
CN112002369A (zh) * 2020-07-13 2020-11-27 珠海妙存科技有限公司 提升闪存数据安全性的扫描方法
CN112445641B (zh) * 2020-11-05 2022-08-26 德州职业技术学院(德州市技师学院) 一种大数据集群的运行维护方法和系统
US11393548B2 (en) * 2020-12-18 2022-07-19 Micron Technology, Inc. Workload adaptive scans for memory sub-systems
US11467897B1 (en) * 2021-08-09 2022-10-11 Micron Technology, Inc. Adaptive data integrity scan frequency

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103839590A (zh) * 2014-03-18 2014-06-04 龙芯中科技术有限公司 存储器时序参数的测量装置、方法及存储器芯片
US9690654B2 (en) * 2015-01-13 2017-06-27 Samsung Electronics Co., Ltd. Operation method of nonvolatile memory system
CN107015917A (zh) * 2015-12-18 2017-08-04 三星电子株式会社 储存装置和其读取回收方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3242890B2 (ja) * 1998-12-16 2001-12-25 株式会社ハギワラシスコム 記憶装置
JP4122750B2 (ja) * 2001-10-24 2008-07-23 沖電気工業株式会社 半導体記憶装置および半導体記憶装置のデータ書き込み方法
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
US7444490B2 (en) * 2005-06-09 2008-10-28 International Business Machines Corporation Apparatus, system, and method for modifying memory voltage and performance based on a measure of memory device stress
US7356442B1 (en) * 2006-10-05 2008-04-08 International Business Machines Corporation End of life prediction of flash memory
US7873883B2 (en) * 2007-12-19 2011-01-18 International Business Machines Corporation Method for scrubbing storage in a computer memory
US8255772B1 (en) * 2008-06-18 2012-08-28 Cisco Technology, Inc. Adaptive memory scrub rate
US8984367B2 (en) * 2011-02-25 2015-03-17 Altera Corporation Error detection and correction circuitry
US8645773B2 (en) 2011-06-30 2014-02-04 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory
US8862952B1 (en) 2012-03-16 2014-10-14 Western Digital Technologies, Inc. Prioritized memory scanning for data storage systems
US9053808B2 (en) 2012-06-21 2015-06-09 Sandisk Technologies Inc. Flash memory with targeted read scrub algorithm
US20140173239A1 (en) 2012-12-19 2014-06-19 Apple Inc. Refreshing of memory blocks using adaptive read disturb threshold
US8913428B2 (en) 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
US20150363261A1 (en) 2013-01-31 2015-12-17 Hewlett-Packard Development Company, L.P. Ram refresh rate
JP2014220576A (ja) * 2013-05-01 2014-11-20 富士通株式会社 情報処理装置、情報処理装置の制御プログラムおよび情報処理装置の制御方法
US9423971B2 (en) 2014-10-03 2016-08-23 Sandisk Technologies Llc Method and system for adaptively assigning logical block address read counters using a tree structure
US20160118132A1 (en) 2014-10-27 2016-04-28 Sandisk Enterprise Ip Llc Low Impact Read Disturb Handling
US9916835B2 (en) * 2015-01-22 2018-03-13 Sennheiser Electronic Gmbh & Co. Kg Digital wireless audio transmission system
US10498822B2 (en) 2015-01-30 2019-12-03 Pure Storage, Inc. Adaptive scanning rates
US10498882B2 (en) * 2016-05-20 2019-12-03 T-Mobile Usa, Inc. Secure voice print authentication for wireless communication network services
US10297335B2 (en) * 2016-09-02 2019-05-21 International Business Machines Corporation Tracking address ranges for computer memory errors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103839590A (zh) * 2014-03-18 2014-06-04 龙芯中科技术有限公司 存储器时序参数的测量装置、方法及存储器芯片
US9690654B2 (en) * 2015-01-13 2017-06-27 Samsung Electronics Co., Ltd. Operation method of nonvolatile memory system
CN107015917A (zh) * 2015-12-18 2017-08-04 三星电子株式会社 储存装置和其读取回收方法

Also Published As

Publication number Publication date
EP3794454A4 (en) 2022-03-02
CN112119382A (zh) 2020-12-22
EP3794454A1 (en) 2021-03-24
US10846165B2 (en) 2020-11-24
US20190354421A1 (en) 2019-11-21
WO2019222488A1 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
CN112119382B (zh) 用于检测存储器系统中的错误的自适应扫描频率
US10658047B1 (en) Implementing sticky read using error control success rate associated with a memory sub-system
CN112216331B (zh) 使用具有时变错误率的存储器的方向错误统计的自适应读电压调节
CN114127691A (zh) 使用错误率随时间变化的存储器的边界错误统计数据的自适应读取电压调整
US11587628B2 (en) Refreshing data stored at a memory component based on a memory component characteristic component
US11836392B2 (en) Relocating data to low latency memory
US12050808B2 (en) Selecting a write operation mode from multiple write operation modes
CN113168875A (zh) 读取干扰扫描合并
US20200363969A1 (en) Adjustment of a pre-read operation based on an operating temperature
CN114175163A (zh) 基于存储器子系统的特性执行刷新操作
CN118430623A (zh) 减缓存储器子系统中存储器单元的电压状况
US20210389910A1 (en) Managing a memory system including memory devices with different characteristics
CN111273857A (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