CN101256471A - 数据阵列选择的方法和系统 - Google Patents

数据阵列选择的方法和系统 Download PDF

Info

Publication number
CN101256471A
CN101256471A CNA2008100036991A CN200810003699A CN101256471A CN 101256471 A CN101256471 A CN 101256471A CN A2008100036991 A CNA2008100036991 A CN A2008100036991A CN 200810003699 A CN200810003699 A CN 200810003699A CN 101256471 A CN101256471 A CN 101256471A
Authority
CN
China
Prior art keywords
raid
array
raid array
data
arrays
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
CNA2008100036991A
Other languages
English (en)
Other versions
CN101256471B (zh
Inventor
雅各布·L·舍帕德
科尔特·A·劳夫林
罗伯特·A·库博
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101256471A publication Critical patent/CN101256471A/zh
Application granted granted Critical
Publication of CN101256471B publication Critical patent/CN101256471B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/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/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/1096Parity calculation or recalculation after configuration or reconfiguration of the system

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)

Abstract

提供一种方法,系统和制品,其中保持耦合至存储控制器的多个数据阵列。根据预定的选择规则从所述多个数据阵列中选择数据阵列。通过将数据写入到所选择的数据阵列中,在所选择的数据阵列中冗余地存储数据。

Description

数据阵列选择的方法和系统
技术领域
本发明涉及一种选择数据阵列的方法,系统和制品。
背景技术
在某些计算环境中,主机系统可以向控制单元,如IBM的企业存储服务器(ESS)传送请求,以请求ESS所管理的存储设备中的数据,其中ESS可以提供对存储设备,例如通过一个或多个逻辑路径互连的硬盘驱动器的访问。该互连的硬盘驱动器可以配置为直接访问存储设备(DASD),独立盘冗余阵列(RAID),简单盘捆绑(JBOD)等等。控制单元可以在本地存储器中保持关键性系统元数据,其中在某些情形下可能需要该关键性系统元数据来确定系统的配置。如果关键性系统元数据是损坏的(corrupted),无效的或不可用的,则控制单元可能会出现故障或不得不重新配置。关键性系统元数据可能从主机系统上隐匿起来,并且可能只能用于控制单元的操作系统。
发明内容
提供一种方法,系统和制品,其中保持耦合至存储控制器的多个数据阵列。根据预定的选择规则从所述多个数据阵列中选择数据阵列。通过将数据写入到所选择的数据阵列中,在所选择的数据阵列中冗余地存储数据。
在某些实施例中,数据阵列是RAID阵列,其中从所述多个数据阵列中选择数据阵列的步骤还包括:响应于确定了所述多个RAID阵列具有多于三个的RAID阵列,根据预定的选择规则从所述多个RAID阵列中选择三个RAID阵列。
在另外的实施例中,如果第一RAID阵列处于比第二RAID阵列更好的秩细节状态,则优先于第二RAID阵列选择第一RAID阵列用于冗余地存储数据,其中良好秩细节状态好于重建秩细节状态,其中重建秩细节状态好于暴露秩细节状态,并且其中暴露秩细节状态好于退化秩细节状态。
在其他实施例中,多个双环路将多个RAID阵列耦合至存储控制器,其中所选择的第一RAID阵列优选位于与所选择的第二RAID阵列不同的双环路中。
在更多实施例中,用于选择RAID阵列的预定选择规则基于所述多个RAID阵列驱动器类型的可靠性和性能的权重,其中如果根据权重第一RAID阵列好于第二RAID阵列,则优先于第二RAID阵列选择第一RAID阵列用于冗余地存储数据。
附图说明
现在参照附图,其中自始至终,类似的附图标记代表相应的部件:
图1图示了根据某些实施例,计算环境的方框图;
图2图示了根据某些实施例,显示优先化规则指示符数据结构的方框图;
图3图示了根据某些实施例,用于选择数据阵列的操作;
图4图示了根据某些实施例,显示根据秩细节状态的示例性优先化的方框图;
图5图示了根据某些实施例,显示RAID类型,秩细节状态,和RAID 6完全状态对RAID阵列选择的影响的方框图;
图6图示了根据某些实施例,显示RAID 6的示例性优先化的方框图;
图7图示了根据某些实施例,显示根据适配器和双环路的配置选择RAID阵列的方框图;
图8图示了其中实现实施例某些所描述方面的计算机架构的方框图。
具体实施方式
在下述描述中,对构成本发明一部分并且图解说明若干实施例的附图进行参照。应当理解其他实施例也可以使用,并且可以进行结构和操作上的变化。
图1图示了根据某些实施例,计算环境100的方框图。一个或更多主机102通过多个适配器108,向耦合至多个数据阵列如RAID阵列106的存储控制器104传送输入/输出(I/O)请求。在图1中,RAID阵列106也通过参考数字106a,106b,...106n来指示,而多个适配器108也通过参考数字108a,108b,...,108m来指示。
存储控制器104可以包括本领域已知的任何适当的计算设备,例如企业存储服务器,个人计算机,工作站,服务器,大型机,手持计算机,掌上电脑,电话设备,网络设备,等等。尽管图1显示多个数据阵列是RAID阵列106,在替代实施例中数据阵列可以包括本领域已知的任何适当的存储设备,在这里适当的存储设备可以配置为与RAID不同的,诸如DASD,JBOD等的其他配置。
主机102可以通过网络(未示出),诸如局域网(LAN),存储区域网络(SAN),广域网(WAN),无线网络等与存储控制器104进行通信。替代地,主机102可以通过总线接口,例如外设部件互联(PCI)总线或串行接口与存储控制器104进行通信。多个适配器108可以创建将RAID阵列106耦合至存储控制器104的双环路。
多个RAID阵列106a,106b,...,106n中的每一个均可以包括一个或多个盘部件。例如,RAID阵列106b可以包括盘部件110a,110b,...110r,而RAID阵列106b可以包括盘部件112a,112b,...112s,而RAID阵列106n可以包括盘部件114a,114b,...,114t。每个盘部件均可以包括数据盘,奇偶校验盘,或任何其他类型的盘或部件。
在某些实施例中,计算设备104中的选择应用程序116可以从多个RAID阵列106a,106b,...106n中选择RAID阵列,在某些实施例中所选择的RAID阵列可以用来存储数据,例如关键性系统元数据。这些关键性系统元数据可以冗余地存储在所选择的RAID阵列中。选择应用程序116使用包括选择规则120的优先化规则数据结构118,以便确定从多个RAID阵列106a...106n中选择哪个RAID阵列来存储关键性系统元数据。在图1中,选择应用程序116从多个RAID阵列106a...106n中选择三个RAID阵列,而这三个所选择RAID阵列122,123,126的逻辑表达形式包含在称作RAID阵列表达形式128的数据结构中。尽管在图1中从多个RAID阵列106a...106n中选择了三个RAID阵列用于存储关键性系统元数据,但是在替代实施例中,可以选择更少数目的RAID阵列用于存储关键性系统元数据。RAID阵列还可以称作RAID秩(rank)。
所选择的这三个RAID阵列122,124和126可以用来冗余地存储关键性系统元数据。例如,在某些实施例中,在所选择的三个RAID阵列122,124和126的每一个当中,均可以镜像(mirror)关键性系统元数据。尽管在某些实施例中,所选择的这三个RAID阵列122,124和126中存储的数据包括关键性系统元数据,但是在替代实施例中,也可以在所选择的这三个RAID阵列中存储其他类型的数据或元数据。
在图1所示的某些实施例中,选择规则120可以基于RAID阵列106a...106n的RAID阵列状态,RAID阵列106a...106n的RAID阵列类型,以及通过适配器108a...108m保持的存储控制器与RAID阵列106a...106n之间的适配器对连接。选择应用程序116使用选择规则120以便确定从多个RAID阵列106a...106n中所选择的三个RAID阵列来存储关键性系统元数据。通过将所选择RAID阵列的数目限制为三个,选择应用程序确保存储控制器104运行在预期的性能水平,同时提供系统关键性元数据的冗余性。如果选择了多于三个的RAID阵列,那么对存储控制器104的性能影响可能会更大。
图2图示了根据某些实施例,显示在计算环境100的存储控制器104中实现的优先化规则指示符数据结构118的方框图。
选择规则120包括与秩细节状态选择优先化222,适配器/双环路分离选择优先化224,秩驱动器类型选择优先化226,和秩RAID类型选择优先化228相对应的数据结构。
在RAID阵列106a...106n的数目大于三的某些实施例中,选择应用程序116可以根据优先化规则数据结构118中包含的选择规则120,选择在性能和可靠性方面具有最佳特性的三个RAID阵列。所选择的RAID阵列122,124,126基于按照下述递降次序或重要性的,以下四个标准的组合(用图2中的参考数字130指示):
1)秩细节状态选择优先化(第一标准)222;
2)适配器/双环路分离选择优先化(第二标准)224;
3)秩驱动器类型选择优先化(第三标准)226;及
4)秩RAID类型选择优先化(第四标准)228;
当选择应用程序116考虑新的RAID阵列来替换先前所选择的RAID阵列之一时(在这里先前所选择的RAID驱动器很可能可以用来存储关键性系统元数据),选择应用程序116可以按照上述提供的次序来考虑这四个标准。如果新的RAID阵列比先前所选择的RAID阵列更适合于存储关键性系统元数据,那么可以越过(over)先前所选择的RAID阵列而选择新的RAID阵列,反之如果新的RAID阵列不太适当的话,则舍弃(reject)新的RAID阵列。如果根据一个标准新的RAID阵列与先前所选择的RAID阵列同样适当的话,那么比较该新的RAID阵列与先前所选择的RAID阵列,以便根据下一个标准进行选择。
因此,图2图示了一些实施例,其中各种选择规则222,224,226,228具有不同的优先级,而选择应用程序116可以越过具有较低优先级的选择规则,使用具有更高优先级的选择规则,以便选择RAID122,124和126用于存储关键性系统元数据。
图3图示了根据某些实施例,用于选择RAID阵列的操作。这些操作可以由存储控制器104中实现的选择应用程序116来执行。
控制在框300开始并继续进行到框302,在这里选择应用程序116确定从其中选择RAID阵列用于存储关键性系统元数据的多个RAID阵列106a...106n中RAID阵列的数目。
控制进行到框304,在这里选择应用程序116确定要进行选择的RAID阵列的数目是否大于三。倘若如此,则选择应用程序116根据优先化规则数据结构118中提供的选择规则,(在框306)选择三个RAID阵列。选择应用程序(在框308)分配所选择的RAID阵列以用于存储关键性系统元数据,从而过程停止(在框310)。
如果在框304,选择应用程序116确定要进行选择的RAID阵列的数目不大于三,则控制进行到框312。在框312,选择应用程序116确定是否所有的RAID阵列均处于不可访问状态。倘若如此,那么(在框314)选择不处于不可访问状态的所有RAID阵列以用于存储关键性系统元数据。否则,(在框316)选择所有的RAID阵列(三个或数目上更少)以用于存储关键性系统元数据。控制从框314和316进行到框308。
因此,图3图示了至少一个实施例,其中根据优先化规则指示符数据结构118中提供的选择规则120,从多个RAID阵列中选择最多三个RAID阵列,其中最多三个RAID阵列用于存储关键性系统元数据。
图4图示了根据某些实施例,显示根据秩细节状态的示例性优先化的方框图。图4所示的示例性优先化可以实现为优先化规则指示符数据结构118的选择规则120。
图4的示例性秩细节状态选择优先化400显示了以下内容:
1)为处于良好状态404的RAID秩指示了比处于重建状态406的RAID秩更高的用于选择的优先级(参考数字402);
2)为处于重建状态406的RAID秩指示了比处于暴露状态408的RAID秩更高的用于选择的优先级(参考数字402);及
3)为处于暴露状态408的RAID秩指示了比处于退化状态410的RAID秩更高的用于选择的优先级(参考数字402)。
图4图示了,为了用新的RAID秩来替换现有的三个RAID秩之一,新秩的细节状态应当比现有的三个RAID中任何一个都好。按照合意的递降次序,可接受的秩细节状态是良好,重建,暴露和退化。并非所有的秩细节状态都可以用于所有的RAID阵列。例如,退化状态只能够用于RAID 6和RAID 10秩。
图5图示了根据某些实施例,显示RAID类型,秩细节状态,和RAID 6完全状态对选择RAID阵列的影响的方框图500。用于方框图500的RAID 6完全状态502的缩写G,I,R,X,Z,P和NA在图6提供的图例504中进行描述。
图5显示了当与其他RAID类型和其他RAID类型的秩细节状态进行比较时,RAID 6阵列完全状态如何影响三个RAID阵列的选择。在图6中,对于存储关键性系统元数据更好的秩具有较低的层数(tiernumber)。例如,层1(参考数字506)比层2(参考数字508)更可取,层2比层3(参考数字510)更可取,依此类推。
图6图示了根据某些实施例,显示要在优先化规则数据结构118中使用的RAID 6的示例性优先化的方框图600。
在图6中,优先化次序601基于RAID阵列106a...106n的盘部件状态110a...110r,112a...112s,114a...114t。尽管图6中指示的参考数字602,604,606,608,610显示了某些实施例的某些排序集合,但是却没有指示出具有更低优先级的,与其他盘部件状态相关联的其他排序。从图6可以看出,某些盘部件的组合,诸如606a,606b,606c,606d可以具有相同的选择优先级。
图7图示了根据某些实施例,显示根据适配器和双环路的配置来选择RAID阵列的方框图700。在图7中,用“更高优先级”指示(参考数字701)来显示所选择RAID阵列的优先级次序。
在图7中,最高的优先级用于这样的情况(参考数字702),其中所选择的RAID阵列704,706,708通过不同的适配器710,712,714耦合至存储控制器104。第二高的优先权用于这样的情况(参考数字716),在这里所选择的RAID阵列718,720,722在两个不同的双环路724,726之间展开,所述双环路724,726将所选择的RAID阵列718,720,722耦合至存储控制器104。最低的优先级用于这样的情况(参考数字726),其中所选择的RAID阵列728,730和732在相同的双环路734中,所述双环路734将所选择的RAID阵列728,730,732耦合至存储控制器104。
如图7所示,在某些实施例中,如果添加新秩能够增加将RAID秩耦合至存储控制器104的适配器对的当前数目的话,选择应用程序104可以用新秩来替换现有的三个RAID秩之一。赋予适配器对分离高于RAID类型和驱动器类型,但低于秩细节状态的权重。
某些计算机可能只拥有单独一个适配器对,而数据阵列可能包含在双环路中。选择应用程序104可以使用双环路信息以确保在这样的计算机中,RAID秩之一在一个双环路726中,而另外两个RAID秩在其他双环路724上。
在某些实施例中,按照为了选择RAID秩以存储关键性系统元数据的优先排列次序,所支持的RAID秩类型是RAID 10,RAID 6,和RAID 5。如果新的RAID秩具有更好的RAID类型,选择应用程序104可以替换现有的RAID秩。RAID 6阵列通常比RAID 10阵列更可靠,因为RAID 6可以经受得住任意两个驱动器出现故障,而RAID10阵列中两个镜像驱动器的故障可能会导致数据丢失。即使如此,RAID 10阵列还是比RAID 6秩优先,这是因为在系统中有3个镜像的RAID秩,这给予了比足够绰绰有余的冗余性,并且还因为与RAID6秩相比RAID 10阵列具有优越的性能。因此,在某些实施例中,用于选择RAID阵列的预定选择规则基于多个RAID阵列的驱动器类型的可靠性和性能的权重,其中如果根据该权重第一RAID阵列比第二RAID阵列好,则优先于第二RAID阵列选择第一RAID阵列用于冗余地存储数据。
某些实施例允许在RAID 6类型阵列上存储关键性系统元数据,它提供了比RAID 5类型阵列更好的冗余性。某些实施例通过在分离的双环路上存储关键性系统元数据三个副本中的至少两个,降低了数据丢失的几率。某些实施例将关键性系统元数据移动到由最好的驱动器类型组成的系统中。
其他实施例细节
所描述的技术可以实现为方法,装置或制品,包括软件、固件,微代码、硬件和/或其任意组合。这里所使用的术语“制品”是指在媒质中实现的代码或逻辑电路,在此这些媒质可以包括硬件逻辑电路(例如集成电路芯片,可编程门阵列(PGA),专用集成电路(ASIC)等等),或者计算机可读存储介质,例如磁性存储介质(例如硬盘驱动器,软盘,磁带等等),光存储器(CD-ROM,光盘等等),易失性和非易失性存储设备[例如电可擦除可编程只读存储器(EEPROM),只读存储器(ROM),可编程只读存储器(PROM),随机存取存储器(RAM),动态随机存取存储器(DRAM),静态随机存取存储器(SRAM),闪存,固件,可编程逻辑,等等]。计算机可读存储介质中的代码由处理器进行访问和执行。在其中对代码或逻辑进行编码的媒质还可以包括通过空间或传输媒质,例如光纤、铜线等传播的传输信号。在其中对代码或逻辑进行编码的传输信号还可以包括无线信号,卫星传输,无线电波,红外线信号,蓝牙(Bluetooth)等等。在其中对代码或逻辑进行编码的传输信号能够用发射站发送并且用接收站接收,在这里传输信号中编码的代码或逻辑可以进行解码,并存储在接收和发射站或设备处的硬件或计算机可读介质中。另外,“制品”可以包括其中包含、处理和执行代码的硬件和软件部件的组合。当然,本领域技术人员能够认识到,在不脱离实施例范围的前提下可以进行许多修改,并且该制品可以包括任何一种信息承载媒质。例如,该制品包括存储介质,其中存储了当由机器执行时致使操作被执行的指令。
某些实施例可以采用纯粹硬件的具体实施形式,纯粹软件的具体实施形式,或者既包含硬件又包含软件元素的具体实施形式。在优选实施例中,本发明实现为软件形式,它包括但不限于固件,常驻软件,微代码等等。
此外,某些实施例可以采用计算机程序产品的形式,它可以从计算机可用或计算机可读介质进行访问,以便提供由计算机或任何指令执行系统使用或与其一起使用的程序代码。为了该描述的目的,计算机可用或计算机可读介质可以是能够包含,存储,传送,传播或传输由指令执行系统、装置或设备使用或与其一起使用的程序的任意装置。该介质可以是电子的、磁性的、光的、电磁的、红外线的、或半导体的系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器,磁带,可移动计算机盘,随机存取存储器(RAM),只读存储器(ROM),硬性磁盘和光盘。光盘的当前例子包括光盘-只读存储器(CD-ROM),光盘-读/写(CD-R/W)和DVD。
术语“某些实施例”,“某一实施例”,“实施例”及其复数形式、“该实施例”,“这些实施例”,“一个或多个实施例”,“一些实施例”,和“一个实施例”意指一个或多个(但不是所有的)实施例,除非另外特别规定。术语“包含”、“包括”、“具有”及其各种变形意指“包括但不限于”,除非另外特别规定。项目的列举列表并不意味着任何或所有的项目都相互排斥,除非另外特别规定。术语“一”、“一个”和“所述”意指“一个或多个”,除非另外特别规定。
彼此相互通信的设备不需要持续地相互通信,除非另外特别规定。另外,彼此相互通信的设备可以直接通信,或者通过一个或多个中间媒介间接通信。另外,关于彼此相互通信的若干部件的实施例的描述并不意味着所有这些部件都是必需的。相反,描述各种任选的部件是为了说明更广泛的可能实施例。
此外,尽管可以按照连续的顺序来描述处理步骤,方法步骤,算法等,但这些处理,方法和算法也可以配置为按照交替的顺序来工作。换句话说,可以描述的任何步骤序列或次序不必表示要执行的步骤必须要按照该次序来执行。此处所描述的处理步骤可以按照任何实际次序来执行。此外,某些步骤可以同时地,并行地,或并发地执行。
当在此处描述单独一个设备或物品时,很显然可以使用多于一个的设备/物品(不管它们是否协同工作)来替代单独一个设备/物品。同样,尽管此处描述了多于一个的设备或物品(不管它们是否协同工作),很显然也可以使用单独一个设备/物品来替代多于一个的设备或物品。某一设备的功能和/或特征替代地可以用没有明确描述为具有这些功能/特征的一个或多个其他设备来体现。因此,其他实施例不需要自身包括这些设备。
图8图示了计算系统800的架构,其中在某些实施例中,可以根据计算系统800的架构实现图1的计算环境100的存储控制器104。计算系统800还可以称作系统,并且可以包含电路802,在某些实施例中电路802可以包含处理器804。系统800还可以包含内存储器806(例如易失性存储器),和存储器808。存储器808可以包括非易失性存储设备(例如EEPROM,ROM,PROM,RAM,DRAM,SRAN,闪存,固件,可编程逻辑等等),磁盘驱动器,光盘驱动器,磁带驱动器,等等。存储器808可以包括内部存储设备,附属存储设备和/或可以通过网络进行访问的存储设备。系统800可以包括程序逻辑810,它包含可以加载到内存储器806中,并由处理器812或电路802执行的代码812。在某些实施例中,包含代码812的程序逻辑810可以存储在存储器808中。在某些其他实施例中,程序逻辑810可以在电路802中实现。因此,尽管图8显示程序逻辑810与其他元件分离,但程序逻辑810也可以在存储器806和/或电路802中实现。
某些实施例可能涉及由人员或自动处理来部署计算指令的方法,以便将计算机可读代码集成到计算系统中,其中使该代码与计算系统组合后能执行所述实施例的操作。
图1-8中所示的至少某些操作可以并行地执行,以及顺序地执行。在替代实施例中,某些操作可以按照不同的次序,修改过或移除过的次序来执行。
此外,为了图解说明的目的,许多软件和硬件部件都描述为分离的模块。这些部件可以集成到更少的部件中,或分为更多数目的部件。另外,描述为由特定部件执行的某些操作可以由其他部件执行。
图1-8中所示或提及的数据结构和部件描述为具有特定类型的信息。在替代实施例中,这些数据结构和部件可以按照不同方式来构造,并且与附图中所示或提及的那些数据结构和部件相比,具有更少的,更多的或不同的字段或不同的功能。
因此,为了说明和描述的目的,呈现了前述对实施例的描述。但并非意图是穷尽的,或者将实施例局限于所披露的确切形式。考虑到上述教导,有可能作出许多修改和变形。
IBM和企业存储服务器是IBM公司的商标或注册商标。

Claims (10)

1.一种方法,包括:
保持耦合至存储控制器的多个数据阵列;
根据预定的选择规则从所述多个数据阵列中选择数据阵列;以及
通过将数据写入到所选择的数据阵列中,在所选择的数据阵列中冗余地存储数据。
2.根据权利要求1的方法,其中所述数据阵列是RAID阵列,其中从所述多个数据阵列中选择数据阵列的步骤还包括:
响应于确定所述多个RAID阵列具有多于三个的RAID阵列,根据预定的选择规则从所述多个RAID阵列中选择三个RAID阵列。
3.根据权利要求2的方法,其中如果第一RAID阵列处于比第二RAID阵列更好的秩细节状态,则优先于第二RAID阵列选择第一RAID阵列用于冗余地存储数据,其中良好秩细节状态好于重建秩细节状态,其中重建秩细节状态好于暴露秩细节状态,并且其中暴露秩细节状态好于退化秩细节状态。
4.根据权利要求2的方法,其中多个双环路将所述多个RAID阵列耦合至存储控制器,其中所选择的第一RAID阵列优选位于与所选择的第二RAID阵列不同的双环路中。
5.根据权利要求2的方法,其中用于选择RAID阵列的预定选择规则基于所述多个RAID阵列驱动器类型的可靠性和性能的权重,其中如果根据权重第一RAID阵列好于第二RAID阵列,则优先于第二RAID阵列选择第一RAID阵列用于冗余地存储数据。
6.一种与多个数据阵列进行通信的存储控制器,该存储控制器包括:
存储器;和
处理器,耦合至该存储器,其中该处理器执行操作,所述操作包括:
(i)根据预定的选择规则从所述多个数据阵列中选择数据阵列;以及
(ii)通过将数据写入到所选择的数据阵列中,在所选择的数据阵列中冗余地存储数据。
7.根据权利要求6的存储控制器,其中所述数据阵列是RAID阵列,其中从所述多个数据阵列中选择数据阵列的步骤还包括:
响应于确定所述多个RAID阵列具有多于三个的RAID阵列,则根据预定的选择规则从所述多个RAID阵列中选择三个RAID阵列。
8.根据权利要求7的存储控制器,其中如果第一RAID阵列处于比第二RAID阵列更好的秩细节状态,则优先于第二RAID阵列选择第一RAID阵列用于冗余地存储数据,其中良好秩细节状态好于重建秩细节状态,其中重建秩细节状态好于暴露秩细节状态,并且其中暴露秩细节状态好于退化秩细节状态。
9.根据权利要求7的存储控制器,其中多个双环路将所述多个RAID阵列耦合至存储控制器,其中所选择的第一RAID阵列优选位于与所选择的第二RAID阵列不同的双环路中。
10.根据权利要求7的存储控制器,其中用于选择RAID阵列的预定选择规则基于所述多个RAID阵列驱动器类型的可靠性和性能的权重,其中如果根据权重第一RAID阵列好于第二RAID阵列,则优先于第二RAID阵列选择第一RAID阵列用于冗余地存储数据。
CN2008100036991A 2007-02-26 2008-01-21 数据阵列选择的方法和系统 Expired - Fee Related CN101256471B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/679,118 US7783917B2 (en) 2007-02-26 2007-02-26 Selection of data arrays
US11/679,118 2007-02-26

Publications (2)

Publication Number Publication Date
CN101256471A true CN101256471A (zh) 2008-09-03
CN101256471B CN101256471B (zh) 2011-05-04

Family

ID=39717302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100036991A Expired - Fee Related CN101256471B (zh) 2007-02-26 2008-01-21 数据阵列选择的方法和系统

Country Status (2)

Country Link
US (1) US7783917B2 (zh)
CN (1) CN101256471B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014060884A1 (en) * 2012-10-18 2014-04-24 International Business Machines Corporation Global data establishment for storage arrays controlled by plurality of nodes
US9207868B2 (en) 2012-10-18 2015-12-08 International Business Machines Corporation Validation of storage arrays based on information stored in global metadata
CN107229423A (zh) * 2017-05-31 2017-10-03 郑州云海信息技术有限公司 数据处理方法、装置以及系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5552924B2 (ja) * 2010-06-30 2014-07-16 富士通株式会社 ストレージ制御プログラム、ストレージシステムおよびストレージ制御方法
GB2504956A (en) * 2012-08-14 2014-02-19 Ibm Management of RAID error recovery procedures and configuration
US9632889B2 (en) * 2012-11-12 2017-04-25 Oracle International Corporation Method for the optimization of performance, capacity and redundancy in digital data storage systems
US10649867B2 (en) * 2017-12-15 2020-05-12 Western Digital Technologies, Inc. RAID array rebuild assist from external array copy
US11151056B2 (en) * 2019-04-25 2021-10-19 EMC IP Holding Company LLC Efficient virtualization layer structure for a data storage system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848230A (en) 1995-05-25 1998-12-08 Tandem Computers Incorporated Continuously available computer memory systems
SG97920A1 (en) * 1999-10-18 2003-08-20 Ibm Address wrap function for addressable memory devices
US6578158B1 (en) 1999-10-28 2003-06-10 International Business Machines Corporation Method and apparatus for providing a raid controller having transparent failover and failback
US6571354B1 (en) * 1999-12-15 2003-05-27 Dell Products, L.P. Method and apparatus for storage unit replacement according to array priority
US6718434B2 (en) * 2001-05-31 2004-04-06 Hewlett-Packard Development Company, L.P. Method and apparatus for assigning raid levels
US20030217211A1 (en) * 2002-05-14 2003-11-20 Rust Robert A. Controller communications over an always-on controller interconnect
US7937551B2 (en) * 2003-01-21 2011-05-03 Dell Products L.P. Storage systems having differentiated storage pools
JP2005031928A (ja) 2003-07-11 2005-02-03 Hitachi Ltd 記憶システム及び記憶システムの障害特定方法
JP4421230B2 (ja) * 2003-08-12 2010-02-24 株式会社日立製作所 性能情報分析方法
US7191283B2 (en) * 2003-08-21 2007-03-13 International Business Machines Corporation Grouping of storage media based on parameters associated with the storage media
CN100405377C (zh) * 2005-04-08 2008-07-23 中国科学院半导体研究所 一种模拟电路数据阵列描述方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014060884A1 (en) * 2012-10-18 2014-04-24 International Business Machines Corporation Global data establishment for storage arrays controlled by plurality of nodes
US9207868B2 (en) 2012-10-18 2015-12-08 International Business Machines Corporation Validation of storage arrays based on information stored in global metadata
US9244621B2 (en) 2012-10-18 2016-01-26 International Business Machines Corporation Global data establishment for storage arrays controlled by a plurality of nodes
US9336012B2 (en) 2012-10-18 2016-05-10 International Business Machines Corporation Global data establishment for storage arrays controlled by a plurality of nodes
US10108362B2 (en) 2012-10-18 2018-10-23 International Business Machines Corporation Validation of storage arrays based on information stored in global metadata
CN107229423A (zh) * 2017-05-31 2017-10-03 郑州云海信息技术有限公司 数据处理方法、装置以及系统

Also Published As

Publication number Publication date
CN101256471B (zh) 2011-05-04
US20080209253A1 (en) 2008-08-28
US7783917B2 (en) 2010-08-24

Similar Documents

Publication Publication Date Title
CN101256471B (zh) 数据阵列选择的方法和系统
CN101322105B (zh) 用于重新配置存储阵列的装置和方法
JP4986045B2 (ja) 二重アクティブ・コントローラ内のライト・キャッシュ・データのフェイルオーバーおよびフェイルバック
US20070113006A1 (en) Apparatus and method to configure one or more storage arrays
CN105745627B (zh) 用于非易失性存储器存储设备的地址转换
CN100461125C (zh) 用于传送数据块的方法和系统
CN101405691B (zh) 从raid适配器卸载盘相关任务
CN1955940B (zh) Raid系统、raid控制器及其重建或拷回处理方法
US8041984B2 (en) Redundancy information for adjusting threshold for component failure in a multi-layer system
CN101617295B (zh) 集群对中的子系统控制器及集群操作方法
US6851022B2 (en) Raid controller and control method thereof
US20100312961A1 (en) Method and system for storing excess data in a redundant array of independent disk level 6
CN101351760A (zh) 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统
CN100498680C (zh) 生成校验值的raid存储适配器、系统和方法
US8438332B2 (en) Apparatus and method to maintain write operation atomicity where a data transfer operation crosses a data storage medium track boundary
US8032702B2 (en) Disk storage management of a tape library with data backup and recovery
US20060236149A1 (en) System and method for rebuilding a storage disk
CN103534688B (zh) 数据恢复方法、存储设备和存储系统
CN102576323B (zh) 一种促进存储系统中的数据的复制的方法和系统
CN101971148A (zh) 选择用于数据存储库的重复删除协议
WO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
TW200540623A (en) System and method for drive recovery following a drive failure
CN101310250A (zh) 选择包括首要和次级群集上的端口的路径以用于将位于首要卷的数据传输到次级卷
JP2013117922A (ja) ディスクシステム、データ保持装置、及びディスクデバイス
CN101957728B (zh) 用于向本地物理卷复制远程虚拟卷的装置和方法

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: 20110504

Termination date: 20190121

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