CN101390059B - 用于并发raid阵列重定位的装置及方法 - Google Patents

用于并发raid阵列重定位的装置及方法 Download PDF

Info

Publication number
CN101390059B
CN101390059B CN2007800061164A CN200780006116A CN101390059B CN 101390059 B CN101390059 B CN 101390059B CN 2007800061164 A CN2007800061164 A CN 2007800061164A CN 200780006116 A CN200780006116 A CN 200780006116A CN 101390059 B CN101390059 B CN 101390059B
Authority
CN
China
Prior art keywords
module
drive
reorientation
source drive
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007800061164A
Other languages
English (en)
Other versions
CN101390059A (zh
Inventor
M·J·卡洛斯
R·A·库博
R·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 CN101390059A publication Critical patent/CN101390059A/zh
Application granted granted Critical
Publication of CN101390059B publication Critical patent/CN101390059B/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/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/2069Management of state, configuration or failover
    • 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
    • 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

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)
  • Stored Programmes (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种装置、系统和方法被公开,用于并发地重定位RAID阵列。所述装置包括识别模块、指定模块和实现模块。所述识别模块识别供者阵列化存储设备中的物理设备对卸载重定位封套的源驱动器的可用性。所述指定模块将可用物理设备指定为目标驱动器,以及由此将所述目标驱动器和所述源驱动器指定为链接的对。所述实现模块实现所述目标驱动器与所述源驱动器之间的镜像关系。所述装置、系统和方法提供对RAID阵列的动态重定位,其最小化系统停机时间和最大化系统资源的高效利用。

Description

用于并发RAID阵列重定位的装置及方法
技术领域
本发明涉及阵列化存储设备,并且特别涉及在维持对系统的整个数据集的并发I/O访问的同时将RAID阵列从一个物理位置和/或系统动态地重定位到另一物理位置和/或系统。 
背景技术
现在,计算机系统继续经历比任何时候都更显著的在处理能力和总体系统性能上的改进。然而,随着计算能力随着时间已增长了几个数量级,一般来说I/O吞吐量已未能跟上。由 
Figure G2007800061164D00011
发明的、已帮助缩小了系统性能与I/O等待时间之间的所述差距的技术是独立磁盘冗余阵列(RAID)技术,其也被称为廉价磁盘冗余阵列。 
阵列是指派给一个组的相关硬盘驱动器模块的排列。存在多种版本的RAID,但一般地,RAID是硬盘驱动器模块的冗余阵列。典型RAID系统包括多个硬盘驱动器,其被配置为在所述多个驱动器之间共享和/或复制数据。多个物理设备封套(enclosure)可以被安装,其中,每个物理设备封套封装多个例如硬盘驱动器的联接的物理设备。 
在所述硬盘驱动器的最初引入时,存储设备被认为是物理设备方面的。小型系统可以包括可能具有多个碟片的单一驱动器。大型系统可以包括通过一个或更多控制器被联接的多个驱动器,例如DASD(直接访问存储设备)链。DASD是一种磁盘存储形式,其历史上被用于大型机和小型机(中等的)环境中。RAID是一种DASD形式。直接访问是指所有数据可以以与基于顺序搜遍数据的存储系统(例如磁带驱动器)相反的索引(也称为随机访问)的形式被直接访问。 
随着对存储空间的需求超过存储成本的速度,基于RAID存储系统的逻辑设备的概念被发明。逻辑设备或逻辑驱动器是被映射为看起来像单一逻辑设备的独立物理设备的阵列。由此,所述逻辑设备对于宿主计算机而言看起来像单一的本地硬盘驱动器。 
最初,RAID系统的关键优点是组合使用较老技术的多个低成本硬盘驱动器的能力,其提供当与使用最新技术的单一设备相比时增长了的速度、容量和/或可靠性。由于该原因,RAID中的“I”最初被理解为意味着廉价,并且该理解在许多情况下仍然成立,例如在其中IDE/ATA(集成驱动器电子技术/高级技术联接)磁盘被使用的情况下。 
然而,廉价的IDE/ATA RAID系统一般使用单一RAID控制器,其引入对于所述RAID系统的单点故障。更通常地,SCSI(小型计算机系统接口)硬盘被用于使用多个多通道SCSI或光纤通道RAID控制器的任务关键的RAID计算,其中,重点被放在每个独立RAID控制器的独立性和容错性上。这样,所述阵列中的每个物理设备可以与其它物理设备独立地被访问。SCSI RAID系统具有这样的附加好处:每个RAID控制器上的用于处理数据访问的专用处理器,其缓解宿主计算机处理器以便当需要时实施其它任务。 
取决于所使用的RAID的版本,RAID的好处可以是I/O吞吐量、存储容量、容错性、数据完整性或其任意组合。随着现在的业务成功越来越依赖于数据的快速传输和处理,RAID提供用于满足现在的业务关键计算的需求的行业标准平台,其是在实现面向需求、事务的应用时非常有效的一种技术。 
最初的RAID规范建议了许多原型RAID级别或存储设备的可变组合和配置。每个级别都具有理论上的优点和缺点。多年来,RAID概念的不同实现已出现。多数概念基本上不同于最初设想的RAID级别,但已编号的名称仍被保持。 
RAID级别0或RAID 0(也称为条带化集合)是RAID的最简单形式。RAID 0跨两个或更多磁盘均匀地拆分数据来创建单一的、更大的设备, 其中不带任何用于冗余的奇偶信息。RAID 0不提供冗余。RAID 0仅提供增长了的容量,但可以被配置为还提供增长了的性能和吞吐量。RAID 0是RAID存储的最成本高效的形式,然而,给定RAID 0集合的可靠性等于(1-Pf)n,其中,Pf是一个磁盘的故障率,以及n是阵列中的磁盘的数量。即,可靠性随磁盘数量的增长指数地下降。 
在RAID 1配置中,也称为镜像,每个设备被镜像到第二设备上。RAID1系统的焦点在于不牺牲性能情况下的可靠性和恢复。对一个设备的每次写在另一个上被复制。由于所安装的物理设备的数量必须是RAID 0配置中的可用空间的量的双倍,所以RAID 1是最昂贵的RAID级别。当独立RAID控制器被实现时,RAID 1系统提供完全的冗余。 
RAID 2在位级(bit-level)使数据条带化,并且使用Hamming(汉明)码进行错误纠正。磁盘由RAID控制器同步以便协力地运行。RAID 3使用具有专用奇偶磁盘的字节级(byte-level)条带化。RAID 3的副作用之一是:多个请求一般不能被同时服务。 
RAID 4使用具有专用奇偶磁盘的块级(block-level)条带化。除了条带在块级而非字节级之外,RAID 4看起来类似于RAID 3。RAID 5使用具有跨所有成员磁盘分布的奇偶数据的块级条带化。RAID 5是最流行的RAID级别之一,并且在硬件和软件实现中都被频繁使用。 
RAID 6经由添加另外的奇偶块来扩展RAID 5,由此,RAID 6使用具有跨所有成员磁盘分布的两个奇偶块的块级条带化。RAID 6不是最初RAID级别中的一个。RAID 6提供对于双倍磁盘故障和当单一磁盘在重建时的故障的保护。 
RAID控制器可以允许RAID级别被嵌套。取代于物理设备的阵列,嵌套RAID系统可以使用RAID设备的阵列。换句话说,嵌套RAID阵列是物理设备的逻辑上链接的阵列,其中,所述物理设备依次逻辑上链接为单一逻辑设备。嵌套RAID通常通过将指示RAID级别的号码连接成单一号码来表示,其中,所述号码之间有时有加号。 
RAID 0+1是用于在磁盘之间复制和共享数据的条带的镜像。除了所 嵌套RAID级别的顺序被颠倒之外,RAID 1+0或RAID 10类似于RAID0+1:RAID 10是镜像的条带。RAID 50将RAID 5的具有分布式奇偶的块级条带化与RAID 0的直接块级条带化结合。此即跨RAID 5单元被条带化的RAID 0阵列。 
企业RAID系统可以包括主机适配器、多个多通道RAID控制器、每个都包括多个存储设备的多个存储设备封套以及系统封套,其中,所述系统封套可以包括风扇、电源和其它容错特征。RAID可以或者用专用硬件或者用运行在标准硬件上的定制软件来实现。另外,存在这样的混合RAID系统,其是部分上基于软件并且部分上基于硬件的解决方案。 
RAID系统可以提供可热交换的驱动器以及某种级别的驱动器管理工具。热交换允许系统用户在不关闭总线或更坏情况下不关闭驱动器所联接到的系统的情况下移除和替换出故障的驱动器。通过使用使能了热交换的系统,驱动器可以通过开关的翻转或把手的旋动被移除,其在不中断RAID系统的情况下安全地将驱动器从总线拆离。 
RAID阵列和逻辑配置在系统中被创建的方式以及设备故障和维护活动的影响随着时间可以导致逻辑设备的物理位置迁移到不同的物理设备封套。由于所述行为,不仅可能而还非常可能,包括RAID阵列的逻辑设备的存储设备的物理位置随着时间可以从其初始位置移开。 
在RAID存储系统中,RAID控制器控制逻辑上链接的物理设备之间的逻辑关系。只要所述RAID控制器保持到所述逻辑上链接的物理设备的访问,逻辑设备的物理位置就相对独立于所述RAID控制器的位置。 
在DASD系统中,物理设备可以由被设计为允许所述物理设备的分布式配置的通信协议所互连。由此,物理设备可以被联接到物理设备的统一模块化分组中,从而所述配置可以通过添加另外的物理设备封套和DASD而递增地增长。 
除了为系统用户提供用于向该系统添加另外的物理设备封套和DASD的直接方法外,另外的好处来自这一已添加的能力:移除和重定位当前联接到该系统的已联接物理设备封套和DASD。 
系统用户可能希望向新系统添加存储容量,其中,现有系统包括与所述新系统兼容的未用/可用存储。不同于购买物理设备封套和DASD的另外增加的基础设施,开发和提供一种用于从现有系统移除物理设备封套和DASD的现有基础设施以及将所述物理设备封套和DASD重定位到所述新系统的方法将是有利的。 
当前,持续可用性是许多用户对其DASD存储系统的期望。考虑所述连续可用性期望,显而易见,需要一种用于组织RAID阵列设备及其物理位置的并发方法来提供移除离散封套实体和任何关联的DASD以用于向另一系统的重定位的能力。 
目前,当设备从RAID系统被移除时,该系统即刻被置入已降级模式中。当RAID系统带有一个或更多已故障或缺失驱动器而运行时,该RAID系统被说成是正在以已降级模式运行。如果剩余合作驱动器的一个出故障,则数据可用性不被中断,但所述RAID系统将接受故障。由此,一种用于重定位物理设备封套和DASD的现有基础设施的方法将避免以已降级模式运行所述RAID系统,维持对整个数据集合的并发I/O访问,以及为任务关键的系统应用提供不被中断的可用性。 
发明内容
相应地,本发明在第一方面中提供一种用于并发地重定位RAID阵列的装置,所述装置包括:识别模块,其被配置为识别阵列化存储设备中的物理设备对于卸载重定位封套的源驱动器的可用性;耦合到所述识别模块的指定模块,所述指定模块被配置为将可用物理设备指定为目标驱动器;以及耦合到所述指定模块的实现模块,所述实现模块被配置为实现所述目标驱动器与所述源驱动器之间的镜像关系。 
所述装置可以进一步包括耦合到所述识别模块的搜索模块,所述搜索模块被配置为在供者阵列化存储设备中的多个物理设备中搜索对于卸载所述重定位封套的源驱动器的可用性,以及在多个可用物理设备中搜索与所述源驱动器的最佳匹配。 
所述装置可以进一步包括耦合到所述识别模块的选择模块,所述选择模块被配置为在供者阵列化存储设备中的多个物理设备中选择多个可用物理设备,以及在所述多个可用物理设备中选择与所述源驱动器的最佳匹配。 
所述装置可以进一步包括耦合到所述实现模块的复制模块,所述复制模块被配置为将所述源驱动器的全部数据内容复制到所述目标驱动器。 
所述装置可以进一步包括耦合到所述实现模块的更新模块,所述更新模块被配置为:与所述复制模块的复制过程并发地将对所述源驱动器的更新与所述目标驱动器同步。 
所述装置可以进一步包括集成模块,所述集成模块被配置为:响应于所述复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标驱动器上,将所述目标驱动器集成为所述供者阵列化存储设备的完全阵列成员。 
所述装置可以进一步包括转换模块,所述转换模块被配置为:响应于所述复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标驱动器上,将所述源驱动器转换到自由态。 
所述装置可以进一步包括通知模块,所述通知模块被配置为,通知系统用户所述重定位封套可用于移除。 
所述装置可以进一步包括确定模块,所述确定模块被配置为,确定阵列化存储设备是否包含指定大小和类型的封套。 
本发明在第二方面中提供一种用于并发地重定位RAID阵列的系统,所述系统包括:宿主计算机,其被配置为接合多个阵列化存储设备;从耦合到所述宿主计算机的所述多个阵列化存储设备中选出的供者阵列化存储设备,其中,所述供者阵列化存储设备被配置为提供重定位封套;从耦合到所述宿主计算机的所述多个阵列化存储设备中选出的受者阵列化存储设备,其中,所述受者阵列化存储设备被配置为接收重定位封套;以及耦合到所述供者阵列化存储设备的重定位装置,所述重定位装置被配置为处理关联于重定位过程的操作。 
优选地,所述重定位装置包括:识别模块,其被配置为识别阵列化存 储设备中的物理设备对于卸载重定位封套的源驱动器的可用性;耦合到所述识别模块的指定模块,所述指定模块被配置为将可用物理设备指定为目标;以及耦合到所述指定模块的实现模块,所述实现模块被配置为实现所述目标驱动器与所述源驱动器之间的镜像关系。 
优选地,所述磁性数据存储设备包括阵列化存储控制器,其中,所述阵列化存储控制器被配置为控制阵列化存储设备的运转。 
在第三方面中,提供了一种计算机程序,所述计算机程序包括当被加载到计算机系统中并且在其上被执行时用于导致所述计算机系统实施用于并发地重定位RAID阵列的操作的计算机程序代码,其中,所述操作包括: 
识别供者阵列化存储设备中的物理设备对于卸载重定位封套的源驱动器的可用性;
将可用物理设备指定为目标驱动器;以及 
实现所述目标驱动器与所述源驱动器之间的镜像关系。 
由此可以提供一种信号承载媒体,所述信号承载媒体有形地包含可被数字处理装置执行以实施用于并发地重定位RAID阵列的操作的机器可读指令程序,其中,所述操作包括: 
识别供者阵列化存储设备中的物理设备对于卸载重定位封套的源驱动器的可用性;
将可用物理设备指定为目标驱动器;以及 
实现所述目标驱动器与所述源驱动器之间的镜像关系。 
优选地,所述操作进一步包括:在所述供者阵列化存储设备中的多个物理设备中搜索对于卸载重定位封套的源驱动器的可用性,以及在多个可用物理设备中搜索与所述源驱动器的最佳匹配。 
优选地,所述操作进一步包括:在所述供者阵列化存储设备中的多个物理设备中选择一个或更多可用物理设备,以及在所述可用物理设备中选择与所述源驱动器的最佳匹配。 
优选地,所述操作进一步包括,将所述源驱动器的全部数据内容复制到所述目标驱动器。 
优选地,所述操作进一步包括,与所述复制模块的复制过程并发地将对所述源驱动器的更新与所述目标驱动器同步。 
优选地,所述操作进一步包括,响应于所述复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标驱动器上,将所述目标驱动器集成为所述供者阵列化存储设备的完全阵列成员。 
优选地,所述操作进一步包括,响应于所述复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标驱动器上,将所述源驱动器转换到自由态。 
优选地,所述操作进一步包括,通知系统用户所述重定位封套可用于移除。 
本发明的几个实施例已响应于本领域的现有技术并且特别响应于本领域中还未被当前可用的RAID阵列重定位方法完全解决的问题和需求被开发。相应地,本发明还被开发为提供一种克服了上面讨论的许多或全部的本领域的缺点的、用于并发RAID阵列重定位的装置、系统和方法。 
所述用于重定位RAID阵列的装置配备了包含多个模块的逻辑单元,其中,所述多个模块被配置为功能上执行对于与其它任务和操作并发的RAID阵列的非中断性重定位必要的操作。在所描述的实施例中,这些模块包括识别模块、指定模块和实现模块。进一步的实施例包括搜索模块、选择模块、复制模块、更新模块、集成模块、转换模块和通知模块。 
所述识别模块将联接到阵列化存储设备的物理设备识别为可用于卸载联接到供者阵列化存储设备的源驱动器的数据内容。所述识别模块包括搜索模块和选择模块。 
在一个实施例中,所述识别模块可以识别连接到支持封套的移除的存储系统的阵列化存储设备。所述识别模块因而可以将阵列化存储设备识别为所述供者阵列化存储设备的候选。另外,所述识别模块可以将联接到所述供者阵列化存储设备的封套识别为所述重定位封套的候选。 
所述搜索模块搜索与联接到所述重定位封套的物理设备的最佳匹配,以便从联接到所述重定位封套的所述物理设备向联接到另一封套的物理设 备卸载所有已存储数据的镜像副本。在一个实施例中,所述搜索模块可以根据优选重定位封套的特征对阵列化存储设备搜索指定大小和类型的封套。 
所述选择模块选择用于从联接到所述重定位封套的物理设备向联接到另一封套的物理设备卸载所有已存储数据的镜像副本的最佳匹配。在一个实施例中,所述选择模块可以选择阵列化存储设备,从而搜索支持所联接的封套的移除的阵列化存储设备。 
所述指定模块将与联接到重定位封套的物理设备的最佳匹配指定为目标驱动器。所述指定模块还可以将联接到所述重定位封套的物理设备指定为源驱动器。由此,所述指定模块指定链接到目标驱动器的源驱动器的配对。 
所述实现模块实现源驱动器与目标驱动器之间的镜像关系。所述实现模块包括从所述源驱动器向所述目标驱动器复制数据的复制模块,以及与所述复制模块并发地在所述源驱动器与所述目标驱动器之间同步更新的更新模块。 
所述复制模块从源驱动器向目标驱动器复制所有已存储数据的镜像图像。在一个实施例中,所述复制模块与运行在所述供者阵列化存储设备上的其它任务并发地从所述源驱动器向所述目标驱动器复制所述数据,由此维持对所有已存储数据的访问和对任务关键的应用的可用性。 
贯穿所述复制过程,所述更新模块将向所述源驱动器发出的任何更新与所述目标驱动器同步。由此,贯穿所述复制过程,对所述源驱动器的更新被并发地同步到所述目标驱动器。在一个实施例中,所述更新模块同时向所述源驱动器和所述目标驱动器传递更新。 
所述集成模块将目标器驱动器集成为完全RAID阵列成员。由此,所述目标驱动器当来自所述源驱动器的新数据被复制和存储时被集成。所述集成模块可以从所述复制模块接收指示所述复制过程被完成的信号。所述复制模块可以另外向所述转换模块用信号发送所述复制过程的完成。相应地,所述实现模块然后可以移除所述源驱动器与所述目标驱动器之间的镜 像关系。 
所述转换模块将所述源驱动器转换到自由态。一旦所述转换模块转换了联接到所述重定位封套的每个源驱动器,所述转换模块然后可以用信号通知所述通知模块:所有源驱动器被释放为自由态,以及所有目标驱动器被转换为完全RAID阵列成员。 
所述通知模块通知系统用户所述重定位封套的自由态状态。在某些实施例中,所述通知模块通知系统用户:所述复制过程已成功完成,并且所述重定位封套目前对于从所述供者阵列化存储设备移除是安全的。所述系统用户然后自由地从所述供者阵列化存储设备移除和重定位所述重定位封套,以及在所述受者阵列化存储设备中安装所述重定位封套。 
所述确定模块确定阵列化存储设备是否包含指定大小和类型的封套。在一个实施例中,所述确定模块确定由系统用户指定的针对重定位的指定封套的特征。在其它实施例中,所述确定模块确定由宿主计算机或某个其它自治进程指定的针对重定位的指定封套的特征。 
本发明的系统还呈现为用于与其它任务和操作并行地、不中断地重定位RAID阵列。所述系统可以在阵列存储控制器中实现,其中,所述阵列存储控制器被配置为执行RAID阵列重定位进程。 
特别地,在一个实施例中,所述系统可以包括:被配置为接合多个阵列化存储设备的宿主计算机;从耦合到所述宿主计算机的所述多个阵列化存储设备中选出的供者阵列化存储设备,其中,所述供者阵列化存储设备被配置为提供重定位封套;以及从耦合到所述宿主计算机的所述多个阵列化存储设备中选出的受者阵列化存储设备,其中,所述受者阵列化存储设备被配置为接收重定位封套。 
所述系统还包括耦合到所述供者阵列化存储设备的重定位装置,其中,所述重定位装置被配置为与其它任务和操作并行地处理关联于用于重定位RAID阵列的重定位过程的操作。所述系统还可以包括阵列化存储控制器,其中,所述阵列化存储控制器被配置为控制阵列化存储设备的运转。 
在进一步的实施例中,所述系统可以包括重定位封套,其中,所述重 定位封套被配置为用于从所述供者阵列化存储设备的移除和向所述受者阵列化存储设备的重定位。 
信号承载媒体也被呈现,其用于存储程序,其中,所述程序当被执行时实施用于并行地重定位RAID阵列的操作。在一个实施例中,所述操作包括:识别供者阵列化存储设备中的物理设备对于卸载重定位封套的源驱动器的可用性;将可用物理设备指定为目标驱动器,以及由此将所述目标驱动器和所述源驱动器指定为链接的对;以及,实现所述目标驱动器与所述源驱动器之间的镜像关系。 
在另一实施例中,所述操作可以包括:在所述供者阵列化存储设备中的多个物理设备中搜索对于卸载重定位封套的源驱动器的可用性,以及在多个可用物理设备中搜索与所述源驱动器的最佳匹配;从所述供者阵列化存储设备中的多个物理设备中选出一个或更多可用物理设备,以及从所述可用物理设备中选出与所述源驱动器的最佳匹配;将所述源驱动器的所有数据内容复制到所述目标驱动器;以及,与所述复制模块的复制过程并行地将对所述源驱动器的更新与所述目标驱动器同步。 
在进一步的实施例中,所述操作可以包括:响应于所述复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标驱动器上,将所述目标驱动器集成为所述供者阵列化存储设备的完全阵列成员;响应于所述复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标驱动器上,将所述源驱动器转换到自由态;以及,通知系统用户所述重定位封套可用于移除。 
贯穿本说明书,对特征、优点或类似术语的引用并不暗示:可以通过本发明实现的所有特征和优点应当在或者就是在本发明的任意单一实施例中。相反,涉及所述特征和优点的术语被理解为是指:结合实施例描述的特定特征、优点或特性被包括在本发明的至少一个实施例中。由此,贯穿本说明书,对所述特征和优点以及类似术语的讨论可以但不必要涉及同一实施例。 
另外,所描述的本发明的特征、优点和特性可以以任意合适的方式并 入一个或更多实施例中。相关领域的技术人员将认识到,本发明可以在不具有特定实施例的一个或更多特定特征或优点的情况下被实现。在其它实例中,在本发明的所有实施例中可以未出现的某些实施例中,另外的特征和优点可以被认出。 
本发明的这些特征和优点从以下描述和所附权利要求中将变得更显而易见,或者可以从以下阐明的本发明的实现中习得。 
附图说明
本发明的优选实施例现在将仅作为示例结合附图被描述,其中: 
图1是示出存储系统的一个实施例的示意性框图; 
图2是示出阵列化存储设备的一个实施例的示意性框图; 
图3是示出重定位装置的一个实施例的示意性框图; 
图4是示出供者阵列化存储设备的一个实施例的示意性框图;以及 
图5A、5B和5C是示出重定位方法的一个实施例的示意性流程图。 
具体实施方式
本说明书中描述的许多功能单元已被标记为模块,以便更特别地强调其实现独立性。例如,模块可以被实现为硬件电路,其中,所述硬件电路包括定制VLSI电路或门阵列、例如逻辑芯片、晶体管或其它离散部件的现用半导体。模块还可以用可编程硬件设备实现,其中,所述可编程硬件设备例如是现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等。 
模块还可以用软件实现,其中,所述软件用于被各种类型的处理器执行。可执行代码的已标识模块例如可以包括计算机指令的一个或更多物理或逻辑块,其中,所述块例如可以被组织为对象、过程或函数。然而,已标识模块的可执行指令不需要被物理上放在一起,而可以包括存储在不同位置的全异的指令,其中,所述指令当被逻辑上连接在一起时包括所述模块并且达到针对该模块所声明的目的。 
实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可 以跨几个不同的代码段分布、分布在不同程序中以及跨几个存储器设备分布。类似地,操作数据这里可以在模块中被标识和示出,并且可以以任何合适的形式被包含,以及被组织在任何合适类型的数据结构中。所述操作数据可以被收集为单个数据集,或者可以跨不同位置(包括跨不同存储设备)分布,并且可以至少部分上仅作为系统或网络上的电子信号存在。 
图1示出了存储系统100的一个实施例的示意框图。存储系统100存储数据和任务关键应用,并且提供系统用户接口。所示的存储系统100包括宿主计算机102、多个阵列化存储设备104、供者(donor)阵列化存储设备106、受者(recipient)阵列化存储设备108和网络112。存储系统100可以根据宿主计算机102的接口操作来接合系统用户和存储资源。存储系统100可以自治地检测何时系统部件被添加或移除。在一个实施例中,存储系统100可以包括两个或更多宿主计算机102。 
宿主计算机102管理系统用户与存储系统100的操作系统之间的接口。每个宿主计算机102可以是大型计算机。可替换地,宿主计算机102可以是使用多种操作系统中的一个的服务器、个人计算机和/或笔记本电脑。宿主计算机102经由存储区域网络(SAN)或类似网络112连接到多个阵列化存储设备104。 
阵列化存储设备104封装了多个物理设备110,其中,所述多个物理设备110可配置为逻辑上链接的设备。系统用户可以经由宿主计算机102将阵列化存储设备104配置为包括一个或更多RAID级别配置。在多个阵列化存储设备104中可以有供者阵列化存储设备106和受者阵列化存储设备108。对阵列化存储设备104的更深入描述参考图2被包括。 
在一个实施例中,供者阵列化存储设备106可以选择物理设备110的已封装集合,其中,物理设备110的所述已封装集合然后根据用于重定位物理设备110的已封装集合的预定义操作而被重定位到受者阵列化存储设备108。对供者阵列化存储设备106的更深入描述参考图4被包括。 
网络112可以例如基于存储区域网络(SAN)传送传统的块I/O。网络112还可以例如基于传输控制协议/因特网协议(TCP/IP)网络或类似 通信协议传送文件I/O。可替换地,宿主计算机102可以经由底板或系统总线直接连接到多个阵列化存储设备104。在一个实施例中,存储系统100包括两个或更多网络112。 
在一个实施例中,网络112可以使用小型计算机系统接口(SCSI)、串行联接的SCSI(SAS)、因特网小型计算机系统接口(iSCSI)、串行高级技术附件(SATA)、集成驱动器电子技术/高级技术联接(IDE/ATA)、通用因特网文件系统(CIFS)、网络文件系统(NFS/NetWFS)、传输控制协议/因特网协议(TCP/IP)、光纤连接(FICON)、企业系统连接(ESCON)或任意类似接口来实现。 
图2示出了可以基本上类似于图1的阵列化存储设备104的阵列化存储设备200的一个实施例。阵列化存储设备200包括阵列存储控制器202和多个封套204。阵列化存储设备200可以提供多个连接来联接类似于 
Figure G2007800061164D00141
TotalStorage DS8000和DS6000系列的大容量存储系统的封套204。阵列化存储设备200与封套204之间的连接可以是例如总线或底板的物理连接,或者可以是网络化的连接。 
阵列存储控制器202控制对联接到阵列化存储设备200的物理设备110的I/O访问。阵列存储控制器202通过网络112与宿主计算机102通信。阵列存储控制器202可以被配置为用作宿主计算机102与阵列化存储设备200的部件之间的通信接口。阵列存储控制器202包括存储器设备208。在一个实施例中,阵列化存储设备200包括多个阵列存储控制器202。 
当宿主计算机102发送命令以写或访问阵列化存储设备200中的逻辑设备上的数据时,阵列存储控制器202可以接收该命令,并且确定所述数据将怎样在所述逻辑设备上被写和访问。在一个实施例中,阵列存储控制器202是组装了集成电路和一个或更多存储器设备208的小型电路板。阵列存储控制器202可以被集成到阵列化存储设备200中。在另一实施例中,阵列存储控制器202可以独立于阵列化存储设备200。 
存储器设备208可以充当用于增加阵列化存储设备200的I/O性能的缓冲器(未示出),以及存储被设计用于阵列化存储设备200的运转的微 码。所述缓冲器或高速缓存用于保存从阵列化存储设备200的最近读取的结果,以及用于预取在不久的将来有较大机会被请求的数据。存储器设备208可以包括一个或更多非易失性半导体设备,例如闪速存储器、静态随机存取存储器(SRAM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、NAND/AND、NOR、分裂位线NOR(DINOR)或任何其它类似的存储器设备。存储器设备208包括被设计用于阵列化存储设备200操作的固件210。 
固件210可以被存储在非易失性半导体或其它类型的存储器设备上。阵列化存储控制器202的许多操作经由固件210的执行被确定。固件210包括重定位装置212。一般地,重定位装置212可以在阵列化存储设备200上实现RAID阵列重定位过程。重定位装置212的一个示例参考图3被示出和更详细描述。 
封套204封装多个物理设备110。在一个实施例中,封套204可以包括连接在DASD链中的多个硬盘驱动器。在另一实施例中,封套204可以包括多个磁带存储子系统。由此,封套204封装可以被链接以构成一个或更多逻辑设备的物理设备110的已分组集合。 
图3示出了可以基本上类似于图1的供者阵列化存储设备106的供者阵列化存储设备300的一个实施例。与参考图2对阵列化存储设备200的描述一样,对供者阵列化存储设备300的描述是用于示出重定位过程的功能的目的,并且同样不可以示出包括在供者阵列化存储设备300中的部件的完整集合。 
供者阵列化存储设备300提供RAID阵列以用于移除和向存储系统100中的另一阵列化存储设备200或向另一系统的重定位。供者阵列化存储设备300包括多个封套302和从所述多个封套302中选出的重定位封套304。封套302可以基本上类似于图2的封套204。 
如之前描述的,封套302是多个物理设备110可以联接到的已封装空间。封套302包括存储阵列306。在一个实施例中,封套302是自包含的 可移除存储室。封套302可以是可热交换或可热插入的。由此,封套302可以在不对存储系统100断电的情况下被添加或移除。另外,存储系统100可以自治地检测封套302何时被添加或移除。 
存储阵列306可以包括多个联接的物理设备310,例如多个DASD(直接访问存储设备)硬盘驱动器。在一个实施例中,存储阵列306包括多个光纤信道磁盘驱动器,其中,所述光纤信道磁盘驱动器被配置为基于高速光纤信道进行通信。存储阵列306包括多个物理设备310和/或目标驱动器314。目标驱动器314是物理设备310,并且是联接到封套302的所述多个物理设备310的子集。目标驱动器314被选择用于从联接到重定位封套304的物理设备310卸载数据。 
在进一步的实施例中,存储阵列306可以是可热交换的,其允许系统用户在不关闭封套302所联接到的总线或存储系统100的情况下移除封套302和/或存储阵列306以及替换出故障的物理设备310。 
在其它实施例中,存储阵列306可以包括多个固态存储器设备、多个磁带存储或任意其它类似的存储媒体。存储阵列306可以提供到与每个物理设备310的连接槽的单独访问,其允许单独物理设备310的可热交换的移除或添加。 
存储阵列306用列A至P的单行十六个联接的物理设备310示出(为了说明目的,其被表示为[列:行])。所述列指定联接到存储阵列306的物理设备310的跨度。物理设备310被示为单一行,因此,该行指定联接到一个阵列化存储设备200的封套302的跨度。例如,[A:1]物理设备310位于列“A”和第一封套302上的行“1”中,以及[A:Rel]物理设备310位于列“A”和相对于重定位封套304所驻留于其中的行的行中。列和行的指定用于说明目的,并且可以在大小和配置上改变。 
重定位封套304被根据重定位过程的操作从联接到供者阵列化存储设备300的多个封套302中选出。重定位封套304包括重定位存储阵列308。当封套302被发现匹配针对重定位封套304指定的特征时,该选定封套302被指定为重定位封套304,并且所联接的存储阵列306因而被指定为重定 位存储阵列306。重定位封套304所联接到的阵列化存储设备200因而可以被指定为供者阵列化存储设备300。 
重定位封套304被选择用于卸载存储在联接到重定位封套304的存储阵列306上的所有存储的数据。联接到重定位存储阵列308的物理设备310可以被指定为源驱动器312。重定位存储阵列308包括多个源驱动器312,其中,所述多个源驱动器312存储被分布到联接到其它封套302的其它物理设备310的数据。 
重定位存储阵列308包括多个源驱动器312。源驱动器312是联接到重定位封套304的物理设备310。源驱动器312包括被卸载到目标驱动器314的数据。存储在联接到重定位封套304的源驱动器312上的数据可以被分布到联接到另一封套302的目标驱动器314。在一个实施例中,所述数据被重分布到当前联接到供者阵列化存储设备300的多个其它封套302中。 
匹配联接到重定位存储阵列308的源驱动器312的特征的、联接到其它封套302的物理设备310因而可以被链接,并且所存储的数据被分布,以及物理设备310因而可以被指定为目标驱动器314。由此,联接到重定位封套304的多个源驱动器312卸载所有存储的数据,以及,一个或更多源驱动器312根据关联RAID级别中的最佳匹配和源驱动器312的其它特征被匹配到一个或更多目标驱动器314。 
在某些实施例中,存储在联接到重定位存储阵列308的源驱动器312上的数据被分布到联接到一个或更多其它封套302的一个或更多目标驱动器314。在其它实施例中,存储在联接到重定位存储阵列308的多个源驱动器312上的数据被分布到包含在一个或更多其它封套302中的一个或更多其它目标驱动器314。在进一步的实施例中,存储在源驱动器312上的数据的分布可以经由网络112被分布到另一阵列化存储设备200上的封套302的目标驱动器314。 
例如,如图3中所示,存储在[A:Rel]源驱动器312上的数据可以被分布到[A:1]目标驱动器314。在某些实施例中,存储在[B:Rel]源驱动器312 上的数据可以除[P:N]目标驱动器314之外还被分布到[A:1]目标驱动器314。图3中所示然后跳到重定位存储阵列308的列“O”,在此处,存储在[O:Rel]源驱动器312上的数据可以被分布到[P:1]目标驱动器314,以及存储在[P:Rel]源驱动器312上的数据可以被分布到[O:N]目标驱动器314。 
图4示出了可以基本上类似于图2的重定位装置212的重定位装置400的一个实施例的示意框图。重定位装置400实现了用于在为任务关键的系统应用提供不中断可用性的同时将RAID阵列从一个位置重定位到另一个的重定位过程。重定位装置400可以结合图2的阵列化存储设备200来实现。 
由重定位装置400重定位RAID阵列的过程提供了一种用于在所述重定位过程期间维持对所有系统数据的并发I/O访问的方法。由此,重定位装置400的操作允许系统用户在避免以已降级模式运行阵列化存储设备200的脆弱性的同时移除联接的封套302。 
重定位装置400包括识别模块402、指定模块404、实现模块406、集成模块408、转换模块410、通知模块412和确定模块414。在一个实施例中,重定位装置400用阵列存储控制器202中的微码实现。在另一实施例中,重定位装置400可以用直接存储在包含在存储阵列306中的一个磁盘上的程序实现。 
重定位装置400可以根据重定位协议被激活。在一个实施例中,重定位模块400可以遵循这样的重定位协议,所述重定位协议用于建立将被选择进行重定位的RAID阵列的特征。重定位模块400然后可以对阵列化存储设备200搜索指定的重定位封套304,其继续所述搜索直到匹配所指定特征的封套302被找到。 
在一个实施例中,系统用户可以确定重定位封套304的特征。重定位封套304的所述特征可以包括:该重定位封套304的总存储容量、当前被使用的总存储容量的量、该重定位封套304中的存储的类型、联接到该重定位封套304的每个存储设备的单独存储容量、该重定位封套304的年限以及其它类似特征。在另一实施例中,宿主计算机102可以确定针对重定 位封套304的准则。 
识别模块402将联接到阵列化存储设备200的物理设备310识别为可用于卸载联接到供者阵列化存储设备300的源驱动器312的数据内容。识别模块402包括:搜索模块416,其搜索与联接到重定位封套304的每个物理设备310的最佳匹配;以及选择模块418,其选择与联接到重定位封套304的每个物理设备310的最佳匹配。 
在一个实施例中,识别模块402可以将物理设备310识别为候选目标驱动器314。在进一步的实施例中,系统用户可以释放或重分配一个或更多候选目标驱动器314上的空间以使识别模块402能够识别一个或更多可用目标驱动器314。在另一实施例中,识别模块402可以识别连接到支持封套302的移除的存储系统100的阵列化存储设备200。识别模块402因而可以将阵列化存储设备200识别为供者阵列化存储设备300的候选。另外,识别模块402可以将联接到供者阵列化存储设备300的封套302识别为重定位封套304的候选。 
搜索模块416搜索与联接到重定位封套304的物理设备310的最佳匹配,以便将所有存储的数据的镜像副本从联接到重定位封套304的物理设备310卸载到联接到另一封套302的物理设备310。在一个实施例中,搜索模块416可以根据优选重定位封套304的特征对阵列化存储设备200搜索指定大小和类型的封套302。在某些实施例中,搜索模块416可以找到单一物理设备310的多个最佳匹配,和/或可以找到多个物理设备310的单一最佳匹配。 
选择模块418选择用于将所有存储的数据的镜像副本从联接到重定位封套304的物理设备310卸载到联接到另一封套302的物理设备310的最佳匹配。在一个实施例中,选择模块418可以选择阵列化存储设备200以便搜索支持联接的封套302的移除的阵列化存储设备200。 
在另一实施例中,选择模块418可以选择用于卸载联接到重定位封套304的单一物理设备310的多个最佳匹配。可替换地,选择模块418可以选择用于卸载联接到重定位封套304的多个物理设备310的单一最佳匹配。 
指定模块404将与联接到重定位封套304的物理设备310的最佳匹配指定为目标驱动器314。指定模块404还可以将联接到重定位封套304的物理设备310指定为源驱动器312。由此,指定模块404指定链接到目标驱动器314的源驱动器312的配对。如之前阐明的,在某些实施例中,源驱动器312和目标驱动器314可以各自代表一个或更多物理设备310。 
实现模块406实现源驱动器312与目标驱动器314之间的镜像关系。实现模块406包括:从源驱动器312向目标驱动器314复制数据的复制模块420,以及与所述复制过程并发地在源驱动器312与目标驱动器314之间同步更新的更新模块422。 
在一个实施例中,实现模块406实现源驱动器312与目标驱动器314之间的RAID级别1镜像关系。因此,实现模块406可以实现位于当前可被应用于由源驱动器312和/或目标驱动器314表示的物理设备310的现有RAID级别之内、之上或之下的内嵌RAID。 
复制模块420将所有存储的数据的镜像图像从源驱动器312复制到目标驱动器314。在一个实施例中,复制模块420与运行在供者阵列化存储设备300上的其它任务并发地从源驱动器312向目标驱动器314复制数据,由此维持对所有存储的数据的访问以及对任务关键的应用的可用性。 
贯穿所述复制过程,更新模块422将对源驱动器312发出的任何更新与目标驱动器314同步。由此,对源驱动器312的更新贯穿所述复制过程被并发地同步到目标驱动器314。在一个实施例中,更新模块422同时将更新传递到源驱动器312和目标驱动器314。在另一实施例中,更新模块422可以仅当更新被写入到源驱动器312上所处的区域还未被复制模块420复制到目标驱动器314时,向源驱动器312发送更新。 
集成模块408将目标驱动器314集成为完全RAID阵列成员。目标驱动器314由此在来自源驱动器312的新数据被复制和存储的情况下被集成。集成模块408可以从复制模块420接收指示所述复制过程被完成的信号。复制模块420另外可以向转换模块410用信号发送所述复制过程的完成。相应地,实现模块406然后可以移除源驱动器312与目标驱动器314之间 的镜像关系。 
转换模块410将源驱动器312转换到自由态(free-state)。一旦转换模块410转换了联接到重定位封套304的每个源驱动器312,则转换模块410然后可以用信号通知所述通知模块412:所有源驱动器312被释放为自由态,以及所有目标驱动器314被转换为完全RAID阵列成员。 
通知模块412通知系统用户重定位封套304的所述自由态状态。在某些实施例中,通知模块412通知系统用户:所述复制过程已被成功完成,以及重定位封套304当前可以安全地从供者阵列化存储设备300移除。系统用户然后可以自由地从供者阵列化存储设备300移除和重定位所述重定位封套304,以及在受者阵列化存储设备108中安装重定位封套304。 
确定模块414确定阵列化存储设备200是否包含指定大小和类型的封套302。在一个实施例中,确定模块414确定由系统用户指定的针对重定位的指定封套302的特征。在其它实施例中,确定模块414确定由宿主计算机102或某个其它自治进程指定的针对重定位的指定封套302的特征。 
图5A、5B和5C示出了说明可以由图4的重定位装置400实现的重定位方法500的一个实施例的示意性流程图。为方便起见,初始化方法500在第一部分500A、第二部分500B和第三部分500C中被示出,但被共同称为初始化方法500。初始化方法500在这里参考图1的存储系统100被描述。 
重定位方法500A包括这样的操作,所述操作用于:确定502被选择进行重定位的封套302的大小和类型,选择504进行搜索的阵列化存储设备200,对阵列化存储设备200搜索506指定重定位封套304,确定508阵列化存储设备200是否支持封套302的移除,确定510是否所有联接的阵列化存储设备200已被搜索,以及选择512下一个进行搜索的阵列化存储设备200。 
重定位方法500B包括这样的操作,所述操作用于:搜索514联接到重定位封套304的每个物理设备310的最佳匹配,选择516与联接到重定位封套304的每个物理设备310的最佳匹配,将最佳匹配指定518为链接 到源驱动器312的目标驱动器314,实现520在链接的源驱动器312与目标驱动器314之间的镜像关系,从源驱动器312向目标驱动器314复制522全部数据内容。 
重定位方法500C包括这样的操作,所述操作用于:与所述复制过程并发地将对源驱动器312的更新与目标驱动器314同步524,将目标驱动器314集成526为完全RAID阵列成员,将源驱动器312转换528为自由态,通知530系统用户源驱动器312的自由态状态,以及,将重定位封套304从供者阵列化存储设备300重定位532到受者阵列化存储设备108。 
重定位方法500启动关联于阵列存储控制器202的重定位装置400的重定位能力。尽管重定位方法500为了清晰目的而以特定的顺序化次序被示出,但存储系统100可以以并行顺序和/或不必要以所示次序实施所述操作。在一个实施例中,重定位方法500关联于阵列存储控制器202被执行。 
重定位方法500开始,并且确定模块414确定502指定进行重定位的封套302的大小和类型。在一个实施例中,确定模块414确定502由系统用户指定的针对重定位的指定封套302的特征。在其它实施例中,确定模块414确定502由宿主计算机102或某个自治进程指定的针对重定位的指定封套302的特征。 
接下来,选择模块418选择阵列化存储设备200进行对指定封套302的匹配封套302的搜索。一旦被找到,则进行重定位的指定封套302可以被指定为重定位封套304。在一个实施例中,指定模块404可以将所选进行重定位的封套302指定为重定位封套304。 
在选择之后,搜索模块416对所选阵列化存储设备200搜索506指定大小和类型的封套302。确定模块414然后确定508所选阵列化存储设备200是否支持联接的封套302的移除。所选阵列化存储设备200然后可以被指定为候选供者阵列化存储设备300。 
在一个实施例中,搜索模块416在指定重定位封套304之前搜索506联接到存储系统100的每个阵列化存储设备200。在针对供者阵列化存储设备300的所有候选被找到之后,所有候选中与指定封套302的最佳匹配 可以被比较和缩小范围,直到重定位封套304被选择和指定。 
如果确定模块414确定508所选阵列化存储设备200支持联接的封套302的移除,则搜索模块416搜索514与联接到重定位封套304的每个物理设备310的最佳匹配。相反,如果确定模块414确定508所选阵列化存储设备200不支持联接的封套302的移除,则确定模块414确定510搜索模块416是否已搜索506联接到存储系统100的每个阵列化存储设备200。 
如果确定模块414确定510搜索模块416已搜索506联接到存储系统100的每个阵列化存储设备200,则对包含在存储系统100中的重定位封套304的搜索过程终止。系统用户然后可以选择不同的存储系统100以搜索506指定封套302。可替换地,该系统用户可以放宽指定封套302的特征,并且再次搜索506同一存储系统100。 
相反,如果确定模块414确定510搜索模块416还未搜索506联接到存储系统100的每个阵列化存储设备200,则选择模块418选择512下一个阵列化存储设备200用于搜索模块416进行搜索506。 
在搜索模块416搜索514与联接到重定位封套304的每个物理设备310的最佳匹配之后,选择模块418选择516与重定位封套304上的物理设备310的最佳匹配。在一个实施例中,指定模块404将联接到重定位封套304的每个物理设备310指定为源驱动器312。 
当与源驱动器312的最佳匹配被找到时,指定模块404可以将该最佳匹配指定为链接到源驱动器312的目标驱动器314。在进一步的实施例中,指定模块404可以将包含重定位封套304的阵列化存储设备200指定为供者阵列化存储设备300。 
在一个实施例中,与源驱动器312的所述最佳匹配是单个目标驱动器314。换句话说,源驱动器312和目标驱动器314每个是单独的物理设备310。在其它实施例中,源驱动器312和/或目标驱动器314可以是一个或更多物理设备310。由此,包含联接到重定位封套304的多个物理设备310的源驱动器312可以链接到包含单独物理设备310的目标驱动器314。在另一实施例中,包含联接到重定位封套304的单独物理设备310的源驱动 器312可以链接到包含联接到一个或更多其它封套302的多个物理设备310的目标驱动器314。 
接下来,实现模块406实现520链接的源驱动器312与目标驱动器314之间的镜像关系。在一个实施例中,实现模块406实现源驱动器312与目标驱动器314之间的RAID级别1镜像关系。由此,实现模块406可以实现520位于当前应用于源驱动器312和/或目标驱动器314的其它现有RAID级别之内、之上或之下的子RAID。 
复制模块420然后将存储在源驱动器312上的整个数据集复制522到目标驱动器314。复制模块420与运行在供者阵列化存储设备300上的其它任务并发地从源驱动器312向目标驱动器314复制522数据,其允许联接到存储系统100的所有阵列化存储设备200不中断地运行并且维持对任务关键的应用的可用性。 
当复制模块420从源驱动器312向目标驱动器314复制522数据时,更新模块422将对源驱动器312发出的任意更新与目标驱动器314同步524。由此,对源驱动器312的更新贯穿所述复制过程被并发地同步524到目标驱动器314。 
一旦复制模块420完成从源驱动器312向目标驱动器314复制522数据,则集成模块408将目标驱动器314集成526为完全RAID阵列成员,其中来自源驱动器312的新数据被复制522和存储。相应地,由实现模块406实现520的RAID级别1子RAID被移除。 
响应于复制模块420用信号通知成功复制过程的结束,转换模块410然后将源驱动器312转换528为自由态。一旦转换模块410转换528联接到重定位封套304的每个源驱动器312,则转换模块410然后可以用信号通知所述通知模块412去通知530系统用户重定位封套304的所述自由态状态。通知模块412通知530系统用户:所述复制过程已成功完成,以及重定位封套304当前可以安全地从供者阵列化存储设备300移除。 
该系统用户然后可以自由地从供者阵列化存储设备300移除和重定位532所述重定位封套304,以及在受者阵列化存储设备108中安装重定位封 套304。在一个实施例中,所述系统用户从供者阵列化存储设备300移除重定位封套304,并且将该重定位封套304重定位532到连接到同一存储系统100的阵列化存储设备200。在另一实施例中,所述系统用户将重定位封套304重定位532到连接到另一存储系统100的阵列化存储设备200。在进一步的实施例中,重定位封套304被自治地重定位,与自动化磁带库系统的磁带检索操作相类似。 
由本发明的优选实施例给出的RAID阵列的重定位可以对总体系统的效率有实际和积极的影响。在某些实施例中,本发明改进正常运行时间、应用可用性和实时业务性能,所有这些导致推动拥有的总成本更低。除改进系统资源的利用率之外,本发明的实施例给予系统用户在不中断整个系统或受影响系统的任务的情况下将RAID阵列从一个设备移动到另一个或从一个系统移动到另一个的能力。 
此处所包含的示意性流程图被作为逻辑流程图一般性地阐述。同样地,所示次序和所标记操作可指示所呈现方法的一个实施例。功能、逻辑或效果上与所示方法的一个或更多操作或其中一部分等效的其它操作和方法可以被设想。另外,所利用的格式和符号被提供用于解释所述方法的逻辑操作,并且被理解为将不限制所述方法的范围。尽管各种箭头类型和线条类型可以被用于所述流程图中,但其被理解为不限制对应方法的范围。实际上,一些箭头或其它连接符可以被用于指示仅所述方法的逻辑流程。例如,箭头可以指示所示方法的所列举操作之间的未指定持续时间的等待或监视时间段。另外,特定方法发生的次序可以或可以不严格坚持所示对应操作的次序。 
贯穿本说明书对“一个实施例”、“实施例”或类似术语的引用是指结合该实施例描述的特定特征、结构或特性被包含在本发明的至少一个实施例中。由此,贯穿本说明书,短语“在一个实施例中”、“在实施例中”和类似术语的出现可以但不必要全部涉及同一实施例。 
对信号承载媒体的引用可以采用能够生成信号、导致信号被生成或导致机器可读指令的程序在数字处理装置上的执行的任何形式。信号承载媒 体可以用传输线路、光盘、数字视频光盘、磁带、伯努利(Bernoulli)驱动器、磁盘、穿孔卡片、闪速存储器、集成电路或其它数字处理装置存储器设备来实现。 
进一步地,所描述的本发明的优选实施例的特征、结构或特性可以以任何适当的方式合并到一个或更多实施例中。在以下描述中,例如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的示例的大量特定细节被提供,以便提供对本发明的实施例的透彻理解。然而,相关领域的技术人员将认识到,本发明可以在不使用一个或更多所述特定细节、或使用其它方法、部件、材料等的情况下被实现。在其它情况下,熟知的结构、材料或操作不被示出或详细描述以避免混淆本发明的各方面。 

Claims (6)

1.一种用于并发地重定位RAID阵列的装置,所述装置包括:
识别模块,其被配置为识别阵列化存储设备中的物理设备对卸载重定位封套的源驱动器的可用性;
耦合到所述识别模块的指定模块,所述指定模块被配置为将可用物理设备指定为目标驱动器;
耦合到所述指定模块的实现模块,所述实现模块被配置为实现所述目标驱动器与所述源驱动器之间的镜像关系;
耦合到所述实现模块的复制模块,所述复制模块被配置为将所述源驱动器的全部数据内容复制到所述目标驱动器;
耦合到所述实现模块的更新模块,所述更新模块被配置为与所述复制模块的复制过程并发地将对所述源驱动器的更新与所述目标驱动器同步;
集成模块,所述集成模块被配置为响应于所述复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标驱动器上,将所述目标驱动器集成为所述阵列化存储设备的完全阵列成员;
转换模块,所述转换模块被配置为响应于所述复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标驱动器上,将所述源驱动器转换为自由态。
2.根据权利要求1所述的装置,进一步包括耦合到所述识别模块的搜索模块,其中,所述搜索模块被配置为:在所述阵列化存储设备中的多个物理设备中搜索对于卸载所述重定位封套的源驱动器的可用性,以及在多个可用物理设备中搜索与所述源驱动器的最佳匹配。
3.根据权利要求1或权利要求2所述的装置,进一步包括耦合到所述识别模块的选择模块,其中,所述选择模块被配置为:在所述阵列化存储设备中的多个物理设备中选择多个可用物理设备,以及在所述多个可用物理设备中选择与所述源驱动器的最佳匹配。
4.根据权利要求1或权利要求2所述的装置,进一步包括通知模块,所述通知模块被配置为通知系统用户所述重定位封套可用于移除。
5.根据权利要求1或权利要求2所述的装置,进一步包括确定模块,所述确定模块被配置为确定阵列化存储设备是否包含指定大小和类型的封套。
6.一种用于并发地重定位RAID阵列的方法,所述方法包括:
识别阵列化存储设备中的物理设备对卸载重定位封套的源驱动器的可用性;
将可用物理设备指定为目标驱动器;
实现所述目标驱动器与所述源驱动器之间的镜像关系;
将所述源驱动器的全部数据内容复制到所述目标驱动器;
与上述复制过程并发地将对所述源驱动器的更新与所述目标驱动器同步;
响应于接收到关于所述源驱动器的全部数据内容被镜像到所述目标驱动器上的信号通知,将所述目标驱动器集成为所述阵列化存储设备的完全阵列成员;
响应于接收到关于所述源驱动器的全部数据内容被镜像到所述目标驱动器上的信号通知,将所述源驱动器转换为自由态。
CN2007800061164A 2006-02-21 2007-01-30 用于并发raid阵列重定位的装置及方法 Expired - Fee Related CN101390059B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/358,486 2006-02-21
US11/358,486 US20070214313A1 (en) 2006-02-21 2006-02-21 Apparatus, system, and method for concurrent RAID array relocation
PCT/EP2007/050886 WO2007096230A2 (en) 2006-02-21 2007-01-30 Apparatus for concurrent raid array relocation

Publications (2)

Publication Number Publication Date
CN101390059A CN101390059A (zh) 2009-03-18
CN101390059B true CN101390059B (zh) 2012-05-09

Family

ID=38437721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800061164A Expired - Fee Related CN101390059B (zh) 2006-02-21 2007-01-30 用于并发raid阵列重定位的装置及方法

Country Status (4)

Country Link
US (1) US20070214313A1 (zh)
EP (1) EP1987432A2 (zh)
CN (1) CN101390059B (zh)
WO (1) WO2007096230A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779169B2 (en) * 2003-07-15 2010-08-17 International Business Machines Corporation System and method for mirroring data
US9619353B2 (en) 2010-10-06 2017-04-11 International Business Machines Corporation Redundant array of independent disk (RAID) storage recovery
US8990494B2 (en) * 2010-11-01 2015-03-24 Taejin Info Tech Co., Ltd. Home storage system and method with various controllers
US20120317335A1 (en) * 2011-06-08 2012-12-13 Byungcheol Cho Raid controller with programmable interface for a semiconductor storage device
CN102902608A (zh) * 2011-07-25 2013-01-30 技嘉科技股份有限公司 磁盘阵列的侦测及资料转移方法及其系统
US9256566B1 (en) 2013-01-24 2016-02-09 Seagate Technology Llc Managed reliability of data storage
KR102318478B1 (ko) * 2014-04-21 2021-10-27 삼성전자주식회사 스토리지 컨트롤러, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법
US11914867B2 (en) * 2021-10-29 2024-02-27 Pure Storage, Inc. Coordinated snapshots among storage systems implementing a promotion/demotion model

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1229447A3 (en) * 2001-01-31 2002-08-28 Hewlett-Packard Company, A Delaware Corporation Mirroring agent accessible to remote host computers, and accessing remote data-storage devices, via a communications medium
CN1551202A (zh) * 2003-05-06 2004-12-01 �Ҵ���˾ 自修复方法和存储系统
CN1617110A (zh) * 2003-11-12 2005-05-18 华为技术有限公司 磁盘阵列结构中进行回写的方法
JP2005276017A (ja) * 2004-03-26 2005-10-06 Hitachi Ltd ストレージシステム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390327A (en) * 1993-06-29 1995-02-14 Digital Equipment Corporation Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
US5680640A (en) * 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5809224A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation On-line disk array reconfiguration
US6347359B1 (en) * 1998-02-27 2002-02-12 Aiwa Raid Technology, Inc. Method for reconfiguration of RAID data storage systems
US6530035B1 (en) * 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
US6571354B1 (en) * 1999-12-15 2003-05-27 Dell Products, L.P. Method and apparatus for storage unit replacement according to array priority
US6598174B1 (en) * 2000-04-26 2003-07-22 Dell Products L.P. Method and apparatus for storage unit replacement in non-redundant array
JP4073161B2 (ja) * 2000-12-06 2008-04-09 株式会社日立製作所 ディスクストレージのアクセスシステム
AU2002306495A1 (en) * 2001-02-13 2002-08-28 Candera, Inc. Storage virtualization and storage management to provide higher level storage services
US6832289B2 (en) * 2001-10-11 2004-12-14 International Business Machines Corporation System and method for migrating data
US7111117B2 (en) * 2001-12-19 2006-09-19 Broadcom Corporation Expansion of RAID subsystems using spare space with immediate access to new space
US6961867B2 (en) * 2002-05-01 2005-11-01 International Business Machines Corporation Apparatus and method to provide data storage device failover capability
US6898667B2 (en) * 2002-05-23 2005-05-24 Hewlett-Packard Development Company, L.P. Managing data in a multi-level raid storage array
US7546482B2 (en) * 2002-10-28 2009-06-09 Emc Corporation Method and apparatus for monitoring the storage of data in a computer system
US6892276B2 (en) * 2002-11-26 2005-05-10 Lsi Logic Corporation Increased data availability in raid arrays using smart drives
US7370248B2 (en) * 2003-11-07 2008-05-06 Hewlett-Packard Development Company, L.P. In-service raid mirror reconfiguring
JP4387261B2 (ja) * 2004-07-15 2009-12-16 株式会社日立製作所 計算機システム、および、記憶装置システムの移行方法
JP4303187B2 (ja) * 2004-11-10 2009-07-29 富士通株式会社 プログラム、記憶制御方法及び記憶装置
US7418550B2 (en) * 2005-07-30 2008-08-26 Lsi Corporation Methods and structure for improved import/export of raid level 6 volumes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1229447A3 (en) * 2001-01-31 2002-08-28 Hewlett-Packard Company, A Delaware Corporation Mirroring agent accessible to remote host computers, and accessing remote data-storage devices, via a communications medium
CN1551202A (zh) * 2003-05-06 2004-12-01 �Ҵ���˾ 自修复方法和存储系统
CN1617110A (zh) * 2003-11-12 2005-05-18 华为技术有限公司 磁盘阵列结构中进行回写的方法
JP2005276017A (ja) * 2004-03-26 2005-10-06 Hitachi Ltd ストレージシステム

Also Published As

Publication number Publication date
EP1987432A2 (en) 2008-11-05
WO2007096230A2 (en) 2007-08-30
US20070214313A1 (en) 2007-09-13
WO2007096230A3 (en) 2008-03-27
CN101390059A (zh) 2009-03-18

Similar Documents

Publication Publication Date Title
CN101390059B (zh) 用于并发raid阵列重定位的装置及方法
CN100419664C (zh) 存储网络中执行备份操作的方法
CN102024044B (zh) 分布式文件系统
US20190205039A1 (en) Distributed Object Storage System Comprising Performance Optimizations
CN100416508C (zh) 一种存储网络中的数据备份方法
US8024525B2 (en) Storage control unit with memory cache protection via recorded log
US8984241B2 (en) Heterogeneous redundant storage array
US10133616B2 (en) Hybrid distributed storage system
CN100507821C (zh) 用于存储区域网络内部的分配数据的方法和装置
CN100524235C (zh) 存储网络中的恢复操作
US7673167B2 (en) RAID array data member copy offload in high density packaging
CN101206553B (zh) 利用支持处理器的优化数据迁移方法和系统
US20100049919A1 (en) Serial attached scsi (sas) grid storage system and method of operating thereof
KR20090073099A (ko) 전역 핫 스패어 디스크를 이용한 고장난 드라이브의 재구성및 카피백 방법
KR102581374B1 (ko) 분산 계산 가능한 스토리지 그룹을 구비하는 컴퓨팅 시스템 및 그것의 동작 방법
US7127575B2 (en) Offsite management using disk based tape library and vault system
CN102334093A (zh) 存储控制装置以及虚拟卷的控制方法
CN101223498A (zh) 用于管理数据存储的方法、系统和计算机程序产品以及虚拟化引擎
WO2011057885A1 (en) Method and apparatus for failover of redundant disk controllers
KR20090096406A (ko) 전역 핫 스패어 디스크를 이용한 연결단절된 드라이브의 재구성 및 카피백 시스템 및 방법
US20070067670A1 (en) Method, apparatus and program storage device for providing drive load balancing and resynchronization of a mirrored storage system
US8650435B2 (en) Enhanced storage device replacement system and method
JP2006331076A (ja) データ記憶システム及び記憶方法
CN101997919A (zh) 一种存储资源的管理方法及管理装置
US11609718B1 (en) Identifying valid data after a storage system recovery

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120509

Termination date: 20190130