CN104050073B - 暂态奇偶性/冗余 - Google Patents

暂态奇偶性/冗余 Download PDF

Info

Publication number
CN104050073B
CN104050073B CN201410095467.9A CN201410095467A CN104050073B CN 104050073 B CN104050073 B CN 104050073B CN 201410095467 A CN201410095467 A CN 201410095467A CN 104050073 B CN104050073 B CN 104050073B
Authority
CN
China
Prior art keywords
ecc
write
host
intrusion detection
detection based
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.)
Expired - Fee Related
Application number
CN201410095467.9A
Other languages
English (en)
Other versions
CN104050073A (zh
Inventor
M·A·盖尔特纳
K·道
S·法伍尔赫伯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
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 Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of CN104050073A publication Critical patent/CN104050073A/zh
Application granted granted Critical
Publication of CN104050073B publication Critical patent/CN104050073B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了暂态奇偶性/冗余。大容量存储使用额外的错误校正代码。额外的代码能够与关联数据分离地存储在存储介质(例如,易失性固态存储器)中。额外的代码可写到非易失性介质上。额外的代码可以是暂态的。额外的代码可以被高速缓存。只要存在,额外的代码可用于与其它的错误检测和校正代码同步地或者作为其它错误检测与校正代码的辅助对用户数据进行校正。

Description

暂态奇偶性/冗余
发明概述
大容量存储使用额外的错误校正代码。额外的代码能够与关联数据分离地存储在存储介质(例如,易失性固态存储器)中。额外的代码可写入非易失性介质中,可以是暂态的,或者可以进行高速缓存。只要存在,额外的代码就可用于与其它错误校正代码一起或作为其它错误校正代码的辅助对用户数据进行校正。
附图说明
图1示出了使用额外错误校正代码的设备;
图2示出了使用额外错误校正代码的另一设备;
图3示出了使用额外错误校正代码的再一设备;
图4示出了能够使用额外错误校正代码的数据;
图5示出了使用额外错误校正代码的方法的流程图;以及
图6示出了使用额外错误校正代码的大容量存储的层级关系。
发明详述
大容量存储持久地保存信息并且具有足够大以用于使用其的用户或系统的需求的容量。大容量存储包括如磁带库、RAID和JBOD的系统。大容量存储还包括如硬盘驱动器、磁盘驱动器、光盘驱动器、磁光驱动器和固态驱动器的设备。大容量存储还包括使用大容量存储系统或设备的基础结构。这些基础结构可以是直接附接的存储、网络附接的存储、存储域网、数据存储机架、分布式文件系统和云。
大容量存储保持所保存信息的完整性的能力是所期望的特性。错误校正代码(ECC)的使用提供了保持信息完整性的方式。ECC随后能够与正在保持其完整性的信息一起被保存。这种保存ECC的方式具有成本。一方面成本是ECC需要存储空间。或者是用于保存信息的大容量存储内的空间进行重新分配以用于保存ECC,或者是提供额外的外部大容量存储来保存ECC。对于前者情况,大容量存储容量减小,而对于后者情况,预留空间增加了开销和复杂度。如果期望改进的或基于主机写的ECC,则大容量存储的容量将进一步减小,或者将提供额外的预留空间。任一种情况都加剧了所述成本。
大容量存储能够通过保存信息的副本来保持所保存信息的完整性。所以,大容量存储不必使用ECC信息,这将消除关联的硬件/固件。然而,大容量存储的容量将必须大概加倍以保存既定量的信息或者如果不使用预留空间则将容量大概减半。而且,由于试图判定哪个副本是正确的而增加了复杂度。再有,使用该方案来保持所保存信息的完整性具有成本。
另外,一些类型的ECC是在一组数据上计算出的。如果该组数据不完全写入,则存在与计算冗余相关的大的性能开销,因为需要从存储介质中读取全部的未写入数据来计算新的ECC。
大容量存储能够通过使用基于主机写的ECC但是将其保存在与所保存信息所在的存储器或存储器的部分分离的存储器中来提高所保存信息的完整性。该基于主机写的ECC覆盖了在单次主机传递中由数据所确定的存储器的可变范围。换言之,基于主机写的ECC未覆盖大容量存储器的单个单元(例如,扇区)或确定性的扇区组(例如,RAID奇偶性)。参考图1,示出了大容量存储设备100,其包括控制器110、大容量存储器120和存储器130。大容量存储器120可以包括至少一个磁盘、光盘、磁光盘、磁带、固态存储器或全息存储器、或其中至少两种的组合。存储器130可以包括易失性的或非易失性的存储器,诸如DRAM、SRAM、闪存或电池备用易失性存储器。控制器110可以使用存储器130作为用于待写入大容量存储器120的信息的高速缓存。
主机190与大容量存储设备100耦合。主机190通过使用如SCSI、SAS、各种SATA(例如,mSATA、eSATA)、光纤通道等数据传输协议来与大容量存储设备100交互。主机190将信息写入大容量存储设备100,在大容量存储设备100中,信息由控制器110接收且被缓冲或高速缓存在存储器130中。然后,大容量存储设备100能够将信息保存到大容量存储器120中。当来自主机的信息正在存储器130之间传递时,大容量存储设备100能够生成基于主机写的ECC。基于主机写的ECC还能够在信息处于存储器130中的任意时间生成,例如,在从存储器130逐出之前。基于主机写的ECC包括任何错误校正代码,诸如Reed-Solomon、Hamming、BCH、Convolution、Turbo、简单奇偶性和LDPC。基于主机写的ECC能够包括诸如奇偶性、校验和和循环冗余校验等任何错误检测代码。
基于主机写的ECC驻留在存储器130中。在被删除、释放或逐出之前,该基于主机写的ECC能够以各种方式使用。基于主机写的ECC能够用于确保用于用户或系统读操作的保存信息的完整性。基于主机写的ECC还能够用于确保在大容量存储设备100的内部可靠性操作期间所保持的信息的完整性,诸如背景介质扫描、带上的奇偶性生成或LBA的任何其它确定性的组,以及读后写验证。基于主机写的ECC
基于多种标准中的一种标准的出现,基于主机写的ECC能够保持在存储器130中,从存储器130中删除、释放或逐出。如果通过高速缓存逐出策略来控制存储器130,则用于逐出基于主机写的ECC的标准能够响应于最不近期使用(LRU)、最不频繁使用(LFU)、FIFO、组相联等。此外,当基于主机写的ECC生成时,高速缓存策略可以改变以考虑到基于主机写的ECC的保持和释放。基于用于一些地址范围的优先权,诸如频繁写的地址或易出错地址,基于主机写的ECC能够保持在存储器130中,从存储器130中删除、释放或逐出。而且,基于主机写的ECC的未决逐出能够用于优先内部可靠性操作。此外,在基于主机写的ECC用于内部可靠性操作之后,基于主机写的ECC能够被删除、释放或逐出。并且,从大容量存储器120中逐出基于主机写的ECC能够在确保其如上所述使用之前被允许或者不被允许直到其如上所述使用。
基于主机写的ECC能够以多种方式写入非易失性存储器。在图1中,基于主机写的ECC能够写入大容量存储器120,而不是存储器130中。例如,大容量存储器120可以是具有保持有基于主机写的ECC的介质高速缓存的磁盘。可选地,基于主机写的ECC能够在被写入存储器130中之后被写入大容量存储器120中。在该情况下,基于主机写的ECC到大容量存储器120的写能够在将其从存储器130逐出之前发生,或者当在大容量存储设备100中发生掉电时发生。对于掉电的情况,存储器130能够通过例如主轴电动机的备用EMF来供电,使得基于主机写的ECC能够被写入大容量存储器120中。
利用如上所述用于存储器130的相同的标准,能够将额外的ECC保持在大容量存储器120中,或者从大容量存储器120中删除、释放或逐出。在大容量存储器120中的基于主机写的ECC还能够如上所述用于存储器130。另外,从大容量存储器120中逐出基于主机写的ECC能够在确保其如上所述使用之前被允许或者不被允许直到其如上所述使用。
基于主机写的ECC还能够具有关联的元数据。元数据是指描述基于主机写的ECC的数据。元数据可以包括基于主机写的ECC所覆盖的LBA范围、到基于主机写的ECC的位置的指针、到下一个最陈旧的基于主机写的ECC的链接、到下一个最年轻的基于主机写的ECC的链接、到覆盖下一个较高的LBA范围的基于主机写的ECC的链接以及到覆盖下一个较低的LBA范围的基于主机写的ECC的链接。对于每个基于主机写的ECC,元数据可以跟踪对应的LBA范围。例如,假设逻辑块地址100-109从主机或在存储器之间传递,并且生成基于主机写的ECC。元数据记录,对于那些逻辑块地址存在基于主机写的ECC,并且记录该基于主机写的ECC的位置(例如,DRAM地址)。还可能存在不同类型的或配置的基于主机写的ECC。如果是这样,则也通过元数据进行描述。该元数据还能够存储在诸如大容量存储器120的非易失性存储器中,以使基于主机写的ECC在预期的和非预期的电力循环中被保留。
存储器130还能够通过跟踪与先前存在的基于主机写的ECC重叠的基于主机写的ECC来保持有效的一组元数据。为了继续上述实施例,如果对于逻辑块地址100-109接收到另外的写(或某其它重叠方案),则先前存在的基于主机写的ECC现在无效,因为其覆盖了覆写数据。因此,应当适当地管理元数据以表明用于覆写数据的基于主机写的ECC是无效的且应当更新以描述新的基于主机写的ECC(如果有的话)。
图2示出了使用基于主机写的ECC的大容量存储设备200。控制器210、大容量存储器220、易失性存储器235以及非易失性存储器240包括在大容量存储设备200中。大容量存储器220可以包括至少一个磁盘、光盘、磁光盘、磁带、固态存储器或全息存储器,或者其中至少两种的组合。存储器235可以包括诸如DRAM和SRAM的易失性存储器。非易失性存储器240可以包括诸如FLASH、STRAM、ReRAM、MRAM等非易失性固态存储器。主机290与大容量存储设备200耦合。
大容量存储设备200能够将基于主机写的ECC保存在图示的存储器中的一种、两种或所有这三种中。例如,能够使用分层存储,其中首先将基于主机写的ECC保存在易失性存储器235中,然后保存到非易失性存储器240中,然后保存到大容量存储器220中。基于主机写的ECC在这些存储器之中的移动能够基于上述逐出标准。用于这些存储器的其它排列是可能的。基于上文针对图1中的大容量存储设备100所描述的任意方式,基于主机写的ECC能够写入到易失性存储器235、然后写入到非易失性存储器240中。基于主机写的ECC的保持、释放、删除、逐出和使用可与上文针对大容量存储设备100所述的相同。
图3示出了与大容量存储设备300耦合的主机390,主机包括控制器310和存储器/大容量存储器325。存储器/大容量存储器325可以是同质存储介质,诸如快擦写存储器或磁盘。这种类型的存储介质既能够用作用于存储基于主机写的ECC的存储器,又能够用作用于保存关联信息的大容量存储器。如果使用快擦写存储器,则存储器/大容量存储器325的存储器部分可以是SLC,并且大容量存储器部分可以是MLC。另一选项是MLC设备的LSB页面。LSB页面典型地比MSB页面编程更快。如果使用磁盘,则存储器部分是介质高速缓存,并且大容量存储器部分可以是磁盘的其余表面。在任一情况下,存储器部分展示出比大容量存储器部分更快的读或写速度(或者两者)。基于主机写的ECC的维护、释放、删除、逐出和使用可与上文针对大容量存储设备100所描述的相同。
将参考图4来说明如此描述的基于主机写的ECC的应用。在图4中是DATA块410-470以及校正代码(ECC)块480。DATA块410-470中的每一个可以包括其自身的错误检测或校正信息(或两者)。ECC块480用于全部的DATA块410-470。块410-480可以在磁盘的磁道上、快擦写存储器的块上或RAID系统的带上是毗邻的,其中每个块410-480存储在不同的大容量存储设备上。
与例如图1中的大容量存储设备100耦合的主机能够请求写信息到DATA块430-440。关联的基于主机写的ECC对于DATA块430-440生成,如上所述,并且保存在存储器中,诸如存储器130。EDC块480现在是无效的,因为其保护的数据的部分已经被重新写入。大容量存储设备100能够执行如背景介质扫描的内部可靠性操作。而且,ECC块480现在是无效的,因为其要保护的数据的部分已经重新写入。对于块430-440生成的ECC能够用于更新EDCECC块480。
如果在DATA块430中发现错误,则大容量存储设备能够使用关联的基于主机写的ECC来与DATA块430中的错误检测或校正(或两者)信息或ECC块480(如果其已更新)结合地、作为DATA块430中的错误检测或校正(或两者)信息或ECC块480(如果其已更新)的辅助或备选来校正错误。
图5示出了与所描述的基于主机写的ECC相关的方法500。方法500开始于步骤510,然后进行到步骤520,在该步骤中大容量存储保持基于主机写的ECC以校正信息错误。在步骤530中,对是否满足逐出、释放或删除标准做出判定。如果为否,则方法返回到步骤520。如果为是,则方法进行到步骤540,在该步骤中,基于主机写的ECC被逐出。方法500随后结束于步骤550。
在上述任一种大容量存储设备中,基于主机写的ECC能够在关联信息被覆写、擦除或释放之前被逐出、释放或删除。然后,基于主机写的ECC相对于关联信息是暂态的。例如,大容量存储能够使用基于主机写的ECC来生成诸如EDC块480的奇偶性。然后,能够从存储器中逐出基于主机写的ECC。这是单次使用暂态性的实施例。作为另一实例,基于主机写的ECC能够如上所述使用,直到其被逐出、释放或删除。这是非单次使用暂态性的实施例。
作为另外的解释,奇偶性/冗余计算能够在奇偶性带(即,RAID组)上进行且保存在与该奇偶性带耦合的地址位置上。上述大容量存储计算基于主机写的ECC,而无需获知任何奇偶性带的内容,或者甚至无需获知下面的奇偶性带的存在。基于主机写的ECC保持(有时是暂态地)在近期写入的数据上,而不一定在整个数据集(例如,奇偶性带)上。
图6示出了如上所述使用基于主机写的ECC的大容量存储的层级关系。此处,基于主机写的ECC能够存储在大容量存储设备、系统或基础结构的存储器中。无论额外的ECC或所保存的信息驻留在何处,大容量存储设备、系统或基础结构能够取回信息和基于主机写的ECC并且如上所述使用其。例如,大容量存储系统620能够将基于主机写的ECC保持在其存储器中,然后将关联信息写入大容量存储设备610中。大容量存储系统620随后能够请求从大容量存储设备610读取关联信息。一旦大容量存储系统620接收到关联信息,其能够使用基于主机写的ECC与如上所述的关联信息。
作为另一实施例,大容量存储系统620能够将基于主机写的ECC保持在其存储器中,然后,将关联信息写入大容量存储设备610中。大容量存储设备610稍后会从大容量存储系统620请求基于主机写的ECC,并且如上所述对其进行使用。类似的交互能够与大容量存储基础结构630发生。
上述方法和装置能够使用基于主机写的ECC来从可能未对近期写入数据造成可检测故障或任何其它错误的写入错误中恢复数据。控制器单独地或者与关联的固件一起来控制基于主机写的ECC在一个或多个存储器中的维护。
上面的说明阐述了细节,但是不应视为限制权利要求的范围。对上述说明的各种修改、删除和添加都在权利要求的范围之内。

Claims (20)

1.一种用于数据存储的方法,包括:
在第一存储器中保持基于主机写的ECC,所述基于主机写的ECC是基于从主机写入的信息而生成的;以及
在与所述基于主机写的ECC相关联的数据被写入与所述第一存储器不同的第二存储器中后,响应于高速缓存策略而从所述第一存储器中逐出所述基于主机写的ECC。
2.如权利要求1所述的方法,其中所述高速缓存策略是最不近期使用(LRU)、最不频繁使用(LFU)、先入先出(FIFO)和组相联中的一种。
3.如权利要求1所述的方法,还包括使用所述基于主机写的ECC用于内部可靠性操作。
4.如权利要求3所述的方法,其中所述内部可靠性操作是背景介质扫描、奇偶性生成或读后写验证中的一种。
5.如权利要求1所述的方法,其中所述保持包括对所述基于主机写的ECC进行高速缓存。
6.如权利要求1所述的方法,还包括暂时使用所述基于主机写的ECC。
7.如权利要求6所述的方法,其中所述暂时使用是非单次使用。
8.如权利要求6所述的方法,其中所述暂时使用是单次使用。
9.如权利要求1所述的方法,还包括按与其它ECC结合使用、作为其它ECC的辅助或者作为其它ECC的备选使用中的至少一种方式来使用基于主机写的ECC。
10.一种用于数据存储的方法,包括:
计算基于主机写的ECC,所述基于主机写的ECC是基于从主机写入的信息而生成的;
将所述基于主机写的ECC暂时保持在易失性存储器中;以及
在与所述基于主机写的ECC相关联的数据被写入与所述易失性存储器不同的存储器中后,响应于高速缓存策略而从所述易失性存储器中逐出所述基于主机写的ECC。
11.如权利要求10所述的方法,其中所述基于主机写的ECC的暂时保持使用高速缓存策略。
12.如权利要求11所述的方法,其中所述高速缓存策略是基于是否已生成基于主机写的ECC而改变的逐出策略。
13.如权利要求10所述的方法,还包括将所述基于主机写的ECC和对于的元数据写入到非易失性存储器中。
14.如权利要求10所述的方法,其中暂时保持所述基于主机写的ECC在一些地址范围内是优选进行的。
15.如权利要求10所述的方法,还包括使用所述基于主机写的ECC用于恢复用户读的数据以及在内部操作期间恢复数据中的至少一项。
16.如权利要求13所述的方法,暂时保持是非单次使用。
17.大容量存储设备,包括:
第一存储器;
第二存储器;以及
控制器,其与所述第一存储器和所述第二存储器耦合,并且配置为将基于主机写的ECC暂时保持在至少所述第一存储器中,其中所述基于主机写的ECC是基于从主机写入的信息而生成的;并且所述控制器被进一步配置为在与所述基于主机写的ECC相关联的数据被写入与所述第一存储器不同的第二存储器中后,响应于高速缓存策略而从所述第一存储器中逐出所述基于主机写的ECC。
18.如权利要求17所述的大容量存储设备,其中所述第一存储器易失性的,并且所述第二存储器是非易失性的。
19.如权利要求17所述的大容量存储设备,其中所述控制器使用高速缓存策略来暂时保持所述基于主机写的ECC。
20.如权利要求17所述的大容量存储设备,其中所述基于主机写的ECC是在关联数据被进行释放、删除和逐出中的一项之前被进行释放、删除和逐出中的一项。
CN201410095467.9A 2013-03-15 2014-03-14 暂态奇偶性/冗余 Expired - Fee Related CN104050073B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/843,869 US9141484B2 (en) 2013-03-15 2013-03-15 Transiently maintaining ECC
US13/843,869 2013-03-15

Publications (2)

Publication Number Publication Date
CN104050073A CN104050073A (zh) 2014-09-17
CN104050073B true CN104050073B (zh) 2018-02-27

Family

ID=51502961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410095467.9A Expired - Fee Related CN104050073B (zh) 2013-03-15 2014-03-14 暂态奇偶性/冗余

Country Status (3)

Country Link
US (1) US9141484B2 (zh)
JP (1) JP6285762B2 (zh)
CN (1) CN104050073B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671531B2 (en) * 2018-07-13 2020-06-02 Seagate Technology Llc Secondary memory configuration for data backup
US10915400B1 (en) * 2019-11-08 2021-02-09 Micron Technology, Inc. Dynamic over provisioning allocation for purposed blocks

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp., Santa Clara EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5255270A (en) 1990-11-07 1993-10-19 Emc Corporation Method of assuring data write integrity on a data storage device
JPH06266618A (ja) * 1993-03-17 1994-09-22 Toshiba Corp エラー訂正・検出機能付きの主記憶コントローラを備えた情報処理装置
US5784390A (en) * 1995-06-19 1998-07-21 Seagate Technology, Inc. Fast AtA-compatible drive interface with error detection and/or error correction
US5860090A (en) * 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
JPH11203056A (ja) * 1998-01-19 1999-07-30 Fujitsu Ltd 入出力制御装置及びアレイディスク装置
US6243827B1 (en) * 1998-06-30 2001-06-05 Digi-Data Corporation Multiple-channel failure detection in raid systems
JP2002023966A (ja) * 2000-06-30 2002-01-25 Toshiba Corp 転送データを冗長化したディスクシステム
US7380198B2 (en) 2003-06-11 2008-05-27 International Business Machines Corporation System and method for detecting write errors in a storage device
US7360112B2 (en) 2005-02-07 2008-04-15 International Business Machines Corporation Detection and recovery of dropped writes in storage devices
US20060294299A1 (en) 2005-06-28 2006-12-28 Intel Corporation Techniques to verify storage of information
US7650557B2 (en) * 2005-09-19 2010-01-19 Network Appliance, Inc. Memory scrubbing of expanded memory
US20070168754A1 (en) 2005-12-19 2007-07-19 Xiv Ltd. Method and apparatus for ensuring writing integrity in mass storage systems
JP2008217755A (ja) * 2007-02-05 2008-09-18 Seiko Epson Corp 記憶装置
JP4358869B2 (ja) * 2007-02-21 2009-11-04 富士通株式会社 ストレージ制御装置、ストレージ制御方法
US20090006757A1 (en) * 2007-06-29 2009-01-01 Abhishek Singhal Hierarchical cache tag architecture
US8095851B2 (en) * 2007-09-06 2012-01-10 Siliconsystems, Inc. Storage subsystem capable of adjusting ECC settings based on monitored conditions
US7774540B2 (en) 2007-12-26 2010-08-10 Hitachi Global Storage Technologies Netherlands B.V. Storage system and method for opportunistic write-verify
US8140909B2 (en) 2008-02-22 2012-03-20 International Business Machines Corporation Efficient method to detect disk write errors
US9235530B2 (en) * 2010-05-31 2016-01-12 Sandisk Technologies Inc. Method and system for binary cache cleanup
US9141527B2 (en) * 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8560775B1 (en) * 2012-09-28 2013-10-15 Stec, Inc. Methods for managing cache configuration

Also Published As

Publication number Publication date
JP6285762B2 (ja) 2018-02-28
US20140281821A1 (en) 2014-09-18
CN104050073A (zh) 2014-09-17
US9141484B2 (en) 2015-09-22
JP2014182834A (ja) 2014-09-29

Similar Documents

Publication Publication Date Title
US11042437B2 (en) Metadata hardening and parity accumulation for log-structured arrays
US10776153B2 (en) Information processing device and system capable of preventing loss of user data
US7464322B2 (en) System and method for detecting write errors in a storage device
US9026764B2 (en) Memory system performing wear leveling based on deletion request
US10621051B2 (en) Logical to physical table restoration from stored journal entries
US9798623B2 (en) Using cache to manage errors in primary storage
JP2015201204A (ja) データ記憶装置におけるデータ保全性管理
JP2019502987A (ja) 不揮発性メモリ・システムにおけるマルチページ障害の回復
US20090228744A1 (en) Method and system for cache-based dropped write protection in data storage systems
US10140180B1 (en) Segment-based outer code recovery
TW201232258A (en) Memory system and operation method thereof
US9514052B2 (en) Write-through-and-back-cache
US20150082124A1 (en) Spatially decoupled redundancy schemes for a solid state drive (ssd)
US8938641B2 (en) Method and apparatus for synchronizing storage volumes
JP2019023936A (ja) 記憶装置及びメモリシステム
CN104050073B (zh) 暂态奇偶性/冗余
CN105808386A (zh) 硬盘数据恢复校验方法
WO2016032955A2 (en) Nvram enabled storage systems
US20120124275A1 (en) Memory system and data storage method
JP2005004733A (ja) ストレージ・システムにおいて書込みエラーを検出するための配置構成および方法
CN118251653A (zh) 对开放重定位目的地块进行保护的数据重定位
JP2018163450A (ja) データ記憶制御装置、データ記憶システム、データ記憶方法およびプログラム
Gibson et al. Directions for Shingled-Write and Two-Dimensional Magnetic Recording System Architectures: Synergies with Solid-State Disks (CMU-PDL-09-104)
JP2006113841A (ja) データ記憶制御装置
KR20110089975A (ko) 메모리 장치 및 그의 초기화 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180227

Termination date: 20190314

CF01 Termination of patent right due to non-payment of annual fee