CN1057533A - 恢复受奇偶校验保护数据的方法和装置 - Google Patents
恢复受奇偶校验保护数据的方法和装置 Download PDFInfo
- Publication number
- CN1057533A CN1057533A CN91103973A CN91103973A CN1057533A CN 1057533 A CN1057533 A CN 1057533A CN 91103973 A CN91103973 A CN 91103973A CN 91103973 A CN91103973 A CN 91103973A CN 1057533 A CN1057533 A CN 1057533A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- block
- memory device
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1084—Degraded mode, e.g. caused by single or multiple storage removals or disk failures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, i.e. distributed RAID systems with parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/104—Metadata, i.e. metadata associated with RAID systems with parity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
存储控制器上的存储管理机构,维护其管理的存
储设备的奇偶校验记录,包括为每一数据块指示相应
奇偶校验块地址和数据块状态的状态图。若单个存
储设备出现故障,系统继续工作。机构在有故障存储
设备上存取数据前检查状态图。若数据尚未重建,通
过在奇偶校验组中所有存储设备上读和累加这些块
(包括奇偶校验块)的异或值,首先重建该存储块中的
数据,存于奇偶校验块的位置,更新状态图,指示该块
已重建;重建后,只需直接从原奇偶校验块中读出或
写入。
Description
本发明涉及计算机数据存储设备中奇偶校验信息的维护,特别涉及从故障存储设备中重建数据时计算机系统实用性的维护。
现代计算机系统的大量数据存储要求大容量的海量数据存储设备备。通用的数据存储设备为磁盘驱动器,它是包含许多易损部件的复杂机构。一种典型的计算机系统将包含几个这样的存储设备。当用户增加其数据存储量时,系统就要配置更多的存储设备。只要任一存储设备出现故障,就足以使整个系统瘫痪。许多系统在故障存储设备被修复或替代并且丢失的数据被重新存储之前不能工作。存储设备数目的增加,任一部分出现故障从而导致系统故障的概率也增加。此时计算机用户越来越多地依赖于其系统的紧固性。因此,关键是寻找重建故障存储设备中的数据并且使系统在一个存储设备出现故障的情况下坚持工作的方法。
一种已知的处理这些问题的方法是“镜像法”。这种方法包括保留一套复制的存储设备,其中所存数据与原数据相同。如果原存储设备中任一存储设备出现故障,该复制设备便担当起向系统提供数据的任务。尽管此种方法非常有效,然而却是一种很昂贵的处理方法,因为一个用户必须付出两倍存储设备的费用。
另一种比较便宜的方法是使用奇偶校验块。奇偶校验块是在不同存储设备中某一特定地址上存储的所有数据记录通过异或运算形成的记录。换言之,一个存储设备中某一特定地址上数据块中的每一位与存储设备中每个存储设备的相同地址上的每一其它位进行异或,产生一个奇偶校验位数据块;然后该奇偶校验数据块被存入另一存储设备的同一地址内。如果在此存储设备组中任一存储设备出现故障,出现故障的存储设备上任一地址包含的数据都能通过其余存储器上相同地址的数据块与其相应的奇偶校验块进行异或运算来恢复。
奥奇(Ouchi)的美国专利4,092,732号,介绍了一种奇偶校验数据块的方法。在奥奇的装置中,使用一个独立的存储设备来存储一个存储设备组的奇偶校验信息。在包含奇偶校验块的存储设备上每进行一次读写,该奇偶校验记录所包含的存储设备组中任一存储设备上的一个记录就被改变一次。因此,具有奇偶校验记录的存储设备就成为存储设备运行的瓶口。克拉克等人(Clark et al)的美国专利第4,761,785号(该专利作为本发明的参考文件),通过在一组存储设备中大致相等地分配奇偶校验数据块来改善奇偶校验信息的存储。一组存储设备中的N个存储设备被分成多个相等地址范围的数据块,每一个数据块,含有多个数据记录。来自每一存储设备的具有相同地址范围的数据块形成一个数据块串。每个串有一个位于一个存储设备上的与该串中剩余数据块有关的奇偶校验块。不同串的奇偶校验数据块以循环方式分布于不同的存储设备中。
与镜像法相比,奥奇和克拉克的专利所描述的使用奇偶校验记录的方法,大大降低了保护数据的成本。但是,在奥奇和克拉克提出数据恢复或数据保护方法时,他们没有向用户提供在数据重建期间保持系统运行的方法。通常在重建数据之前,正常运行被中断,切断存储控制设备的电源,以修复或更换有故障的存储设备。因为这种先有技术完全依赖软件来恢复数据,所以在这种情况下,系统在相当长一段时间内不能使用。
先有技术并没有传授在没有复制或备用存储设备的情况下,使动态系统恢复和继续工作的方法。镜像法则要求双倍存储设备。至少要用一个或更多备用存储设备,即额外的备用磁盘驱动器,在原存储设备组中任一存储设备出现故障时,投入使用。虽然这种方法不需要全部镜像系统的投资,它仍需要额外的存储设备,这些设备除了作备份而外,别无它用。
本发明的一个目的是,提供一种强有力的方法和装置,用于在具有多个数据存储设备的计算机系统中进行丢失数据的恢复。
本发明的进一步目的是,提供一种强有力的方法和装置,使具有数个数据存储设备的计算机系统能够在其中一个数据存储设备有故障的情况下,继续运行。
本发明的又一个目的是,减少具有数个保护存储设备的数据处理系统进行数据保护的成本。
本发明再一个目的是,为拥有多个数据存储设备的计算机系统增添一种当其中一个数据存储设备出现故障时,恢复故障存储设备数据的性能。
一个存储控制器管理多个数据存储设备。该控制器上的一种存储管理机构维护它所管辖的存储设备上的奇偶校验记录。数据和奇偶校验块的组成如克拉克等人的专利所述。在存储设备出现故障的情况下,系统继续工作。该存储管理机构,试图通过从有故障的存储设备中取出数据,并将它们存入其余存储设备中的奇偶校验数据区域来恢复数据。
数据管理机构包括一种状态图,它指明每一数据块的对应奇偶校验块的地址,和该数据块的状态。如果某一存储设备出现故障,该存储管理机构便进入故障操作模式。当处于故障操作模式时,存储管理机构在从有故障在存储设备中取出数据之前,先检查状态图。如果数据尚未恢复,存储管理必须首先通过连续地读和累加一个奇偶校验组中所存储设备的相同的数据块(包括奇偶数据块)的异或(XOR)运算,来重建该存储数据块中的数据。由异或运算得到的数据块即为重建的数据,然后这些数据被存入该奇偶校验数据块的地址。接着,状态图被更新,指向已经重建的数据块,一旦数据已被重新建立,只需从前述的奇偶校验数据块直接读出或写入。以同样的方式,在向同一串中(在一个无故障存储设备上)的任一其它数据块写入之前,存储管理将重建有故障存储设备上一个存储数据块的数据。这是必要的,因为在该串上对任一数据块的读操作都将改变奇偶校验,使之无法随后对故障存储设备上的数据块进行重建。因此,一旦一个存储设备出现故障,当读和写操作引起存储管理重建数据时,系统的性能最初被降低。当数据重建之后,性能迅速改善。
在较佳实施例中,存储设备的组成及奇偶校验信息的产生和存储,如克拉克等人的专利所述。重建的数据被存入通常存储丢失数据所在串的奇偶校验数据的地址。不需要将系统中的存储控制器或其它任何部件断电,即可修复有故障的存储设备,然后再恢复丢失的数据。在此较佳实施例中,当进行数据的恢复和存储之时,配置有这种存储管理机构的计算机系统对用户来说仍然完全可以使用。在出现故障的存储设备被修复或替换之前,存储设备在没有奇偶校验保护的状态下工作。此实施例实现了连续工作和没有增加多少成本的条件下的单级故障保护。
在第一个替换实施例中,每个无故障存储设备的空余存储区域被装入重建的数据。这些空余存储区域的总和构成一个虚备用存储器。当数据重建后,数据被放入该虚备用存储器中,而奇偶校验仍以通常方式被保持。这个替换实施例中实现了更高级的故障保护,因为在单个的存储设备出现故障后,奇偶校验数据继续得以保持。然而,此种方法可能需要额外的存储空间以形成空余区域,或者在如果这些空余区域在正常情况下用作为其它用途(如暂时的数据存储)时,会使设备的性能下降。
在第二种替换实施例中,存储管理机构位于主机系统的操作软件中,但完成与位于存储控制器上的存储管理机构同样的功能。此实施例将比较佳实施例慢,但能够降低存储控制器的成本。
图1是包括本发明较佳实施例各部分的系统原理图;
图2是一个状态图的原理图;
图3是在正常工作模式期间,一个读操作的步骤流程图;
图4是从主机向存储控制器写入数据时数据传输步骤的流程图;
图5是在正常工作模式下,向存储设备写入数据的步骤流程图;
图6是继存储设备故障后的读操作的步骤流程图;
图7是一个存储设备已经出现故障以后,向存储设备写入数据的步骤流程图;
图8是根据本发明的一个替换实施例的系统中各部分的方框图。
本发明较佳实施例中,计算机系统100的主要部件的方框原理图如图1所示。一个主系统101,通过总线102与存储控制器103进行通信。控制器103包括一个编程处理器104,非易失性随机存储器RAM105(图中示为NVRAM),异或硬件108,和高速缓冲存储器RAM 109(图中示为CACHE)。非易失性RAM105包含状态图106和内容表107。控制器103控制存储设备121-124的工作。在较佳实施例中,存储设备121-124是旋转磁盘存储器。尽管图1示出4个存储设备,但是不难理解,实际上控制器103所带的存储设备数目是可变动的。还应当理解到,可以有一个以上的控制器103与主系统101相连。在较佳实施例中,计算机系统100是IBM AS/400型计算机系统,当然,也可以使用任意的计算机系统。
每个存储设备的存储区域被划分成块131-138。在较佳实施例中,所有存储设备拥有相同的存储容量,并且所有奇偶校验的受保护块大小相同。虽然本发明可以被用于各种大小的存储设备或各种大小块的配置之中,本较佳实施例却使控制机构得以简化。
位于几个存储设备的相同位置上的所有块组成一个串。在图1中,存储块131-134构成第一串,块135-138构成第二串。第一串中有一个块被指定为奇偶校验块。奇偶校验块131、136在图1中用阴影部分表示。剩余的未画阴影的块132-135、137-138是存储数据的数据存储块。由块131-134组成的第一串奇偶校验块的块131。这个奇偶校验块包含同一串上其余块中的数据的异或关系。
在较佳实施例中,奇偶校验块以循环方式分布在不同的存储器中,如图1所示。因为每个写操作中,系统不仅肯定会更新包含被写数据的块,而且也会更新同一串中的奇偶校验块,所以,奇偶校验块的修改通常比数据块更频繁。在不同的存储设备之中分配奇偶校验块,大多数情况下将能通过分配存取荷载来改善设备性能。但是,这种分配对实现这一发明是不必要的。在一种替换的实施例中,可以将所有奇偶校验块放置在单一存储设备上。
在较佳实施例中,每串中有一个块被指定为奇偶校验信息。如在一个替换实施例中,各串其中的一串不含奇偶校验保护。该串供暂存数据使用,而暂存数据不需要保护。图8表示该替换实施例,所述的这一串由块811-814组成。由于它是一个额外的存储空间,不属于奇偶校验数据保护系统的一部分,所以这个块可以为任意大小。
存储区域划分成串的情形如上所述,每个串包括多个数据块和一个奇偶校验块,这些均与克拉克等人的美国专利4,761,785(在此作为参考文件)所描述的相同。
存储控制器103包括执行存储管理程序的编程处理器104。存储管理程序的操作如下所述。控制器103还包括硬件异或电路108,用于对非易失性RAM105或高速缓冲RAM109中的数据进行异或运算。在一个替换实施例中,异或操作可由处理器104执行,专用硬件将使处理器的工作效果更佳。
控制器103使用非易失性RAM105作为暂时排队区域,供等待直接写入某一存储设备的数据之用。除了这些临时数据之外,状态图106和内容表107被存入非易失性RAM105中。内容表107包含数据的一个映像,这些数据等待写入其在存储器中的地址。
状态图106用来在故障恢复模式期间为每个数据块识别相应奇偶校验块的地址,以及每一数据块的状态。状态图106的细节如图2所示。对每一存储设备,它都有一个独立的状态图项目表。每个状态图项目201包含存储设备上数据块的地址202,在故障模式操作时,指示数据是否需要恢复的状态位203,和相应奇偶校验块的地址204。
再参考图1,高速缓冲存储器109是一个易失性随机存储器,用于存储来自存储设备的数据。在一个读操作期间,当来自存储设备的数据传输给主系统101时,它的作用相当于一个缓冲器。此外,响应主系统101发出的关于数据具有很大的修改和重写可能性的指示,这些数据被保存在高速缓冲存储器109内,因为未修改的数据必须与已修改的数据进行异或运算,以更新相应的奇偶校验数据,所以保存在高速缓冲存储器109中的读数据就不用在写操作开始之前立即将数据再次读出。采用高速缓冲存储器109仅仅为了改善性能。在一替换实施例中,可能不用它就能实现本发明。高速缓冲存储器109被视为一个易失性RAM,因为对系统整体性来讲不必要将从存储设备读出的数据保存在非易失性存储器中。然而,高速缓冲存储器可能担当非易失性存储器105的部分任务。根据存储器模块的相对成本和大小,采取这种方法可能是合用的。
结合与本发明有关的硬件和软件特征,对本系统的功能详细介绍如下。该系统具有两种工作模式:正常模式和故障模式。当所有磁盘存储设备工作正常时,系统以正常模式工作。当某一个存储设备出现故障时,工作模式变为故障模式,但该系统仍继续工作。
在正常模式下的读READ操作如图3所示。在步骤301,从主系统接收一个READ指令后,READ操作开始执行,并且在步骤302判断所请求的数据是否在非易失性RAM105或高速缓冲存储器109中。如果是,至步骤304,在非易失性RAM或在高速缓冲存储器中的数据被直接送给主系统。否则,转至步骤303,先将数据从相应的存储设备中读入高速缓冲存储器109,然后再从步骤303转至步骤304,送至主系统。在WRITE操作期间,高速缓冲存储器109也能改善系统性能。当WRITE操作开始后,如果有待更换的数据的原始版本已在高速缓冲存储器109中,就不必再次读出的数据以改变奇偶校验,所以使系统性能得以改善。应用先有技术中任一种高速缓冲存储器管理技术都可以管理高速缓冲存储器109的内容。
两个异步的任务进入存储设备控制器的处理器104时,WRITE操作开始执行。一个任务经总线102与主系统通信,如图4所示。当它在步骤401从主机接收到WRITE指令后,WRITE操作开始。然后它检查内容表107,以便在步骤402判断在非易失性RAM105内是否有足够的空间用于存储被写入存储设备的数据(注意:有用空间包括由要被写入的旧版数据占用的空间和未占用的空间)。如果空间不够,控制器103则不能从主系统接收数据,必须在步骤403等待有用空间的出现(即它必须等待已在非易失性RAM105中的数据被写入存储设备121-124)。当非易失性RAM105中的空间变为可用,在步骤404,数据就从主系统101中被拷贝进非易失性RAM105,内容表107被更新。然后,在步骤405,处理器104向主系统发出一个操作完成提示。一旦接到操作完成的提示,主系统不再继续处理,仿佛数据实际上已写入存储设备121-124一样,尽管事实上数据可能暂时在非易失性RAM105中等待。从主系统方面而言,操作看起来已经完成。
第二个异步任务是从非易失性RAM105中将数据写入存储设备。在正常模式下的这一任务的流程图示于图5。在步骤501,该任务从非易失性RAM的队列中选择WRITE操作。选择规则不属于本发明的部分,选择规则可能是,例如“先进先出”,“后进先出”,或基于系统性能和其它考虑的其它规则。当执行WRITE操作时,奇偶校验必须被更新,通过使新的写数据与旧的数据异或,就能够得到一个被WRITE操作改变了的位的位图。将这个位图与现存在的奇偶校验数据异或,产生新的奇偶校验数据。但是,在写入存储设备之前,在步骤502,该任务首先检查是否高速缓冲存储器109中的旧数据仍处于未修改状态。如果不是,在步骤503,它被从存储器读入高速缓冲存储器。然后在步骤504这种高速缓冲存储器中的旧数据与非易失性RAM中的新数据异或,生成改变后数据的位图。当新数据被写入存储设备121-124中的一个时,位图被暂存进非易失性RAM105中。在步骤506、507,旧奇偶校验数据被读进高速缓冲存储器(如果尚未在此的话),并在步骤508与位图异或产生新的奇偶校验数据。这种新的奇偶校验数据被写入存储设备121-124中的一个之中,并在步骤509,内容表被更新,写操作完成。
当探测到一个存储设备出现故障时,系统开始工作于故障模式。存储设备故障指其功能故障,即存取数据的故障。这种故障不一定是该设备自身损坏引起的。例如,该设备可能被断电,或数据电缆被断开。从系统角度看,任何故障,无论何种原因引起,都是存储设备的故障。探测这类故障的探测机构在先有技术中是已知的。普通的机构包括对接收数据中未接收到响应的超时和连续的高误码率的探测。
图6表示系统工作在故障模式下的READ操作。象在正常模式下的READ操作那样,在步骤601,当从主系统接收到一个READ后,在步骤602,控制器首先为所要的数据检查其非易失性RAM105和其易失性高速缓冲存储器109。如果该数据在非易失性RAM或高速缓冲存储器中,数据通过系统总线102被传送给主系统。如果数据未在非易失性RAM高速缓冲存储器中,而住留在一个尚未损坏的存储设备中(步骤603),那么在步骤604,数据以正常方式被从该存储设备中读入高速缓冲存储器。如果数据住留在一个出现故障的存储设备中,控制器检查状态图106中的状态图项目201,在步骤605寻找所要数据在存储设备中的地址。状态图项目将指示数据是否已经得到恢复,即是否已通过异或重建数据并存入某一替代的地址上。如果状态图指示数据尚未得到恢复(步骤605),控制器在步骤608接着在除了有故障的以外的所有存储设备上读相应的存储地址。异或硬件108将每个读的数据块与累加的先前读数据块的异或结果再进行异或运算。最后的异或结果构成故障设备的重建数据。在步骤609,这种重建的数据被写进与此数据块相对应的奇偶校验块中。这个块的位置被存入状态图108中204栏的奇偶校验块地址中。将恢复的数据写入奇偶校验块位置之后,在步骤610,通过将同一串中每个块的状态位203改变成“1”来表示数据已经恢复,使状态图108更新。在步骤611,重建的数据被送给主系统。如果状态位203原来为“1”,表示数据已被恢复,控制器将在步骤606从状态图中得到前面奇偶校验块区域的地址(在此,恢复的数据已被存储),并在步骤607从这一地址中直接将数据读进高速缓冲存储器。使用这种设备,只需对所有磁盘存储设备读一次就可恢复任一数据块中的数据。一旦恢复,数据的实际存储地址有效地再定位于原来用于奇偶校验存储的地址,而该块此后的任意读只需要读这一存储设备。
图7表示当系统工作在故障模式时,写入存储设备的操作。象正常模式WRITE那样,一个图4所示的主系统通信任务接收经过总线102来自主系统的被写数据。在步骤701,写入存储设备任务从非易失性RAM105的队列中选择一个写操作,控制器判断数据是否要写入出现故障的存储设备的数据(步骤702),并检查状态图(步骤703、709)。如果数据是要写入有故障的存储设备的,那么在这个块中的数据仍未被恢复,在任一可能的写操作之前这个块必须恢复。恢复步骤与上述READ操作的步骤相同。在步骤704,同一块串的每一块(包括奇偶校验块)依次被读,并且将其内容与先前读操作块的累加异或再进行异或运算。在步骤705,结果(即重建数据)被写进曾用作奇偶校验块的位置。一旦完整的块恢复完毕,新的数据(典型地将只包含该块的一部分)在步骤706被写在以前奇偶校验地址中的被恢复数据之上,而指示该块的被更新状态图已在步骤707中得到恢复。如果数据为要被写入有故障的存储设备,但数据已经被恢复,那么它就直接写入先前的奇偶校验地址,现在用于恢复数据的存储,如步骤708。
当工作在故障模式时,如果数据正在被写入一个无故障存储设备,控制器检查状态图(步骤709)。如果状态值为“1”,表示该故障存储设备上的同一个串上的数据块已经被恢复,WRITE数据在步骤710直接被写入无故障存储设备中。如果状态值为“0”,数据不能被直接写入非故障存储设备,因为这种操作可能改变奇偶校验,使之不能后来在有故障存储设备中重建相应的数据。相应地,在较佳实施例中,控制器将先恢复该故障存储设备上的同一串中的数据块。如图7所示,在步骤711,故障存储设备中的数据块首先通过异或运算重建,然后在步骤712保存于奇偶校验块地址。在步骤713,WRITE数据被写入其存储设备,在步骤714,状态图被更新。应当注意,如果含有被写数据的串的奇偶校验块处于故障存储器上,那么就没有重建数据的必要,因为无论怎样奇偶校验数据都将被丢掉。所以,当探测出这个存储设备有故障的,该串上所有块的状态值被置成“1”。其效果导致该串上的数据直接被写入存储设备,仿佛故障存储器上相应的块已经得到恢复了一样。例如,参考图1,如果存储设备121出现故障,控制器立即将块132-134的状态值置成“1”,使写进这些块的WRITE操作可以直接进行。在替换实施例中,如果这一WRITE操作向一个非故障存储器写入,并且该故障存储设备上相应的块还没有得到恢复,那么可能采取正常模式下WRITE操作的步骤来更新奇偶校验块,以便保持以后重建故障设备中数据的能力,当故障存储设备上数据的READ或WRITE被请求后,进行数据重建。
在较佳实施例中,奇偶校验块用于存储重建的数据,结果,在单个存储设备出现故障后,系统就在没有奇偶校验保护的条件下运行。而一个替换实施例则不然,如图8所示,在存储器设备上留出了一个或多个足够大的空余存储串。这些空余存储串可能存有临时数据,也可能是空的;临时数据不要求奇偶校验保护,并且在需要时可以重写。在此替换实施例中,重建的数据被重新置入空余存储串811-814的一个块中,而不是存入奇偶校验块中。这种替换实施例仅仅可能用于存在足够的空余存储区域,来容纳有故障存储设备中的非空的内容的场合。这一替换实施例也可能引起系统可用的暂存空间减小的后果,可能降低系统的性能,或者减少系统可提供服务的用户数目。在这一实施例中,正常模式READ和WRITE操作与较佳实施例中的步骤完全相同。当在故障模式下时,则以上述方式检查状态图,和必要时重建数据。但它不将重建的数据写入奇偶校验块,而是写入空余存储块内。在状态图106中,还要求另外的区域来记录曾包含在故障存储设备中数据的新位置。此外,以与正常状态下的写操作完全相同的方式,用任何WRITE操作都可以使奇偶校验更新。任一故障存储设备上的数据重建之后,奇偶校验都被更新。
在另一替换实施例中,奇偶校验保护和镜像保护被结合在同一系统中。包含在存储设备中的一些数据通过本文所述的奇偶校验机构来保护,而另一些数据则采用镜像保护。当一个存储设备出现故障时,奇偶校验保护的数据以上述方式被重建和存储,而镜像保护的数据则被从镜像复制的存储设备中取出。
虽然本发明的一个具体的实施例与若干替换实施例已经加以描述,但本领域的技术人员将能够理解到。在本发明权利要求书的范围内,可以做出各种形式上和细节上的变动。特别地,尽管本文公开的较佳实施例采用磁盘存储设备,但是本发明可用于具有可擦、读/写特性的其它存储设备技术。
Claims (13)
1、一种操作具有存储块串的计算机系统的方法,所述的串包括数个用于容纳数据的数据存储块和一个用于容纳所述数据存储块中所存的数据的奇偶校验的奇偶校验存储块,每个所述的存储块被包含在一个相应的数据存储设备中,所述的方法之特征在于步骤:
当包含所述存储块的数据存储设备出现故障时,由该串中其余的存储块重建该存储块中包含的数据;和
通过所述的重建步骤在所述数据存储设备之中的一个存储设备上存储重建的数据。
2、如权利要求1的操作计算机系统的方法,其特征在于所述重建数据步骤在试图存取所述数据时重建数据。
3、如权利要求1的操作计算机系统的方法,其特征在于所述存储数据步骤将重建的数据存入所述的奇偶校验存储块中。
4、如权利要求3的操作计算机系统的方法,其特征在于所述重建数据步骤在试图存取所述数据时重建数据。
5、如权利要求1的操作计算机系统的方法,其特征在于所述数据存储设备包含一个空余存储块,而所述存储数据步骤将重建的数据存入所述的空余存储块中。
6、如权利要求5的操作计算机系统的方法,其特征在于所述重建数据步骤在试图存取所述数据时重建数据。
7、一种用于计算机系统的存储装置,其特征在于:
至少三个数据存储设备;
至少一个存储块的串,每个串由数个存放数据的数据存储块和一个存放所述数据存储块中存储的数据的奇偶校验的奇偶校验的奇偶校验存储块,每个所述的存储块被包含在一个对应的数据存储设备中;
当包含所述块的数据存储设备出现故障时,由该串中其余存储块重建包含在所述数据存储块中的一个数据块内的数据的装置;和
用于在所述数据存储设备中的一个存储设备上存储所述重建数据的装置。
8、如权利要求7的计算机系统的存储装置,其特征在于用于存储所述重建数据的装置将所述数据存入所述的奇偶校验存储块。
9、如权利要求8的计算机系统的存储装置,其特征在于所述重建数据的装置包括一个存储控制器,所述存储控制器包括:
一个执行存储管理程序的可编程处理器;和
一个非易失性随机存储器。
10、如权利要求8的计算机系统的存储装置,其特征在于所述数据处理系统包括至少两个所述的存储块的串;和
所述奇偶校验块以循环方式分配在所述存储设备之中。
11、如权利要求8的计算机系统的存储设备,其特征在于每个所述的数据存储设备为一种旋转磁盘驱动存储设备。
12、如权利要求7的计算机系统的存储设备,其特征在于每一所述数据存储设备含有一个空余的存储块;和
存储所述重建数据的所述装置将所述数据存入所述空余存储块之中的一个存储块内。
13、如权利要求12的计算机系统的存储设备,其特征在于每个所述数据存储设备是一种旋转磁盘驱动存储设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US54221690A | 1990-06-21 | 1990-06-21 | |
US07/542,216 | 1990-06-21 | ||
US542,216 | 1990-06-21 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97116199A Division CN1109973C (zh) | 1990-06-21 | 1997-08-21 | 恢复受奇偶校验保护数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1057533A true CN1057533A (zh) | 1992-01-01 |
CN1038710C CN1038710C (zh) | 1998-06-10 |
Family
ID=24162823
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN91103973A Expired - Lifetime CN1038710C (zh) | 1990-06-21 | 1991-06-15 | 恢复受奇偶校验保护数据的方法和装置 |
CN97116199A Expired - Lifetime CN1109973C (zh) | 1990-06-21 | 1997-08-21 | 恢复受奇偶校验保护数据的方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97116199A Expired - Lifetime CN1109973C (zh) | 1990-06-21 | 1997-08-21 | 恢复受奇偶校验保护数据的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5596709A (zh) |
EP (1) | EP0462917B1 (zh) |
JP (1) | JPH0731582B2 (zh) |
KR (1) | KR960001748B1 (zh) |
CN (2) | CN1038710C (zh) |
CA (1) | CA2044521C (zh) |
DE (1) | DE69131562T2 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100433195C (zh) * | 2003-12-31 | 2008-11-12 | 深圳市朗科科技股份有限公司 | 闪存介质数据写入方法 |
WO2008148319A1 (fr) * | 2007-06-07 | 2008-12-11 | Huawei Technologies Co., Ltd. | Procédé de récupération d'image, équipement de stockage et système réseau |
CN101196711B (zh) * | 2006-12-04 | 2010-10-27 | 佳能株式会社 | 成像装置及其控制方法 |
CN102541466A (zh) * | 2011-10-27 | 2012-07-04 | 忆正存储技术(武汉)有限公司 | 一种混合存储控制系统和方法 |
CN103971750A (zh) * | 2013-01-29 | 2014-08-06 | 中国航空工业集团公司西安飞机设计研究所 | 一种ram的9相邻单元敏感故障检测方法 |
CN101807262B (zh) * | 1997-02-28 | 2014-10-29 | 索尼公司 | 数据处理装置和方法 |
CN108073364A (zh) * | 2018-01-12 | 2018-05-25 | 江苏华存电子科技有限公司 | 一种数据数组保护和修复闪存内数据方法 |
CN110231914A (zh) * | 2018-03-05 | 2019-09-13 | 三星电子株式会社 | 数据存储装置及其操作方法 |
Families Citing this family (122)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5208813A (en) * | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
JP3409859B2 (ja) | 1991-01-31 | 2003-05-26 | 株式会社日立製作所 | 制御装置の制御方法 |
US6874101B2 (en) | 1991-01-31 | 2005-03-29 | Hitachi, Ltd. | Storage unit subsystem |
JP2743606B2 (ja) * | 1991-04-11 | 1998-04-22 | 三菱電機株式会社 | アレイ型記録装置 |
US5341381A (en) * | 1992-01-21 | 1994-08-23 | Tandem Computers, Incorporated | Redundant array parity caching system |
US5305326A (en) * | 1992-03-06 | 1994-04-19 | Data General Corporation | High availability disk arrays |
AU653670B2 (en) * | 1992-03-10 | 1994-10-06 | Data General Corporation | Improvements for high availability disk arrays |
US5708668A (en) * | 1992-05-06 | 1998-01-13 | International Business Machines Corporation | Method and apparatus for operating an array of storage devices |
JP3183719B2 (ja) * | 1992-08-26 | 2001-07-09 | 三菱電機株式会社 | アレイ型記録装置 |
GB2273798A (en) * | 1992-12-22 | 1994-06-29 | Ibm | Cache system for disk array. |
JPH06324815A (ja) * | 1993-05-13 | 1994-11-25 | Nec Corp | ディスクアレイ装置 |
WO1994029796A1 (en) * | 1993-06-03 | 1994-12-22 | Network Appliance Corporation | A method for allocating files in a file system integrated with a raid disk sub-system |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
US6138126A (en) | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
DE69434381T2 (de) * | 1993-06-04 | 2006-01-19 | Network Appliance, Inc., Sunnyvale | Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers |
JPH0736633A (ja) * | 1993-07-21 | 1995-02-07 | Nec Corp | 磁気ディスクアレイ |
US5634109A (en) * | 1994-06-20 | 1997-05-27 | International Business Machines Corporation | Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache |
JP3687111B2 (ja) * | 1994-08-18 | 2005-08-24 | 株式会社日立製作所 | 記憶装置システムおよび記憶装置の制御方法 |
US5659704A (en) * | 1994-12-02 | 1997-08-19 | Hewlett-Packard Company | Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy |
US5651133A (en) * | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
US5666512A (en) * | 1995-02-10 | 1997-09-09 | Hewlett-Packard Company | Disk array having hot spare resources and methods for using hot spare resources to store user data |
JP3856855B2 (ja) * | 1995-10-06 | 2006-12-13 | 三菱電機株式会社 | 差分バックアップ方式 |
US5790773A (en) * | 1995-12-29 | 1998-08-04 | Symbios, Inc. | Method and apparatus for generating snapshot copies for data backup in a raid subsystem |
US5734814A (en) * | 1996-04-15 | 1998-03-31 | Sun Microsystems, Inc. | Host-based RAID-5 and NV-RAM integration |
US5917998A (en) * | 1996-07-26 | 1999-06-29 | International Business Machines Corporation | Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging |
US5764880A (en) * | 1996-09-10 | 1998-06-09 | International Business Machines Corporation | Method and system for rebuilding log-structured arrays |
US5960169A (en) * | 1997-02-27 | 1999-09-28 | International Business Machines Corporation | Transformational raid for hierarchical storage management system |
JP2790134B1 (ja) | 1997-03-11 | 1998-08-27 | 日本電気株式会社 | ディスクアレイシステム |
EP0910086A4 (en) * | 1997-04-07 | 2002-10-28 | Sony Corp | CUTTING SYSTEM AND METHOD |
US6021463A (en) * | 1997-09-02 | 2000-02-01 | International Business Machines Corporation | Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem |
US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
US6161191A (en) * | 1998-05-12 | 2000-12-12 | Sun Microsystems, Inc. | Mechanism for reliable update of virtual disk device mappings without corrupting data |
JP2000003255A (ja) * | 1998-06-12 | 2000-01-07 | Nec Corp | ディスクアレイ装置 |
GB2343265A (en) * | 1998-10-28 | 2000-05-03 | Ibm | Data storage array rebuild |
US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
US6327672B1 (en) * | 1998-12-31 | 2001-12-04 | Lsi Logic Corporation | Multiple drive failure tolerant raid system |
US6532548B1 (en) * | 1999-09-21 | 2003-03-11 | Storage Technology Corporation | System and method for handling temporary errors on a redundant array of independent tapes (RAIT) |
US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6636879B1 (en) | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
US6728922B1 (en) | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
US6654912B1 (en) | 2000-10-04 | 2003-11-25 | Network Appliance, Inc. | Recovery of file system data in file servers mirrored file system volumes |
US6952797B1 (en) | 2000-10-25 | 2005-10-04 | Andy Kahn | Block-appended checksums |
US6775791B2 (en) | 2001-01-26 | 2004-08-10 | Dell Products L.P. | Replaceable memory modules with parity-based data recovery |
US6799284B1 (en) | 2001-02-28 | 2004-09-28 | Network Appliance, Inc. | Reparity bitmap RAID failure recovery |
US7146524B2 (en) * | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US7685126B2 (en) * | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US6904556B2 (en) * | 2001-08-09 | 2005-06-07 | Emc Corporation | Systems and methods which utilize parity sets |
US7640484B2 (en) * | 2001-12-28 | 2009-12-29 | Netapp, Inc. | Triple parity technique for enabling efficient recovery from triple failures in a storage array |
US7024585B2 (en) * | 2002-06-10 | 2006-04-04 | Lsi Logic Corporation | Method, apparatus, and program for data mirroring with striped hotspare |
US7024586B2 (en) | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US6904498B2 (en) * | 2002-10-08 | 2005-06-07 | Netcell Corp. | Raid controller disk write mask |
US7130229B2 (en) | 2002-11-08 | 2006-10-31 | Intel Corporation | Interleaved mirrored memory systems |
US7017017B2 (en) | 2002-11-08 | 2006-03-21 | Intel Corporation | Memory controllers with interleaved mirrored memory modes |
AU2003291014A1 (en) | 2002-11-14 | 2004-06-15 | Isilon Systems, Inc. | Systems and methods for restriping files in a distributed file system |
JP2004171206A (ja) | 2002-11-19 | 2004-06-17 | Hitachi Ltd | ストレージシステム |
US7308599B2 (en) * | 2003-06-09 | 2007-12-11 | Hewlett-Packard Development Company, L.P. | Method and apparatus for data reconstruction after failure of a storage device in a storage array |
US7058762B2 (en) * | 2003-06-09 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for selecting among multiple data reconstruction techniques |
WO2005017734A1 (ja) * | 2003-08-14 | 2005-02-24 | Fujitsu Limited | コンピュータ装置および集合サーバ装置 |
US7428691B2 (en) * | 2003-11-12 | 2008-09-23 | Norman Ken Ouchi | Data recovery from multiple failed data blocks and storage units |
US7188303B2 (en) * | 2003-12-29 | 2007-03-06 | Intel Corporation | Method, system, and program for generating parity data |
US20050193273A1 (en) * | 2004-02-18 | 2005-09-01 | Xiotech Corporation | Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system |
US8726129B1 (en) * | 2004-07-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Methods of writing and recovering erasure coded data |
US8238350B2 (en) * | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
US8051425B2 (en) * | 2004-10-29 | 2011-11-01 | Emc Corporation | Distributed system with asynchronous execution systems and methods |
US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol systems and methods |
US7401253B2 (en) * | 2005-05-09 | 2008-07-15 | International Business Machines Corporation | Convolution-encoded data storage on a redundant array of independent devices |
US7370261B2 (en) * | 2005-05-09 | 2008-05-06 | International Business Machines Corporation | Convolution-encoded raid with trellis-decode-rebuild |
US7551572B2 (en) * | 2005-10-21 | 2009-06-23 | Isilon Systems, Inc. | Systems and methods for providing variable protection |
US7797283B2 (en) * | 2005-10-21 | 2010-09-14 | Isilon Systems, Inc. | Systems and methods for maintaining distributed data |
US7346720B2 (en) * | 2005-10-21 | 2008-03-18 | Isilon Systems, Inc. | Systems and methods for managing concurrent access requests to a shared resource |
US7788303B2 (en) * | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US7386675B2 (en) * | 2005-10-21 | 2008-06-10 | Isilon Systems, Inc. | Systems and methods for using excitement values to predict future access to resources |
US7917474B2 (en) * | 2005-10-21 | 2011-03-29 | Isilon Systems, Inc. | Systems and methods for accessing and updating distributed data |
KR100893342B1 (ko) * | 2005-12-20 | 2009-04-15 | 후지쯔 가부시끼가이샤 | 컴퓨터 장치 및 집합 서버 장치 |
US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US7756898B2 (en) * | 2006-03-31 | 2010-07-13 | Isilon Systems, Inc. | Systems and methods for notifying listeners of events |
JP2008009767A (ja) | 2006-06-29 | 2008-01-17 | Hitachi Ltd | データ処理システム及びその方法並びにストレージ装置 |
US8539056B2 (en) | 2006-08-02 | 2013-09-17 | Emc Corporation | Systems and methods for configuring multiple network interfaces |
US7899800B2 (en) * | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7590652B2 (en) | 2006-08-18 | 2009-09-15 | Isilon Systems, Inc. | Systems and methods of reverse lookup |
US7676691B2 (en) | 2006-08-18 | 2010-03-09 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7882071B2 (en) * | 2006-08-18 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7953704B2 (en) | 2006-08-18 | 2011-05-31 | Emc Corporation | Systems and methods for a snapshot of data |
US7822932B2 (en) * | 2006-08-18 | 2010-10-26 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7680836B2 (en) * | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7680842B2 (en) * | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7752402B2 (en) | 2006-08-18 | 2010-07-06 | Isilon Systems, Inc. | Systems and methods for allowing incremental journaling |
JP4953753B2 (ja) * | 2006-10-17 | 2012-06-13 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
US8286029B2 (en) * | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US7593938B2 (en) * | 2006-12-22 | 2009-09-22 | Isilon Systems, Inc. | Systems and methods of directory entry encodings |
US7509448B2 (en) | 2007-01-05 | 2009-03-24 | Isilon Systems, Inc. | Systems and methods for managing semantic locks |
US7779048B2 (en) | 2007-04-13 | 2010-08-17 | Isilon Systems, Inc. | Systems and methods of providing possible value ranges |
US8966080B2 (en) * | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
US7900015B2 (en) | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
US7966289B2 (en) * | 2007-08-21 | 2011-06-21 | Emc Corporation | Systems and methods for reading objects in a file system |
US7949692B2 (en) | 2007-08-21 | 2011-05-24 | Emc Corporation | Systems and methods for portals into snapshot data |
US7870345B2 (en) | 2008-03-27 | 2011-01-11 | Isilon Systems, Inc. | Systems and methods for managing stalled storage devices |
US7953709B2 (en) * | 2008-03-27 | 2011-05-31 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7984324B2 (en) | 2008-03-27 | 2011-07-19 | Emc Corporation | Systems and methods for managing stalled storage devices |
US7949636B2 (en) * | 2008-03-27 | 2011-05-24 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US20090300282A1 (en) * | 2008-05-30 | 2009-12-03 | Promise Technology, Inc. | Redundant array of independent disks write recovery system |
JP5637552B2 (ja) * | 2009-02-17 | 2014-12-10 | 日本電気株式会社 | ストレージシステム |
WO2010096519A1 (en) * | 2009-02-18 | 2010-08-26 | Marvell World Trade Ltd. | Method and system for performing i/o operations on disk arrays |
US8560879B1 (en) * | 2009-04-22 | 2013-10-15 | Netapp Inc. | Data recovery for failed memory device of memory device array |
US8417987B1 (en) | 2009-12-01 | 2013-04-09 | Netapp, Inc. | Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system |
US8386834B1 (en) * | 2010-04-30 | 2013-02-26 | Network Appliance, Inc. | Raid storage configuration for cached data storage |
US8386841B1 (en) * | 2010-07-21 | 2013-02-26 | Symantec Corporation | Systems and methods for improving redundant storage fault tolerance |
US8694866B2 (en) * | 2011-03-15 | 2014-04-08 | California Institute Of Technology | MDS array codes with optimal building |
CN103389920B (zh) * | 2012-05-09 | 2016-06-15 | 深圳市腾讯计算机系统有限公司 | 一种磁盘坏块的自检测方法和装置 |
US9563509B2 (en) | 2014-07-15 | 2017-02-07 | Nimble Storage, Inc. | Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system |
WO2016053189A1 (en) * | 2014-10-03 | 2016-04-07 | Agency For Science, Technology And Research | Method for optimizing reconstruction of data for a hybrid object storage device |
US20170337103A1 (en) * | 2016-05-19 | 2017-11-23 | Intel Corporation | Method and apparatus to provide data redundancy in a solid-state drive |
KR102573301B1 (ko) * | 2016-07-15 | 2023-08-31 | 삼성전자 주식회사 | Raid 리커버리를 수행하는 메모리 시스템 및 그 동작방법 |
KR20180012009A (ko) * | 2016-07-26 | 2018-02-05 | 에스케이하이닉스 주식회사 | 데이터 맵핑을 수행하는 반도체 장치 및 시스템 |
US10133630B2 (en) * | 2016-09-06 | 2018-11-20 | International Business Machines Corporation | Disposable subset parities for use in a distributed RAID |
US10152378B2 (en) * | 2016-10-04 | 2018-12-11 | Futurewei Technologies, Inc. | Data protection for a cold storage system |
US10585767B2 (en) | 2018-02-07 | 2020-03-10 | International Business Machines Corporation | Automatic data healing using a storage controller |
US10579285B2 (en) * | 2018-02-07 | 2020-03-03 | International Business Machines Corporation | Automatic data healing by I/O |
CN109412600A (zh) * | 2018-09-03 | 2019-03-01 | 何祥果 | 一种基于磁性特征的标识号编码方法 |
CN111124264B (zh) * | 2018-10-31 | 2023-10-27 | 伊姆西Ip控股有限责任公司 | 用于重建数据的方法、设备和计算机程序产品 |
US11966608B2 (en) * | 2021-11-15 | 2024-04-23 | Samsung Electronics Co., Ltd. | Memory controller with improved data reliability and memory system including the same |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3893178A (en) * | 1973-12-19 | 1975-07-01 | Information Storage Systems | Synchronization of multiple disc drives |
US4092732A (en) * | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
US4467421A (en) * | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
JPS583113A (ja) * | 1981-06-30 | 1983-01-08 | Fujitsu Ltd | デイスク制御方式 |
US4562576A (en) * | 1982-08-14 | 1985-12-31 | International Computers Limited | Data storage apparatus |
FR2561428B1 (fr) * | 1984-03-16 | 1986-09-12 | Bull Sa | Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques |
US4667326A (en) * | 1984-12-20 | 1987-05-19 | Advanced Micro Devices, Inc. | Method and apparatus for error detection and correction in systems comprising floppy and/or hard disk drives |
US4754397A (en) * | 1985-02-15 | 1988-06-28 | Tandem Computers Incorporated | Fault tolerant modular subsystems for computers |
JPS61264599A (ja) * | 1985-05-16 | 1986-11-22 | Fujitsu Ltd | 半導体記憶装置 |
US4722085A (en) * | 1986-02-03 | 1988-01-26 | Unisys Corp. | High capacity disk storage system having unusually high fault tolerance level and bandpass |
US4761785B1 (en) * | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
US4775978A (en) * | 1987-01-12 | 1988-10-04 | Magnetic Peripherals Inc. | Data error correction system |
US4942579A (en) * | 1987-06-02 | 1990-07-17 | Cab-Tek, Inc. | High-speed, high-capacity, fault-tolerant error-correcting storage system |
US4870643A (en) * | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
US4899342A (en) * | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
US4993030A (en) * | 1988-04-22 | 1991-02-12 | Amdahl Corporation | File system for a plurality of storage classes |
US4989206A (en) * | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US4914656A (en) * | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
JPH0290254A (ja) * | 1988-09-27 | 1990-03-29 | Nec Corp | データ入出力システム |
US5148432A (en) * | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
US5101492A (en) * | 1989-11-03 | 1992-03-31 | Compaq Computer Corporation | Data redundancy and recovery protection |
US5072378A (en) * | 1989-12-18 | 1991-12-10 | Storage Technology Corporation | Direct access storage device with independently stored parity |
US5134619A (en) * | 1990-04-06 | 1992-07-28 | Sf2 Corporation | Failure-tolerant mass storage system |
US5088081A (en) * | 1990-03-28 | 1992-02-11 | Prime Computer, Inc. | Method and apparatus for improved disk access |
US5130992A (en) * | 1990-04-16 | 1992-07-14 | International Business Machines Corporaiton | File-based redundant parity protection in a parallel computing system |
-
1991
- 1991-03-18 JP JP3077305A patent/JPH0731582B2/ja not_active Expired - Lifetime
- 1991-05-22 DE DE69131562T patent/DE69131562T2/de not_active Expired - Lifetime
- 1991-05-22 EP EP91480082A patent/EP0462917B1/en not_active Expired - Lifetime
- 1991-06-13 CA CA002044521A patent/CA2044521C/en not_active Expired - Lifetime
- 1991-06-14 KR KR1019910009793A patent/KR960001748B1/ko not_active IP Right Cessation
- 1991-06-15 CN CN91103973A patent/CN1038710C/zh not_active Expired - Lifetime
-
1992
- 1992-11-12 US US08/122,739 patent/US5596709A/en not_active Expired - Lifetime
-
1997
- 1997-08-21 CN CN97116199A patent/CN1109973C/zh not_active Expired - Lifetime
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807262B (zh) * | 1997-02-28 | 2014-10-29 | 索尼公司 | 数据处理装置和方法 |
CN100433195C (zh) * | 2003-12-31 | 2008-11-12 | 深圳市朗科科技股份有限公司 | 闪存介质数据写入方法 |
CN101196711B (zh) * | 2006-12-04 | 2010-10-27 | 佳能株式会社 | 成像装置及其控制方法 |
WO2008148319A1 (fr) * | 2007-06-07 | 2008-12-11 | Huawei Technologies Co., Ltd. | Procédé de récupération d'image, équipement de stockage et système réseau |
CN100454265C (zh) * | 2007-06-07 | 2009-01-21 | 华为技术有限公司 | 镜像恢复方法、存储设备及网络系统 |
CN102541466A (zh) * | 2011-10-27 | 2012-07-04 | 忆正存储技术(武汉)有限公司 | 一种混合存储控制系统和方法 |
CN103971750A (zh) * | 2013-01-29 | 2014-08-06 | 中国航空工业集团公司西安飞机设计研究所 | 一种ram的9相邻单元敏感故障检测方法 |
CN103971750B (zh) * | 2013-01-29 | 2017-02-08 | 中国航空工业集团公司西安飞机设计研究所 | 一种ram的9相邻单元敏感故障检测方法 |
CN108073364A (zh) * | 2018-01-12 | 2018-05-25 | 江苏华存电子科技有限公司 | 一种数据数组保护和修复闪存内数据方法 |
CN110231914A (zh) * | 2018-03-05 | 2019-09-13 | 三星电子株式会社 | 数据存储装置及其操作方法 |
CN110231914B (zh) * | 2018-03-05 | 2024-04-09 | 三星电子株式会社 | 数据存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0462917A2 (en) | 1991-12-27 |
JPH0731582B2 (ja) | 1995-04-10 |
KR920005782A (ko) | 1992-04-03 |
KR960001748B1 (ko) | 1996-02-05 |
EP0462917B1 (en) | 1999-09-01 |
CA2044521C (en) | 1998-03-31 |
CN1182913A (zh) | 1998-05-27 |
DE69131562D1 (de) | 1999-10-07 |
DE69131562T2 (de) | 2000-04-27 |
US5596709A (en) | 1997-01-21 |
CN1109973C (zh) | 2003-05-28 |
CN1038710C (zh) | 1998-06-10 |
JPH04233025A (ja) | 1992-08-21 |
CA2044521A1 (en) | 1991-12-22 |
EP0462917A3 (en) | 1992-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1038710C (zh) | 恢复受奇偶校验保护数据的方法和装置 | |
US5490248A (en) | Disk array system having special parity groups for data blocks with high update activity | |
US5488701A (en) | In log sparing for log structured arrays | |
US6397309B2 (en) | System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility | |
US5778394A (en) | Space reclamation system and method for use in connection with tape logging system | |
EP0518603B1 (en) | Distributed sparing in DASD arrays | |
US6766491B2 (en) | Parity mirroring between controllers in an active-active controller pair | |
US6502108B1 (en) | Cache-failure-tolerant data storage system storing data objects with version code equipped metadata tokens | |
US5410667A (en) | Data record copy system for a disk drive array data storage subsystem | |
US5909700A (en) | Back-up data storage facility incorporating filtering to select data items to be backed up | |
US6003114A (en) | Caching system and method providing aggressive prefetch | |
US5737510A (en) | Disc array system having disc storage devices dispersed on plural boards and accessible at withdrawal of part of the boards | |
EP0681238A1 (en) | Raid level 5 with free blocks parity cache | |
EP0521924B1 (en) | Methods and apparatus for assigning signatures to members of a set of mass storage devices | |
JP3204143B2 (ja) | ディスクキャッシュの制御方法 | |
US6058462A (en) | Method and apparatus for enabling transfer of compressed data record tracks with CRC checking | |
GB2305748A (en) | Logging updated disk sectors | |
US20040133741A1 (en) | Disk array apparatus and data writing method used in the disk array apparatus | |
JP3213799B2 (ja) | 記憶制御装置 | |
JP3119978B2 (ja) | ファイル記憶装置及びそのファイル管理方法 | |
JP2002373059A (ja) | ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置 | |
JPH08115257A (ja) | 磁気ディスク制御装置 | |
JPH0934654A (ja) | ディスクアレイサブシステム | |
JP2694796B2 (ja) | 情報処理装置およびその仮想記憶オペレーティングシステム | |
JPH05108277A (ja) | デイスクアレイサブシステムのデータ復旧手段 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C15 | Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993) | ||
OR01 | Other related matters | ||
C17 | Cessation of patent right | ||
CX01 | Expiry of patent term |
Expiration termination date: 20110615 Granted publication date: 19980610 |