CN1679000A - 在raid数据重建和转移中使用文件***信息 - Google Patents

在raid数据重建和转移中使用文件***信息 Download PDF

Info

Publication number
CN1679000A
CN1679000A CN03820109.7A CN03820109A CN1679000A CN 1679000 A CN1679000 A CN 1679000A CN 03820109 A CN03820109 A CN 03820109A CN 1679000 A CN1679000 A CN 1679000A
Authority
CN
China
Prior art keywords
data
data block
group
disk
information
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
Application number
CN03820109.7A
Other languages
English (en)
Other versions
CN100378672C (zh
Inventor
S·R·克莱曼
S·H·斯特朗格
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.)
NetApp Inc
Original Assignee
Network Appliance 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 Network Appliance Inc filed Critical Network Appliance Inc
Publication of CN1679000A publication Critical patent/CN1679000A/zh
Application granted granted Critical
Publication of CN100378672C publication Critical patent/CN100378672C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

当磁盘故障(210)时,存储***只转移包括已分配数据的那些磁盘块,并在可能的情况下把未分配的磁盘块视为逻辑上为零。当没有备用磁盘时,源磁盘块被逻辑上置零并且重新计算与源磁盘块相关联的RAID条带的奇偶性(223)。当存在备用时,备用上的未分配块在转移时逻辑上或物理上被置零(222)。故障磁盘的写入操作被重定向到其它未故障磁盘,并且该使用中的磁盘块的记录已经从而被“转移”到那些其它的未故障磁盘被保存。未使用磁盘块被提前主动置零。使用关于已分配磁盘块的信息,并通过拷贝那些包括已分配数据或奇偶性的数据块,以及通过在镜像清除那些不包括任何已分配块的数据块,目标镜像拷贝被创建。

Description

在RAID数据重建和转移中使用文件***信息
                        发明背景
1.发明领域
本发明涉及在RAID数据重建和转移(migration)中使用文件***信息。
2.相关技术
在计算机***中保存大量存储的一个已知方法被称作RAID(“廉价磁盘冗余陈列”)。RAID存储器包括一个磁盘群,其中至少部分被用来储存数据和至少部分被用来存储与那些数据相关的奇偶信息,其中数据和奇偶性被分配到多个磁盘。如果那个储存数据或奇偶性的磁盘块故障或整个磁盘都出现故障,则允许RAID存储***(从剩余的存储数据和奇偶信息)重建原始数据。在被称作RAID条带的一组磁盘块中,数据和奇偶性是彼此相关的。
RAID存储器的一个已知问题是,如果驱动器出现故障,则RAID存储***不再具有相同的冗余度,而如果希望保存相同的冗余度,则必须对其做出调整。即,希望RAID存储***允许迟些的第二磁盘故障而不造成数据丢失,但是重建RAID条带中两个分离的故障磁盘的数据是不可能的。为了保存相同的冗余度,RAID存储***具有从故障磁盘重建数据到其上的备用磁盘,或(如果存在足够的可用空间),则从故障磁盘把数据转移到其它磁盘。在后一种情况中,与每个RAID条带相关的奇偶性必须响应于所分配数据的转移而被调整。然而,数据重建和奇偶性重算包括实质性的磁盘驱动器读写操作,并且最小化磁盘访问量和在磁盘和其余的计算机***之间来回传送的信息量将是有利的。
因此,有利的是提供一个存储***(其可能是RAID存储***或另一类型的存储***),其保存数据的可靠性、允许逻辑上删除故障磁盘、和最小化计算量、执行数据转移或重建的磁盘存取量,或奇偶性调整量。这些和其它优点在本发明实施例中被提供,其中,文件***保存的信息(包括磁盘块实际上用于记录所存储的数据的相关信息)被用于和转移,以及奇偶性的重算。本发明最小化计算和磁盘存取的优点也可以用于存储***的一般操作,以及用于把存储卷从源存储***镜像到目标存储***。
发明内容
本发明提供一种方法和***,它保持数据可靠性、允许逻辑删除故障磁盘、和最小化执行数据转移或重建或奇偶性重算所需的计算量和磁盘存取量。在优选实施例中,当执行数据重建和转移,以及奇偶性重算时,存储***使用实质上只和所分配的磁盘块有关的信息,并忽略未分配的磁盘块,未分配的磁盘块已经被设置为一个预定值,例如零。当磁盘故障时,存储***只转移故障磁盘上已分配数据的那些磁盘块,而在可能的情况下把未分配的磁盘块视为逻辑上为零。
在本发明的一方面中,文件***保存的信息识别在故障磁盘上实际被分配的磁盘块。当有备用磁盘或没有备用磁盘时,RAID群中的磁盘都可能出现故障。当磁盘块将从故障磁盘被转移而没有备用磁盘时,那些磁盘块从故障磁盘被转移到RAID群中的其它未故障磁盘,因而减少了RAID群中的磁盘数量。当那些磁盘块被转移时(即,数据被重建和拷贝到目标磁盘块上),源磁盘块逻辑上被设置为零并且为与源磁盘块相关的RAID条带重新计算奇偶性。一旦所有已分配磁盘块都已经从故障磁盘被转移,故障磁盘就可以逻辑上从RAID群中除去。当磁盘块将从故障磁盘被转移到备用磁盘时,那些磁盘块用类似方法被转移,不同在于,当转移的时候,备用磁盘上未分配的存储块逻辑上或物理上被设置成选定值(零)。
在本发明的一方面中,通过重定向写入操作(预定用于故障磁盘上的磁盘块)到其它未故障磁盘,文件***主动地协助RAID存储***。文件***还保持一个记录,即哪些使用中的磁盘块已经被这样“转移”到那些其它的未故障磁盘,因而提供了一个指示符,其指示最初保存在故障磁盘上的存储数据已经完全被转移。当写入磁盘时,文件***提前主动把未使用磁盘块设置为选定值(零),从而在写入以及迟些写入的时候最小化奇偶性的重算量。在优选实施例中,至少在下列情况中,文件***把未使用磁盘块设置为零:(1)当新磁盘被添加到RAID群时,(2)当包括未使用磁盘块的RAID条带被写入时。在优选实施例中,文件***保存“一致性点”,其中已存储的数据被确保自相一致,并在将一致性点写入磁盘时把未使用磁盘块设置为零。
在本发明的一方面中,RAID存储***可能使用一种技术(比如RAID级别5),其中,奇偶性存储块可能在不同的磁盘上被找到。当那些磁盘之一故障时,文件***识别与故障磁盘上奇偶信息相关的RAID条带,并把整组磁盘块从那些条带转移到其它磁盘,以便把那些全部条带的奇偶信息保存在未故障磁盘上。
在本发明的一方面中,存储***使用已分配磁盘块的相关信息来改进RAID存储***执行的操作。当写入任何一个RAID条带时,存储***响应于磁盘块被分配而确定通过减去还是重新计算来计算奇偶性更加有效。
在本发明的一方面中,通过拷贝(到镜像拷贝)那些包括已分配数据和奇偶性的那些存储块,和通过清除(在镜像拷贝)那些不包括任何已分配数据或奇偶性的存储块,存储卷的目标镜像拷贝可以使用与已分配磁盘块相关的文件***信息而被创建。因此,目标存储卷可以响应于源存储卷而被构造,而不需要任何奇偶性重算。
本发明通常适用于文件***和存储***,其中,数据被保存在多个装置上,和其中,那些多个装置上的至少一部分记录信息可以被丢弃(例如不是文件***的一部分或可以被逐出高速缓存的高速缓存对象)。这些应用没有被具体限制到保存一致性点的文件***,也没有被具体限制到RAID存储***,它们也不局限于与在此公开的具体应用相关的***。
附图简述
图1示出文件***和RAID存储***的框图,包括在RAID数据重建中使用文件***信息。
图2示出包括在RAID数据重建中使用文件***信息的方法的处理流程图。
图3示出一个***框图,该***不重新计算奇偶性就能够镜像。
图4示出不用重新计算奇偶性的镜象方法的处理流程图。
优选实施例具体描述
在此处的说明书中,本发明的优选实施例被描述,包括优选的处理步骤和数据结构。所属领域技术人员在细读此申请之后将会了解,本发明的那些实施例可以使用没有具体描述的多种其它技术来实现,而不用过度的试验或进一步发明,而且这类其它技术将在本发明的范围和精神内。
词汇
下列术语涉及或者是指本发明的方面或其实施例。其中每个术语的一般意义被定为说明性的而绝不是限制性的。
一致性点-通常,这指的是由自相一致的文件***保存的可识别数据集,因此它可以被保存在磁盘上而不用担心一致性点内的数据引用会导致文件***错误。词组“一致性点”被定为足够宽以覆盖有其自相一致性的文件***以及那些原子地自相一致的文件***,该自相一致性由用于近期改变的一组日志项来保证。
磁盘块-通常,这指的是存储数据的大容量存储***中可分配的部分。词组“磁盘块”被定为足够宽以覆盖磁盘上量化或未量化的可分配空间。
文件***-通常,这指的是直接在存储***上管理磁盘块的任何应用程序,包括保存命名方案和在大容量存储器上保存的文件数据之间的关联的***。词组“文件***”被定为足够宽以覆盖文件***的变形,包括那些直接对磁盘读写的***和那些允许不同的子***或操作***其它部分来读写磁盘的***。
存储***-通常是用于储存数据的***,例如在RAID阵列中排列的一组一个或多个磁盘。存储***可以被分成一个或多个卷,每个卷起一个存储***的作用。术语“存储***”和“卷”或“存储卷”可以被可交换地使用。
磁盘块的转移-通常,这指的是用于从已被丢失的磁盘块把数据拷贝或重建数据到大容量存储***不同部分上的任何技术,比如没有故障因而可用的磁盘。
奇偶性重算-通常,这指的是用于在丢失之后响应于已存储的数据重建奇偶信息或其它冗余信息的任何技术,无论是否与其它冗余信息结合。
RAID群-通常,这指的是RAID存储***内包括的和RAID存储***用来保存数据冗余性的磁盘组。一部分***可能包括RAID存储***,RAID存储***把它们的磁盘分成多于一个的RAID群。
RAID存储***-通常,这指的是用于在大容量存储***上保存数据的任何技术,它包括一组冗余信息(比如可能的奇偶信息、汉明码、或类似实际数据拷贝的其它冗余形式),并响应于丢失提供重建数据的可能性。
RAID条带-通常,这指的是磁盘块和冗余信息之间的任何关联,其中,磁盘块和冗余信息是相互依赖的因此至少一部分可以在丢失之后被重建。
重建-通常,这指的是用于在丢失之后响应于冗余信息来重建数据的任何技术,无论是否与其它已存储的数据结合。
零值映射(zeromap)-通常,这指的是具有一组指示磁盘块逻辑上或物理上已经被设置为零的项目的表。
条带映射(stripmap)-通常,这指的是具有一组指示哪些RAID条带已经从故障磁盘被转移的项目的表。
本发明的范围和精神不受限于任何这些定义,不受限于其中提及的具体例子,而是打算包括这些和其它术语具体化的最广泛的概念。
***元件
图1示出文件***和RAID存储***的框图,包括在RAID数据重建中使用文件***信息。
***100包括文件***120、存储***140和上面两者之间的通信链路160。***还包括用于运行文件***120的处理器(未示出)、程序和数据存储器(未示出)。
文件***120包括一组文件***信息表121,其指示关于存储***140中磁盘块(不管其是个别的还是成群的)的信息。文件***信息表121可以被记录在存储器中,或者可以被记录在存储***140被选择的部分中,或者其它方式(比如在非易失性存储器或其它辅助存储器装置中),只要即使存储***140丢失了数据,那些文件***信息表121仍然是文件***120可访问的。文件***信息表121中的特定信息进一步被说明如下。
存储***140包括一组磁盘141,其中每个包括一组磁盘块142,磁盘块142包括数据(存储在至少一些磁盘块142内),在RAID条带组中排列的磁盘块142包括至少一些冗余信息(存储在至少一些磁盘块142内)。RAID条带143被处理,从而使得在任何个别磁盘141上的任何个别磁盘块142上的信息与在其它磁盘141上的其它磁盘块142上的信息相关。如果任何磁盘块142乃至整个磁盘141丢失,这允许任何个别磁盘块142上的信息被重建或者重新计算。RAID存储***在大容量存储***的技术领域中是已知的。
通信链路160连接文件***120和存储***140,并包括文件***120和存储***140可用来交换磁盘块142的信息和***100操作信息的任何技术。在优选实施例中,通信链路160包括连接到文件***120和存储***140的总线。
文件***信息表121包括块映射(blockmap)表122,块映射表122具有一组块映射项目123,其指示哪个磁盘块142被已分配的文件***数据所使用。从而,块映射表122为每个磁盘141上的每个磁盘块142指示该磁盘块142是被文件***120使用(例如由逻辑“1”值指示)还是不由文件***120使用(例如由逻辑“0”值指示)。说明书中所用的“已分配的文件***数据”不同于可能由文件***120保存的任何临时数据结构,临时数据结构可能包括磁盘上分量。已分配的文件***数据也不同于可能由文件***120保存的文件***数据的备份拷贝,比如在关于优选“WAFL”文件***120的公开说明中描述的“瞬态(snapshot)”数据。
文件***信息表121包括零值映射表124,其具有一组零值映射项目125,它指示哪个磁盘块142已经逻辑上或物理上被置零。
文件***信息表121包括条带映射表126,其具有一组条带映射项目127,它指示哪个RAID条带143已经从故障磁盘被转移。在本发明的一方面中,其中,当那些RAID条带143包括故障磁盘上的奇偶信息时,RAID条带143被转移,每个条带映射项目127指示来自整个RAID条带143的磁盘块142是否已经被转移(因为奇偶信息本身不被转移)。
已分配数据的转移
如果磁盘块142中的数据被丢失(例如磁盘块142被损坏),或磁盘141上的所有数据都丢失(例如磁盘故障),存储***140能够重建丢失数据。然而,对于任何丢失数据并在块映射表122中被指示没有任何已分配数据的磁盘块142来说,不必为该磁盘块142重建数据。从而,对于个别的磁盘块142,如果丢失但没有使用,则存储***140无须重建任何数据。对于整个磁盘141,如果丢失,则存储***140只须重建当时正在被使用的磁盘块142的数据。
如果没有备用磁盘,则文件***120指示存储***140重建已分配磁盘块142的数据(即被块映射表122指示为已分配的磁盘块142),并把重建数据拷贝到存储***140中相同RAID群中的其它未故障磁盘141上的磁盘块142上。在替换实施例中,被重建的数据可以被拷贝到存储***140中不同RAID群中的其它未故障磁盘上。故障磁盘141的磁盘块142然后不再被写入,因此文件***120将它们视为可用VBN(虚拟块号)空间中的“洞”。例如,如果故障磁盘是磁盘#1、#2、#3、#4和#5(奇偶性)中的磁盘#3,则磁盘#1、#2、#3、#4的VBN将仍然有效,而磁盘#3的VBN则无效。当所有来自故障磁盘141的数据都已经被除去时,故障磁盘141逻辑上或物理上从RAID群被除去,从而把RAID群中的磁盘141的数量减1。
所属领域技术人员将在细读本申请之后认识到,使用块映射表122来减少数据重建量允许存储***140最小化工作量,同时又保存了相同的故障容许程度。所属领域技术人员在细读本申请之后也将认识到,本技术可以不用过度试验或新发明而被应用到已经容许多个故障的RAID***和类似RAID的***,比如科贝特(Corbett)或“偶奇的(EVENODD)”那些***。更一般地说,所属领域技术人员在细读本申请之后也将认识到,本技术可以不用过度试验或新发明而被应用到没有其中必须放置数据或元数据的空间的所有存储***。
当故障磁盘141上的磁盘块142的数据被转移时,存储***140逻辑上清除了(置零)该磁盘块142的数据。文件***120设置对应RAID条带143的零值映射项目125。存储***140重新计算对应RAID条带143的奇偶性,并把重新计算的奇偶性写入对应RAID条带143中的奇偶性磁盘141。
如果存在备用磁盘,则文件***120用同样的方式指示存储***140转移来自已分配磁盘块142的数据。对于未分配的磁盘块142,存储***140写入另一未故障磁盘141上的对应磁盘块142,而不尝试重建来自于未分配的磁盘块142的数据。相反地,存储***140物理上清除(置零)作为未分配磁盘块142转移目标的磁盘块142。在优选实施例中,文件***120指示存储***140使用SCSI“写入相同的(write same)”命令来指导具有作为转移目标的磁盘块142的磁盘141;这节省了磁盘141的活动和文件***120与存储***140之间的带宽。
条带映射表126包括每个RAID条带143的一个条带映射项目127,为RAID条带143指示RAID条带143中的磁盘块142(来自故障磁盘141)是否已经被转移到另一未故障磁盘141。当它的对应条带映射项目127指示特定磁盘块142已经从故障磁盘141转移到另一未故障磁盘141时,存储***140能够在未来的奇偶性重算期间考虑除去该特定的磁盘块142。更确切地说,在写入特定条带适,存储***140通过假定指示的所有磁盘块142一律为零来重新计算奇偶性。当条带映射表126指示所有来自故障磁盘141的磁盘块142已经被转移到其它未故障磁盘141时,文件***120和存储***140可以逻辑上全面删除故障磁盘141。
访问请求的重定向
文件***120在重定向请求中帮助存储***140访问故障磁盘141上的磁盘块142。在优选实施例中,文件***120包括写入时拷贝(copy-on-write)技术,其中,所有对磁盘块142的写入操作(在任何磁盘141上,不包括刚才的故障磁盘141)都通过从作为写操作目标的磁盘块142拷贝数据、修改该拷贝和把到目标磁盘块142的指针调整为指向新修改过的拷贝。在优选实施例中,当产生存储卷的一致性点时,这些修改被集合到一起;然而,对于这类集合没有特殊的要求。
如果磁盘141故障或磁盘块142被损坏,则文件***120标记它的文件***信息表(包括具有脏块项目的脏块表)以指示每个被丢失的磁盘块142被标记为脏。第一结果是任何对脏磁盘块142的写入尝试将导致写入时拷贝操作将被执行。第二结果是文件***120将不迟于下一个一致性点,作为向磁盘写入一致性点的一部分而产生磁盘块142的拷贝。
因为用户对丢失磁盘块142的请求被重定向,并且因为文件***120将不迟于下一个一致性点产生磁盘块142拷贝,所以存储***140可以等候来自于文件***120的指令而不需要通过积极地重建丢失的磁盘块142来响应。
磁盘块的提前主动置零
在某些情况下,文件***120提前主动指示存储***140把整个磁盘块142置零,从而允许容易地重算(或不重算)与包含磁盘块142的条带相关的奇偶信息。在优选实施例中,文件***120指示存储***140使用SCSI“写入相同的”命令,如上所述。
文件***120在至少下列情况中把整个磁盘块设置为零:
·当新的磁盘141被添加到RAID群中时,每个RAID条带143从而被加宽了一个磁盘块142,并且每个这类条带的奇偶性从而响应于新的磁盘块142中的数据。文件***提前主动指示存储***140把新的磁盘141中的所有磁盘块142设置为零,而不是重新计算任何奇偶信息,从而使奇偶信息保持不变。
奇偶性优选地作为RAID条带143中磁盘块142的所有数据的模2和来计算,模2和也被称作异或运算(“XOR”)。因此,***全是零的新磁盘块142没有改变RAID条带143中的奇偶性。
·当包括未分配的磁盘块142(即,没有被文件***120标记为“使用中”的磁盘块142)的RAID条带被写入时,文件***120提前主动指示存储***140把那些磁盘块中的数据设置为零。根据实现,这允许文件***120或存储***140,或者***100的诸如fly-by XOR(快速XOR)子***之类的其它组件重新计算那些条带的奇偶信息,而不用读取未使用的磁盘块142。无须读取未使用磁盘块142减少了存储***140执行的读取操作量,并减少了文件***120和存储***140之间所用的通信带宽量。
·当文件***120准备向磁盘写入一致性点时,它通常写入磁盘141上的相对大量的磁盘块142。文件***120尝试把那些磁盘块142集合到整个RAID条带143中,因此写入操作可以尽可能的有效,并且因此奇偶性计算可以被最小化(被看作已分配数据的每个磁盘块142的开销操作)。当写入RAID条带143时,文件***120指示存储***140清除RAID条带中不是一致性点一部分的那些磁盘块142(并且因此将被文件***120标记为未分配的)。这允许奇偶性计算无须读取那些磁盘块142就开始进行。
奇偶性的有效计算
在本发明的一方面中,RAID存储***执行的操作响应于目标RAID条带143中磁盘块142的零值映射表125。响应于那些零值映射表125,文件***120可以对目标RAID条带143中的非零磁盘块的数量进行计数;这允许文件***120或存储***140在写入任何个别RAID条带143时确定,通过减法来计算奇偶性或通过重算来计算奇偶性是否更有效。
存储***140可以通过减法来计算奇偶性,即当向磁盘141写入磁盘块142时,存储***140可以从相关联的奇偶性(用于那些RAID条带143)减去磁盘块142中的旧数据并把将写入磁盘块142的新数据加到相关联的奇偶性上。该减法和加法都是逐位模二进行。通过减法来计算奇偶性在RAID存储***的技术领域中是已知的。可替换地,存储***140可以通过加上(模二)那些RAID条带143的所有磁盘块142来重新计算奇偶信息。
当向磁盘141写入一组磁盘块142时,文件***120确定通过减法计算奇偶性是否将需要更少的磁盘操作,或从整个RAID条带143重新计算奇偶性是否将需要更少的磁盘操作。文件***120可以从零值映射表124来确定这个;它可以确定RAID条带中是否有足够磁盘块是零,并且可以因此彻底地省去奇偶信息的计算。则RAID***也可以简单地把条带143中的未分配块置零,如果它们没有被预先置零(由零值映射表指示)。这对于非WAFL文件***来说是特别有用的,其中,更可能在条带中存在未分配块。
奇偶性丢失时的转移
在RAID级别4***中,奇偶性被保存在存储***140中的单个磁盘141上;即,所有的RAID条带都在相同的磁盘141上具有它们的奇偶性,其可能因此被称为“奇偶性磁盘”。在RAID级别5***中,奇偶性分布在存储***140中的多个磁盘141上;即,每个RAID条带可能在不同的磁盘141上具有其奇偶性,因此没有单个的“奇偶性磁盘”。
如果RAID级别5***中的一个磁盘141故障,则那些将故障磁盘141用于其奇偶性的RAID条带不再具有奇偶性块,并且如果它们剩下的磁盘块142中的一个或多个丢失数据,则因此受到丢失信息的影响。文件***120将那些RAID条带的磁盘块142标记为“脏”,因此下次一致性点被写入磁盘时,那些磁盘块142被写入具有有效奇偶性块的RAID条带143中的相同或其它磁盘上的不同单元。结果,RAID条带143中奇偶性丢失的磁盘块142被写入具有可用奇偶性块的其它RAID条带143中的磁盘块142(不一定都写入相同的RAID条带143)。
操作方法
图2示出包括在RAID数据重建中使用文件***信息的方法的处理流程图。
方法200由***100执行。尽管方法200被连续地描述,然而方法200的流程点和步骤可以用流水线或其它方法由串联或并联分离元件来执行,不管异步或同步。除非其中明确地指示,否则没有方法20必须以与说明书列出的流程点或步骤相同的顺序来执行的特定要求。
已分配数据的转移
在流程点210,***100已经检测到故障磁盘141。
在步骤211,文件***120标记条带映射表126以指示还没有来自任何RAID条带143的磁盘块142已经从故障磁盘141被转移。文件***120还标记脏块表以指示故障磁盘141上的所有磁盘块142都将被当做脏块。在方法200中,第一RAID条带143指的是故障磁盘141上的RAID条带。第二RAID条带143指的是备用或其它未故障磁盘上的RAID条带。
在步骤212,文件***120接收访问故障磁盘141上的磁盘块142之一的用户请求。因为用户请求只适用于包括文件数据或者元数据的已分配数据,所以方法200在流程点220开始从磁盘块142重建数据。
在流程点220,方法200准备从故障磁盘141上的磁盘块142重建数据。
在步骤221,存储***140确定是否存在备用磁盘141。如果有,则方法200进行到步骤222。否则,方法200进行到步骤223。
在步骤222(存在备用磁盘141),存储***140把与磁盘块142相关的第一RAID条带143转移到备用磁盘141,并且方法200进行到流程点230。为了执行这个步骤,存储***140执行下列的子步骤:
·在子步骤222a,存储***140从磁盘块142重建数据。存储***140从第一RAID条带143使用另一个磁盘块142和奇偶性块。然而,存储***140可以忽略第一RAID条带中的那些磁盘块142,对于该第一RAID条带,相关联的零值映射项目125指示磁盘块142一律地是零。
·在子步骤222b,存储***140从RAID条带143把数据拷贝到备用磁盘141上的第二目标RAID条带143。然而,存储***140不拷贝未分配的那些磁盘块142,而是使用它们相关联的块映射项目123来确定拷贝哪一些。通过使用SCSI“写入相同的”命令,存储***140提前主动清除第二目标RAID条带143中的那些未分配的块映射项目123的磁盘块142。存储***140响应于它对那些磁盘块142的抢先的清除来重新计算奇偶性。
·在子步骤222c,文件***120标记对应的条带映射项目127以指示第一RAID条带143被完全转移到备用磁盘141。
在步骤223(没有备用磁盘141),存储***140把磁盘块142中的数据从故障磁盘141转移到另一个未故障磁盘141,并且方法200进行到流程点230。为了执行这个步骤,存储***140执行下列的子步骤:
·在子步骤223a,存储***140从磁盘块142重建数据。存储***140使用来自其它磁盘块142和第一RAID条带143的数据和奇偶性块。然而,存储***140可以忽略第一RAID条带143中的那些磁盘块142,对于该第一RAID条带143,相关联的零值映射项目125指示磁盘块142一律地是零。
·在子步骤223b,存储***140把数据拷贝到新分配的磁盘块142中。存储***140重新计算原始第一RAID条带143的奇偶性,假定故障磁盘块142现在逻辑上是零。
·在子步骤223c,文件***120标记与磁盘块142相关的第一RAID条带143的对应条带映射项目127,从而指示来自磁盘块142的数据被转移到未故障磁盘141。文件***120标记故障磁盘块142的对应零值映射项目125以指示磁盘块142现在逻辑上是零。
在流程点230,故障磁盘块142或整个第一RAID条带143的转移已经完成。***100重复转移直到所有已分配的磁盘块142都已经从故障141被转移到备用磁盘141或其它未故障磁盘141。
无须重新计算奇偶性的镜像
图3示出一个***框图,该***不重新计算奇偶性就能够镜像。
如上所述,当重新建立(或最初建立)储存卷的镜像拷贝(“卷”有时在此可用作“***”的同义词)时,通过当包括那些未分配块的条带被写入时保证目标存储卷上的未分配块被设置为零,目标存储卷(也称作镜像存储卷)可以使用来自源存储卷的计算出的奇偶性。
无须再计算奇偶性就能够镜像的***300包括含有源存储***305的源***301、类似于参考图1描述的***100和存储***140,并且目标(或镜像)***310包括目标存储***320,也类似于参考图1描述的***100和存储***140。源存储***305包括一组含有磁盘块331的源RAID条带330;目标存储***320类似地包括一组含有磁盘块341的目标RAID条带。目标RAID条带340类似于源RAID条带330,优选地,在逻辑上和源RAID条带330一致。
源***301和目标***310使用通信链路350连接。在优选实施例中,通信链路350包括光纤信道或SAN(存储区域网)。在其它实施例中,通信链路350可以包括LAN(局域网)、WAN(广域网)、或其组合,例如互联网连接。所属领域技术人员将认识到,通信链路350可能包括用于把数据从源***301发送到目标***310的任何技术,并且决不局限于在此描述的具体实施例。
源RAID条带330包括一组已分配块334、至少一个未分配块332和一组奇偶性块333。
当重新建立(或最初建立)源存储***305和目标存储***320之间的镜像关系时,源***301从源RAID条带330选择一组已分配块334以发送到目标***310。在优选实施例中,这些已分配块334在源***301从文件***信息导出,并且只包括那些由源***301处的文件***指示为已分配的磁盘块。
源***301把已选择的已分配块334连同与RAID条带330相关的奇偶性块333一起发送到目标***310。此外,源***301置零任何没有被预置零的未分配块332。目标***310从这些已分配块334接收数据并将它们存储在其目标RAID条带340中的已分配块344的对应单元内。类似地,目标***310接收相关联的奇偶性块333并把它们存储在其目标RAID条带340中的奇偶性块343的对应单元内。
因为目标***310具有逻辑上和源RAID条带330一致的目标RAID条带340,所以目标***310可以确定它自己所有的未分配块342在源存储***305中是未分配的。目标存储***320因此可以使用SCSI“写入相同的”命令把所有那些未分配块342设置为零。
结果,在磁盘块被发送、接收和存储之后,目标存储***320和源存储***305基本一致;从而,源存储***305和目标存储***320之间的镜像关系被重新建立。
镜像方法
图4示出无须重新计算奇偶性的镜象方法的处理流程图。
方法400由源***301和目标(镜像)***来执行。源***包括源存储***305和类似于文件***120的源文件***(未示出)。目标***类似于目标***310。与方法200相似,尽管方法400被连续地描述,然而方法400的流程点和步骤可以采用流水线或其它方法由串联或并联的分离元件来执行,不管异步或同步。同样类似于方法200,除非其中明确指示,否则方法400没有必须用与说明书列出流程点或步骤相同的顺序来执行的特定要求。
在流程点410,源***301和目标***准备重新建立镜像关系。在优选实施例中,源***301和目标***已经通信以便各自达到镜像关系即将被重新建立的状态。此外,在优选实施例中,源***301和目标***已经确定将从源***301被发送到目标***的磁盘块的最小集以实现镜像的重新建立。一个用于确定磁盘块最小集的方法在WO 02/29572A(网络仪器公司)中被进一步描述,名称为“Recovery of File System Data in FileServers Mirrored File System Volumes”,于2002年4月11日公布。
在步骤411,源***301选择将被发送到目标***的一组信息。如上所述,只有已分配的磁盘块需要被发送。在这个步骤,被选择发送的信息包括(a)条带信息和(b)奇偶信息。条带信息描述被发送的磁盘块在RAID条带中怎样组织。奇偶信息包括为那些RAID条带计算的奇偶性。对于有关被定义RAID条带中哪个块是未分配块的信息而言,源***301明确地发送那些信息,或者目标***响应于条带信息和它接收的那些磁盘块的标识来确定该信息。
在步骤412,源***301发送(和目标***接收)已分配的磁盘块、在步骤411中描述的条带信息,和在步骤411中描述的奇偶信息。在这个步骤,源***301也可以把RAID条带中没有预置零的未分配块置零。
在步骤413,目标***把数据从已分配的磁盘块写入它们在指定磁盘驱动器及其存储卷的指定RAID条带上的指定位置。
在步骤414,目标***把来自奇偶信息的数据写入其存储卷的指定RAID条带。
在步骤415,目标***把零值写入其存储卷的指定RAID条带中的未分配块。在优选实施例中,目标***使用SCSI“写入相同的”命令来把相同数据字节的拷贝(即,零)写入每个未分配块的每个单元;如上所述,这比向实际的磁盘块写零要快一些,并且占用的文件***和存储卷之间的通信带宽较少。
因为在源***301的未分配块逻辑上或物理上为零,所以当未分配块被假定为零时源***301发送到目标***的奇偶信息是正确的。因此,目标***可以安全地把未分配块实际上设置为零,同时使用相同的奇偶信息而无须再计算奇偶性。
在流程点420,目标***是源***301的物理和逻辑拷贝。源***301和目标***之间的任何文档记载操作被完成,并且它们之间的镜像关系被重新建立。
方法400可以在重新建立或最初建立源存储卷和目标存储卷之间的镜像关系的任何时候被执行,只要在源存储卷和目标存储卷都使用了等效RAID条带。
本发明的通用性
本发明通常适用于这样的文件***和存储***,其中,数据被保存在多个装置上,并且那些多个装置上记录的至少一些信息可以被丢弃(例如不是文件***的一部分或可以被逐出高速缓存的高速缓存对象)。这些应用没有被具体限制到保存一致性点的文件***,也没有被具体限制到RAID存储***,它们也不一定与在此公开的具体应用相关。
在细读本申请之后,所属领域技术人员将会清楚,本发明在其大多数一般形式中的其它和进一步的应用。无须过度试验或进一步发明,本发明可以用于这类其它和进一步的应用。尽管优选实施例在此被公开,然而许多保持在本发明概念、范围和精神之内的许多变化是可能的;所属领域技术人员在细读本申请之后将很清楚这些变化。
·本发明适用于其中数据和元数据没有在大容量存储器上被分配固定单元的任何存储***。这可以包括文件服务器、数据库或网络高速缓存、或另一类型的存储装置。尽管在优选实施例中,本发明主要是用于使用RAID存储***的文件服务器,然而此外也没有特定要求来限制本发明的适用性。
·本发明适用于其中数据可以从冗余信息被重建的任何***;这可以包括任何类型的存储***,乃至使用至少一些冗余信息的通信***。尽管在优选实施例中,本发明主要是用于使用多个磁盘驱动器和奇偶性的存储***,然而此外也没有特定要求来限制本发明的适用性。
·虽然术语“磁盘块”已经遍及本公开内容被使用,然而本发明同样适用于大容量存储***中的其它类型的数据块,比如用于磁带、光驱动器的数据块等等。
所属领域技术人员在细读本申请之后将认识到,这些替换实施例是说明性并且绝不是限制性的。

Claims (87)

1.一种方法,包括:
识别第一群数据块,所述第一群包括能够保存与所述数据块相关联的冗余信息的块;
确定在所述第一群中是否存在故障的数据块;
响应于所述确定操作的结果,从所述的故障数据块重建数据并确定是否把所述数据发送到与第二群相关联的数据块,所述第二群至少具有一个未故障的数据块;
通过逻辑上把所述第一群中的所述故障数据块设置为选定值,所述第一群的所述冗余信息稍后的计算可以无须重建所述数据而进行。
2.权利要求1的方法,包括
响应于关于所述故障数据块的信息,确定是否制止把数据从所述故障数据块发送到所述第二群,并代之以把所述第二群中的目标数据块设置为所述选定值。
3.权利要求1的方法,包括
在第一磁盘上保存关于所述故障数据块组的信息,所述信息包括所述故障数据块是否已经被转移到一个或多个第二磁盘;和
当所述全部故障数据块已经充分地被转移到一个或多个第二磁盘时,逻辑上从存储***除去所述的第一磁盘。
4.权利要求1的方法,包括
识别访问所述故障数据块的尝试;
响应于所述访问尝试,执行所述到目标数据块的重建操作;和
把所述访问尝试重定向到所述目标数据块。
5.权利要求4的方法,包括
用一个指示符来标记所述故障数据块,该指示符指示对所述故障数据块的访问尝试应该被重定向;和
响应于所述指示符来执行所述重定向操作。
6.一种设备,包括
用于识别第一群数据块的装置,所述第一群包括能够保存与所述数据块相关联的冗余信息的块;
用于确定在所述第一群中是否存在故障数据块的装置;
用于响应于所述确定操作的结果从所述故障数据块重建数据的装置;
用于把所述数据发送到与第二群相关联的数据块的装置,所述第二群至少具有一个未故障数据块;和
用于逻辑上把所述故障数据块设置为选定值的装置,从而所述第一群的所述冗余信息稍后的计算可以无须重建所述数据而进行。
7.权利要求6的设备,包括
用于响应于关于所述故障数据块的信息,可能制止把数据从所述故障数据块发送到所述第二群,并代之以把所述第二群中的目标数据块设置为所述选定值的装置。
8.权利要求6的设备,包括
用于在第一磁盘上保存关于一组所述故障数据块的信息的装置,所述信息包括所述故障数据块是否已经被转移到一个或多个第二磁盘;和
当所述的全部故障数据块已经充分地被转移到一个或多个第二磁盘时,用于逻辑上从存储***除去所述第一磁盘的装置。
9.权利要求6的设备,包括
用于识别访问所述故障数据块的尝试的装置;
响应于所述访问尝试,用于执行所述到目标数据块的重建操作的装置;和
用于把所述的访问尝试重定向到所述目标数据块的装置。
10.权利要求9的设备,包括
用于给所述故障数据块标记一个指示符的装置,该指示符指示对所述故障数据块的访问尝试应该被重定向;和
用于响应于所述指示符来执行所述重定向操作的装置。
11.一种包括指令的存储器或大容量存储器,所述指令能够由一个或多个计算装置执行,所述指令引导所述一个或多个计算装置来
识别第一群数据块,所述第一群包括能够保存与所述数据块相关联的冗余信息的块;
确定在所述第一群中是否存在故障数据块;
响应于所述确定指令的结果,从所述故障数据块重建数据并把所述数据发送到与第二群相关联的数据块,所述第二群至少具有一个未故障数据块;和
通过逻辑上把所述故障数据块设置为选定值,所述第一群的所述冗余信息稍后的计算可以无须重建所述数据而进行。
12.权利要求11的存储器或大容量存储器,包括指令
响应于关于所述故障数据块的信息,可能制止把数据从所述故障数据块发送到所述第二群,并代之以把所述第二群中的目标数据块设置为所述的选定值。
13.权利要求11的存储器或大容量存储器,包括指令
在第一磁盘上保存关于一组所述故障数据块的信息,所述信息包括所述故障数据块是否已经被转移到一个或多个第二磁盘;和
当所述的全部故障数据块已经充分地被转移到一个或多个第二磁盘时,逻辑上从存储***除去所述的第一磁盘。
14.权利要求11的存储器或大容量存储器,包括指令
识别对所述故障数据块的访问尝试;
响应于所述的访问尝试,执行所述指令来重建目标数据块;和
把所述访问尝试重定向到所述目标数据块。
15.权利要求14的存储器或大容量存储器,包括指令
用指示符来标记所述故障数据块,该指示符指示对所述故障数据块的访问尝试应该被重定向;和
响应于所述指示符来执行所述重定向指令。
16.一种操作存储***的方法,所述方法包括
把选定的数据块设置为选定值,其中,所述存储***进行的奇偶性重算量被最小化。
17.权利要求16的方法,其中,所述设置操作响应于被添加到RAID群的新磁盘。
18.权利要求16的方法,其中,当新磁盘被添加到RAID群时,所述设置操作被执行。
19.权利要求16的方法,其中,当一致性点被产生时,所述设置操作被执行。
20.权利要求16的方法,其中,当写入具有未分配块的RAID条带时,所述设置操作被执行。
21.权利要求16的方法,其中,所述设置操作响应于对磁盘的写入操作,所述写入操作与包括文件***未使用的数据块的RAID条带相关联。
22.权利要求16的方法,其中,所述设置操作响应于文件***,所述文件***包括一致性点,存储的数据在该一致性点是自相一致的。
23.权利要求22的方法,其中,所述选定的数据块包括由所述存储***保存的数据块的子集,所述子集包括没有作为写入所述一致性点到磁盘的操作一部分而被写入的那些数据块。
24.权利要求16的方法,其中,所述设置操作响应于与所述选定数据块相关联的表,所述表包括一个指示符,它指示所述选定数据块中的数据应该在所选择的未来时间被拷贝。
25.权利要求24的方法,其中,所述被选择的未来时间包括文件***中的一致性点被写入磁盘的时间。
26.一种方法,包括
识别第一群数据块,所述第一群包括能够保存与所述数据块相关联的冗余信息的块;
确定所述冗余信息是否可访问;
响应于所述确定操作的结果,把数据从所述第一群发送到与一个或多个第二群相关联的一组数据块,所述第二群中每个都具有能够保存冗余信息的可访问数据块。
27.权利要求26的方法,其中,所述数据发送步骤包括把数据条带从具有对应奇偶性的磁盘发送到相同或其它磁盘上的其它条带。
28.权利要求26的方法,其中,所述第一群包括RAID条带。
29.权利要求26的方法,其中,所述确定操作包括确定包括能够保存所述冗余信息的所述块的磁盘是否存在故障。
30.权利要求26的方法,其中,所述确定操作包括确定能够保存所述冗余信息的所述块是否存在故障。
31.权利要求26的方法,包括
接收关于与所述第一群相关联的所述数据块的信息;
响应于所述接收操作,只对所述数据块的子集执行所述数据发送操作。
32.权利要求31的方法,其中,所述关于所述数据块的信息至少包括下列信息之一:哪个数据块具有已分配数据,哪个数据块没有已分配数据,哪个数据块具有不再使用的数据。
33.权利要求31的方法,其中,所述信息包括哪个数据块已知为零。
34.权利要求26的方法,其中,所述发送操作响应于所述数据应该在未来时间被发送的指示。
35.权利要求34的方法,其中,所述未来时间包括文件***产生包括来自所述第一群的所述数据的一致性点的时间。
36.一种包括指令的存储器或大容量存储器,所述指令能够由一个或多个计算装置执行,所述的指令引导所述的一个或多个计算装置来
识别第一群数据块,所述的第一群包括能够保存与所述数据块相关联的冗余信息的块;
确定所述的冗余信息是否可访问;
响应于所述确定指令的结果,把数据从所述的第一群发送到与一个或多个第二群相关联的一组数据块,所述的第二群中每个都具有能够保存冗余信息的可访问数据块。
37.权利要求36的存储器或大容量存储器,其中,所述的数据发送指令包括把数据条带从具有对应奇偶性的磁盘发送到相同或其它磁盘上的其它条带。
38.权利要求36的存储器或大容量存储器,其中,所述的第一群包括RAID条带。
39.权利要求36的存储器或大容量存储器,其中,所述的确定指令包括确定包括所述能够保存所述冗余信息的块的磁盘是否存在故障的指令。
40.权利要求36的存储器或大容量存储器,其中,所述的确定指令包括确定能够保存所述冗余信息的所述块是否存在任何故障的指令。
41.权利要求36的存储器或大容量存储器,包括指令用来
接收关于与所述第一群相关联的所述数据块的信息;
响应于所述的接收指令,只对所述数据块的子集执行所述的发送指令。
42.权利要求41的存储器或大容量存储器,其中,关于所述数据块的信息包括至少下列信息之一:哪个数据块具有已分配数据,哪个数据块没有已分配数据,哪个数据块具有不再使用的数据。
43.权利要求41的存储器或大容量存储器,其中,所述的信息包括哪个数据块已知为零。
44.权利要求36的存储器或大容量存储器,其中,所述的发送指令响应于所述数据应该在未来时间被发送的指示。
45.权利要求44的方法,其中,所述的未来时间包括文件***产生包括来自所述第一群的所述数据的一致性点的时间。
46.一种方法,包括
识别一群数据块;
从文件***接收关于所述数据块的信息;
选择计算方法,响应于所述信息的结果,减去或重算响应于所述数据块的一组相关联的冗余信息;和
响应于所述选择行动的结果,使所述冗余信息和所述数据块关联起来。
47.权利要求46的方法,其中,所述的选择步骤包括只选择被分配的数据块。
48.权利要求46的方法,其中,所述的接收操作的结果包括至少下列结果之一:具有已为其分配的数据的所述数据块的数量,具有未为其分配的数据的所述数据块的数量,具有不再用于所述文件***的数据的所述数据块的数量。
49.权利要求46的方法,其中,所述的数据块群与RAID群相关联。
50.权利要求46的方法,其中,所述的数据块群和所述的冗余信息与RAID条带相关联。
51.权利要求48的方法,其中,所述的计算方法包括至少下列方法之一:通过减法来计算奇偶性、通过重算来计算奇偶性。
52.权利要求46的方法,其中,所述的接收操作的结果包括已知具有选定值的所述数据块的数量。
53.权利要求52的方法,其中,所述的选定值是零。
54.一种设备,包括
具有一组数据块群的存储***,每个所述的数据块群与能够保存冗余信息的数据块相关联,这样,响应于所述群中的至少一些信息和至少一些所述的冗余信息,每个群中的所述一个个别数据块都可以被重建;
响应于关于所述数据块的使用的信息的一组信息;和
至少一个电路,连接到所述数据块和所述能够保存冗余信息的数据块,所述的电路能够计算所述的冗余信息,其中,所述的电路至少响应于一些所述关于使用的信息。
55.权利要求54的设备,其中,所述关于使用的信息包括至少下列信息之一:具有已为其分配的数据的所述数据块的数量,具有未为其分配的数据的所述数据块的数量,具有不再用于所述文件***的所述数据块的数量。
56.权利要求54的设备,其中
所述的冗余信息包括奇偶信息;和
所述的电路能够下面各项中的至少一个:通过减法来计算奇偶性,通过重算来计算奇偶性。
57.一种设备,包括
用于识别一群数据块的装置;
用于从文件***接收关于所述数据块的信息的装置;
用于响应于所述的确定行动的结果,来选择响应于所述数据块的一组相关联的冗余信息的计算方法的装置;和
用于响应于所述选择行动的结果,来使所述的冗余信息和所述的数据块相关联的装置。
58.权利要求57的设备,其中,选择装置包括只选择被分配了的数据块。
59.权利要求57的设备,其中,来自所述文件***的所述信息响应于至少识别下列之一的数据结构:具有已为其分配的数据的所述数据块组,具有未为其分配的数据的所述数据块组,具有不再用于所述文件***的所述数据块组。
60.权利要求57的设备,包括用于响应于所述的选择装置来计算所述的冗余信息的装置,所述的计算装置包括以下各项中的至少一个:通过减法计算奇偶性、通过重算计算奇偶性。
61.一种包括指令的存储器或大容量存储器,所述的指令能够由一个或多个计算装置来执行,所述的指令引导所述的一个或多个计算装置来
识别数据块群;
接收关于所述的数据块的信息;
响应于所述的信息选择一个或多个所述的指令;和
响应于所述的被选择指令的执行结果,使冗余信息和所述的群相关联。
62.权利要求61的存储器或大容量存储器,其中,关于所述数据块的所述信息包括至少下列信息之一:具有已分配数据的所述数据块的数量,具有未分配数据的所述数据块的数量,具有不再使用数据的所述数据块的数量。
63.权利要求61的存储器或大容量存储器,其中,所述的数据块群与RAID群相关联。
64.权利要求61的存储器或大容量存储器,其中,所述的数据块群和所述的冗余信息与RAID条带相关联。
65.权利要求61的存储器或大容量存储器,其中,所述的选择指令引导所述的一个或多个计算装置完成至少下列一个计算
通过减法来计算奇偶性;
通过重算来计算奇偶性。
66.权利要求61的存储器或大容量存储器,其中,关于所述数据块的所述信息包括已知具有选定值的所述数据块的数量。
67.一种方法,包括
选择将从源发送到目标的一组数据块;
把所述的数据块发送到所述的目标;
把与所述数据块相关联的奇偶性发送到所述目标;
通过在所述目标把任何未分配块设置为选定值,所述数据块的奇偶性是精确的;
从而建立所述源装置和所述目标装置之间的选定关系。
68.权利要求67的方法,包括
发送有关在存储卷上组织所述数据块的信息。
69.权利要求67的方法,其中
所述的数据块被组织在一组条带中,所述的条带定义所述数据块的被选择群的奇偶性;和
所述的未分配块包括未给所述数据块关联的所述条带中的任何块。
70.权利要求67的方法,其中
所述的数据块组实质上是已经不在所述目标中的数据块的最小数。
71.一种包括指令的存储器或大容量存储器,所述的指令能够由一个或多个计算装置来执行,所述的指令引导所述的一个或多个计算装置来
选择从源发送到目标的一组数据块;
把所述的数据块发送到所述的目标;
把与所述数据块相关联的奇偶性发送到所述目标;
在所述的目标把任何未分配块设置为选定值,凭此所述数据块的奇偶性是精确的;
凭此所述源装置和所述目标装置之间选定的关系被建立。
72.权利要求71的存储器或大容量存储器,包括指令
其用于发送关于在存储卷上组织所述数据块的信息。
73.权利要求71的存储器或大容量存储器,其中
所述的数据块被组织在一组条带中,所述的条带定义所述数据块的被选择群的奇偶性;和
所述的未分配块包括未给所述数据块分配的所述条带中的任何块。
74.权利要求71的存储器或大容量存储器,其中
所述的数据块组实质上是已经不在所述目标中的数据块的最小数。
75.一种设备,包括
用于选择从源发送到目标的一组数据块的装置;
用于把所述的数据块发送到所述目标的装置;
用于把与所述数据块相关联的奇偶性发送到所述目标的装置;
用于在所述目标把任何未分配块设置为选定值的装置,凭此所述数据块的奇偶性是精确的;
凭此所述源装置和所述目标装置之间的选定关系被建立。
76.权利要求75的设备,包括
用于发送关于在存储卷上组织所述数据块的信息的装置。
77.权利要求75的设备,其中
所述的数据块被组织在一组条带中,所述的条带定义所述数据块的被选择群的奇偶性;和
所述的未分配块包括未给所述数据块分配的所述条带中的任何块。
78.权利要求75的设备,其中
所述的数据块组实质上是已经不在所述目标中的数据块的最小数。
79.一种设备,包括
零值映射表,零值映射表包括描述哪些数据块已经被置零的一组项目;
块映射表,包括描述哪些数据块由已分配的文件***数据所使用的一组项目;和
条带映射表,包括对应于RAID群中故障磁盘中的一个或多个RAID条带的一组条带映射项目。
80.权利要求79的设备,其中,通过把所述块映射表中与已分配数据相关联的项目拷贝到所述RAID群中的未故障磁盘,从所述故障磁盘重建数据。
81.权利要求79的设备,其中,通过把所述块映射表中与已分配数据相关联的项目组拷贝到不同RAID群中的未故障磁盘,从所述故障磁盘重建数据。
82.权利要求79的设备,其中,数据在下一个一致性点被重建。
83.权利要求79的设备,其中,所述条带映射表中的所述项目组在重建所述的块映射表中的项目组后被更新。
84.权利要求79的设备,其中,所述条带映射表中所述项目组中的每个项目都包括一组与RAID条带的转移有关的信息。
85.权利要求84的设备,其中,所述的信息组包括与所述RAID条带相关联的所述数据块转移的目标单元。
86.权利要求79的设备,其中,所述条带映射表中所述项目组中的每个项目都对应于可以从所述故障磁盘删除的信息。
87.权利要求79的设备,其中,所述零值映射表中项目数量和非零数据块数量之间的相对差确定奇偶性是通过减去所有数据块还是加上所有数据块来计算。
CNB038201097A 2002-06-24 2003-06-24 在raid数据重建和转移中使用文件***信息 Expired - Lifetime CN100378672C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/179,465 US7024586B2 (en) 2002-06-24 2002-06-24 Using file system information in raid data reconstruction and migration
US10/179,465 2002-06-24

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2007101419296A Division CN101154174B (zh) 2002-06-24 2003-06-24 在raid数据重建和转移中使用文件***信息的方法及设备

Publications (2)

Publication Number Publication Date
CN1679000A true CN1679000A (zh) 2005-10-05
CN100378672C CN100378672C (zh) 2008-04-02

Family

ID=29734905

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB038201097A Expired - Lifetime CN100378672C (zh) 2002-06-24 2003-06-24 在raid数据重建和转移中使用文件***信息
CN2007101419296A Expired - Lifetime CN101154174B (zh) 2002-06-24 2003-06-24 在raid数据重建和转移中使用文件***信息的方法及设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2007101419296A Expired - Lifetime CN101154174B (zh) 2002-06-24 2003-06-24 在raid数据重建和转移中使用文件***信息的方法及设备

Country Status (7)

Country Link
US (1) US7024586B2 (zh)
EP (1) EP1535154A4 (zh)
JP (2) JP2005531071A (zh)
CN (2) CN100378672C (zh)
AU (1) AU2003278864A1 (zh)
IL (2) IL165831A0 (zh)
WO (1) WO2004001600A1 (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100543690C (zh) * 2005-12-13 2009-09-23 国际商业机器公司 用于管理故障的方法和***
CN101149666B (zh) * 2006-09-22 2010-06-16 国际商业机器公司 自主存储模块之间的选择***叉通信的装置、***和方法
CN101322105B (zh) * 2005-11-16 2010-12-08 国际商业机器公司 用于重新配置存储阵列的装置和方法
CN101960429A (zh) * 2008-02-28 2011-01-26 哈里公司 视频媒体数据存储***以及相关方法
CN102197438A (zh) * 2008-11-18 2011-09-21 Lsi公司 用于恢复固态驱动器数据的***和方法
CN102207895A (zh) * 2011-05-27 2011-10-05 杭州华三通信技术有限公司 一种独立磁盘冗余阵列数据重建方法和装置
CN101714064B (zh) * 2009-12-29 2012-01-04 成都市华为赛门铁克科技有限公司 数据存取方法及服务器
CN101454745B (zh) * 2006-05-24 2012-09-05 克姆佩棱特科技公司 用于raid管理、重新分配以及重新分段的***和方法
CN101727363B (zh) * 2008-10-24 2013-01-16 株式会社日立制作所 从hdd故障的快速数据恢复
CN103136075A (zh) * 2011-12-05 2013-06-05 巴法络股份有限公司 磁盘***、数据保存装置以及磁盘设备
WO2013117002A1 (zh) * 2012-02-09 2013-08-15 华为技术有限公司 一种数据重建方法、装置和***
CN105242879A (zh) * 2015-09-30 2016-01-13 华为技术有限公司 一种数据存储方法以及协议服务器
CN107870730A (zh) * 2016-09-23 2018-04-03 伊姆西Ip控股有限责任公司 用于管理存储***的方法和***
CN109799953A (zh) * 2018-12-14 2019-05-24 创新科存储技术(深圳)有限公司 一种快速重建raid的方法和装置
CN110058965A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 存储***中的数据重建方法及设备
CN110058953A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于改变存储***的类型的方法、设备和计算机程序产品
CN111448554A (zh) * 2017-12-14 2020-07-24 国际商业机器公司 数据存储***中的拷贝源至目标管理
CN114443368A (zh) * 2021-12-31 2022-05-06 苏州浪潮智能科技有限公司 raid***的冗余数据处理方法、装置、***及介质

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162600B2 (en) 2005-03-29 2007-01-09 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
US7024586B2 (en) 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7337351B2 (en) * 2002-09-18 2008-02-26 Netezza Corporation Disk mirror architecture for database appliance with locally balanced regeneration
US7263593B2 (en) 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
JP2005018193A (ja) * 2003-06-24 2005-01-20 Hitachi Ltd ディスク装置のインタフェースコマンド制御方法ならびに計算機システム
US7206991B2 (en) * 2003-10-15 2007-04-17 Lsi Logic Corporation Method, apparatus and program for migrating between striped storage and parity striped storage
DE10350590A1 (de) * 2003-10-30 2005-06-16 Ruprecht-Karls-Universität Heidelberg Verfahren und Vorrichtung zum Sichern von Daten bei mehreren unabhängigen Schreib-Lese-Speichern
JP2005182683A (ja) * 2003-12-24 2005-07-07 Hitachi Ltd データ転送方法及びシステム並びにプログラム
US20050283654A1 (en) * 2004-05-24 2005-12-22 Sun Microsystems, Inc. Method and apparatus for decreasing failed disk reconstruction time in a raid data storage system
US7707186B2 (en) * 2004-06-18 2010-04-27 Emc Corporation Method and apparatus for data set migration
JP2006079418A (ja) * 2004-09-10 2006-03-23 Fujitsu Ltd 記憶制御装置、制御方法及びプログラム
CN100388237C (zh) * 2004-10-20 2008-05-14 北京织女星网格技术有限公司 基于轻量计算的数据重组方法
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US8055711B2 (en) 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
GB0428105D0 (en) * 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting and disk failure protection
JP2006195712A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
CN100367181C (zh) * 2005-01-21 2008-02-06 英业达股份有限公司 廉价磁盘冗余阵列中硬盘重新识别***及其方法
US20060195657A1 (en) * 2005-02-28 2006-08-31 Infrant Technologies, Inc. Expandable RAID method and device
DE102005013502A1 (de) * 2005-03-23 2006-09-28 Fujitsu Siemens Computers Gmbh Verfahren zum Entfernen eines Massenspeichersystems aus einem Rechnerverbund sowie Computerprogramm-Produkt und Rechnerverbund zur Durchführung des Verfahrens
JP4817783B2 (ja) * 2005-09-30 2011-11-16 富士通株式会社 Raidシステム及びそのリビルド/コピーバック処理方法
EP1777613B1 (en) 2005-10-11 2021-11-24 Infortrend Technology, Inc. Pool spares for data storage virtualization subsystem
US7797283B2 (en) * 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7788303B2 (en) * 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
JP4472617B2 (ja) * 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US7475277B1 (en) * 2005-11-10 2009-01-06 Storage Technology Corporation Automated repair of damaged objects
US8087021B1 (en) 2005-11-29 2011-12-27 Oracle America, Inc. Automated activity processing
JP2007199953A (ja) * 2006-01-25 2007-08-09 Fujitsu Ltd ディスクアレイ装置およびディスクアレイ制御方法
US7848261B2 (en) 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7899800B2 (en) 2006-08-18 2011-03-01 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
US7822921B2 (en) 2006-10-31 2010-10-26 Netapp, Inc. System and method for optimizing write operations in storage systems
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
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7759958B2 (en) * 2007-09-21 2010-07-20 International Business Machines Corporation Apparatus, system, and method for integrated component testing
WO2009079478A1 (en) * 2007-12-14 2009-06-25 Virident Systems, Inc. Distributing metadata across multiple different disruption regions within an asymmetric memory system
JP5153315B2 (ja) * 2007-12-19 2013-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ルートファイルシステムを管理するシステム及び方法
US8195978B2 (en) 2008-05-16 2012-06-05 Fusion-IO. Inc. Apparatus, system, and method for detecting and replacing failed data storage
US8316196B1 (en) * 2008-09-30 2012-11-20 Emc Corporation Systems, methods and computer readable media for improving synchronization performance after partially completed writes
US8135984B2 (en) * 2008-11-06 2012-03-13 Mitac Technology Corp. System and method for reconstructing RAID system
US8533397B2 (en) * 2009-01-06 2013-09-10 International Business Machines Corporation Improving performance in a cache mechanism by way of destaging data in partial strides
CN102209957B (zh) 2009-02-26 2014-04-16 株式会社日立制作所 包括raid组的存储***
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
JP4818395B2 (ja) * 2009-05-20 2011-11-16 富士通株式会社 ストレージ装置及びデータコピー方法
JP4836014B2 (ja) * 2009-07-24 2011-12-14 日本電気株式会社 ディスクアレイ装置及び物理ディスクの復元方法
US20110029728A1 (en) * 2009-07-28 2011-02-03 Lsi Corporation Methods and apparatus for reducing input/output operations in a raid storage system
KR101562794B1 (ko) * 2009-08-04 2015-10-26 삼성전자주식회사 데이터 저장 장치
US7941696B2 (en) * 2009-08-11 2011-05-10 Texas Memory Systems, Inc. Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes
US8930622B2 (en) 2009-08-11 2015-01-06 International Business Machines Corporation Multi-level data protection for flash memory system
US8176284B2 (en) * 2009-08-11 2012-05-08 Texas Memory Systems, Inc. FLASH-based memory system with variable length page stripes including data protection information
US8189379B2 (en) 2009-08-12 2012-05-29 Texas Memory Systems, Inc. Reduction of read disturb errors in NAND FLASH memory
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US8234520B2 (en) * 2009-09-16 2012-07-31 International Business Machines Corporation Wear leveling of solid state disks based on usage information of data and parity received from a raid controller
US8880843B2 (en) * 2010-02-10 2014-11-04 International Business Machines Corporation Providing redundancy in a virtualized storage system for a computer system
US8347169B1 (en) * 2010-03-01 2013-01-01 Applied Micro Circuits Corporation System and method for encoding using common partial parity products
EP2569710A4 (en) * 2010-05-13 2014-01-22 Hewlett Packard Development Co MIGRATION OF A FILE SYSTEM
CN101980137B (zh) * 2010-10-19 2012-05-30 成都市华为赛门铁克科技有限公司 廉价磁盘冗余阵列重构方法、装置及***
CN102129354A (zh) * 2010-12-08 2011-07-20 北京航空航天大学 一种基于2d-raid阵列的自适应重组方法
US9043637B2 (en) * 2010-12-14 2015-05-26 Hitachi, Ltd. Failure recovery method in information processing system and information processing system
US8560772B1 (en) * 2010-12-29 2013-10-15 Datadirect Networks, Inc. System and method for data migration between high-performance computing architectures and data storage devices
CN102053802B (zh) * 2010-12-31 2012-09-05 中国科学院计算技术研究所 网络独立冗余磁盘阵列***
US8996804B2 (en) 2011-09-12 2015-03-31 International Business Machines Corporation Optimizing and enhancing performance for parity based storage
US8456972B2 (en) * 2011-09-12 2013-06-04 Microsoft Corporation Efficient access to storage devices with usage bitmaps
CN102508733B (zh) * 2011-09-22 2016-01-20 杭州华三通信技术有限公司 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
WO2013157032A1 (en) * 2012-04-16 2013-10-24 Hitachi, Ltd. Storage subsystem and data management method of storage subsystem
WO2014016860A1 (en) * 2012-07-23 2014-01-30 Hitachi, Ltd. Raid storage system and rebuild process
CN102981936A (zh) * 2012-11-15 2013-03-20 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法
JP6132980B2 (ja) 2013-06-19 2017-05-24 株式会社日立製作所 非集中的な分散型コンピューティング・システム
JP6213130B2 (ja) * 2013-10-09 2017-10-18 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム及びストレージ制御方法
US9021296B1 (en) 2013-10-18 2015-04-28 Hitachi Data Systems Engineering UK Limited Independent data integrity and redundancy recovery in a storage system
US11630585B1 (en) 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
CN103699336B (zh) * 2013-12-03 2016-09-07 中国科学院计算技术研究所 一种磁盘阵列数据分布与重建方法及***
US8949692B1 (en) 2014-01-23 2015-02-03 DSSD, Inc. Method and system for service-aware parity placement in a storage system
US20150205667A1 (en) * 2014-01-23 2015-07-23 DSSD, Inc. Method and system for service-aware data placement in a storage system
JP6556980B2 (ja) * 2014-03-04 2019-08-07 日本電気株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
US9542272B2 (en) 2014-03-24 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Write redirection in redundant array of independent disks systems
US9336102B2 (en) * 2014-04-21 2016-05-10 Dell Products L.P. Systems and methods for preventing input/output performance decrease after disk failure in a distributed file system
WO2016048314A1 (en) * 2014-09-24 2016-03-31 Hewlett Packard Enterprise Development Lp Block priority information
CN104317678B (zh) * 2014-10-30 2016-09-14 浙江宇视科技有限公司 一种不中断数据存储服务且修复raid阵列的方法和装置
US9766977B2 (en) 2014-11-10 2017-09-19 Dell Products, Lp System and method for improving read performance of a distributed parity RAID solution
US10757175B2 (en) * 2015-02-10 2020-08-25 Vmware, Inc. Synchronization optimization based upon allocation data
US10528272B2 (en) * 2015-02-20 2020-01-07 International Business Machines Corporation RAID array systems and operations using mapping information
CN104850468B (zh) * 2015-05-31 2018-04-27 上海交通大学 基于校验矩阵的纠删码解码方法
US10013171B2 (en) 2015-06-29 2018-07-03 International Business Machines Corporation Reducing stress on RAIDS under rebuild
CN105183583A (zh) * 2015-07-31 2015-12-23 浪潮电子信息产业股份有限公司 一种磁盘阵列的数据重建的方法及一种磁盘阵列***
US11112990B1 (en) * 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
US10013320B2 (en) * 2016-06-14 2018-07-03 Oracle International Corporation Systems and methods for support log cache device removal through standard user interfaces
CN108733313B (zh) * 2017-04-17 2021-07-23 伊姆西Ip控股有限责任公司 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质
US10936453B2 (en) * 2017-09-19 2021-03-02 Seagate Technology Llc Data storage systems using elastic spares
US10776202B1 (en) * 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
CN110058785B (zh) 2018-01-18 2022-07-05 伊姆西Ip控股有限责任公司 用于管理存储***的方法和设备
US11169961B2 (en) 2018-06-29 2021-11-09 Weka.IO Ltd. Data migration in a distributive file system
CN111124264B (zh) * 2018-10-31 2023-10-27 伊姆西Ip控股有限责任公司 用于重建数据的方法、设备和计算机程序产品
CN111857552A (zh) * 2019-04-30 2020-10-30 伊姆西Ip控股有限责任公司 存储管理方法、电子设备和计算机程序产品
CN112825052A (zh) * 2019-11-20 2021-05-21 华为技术有限公司 确定条带一致性的方法及装置
CN113552998B (zh) * 2020-04-24 2023-09-15 伊姆西Ip控股有限责任公司 用于管理存储***中的条带的方法、设备和程序产品

Family Cites Families (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814971A (en) 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4825354A (en) 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
EP0306244B1 (en) 1987-09-04 1995-06-21 Digital Equipment Corporation Fault tolerant computer system with fault isolation
DE69024086T2 (de) * 1989-04-13 1996-06-20 Sundisk Corp EEprom-System mit Blocklöschung
US5144659A (en) 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5454099A (en) 1989-07-25 1995-09-26 International Business Machines Corporation CPU implemented method for backing up modified data sets in non-volatile store for recovery in the event of CPU failure
US5276867A (en) 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
IL97315A (en) 1990-02-28 1994-10-07 Hughes Aircraft Co Multi-group signal processor
US5195100A (en) 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5134619A (en) 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5166939A (en) 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5088081A (en) * 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
US5208813A (en) 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
JP2603757B2 (ja) 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5235601A (en) 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5278838A (en) 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5502836A (en) 1991-11-21 1996-03-26 Ast Research, Inc. Method for disk restriping during system operation
US5379417A (en) 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
US5313626A (en) 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5313585A (en) 1991-12-17 1994-05-17 Jeffries Kenneth L Disk drive array with request fragmentation
US5333305A (en) 1991-12-27 1994-07-26 Compaq Computer Corporation Method for improving partial stripe write performance in disk array subsystems
US5341381A (en) 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
JP3058743B2 (ja) 1992-01-21 2000-07-04 株式会社日立製作所 ディスクアレイ制御装置
AU653670B2 (en) 1992-03-10 1994-10-06 Data General Corporation Improvements for high availability disk arrays
US5398253A (en) 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5469566A (en) 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
US5708668A (en) 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
US5315602A (en) 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
EP0612015A1 (en) 1993-02-16 1994-08-24 International Business Machines Corporation Improved disk array system having special parity groups for data blocks with high update activity
DE69435146D1 (de) 1993-06-03 2008-11-13 Network Appliance Inc Verfahren und Vorrichtung zum Beschreiben beliebiger Bereiche eines Dateisystems
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
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
US5963962A (en) 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
JPH08511368A (ja) 1993-06-04 1996-11-26 ネットワーク・アプリアンス・コーポレーション 不揮発性メモリを用いてraidサブシステムにパリティを形成する方法
US5522031A (en) * 1993-06-29 1996-05-28 Digital Equipment Corporation Method and apparatus for the on-line restoration of a disk in a RAID-4 or RAID-5 array with concurrent access by applications
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5566316A (en) * 1994-02-10 1996-10-15 Storage Technology Corporation Method and apparatus for hierarchical management of data storage elements in an array storage device
US5537567A (en) 1994-03-14 1996-07-16 International Business Machines Corporation Parity block configuration in an array of storage devices
US5566297A (en) 1994-06-16 1996-10-15 International Business Machines Corporation Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
US5657439A (en) * 1994-08-23 1997-08-12 International Business Machines Corporation Distributed subsystem sparing
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5537534A (en) * 1995-02-10 1996-07-16 Hewlett-Packard Company Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array
JPH08286844A (ja) * 1995-04-13 1996-11-01 Hitachi Ltd パリティ生成制御方法およびディスク制御装置
JP3202550B2 (ja) * 1995-07-14 2001-08-27 日本電気株式会社 ディスクアレイサブシステム
US5657468A (en) 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
US5826001A (en) * 1995-10-13 1998-10-20 Digital Equipment Corporation Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata
US5860090A (en) * 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
US5862312A (en) 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5758118A (en) * 1995-12-08 1998-05-26 International Business Machines Corporation Methods and data storage devices for RAID expansion by on-line addition of new DASDs
US5742752A (en) 1995-12-29 1998-04-21 Symbios Logic Inc. Method for performing a RAID stripe write operation using a drive XOR command set
US5819310A (en) 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
US6006227A (en) 1996-06-28 1999-12-21 Yale University Document stream operating system
US5828876A (en) 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
JP3133004B2 (ja) * 1996-11-21 2001-02-05 株式会社日立製作所 ディスクアレイ装置およびその制御方法
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management system
US6134673A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US5856981A (en) 1997-05-15 1999-01-05 Lucent Technologies Inc. Reliable connection oriented networks
US6058455A (en) * 1997-07-02 2000-05-02 International Business Corporation RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
JPH1124848A (ja) * 1997-07-03 1999-01-29 Hitachi Ltd ディスクアレイの障害領域交代処理方法およびディスクアレイ装置
DE19882723T1 (de) 1997-10-08 2000-09-21 Seagate Technology Hybrides Datenspeicherungs- und Datenrekonstruierungssystem und Verfahren für eine Datenspeichervorrichtung
US6101585A (en) 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6052764A (en) * 1997-12-19 2000-04-18 Compaq Computer Corportion Computer data restoration assembly and associated method
US5950203A (en) 1997-12-31 1999-09-07 Mercury Computer Systems, Inc. Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6574591B1 (en) 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
US6289415B1 (en) * 1998-12-23 2001-09-11 At&T Corporation System and method for storage media group parity protection
US6327672B1 (en) * 1998-12-31 2001-12-04 Lsi Logic Corporation Multiple drive failure tolerant raid system
US6725392B1 (en) * 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
JP2000357058A (ja) * 1999-06-15 2000-12-26 Toshiba Corp ディスクアレイ装置
US6442649B1 (en) * 1999-08-18 2002-08-27 Intel Corporation Dynamic expansion of storage device array
WO2001014991A2 (en) 1999-08-24 2001-03-01 Network Appliance, Inc. Scalable file server with highly available pairs
US6715034B1 (en) 1999-12-13 2004-03-30 Network Appliance, Inc. Switching file system request in a mass storage system
US6571351B1 (en) * 2000-04-07 2003-05-27 Omneon Video Networks Tightly coupled secondary storage system and file system
US6598174B1 (en) * 2000-04-26 2003-07-22 Dell Products L.P. Method and apparatus for storage unit replacement in non-redundant array
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
US6745284B1 (en) * 2000-10-02 2004-06-01 Sun Microsystems, Inc. Data storage subsystem including a storage disk array employing dynamic data striping
US6654912B1 (en) 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes
JP3435400B2 (ja) * 2000-12-08 2003-08-11 株式会社東芝 ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ
JP4053234B2 (ja) * 2000-12-11 2008-02-27 株式会社日立グローバルストレージテクノロジーズ ディスク装置
US7024586B2 (en) 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101322105B (zh) * 2005-11-16 2010-12-08 国际商业机器公司 用于重新配置存储阵列的装置和方法
CN100543690C (zh) * 2005-12-13 2009-09-23 国际商业机器公司 用于管理故障的方法和***
TWI416318B (zh) * 2005-12-13 2013-11-21 Ibm 在鏡像系統中管理失敗之方法、系統和設備
CN101454745B (zh) * 2006-05-24 2012-09-05 克姆佩棱特科技公司 用于raid管理、重新分配以及重新分段的***和方法
CN101149666B (zh) * 2006-09-22 2010-06-16 国际商业机器公司 自主存储模块之间的选择***叉通信的装置、***和方法
CN101960429A (zh) * 2008-02-28 2011-01-26 哈里公司 视频媒体数据存储***以及相关方法
CN101960429B (zh) * 2008-02-28 2013-08-28 哈里公司 视频媒体数据存储***以及相关方法
CN101727363B (zh) * 2008-10-24 2013-01-16 株式会社日立制作所 从hdd故障的快速数据恢复
CN102197438B (zh) * 2008-11-18 2014-03-05 Lsi公司 用于恢复固态驱动器数据的***和方法
CN102197438A (zh) * 2008-11-18 2011-09-21 Lsi公司 用于恢复固态驱动器数据的***和方法
CN101714064B (zh) * 2009-12-29 2012-01-04 成都市华为赛门铁克科技有限公司 数据存取方法及服务器
CN102207895A (zh) * 2011-05-27 2011-10-05 杭州华三通信技术有限公司 一种独立磁盘冗余阵列数据重建方法和装置
CN103136075A (zh) * 2011-12-05 2013-06-05 巴法络股份有限公司 磁盘***、数据保存装置以及磁盘设备
US9904599B2 (en) 2012-02-09 2018-02-27 Huawei Technologies Co., Ltd. Method, device, and system for data reconstruction
WO2013117002A1 (zh) * 2012-02-09 2013-08-15 华为技术有限公司 一种数据重建方法、装置和***
CN103354923A (zh) * 2012-02-09 2013-10-16 华为技术有限公司 一种数据重建方法、装置和***
CN103354923B (zh) * 2012-02-09 2016-03-09 华为技术有限公司 一种数据重建方法、装置和***
CN105242879B (zh) * 2015-09-30 2018-11-06 华为技术有限公司 一种数据存储方法以及协议服务器
CN105242879A (zh) * 2015-09-30 2016-01-13 华为技术有限公司 一种数据存储方法以及协议服务器
CN107870730B (zh) * 2016-09-23 2020-11-20 伊姆西Ip控股有限责任公司 用于管理存储***的方法和***
CN107870730A (zh) * 2016-09-23 2018-04-03 伊姆西Ip控股有限责任公司 用于管理存储***的方法和***
US11163472B2 (en) 2016-09-23 2021-11-02 EMC IP Holding Company LLC Method and system for managing storage system
CN111448554B (zh) * 2017-12-14 2023-09-12 国际商业机器公司 数据存储***中的拷贝源至目标管理
CN111448554A (zh) * 2017-12-14 2020-07-24 国际商业机器公司 数据存储***中的拷贝源至目标管理
CN110058965A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 存储***中的数据重建方法及设备
CN110058953A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于改变存储***的类型的方法、设备和计算机程序产品
CN110058953B (zh) * 2018-01-18 2023-02-28 伊姆西Ip控股有限责任公司 用于改变存储***的类型的方法、设备和存储介质
CN109799953B (zh) * 2018-12-14 2022-10-11 深圳创新科技术有限公司 一种快速重建raid的方法和装置
CN109799953A (zh) * 2018-12-14 2019-05-24 创新科存储技术(深圳)有限公司 一种快速重建raid的方法和装置
CN114443368A (zh) * 2021-12-31 2022-05-06 苏州浪潮智能科技有限公司 raid***的冗余数据处理方法、装置、***及介质
CN114443368B (zh) * 2021-12-31 2023-11-14 苏州浪潮智能科技有限公司 raid***的冗余数据处理方法、装置、***及介质

Also Published As

Publication number Publication date
WO2004001600A1 (en) 2003-12-31
US7024586B2 (en) 2006-04-04
JP2008269638A (ja) 2008-11-06
CN101154174B (zh) 2010-10-06
AU2003278864A1 (en) 2004-01-06
CN101154174A (zh) 2008-04-02
JP4846763B2 (ja) 2011-12-28
IL165831A0 (en) 2006-01-15
EP1535154A1 (en) 2005-06-01
JP2005531071A (ja) 2005-10-13
US20030237019A1 (en) 2003-12-25
IL165831A (en) 2010-12-30
EP1535154A4 (en) 2008-09-10
CN100378672C (zh) 2008-04-02

Similar Documents

Publication Publication Date Title
CN1679000A (zh) 在raid数据重建和转移中使用文件***信息
US10825477B2 (en) RAID storage system with logical data group priority
US10977124B2 (en) Distributed storage system, data storage method, and software program
US11132256B2 (en) RAID storage system with logical data group rebuild
JP6294518B2 (ja) 不揮発性メモリシステムにおける同期ミラーリング
US7386758B2 (en) Method and apparatus for reconstructing data in object-based storage arrays
US9250823B1 (en) Online replacement of physical storage in a virtual storage system
US8489813B2 (en) Storage system that executes performance optimization that maintains redundancy
US5881311A (en) Data storage subsystem with block based data management
US10365983B1 (en) Repairing raid systems at per-stripe granularity
US8117409B2 (en) Method and apparatus for backup and restore in a dynamic chunk allocation storage system
JP4292882B2 (ja) 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
US8156303B2 (en) Storage system condition indicator and method
CN1159651C (zh) 对数据存储库中的具有冗余拷贝的数据卷的平衡存取
US8839028B1 (en) Managing data availability in storage systems
CN1512353A (zh) 性能改善的数据存储和方法
US7958328B2 (en) Computer system, storage system and method for saving storage area by integrating same data
KR20090073099A (ko) 전역 핫 스패어 디스크를 이용한 고장난 드라이브의 재구성및 카피백 방법
CN111124262B (zh) 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质
US20100281213A1 (en) Changing the redundancy protection for data associated with a file
US10977130B2 (en) Method, apparatus and computer program product for managing raid storage in data storage systems
US20110202719A1 (en) Logical Drive Duplication
JP2006178926A (ja) 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法
US8140752B2 (en) Method of executing a background task and an array controller

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: NETAPP, Inc.

Address before: California, USA

Patentee before: NETWORK APPLIANCE, Inc.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080402