CN101256529A - 管理数据阵列中的冗余的方法和系统 - Google Patents
管理数据阵列中的冗余的方法和系统 Download PDFInfo
- Publication number
- CN101256529A CN101256529A CNA2008100046048A CN200810004604A CN101256529A CN 101256529 A CN101256529 A CN 101256529A CN A2008100046048 A CNA2008100046048 A CN A2008100046048A CN 200810004604 A CN200810004604 A CN 200810004604A CN 101256529 A CN101256529 A CN 101256529A
- Authority
- CN
- China
- Prior art keywords
- data
- array
- data array
- arrays
- memory device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种管理数据阵列中的冗余的方法和系统,其中确定必须修复多个数据阵列中的第一数据阵列以替换第一数据阵列中的有故障存储设备。从所述多个数据阵列中的选定数据阵列中选择存储设备来替换该有故障存储设备,其中与该选定数据阵列相对应的数据值小于与第一数据阵列相对应的数据值。
Description
技术领域
本发明涉及一种用于管理数据阵列中的冗余的方法、系统和制品。
背景技术
某些信息技术存储系统可以通过提供冗余的实现方式而提供高可用性和可靠性。在这种存储系统中,通过冗余的容错硬件设计可以实现容错性,在该设计中,可将用户数据存储在按廉价磁盘冗余阵列(RAID)方案配置的存储设备阵列中。某些RAID方案(例如,RAID1、2、3、4、5、10[0+1,1+0]级)提供单一级别的冗余保护,并且容忍单个设备发生故障,其中另外的设备发生故障可能会使数据丢失。
在存储设备发生故障后,可以使用在线RAID阵列修复(也称为热备份(hot sparing))来恢复RAID阵列冗余。在在线阵列修复期间,RAID阵列可以处于重建状态并且仍可能发生另外的导致不可恢复的数据丢失的故障。随着存储设备容量增长脚步的前进,使得任何单个存储阵列中有风险的数据量达到了数据丢失事件的统计概率会使得难以在高可用性存储系统中获得期望容错性的水平。
另外,某些存储系统方案提供高容量低成本的存储设备(例如,串行ATA(SATA)、光线附属适配器(FATA)),这些存储设备通常具有比服务器级设备(例如,光纤通道仲裁环路(FC-AL)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS))低的可靠性特性且每个设备具有较大的容量,并且在单个冗余RAID级中,这种高容量低成本存储设备还会加剧错误。“先进RAID级”(例如,RAID51、RAID 6、RAID 3+3、RAID N+3)被设计成容忍多个存储设备发生故障,以便恢复容错性和RAID系统数据保护之间的平衡。
发明内容
本发明提供了一种方法、系统和制品,其中确定必须修复多个数据阵列中的第一数据阵列以替换第一数据阵列内的有故障存储设备。从所述多个数据阵列中的选定数据阵列中选择存储设备来替换该有故障存储设备,其中与该选定数据阵列相对应的数据值小于与第一数据阵列相对应的数据值。
在某些实施例中,该数据值表示存储在所述多个数据阵列中的数据的相对值。
在其它实施例中,与该选定数据阵列相对应的数据值是能够向第一数据阵列借出存储设备的所有数据阵列之中的最小数据值。
在某些其它实施例中,响应于确定出与第一数据阵列相对应的属性而表明第一数据阵列能够从所述多个数据阵列中的其它数据阵列借用至少一个存储设备,执行从该选定数据阵列中选择存储设备。
在其它实施例中,该选定数据阵列具有至少一个对应属性,该至少一个对应属性表明该选定数据阵列允许从该选定数据阵列借用一个或多个存储设备,其中响应于确定出没有热后备存储设备可用于替换该有故障存储设备,执行从所述多个数据阵列中的该选定数据阵列中选择存储设备来替换该有故障存储设备。
在另外的实施例中,所述多个数据阵列中的每一个都是独立磁盘冗余阵列(RAID),其中存储控制器连接到所述多个数据阵列,其中针对所述多个数据阵列中的每个数据阵列,保持以下属性:(i)第一属性,其表示存储在该数据阵列中的数据对于用户的相对值;(ii)第二属性,其表示该数据阵列是否能从所述多个数据阵列中的其它数据阵列借用一个或多个存储设备;以及(iii)第三属性,其表示该数据阵列是否能够向所述多个数据阵列中的其它数据阵列借出一个或多个存储设备。
附图说明
现在参照附图,在所有附图中相同的附图标记表示对应的部分,其中:
图1示出了根据某些实施例的计算环境的框图;
图2示出了根据某些实施例的RAID阵列表示的框图;
图3示出了根据某些实施例的用于管理RAID阵列中的冗余的操作;以及
图4示出了实现了这些实施例的某些所述方面的计算机架构的框图。
具体实施方式
在下面的说明中,参考附图,附图形成说明的一部分并且示出了几个实施例。应该理解,可以采用其它实施例并且可以进行结构和操作改变。
“先进RAID级”和冗余
实现先进RAID级会导致另外的存储容量开销,因为另外维数的奇偶校验保护会增加存储另外的冗余数据所需的奇偶校验容量开销。因为许多存储系统是基于存储容量定价的,对最终用户而言,这会导致成本增加。
提供热后备在线RAID阵列修复装置的现有RAID级,需要有合格的后备存储设备以使之有效。这会进一步增加系统开销容量并且对最终用户的存储成本产生影响。
另外,对于用户而言,不是所有数据都具有相等的值,这是可以的,因此具有不同值的数据可以不具有相同的冗余要求。由于用于额外容量的潜在成本开销,可以不用支持先进RAID级的存储系统来构成先进RAID级的系统下的所有存储。也可能随着先进RAID级的冗余的增加以及开销容量成本的增加,某些用户会选择配置较少的“热后备”设备以控制系统成本。因此,即使采用先进RAID级,如果用户选择在系统中配置较少的整体热后备设备,则单一冗余RAID级发生数据丢失事件的可能性仍然存在,并且其概率实际上增加了。
示例性实施例
某些实施例通过考虑与用户置于被保护数据上的值相关联的因素,向已经经历了存储设备故障的RAID阵列提供容错性,即冗余。某些实施例还允许控制冗余能力的成本开销。
某些实施例选择性地恢复已经经历了故障的RAID阵列的冗余,所述故障会导致因存储设备的另外故障而发生数据丢失的可能,其中没有可用的热后备设备可用于执行在线修复。某些实施例使用先进RAID级的多维RAID阵列冗余来提供用于执行在线修复的候选设备,以恢复由于某些原因而丢失了其冗余的RAID阵列的冗余。
此外,某些实施例允许用户指出阵列上数据的相对值,并且允许系统确定何时适于从多冗余RAID阵列去除冗余级,以恢复可能因另外的故障而发生数据丢失的阵列的冗余。在某些实施例中,向各RAID阵列分配值,并且使用这些值来确定何时适于从多冗余RAID阵列中“取得”一设备来执行非冗余RAID阵列的在线修复。
图1示出了根据某些实施例的计算环境100的框图。在计算环境100中,诸如存储控制器的计算设备102连接到多个数据阵列104a、104b、...、104n,其中数据阵列104a...104n可包括任何存储阵列,诸如RAID阵列104a...104n。虽然在图1中将计算设备102示出为存储控制器,但是在另选实施例中,计算设备102可包括本领域已知的任何合适的计算设备。除了RAID阵列104a...104n以外,计算设备102还可连接到一个或多个热后备存储设备106,其中热后备存储设备106可包括本领域已知的任何合适的存储设备,诸如盘驱动器、光学驱动器等。
RAID阵列104a...104n中的每一个可包括一个或多个存储设备,诸如RAID盘。例如,RAID阵列104a可包括存储设备108a、108b、...、108i,RAID阵列104b可包括存储设备110a、110b、...、110j,而RAID阵列104n可包括存储设备112a、112b、...、112k。
存储控制器102可包括冗余管理器应用114,该冗余管理器应用114可被实现为软件、硬件、或它们的任意组合。存储控制器102还维护被称为RAID阵列表示116a、116b、...、116n的数据结构,该数据结构存储连接至存储控制器102的RAID阵列104a...104n的特性。RAID阵列表示116a、116b、...、116n包括连接至存储控制器102的RAID阵列104a...104n的属性118a、118b、...、118n。属性118a、118b、...、118n包括:数据值120a、120b、...、120n;指示符122a、122b、...、122n,其指示存储设备是否可被RAID阵列借用;以及指示符124a、124b、...、124n,其指示是否可从RAID阵列借出存储设备。
数据值120a、120b、...、120n指示一相对值,即,存储在对应RAID阵列中的数据的重要性。例如,数据值102b指示存储在RAID阵列104b中的数据的相对值。在某些实施例中,数据值120a...120n可由用户指示。在另选实施例中,可以基于诸如盘驱动器的成本、性能、容量、物理位置、使用频率、RAID类型等的各种因素,通过计算机程序来计算数据值120a...120n。在不同的实施例中,数据值120a...120n可基于不同因素。冗余管理器应用114使用属性118a...118n来管理RAID阵列104a...104n中的冗余。尽管在某些实施例中可将数据值定义为存储在多个数据阵列中的数据的相对值,但是在其它实施例中,可以以不同的方式定义数据值。
因此,图1示出了冗余管理器应用114可通过从具有冗余的另一RAID阵列借用至少一个存储设备来修复丢失了所有冗余的RAID阵列的某些实施例,其中对所述至少一个存储设备的借用基于的是为RAID阵列116a...116n保持的属性118a...118n。属性118a...118n包括数据值120a...120n,这些数据值存储在各RAID阵列116a...116n中存储的数据的相对值。
图2示出了根据某些实施例的RAID阵列表示201、202、203、204、205的框图。在某些实施例中,RAID阵列表示可被实现为存储控制器102,并且可以表示与存储控制器102相连的RAID阵列104a...104n。例如,第一RAID阵列表示201可以表示第一RAID阵列,诸如RAID阵列104a,而第二RAID阵列表示202可以表示第二RAID阵列,诸如RAID阵列104b,等等。在某些实施例中,图2中的RAID阵列表示201、202、203、204、205可对应于图1所示的RAID阵列表示116a...116n。
图2还示出了RAID阵列201、202、203、204、205的属性201a、202a、203a、204a、205a,其中图2中的属性201a、202a、203a、204a、205a被示出为包括:数据值201b、202b、203b、204b、205b的示例值,设备可借用指示符201c、202c、203c、204c、205c的示例值,以及设备可借出指示符201d、202d、203d、204d、205d的示例值。
在图2中,如果因在第一RAID阵列中包括的存储设备发生故障而在第一RAID阵列中丢失了冗余,那么冗余管理器应用114会根据第一RAID阵列表示201而确定设备可借用指示符201c为“是”,这意味着存储设备可被第一RAID阵列借用以替换丢失的设备。
冗余管理器应用114可将第三RAID阵列中的存储设备借用到第一RAID阵列中,这是因为第三RAID阵列表示203的设备可借出指示符203c为“是”(即第三RAID阵列可借出设备),并且第三RAID阵列表示203的数据值203b是“2”,其小于为“10”的第一RAID阵列表示201的数据值201b。
因此,图2示出了如下的某些实施例,在这些实施例中,响应于第一RAID阵列中的存储设备发生故障,冗余管理器应用114选择具有最低数据值且允许借出存储设备的第三RAID阵列,并从第三RAID阵列借用存储设备来修复已经丢失了所有冗余的第一RAID阵列。
图3示出了根据某些实施例的用于管理RAID阵列中的冗余的操作。图3所示的操作可以由在计算环境100的存储控制器102中执行的冗余管理器应用114来执行。
控制在块300开始,冗余管理器应用114(在块302)检测因第一RAID阵列中的存储设备发生故障而丢失了所有冗余的第一RAID阵列,其中要对检测到的第一RAID阵列进行修复。冗余管理器应用114(在块304)确定是否有热后备存储设备106可用于修复第一RAID阵列。如果没有的话,那么冗余管理器应用114(在块306)根据待修复RAID阵列的属性201a来确定待修复RAID阵列是否可从其它RAID阵列借用设备,即,设备可借用指示符201c是否为“是”。
如果冗余管理器应用114确定待修复RAID阵列可从其它RAID阵列借用设备,那么冗余管理器应用114(在块308)确定从所述其它RAID阵列选出的RAID阵列集合,其中所确定的RAID阵列集合中的每个RAID都满足以下条件:
1、该RAID阵列可借出存储设备(即,设备可借出指示符为“是”);以及
2、该RAID阵列的数据值比待修复RAID阵列的数据值小。
冗余管理器应用114(在块310)确定所确定的RAID阵列集合是否为空集。如果不是的话,那么冗余管理器应用114(在块312)选择所确定的RAID阵列集合中的一RAID阵列,其中所选RAID阵列具有最低的数据值,然后冗余管理器应用114从所选RAID阵列借用存储设备以修复已经丢失了所有冗余的RAID阵列。控制继续进行到块314,在块314处理停止。
如果在块304,冗余管理器应用114确定有热后备存储设备106可用于修复第一RAID阵列,那么控制继续进行到块316,在块316,冗余管理器应用114使用该热后备设备来修复第一RAID阵列,然后处理(在块314)停止。
如果在块306,冗余管理器应用114根据待修复RAID阵列的属性201a确定待修复RAID阵列无法从其它RAID阵列借用设备,那么处理(在块314)停止。
如果在块310,冗余管理器应用114确定所确定的RAID阵列集合是空集,那么处理(在块314)停止。
因此,图3示出了如下的某些实施例,在这些实施例中,确定了必须要对多个RAID阵列中的第一RAID阵列进行修复,以替换第一RAID阵列内的有故障存储设备。从所述多个RAID阵列中的一选定RAID阵列中选择存储设备来替换发生故障的存储设备,其中与该选定RAID阵列相对应的数据值小于与第一RAID阵列相对应的数据值,其中与该选定RAID阵列相对应的数据值是能够向第一RAID阵列借出存储设备的所有RAID阵列之中的最小数据值,并且其中数据值表示存储在所述多个RAID阵列中的数据对于用户的相对值。
在某些实施例中,对于多冗余阵列类型,诸如具有多维冗余从而具有容错性的RAID阵列(例如,RAID 6),用户可作出关于要存储在各RAID阵列上的数据值的决定。用户也可向系统的RAID阵列分配属性,其中可使用这些属性来确定与确定用于RAID阵列的在线修复的候选存储设备相关的策略。这些属性可包括使系统可确定以下几项的指示符:
1、是否允许从该RAID阵列取得一设备以对因故障而已经丢失了冗余的另一RAID阵列进行在线修复;
2、要存储在该RAID阵列上的数据的相对值;以及
3、当RAID阵列已经丢失了所有冗余时,该RAID阵列是否适于通过从另一多冗余RAID阵列取得设备而使其冗余恢复。
在某些其它实施例中,对于单冗余阵列类型而言,用户可作出关于要存储在该RAID阵列上的数据值的决定。用户可向该RAID阵列分配属性,其中这些属性可被系统用来确定与在阵列丢失了冗余时使用多冗余阵列中的候选项来进行该阵列的在线修复相关联的策略。这些属性可包括使系统可确定以下几项的指示符:
1、要存储在该RAID阵列上的数据的相对值;以及
2、当该阵列丢失了所有冗余时,该阵列是否适于通过从另一多冗余RAID阵列取得设备而使其冗余恢复。
当存储设备故障导致RAID阵列丢失所有冗余时,某些实施例使用分配给多冗余阵列和单冗余阵列的属性来确定用于在线RAID阵列修复的策略。在某些实施例中,修复进程通过使用用于修复管理的系统策略和通过替换存储设备来管理多冗余阵列的冗余恢复。
附加实施例细节
上述技术可被实现为方法、包括软件、固件、微代码、硬件和/或它们的任意组合的装置或制品。此处使用的术语“制品”指的是实现在介质上的代码或逻辑,其中这种介质可包括硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)或计算机可读存储介质,诸如磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储器(CD-ROM、光盘等)、易失性和非易失性存储设备(例如,电可擦可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、固件、可编程逻辑等)。计算机可读存储介质中的代码被处理器存取和执行。编码有代码或逻辑的介质还可包括通过空中或诸如光纤、铜线等的传输介质传播的传输信号。编码有代码或逻辑的传输信号还可包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。编码有代码或逻辑的传输信号能够被发送站发送并被接收站接收,其中编码在传输信号中的代码或逻辑可被解码并存储在接收和发送站或设备中的硬件或计算机可读介质中。此外,“制品”可包括实现、处理和执行代码的硬件和软件部件的组合。当然,本领域技术人员会认识到:在不脱离这些实施例的范围的情况下,可以进行许多修改,并且制品可包括任何带有信息的介质。例如,制品包括存储有指令的存储介质,这些指令当被机器执行时导致执行操作。
某些实施例可采用全硬件实施例、全软件实施例、或包含硬件和软件元件的实施例的形式。在一优选实施例中,以软件实现本发明,该软件包括但不限于固件、驻留软件、微代码等。
此外,某些实施例可采用计算机程序产品的形式,所述计算机程序产品可以从提供了供计算机或任何指令执行系统使用或与之结合使用的程序代码的计算机可用或计算机可读介质中得到。出于描述目的,计算机可用或计算机可读介质可以是任何装置,该装置可以包含、存储、传达、传播或传送供指令执行系统、装置或设备使用或与之结合使用的程序。所述介质可以是电子的、磁的、光学的、电磁的、红外的或半导体的系统(或者装置或设备),或者是传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可拆卸计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘以及光盘。光盘的当前示例包括紧凑型盘-只读存储器(CD-ROM)、紧凑型盘-读/写(CD-R/W)以及DVD。
除非另外明确指明,否则术语“某些实施例”、“一实施例”、“实施例”、“该实施例”“一个或多个实施例”、“一些实施例”以及“一个实施例”表示一个或多个实施例,但不是所有实施例。除非另外明确指明,否则术语“包括”、“包含”、“具有”及其变型表示“包括但不限于”。除非另外明确指明,否则枚举列出的项并不意味着任何或所有这些项是互斥的。除非另外明确指明,否则术语“该”表示“一个或多个”。
除非另外明确指明,否则彼此通信的设备不需要持续地彼此通信。此外,彼此通信的设备可直接通信或者通过一个或多个中间物而间接通信。此外,对具有多个彼此通信的部件的实施例的描述并不意味着所有这些部件都是必需的。相反,描述了各种可选部件来例示多种多样的可能实施例。
此外,虽然按有序的顺序描述了处理步骤、方法步骤、算法等,但是可将这些处理、方法和算法配置为按另选的顺序工作。换言之,可描述步骤的任何序列或顺序不是必须要求这些步骤按该顺序执行。本文描述的处理步骤可以按任何实用顺序执行。此外,可以同时、并行或并发地执行某些步骤。
当本文中描述单个设备或制品时,显而易见的是,可使用多于一个的设备/制品(不管它们是否协作)来代替单个设备/制品。类似地,在本文中描述多于一个的设备或制品的地方(不管它们是否协作),显然可使用单个设备/制品来代替该多于一个的设备或制品。设备的功能和/或特征可另选地由并未明确描述具有这种功能/特征的一个或多个其它设备来实现。因此,其它实施例无需包括该设备本身。
图4示出了计算系统400的架构,其中在某些实施例中可根据计算系统400的架构来实现图1的计算环境100的计算设备102a。计算系统400也可被称为系统,其可包括电路402,并且在某些实施例中可包括处理器404。系统400还可包括内存406(例如,易失性存储设备)和存储器408。存储器408可包括非易失性存储装置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)、磁盘驱动器、光盘驱动器、磁带驱动器等。存储器408可包括内部存储装置、附接存储装置和/或可网络存取的存储装置。系统400可包括程序逻辑410,程序逻辑410包括可被加载到内存406中并被处理器404或电路402执行的代码412。在某些实施例中,包括代码412的程序逻辑410可被存储在存储器408中。在某些其它实施例中,程序逻辑410可被实现在电路402中。因此,虽然图4示出的程序逻辑410是与其它元件分离的,但是可将程序逻辑410实现在内存406和/或电路402中。
某些实施例提供了一种由人或者将计算机可读代码整合到计算系统中的自动处理来部署计算指令的方法,其中,代码与计算系统结合,以能够执行上述实施例的操作。
图1至4所示的至少某些操作既可以并行执行,又可以按顺序执行。在另选实施例中,某些操作可按不同的顺序执行、修改或删除。
此外,出于例示的目的,许多软件和硬件部件被描述成位于单独的模块中。可将这些部件整合到更少数量的部件中或者将其分成更多数量的部件。此外,被描述为由特定部件执行的某些操作可以由其它部件执行。
图1至4中示出或提及的数据结构和部件被描述为具有特定类型的信息。在另选实施例中,可以不同地构建这些数据结构和部件,并使其具有更少、更多或不同的字段,或者具有与附图中示出或提及的功能不同的功能。因此,出于例示和说明目的,已经给出了对实施例的前述描述。这些描述不是想要穷举性或者将本发明局限于所公开的精确形式。考虑到以上教导,许多修改和变型是可行的。
Claims (12)
1、一种方法,该方法包括:
确定必须修复多个数据阵列中的第一数据阵列以替换第一数据阵列内的有故障存储设备;以及
从所述多个数据阵列中的选定数据阵列中选择存储设备来替换该有故障存储设备,其中与该选定数据阵列相对应的数据值小于与第一数据阵列相对应的数据值。
2、如权利要求1所述的方法,其中该数据值表示存储在所述多个数据阵列中的数据的相对值。
3、如权利要求1所述的方法,其中与该选定数据阵列相对应的数据值是能够向第一数据阵列借出存储设备的所有数据阵列之中的最小数据值。
4、如权利要求3所述的方法,其中响应于确定出与第一数据阵列相对应的属性表明第一数据阵列能够从所述多个数据阵列中的其它数据阵列借用至少一个存储设备,执行从该选定数据阵列中选择存储设备。
5、如权利要求4所述的方法,其中该选定数据阵列具有至少一个对应属性,该至少一个对应属性表明该选定数据阵列允许从该选定数据阵列借用一个或多个存储设备,并且其中响应于确定出没有热后备存储设备可用于替换该有故障存储设备,执行从所述多个数据阵列中的该选定数据阵列中选择存储设备来替换该有故障存储设备。
6、如权利要求1所述的方法,其中所述多个数据阵列中的每一个都是独立磁盘冗余阵列(RAID),其中存储控制器连接到所述多个数据阵列,该方法还包括:
针对所述多个数据阵列中的每个数据阵列,在该存储控制器中保持:
(i)第一属性,其表示存储在该数据阵列中的数据对于用户的相对值;
(ii)第二属性,其表示该数据阵列是否能从所述多个数据阵列中的其它数据阵列借用一个或多个存储设备;以及
(iii)第三属性,其表示该数据阵列是否能够向所述多个数据阵列中的其它数据阵列借出一个或多个存储设备。
7、一种系统,该系统包括:
存储器;
连接到该存储器的多个数据阵列;以及
连接到该存储器的处理器,其中该处理器执行操作,所述操作包括:
(i)确定必须修复所述多个数据阵列中的第一数据阵列以替换第一数据阵列中的有故障存储设备;以及
(ii)从所述多个数据阵列中的选定数据阵列中选择存储设备来替换该有故障存储设备,其中与该选定数据阵列相对应的数据值小于与第一数据阵列相对应的数据值,其中数据值表示存储在所述多个数据阵列中的数据的相对值。
8、如权利要求7所述的系统,其中该数据值表示存储在所述多个数据阵列中的数据的相对值。
9、如权利要求7所述的系统,其中与该选定数据阵列相对应的数据值是能够向第一数据阵列借出存储设备的所有数据阵列之中的最小数据值。
10、如权利要求9所述的系统,其中响应于确定出与第一数据阵列相对应的属性表明第一数据阵列能够从所述多个数据阵列中的其它数据阵列借用至少一个存储设备,执行从该选定数据阵列中选择存储设备。
11、如权利要求10所述的系统,其中该选定数据阵列具有至少一个对应属性,该至少一个对应属性表明该选定数据阵列允许从该选定数据阵列借用一个或多个存储设备,并且其中响应于确定出没有热后备存储设备可用于替换该有故障存储设备,执行从所述多个数据阵列中的该选定数据阵列中选择存储设备来替换该有故障存储设备。
12、如权利要求7所述的系统,其中所述多个数据阵列中的每一个都是独立磁盘冗余阵列(RAID),该系统还包括:
连接到所述多个数据阵列的存储控制器,其中,针对所述多个数据阵列中的每个数据阵列,该存储控制器保持:
(i)第一属性,其表示存储在该数据阵列中的数据对于用户的相对值;
(ii)第二属性,其表示该数据阵列是否能从所述多个数据阵列中的其它数据阵列借用一个或多个存储设备;以及
(iii)第三属性,其表示该数据阵列是否能够向所述多个数据阵列中的其它数据阵列借出一个或多个存储设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/679,120 US7992072B2 (en) | 2007-02-26 | 2007-02-26 | Management of redundancy in data arrays |
US11/679,120 | 2007-02-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101256529A true CN101256529A (zh) | 2008-09-03 |
CN101256529B CN101256529B (zh) | 2011-03-16 |
Family
ID=39717137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100046048A Expired - Fee Related CN101256529B (zh) | 2007-02-26 | 2008-01-21 | 管理数据阵列中的冗余的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7992072B2 (zh) |
CN (1) | CN101256529B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103946846A (zh) * | 2011-11-23 | 2014-07-23 | 国际商业机器公司 | 使用虚拟驱动作为用于raid组的热备用 |
CN105740105A (zh) * | 2016-01-27 | 2016-07-06 | 中国电子科技集团公司第五十八研究所 | 一种嵌入式存储器的冗余结构 |
CN111164576A (zh) * | 2018-03-06 | 2020-05-15 | 西部数据技术公司 | 故障存储设备重建方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4719802B2 (ja) * | 2009-03-09 | 2011-07-06 | 富士通株式会社 | ストレージ管理装置、ストレージ管理方法およびストレージシステム |
US8639906B2 (en) * | 2011-02-16 | 2014-01-28 | International Business Machines Corporation | Creation of logical units via borrowing of alternative storage and subsequent movement of the logical units to desired storage |
US20150286531A1 (en) * | 2012-12-20 | 2015-10-08 | Hewlett-Packard Development Company, L.P. | Raid storage processing |
US9921783B2 (en) * | 2013-09-25 | 2018-03-20 | Lenovo (Singapore) Pte Ltd. | Dynamically allocating temporary replacement storage for a drive in a raid array |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5331646A (en) * | 1992-05-08 | 1994-07-19 | Compaq Computer Corporation | Error correcting code technique for improving reliablility of a disk array |
US5689678A (en) * | 1993-03-11 | 1997-11-18 | Emc Corporation | Distributed storage array system having a plurality of modular control units |
US6269453B1 (en) * | 1993-06-29 | 2001-07-31 | Compaq Computer Corporation | Method for reorganizing the data on a RAID-4 or RAID-5 array in the absence of one disk |
US5485571A (en) * | 1993-12-23 | 1996-01-16 | International Business Machines Corporation | Method and apparatus for providing distributed sparing with uniform workload distribution in failures |
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 |
US5831913A (en) * | 1997-03-31 | 1998-11-03 | International Business Machines Corporation | Method of making a memory fault-tolerant using a variable size redundancy replacement configuration |
US5831914A (en) * | 1997-03-31 | 1998-11-03 | International Business Machines Corporation | Variable size redundancy replacement architecture to make a memory fault-tolerant |
US6230240B1 (en) | 1998-06-23 | 2001-05-08 | Hewlett-Packard Company | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface |
GB2343265A (en) * | 1998-10-28 | 2000-05-03 | Ibm | Data storage array rebuild |
US6516425B1 (en) | 1999-10-29 | 2003-02-04 | Hewlett-Packard Co. | Raid rebuild using most vulnerable data redundancy scheme first |
US6671822B1 (en) * | 2000-08-31 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | Method and system for absorbing defects in high performance microprocessor with a large n-way set associative cache |
US7062704B2 (en) * | 2001-04-30 | 2006-06-13 | Sun Microsystems, Inc. | Storage array employing scrubbing operations using multiple levels of checksums |
US6862703B2 (en) * | 2001-08-13 | 2005-03-01 | Credence Systems Corporation | Apparatus for testing memories with redundant storage elements |
US7069395B2 (en) | 2001-10-05 | 2006-06-27 | International Business Machines Corporation | Storage area network methods and apparatus for dynamically enabled storage device masking |
US6934804B2 (en) * | 2002-05-28 | 2005-08-23 | Sun Microsystems, Inc. | Method and system for striping spares in a data storage system including an array of disk drives |
-
2007
- 2007-02-26 US US11/679,120 patent/US7992072B2/en not_active Expired - Fee Related
-
2008
- 2008-01-21 CN CN2008100046048A patent/CN101256529B/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103946846A (zh) * | 2011-11-23 | 2014-07-23 | 国际商业机器公司 | 使用虚拟驱动作为用于raid组的热备用 |
CN103946846B (zh) * | 2011-11-23 | 2017-08-15 | 国际商业机器公司 | 使用虚拟驱动作为用于raid组的热备用的方法和系统 |
CN105740105A (zh) * | 2016-01-27 | 2016-07-06 | 中国电子科技集团公司第五十八研究所 | 一种嵌入式存储器的冗余结构 |
CN105740105B (zh) * | 2016-01-27 | 2018-10-19 | 中国电子科技集团公司第五十八研究所 | 一种嵌入式存储器的冗余结构 |
CN111164576A (zh) * | 2018-03-06 | 2020-05-15 | 西部数据技术公司 | 故障存储设备重建方法 |
CN111164576B (zh) * | 2018-03-06 | 2023-03-10 | 西部数据技术公司 | 故障存储设备重建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101256529B (zh) | 2011-03-16 |
US20080208930A1 (en) | 2008-08-28 |
US7992072B2 (en) | 2011-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101256529B (zh) | 管理数据阵列中的冗余的方法和系统 | |
CN101276302B (zh) | 一种磁盘阵列系统中磁盘故障处理和数据重构方法 | |
US20070113006A1 (en) | Apparatus and method to configure one or more storage arrays | |
US9104790B2 (en) | Arranging data handling in a computer-implemented system in accordance with reliability ratings based on reverse predictive failure analysis in response to changes | |
CN100390745C (zh) | 在处理数据时检验数据完整性的装置及方法 | |
US7418623B2 (en) | Apparatus and method to reconfigure a storage array | |
CN100498680C (zh) | 生成校验值的raid存储适配器、系统和方法 | |
US7093069B2 (en) | Integration of a RAID controller with a disk drive module | |
CN103793182A (zh) | 可扩展存储保护 | |
CN103534688B (zh) | 数据恢复方法、存储设备和存储系统 | |
WO2009101074A2 (en) | Apparatus and method to allocate resources in a data storage library | |
CN102024044A (zh) | 分布式文件系统 | |
US7404104B2 (en) | Apparatus and method to assign network addresses in a storage array | |
JP6212934B2 (ja) | ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法 | |
CN100504748C (zh) | 备用设备管理的方法和系统 | |
JP2005276196A (ja) | ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法 | |
JP4939205B2 (ja) | データ記憶システムに配置された記憶アレイを再構成するための装置及び方法 | |
US9535619B2 (en) | Enhanced reconstruction in an array of information storage devices by physical disk reduction without losing data | |
CN103246478A (zh) | 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统 | |
CN103530206B (zh) | 一种数据恢复的方法和设备 | |
KR101163265B1 (ko) | 저장 시스템의 오류 허용오차 증가 방법, 저장 유닛 어레이의 오류 허용오차 증가 방법, 데이터 저장 시스템 및 데이터 처리 시스템 | |
CN100388222C (zh) | 将存储卷从故障系统重新分配到完好系统的方法和系统 | |
CN101158915A (zh) | 作为修改记录操作的部分的核实记录的方法和系统 | |
CN111240903A (zh) | 数据恢复方法及相关设备 | |
US7506201B2 (en) | System and method of repair management for RAID arrays |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110316 Termination date: 20190121 |
|
CF01 | Termination of patent right due to non-payment of annual fee |