CN110825321A - 存储设备及其操作方法 - Google Patents

存储设备及其操作方法 Download PDF

Info

Publication number
CN110825321A
CN110825321A CN201910742162.5A CN201910742162A CN110825321A CN 110825321 A CN110825321 A CN 110825321A CN 201910742162 A CN201910742162 A CN 201910742162A CN 110825321 A CN110825321 A CN 110825321A
Authority
CN
China
Prior art keywords
dram
row
volatile memory
memory device
dram device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910742162.5A
Other languages
English (en)
Inventor
金东�
殷亨来
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110825321A publication Critical patent/CN110825321A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/068Hybrid storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

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)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Electrotherapy Devices (AREA)
  • Supplying Of Containers To The Packaging Station (AREA)

Abstract

一种存储设备,包括非易失性存储器设备、动态随机存取存储器(DRAM)设备和存储控制器,该存储设备的操作方法包括:对DRAM设备执行访问操作,基于访问操作收集关于DRAM设备的累积的错误信息,基于累积的错误信息检测DRAM设备的故障行,以及基于检测到的故障行执行运行时修复操作。

Description

存储设备及其操作方法
相关申请的交叉引用
本公开要求于2018年8月14日在韩国知识产权局递交的韩国专利申请No.10-2018-0095016的优先权,其全部内容通过引用合并于此。
技术领域
本公开涉及半导体存储器,更具体地,涉及存储设备和操作存储设备的方法。
背景技术
半导体存储器可以分类为易失性存储器设备和非易失性存储器没备,当电力中断时易失性存储器设备所存储的数据丢失,例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM),非易失性存储器设备所存储的数据即使在电力中断时也保留,例如闪存、相变RAM(PRAM)、磁RAM(MRAM)、电阻RAM(RRAM)或铁电RAM(FRAM)。
基于闪存的固态驱动(SSD)广泛用作计算设备的高容量存储介质。SSD通常配置为将数据存储到闪存,并且使用动态随机存取存储器(DRAM)设备作为缓冲存储器,以便存储用于管理闪存的各种信息。在制造DRAM设备的过程中检测到DRAM设备的故障的情况下,可以通过各种修复方案修复故障单元。然而,在DRAM设备完全制造并安装在SSD设备中之后,在DRAM设备中发生故障的情况下(即,在SSD设备提供给最终用户并由最终用户使用的情况下),除了DRAM设备,SSD设备也无法正常操作。
发明内容
本发明构思的实施例提供了具有提高的可靠性和提高的寿命的存储设备及其操作方法。
本发明构思的实施例提供了一种存储设备的操作方法,该存储设备包括非易失性存储器设备、包括多个行的动态随机存取存储器(DRAM)设备和存储控制器。存储设备的操作方法包括:存储控制器对DRAM设备执行访问操作;存储控制器基于访问操作收集关于DRAM设备的累积的错误信息;存储控制器基于累积的错误信息从DRAM设备的多个行中检测故障行;以及存储控制器对故障行执行运行时修复操作。
本发明构思的实施例还提供了一种存储设备,该存储设备包括:非易失性存储器设备;动态随机存取存储器(DRAM)设备;以及存储控制器,其控制非易失性存储器设备和DRAM设备。存储控制器包括:DRAM纠错单元,其对从DRAM设备读取的数据执行错误检测和校正操作;以及修复管理器,其基于DRAM纠错单元检测到的错误来管理累积的错误信息,基于累积的错误信息检测DRAM设备的故障行,并对故障行执行运行时修复操作。
本发明构思的实施例还提供了一种存储设备的操作方法,该存储设备包括非易失性存储器设备、易失性存储器设备、以及控制非易失性存储器设备和易失性存储器设备的存储控制器。该操作方法包括:存储控制器从易失性存储器设备读取数据;存储控制器对所读取的数据执行错误检测和校正操作;存储控制器基于错误检测和校正操作的结果,更新关于易失性存储器设备的多个行中的每一行的累积的错误信息;存储控制器基于更新的累积的错误信息检测易失性存储器设备的故障行;以及存储控制器对故障行执行运行时修复操作。运行时修复操作在存储设备操作期间执行。
本发明构思的实施例还提供了一种计算系统,包括存储设备和被配置为控制存储设备的主机。存储设备包括非易失性存储器设备;动态随机存取存储器(DRAM)设备,包括多个行;以及存储控制器,被配置为:基于从DRAM设备读取的数据收集关于DRAM设备的累积的错误信息,基于累积的错误信息从DRAM设备的多个行中检测故障行,并在存储设备的运行期间对故障行执行运行时修复操作。
附图说明
鉴于以下参考附图对示例性实施例的详细描述,本发明构思的上述和其他目的和特征将变得显而易见。
图1示出了根据本发明构思的实施例的计算系统的框图。
图2示出了图1的存储控制器的框图。
图3示出了图2的存储控制器的操作的流程图。
图4示出了描述图3的操作S13和操作S14的图。
图5示出了图3的操作S15的流程图。
图6A示出了描述图5的操作S112的图。
图6B示出了描述图5的操作S113的图。
图6C示出了描述图5的操作S114的图。
图7示出了执行图5的操作S113的DRAM设备的框图。
图8示出了与图6B的直接修复操作相关联的输入/输出信号的时序图。
图9示出了图3的操作S15的流程图。
图10示出了图2的存储控制器的操作的流程图。
图11示出了根据本发明构思的另一实施例的存储控制器的框图。
图12示出了图11的存储控制器的间接修复操作的流程图。
图13A示出了描述根据图12的流程图的操作的图。
图13B示出了描述根据图12的流程图的操作的另一个图。
图14示出了与图11的存储控制器的DRAM设备相关联的访问操作的流程图。
图15示出了根据本发明构思的实施例的运行时修复操作的流程图。
图16示出了根据本发明构思的实施例的存储控制器的操作的流程图。
图17示出了示出应用根据本发明构思的实施例的存储设备的用户系统的框图。
具体实施方式
在下文中,将对本发明构思的实施例进行详细且清楚的描述,以使得本领域技术人员可以容易地实现本发明构思。
如在发明构思领域中常见的,可以依据执行所描述的一个或多个功能的块来描述和示出实施例。在本文中,可以被称为单元或模块等的这些块通过诸如逻辑门、集成电路、集成电路核、微处理器、微控制器、计算机、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路、硬连线电子电路、压力传感器、微机械系统(MEMS)等的模拟和/或数字电路或其组合物理地实现,并且可以可选地由固件和/或软件驱动。例如,软件可以是机器代码、固件、嵌入式代码或应用软件。例如,电路可以实现在一个或多个半导体芯片中,或者在诸如印刷电路板等的衬底支撑件上。构成块的电路可以由专用硬件或处理器(例如,一个或多个编程的微处理器和相关联的电路)来实现,或者由用来执行该块的一些功能的专用硬件和用来执行该块的其他功能的处理器的组合来实现。在不脱离本发明构思的范围的情况下,实施例的每个块可以物理地分成两个或更多个交互和分立的块。类似地,在不脱离本发明构思的范围的情况下,实施例的块可以物理地组合成更复杂的块。
图1示出了根据本发明构思的实施例的计算系统的框图。参考图1,计算系统10包括主机11和存储设备100。在示例性实施例中,计算系统10可以包括例如计算机、便携式计算机、超移动个人计算机(UMPC)、工作站、服务器计算机、网络笔记本、个人数字助理(PDA)、便携式计算机、网络平板电脑、无线电话、移动电话、智能电话、数码相机、数字录音机、数字音频播放器、数字图片记录器、数字图片播放器、数字视频录像机、数字视频播放器、能够在无线环境中发送或接收信息的设备,或者包括家庭网络等的各种电子设备之一。
主机11可以被配置为控制存储设备100。例如,主机11可以被配置为将数据存储到存储设备100(例如,存储在存储设备100中)或者读取存储在存储设备100中的数据。
存储设备100包括存储控制器110、易失性存储器设备120和非易失性存储器设备130。在示例性实施例中,存储设备100可以是高容量存储介质,例如固态驱动(SSD)或存储卡。在主机11的控制下,存储控制器110可以将数据存储到非易失性存储器设备130,或者可以读取存储在非易失性存储器设备130中的数据。
易失性存储器设备120可以用作存储设备100的工作存储器。例如,存储控制器110可以将存储设备100的操作所需的各种信息(例如,元数据信息和映射表)存储到易失性存储器设备120,并且可以基于存储在易失性存储器设备120中的信息来访问非易失性存储器设备130。备选地,易失性存储器设备120可以用作存储设备100的缓冲存储器。例如,可以将从主机11接收的写入数据或从非易失性存储器设备130读取的数据临时存储到易失性存储器设备120。
在下文中,在以下描述中,假设包括在存储设备100中的易失性存储器设备120是动态随机存取存储器(DRAM)设备。然而,本发明构思不限于此,并且易失性存储器设备120可以例如是支持高速操作的各种存储器设备中的任何一种。在下文中,易失性存储器设备120可以被称为DRAM设备120。
存储控制器110包括DRAM控制单元111。DRAM控制单元111可以被配置为控制DRAM设备120。例如,DRAM控制单元111可以被配置为在存储控制器110的控制下访问DRAM设备120。
在示例性实施例中,DRAM控制单元111可以对DRAM设备120执行运行时修复操作。运行时修复操作可以指示在驱动存储设备100或在存储设备100运行期间对DRAM设备120处发生的故障行(即,发生故障的行)执行的修复操作。也就是说,即使存储设备100正在操作(例如,驱动或在运行期间,例如在制造之后由最终用户使用的情况下),DRAM控制单元111也可以对在DRAM设备120处发生的故障行执行修复操作。因此,即使在DRAM设备120处发生故障行,DRAM设备120和/或存储设备100也可以正常操作。
在示例性实施例中,DRAM控制单元111可以管理关于DRAM设备120的多个行中的每一行的累积的错误信息,并且可以基于累积的错误信息来检测故障行。DRAM控制单元111可以对检测到的故障行执行运行时修复操作。在示例性实施例中,可以基于各种方案来执行根据本发明构思的实施例的运行时修复操作。随后将参考以下附图更全面地描述根据本发明构思的实施例的与运行时修复操作相关联的各种方案。
如上所述,根据本发明构思的实施例,当存储设备100被驱动期间,即使在DRAM设备120处发生故障行,DRAM设备120或存储设备100也可以通过对故障行执行运行时修复操作来正常地操作。因此,可以提高DRAM设备120或存储设备100的可靠性,并且可以提高其寿命。
图2示出了图1的存储控制器的框图。参考图2,存储控制器110包括DRAM控制单元111、处理器112、SRAM 113、非易失性存储器纠错码(ECC)单元114、主机接口115和闪速接口116。
DRAM控制单元111可以被配置为在存储控制器110的控制下对DRAM设备120执行访问操作。例如,处理器112可以访问DRAM设备120,以便控制存储控制器110的整体操作。处理器112可以生成用于访问DRAM设备120的DRAM地址。DRAM控制单元111可以对与从处理器112提供的DRAM地址相对应的区域执行访问操作。
在示例性实施例中,DRAM控制单元111可以基于高速接口与DRAM设备120通信,例如双数据速率(DDR)接口、低功率DDR(LPDDR)接口或图形DDR(GDDR)接口等。
DRAM控制单元111可以包括DRAM ECC单元111a和修复管理器111b。DRAM ECC单元111a可以对从DRAM设备120读取的数据执行错误检测和校正。在示例性实施例中,可以将错误检测的结果提供给修复管理器111b。
修复管理器111b可以基于DRAM ECC单元111a的错误检测结果管理关于DRAM设备120的累积的错误信息。例如,修复管理器111b可以基于DRAM ECC单元111a的错误检测结果来管理关于DRAM设备120中的多个行中的每一行的累积的错误信息。累积的错误信息可以是通过累积在DRAM设备120中的每一行处出现的错误比特的数目而获得的值。
详细地,在DRAM控制单元111对DRAM设备120的第一行执行访问操作多达“n”次时检测到“k”个错误比特的情况下(这里,“k”个错误比特可以发生在“n”次访问操作的特定访问操作处,或者可以发生在“n”次访问操作的多个访问操作处),DRAM设备120的第一行的累积的错误信息可以是“k”。也就是说,累积的错误信息可以是通过累积在与多个行中的每一行相关联的多个访问操作期间检测到的错误比特的数目而获得的值。
修复管理器111b可以基于累积的错误信息确定DRAM设备120处的故障行。例如,在累积的错误信息超过参考值的情况下,修复管理器111b可以确定对应的行是故障行。例如,在关于DRAM设备120的第一行的累积的错误信息是“k”并且“k”大于预设参考值的情况下,修复管理器111b可以确定第一行是故障行。
在示例性实施例中,被修复管理器111b确定为故障行的第一行可以不是实际的故障行(即,实际发生故障的行)。也就是说,在当前时间,虽然可以正常执行与被修复管理器111b确定为故障行的第一行相关联的访问操作(例如,正常地校正包括在第一行中的错误比特),但由于附加的访问操作或随着时间的推移,第一行可能成为实际的故障行。实际的故障行可以指示由于存储器单元的故障而导致存储的数据丢失的行(例如,由于存储器单元的刷新性能的降低或存储器单元的保持特性的降低)。DRAM ECC单元111a可能无法校正从实际故障行读取的数据的错误。
也就是说,在本公开中使用的“故障行”,具体是由修复管理器111b确定的故障行,可以指示随时间推移或由于附加的访问操作而具有高概率切换成实际故障行的行。然而,本发明构思不限于此,并且由修复管理器111b确定的故障行可以指示实际的故障行。
在示例性实施例中,参考值可以随DRAM设备120的物理特性或操作环境或DRAMECC单元111a的性能而变化。例如,在DRAM设备120的物理特性或操作环境良好的情况下(换句话说,在工艺、电压和温度(PVT)变化相对小的情况下或在DRAM ECC单元111a的性能相对高的情况下),可以将参考值设置为第一值;在DRAM设备120的物理特性或操作环境不好的情况下(换句话说,在PVT变化相对大的情况下或者在DRAM ECC单元111a的性能相对低的情况下),可以将参考值设置为小于第一值的第二值。
在检测到故障行的情况下,修复管理器111b可以对DRAM设备120执行运行时修复操作。在实施例中,修复管理器111b可以基于各种方案执行运行时修复操作。随后将参考以下附图更全面地描述根据本发明构思的实施例的运行时修复操作。
SRAM 113可以用作存储控制器110的缓冲存储器、高速缓冲存储器或工作存储器。在示例性实施例中,存储在SRAM 113中的各种信息或软件组件可以由处理器112管理或驱动。
非易失性存储器ECC单元114可以对从非易失性存储器设备130读取的数据执行错误检测和校正操作。例如,非易失性存储器ECC单元114可以生成针对从主机11接收的第一数据的纠错码。生成的纠错码可以与第一数据一起存储到非易失性存储器设备130。之后,非易失性存储器ECC单元114可以从非易失性存储器设备130读取第一数据和纠错码,并且可以基于读取的纠错码来检测和校正第一数据的错误。
在示例性实施例中,非易失性存储器ECC单元114和DRAM ECC单元111a可以用不同的功能块实现。备选地,非易失性存储器ECC单元114和DRAM ECC单元111a可以用相同的功能块实现。
存储控制器110可以通过主机接口115与主机11通信。在示例性实施例中,主机接口115可以包括各种接口中的至少一种,例如通用串行总线(USB)接口、多媒体卡(MMC)接口、外围组件互连(PCI)接口、PCI快速(PCI-e)接口、高级技术附件(ATA)接口、串行ATA(SATA)接口、并行ATA(PATA)接口、小型计算机系统接口(SCSI)接口、增强型小磁盘接口(ESDI)、集成驱动电子(IDE)接口、移动工业处理器接口
Figure BDA0002163627500000081
非易失性存储器快速(NVM-e)接口和通用闪速存储(UFS)等。
存储控制器110可以通过闪速接口116与非易失性存储器设备130通信。在示例性实施例中,闪速接口116可以包括例如NAND接口。
图3示出了图2的存储控制器的操作的流程图。参考图2和图3,在操作S11中,存储控制器110加载修复信息。修复信息可以包括执行故障行检测操作或运行时修复操作所需的信息。例如,修复信息可以包括关于DRAM设备120中的多个行中每一行的累积的错误信息。可以将修复信息存储到非易失性存储器设备130的特定区域(例如,元区域)。存储控制器110可以加载存储在非易失性存储器设备130的特定区域中的修复信息。在示例性实施例中,修复信息可以存储到SRAM 113,并且可以由处理器112或DRAM控制单元111管理。
在操作S12中,存储控制器110对DRAM设备120执行访问操作。例如,存储控制器110可以将各种信息或数据写入DRAM设备120。备选地,存储控制器110可以读取存储在DRAM设备120中的信息或数据,并且可以对读取的数据执行错误检测和校正操作。
在操作S13中,存储控制器110基于访问操作收集累积的错误信息。例如,存储控制器110可以基于上述错误检测操作的结果来管理关于DRAM没备120中的多个行中每个行的累积的错误信息。如上所述,累积的错误信息可以指示针对DRAM设备120中的每一行累积的错误比特的数目。
在操作S14中,存储控制器110基于累积的错误信息确定DRAM设备120处的故障行。例如,存储控制器110可以确定DRAM设备120的多个行中累积的错误信息超过参考值的行是故障行。
在操作S15中,存储控制器110对所确定的故障行执行运行时修复操作。例如,存储控制器110可以对故障行执行直接修复操作。直接修复操作指示通过DRAM设备120内的电熔丝设置直接恢复或修复故障行的操作。
备选地,存储控制器110可以对故障行执行间接修复操作。间接修复操作指示通过将将故障行重新映射到DRAM控制单元111上的保留区域的保留行上来在存储控制器层间接地恢复或修复故障行的操作。备选地,存储控制器110可以在对故障行执行间接修复操作之后在特定条件下执行直接修复操作。随后将参考以下附图更全面地描述根据本发明构思的实施例的直接修复操作和间接修复操作。
如上所述,当包括DRAM设备120的存储设备100正被驱动时在DRAM设备120中检测到故障行的情况下,存储设备100可以对故障行执行运行时修复操作。这样,由于当正在驱动存储设备100时在DRAM设备120中检测到的故障行被预先恢复,所以提高了DRAM设备120或包括DRAM设备120的存储设备100的可靠性和寿命。
图4示出了描述图3的操作S13和操作S14的图。图3的操作S13和操作S14构成了收集累积的错误信息的操作。为了说明的简洁和为了便于描述,省略了描述图3的操作S13和操作S14不必要的组件。此外,假设DRAM设备120包括第一行“行1”至第四行“行4”。然而,本发明构思不限于此,并且DRAM设备120可以包括大于4的任何数目的行。
参考图2至图4,DRAM控制单元111可以对DRAM设备120的第一行“行1”执行访问操作。例如,DRAM控制单元111可以从DRAM设备120的第一行“行1”读取第一数据“数据1”。DRAMECC单元111a可以对第一数据“数据1”执行错误检测和校正操作,并且可以将错误校正的第一数据“数据1’”提供给主机11或非易失性存储器设备130。
可以将关于由DRAM ECC单元111a检测到的错误的错误检测信息“E”提供给修复管理器111b。在实施例中,错误检测信息“E”可以指示检测到的错误比特的数目。
修复管理器111b可以基于错误检测信息“E”更新累积的错误信息AEI。例如,修复管理器111b可以管理累积的错误信息AEI。累积的错误信息AEI可以包括关于针对DRAM设备120的行“行1”至行4中的每一行累积的错误比特的数目(即,错误比特的累积计数)的信息。例如,针对第一行“行1”累积的错误比特的数目可以是“a”,针对第二行“行2”累积的错误比特的数目可以是“b”,针对第三行“行3”累积的错误比特的数目可以是“c”,针对第四行“行4”累积的错误比特的数目可以是“d”。
修复管理器111b可以基于从DRAM ECC单元111a接收的错误检测信息“E”来更新相关行的值。例如,在接收到的错误检测信息“E”指示关于与来自第一行“行1”的第一数据“数据1”相关联的错误比特数目的信息的情况下,修复管理器111b可以将累积的错误信息AEI中与第一行“行1”相对应的值从“a”更新为“a+E”。也就是说,修复管理器111b可以在累积的错误信息AEI中与第一行“行1”相对应的值处累积关于检测到的错误的信息“E”。DRAM控制单元111可以通过重复执行上述操作来管理关于DRAM设备120的每一行的累积的错误信息AEI。
在实施例中,在针对第一行“行1”更新的值(即,a+E)大于参考值REF的情况下,修复管理器111b可以确定第一行“行1”是故障行。
图5示出了图3的操作S15的流程图。作为实施例,将参考图5描述根据本发明构思的运行时修复操作的直接修复操作(或硬修复操作)。在示例性实施例中,根据图5的流程图的操作可以在通过图3的操作S14检测到故障行之后执行。
参考图2、图3和图5,在操作S110中,存储控制器110确定存储设备100是否空闲。例如,存储设备100的空闲状态可以指示未从主机11接收到命令或请求的状态。在示例性实施例中,在存储设备100不空闲的情况下(S110中的“否”),操作将循环回到操作S110,同时存储设备100可以响应于主机11的请求执行正常操作。
在存储设备100空闲的情况下(S110中的“是”),在操作S111中,存储控制器110阻止对DRAM设备120的访问。例如,DRAM设备120可以包括多个存储体。存储控制器110可以阻止或停止对DRAM设备120的所有存储体的访问。
在操作S112中,存储控制器110将存储在DRAM设备120中的数据清空到非易失性存储器设备130。例如,当存储控制器110对DRAM设备120执行直接修复操作时,不能执行对DRAM设备120的刷新操作。因此,存储在DRAM设备120中的数据可能丢失。为了防止存储在DRAM设备120中的数据丢失,存储控制器110可以将存储在DRAM设备120中的数据清空到非易失性存储器设备130。
在示例性实施例中,存储控制器110可以将存储在DRAM设备120的所有存储体中的数据清空到非易失性存储器设备130。备选地,存储控制器110可以将存储在DRAM设备120的存储体中的一些存储体中的数据清空到非易失性存储器设备130。在示例性实施例中,一些存储体可以包括将故障行包括在内的至少两个或更多个存储体。也就是说,存储控制器110可以清空来自存储在DRAM设备120中的数据中的一些数据(即,部分数据),或者可以清空DRAM设备120中的所有数据(即,全部数据)。
在操作S113中,存储控制器110执行直接修复操作。例如,存储控制器110可以在DRAM设备120处通过电熔丝设置来执行恢复故障行的操作。在示例性实施例中,可以基于封装后修复(PPR)操作来执行直接修复操作。
在操作S114中,存储控制器110将清空到非易失性存储器设备130的数据恢复到DRAM设备120。之后,存储设备100可以正常操作。
图6A、图6B和图6C示出了分别描述图5的操作S112、操作S113和操作S114的图。为了说明的简洁和为了便于描述,省略了描述图5的操作S112至操作S114不必要的组件。为了便于描述,假设DRAM设备120包括第一存储体“存储体1”至第四存储体“存储体4”,并且故障行包括在第一存储体“存储体1”中。然而,本发明构思不限于此,并且DRAM设备120可以包括任何数目的存储体。
参考图2、图5和图6A至图6C,在操作S112中,存储控制器110可以将存储在DRAM设备120的存储体“存储体1”至存储体4中的其中包括故障行的第一存储体“存储体1”中的数据“数据1”以及与第一存储体“存储体1”相邻的第二存储体“存储体2”中存储的数据“数据2”传送到非易失性存储器设备130。例如,DRAM控制单元111可以从第一存储体“存储体1”和第二存储体“存储体2”读取第一数据“数据1”和第二数据“数据2”。在示例性实施例中,DRAMECC单元111a可以校正从第一存储体“存储体1”和第二存储体“存储体2”读取的第一数据“数据1”和第二数据“数据2”的错误。之后,可以通过闪速接口116将第一数据“数据1”和第二数据“数据2”(或经错误校正的第一数据和第二数据)提供给非易失性存储器设备130。非易失性存储器设备130可以存储第一数据“数据1”和第二数据“数据2”。
接下来,如图6B所示,在操作S113中,DRAM控制单元111可以对其中包括故障行的第一存储体“存储体1”执行直接修复操作。例如,DRAM设备120可以响应于来自DRAM控制单元111的各种信号,通过诸如电熔丝设置之类的操作来修复故障行。
之后,如图6C所示,在操作S114中,存储控制器110可以将存储在非易失性存储器设备130中的第一数据“数据1”和第二数据“数据2”存储到第一存储体“存储体1”和第二存储体“存储体2”。例如,DRAM控制单元111可以通过闪速接口116从非易失性存储器设备130接收第一数据“数据1”和第二数据“数据2”,并且可以将接收的第一数据“数据1”和第二数据“数据2”分别存储到第一存储体“存储体1”和第二存储体“存储体2”。
图7示出了执行图5的操作S113(即,直接修复操作)的DRAM设备的框图。为了说明的简洁和为了便于描述,省略了描述图5的操作S113不必要的组件。
参考图2和图7,DRAM设备120包括存储器单元阵列121、行解码器122、列解码器123、控制逻辑电路124和熔丝电路125。
存储器单元阵列121可以包括多个DRAM单元。多个DRAM单元可以与字线和位线连接。多个DRAM单元的一部分可以是正常单元,剩余的DRAM单元可以是冗余单元121a。冗余单元121a可以是用于替换正常单元中的故障单元的DRAM单元。正常单元可以被表征为主机(即,用户)可访问的用户单元
行解码器122可以通过字线NWL和RWL与存储器单元阵列121连接。行解码器122可以基于地址ADDR选择字线NWL和RWL中的一条,并且可以控制所选择的字线的电压。
列解码器123可以通过位线BL与存储器单元阵列121连接。列解码器123可以基于地址ADDR选择位线BL的一部分,并且可以控制或感测所选择的位线的电压。在示例性实施例中,列解码器123可以与DRAM控制单元111交换数据“数据”。
控制逻辑电路124可以控制DRAM设备120的操作。熔丝电路125可以在控制逻辑电路124的控制下执行熔丝设置操作。也就是说,控制逻辑电路124可以被配置为通过存储控制器110的运行时修复操作(例如,直接修复操作)再次进行(例如,执行)对熔丝电路125的熔丝设置。可以通过熔丝电路125的熔丝设置来用冗余单元121a的相关单元替换存储器单元阵列121的正常单元中的故障单元。例如,熔丝电路125可以从DRAM控制单元111接收地址ADDR。地址ADDR可以是与对应于故障行的正常字线NWL相关联的地址(即,故障地址)。在这种情况下,熔丝电路125可以输出修复地址以允许行解码器122选择冗余字线RWL而不是正常字线NWL。
也就是说,可以在熔丝电路125上进行熔丝设置,以将对应于故障行的故障地址转换并输出为修复地址。行解码器122可以基于来自熔丝电路125的修复地址来选择冗余字线RWL。在示例性实施例中,熔丝电路125可以将所接收的不对应于故障行的地址ADDR传送到行解码器122而不进行单独转换。
如上所述,DRAM没备120可以通过对熔丝电路135进行电熔丝设置来对故障行执行恢复操作。
图8示出了与图6B的直接修复操作相关联的输入/输出信号的时序图。在示例性实施例中,DRAM设备120可以基于硬封装后修复hPPR执行直接修复操作。在示例性实施例中,可以响应于图8的时序图的信号执行参考图7描述的对熔丝电路125的电熔丝设置。
参考图2和图8,从第一时间t1到第二时间t2(即,hPPR进入),DRAM设备120可以响应于模式寄存器设置命令MRS4和MRS0以及来自存储控制器110的地址信号BG、BA和ADDR而进入硬封装后修复模式hPPR。在示例性实施例中,在第一时间t1,第十三地址A13的值可以被设置为“1”,指示激活硬封装后修复操作。在示例性实施例中,在进入硬封装后修复模式hPPR之前,可以将存储在其中包括故障行的存储体中的数据或存储在与故障行中的存储体相邻的存储体中的数据清空到非易失性存储器设备130。此外,在进入硬封装后修复模式hPPR之前,可以对DRAM设备120的所有存储体进行预充电。
之后,从第二时间t2到第三时间t3(即,hPPR修复),DRAM设备120可以响应于激活命令ACT、自动预充电写入命令WRA和地址信号BGf和BAf执行hPPR修复操作。在示例性实施例中,地址信号BGf、BAf和ADDR可以是与故障行相对应的地址信号。可以通过对熔丝电路135的电熔丝设置来执行hPPR修复操作,如参考图7所述。
之后,从第三时间t3到第四时间t4(即,hPPR识别),DRAM设备120可以响应于预充电命令PRE执行hPPR识别。从第四时间t4到第五时间t5(即,hPPR退出),DRAM设备120可以响应于模式寄存器设置命令MRS4和地址信号(具体地,A13=0)退出hPPR模式。之后,DRAM设备120可以在DRAM控制单元111的控制下恢复清空的数据。
在示例性实施例中,图8的时序图与直接修复操作的示例性实施例相关联,并且本发明构思不限于此。例如,可以通过使用正常写入命令WR而不是自动预充电写入命令WRA来执行上述hPPR操作。在这种情况下,在进入hPPR模式之前,可以备份(即,清空)存储在DRAM设备120的所有存储体中的数据。备选地,可以基于软封装后修复sPPR来执行直接修复操作。
图9示出了图3的操作S15的流程图。参考图2、图3和图9,存储控制器110执行操作S120和操作S121。操作S120和操作S121可以与图5的操作S110和操作S111相同,因此,这里将不再重复其详细描述。
在操作S122中,存储控制器110确定是否需要对存储在DRAM设备120中的数据进行备份操作。例如,在DRAM设备120的多个存储体中的包括故障行的存储体中存储了重要数据(例如,映射信息和元信息)的情况下,存储控制器110可以确定需要备份操作(S122中的“是”)。在这种情况下,存储设备100执行操作S123至操作S125。操作S123至操作S125可以类似于图5的操作S112至操作S114,因此,这里将不再重复其详细描述。
在多个存储体中的包括故障行的存储体中未存储重要数据的情况下(例如,在包括故障行的存储体中仅简单地存储了缓冲的用户数据),存储控制器110可以确定不需要备份操作(S122中的“否”)。在这种情况下,在操作S126中,存储控制器110执行直接修复操作而无需单独的备份操作。例如,在只有已经存储在非易失性存储器设备130中的简单用户数据存储在将要对其执行直接修复操作的存储体中的情况下,即使在直接修复操作期间DRAM设备120的数据丢失,也可以从非易失性存储器设备130中恢复丢失的数据(即,简单用户数据)。也就是说,即使存储控制器110在不进行单独的备份操作的情况下执行直接修复操作,存储设备100也可以正常操作。在直接修复操作完成之后,在操作S127中,重置存储控制器110或存储设备100。
如上所述,在将要执行直接修复操作的存储体中未存储重要数据的情况下,可以在不进行单独的备份操作的情况下执行直接修复操作。
图10示出了图2的存储控制器的操作的流程图。将参考图10描述在执行直接修复操作时存储控制器110处理主机11的请求的方法。
参考图2和图10,在操作S130中,存储控制器110接收来自主机11的请求。例如,主机11可以向存储设备100发送请求以便执行各种操作(例如,读取操作、写入操作和擦除操作)。
在操作S131中,存储控制器110确定是否正在执行直接修复操作。例如,存储控制器110可以在执行参考图1至图9描述的直接修复操作时接收来自主机11的请求。
在正在执行直接修复操作的情况下(S131中的“是”),在操作S132中,存储控制器110确定所接收的请求是否与不需要DRAM设备120的操作相关联。
在所接收的请求伴随有DRAM设备120的操作的情况下(S132中的“否”),在操作S133中,存储控制器110向主机11提供中断信号。例如,如上所述,在正在执行直接修复操作的情况下,可以阻止或停止对DRAM设备120的所有访问。也就是说,在来自主机11的请求伴随有使用DRAM设备120的操作(例如,读取操作或写入操作)的情况下,存储控制器110可能无法立即或者在给定的时间内处理来自主机11的请求。在这种情况下,存储控制器110向主机11提供中断信号,并且主机11响应于该中断信号而识别出存储控制器110正在执行运行时修复操作(或直接修复操作)。
在存储控制器110确定未执行直接修复操作的情况下(S131中的“否”),在操作S134中,存储控制器110执行与所接收的请求相对应的操作。备选地,即使正在执行直接修复操作,在所接收的请求与无需DRAM设备120也可能的操作(例如,非易失性存储器设备130的物理擦除操作)相关联的情况下,存储控制器110执行操作S134。此外,在所接收的请求不包括DRAM设备120的操作的情况下(S132中的“是”),在操作S134中,存储控制器110执行与所接收的请求相对应的操作。
图11示出了根据本发明构思的另一实施例的存储控制器的框图。参考图11,存储控制器210包括DRAM控制单元211、处理器212、SRAM 213、NVM ECC单元214、主机接口215和闪速接口216。处理器212、SRAM 213、NVM ECC单元214、主机接口215和闪速接口216分别类似于先前参考图2描述的处理器112、SRAM 113、NVM ECC单元114、主机接口115和闪速接口116配置和操作,因此,将省略附加描述以避免冗余。本实施例中的DRAM控制单元211连接到DRAM设备,例如图1所示的DRAM设备120,在下文中,将参考DRAM设备120进行描述。类似地,本实施例中的闪速接口216连接到非易失性存储器设备,例如图1中的非易失性存储器设备130,在下文中,将参考非易失性存储器设备130进行描述。
DRAM控制单元211包括DRAM ECC单元211a、修复管理器211b和DRAM访问管理器211c。DRAM ECC单元211a和修复管理器211b分别类似于上面参考图1描述的DRAM ECC单元111a和修复管理器111b配置和操作,因此,这里将不再重复其详细描述。
DRAM访问管理器211c可以管理用于访问DRAM设备120的地址(例如,参见图1)。DRAM访问管理器211c可以用高速缓存层结构实现。例如,在处理器212生成用于访问DRAM设备120的第一地址的情况下,DRAM访问管理器211c可以确定与第一地址相对应的行是否是故障行,并且可以在与第一地址相对应的行是故障行时输出保留地址代替第一地址。可以基于DRAM访问管理器211c输出的保留地址来执行对DRAM设备120的访问。
在示例性实施例中,DRAM访问管理器211c可以包括用于上述故障行确定操作和地址重映射操作的各种信息。例如,DRAM访问管理器211c可以包括地址字段信息,该地址字段信息包括与DRAM设备120的多个行中的每一行相关联的地址和重映射标志。DRAM访问管理器211c可以包括重映射表,其包括故障行的地址和保留区域的保留地址之间的重映射信息。
在示例性实施例中,由DRAM访问管理器211c管理的各种信息(即,地址字段信息和重映射表)可以存储到SRAM 213,并且可以通过修理管理器211b的间接修复操作(或软修复操作)来更新。将参考以下附图更全面地描述间接修复操作。
图12示出了图11的存储控制器的间接修复操作的流程图。图13A和图13B是描述根据图12的流程图的操作的图。在示例性实施例中,图12的流程图可以是与图3的操作S15相关联的实施例。也就是说,当从DRAM设备120检测到故障行时,可以执行根据图12的流程图的操作。
参考图11和图12,在操作S211中,存储控制器210将与故障行相对应的故障地址重新映射成保留地址(即,重新映射到保留行)。例如,如图13A所示,存储控制器210110可以识别DRAM设备120的用户区域和保留区域。也就是说,存储设备210可以将与DRAM设备120的第0地址ADDR_u0至第n地址ADDR_un相对应的区域识别为用户区域,并且可以将与DRAM设备120的第0地址ADDR_r0至第m地址ADDR_rm相对应的区域识别为保留区域。
用户区域可以指示在存储设备的正常操作中访问的区域。保留区域可以指示由存储控制器210识别的区域或者在正常访问操作中不访问的区域。换句话说,存储设备(具体地,处理器212)可以生成包括在用户区域中的地址(即,ADDR_u0到ADDR_un)作为用于访问DRAM设备120的原始地址。
在故障行发生在用户区域中的情况下,存储控制器210将与故障行相对应的区域重新映射到保留区域的保留行中。例如,如图13A所示,在与用户区域的地址ADDR_uk相对应的行被检测为故障行的情况下,DRAM访问管理器211c将用户区域的用户地址ADDR_uk重新映射(即,执行重定向)成保留区域的保留地址ADDR_rk。
在操作S212中,存储控制器210更新重映射表和地址字段。例如,如图13B所示,DRAM访问管理器211c可以包括地址字段AF和重映射表RT。如上所述,地址字段AF可以包括关于DRAM设备120的每一行的重映射标志信息。重映射表RT可以包括关于与故障行相对应的故障地址和与保留行相对应的保留地址之间的映射关系的信息。
如参考图13A所述,在与用户地址ADDR_uk相对应的行是故障行并且用户地址ADDR_uk被重新映射成保留地址ADDR_rk的情况下,存储控制器210可以将用户区域的第k地址ADDR_uk设置为故障行,并且可以将保留区域的第k地址ADDR_rk设置为保留行。也就是说,存储控制器210可以基于关于用户区域的故障行和重新映射的保留行的信息来更新重映射表RT。
在示例性实施例中,关于地址字段AF,存储控制器210可以将与用户地址ADDR_uk相关联的重映射标志的值从“0”改变为“1”。在示例性实施例中,重映射标志为“1”的情况可以指示相关地址被重新映射到保留区域中;重映射标志为“0”的情况可以指示相关地址没有被重新映射到保留区域中。
图14示出了与图11的存储控制器的DRAM设备相关联的访问操作的流程图。参考图11和图14,在操作S221中,存储控制器210生成与要访问的行相对应的原始地址。例如,存储控制器210的处理器212可以生成用于访问DRAM设备120的原始地址。在示例性实施例中,原始地址可以是包括在参考图13A描述的用户区域的地址ADDR_u0至ADDR_un中的地址。也就是说,处理器212可以被配置为访问DRAM设备120的用户区域。
在操作S222中,存储控制器210确定与原始地址相对应的行是否是故障行。例如,存储控制器210可以检查与原始地址相关联的地址字段AF的重映射标志。在重映射标志为“0”的情况下,存储控制器210确定与原始行相对应的行不是故障行(S222中的“否”)。在这种情况下,在操作S223中,存储控制器210对与原始地址相对应的行(即,用户区域的行)执行访问操作。
在与原始地址相对应的重映射标志是“1”的情况下,存储控制器210确定与原始行相对应的行是故障行(S222中的“是”)。在这种情况下,在操作S224中,存储控制器210基于重映射表RT搜索与原始地址相对应的重映射地址。例如,如参考图13B所述,重映射表RT可以包括关于与故障行相关联的原始地址和与保留行相关联的重映射地址之间的关系的信息。也就是说,存储控制器210可以从重映射表RT中搜索与原始地址相对应的重映射地址。
在操作S225中,存储控制器210对与重映射地址相对应的保留行执行访问操作。
如上所述,根据本发明构思的实施例,可以通过使用高速缓存层结构将DRAM设备120的故障行重新映射到DRAM设备120的保留区域中,而不是DRAM设备120的直接修复操作。因此,在存储没备正被驱动时,即使在DRAM设备120中检测到故障行,DRAM设备120或存储设备也可以正常操作。
图15示出了根据本发明构思的实施例的运行时修复操作的流程图。在该实施例中,将参考图15描述其中组合了直接修复操作和间接修复操作的运行时修复操作。
参考图11和图15,在操作S301中,存储控制器210加载累积的错误信息、重映射表和地址字段。例如,累积的错误信息可以指示针对DRAM设备120的每一行累积的错误比特的数目,如参考图4所述;重映射表可以指示故障行的地址与重映射地址之间的映射关系,如参考图13B所述;地址字段可以指示关于地址和对应的重映射标志的信息,如参考图13B所述。
在示例性实施例中,为了维护数据,可以将这些信息周期性地清空到非易失性存储器设备130的特定区域(例如,元区域)。存储控制器210可以在存储控制器210的初始化操作中从非易失性存储器设备130加载上述信息。在示例性实施例中,所加载的信息可以存储到SRAM 213,并且可以由处理器212或DRAM控制单元211管理。
在操作S302中,存储控制器210确定设备是否空闲(即,处于空闲状态)。在设备不空闲的情况下(S302中的“否”),存储控制器210执行操作S311至操作S314。操作S311至操作S313可以类似于图3的操作S12至操作S14,因此,这里将不再重复其详细描述。操作S314类似于参考图12描述的间接修复操作,因此,将省略附加的描述以避免冗余。
在设备空闲的情况下(S302中的“是”),存储控制器210执行操作S321至操作S324。操作S321至操作S324可以类似于图5的操作S111至操作S114(即,直接修复操作),因此,这里将不再重复其详细描述。
也就是说,在设备不空闲并且在DRAM设备120中检测到故障行的情况下,存储控制器210可以执行间接修复操作。如上所述,间接修复操作可以不伴随诸如DRAM设备120的访问阻止操作和数据备份操作之类的操作,从而防止性能的额外降低。然而,在设备空闲的情况下,存储控制器210可以执行直接修复操作。在这种情况下,存储控制器210可以对重映射表RT的重映射地址以及检测到的故障行执行直接修复操作。
在示例性实施例中,可以在操作S301和操作S311/S321之间并且在存储设备操作时执行如图15中通过虚线所指示的操作S302。也就是说,存储控制器210可以在存储设备操作时持续地确定设备是否空闲,从而执行间接修复操作或直接修复操作。
尽管未在图15中示出,在示例性实施例中,在重映射表RT中包括的重映射地址的数目不小于参考值的情况下,存储控制器210可以执行直接修复操作。
图16示出了根据本发明构思的实施例的存储控制器的操作的流程图。参考图11和图16,在操作S410中,存储控制器210执行正常操作。在这种情况下,正常操作可以包括与存储设备相关联的各种操作或者参考图1至图13描述的运行时修复操作。
在操作S420中,存储控制器210确定是否关闭了电力。例如,可以在主机的控制下关闭提供给存储设备的电力,或者可以由于各种原因而发生突然断电(SPO)。
在关闭了电力的情况下(S420中的“是”),在操作S430中,存储控制器210将累积的错误信息、重映射表和地址字段清空到非易失性存储器设备130的元区域。在示例性实施例中,存储控制器210可以将上述信息与存储在DRAM设备120中的重要数据(例如,映射表和元信息)一起清空到非易失性存储器设备130。在没有关闭电力的情况下(S420中的“否”),操作可以循环返回到操作S420。
在操作S440中,存储控制器210确定是否接通了电力。例如,在关闭了电力之后,可以再次从主机提供电力(S440中的“是”)。在这种情况下,在操作S450中,存储控制器210从非易失性存储器设备130的元区域加载清空的信息(例如,累积的错误信息、重映射表和地址字段)。所加载的信息可以存储到SRAM 213,并且可以由处理器212或DRAM控制单元211管理。在示例性实施例中,可以在存储控制器210的初始化操作期间执行上述加载操作。在没有接通电力的情况下(S440中的“否”),操作可以循环返回到操作S440。
之后,在操作S460中,存储控制器210执行正常操作。例如,存储控制器210可以基于加载的信息执行参考图1至图15描述的运行时修复操作。
如上所述,根据本发明构思的实施例的存储控制器可以管理关于DRAM设备的累积的错误信息,并且可以基于累积的错误信息来检测DRAM设备的故障行。存储控制器可以通过对检测到的故障行执行运行时修复操作来修复故障行。在示例性实施例中,由于应当维护诸如累积的错误信息、重映射表和地址字段之类的信息以检测故障行或执行运行时修复操作(如参考图16所述),所以可以在断电时将信息清空到非易失性存储器设备,或者可以周期性地或随机地将信息清空到非易失性存储器设备。
图17示出了应用根据本发明构思的实施例的存储设备的用户系统的框图。参考图17,用户系统1000包括中央处理单元(CPU)1100、系统存储器1200、存储设备1300、输入/输出设备1400和图形设备1500。
CPU 1100可以执行用户系统1000所请求的诸如指令操作、指令解码或指令控制之类的操作。系统存储器1200可以用作CPU 1100的缓冲存储器、高速缓冲存储器或主存储器。在示例性实施例中,系统存储器1200可以包括DRAM设备。CPU 1100和系统存储器1200可以被配置为执行参考图1至图16描述的运行时修复操作。也就是说,当用户系统1000正被驱动时,可以从系统存储器1200检测到故障行,并且可以对检测到的故障行执行运行时修复操作。
存储设备1300可以存储在用户系统1000中使用的数据。存储设备1300可以实现为非易失性半导体存储器设备,例如相变RAM(PRAM)、磁RAM(MRAM)、电阻RAM(RRAM)、NAND闪存、NOR闪存或三维NAND闪存等。存储设备1300可以是高容量存储介质。在示例性实施例中,存储设备1300可以是基于参考图1至图16描述的实施例的存储设备。
输入/输出设备1400可以包括向用户系统1000输入数据或指令或者向外部设备输出数据的设备。在示例性实施例中,输入/输出设备1400可以包括用户输入接口,例如键盘、键区、按钮、触摸板、触摸屏、触控垫、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件等。输入/输出设备1400还可以包括用户输出接口,例如液晶显示器(LCD)、有机发光二极管(OLED)显示设备、有源矩阵OLED(AMOLED)显示设备、发光二极管(LED)、扬声器和监视器等。
图形设备1500可以是用于显示CPU 1100的操作结果的设备。图形设备1500可以包括图形处理单元(GPU)1510和图形存储器1520。GPU 1510可以将从CPU 1100提供的数据信号转换为图像信号。GPU 1510可以执行用于图形处理的各种操作。
图形存储器1520可以是缓冲存储器或高速缓冲存储器,其临时存储GPU 1510操作所需的信息。在示例性实施例中,图形存储器1520可以包括DRAM设备。GPU 1510和图形存储器1520可以被配置为执行参考图1至图16描述的运行时修复操作。也就是说,当图形设备1500正被驱动时,可以从系统存储器1200检测到故障行,并且可以对检测到的故障行执行运行时修复操作。
根据本发明构思,可以对存储设备被驱动期间发生的DRAM设备的故障行执行运行时修复操作。也就是说,即使在包括DRAM设备的存储设备被驱动时在DRAM设备处发生了故障行,DRAM设备或存储设备也可以正常操作。因此,提供了具有提高的可靠性和提高的寿命的存储设备及其操作方法。
尽管已经参考本发明构思的示例性实施例描述了本发明构思,但是对于本领域普通技术人员来说显而易见的是,在不脱离如以下权利要求中所阐述的本发明构思的精神和范围的情况下,可以进行各种改变和修改。

Claims (25)

1.一种存储设备的操作方法,所述存储设备包括非易失性存储器设备、包括多个行的动态随机存取存储器DRAM设备和存储控制器,所述方法包括:
所述存储控制器对所述DRAM设备执行访问操作;
所述存储控制器基于所述访问操作收集关于所述DRAM设备的累积的错误信息;
所述存储控制器基于所述累积的错误信息从所述DRAM设备的多个行中检测故障行;以及
所述存储控制器对所述故障行执行运行时修复操作。
2.根据权利要求1所述的方法,其中,所述访问操作包括从所述DRAM设备读取数据的操作以及与所读取的数据相关联的错误检测和校正操作。
3.根据权利要求2所述的方法,其中,所述累积的错误信息指示对于所述DRAM设备的所述多个行中的每一行,通过所述错误检测和校正操作检测到的错误比特的累积计数。
4.根据权利要求3所述的方法,其中,所述故障行是所述多个行中累积的错误比特计数大于参考值的行。
5.根据权利要求3所述的方法,还包括:
在所述存储控制器的RAM中存储所述累积的错误信息;
当所述存储设备断电时,将存储在所述RAM中的所述累积的错误信息清空到所述非易失性存储器设备;以及
当所述存储设备通电时,将所述累积的错误信息从所述非易失性存储器设备加载到所述RAM。
6.根据权利要求1所述的方法,其中,执行运行时修复操作包括:
将存储在所述DRAM设备中的数据中的部分数据或存储在所述DRAM设备中的全部数据清空到所述非易失性存储器设备;
对所述DRAM设备的故障行执行封装后修复操作;以及
在所述封装后修复操作之后将清空到所述非易失性存储器设备的所述部分数据或所述全部数据恢复到所述DRAM设备。
7.根据权利要求6所述的方法,其中,执行封装后修复操作包括:使用模式寄存器设置命令、地址信号、激活命令、自动预充电写入命令和预充电命令。
8.根据权利要求7所述的方法,其中,所述部分数据是存储在所述DRAM设备的多个存储体之中包括所述故障行的存储体中的数据。
9.根据权利要求1所述的方法,其中,执行运行时修复操作包括:
将所述DRAM设备的所述故障行重新映射到所述DRAM设备中的保留区域的保留行中;以及
基于与所述故障行相对应的故障地址和与所述保留行相对应的保留地址来更新重映射表。
10.根据权利要求9所述的方法,还包括:
所述存储控制器生成与所述DRAM没备的用户区域相关联的原始地址;
当所述多个行中与所述原始地址相对应的行是所述故障行时,所述存储控制器基于所述重映射表访问所述保留区域;以及
当与所述原始地址相对应的行不是所述故障行时,所述存储控制器访问与所述原始地址相对应的所述用户区域。
11.根据权利要求9所述的方法,还包括:
在所述存储设备的空闲状态期间,基于所述重映射表对所述DRAM设备执行封装后修复操作。
12.一种存储设备,包括:
非易失性存储器设备;
动态随机存取存储器DRAM设备;以及
存储控制器,被配置为控制所述非易失性存储器设备和所述DRAM设备,
其中,所述存储控制器包括:
DRAM纠错单元,被配置为对从所述DRAM设备读取的数据执行错误检测和校正操作,和
修复管理器,被配置为基于所述DRAM纠错单元检测到的错误来管理累积的错误信息,基于所述累积的错误信息检测所述DRAM设备的故障行,并对所述故障行执行运行时修复操作。
13.根据权利要求12所述的存储设备,其中,所述存储控制器还包括被配置为存储所述累积的错误信息的存储器,
其中,将存储在所述存储器中的所述累积的错误信息周期性地清空到所述非易失性存储器设备。
14.根据权利要求12所述的存储设备,其中,所述修复管理器被配置为通过执行以下操作来执行所述运行时修复操作:将存储在所述DRAM设备中的数据中的部分数据或存储在所述DRAM设备中的全部数据清空到所述非易失性存储器设备,对所述DRAM设备的所述故障行执行封装后修复操作以提供经修复的行,以及将清空到所述非易失性存储器设备中的所述部分数据或所述全部数据恢复到所述DRAM设备的所述经修复的行。
15.根据权利要求14所述的存储设备,其中,所述DRAM设备包括:
熔丝电路,被配置为从所述存储控制器接收地址,并根据所述熔丝电路的熔丝设置,输出所述地址和通过转换所述地址而获得的转换地址中的任何一个;
存储器单元阵列,包括正常单元和冗余单元;
行解码器,通过正常字线与所述正常单元连接,并通过冗余字线与所述冗余单元连接,所述行解码器被配置为响应于所述地址而选择任何一条所述正常字线,并且响应于所述转换地址而选择任何一条所述冗余字线;
列解码器,通过位线与所述存储器单元阵列连接;以及
控制逻辑电路,被配置为通过所述存储控制器的运行时修复操作来执行所述熔丝电路的熔丝设置。
16.根据权利要求12所述的存储设备,其中,所述DRAM设备包括用户区域和保留区域,
其中,所述故障行包括在所述用户区域中,以及
其中,所述修复管理器被配置为将与所述故障行相对应的原始地址重新映射到与所述保留区域中的一个保留行相对应的保留地址。
17.根据权利要求16所述的存储设备,其中,所述存储控制器还包括:
处理器,被配置为通过生成所述原始地址来访问所述DRAM设备;以及
DRAM访问管理器,被配置为在所述原始地址对应于所述故障行的情况下输出所述保留地址。
18.一种存储设备的操作方法,所述存储设备包括非易失性存储器设备、易失性存储器设备和存储控制器,所述存储控制器被配置为控制所述非易失性存储器设备和所述易失性存储器设备,所述方法包括:
所述存储控制器从所述易失性存储器设备读取数据;
所述存储控制器对所读取的数据执行错误检测和校正操作;
所述存储控制器基于所述错误检测和校正操作的结果,更新关于所述易失性存储器设备的多个行中的每一行的累积的错误信息;
所述存储控制器基于更新的累积的错误信息检测所述易失性存储器设备的故障行;以及
所述存储控制器对所述故障行执行运行时修复操作,
其中,所述运行时修复操作在所述存储设备操作期间执行。
19.根据权利要求18所述的方法,其中,执行运行时修复操作包括:
将存储在所述易失性存储器设备中的数据中的部分数据或存储在所述易失性存储器设备中的全部数据清空到所述非易失性存储器设备;
通过对所述易失性存储器设备执行封装后修复操作来恢复所述故障行以提供经修复的行;以及
将清空到所述非易失性存储器设备的所述部分数据或所述全部数据恢复到所述易失性存储器设备的所述经修复的行。
20.根据权利要求18所述的方法,其中,执行运行时修复操作包括:
将所述故障行重新映射到所述易失性存储器设备中的保留区域的保留行中;以及
基于与所述故障行相对应的原始地址和所述保留行的重映射地址来更新重映射表。
21.一种计算系统,包括:
存储设备;以及
主机,被配置为控制所述存储设备,
所述存储设备包括:
非易失性存储器设备,
动态随机存取存储器DRAM设备,包括多个行,和
存储控制器,被配置为:基于从所述DRAM设备读取的数据收集关于所述DRAM设备的累积的错误信息,基于所述累积的错误信息从所述DRAM设备的多个行中检测故障行,以及在所述存储设备的运行期间对所述故障行执行运行时修复操作。
22.根据权利要求21所述的计算系统,其中,所述存储控制器被配置为通过执行以下操作来执行所述运行时修复操作:将存储在所述DRAM设备中的数据清空到所述非易失性存储器设备,在清空之后对所述DRAM设备的故障行执行封装后修复操作以提供经修复的行,以及将清空到所述非易失性存储器设备中的数据恢复到所述DRAM设备的所述经修复的行。
23.根据权利要求22所述的计算系统,其中,所述存储控制器被配置为通过确定所述存储设备是否空闲,然后在确定所述存储设备空闲时执行所述清空,来执行所述运行时修复操作。
24.根据权利要求22所述的计算系统,其中,所述存储控制器被配置为清空存储在所述DRAM设备中的一些数据。
25.根据权利要求22所述的计算系统,其中,所述存储控制器被配置为清空存储在所述DRAM设备中的所有数据。
CN201910742162.5A 2018-08-14 2019-08-12 存储设备及其操作方法 Pending CN110825321A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0095016 2018-08-14
KR1020180095016A KR102623234B1 (ko) 2018-08-14 2018-08-14 스토리지 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
CN110825321A true CN110825321A (zh) 2020-02-21

Family

ID=69320613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910742162.5A Pending CN110825321A (zh) 2018-08-14 2019-08-12 存储设备及其操作方法

Country Status (4)

Country Link
US (1) US11302414B2 (zh)
KR (1) KR102623234B1 (zh)
CN (1) CN110825321A (zh)
DE (1) DE102019117787B4 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338851A (zh) * 2020-02-26 2020-06-26 东莞记忆存储科技有限公司 故障内存开机hPPR自动修复的方法、装置、计算机设备及存储介质
CN113495812A (zh) * 2020-04-01 2021-10-12 森富科技股份有限公司 内存封装后维修检查方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11068365B2 (en) * 2018-08-23 2021-07-20 Micron Technology, Inc. Data recovery within a memory sub-system without moving or processing the data through a host
KR20210105023A (ko) 2020-02-18 2021-08-26 삼성메디슨 주식회사 초음파 프로브 및 그 제조방법
US11011251B1 (en) * 2020-08-10 2021-05-18 Nanya Technology Corporation System and method of verifying hard post package repair and non-transitory computer readable medium
US11334458B2 (en) * 2020-08-27 2022-05-17 Micron Technology, Inc. Completing memory repair operations interrupted by power loss
KR20220049856A (ko) * 2020-10-15 2022-04-22 에스케이하이닉스 주식회사 메모리 시스템 및 컨트롤러
US11495314B2 (en) * 2021-01-08 2022-11-08 Taiwan Semiconductor Manufacturing Company Limited Memory repair using optimized redundancy utilization
US11791011B1 (en) * 2022-05-03 2023-10-17 Micron Technology, Inc. Self-repair verification
US20230395184A1 (en) * 2022-06-02 2023-12-07 Micron Technology, Inc. Post package repair management

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013062874A1 (en) * 2011-10-24 2013-05-02 Rambus Inc. Dram retention test method for dynamic error correction
US20150234707A1 (en) * 2012-06-21 2015-08-20 Rambus Inc. Error Correction In A Memory Device
CN105589762A (zh) * 2014-08-19 2016-05-18 三星电子株式会社 存储器装置、存储器模块和用于纠错的方法
CN105843699A (zh) * 2015-02-02 2016-08-10 国际商业机器公司 用于错误监视与校正的动态随机存取存储器设备与方法
US20170161143A1 (en) * 2015-12-08 2017-06-08 Nvidia Corporation Controller-based memory scrub for drams with internal error-correcting code (ecc) bits contemporaneously during auto refresh or by using masked write commands
US20170169905A1 (en) * 2014-03-03 2017-06-15 Hewlett Packard Enterprise Development Lp Dram row sparing
US20180182465A1 (en) * 2016-12-22 2018-06-28 Seagate Technology Llc Read Disturb Detection Based on Dynamic Bit Error Rate Estimation

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4479214A (en) * 1982-06-16 1984-10-23 International Business Machines Corporation System for updating error map of fault tolerant memory
US20020091965A1 (en) * 2000-12-22 2002-07-11 Mark Moshayedi System and method for early detection of impending failure of a data storage system
KR100512178B1 (ko) 2003-05-28 2005-09-02 삼성전자주식회사 플렉서블한 열 리던던시 스킴을 갖는 반도체 메모리 장치
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
US7325078B2 (en) * 2005-10-06 2008-01-29 Hewlett-Packard Development Company, L.P. Secure data scrubbing
US8205034B2 (en) * 2006-08-09 2012-06-19 Hitachi Ulsi Systems Co., Ltd. Flash memory drive having data interface
KR100802059B1 (ko) * 2006-09-06 2008-02-12 삼성전자주식회사 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
JP5497631B2 (ja) 2007-04-26 2014-05-21 アギア システムズ インコーポレーテッド ヒューズ焼付け状態機械及びヒューズダウンロード状態機械に基づく内蔵メモリ修理方法
TW200921691A (en) * 2007-11-14 2009-05-16 Etron Technology Inc Method for controlling a dram
US8443260B2 (en) * 2007-12-27 2013-05-14 Sandisk Il Ltd. Error correction in copy back memory operations
ATE539403T1 (de) * 2008-06-24 2012-01-15 Sandisk Il Ltd Verfahren und vorrichtung zur fehlerkorrektur nach der löschanzahl eines festkörperspeichers
KR101519491B1 (ko) * 2008-09-12 2015-05-12 삼성전자주식회사 누적 테스트를 위한 반도체 메모리 장치 및 이를 포함하는 시스템
KR20100102925A (ko) * 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
KR101882681B1 (ko) * 2011-10-27 2018-07-31 삼성전자 주식회사 메모리 장치 및 그 구동 방법
US9087613B2 (en) * 2012-02-29 2015-07-21 Samsung Electronics Co., Ltd. Device and method for repairing memory cell and memory system including the device
KR20170134989A (ko) * 2016-05-30 2017-12-08 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
US8793556B1 (en) * 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
KR20140034333A (ko) * 2012-08-16 2014-03-20 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 이를 포함하는 메모리 장치
US9165679B2 (en) * 2012-09-18 2015-10-20 Samsung Electronics Co., Ltd. Post package repairing method, method of preventing multiple activation of spare word lines, and semiconductor memory device including fuse programming circuit
US8930778B2 (en) * 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
KR102025193B1 (ko) * 2013-02-19 2019-09-25 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
KR20140108938A (ko) 2013-03-04 2014-09-15 삼성전자주식회사 반도체 메모리를 액세스하는 액세스 방법 및 반도체 회로
US9424953B2 (en) 2013-06-20 2016-08-23 Samsung Electronics Co., Ltd. Semiconductor memory device including repair circuit
US9218242B2 (en) * 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
US9343184B2 (en) * 2014-04-07 2016-05-17 Micron Technology, Inc. Soft post package repair of memory devices
KR20160014976A (ko) 2014-07-30 2016-02-12 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR102233068B1 (ko) 2014-09-01 2021-03-30 삼성전자주식회사 반도체 메모리 장치의 결함 메모리 셀 리페어 방법
KR102269899B1 (ko) 2015-01-12 2021-06-28 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20170023439A (ko) 2015-08-24 2017-03-06 삼성전자주식회사 메모리 테스트 시스템 및 메모리 시스템
US9606889B1 (en) * 2015-09-04 2017-03-28 Dell Products L.P. Systems and methods for detecting memory faults in real-time via SMI tests
US20170131947A1 (en) * 2015-11-06 2017-05-11 Pho Hoang Data and collection methods to analyze life acceleration of SSD with real usages
US20170131948A1 (en) * 2015-11-06 2017-05-11 Virtium Llc Visualization of usage impacts on solid state drive life acceleration
US9965346B2 (en) 2016-04-12 2018-05-08 International Business Machines Corporation Handling repaired memory array elements in a memory of a computer system
US10042700B2 (en) * 2016-05-28 2018-08-07 Advanced Micro Devices, Inc. Integral post package repair
KR20180040474A (ko) * 2016-10-12 2018-04-20 삼성전자주식회사 칩 단위의 페일 정보를 레포팅하는 메모리 모듈, 메모리 모듈 및 메모리 컨트롤러의 동작 방법
KR102650154B1 (ko) * 2016-12-08 2024-03-22 삼성전자주식회사 가상 페일 생성기를 포함하는 메모리 장치 및 그것의 메모리 셀 리페어 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013062874A1 (en) * 2011-10-24 2013-05-02 Rambus Inc. Dram retention test method for dynamic error correction
US20150234707A1 (en) * 2012-06-21 2015-08-20 Rambus Inc. Error Correction In A Memory Device
US20170169905A1 (en) * 2014-03-03 2017-06-15 Hewlett Packard Enterprise Development Lp Dram row sparing
CN105589762A (zh) * 2014-08-19 2016-05-18 三星电子株式会社 存储器装置、存储器模块和用于纠错的方法
CN105843699A (zh) * 2015-02-02 2016-08-10 国际商业机器公司 用于错误监视与校正的动态随机存取存储器设备与方法
US20170161143A1 (en) * 2015-12-08 2017-06-08 Nvidia Corporation Controller-based memory scrub for drams with internal error-correcting code (ecc) bits contemporaneously during auto refresh or by using masked write commands
US20180182465A1 (en) * 2016-12-22 2018-06-28 Seagate Technology Llc Read Disturb Detection Based on Dynamic Bit Error Rate Estimation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338851A (zh) * 2020-02-26 2020-06-26 东莞记忆存储科技有限公司 故障内存开机hPPR自动修复的方法、装置、计算机设备及存储介质
CN111338851B (zh) * 2020-02-26 2024-02-13 东莞记忆存储科技有限公司 故障内存开机hPPR自动修复的方法、装置、计算机设备及存储介质
CN113495812A (zh) * 2020-04-01 2021-10-12 森富科技股份有限公司 内存封装后维修检查方法
CN113495812B (zh) * 2020-04-01 2024-02-06 森富科技股份有限公司 内存封装后维修检查方法

Also Published As

Publication number Publication date
US11302414B2 (en) 2022-04-12
KR20200019463A (ko) 2020-02-24
US20200058365A1 (en) 2020-02-20
DE102019117787A1 (de) 2020-02-20
DE102019117787B4 (de) 2022-08-18
KR102623234B1 (ko) 2024-01-11

Similar Documents

Publication Publication Date Title
US11302414B2 (en) Storage device that performs runtime repair operation based on accumulated error information and operation method thereof
US11231992B2 (en) Memory systems for performing failover
US10847244B2 (en) Storage device including repairable volatile memory and method of operating the same
CN109074228B (zh) 用于对在主机存储器缓冲区中损坏的数据进行恢复的存储系统和方法
US10649894B2 (en) Nonvolatile memory module and operation method thereof
TWI419161B (zh) 儲存管理資訊之記憶體系統及控制其之方法
CN111722793B (zh) 开放通道存储设备的操作方法
EP3770764B1 (en) Method of controlling repair of volatile memory device and storage device performing the same
JP2017201519A (ja) ストレージ装置、ストレージ装置の動作方法、及びストレージ装置とホスト装置とを含むコンピューティング装置の動作方法
US10013310B2 (en) Cache memory device and operating method thereof
US10067819B2 (en) Data storage device and operating method thereof
US11481294B2 (en) Runtime cell row replacement in a memory
US11908535B2 (en) Memory device and memory controller and storage device including the memory device and memory controller
US10998073B2 (en) Systems and methods to wake up memory array
CN114627939A (zh) 存储器控制器以及包括存储器控制器的存储装置
US10846013B1 (en) Data storage device and operation method thereof
US10725910B2 (en) Controller for recovering map segments in case of sudden power off and operating method thereof
KR102680511B1 (ko) 데이터 저장 장치 및 그 동작 방법
US11650873B2 (en) Memory controller, method of operating the memory controller, and storage device including memory controller
US11829228B2 (en) Storage devices of performing metadata management and methods of operating the same
US20230400991A1 (en) Data Storage Device and Method for Prediction-Based Improved Power-Loss Handling

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