CN111352756B - 检测存储器装置中存储的数据的错误的装置及其操作方法 - Google Patents

检测存储器装置中存储的数据的错误的装置及其操作方法 Download PDF

Info

Publication number
CN111352756B
CN111352756B CN201910836269.6A CN201910836269A CN111352756B CN 111352756 B CN111352756 B CN 111352756B CN 201910836269 A CN201910836269 A CN 201910836269A CN 111352756 B CN111352756 B CN 111352756B
Authority
CN
China
Prior art keywords
error detection
information
memory device
error
data
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
CN201910836269.6A
Other languages
English (en)
Other versions
CN111352756A (zh
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.)
SK Hynix Inc
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN111352756A publication Critical patent/CN111352756A/zh
Application granted granted Critical
Publication of CN111352756B publication Critical patent/CN111352756B/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/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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Computing Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Mathematical Physics (AREA)

Abstract

本公开涉及一种用于检测存储器装置中存储的数据的错误的装置。该装置包括:错误检测触发电路,被配置成在满足错误检测执行条件的情况下,在每个第一周期传送错误检测触发信息,该错误检测触发信息用于指示对数据中的至少一部分的错误检测操作;错误检测执行电路,被配置成接收错误检测触发信息,指示错误计算引擎对数据中的部分或全部执行错误检测操作,并且从错误计算引擎接收错误检测结果信息;以及报告电路,被配置成根据错误检测结果信息将报告信息传送到目标装置。

Description

检测存储器装置中存储的数据的错误的装置及其操作方法
相关申请的交叉引用
本申请要求于2018年12月20日向韩国知识产权局提交的申请号为10-2018-0165746的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种用于检测存储器装置中存储的数据的错误的装置及其操作方法。
背景技术
存储装置基于诸如计算机和智能电话的主机的请求来存储数据。存储装置可将数据存储在诸如硬盘驱动器(HDD)的磁盘中,或者将数据存储在诸如固态驱动器(SDD)、UFS(通用闪存)装置或eMMC(嵌入式MMC)装置的非易失性存储器中。
非易失性存储器的示例包括ROM(只读存储器)、PROM(可编程ROM)、EPROM(电可编程ROM)、EEPROM(电可擦除可编程ROM)、闪速存储器、PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻式RAM)和FRAM(铁电RAM)。
存储装置可包括其中的SoC(片上系统)和固件(FW),以根据主机的请求对非易失性存储器执行读取和写入操作。
当驱动存储装置中的固件时,固件的程序代码和数据存储在存储装置中的易失性存储器中。这样,当电源中断时,易失性存储器会丢失其中存储的数据。易失性存储器可以是SRAM(静态RAM)、DRAM(动态RAM)或SDRAM(同步DRAM)。
发明内容
各个实施例涉及一种存储装置及其操作方法,该存储装置尽可能快地检测存储器装置中存储的数据中发生的错误,而不管是否访问了存储器装置中存储的数据,从而提高操作安全性。
在实施例中,一种检测存储器装置中存储的数据的错误的装置可包括:错误检测触发电路,被配置成在满足错误检测执行条件的情况下,在每个第一周期传送错误检测触发信息,该错误检测触发信息用于指示对数据中的至少一部分的错误检测操作;错误检测执行电路,被配置成接收错误检测触发信息,指示错误计算引擎对数据中的部分或全部执行错误检测操作,并且从错误计算引擎接收错误检测结果信息;以及报告电路,被配置成根据错误检测结果信息将报告信息传送到目标装置。
在实施例中,一种检测存储器装置中存储的数据的错误的方法可包括:在满足错误检测执行条件的情况下,在每个第一周期生成错误检测触发信息,该错误检测触发信息用于指示对数据中的至少一部分的错误检测操作;接收错误检测触发信息,并执行错误检测操作;并且根据错误检测操作的错误检测结果信息将报告信息传送到目标装置。
在实施例中,存储器系统可包括:存储器装置,被配置成存储数据;错误检测电路,被配置成对数据中的至少一部分执行错误检测操作;以及处理器,被配置成控制错误检测电路执行错误检测操作并将错误检测操作的结果报告给主机,其中处理器控制错误检测电路以响应于强制错误检测命令来执行错误检测操作,并且其中处理器控制错误检测电路以在进一步每个检测周期执行错误检测操作,该检测周期根据存储器装置的状态相对于默认周期而变化。
本公开的实施例提供了一种存储装置及其操作方法,该存储装置尽可能快地检测存储器装置中存储的数据中发生的错误,而不管是否访问了存储器装置中存储的数据,从而提高操作安全性。
附图说明
图1是示出根据本公开的实施例的存储装置的示图。
图2是示出诸如图1的错误检测装置的配置的示图。
图3是示出诸如图2的错误检测装置的示例性配置的示图。
图4是示出诸如图2的错误检测装置的另一示例性配置的示图。
图5是示出根据本公开的实施例的错误检测装置的操作的流程图。
图6是示出根据本公开的另一实施例的错误检测装置的操作的流程图。
图7是示出根据本公开的实施例的检查是否满足错误检测执行条件的操作的流程图。
图8是示出根据本公开的实施例的根据状态信息确定警告等级信息的操作的流程图。
图9是示出根据本公开的实施例的存储装置的示图。
图10是示出诸如图9的非易失性存储器装置的结构的示图。
图11是示出根据本公开的实施例的SSD系统的框图。
图12是示出根据本公开的实施例的用户系统的框图。
具体实施方式
在本公开中,在结合附图阅读以下实施例之后,本发明的优点、特征及实现这些优点和特征的方法将变得显而易见。然而,本发明可以不同的形式体现,并且不应被解释为限制于本文所阐述的实施例。相反,提供这些实施例以详细地描述本公开至本公开所属领域的技术人员可以实践本发明的程度。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
在此将理解的是,本公开的实施例不限于附图中所示的细节,并且附图不一定按比例绘制,在一些情况下,可能已夸大比例以便更清楚地描绘本公开的某些特征。在整个附图和说明书中,相同的附图标记表示相同的元件。
虽然本文使用了特定术语,但是应当理解,本文所使用的术语仅用于描述特定实施例的目的,而不旨在限制本发明的范围。
本文的具体结构和功能描述针对本公开的实施例。然而,这些实施例可以各种方式和形式来实施;因此,本发明不限于本文描述的实施例。相反,本发明涵盖处于本公开的精神和范围内的所有变化、等同方案和修改。
如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。诸如“第一”和“第二”的术语可用于标识各个组件,但这些组件不应受到这些术语的限制。这些术语仅用于将一个组件与具有相同或相似名称的其它组件区分开。例如,在不脱离基于本公开的构思的范围的情况下,一个示例中的第一组件可在另一示例中被命名为第二组件。
将理解的是,当元件被称为“连接”或“联接”到另一元件时,其可直接连接或联接到其它元件,或者可存在一个或多个中间元件。相反地,当元件被称为“直接连接”或“直接联接”到另一元件时,不存在中间元件。应当以类似的方式来解释描述组件之间关系的其它表示,即“在……之间”和“直接在……之间”或“邻近于”和“直接邻近于”。
除非上下文中另有说明,否则单数表述包括复数表述。在本说明书中,应当理解的是,诸如“包括”或“具有”的术语指示存在特征、数字、步骤、操作、组件、部件或其组合,但不排除存在或添加一个或多个其它特征、数字、步骤、操作、组件、部件或其组合的可能性。
除非有不同的定义,否则本文使用的包括技术或科学术语的所有术语具有与本公开所属领域的技术人员通常理解的术语相同的含义。常用词典中定义的术语应当被解释为具有与其在相关技术中的使用一致的含义,并且不应当以理想化或过于形式化的方式来解释,除非本文如此定义。
可省略对公知功能和结构的详细描述,以避免模糊本公开的主题。这旨在使公开的主题更加清晰。
而且,在描述本公开的组件时,可使用如第一、第二、A、B、(a)和(b)的术语。这些只是为了将一个组件与另一组件区分开的目的,而不是意指或暗示这些组件的实质、顺序或序列。如果组件被描述为“连接”、“联接”或“链接”到另一组件,这可表示组件直接“连接”、“联接”或“链接”,或者经由第三组件而间接“连接”、“联接”或“链接”。
如上所述,诸如SSD、UFS装置和eMMC装置的存储装置响应于主机的请求,根据由协议定义的命令的内容,对非易失性存储器装置执行读取和写入操作。
随着SoC的技术节点变得越来越小,特别是已从28nm缩小到16nm或更小的专用集成电路(ASIC)技术,诸如SRAM和DRAM的存储器装置的单元密度逐渐增加。而且,为了满足更高的要求,存储装置需要高速执行更加多样和复杂的操作。
另一方面,安装有存储装置的系统的环境约束不断增加。例如,液晶显示器(LCD)的大小和刷新率不断增加,并且诸如WiFi和LTE的通信方案所需的数据速率也不断增加。
因此,为了使存储装置能够耐受由这种系统的其它装置所产生的功率噪声,需要昂贵的印制电路板(PCB)和部件,并且这可能导致总体BOM(材料清单)的增加。
由于这种外部因素,存储装置上的诸如SRAM和DRAM的存储器装置中存储的数据可能间歇地发生位翻转。以这种方式,如果诸如SRAM和DRAM的存储器装置中存储的数据发生意外错误(例如,由于存在α(alpha)粒子而导致的位翻转),则可能会导致存储装置异常操作的问题。
除位翻转问题之外,系统环境可能逐渐变得更糟,这导致具有更高性能和容量的存储器装置很可能运行异常。进一步地,为克服这种情况而导致的成本和设计验证风险也在稳步增加。
另一方面,主板的工作温度、电压电平、低功率设计和环境也加剧了上述问题。在汽车以及移动装置中,这个问题已然成为重要议题。因此,需要以适当的努力和成本来解决这些问题并满足相关要求。
本公开中描述的实施例说明了在存储装置中使用诸如SRAM和DRAM的大容量存储器装置的情况下,处理由于位翻转等导致的软错误的方法。
处理存储器装置中发生的软错误的常规方法通常可分为三种方案。
1)无保护
在ASIC和封装过程中尽可能多地执行筛选,并且获得可接受的ASIC管芯并将其应用于系统中,但不使用检测/校正软错误的附加机制。
2)过度(overkill)保护
过度保护方案是将EDC(错误检测码)/ECC(错误校正码)奇偶校验应用于最小写入单元的方案。例如,在最小写入单元为32位的情况下,可应用1位EDC奇偶校验或7位ECC奇偶校验。
3)折衷(compromised)保护
在折衷保护方案中,通过将多个写入单元分组来形成一个较大的保护单元,并且将EDC/ECC奇偶校验应用于保护单元。例如,针对128字节、256字节或512字节的保护单元的数据来配置EDC/ECC奇偶校验。
比较上述三种方案,无保护方案的问题在于:由于ASIC筛选而存在开销,由于封装而增加系统成本,并且无保护方案易受意外发生的位翻转的影响。
过度保护方案的问题在于:因为每个写入单元都增加了奇偶校验的开销,所以与数据相比,该开销过大。例如,在每32位写入单元使用1位EDC奇偶校验的情况下,存在1/32≒3%的开销,而在使用7位ECC奇偶校验的情况下,存在(7/32)≒17%的开销。
最后,折衷保护方案优于过度保护方案在于:与数据相比,有可能显著降低奇偶校验的开销。例如,可以使用每128位1位奇偶校验或每256字节2字节(=16位)的奇偶校验,并且这两种情况无论哪种,与数据相比,奇偶校验开销均可能小于1%。
然而,与过度保护方案相比,折衷保护方案在延迟方面是不利的。原因在于:在通过将多个写入单元分组来配置一个保护单元的情况下,即使仅在保护单元的一部分中发生变化,也需要通过读取整个保护单元的数据来计算奇偶校验。
在使用上述三种方案中的任意一种来处理软错误的情况下,当软错误发生时,未识别出软错误,而在稍后访问相应数据时识别出来。
例如,在使用无保护方案的情况下,当系统故障或失灵时,有可能识别出存储器装置中存储的数据中已发生软错误。在使用过度保护方案或折衷保护方案的情况下,当访问已发生软错误的数据时,有可能识别出已发生软错误。
如果从第一次发生软错误时开始到识别出发生该软错误时的时间间隔较长,则发生和累积更多位错误的可能性增加。因此,经历软错误的位的数量超过可校正错误位的数量的可能性增加。
例如,如果在第一次发生1位软错误时被立即识别出,则可通过1位ECC来校正该错误,并且不需要另外处理该错误。
然而,如果经过了相当长的时间,使得在识别出数据中的第一个1位软错误之前发生另一个1位软错误,则导致的问题在于现在存在两个错误位,这无法利用1位ECC来校正。因此,需要另外的错误处理。
特别地,诸如移动装置的支持低功率模式的装置采用以下方案:使存储器装置进入保持状态,即进入存储器装置不执行读取/写入操作且存储的数据被保留而未丢失,并且中断对其它装置的电力供应的状态。保持状态也可称为休眠状态,其含义不被其名称限制。
以这种方式,即使在存储器装置长时间保持在保持状态的情况下,也可能发生软错误。如果发生软错误,在存储器装置从保持状态唤醒并进入激活状态之后,即进入存储器装置可执行读取/写入操作的状态之后,在对已发生软错误的数据执行读取/写入操作的情况下,有可能识别出发生软错误。
因此,在本公开的实施例中,描述了一种错误检测装置,该错误检测装置基于由后台操作确定的周期或由固件(FW)确定的事件,对存储器装置中存储的数据执行错误检测,目的是尽可能快地检测存储器装置中存储的数据中发生的软错误。
这种错误检测装置可对相应的数据执行EDC或ECC操作,而不管相应的数据是否被访问。
如果对数据执行EDC操作,则有可能检测到相应数据中发生错误。如果对数据执行ECC操作,则有可能校正在错误检测装置的ECC能力范围内的错误。
在执行EDC操作的情况下,错误检测装置可立即向目标装置报告软错误,以防止另外发生软错误。
在执行ECC操作的情况下,当发生软错误的位的数量等于或低于可校正错误位数量T时,错误检测装置可校正错误并保留数据。相反,当发生软错误的位的数量超过T时,错误检测装置可立即向目标装置报告软错误,以防止另外发生软错误。
通过上述EDC/ECC操作,错误检测装置可保持存储器装置中存储的数据的完整性,并且检测错误的操作可称为保持数据完整性的操作。
错误检测操作可称为对存储器装置的擦洗(scrubbing)操作。
本公开的实施例是基于以下前提:对存储器装置中存储的数据基本上应用上述的过度保护方案或折衷保护方案,从而可执行上述EDC/ECC操作。
下面参照附图详细描述各个实施例,以解释本发明至本公开所属领域的技术人员能够实践本发明的程度。
图1是示出根据本公开的实施例的存储装置的示图。
参照图1,存储装置10可包括控制器50和非易失性存储器装置70。
控制器50可从主机接收请求,可基于所接收的请求控制非易失性存储器装置70,并且如果有必要,则可向主机传送响应。
非易失性存储器装置70可存储数据。非易失性存储器装置70在控制器50的控制下操作。
非易失性存储器装置70可包括存储器单元阵列,存储器单元阵列包括多个存储器单元。在实施例中,非易失性存储器装置70可以是NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
在实施例中,非易失性存储器装置70可以三维阵列结构来实现。本公开不仅可应用于其中电荷存储层由导电浮栅(FG)配置的闪速存储器装置,而且还可应用于其中电荷存储层由介电层配置的电荷撷取闪存(CTF)。
非易失性存储器装置70被配置成从控制器50接收命令和地址,并且访问存储器单元阵列中由该地址选择的区域。换言之,非易失性存储器装置70可对由地址选择的区域执行对应于命令的操作。
例如,非易失性存储器装置70可执行编程操作、读取操作和擦除操作。在编程操作中,非易失性存储器装置70可将数据编程到由地址选择的区域中。在读取操作中,非易失性存储器装置70可从由地址选择的区域读取数据。在擦除操作中,非易失性存储器装置70可擦除存储在由地址选择的区域中的数据。
主机可包括至少一个操作系统。操作系统通常可管理和控制主机的功能和操作,并且可提供存储装置10和主机之间的互操作。主机可以是电子装置,例如,诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV或投影仪的各种有线/无线电子装置中的任意一种。
存储器装置200可存储作为错误检测目标的数据,并且可以是诸如SRAM或DRAM的易失性存储器。存储器装置200可通过与控制器50上的总线联接的总线接口来接收数据读取/写入请求。
另一方面,如上所述,因为本公开是基于以下前提:对存储器装置200中存储的数据应用上述的过度保护方案或折衷保护方案,所以不仅数据而且数据的奇偶校验都可存储在存储器装置200中。错误计算引擎或EDC/ECC引擎300使用数据的奇偶校验来计算数据的错误。
错误检测装置100可请求错误计算引擎300以执行对存储器装置200中存储的数据的错误检测操作的计算。
错误计算引擎300可对存储器装置200中存储的数据执行错误检测操作,即EDC操作或ECC操作。错误计算引擎300可包括用于执行EDC操作或ECC操作的EDC引擎或ECC引擎。
在执行错误检测操作之后,错误计算引擎300可将错误检测结果信息传送到错误检测装置100。错误检测结果信息可包括关于是否已发生错误或者已发生错误的位的数量的信息。
在错误计算引擎300通过执行ECC操作来校正数据的错误的情况下,错误计算引擎300可将经校正的数据存储在存储器装置200中。
错误检测装置100可基于从错误计算引擎300接收的错误检测结果信息生成报告信息,并且可将所配置的报告信息传送到目标装置。报告信息可包括关于是否已发生错误的信息、关于已发生错误的地址的信息以及关于软错误位的数量是否小于或等于表示可校正的软错误位的最大数量的限制的信息中的一个或多个。
接收报告信息的目标装置可以是例如上述主机(例如,诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV和投影仪的各种有线/无线电子装置中的任意一种)、控制存储器装置200的控制器或安装有存储器装置200的SSD系统或用户系统。
目标装置可从错误检测装置100接收报告信息,并且可根据所接收的报告信息执行操作。
例如,在由报告信息指示软错误位的数量小于或等于可校正限制的信息的情况下,目标装置可记录已发生错误的日志。
再例如,在软错误位的数量大于可校正限制并且存储装置10无法再进行正常操作的情况下,目标装置可初始化存储器装置200中存储的所有数据或者重置存储装置10。
下面参照图2至图4给出错误检测装置100的进一步细节。
图2是图1的错误检测装置100的示例性配置的示图。
参照图2,错误检测装置100可包括错误检测触发电路110、错误检测执行电路120和报告电路130。
在满足错误检测执行条件的情况下,错误检测触发电路110可在每个第一周期将用于指示针对数据中的至少一部分的错误检测操作的错误检测触发信息传送到错误检测执行电路120。
可在每个第一周期生成错误检测触发信息,其中基于用于检测数据的错误的设置信息或表示存储器装置200的状态的状态信息来设置第一周期。错误检测触发信息也可以节拍(tick)的形式传送到另一模块。
可如下面描述的示例来确定是否满足错误检测执行条件。
例如,在存储器装置200的模式从保持模式改变为激活模式的情况下,错误检测触发电路110可确定满足错误检测执行条件。这是因为,如果在存储器装置200处于保持模式的情况下经过很长时间,则由于位翻转等原因,存在存储器装置200中存储的数据中可能发生错误的可能性。
再例如,在存储器装置200进入保持模式的情况下或者在存储器装置200进入保持模式之后经过设定时间的情况下,错误检测触发电路110可确定满足错误检测执行条件。
又例如,在存储器装置200处于保持模式的情况下,错误检测触发电路110可确定在每个间隔满足错误检测执行条件。间隔是定义对数据中的部分或全部执行错误检测操作的周期的设定时间段。
当存储器装置200处于保持模式时,确定在每个间隔满足错误检测执行条件的原因如下。如果仅当存储器装置200从保持模式改变为激活模式时检测错误,则造成的问题在于,当保持模式结束时才感测在存储器装置200处于保持模式时已发生的错误。
在这种情况下,为了对存储器装置200中存储的数据的部分或全部执行错误检测操作,存储器装置200在每个间隔从保持模式唤醒并进入激活模式,并且当完成对数据的部分或全部的错误检测操作时,存储器装置200返回到保持模式。
又例如,在设置信息中设置强制错误检测命令的情况下,错误检测触发电路110可确定满足错误检测执行条件。在这种情况下,确定满足错误检测执行条件,而不管存储器装置200是否已进入保持模式。
将参照图3描述错误检测触发电路110生成错误检测触发信息的具体示例。
错误检测执行电路120可接收在错误检测触发电路110中生成的错误检测触发信息,并且可指示错误计算引擎300对数据中的全部或部分执行错误检测操作并将错误检测结果信息传输到报告电路130。
参照图4描述了针对数据中的至少一部分指示并执行错误检测操作的具体示例。
报告电路130可将根据错误检测结果信息的报告信息传送到目标装置。可从错误检测执行电路120传输错误检测结果信息。
报告信息可包括关于是否已发生错误的信息、关于已发生错误的地址的信息以及关于错误位的数量是否小于或等于可校正的错误位的最大数量的信息中的一个或多个。如上参照图1所述,接收报告信息的目标装置可以是例如上述主机(例如,诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV和投影仪的各种有线/无线电子装置中的任意一种)、控制存储器装置200的控制器或安装有存储器装置200的存储卡系统或用户系统。
图3是示出图2的错误检测装置100的示例性配置的示图。
参照图3,错误检测触发电路110可包括设置信息存储电路111、状态信息监测电路112和触发生成电路113。
设置信息存储电路111可存储用于检测数据的错误的设置信息。设置信息可包括控制对数据的错误检测操作的信息。
例如,设置信息可由驱动安装到错误检测装置100和存储器装置200的控制器的固件生成。再例如,设置信息可由外部主机装置生成。
设置信息中可包括以下信息。例如,设置信息中可包括关于定义在存储器装置200的保持模式中对数据的部分或全部执行错误检测操作的周期的间隔的信息。再例如,设置信息中可包括执行错误检测的次数。又例如,设置信息中可包括关于传送报告信息的方案的信息。
状态信息监测电路112可监测存储数据的存储器装置200的状态。
在状态信息监测电路112中监测的状态信息可包括以下中的一个或多个:存储器装置200的i)过程变量、ii)温度信息、iii)电压信息和iv)访问频率信息。
过程变量用于与制造存储器装置200相关的过程,并且定义该过程的特征或属性。过程变量可基于与存储器装置200有关的过程偏差信息来确定,并且可在大规模生产时进行融合。
可将与存储器装置200有关的过程偏差信息表示为SS(慢慢)、SF(慢快)、FS(快慢)、FF(快快)和TT(典型典型)作为过程角值。
对于在存储器装置200中配置存储器单元的PMOS/NMOS晶体管,存在PMOS晶体管快/典型/慢的情况,以及存在NMOS晶体管快/典型/慢的情况。根据配置存储器单元的PMOS/NMOS晶体管的特性,可不同地确定存储器单元的操作速度。根据大规模生产存储器装置200的处理步骤中单元的特性,可确定过程角值。
温度信息表示存储器装置200的环境温度值。通常,随着环境温度的升高,存储器装置200中存储的数据中发生错误的可能性增加。相反,随着环境温度下降并接近正常温度(或室温),存储器装置200中存储的数据中发生错误的可能性降低。
电压信息表示供应到存储器装置200的电压值。在供应等于或高于设定额定电压的电压的情况下,存储器装置200中存储的数据中发生错误的可能性较低。然而,在由于多个装置同时使用电力而在供应电力的电源中发生异常或所供应的电压变低的情况下,存储器装置200中存储的数据中发生错误的可能性增加。
不仅在存储器装置200处于激活模式的情况下,而且在存储器装置200进入保持模式并实际上没有执行读取/写入操作的情况下,温度信息和电压信息可能根据外部因素而变化。
最后,存储器装置200的访问频率信息表示对存储器装置200执行读取/写入操作的次数。通常,随着更频繁地对存储器装置200执行读取/写入操作,由于存储器装置200内部的电路中产生热量而导致温度升高,并且供应的电压由于存储器装置200的功耗而降低。因此,可确定的是,随着更频繁地对存储器装置200执行读取/写入操作,存储器装置200中存储的数据中发生错误的可能性增加。
触发生成电路113可基于上述设置信息或状态信息,将用于指示对存储器装置200中存储的数据中的全部或部分的错误检测操作的错误检测触发信息传送到错误检测执行电路120。
可在每个第一周期将错误检测触发信息传送到错误检测执行电路120,其中基于上述设置信息或状态信息来设置第一周期。错误检测触发信息也可以节拍信息的形式传输到另一模块。
作为触发生成电路113基于上述设置信息或状态信息生成错误检测触发信息的示例,可基于由状态信息监测电路112基于上述状态信息设置的警告等级信息来生成错误检测触发信息。可将警告等级信息定义为预设等级值。
例如,警告等级信息可由3位的值来表示,并且每个值可表示为-3、-2、-1、0、1、2或3。可进行设置,使得警告等级的值越大,执行错误检测操作的第一周期越短。
可将警告等级信息0设置为默认值。可进行设置,使得错误检测频率随着警告等级信息的值增加到1、2和3而增加,并且随着警告等级信息的值减少到-1、-2和-3而减少。可进行设置,使得如果警告等级为作为最大值的3,则以预设的最大频率执行错误检测,并且如果警告等级为作为最小值的-3,则不执行错误检测。
另一方面,可有差别地应用在设置警告等级信息中所使用的每个状态信息的优先级。
温度信息和电压信息的优先级可高于过程变量的优先级。在这种情况下,在当温度信息等于或高于阈值温度或者电压信息等于或低于阈值电压时发生错误的可能性增加的情况下,状态信息监测电路112可使用过程变量的值作为确定警告等级信息的因素,而非单独使用该过程变量的值来确定警告等级信息。
即,在温度信息等于或高于阈值温度或者电压信息等于或低于阈值电压的情况下,状态信息监测电路112可通过参考过程变量来增加警告等级信息的值。在温度信息低于阈值温度或者电压信息超过阈值电压的情况下,状态信息监测电路112可通过参考过程变量来减少警告等级信息的值。
例如,在存储器装置200中,即使所供应的电压较低,具有FF特性的存储器单元也可正常操作而不会在所存储的数据中发生错误的可能性较高。相反,具有SS特性的存储器单元在所供应的电压较低时在所存储的数据中发生错误的可能性较高。因此,在所供应的电压较低的情况下,可根据过程变量的值来确定是否进一步增加警告等级信息。
可基于从状态信息监测电路112接收的警告等级信息和定义在存储器装置200的保持模式中对数据的部分或全部执行错误检测操作的周期的上述间隔来确定第一周期。
可根据上述设置信息中包括的错误检测完成时间信息、从状态信息监测电路112接收的警告等级信息以及作为将在每个第一周期执行错误检测操作的目标的单位数据的大小来不同地确定第一周期。
下面,描述确定第一周期的示例。
首先,假设在设置信息中设置错误检测完成时间信息,该错误检测完成时间信息指示以每64ms完成对存储器装置200中存储的数据的错误检测。
可将错误检测完成时间设置在上述间隔内。其原因在于,如果错误检测完成时间大于该间隔,则可能会导致的问题在于,在当存储器装置200从保持模式改变为激活模式时执行错误检测操作的同时,再次开始错误检测操作。
进一步地,假设存储器装置200中存储的数据由总共64K数量的单位数据表示,并且每个单位数据配置一个EDC/ECC保护单元。在这种情况下,触发生成电路113可在每64ms/64K=1us时生成错误检测触发信息。
可根据在状态信息监测电路112中确定的警告等级信息来另外地改变生成错误检测触发信息的第一周期。
在上述示例中,假设当警告等级信息的值基本为0时,在每1us时生成错误检测触发信息。
在供应到存储器装置200的电压减少(例如,下降5%)并且警告等级信息的值变为+1的情况下,生成错误检测触发信息的周期可被确定为0.9us,即短于1us,从而可更快地执行错误检测。
在供应到存储器装置200的电压增加并且警告等级信息的值变为-1的情况下,生成错误检测触发信息的周期可被确定为1.1us,例如长于1us,从而可更慢地执行错误检测。
图4是示出图2的错误检测装置100的配置的另一示例的示图。
参照图4,错误检测执行电路120可包括目标数据确定电路121和错误检测指令电路122。
目标数据确定电路121可在错误检测触发电路110中确定的数据错误检测时间处选择错误检测操作的目标数据。
目标数据表示在生成错误检测触发信息的每个第一周期中被选择作为错误检测操作的目标的单位数据。目标数据可以是存储器装置200中存储的数据中的全部或部分。
如果对存储器装置200中存储的全部数据一次执行错误检测操作,则需要增加待由错误计算引擎300一次计算的数据的大小。在这种情况下,因为配置错误计算引擎300的电路的复杂性增加,所以可能在错误计算引擎300的大小和成本方面导致问题。
可将存储器装置200中存储的数据划分成多个EDC/ECC保护单元,并且可针对每个EDC/ECC保护单元执行错误检测。
因此,在生成错误检测触发信息的每个第一周期,可仅对存储器装置200中存储的全部数据之中被选择为错误检测操作的目标的目标数据执行错误检测操作。这种目标数据可由至少一个EDC/ECC保护单元来配置。
对于在生成错误检测触发信息的每个第一周期中确定目标数据之中的顺序,在整个数据之中可顺序地选择或可随机地选择目标数据。
例如,假设存储器装置200中存储的数据由总共64K数量的单位数据表示,并且每个单位数据配置一个EDC/ECC保护单元。在这种情况下,可基于各个单位数据的地址值,从最小地址值的单位数据到最大地址值的单位数据顺序选择目标数据。
另一方面,可在总共64K数量的单位数据之中以随机顺序来选择目标数据。然而,在这种情况下,有必要进行管理,使得一旦被选择的目标数据不再被选择,从而可对存储器装置200中存储的全部数据执行一次错误检测操作。
一旦接收到由错误检测触发电路110生成的错误检测触发信息,错误检测指令电路122可指示外部错误计算引擎300对目标数据执行错误检测操作。
错误计算引擎300可从错误检测指令电路122接收错误检测指令信息,并且可接收关于目标数据的地址信息并对目标数据执行错误检测操作。错误计算引擎300可将关于目标数据的错误检测结果信息作为错误检测操作的结果传送到错误检测指令电路122。
错误检测指令电路122可从错误计算引擎300接收错误检测结果信息。
图5是示出根据本公开的实施例的错误检测装置100的操作的流程图。
本操作可由上面参照图2描述的错误检测装置100来执行。
参照图5,在满足错误检测执行条件的情况下,错误检测装置100的错误检测触发电路110可在每个第一周期生成错误检测触发信息,用于指示对数据中的至少一部分的错误检测操作(S510)。
错误检测装置100的错误检测执行电路120可接收在步骤S510中生成的错误检测触发信息,并且可指示错误计算引擎300对数据中的至少一部分执行错误检测操作(S520)。
错误检测装置100的报告电路130可根据在步骤S520中执行的错误检测操作的错误检测结果信息,将报告信息传送到目标装置(S530)。目标装置的示例和目标装置根据报告信息进行的操作的示例可如以上参照图1所述。
图6是示出根据本公开的另一实施例的错误检测装置100的操作的流程图。
参照图6,错误检测装置100的错误检测触发电路110可检查是否满足预设错误检测执行条件(S610)。
如上参照图2所述,例如,在存储器装置200的模式从保持模式改变为激活模式的情况下,错误检测触发电路110可确定满足错误检测执行条件。再例如,在存储器装置200处于保持模式的情况下,错误检测触发电路110可确定在每个间隔满足错误检测执行条件。
稍后参照图7详细描述用于检查是否满足错误检测执行条件的操作的示例。
在确定满足错误检测执行条件的情况下,错误检测装置100的错误检测触发电路110可在每个第一周期生成错误检测触发信息,用于指示对存储器装置200中存储的数据中的一部分或全部的错误检测操作(S620)。
如上所述,可基于关于对存储器装置200中存储的数据的错误检测操作的设置信息或存储器装置200的状态信息来确定生成错误检测触发信息的第一周期。详细地,可基于存储器装置200的状态信息来确定警告等级信息,并且可根据警告等级信息和定义在存储器装置200的保持模式中对数据中的一部分或全部执行错误检测操作的周期的间隔来确定第一周期。
稍后参照图8详细描述根据状态信息确定警告等级信息的操作的示例。
可如以上参照图3所述来应用设置信息和状态信息的具体示例。
错误检测装置100的错误检测执行电路120可接收在步骤S620中生成的错误检测触发信息,并且可指示错误计算引擎300对在存储器装置200中存储的数据之中选择的目标数据执行错误检测操作(S630)。
上面参照图4描述了确定目标数据的方法和顺序的具体示例。
错误检测装置100的错误检测执行电路120可从错误计算引擎300接收目标数据的错误检测结果信息(S640)。
最后,错误检测装置100的报告电路130可根据从错误检测执行电路120接收的错误检测结果信息,将报告信息传送到目标装置(S650)。
上面参照图1描述了可包括在报告信息中的信息的示例和接收报告信息的目标装置的示例。
图7是示出根据本公开的实施例的检查是否满足错误检测执行条件的操作的流程图。
本操作可由上述错误检测装置100来执行。
首先,可设置执行错误检测操作的间隔(S710)。例如,间隔可由驱动安装有错误检测装置100和存储器装置200的控制器的固件来设置。
为了检查是否满足错误检测执行条件,首先,错误检测触发电路110可确定在设置信息存储电路111中存储的设置信息中是否设置了强制错误检测命令(S720)。
在设置了强制错误检测命令的情况下(S720—是),错误检测触发电路110可立即确定满足错误检测执行条件,而不管存储器装置200的模式如何,并且可生成错误检测触发信息(S750)。
相反,在未设置强制错误检测命令的情况下(S720—否),错误检测触发电路110可确定存储器装置200的模式是否从保持模式改变为激活模式(S730)。
在存储器装置200的模式从保持模式改变为激活模式的情况下(S730—是),可以相同的方式执行上述步骤S750。
相反,在存储器装置200的模式未从保持模式改变为激活模式的情况下(S730—否),错误检测装置100的错误检测触发电路110可确定存储器装置200是否处于保持模式(S740)。
在存储器装置200处于保持模式的情况下(S740—是),错误检测触发电路110可基于在步骤S710设置的每个间隔来周期地生成错误检测触发信息(S760)。在这种情况下,存储器装置200可从保持模式唤醒并进入激活模式。
图8是示出根据本公开的实施例的根据状态信息确定警告等级信息的操作的流程图。
本操作可由错误检测装置100的错误检测触发电路110中的状态信息监测电路112来执行。
参照图8,首先,状态信息监测电路112可监测存储器装置200的状态信息(S810)。
如上所述,存储器装置200的状态信息可包括过程变量、温度信息、电压信息和访问频率信息中的一个或多个。
状态信息监测电路112可通过向被监测的状态信息中的温度信息和电压信息设置高优先级来确定警告等级信息。
详细地,状态信息监测电路112确定电压信息是否等于或低于阈值电压,或者温度信息是否等于或高于阈值温度(S820)。
在电压信息超过阈值电压并且温度信息低于阈值温度的情况下(S820—否),可确定,因为电力正常供应到存储器装置200并且满足存储器装置200可正常操作的温度条件,所以存储器装置200中发生异常的可能性较低。因此,状态信息监测电路112可减少警告等级信息的值,从而控制缓慢执行错误检测操作(S850)。
相反,在电压信息等于或低于阈值电压并且温度信息等于或高于阈值温度的情况下(S820—是),可确定存储器装置200中发生异常的可能性较高。
状态信息监测电路112可另外检查过程变量(S830),使得过程变量的值反映在确定警告等级信息中。
状态信息监测电路112可基于电压信息、温度信息和处理器的因素来增加警告等级信息,从而控制快速执行错误检测操作(S840)。
根据本公开的实施例,可以检测存储器装置中存储的数据的错误,而不管是否实际使用了存储装置中的存储器装置中存储的数据。其原因在于,在实际使用存储器装置中存储的数据之前(例如,当存储器装置从保持模式改变为激活模式时),对存储器装置中存储的数据执行错误检测操作。
因此,可提供的优点在于,存储器装置中存储的数据的完整性可由其自行确保,并且如果在这样的数据中发生错误,则该错误可以被尽可能快地检测或校正。因此,可以防止以下情况:在存储器装置中发生和累积多个错误并因此无法正确地检测到该多个错误,并且由于这个事实,使整个存储装置发生故障。
因此,通过本公开的实施例,可提供的优点在于,在很可能发生另一类型的错误的情况下(例如,由于电力问题而造成的供应电压下降或者由于产生热量而造成的温度升高),可最小化在存储器装置中发生另外的错误的可能性,从而可最大化整个系统的稳定性。
因此,可应用本公开的实施例以确保系统和需要容错的各种应用中的稳定性。
图9是示出应用本公开的实施例的存储装置900的示图。
控制器910可从主机接收请求,并且可基于所接收的请求来控制非易失性存储器装置920的操作。例如,控制器910可控制对非易失性存储器装置920的写入操作、读取操作、擦除操作和后台操作。例如,后台操作可以是垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等。
除了上述错误检测装置100之外,控制器910可进一步包括主机接口911、处理器912、闪存接口913、错误校正电路914、存储器接口915、易失性存储器916和总线。
主机接口911提供用于与外部主机通信的接口。
闪存接口913提供用于与非易失性存储器装置920通信的接口。
错误校正电路914可对待存储在存储器中的数据执行错误校正。上面参照图1描述的EDC/ECC引擎300可由错误校正电路914来实现。
易失性存储器916可存储驱动控制器910所需的程序代码、命令或数据,并且可以是SRAM或DRAM。
在控制器910中不存在DRAM的情况下,易失性存储器916可存储用于管理非易失性存储器装置920的映射表。因为可存储在易失性存储器916中的数据的大小有限,所以易失性存储器916无法加载用于管理非易失性存储器装置920的整个映射表。
因此,易失性存储器916高速缓存映射表的一部分,并且在有需要时重复加载/卸载非易失性存储器装置920中存储的映射表数据。
在本公开的实施例中,上面参照图1描述的存储器装置200可由易失性存储器916来实现。
如果易失性存储器916中存储的数据中发生错误,控制器910可能操作异常,并且在对非易失性存储器装置920的读取/写入操作中可能导致问题。在这种情况下,控制器910可生成报告信息并将该报告信息传送到目标装置950,并且目标装置950可基于所接收的报告信息来控制控制器910的状态。
例如,当确定由报告信息指示的错误对非易失性存储器装置920中存储的数据施加关键影响时,目标装置950可重启控制器910。如果控制器910重新启动,则易失性存储器916中存储的全部数据将变得无效。
存储器接口915可用作缓冲器,在该缓冲器中设置将由处理器912使用的工作存储器、高速缓冲存储器或缓冲存储器。存储器接口915可包括其中的SRAM或DRAM。
总线可被配置成提供控制器910的组件之间的通道。
处理器912可控制控制器910的一般操作,并且可执行逻辑计算。处理器912可通过主机接口911与外部主机通信,并且可通过闪存接口913与非易失性存储器装置920通信。处理器912可检测非易失性存储器装置920中存储的数据的错误,并且如果需要,可通过错误校正电路914来校正该错误。处理器912可通过存储器接口915,通过使用工作存储器、高速缓冲存储器或缓冲存储器来对易失性存储器916执行数据读取/写入操作。
处理器912可执行闪存转换层(FTL)的功能。处理器912可通过闪存转换层FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。闪存转换层(FTL)可接收逻辑块地址(LBA),并且通过使用映射表来将该逻辑块地址转换成物理块地址(PBA)。根据映射单元,存在可供使用的闪存转换层的各种地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器912被配置成将从主机接收的数据随机化。例如,处理器912可通过使用随机化种子来将从主机接收的数据随机化。经随机化的数据作为待存储的数据被提供到存储器装置,并且被编程在存储器单元阵列中。
处理器912被配置成在读取操作中将从存储器装置接收的数据去随机化。例如,处理器912可通过使用去随机化种子来将从存储器装置接收的数据去随机化。经去随机化的数据可被输出到主机。
在本公开的实施例中,处理器912可执行以上参照图2描述的错误检测装置100的操作所需的计算。例如,处理器912可执行驱动固件的计算,该固件操作以检测存储器装置中存储的数据的错误。相应固件可存储在非易失性存储器装置920的特定块(固件块)中,并且可在控制器910启动时从相应块中加载。
下面描述错误检测装置100在存储装置900中操作的具体示例。
如上所述,在满足预先设置的错误检测执行条件的情况下,错误检测装置100可周期地生成错误检测触发信息,并且可根据所生成的错误检测触发信息,对通过易失性存储器916实现的存储器装置200中存储的数据执行错误检测操作。错误检测装置100可通过使用通过错误校正电路914实现的EDC/ECC引擎300来获得错误检测结果信息(关于是否已发生错误或者已发生错误的位的数量的信息)。
错误检测装置100可基于错误检测结果信息生成报告信息,并且可将该报告信息传送到目标装置950。报告信息可包括已发生错误的数据的地址信息和关于错误的信息(例如,错误位的数量/错误是否可校正/错误的风险等级)。
虽然作为示例参照图9描述了错误检测装置100直接将报告信息传送到目标装置950的方案,但在目标装置950是主机的情况下,可通过主机接口911将报告信息传送到目标装置950。
目标装置950可从错误检测装置100接收报告信息,并且可根据所接收的报告信息来控制存储装置900的操作。
一个示例是,由所接收的报告信息指示的错误可校正(作为1位错误可通过1位ECC校正),或者可通过仅初始化存储器装置中已发生错误的区域(例如,存储临时变量的区域)来校正该错误。
目标装置950可通过控制器910的主机接口911来传输控制命令,该控制命令指示将指示已发生错误的日志存储在非易失性存储器装置920中。控制器910可接收从目标装置950传输的命令,通过处理器912执行生成错误日志的计算,并且通过闪存接口913将错误日志存储在非易失性存储器装置920中。
因此,存储装置900可尽可能快地检测存储器装置中存储的数据中已发生的错误,并且可基于该错误日志执行用于预先阻止存储器装置中存储的数据中后续发生错误的可能性的操作。
另一示例可以是以下情况:由所接收的报告信息指示的错误不可校正(例如,在两个位中发生错误,这超过错误校正电路914的1位ECC方案的校正能力),并且在存储器装置中已发生错误的区域是与存储装置900的核心操作相关的区域(例如,存储待用于转换逻辑页面地址和物理页面地址的映射表的区域)。在这种情况下,需要快速地重置存储装置900,以防止由于存储装置900的故障而导致问题。
因此,目标装置950可将针对存储装置900的重置命令传输到存储装置900。在这方面,目标装置950可直接向处理器912输入重置信号,而不是通过主机接口911将重置命令传输到处理器912,使得可重置存储装置900。
如果重置存储装置900,则停止存储装置900的所有操作,初始化易失性存储器916中存储的所有数据,并且加载非易失性存储器装置920中存储的固件。因为易失性存储器916中存储的所有数据都被初始化,所以可快速阻止存储装置900由于易失性存储器916中存储的数据的错误后续发生故障的可能性,并且可正常保存非易失性存储器装置920中存储的数据。
图10是示出图9的非易失性存储器装置的结构的示图。
非易失性存储器装置1000可包括电压生成器1010、地址解码器1020、存储器单元阵列1030、控制逻辑1040、数据读取/写入电路1050和数据输入/输出电路1060。
存储器单元阵列1030包括通过行线RL联接到地址解码器1020的多个存储块。多个存储块通过位线BL[1:m]联接到数据读取/写入电路1050。
多个存储块中的每一个包括多个存储器单元。多个存储器单元可以是非易失性存储器单元。在多个存储器单元之中,将联接到相同字线的存储器单元定义为一个页面。也就是说,存储器单元阵列1030可由多个页面来配置。
在实施例中,存储器单元阵列1030中的多个存储块中的每一个可包括多个虚设(dummy)单元。至少一个虚设单元可串联联接在漏极选择晶体管与存储器单元之间以及源极选择晶体管与存储器单元之间。
存储器单元阵列1030中包括的存储器单元中的每一个可由存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)来配置。
地址解码器1020通过行线RL联接到存储器单元阵列1030。行线RL可包括漏极选择线、字线、源极选择线和共源线。在实施例中,字线可包括正常字线和虚设字线。在实施例中,行线RL可进一步包括管道选择线。
地址解码器1020被配置成响应于控制逻辑1040的控制进行操作。地址解码器1020从控制逻辑1040接收地址ADDR。
地址解码器1020被配置成对接收的地址ADDR中的块地址进行解码。地址解码器1020根据经解码的块地址在存储块之中选择至少一个存储块。地址解码器1020被配置成对接收的地址ADDR中的行地址进行解码。根据经解码的行地址,地址解码器1020可将从电压生成器1010提供的电压施加到至少一个字线WL,从而可在所选择存储块中选择至少一个字线。
在编程操作中,地址解码器1020可将编程电压施加到所选择字线,并且可将电平低于编程电压的通过电压施加到未选择字线。在编程验证操作中,地址解码器1020可将验证电压施加到所选择字线,并且可将高于验证电压的验证通过电压施加到未选择字线。
在读取操作中,地址解码器1020可将读取电压施加到所选择字线,并且可将高于读取电压的通过电压施加到未选择字线。
在实施例中,以存储块为单位对非易失性存储器装置1000执行擦除操作。在擦除操作中输入到非易失性存储器装置1000的地址ADDR包括块地址。地址解码器1020可对块地址进行解码,并且可根据经解码的块地址来选择一个存储块。在擦除操作中,地址解码器1020可将接地电压施加到与所选择存储块联接的字线。
在实施例中,地址解码器1020可被配置成对接收的地址ADDR中的列地址进行解码。经解码的列地址(DCA)可被传输到数据读取/写入电路1050。例如,地址解码器1020可包括组件,诸如行解码器、列解码器和地址缓冲器。
电压生成器1010被配置成通过使用供应到非易失性存储器装置1000的外部电源电压来生成多个电压。电压生成器1010响应于控制逻辑1040的控制而进行操作。
在实施例中,电压生成器1010可通过调节外部电源电压来生成内部电源电压。通过电压生成器1010生成的内部电源电压用作非易失性存储器装置1000的操作电压。
作为实施例,电压生成器1010可通过使用外部电源电压或内部电源电压来生成多个电压。电压生成器1010可被配置成生成非易失性存储器装置1000中所需的各种电压。例如,电压生成器1010可生成多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
例如,电压生成器1010可包括接收内部电源电压的多个泵浦(pumping)电容器,并且可响应于控制逻辑1040的控制通过选择性地激活多个泵浦电容器来生成多个电压。
可通过地址解码器1020将所生成的多个电压供应到存储器单元阵列1030。
数据读取/写入电路1050可包括第一至第m页面缓冲器。第一至第m页面缓冲器分别通过第一至第m位线BL[1:m]联接到存储器单元阵列1030。第一至第m页面缓冲器响应于控制逻辑1040的控制而进行操作。
第一至第m页面缓冲器执行与数据输入/输出电路1060的数据通信。在编程操作中,第一至第m页面缓冲器通过数据输入/输出电路1060接收待存储的数据DATA。
在编程操作中,当编程脉冲被施加到所选择字线时,第一至第m页面缓冲器可通过位线BL将待存储的数据DATA,即通过数据输入/输出电路1060接收的数据DATA传输到所选择存储器单元。根据所传输的数据DATA对所选择页面的存储器单元进行编程。与施加编程允许电压(例如,接地电压)的位线联接的存储器单元可具有增加的阈值电压。与施加编程禁止电压(例如,电源电压)的位线联接的存储器单元的阈值电压可被保持。在编程验证操作中,第一至第m页面缓冲器通过位线BL从所选择存储器单元读取页面数据。
在读取操作中,数据读取/写入电路1050通过位线BL从所选择页面的存储器单元读取数据DATA,并且将读取的数据DATA输出到数据输入/输出电路1060。
在擦除操作中,数据读取/写入电路1050可使位线BL浮置。在实施例中,数据读取/写入电路1050可包括列选择电路。
数据输入/输出电路1060通过数据线联接到第一至第m页面缓冲器。数据输入/输出电路1060响应于控制逻辑1040的控制来操作。
数据输入/输出电路1060可包括接收待输入的数据的多个输入/输出缓冲器(未示出)。在编程操作中,数据输入/输出电路1060从外部控制器(未示出)接收待存储的数据DATA。在读取操作中,数据输入/输出电路1060将从数据读取/写入电路1050中包括的第一至第m页面缓冲器传输的数据输出到外部控制器。
控制逻辑1040可联接到地址解码器1020、电压生成器1010、数据读取/写入电路1050以及数据输入/输出电路1060。控制逻辑1040可被配置成控制非易失性存储器装置1000的一般操作。控制逻辑1040可响应于从目标装置传输的命令CMD而进行操作。
图11是示出应用本公开的实施例的SSD系统的框图。
SSD系统1100包括主机1110和SSD 1120。SSD 1120通过信号连接器1121与主机1110交换信号(SIG),并且通过电源连接器1122接收电力(PWR)。SSD 1120包括SSD控制器1125、多个闪速存储器1131至113n、辅助电源1123和缓冲存储器1124。
在实施例中,SSD控制器1125可执行前述错误检测装置100的功能。
SSD控制器1125可响应于从主机1110接收的信号(SIG)来控制多个闪速存储器1131至113n。例如,信号(SIG)可以是基于主机1110和SSD 1120的接口的信号。例如,信号(SIG)可由诸如以下的接口之中的至少一个来定义:USB(通用串行总线)、MMC(多媒体卡)、eMMC(嵌入式MMC)、PCI(外围组件互连)、PCI-e或PCIe(高速PCI)、ATA(高级技术附件)、串行ATA、并行ATA、SCSI(小型计算机小型接口)、ESDI(增强型小型磁盘接口)、IDE(电子集成驱动器)、火线、UFS(通用闪存)、WiFi、蓝牙和NVMe。
辅助电源1123通过电源连接器1122与主机1110联接。辅助电源1123可从主机1110接收电力PWR并用其进行充电。当来自主机1110的电力供应不平稳时,辅助电源1123可提供SSD 1120的电力。辅助电源1123可设置在SSD 1120内,或者可在SSD 1120外部。例如,辅助电源1123可位于主板上,并且可向SSD 1120提供辅助电力。
缓冲存储器1124可服务SSD 1120。例如,缓冲存储器1124可临时存储从主机1110接收的数据或从多个闪速存储器1131至113n接收的数据,或者可临时存储闪速存储器1131至113n的元数据(例如,映射表)。缓冲存储器1124可包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
例如,闪速存储器1131至113n中的每一个可以是上面参照图10描述的非易失性存储器装置。
图12是示出应用本公开的实施例的用户系统的框图。
用户系统1200包括应用处理器1210、存储器模块1220、网络模块1230、存储模块1240和用户接口1250。
应用处理器1210可驱动用户系统1200中包括的组件、操作系统(OS)或用户程序。例如,应用处理器1210可包括控制用户系统1200中包括的组件的控制器、接口、图形引擎等。应用处理器1210可被设置为片上系统(SoC)。
存储器模块1220可作为用户系统1200的主存储器、工作存储器、缓冲存储器或高速缓冲存储器来操作。存储器模块1220可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。例如,应用处理器1210和存储器模块1220可通过基于POP(堆叠封装)被封装而被设置为一个半导体封装。
网络模块1230可执行与目标装置的通信。例如,网络模块1230可支持诸如CDMA(码分多址)、GSM(全球移动通信系统)、WCDMA(宽带CDMA)、CDMA-2000、TDMA(时分多址)、LTE(长期演进)、Wimax、WLAN、UWB、蓝牙或WI-DI的无线通信。例如,网络模块1230可包括在应用处理器1210中。
存储模块1240可存储数据。例如,存储模块1240可存储从应用处理器1210接收的数据。否则,存储模块1240可将其中存储的数据传送到应用处理器1210。例如,存储模块1240可通过诸如以下的非易失性半导体存储器装置来实现:PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻式RAM)、NAND闪存、NOR闪存以及三维结构的NAND闪存。例如,存储模块1240可被设置为诸如用户系统1200的存储卡和外部驱动器的可移动存储介质(可移动驱动器)。
例如,存储模块1240可包括多个非易失性存储器装置,并且多个非易失性存储器装置可以是以上参照图10描述的非易失性存储器装置1000。
用户接口1250可包括用于向应用处理器1210输入数据或命令或者用于将数据输出到目标装置的接口。例如,用户接口1250可包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口1250可包括诸如以下的用户输出接口:LCD(液晶显示器)、OLED(有机发光二极管)显示装置、AMOLED(有源矩阵OLED)显示装置、LED、扬声器和监视器。
本领域技术人员将理解的是,在不脱离本公开的精神和范围的情况下,上述公开的技术配置可以其它特定形式来体现。因此,应当理解的是,上述实施例在所有方面都被认为是示例性的,而非限制性的。本发明的范围由所附权利要求及其等同方案来指示,而非由前面的描述来指示。此外,本发明涵盖落入权利要求及其等同方案内的所有变化或修改。
在本公开的上述实施例中,可选择性地执行或省略一些步骤。此外,这些步骤不一定必须按照所描述的顺序来执行。
呈现本公开的实施例以帮助本领域技术人员理解本公开。本领域技术人员将认识到的是,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和变化。

Claims (19)

1.一种检测存储器装置中存储的数据的错误的装置,所述装置包括:
错误检测触发电路,在满足错误检测执行条件的情况下,在每个第一周期传送错误检测触发信息,所述错误检测触发信息指示对所述数据中的至少一部分的错误检测操作;
错误检测执行电路,接收所述错误检测触发信息,指示错误计算引擎对所述数据中的部分或全部执行错误检测操作,并且从所述错误计算引擎接收错误检测结果信息;以及
报告电路,根据所述错误检测结果信息将报告信息传送到目标装置,
其中在向所述错误检测触发电路提供强制错误检测命令的情况下,在所述存储器装置的模式从保持模式改变为激活模式的情况下,在所述存储器装置进入所述保持模式的情况下,或者在所述存储器装置进入所述保持模式之后经过设定时间的情况下,满足所述错误检测执行条件。
2.根据权利要求1所述的装置,其中所述错误检测触发电路基于用于检测所述数据的错误的设置信息或表示所述存储器装置的状态的状态信息,在每个第一周期传送所述错误检测触发信息。
3.根据权利要求2所述的装置,
其中所述错误检测触发电路包括:
设置信息存储电路,存储所述设置信息;
状态信息监测电路,监测所述状态信息以生成所述状态信息;以及
触发生成电路,基于所述设置信息或所述状态信息,在每个第一周期传送所述错误检测触发信息,
其中基于所述设置信息或所述状态信息来确定所述第一周期。
4.根据权利要求3所述的装置,
其中所述状态信息包括所述存储器装置的过程变量、温度信息、电压信息和访问频率信息中的至少一个,
其中所述状态信息监测电路生成基于所述状态信息而设置的警告等级信息,并且
其中所述触发生成电路基于所述警告等级信息来确定所述第一周期。
5.根据权利要求4所述的装置,
其中所述状态信息包括所述存储器装置的过程变量、温度信息和电压信息,
其中在所述温度信息等于或高于阈值温度或者所述电压信息等于或低于阈值电压的情况下,所述状态信息监测电路基于所述过程变量增加所述警告等级信息的值,并且
其中在所述温度信息低于所述阈值温度或者所述电压信息超过所述阈值电压的情况下,所述状态信息监测电路基于所述过程变量减少所述警告等级信息的值。
6.根据权利要求4所述的装置,其中所述设置信息包括定义在所述存储器装置处于保持模式的同时执行所述错误检测操作的周期的间隔。
7.根据权利要求6所述的装置,
其中所述存储器装置的模式从所述保持模式改变为激活模式,以执行所述错误检测操作,并且
其中当在所述激活模式中完成所述错误检测操作时,所述存储器装置的模式返回到所述保持模式。
8.根据权利要求6所述的装置,其中所述触发生成电路基于所述间隔和所述警告等级信息来确定所述第一周期。
9.根据权利要求1所述的装置,其中所述错误检测执行电路包括:
目标数据确定电路,选择所述数据内用于所述错误检测操作的目标数据;以及
错误检测指令电路,指示错误计算引擎对所述目标数据执行所述错误检测操作,并且从所述错误计算引擎接收所述错误检测操作的所述错误检测结果信息。
10.根据权利要求1所述的装置,其中所述报告信息包括关于是否已发生错误的信息、关于已发生错误的地址的信息以及关于错误位的数量是否等于或小于表示可校正错误位的最大数量的限制的信息中的至少一个。
11.一种检测存储器装置中存储的数据的错误的方法,所述方法包括:
在满足错误检测执行条件的情况下,在每个第一周期生成错误检测触发信息,所述错误检测触发信息指示对所述数据中的至少一部分的错误检测操作;
接收所述错误检测触发信息,并且执行所述错误检测操作;并且
根据所述错误检测操作的错误检测结果信息,将报告信息传送到目标装置,
其中在向所述错误检测触发电路提供强制错误检测命令的情况下,在所述存储器装置的模式从保持模式改变为激活模式的情况下,在所述存储器装置进入所述保持模式的情况下,或者在所述存储器装置进入所述保持模式之后经过设定时间的情况下,满足所述错误检测执行条件。
12.根据权利要求11所述的方法,其中基于检测所述数据的错误的设置信息或所述存储器装置的状态信息来确定所述错误检测触发信息。
13.根据权利要求12所述的方法,
其中所述状态信息包括所述存储器装置的过程变量、温度信息、电压信息和访问频率信息中的至少一个,并且
其中基于警告等级信息来确定所述第一周期,所述警告等级信息基于所述状态信息来设置。
14.根据权利要求13所述的方法,
其中在所述温度信息等于或高于阈值温度或者所述电压信息等于或低于阈值电压的情况下,在每个第一周期生成所述错误检测触发信息包括基于所述过程变量增加所述警告等级信息的值,并且
其中在所述温度信息低于所述阈值温度或者所述电压信息超过所述阈值电压的情况下,在每个第一周期生成所述错误检测触发信息包括基于所述过程变量减少所述警告等级信息的值。
15.根据权利要求12所述的方法,其中所述设置信息包括定义在所述存储器装置处于保持模式的同时执行所述错误检测操作的周期的间隔。
16.根据权利要求15所述的方法,其中基于所述间隔和警告等级信息来确定所述第一周期。
17.根据权利要求11所述的方法,
其中所述存储器装置的模式从保持模式改变为激活模式,以执行所述错误检测操作,并且
其中当在所述激活模式中完成所述错误检测操作时,所述存储器装置的模式返回到所述保持模式。
18.根据权利要求11所述的方法,其中执行所述错误检测操作包括指示错误计算引擎执行所述错误检测操作,并且从所述错误计算引擎接收所述错误检测操作的错误检测结果信息。
19.一种存储器系统,包括:
存储器装置,存储数据;
错误检测电路,对所述数据的至少一部分执行错误检测操作;以及
处理器,控制所述错误检测电路执行所述错误检测操作并将所述错误检测操作的结果报告给主机,
其中在向所述错误检测触发电路提供强制错误检测命令时,在所述存储器装置的模式从保持模式改变为激活模式时,在所述存储器装置进入所述保持模式时,或者在所述存储器装置进入所述保持模式之后经过设定时间时,所述处理器控制所述错误检测电路来执行所述错误检测操作,并且
其中所述处理器控制所述错误检测电路,以进一步每个检测周期执行所述错误检测操作,所述检测周期根据所述存储器装置的状态相对于默认周期而变化。
CN201910836269.6A 2018-12-20 2019-09-05 检测存储器装置中存储的数据的错误的装置及其操作方法 Active CN111352756B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180165746A KR20200076846A (ko) 2018-12-20 2018-12-20 메모리 장치에 저장된 데이터의 에러를 검출하는 장치 및 그 동작 방법
KR10-2018-0165746 2018-12-20

Publications (2)

Publication Number Publication Date
CN111352756A CN111352756A (zh) 2020-06-30
CN111352756B true CN111352756B (zh) 2023-07-11

Family

ID=71096878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910836269.6A Active CN111352756B (zh) 2018-12-20 2019-09-05 检测存储器装置中存储的数据的错误的装置及其操作方法

Country Status (3)

Country Link
US (1) US11074123B2 (zh)
KR (1) KR20200076846A (zh)
CN (1) CN111352756B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11880291B2 (en) 2020-07-07 2024-01-23 Micron Technology, Inc. Monitoring and reporting a status of a memory device
KR20220010789A (ko) * 2020-07-20 2022-01-27 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
KR20220130409A (ko) * 2021-03-18 2022-09-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN113791737B (zh) * 2021-09-15 2024-02-02 北京航空航天大学 一种非易失性存储阵列的软错误检测方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973272A (zh) * 2013-01-30 2014-08-06 德克萨斯仪器股份有限公司 非易失性逻辑阵列中使用奇偶校验的错误检测
CN106205728A (zh) * 2014-12-05 2016-12-07 爱思开海力士有限公司 奇偶校验电路及包括该奇偶校验电路的存储器装置
CN107766257A (zh) * 2016-08-19 2018-03-06 爱思开海力士有限公司 存储器系统及其操作方法
CN107924705A (zh) * 2015-08-28 2018-04-17 英特尔公司 存储器装置错误校验和清除模式以及错误透明度

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100323536B1 (ko) 1994-08-22 2002-05-13 구자홍 절전형컴퓨터의절전기능수행시자료복구방법
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
JP2002056671A (ja) * 2000-08-14 2002-02-22 Hitachi Ltd ダイナミック型ramのデータ保持方法と半導体集積回路装置
DE602006019010D1 (de) * 2006-10-20 2011-01-27 Fujitsu Ltd Speicheranordnung und auffrisch-justierverfahren
US8042022B2 (en) * 2007-03-08 2011-10-18 Micron Technology, Inc. Method, system, and apparatus for distributed decoding during prolonged refresh
US8095853B2 (en) * 2007-10-19 2012-01-10 S. Aqua Semiconductor Llc Digital memory with fine grain write operation
US8078918B2 (en) * 2008-02-07 2011-12-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
US8380915B2 (en) * 2010-01-27 2013-02-19 Fusion-Io, Inc. Apparatus, system, and method for managing solid-state storage media
US9037928B2 (en) * 2012-01-01 2015-05-19 Mosys, Inc. Memory device with background built-in self-testing and background built-in self-repair
KR101187642B1 (ko) * 2011-05-02 2012-10-08 에스케이하이닉스 주식회사 집적 회로의 모니터링 장치
US8966343B2 (en) * 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
US9318182B2 (en) * 2013-01-30 2016-04-19 Intel Corporation Apparatus, method and system to determine memory access command timing based on error detection
US9342403B2 (en) * 2014-03-28 2016-05-17 Intel Corporation Method and apparatus for managing a spin transfer torque memory
US9940046B2 (en) * 2015-11-27 2018-04-10 Samsung Electronics Co., Ltd. Semiconductor memory device with operation environment information storing circuit and command storing function
KR20170063319A (ko) 2015-11-27 2017-06-08 삼성전자주식회사 동작환경 정보 저장회로 및 커맨드 저장 기능을 구비한 반도체 메모리 장치
US10628248B2 (en) * 2016-03-15 2020-04-21 International Business Machines Corporation Autonomous dram scrub and error counting
US10762979B2 (en) * 2018-10-29 2020-09-01 International Business Machines Corporation Data retention in storage drives

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973272A (zh) * 2013-01-30 2014-08-06 德克萨斯仪器股份有限公司 非易失性逻辑阵列中使用奇偶校验的错误检测
CN106205728A (zh) * 2014-12-05 2016-12-07 爱思开海力士有限公司 奇偶校验电路及包括该奇偶校验电路的存储器装置
CN107924705A (zh) * 2015-08-28 2018-04-17 英特尔公司 存储器装置错误校验和清除模式以及错误透明度
CN107766257A (zh) * 2016-08-19 2018-03-06 爱思开海力士有限公司 存储器系统及其操作方法

Also Published As

Publication number Publication date
US20200201707A1 (en) 2020-06-25
KR20200076846A (ko) 2020-06-30
US11074123B2 (en) 2021-07-27
CN111352756A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
US11231992B2 (en) Memory systems for performing failover
CN111352756B (zh) 检测存储器装置中存储的数据的错误的装置及其操作方法
US10635333B2 (en) Memory system
CN111400200A (zh) 控制器及其操作方法
CN110058797B (zh) 存储器系统及其操作方法
US10923192B2 (en) Memory system and operating method thereof
KR102571747B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US10073623B2 (en) Memory system and operation method for the same
US10437512B2 (en) Techniques for non-volatile memory page retirement
US11232008B2 (en) Method of operating storage device, storage device performing the same and storage system including the same
US10553296B2 (en) Memory device and operating method thereof
US9946586B2 (en) Memory system and operating method thereof
CN110196822B (zh) 存储器装置、存储器控制器和存储器系统及其操作方法
US11237766B2 (en) Storage device and method of operating of the storage device
CN107728932B (zh) 存储器系统及其操作方法
US11880274B2 (en) Host device, memory controller, and computing system including the same
US11848057B2 (en) Memory system and method of operating the same
CN109256168B (zh) 存储器系统及其操作方法
US20220187996A1 (en) Memory controller and storage device including same
US11593242B2 (en) Method of operating storage device for improving reliability, storage device performing the same and method of operating storage using the same
KR20150068679A (ko) 메모리 시스템 및 이를 포함하는 컴퓨팅 시스템
KR20210146637A (ko) 메모리 컨트롤러 및 그 동작 방법
US11989089B2 (en) Memory controller, operating method thereof, and computing system including the same
US11797444B2 (en) Storage device for storing address information and data in memory device in response to occurrence of power loss and operating method of the storage device
US11537292B2 (en) Methods and apparatus for enhancing uber rate for storage devices

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