首页> 中国专利> 利用支持处理器的优化数据迁移方法和系统

利用支持处理器的优化数据迁移方法和系统

摘要

本发明提供了一种在存储系统中的源设备和目标设备之间迁移数据的系统。处理器可操作地位于该存储系统的本地域内。独立磁盘冗余阵列(RAID)控制器电连接到该处理器。RAID控制器将源设备的容量划分为多个子区域,锁闭子区域的存储行为,建立用于源设备和目标设备之间写数据更新的镜像关系,并分配处理器以将数据从源设备复制到目标设备。本发明还提供了一种数据迁移方法,包括:将源设备的容量划分为多个子区域,锁闭子区域的存储行为,建立用于源设备和目标设备之间写数据更新的镜像关系,以及分配本地处理器以将数据从源设备复制到目标设备。

著录项

  • 公开/公告号CN101206553A

    专利类型发明专利

  • 公开/公告日2008-06-25

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200710192740.X

  • 申请日2007-11-16

  • 分类号G06F3/06;

  • 代理机构北京市金杜律师事务所;

  • 代理人朱海波

  • 地址 美国纽约阿芒克

  • 入库时间 2023-12-17 20:19:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-05

    未缴年费专利权终止 IPC(主分类):G06F3/06 授权公告日:20100825 终止日期:20181116 申请日:20071116

    专利权的终止

  • 2010-08-25

    授权

    授权

  • 2008-08-20

    实质审查的生效

    实质审查的生效

  • 2008-06-25

    公开

    公开

说明书

技术领域

本发明一般性地涉及计算机,更特别地,涉及在存储系统中利用支持处理器的优化数据迁移系统和方法。

背景技术

数据存储系统被用于存储由一个或更多主计算机系统提供的信息。这种数据存储系统接收将信息写入多个数据存储设备的请求以及从多个数据存储设备中检索信息的请求。将多个数据存储设备配置为两个或更多存储阵列是本领域内已知的。

数据存储系统通过提供冗余以保护系统的体系结构设计实现提供高可用性和高可靠性特性。故障容错通过冗余故障容错硬件设计而在系统中实现,并且用户数据被存储在被配置为独立磁盘冗余阵列(RAID)方案的存储设备阵列中。传统的RAID方案(RAID层级1,2,3,4,5,10[0+1,1+0])提供单一层级的冗余保护,并且能够容忍单一设备故障,直到它由于附加故障而面临数据丢失。通常公知为“热备份”的在线RAID阵列修复在存储设备故障后恢复RAID阵列冗余。

存在阵列修复动作(备份行为)导致RAID阵列非最优配置的情境。在一些情况下,可能期望替换/迁移配置的RAID阵列成员存储设备。这种情况的实例包括RAID阵列修复动作(备份行为)导致具有非最优配置的存储设备类型混杂。存储设备混杂可以包括例如设备容量不匹配的非对齐特性,包括速度(RPM)和接口率的设备性能特性,例如企业类、近线类、桌面类以及存储设备网络位置的设备可靠性特性。除了上述特性,多存储设备服务边界也可能导致数据迁移,以创建可接受的服务边界。

为了将数据从活动RAID阵列成员(源)迁移到新的目标设备,期望执行一些类型的复制行为以将数据从源迁移到目标,而非强制RAID阵列对期望被迁移到新设备的设备进行重建。现有技术包括RAID控制器,其构成源设备和目标设备之间的RAID1关系,并执行镜像重建以同步源设备和目标设备之间的数据。完成这个方法需要相当数量的RAID控制器和存储设备架构资源。RAID控制器和存储设备网络架构所消耗的资源在特定行为的持续时间中影响整个系统性能。

发明内容

因此,需要用于数据迁移的系统和方法,其最小化所述系统资源的使用。该系统和方法应当利用已有存储设备和网络架构提供高效且具有成本效益的解决方案。

在一种实施方式中,本发明是在存储系统中将数据从源设备迁移到目标设备的方法,包括将源设备的容量划分为多个子区域(sub-region),锁闭子区域的存储行为,建立用于源设备和目标设备之间写数据更新的镜像关系,分配本地处理器以将数据从源设备复制到目标设备,由本地处理器从多个子区域中的一个子区域读取数据,以及由本地处理器将数据写入目标设备上的相同位置。

在另一实施方式中,本发明是用于在存储系统中的源设备和目标设备之间进行数据迁移的系统,包括可操作地位于存储系统本地域内的处理器,以及电连接到该处理器的独立磁盘冗余阵列(RAID)控制器,其中RAID控制器将源设备的容量划分为多个子区域,锁闭子区域的存储行为,建立用于源设备和目标设备之间写数据更新的镜像关系,并且分配该处理器以将数据从源设备复制到目标设备。

在又一实施方式中,本发明是包括用于在存储系统中将数据从源设备迁移到目标设备的代码的制造产品,其中代码能够引起执行的操作包括将源设备的容量划分为多个子区域,锁闭子区域的存储行为,建立用于源设备和目标设备之间写数据更新的镜像关系,分配本地处理器以将数据从源设备复制到目标设备,由本地处理器从多个子区域中的一个子区域读取数据,以及由本地处理器将数据写入目标设备上的相同位置。

附图说明

为了更容易地理解本发明的优势,将参考在附图中说明的特定实施方式对上面简要描述的本发明进行更加特定的描述。应当理解,这些附图仅仅描述了本发明的典型实施方式,并且因此不应被认为是对本发明范围的限制,将通过使用附图而具有附加特性和细节地说明和解释本发明,其中:

图1说明了具有双独立磁盘冗余阵列(RAID)控制器的示例存储系统;

图2说明了使用附接至双端口存储设备的单一端口上或附接至多端口多路复用设备的输入端口上的非阻塞式光纤通道仲裁环(FC-AL)交换机的拓扑实现,其中多端口多路复用设备将单端口存储设备连接到FC-AL交换机端口;

图3a和图3b描述了存储系统的第一操作中根据本发明的内部交换机连接;

图4a和图4b描述了存储系统的第二操作中根据本发明的内部交换机连接;

图5描述了根据本发明的从源存储设备到目标存储设备的示例迁移过程;以及

图6说明了根据本发明的将数据从源存储设备迁移到目标存储设备的计算机存储系统操作的示例方法。

具体实施方式

本说明书中描述的一些功能单元被标为模块,以更加特别地强调其实现的独立性。例如,模块可被实现为包括定制VLSI电路或门阵列的硬件电路,例如逻辑芯片、晶体管的现有半导体,或其它离散组件。模块也可被实现在可编程硬件设备中,例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等。

模块也可被实现在由各种类型处理器执行的软件中。所标识的可执行代码模块可以例如包括一个或更多物理的或逻辑的计算机指令模块,其中计算机指令可以例如被组织为对象、过程或函数。不过,所标识模块的执行无需物理地被设置在一起,而是可以包括存储在不同位置的完全不同的指令,当这些指令被逻辑地结合在一起时,其构成该模块并实现该模块的规定目的。

实际上,可执行代码模块可以是单一指令或很多指令,并且甚至可以分布在若干不同代码分段上,分布在不同程序之中,以及跨若干存储设备地分布。类似地,可操作数据在此可以被标识和示出为在模块内,并且可以被具体体现为任何适合的形式,并且可以被组织在任何适合类型的数据结构中。可操作数据可以被收集为单一数据集合,或被分布在不同位置,包括在不同存储设备上,并且可以至少部分地仅仅作为系统或网络上的电子信号而存在。

本说明书中所称“一种实施方式”,“一个实施方式”或类似语言表示所描述的与实施方式有关的特定特征、结构或特性被包括在本发明的至少一种实施方式中。因此,在本说明书中出现的短语“在一种实施方式中”,“在一个实施方式中”或其类似语言可以,但非必须,指同一实施方式。

所称信号承载介质可以采用能够产生信号,使信号被产生,或使数字处理装置上的机器可读指令的程序被执行的任何形式。信号承载介质可以具体实现为传输线路、压缩盘、数字视频盘、磁带、Bernoulli驱动器、磁盘、打孔卡、闪存、集成电路,或其它数字处理装置存储设备。

所包括的示意性流程图一般性地作为逻辑流程图被提出。同样,所描述的顺序和所标记的步骤表明本发明方法的一种实施方式。可以考虑在功能、逻辑和效果上与所说明方法的一个和更多步骤或部分等价的其它步骤和方法。另外,所应用的格式和符号是为了解释方法的逻辑步骤而提供的,其不应被理解为限制方法的范围。尽管在流程图中使用了各种箭头类型和线类型,其不应被理解为限制相应方法的范围。实际上,一些箭头或其它连接符仅仅被用以指明方法的逻辑流程。例如,箭头可以指明所描述方法的所列举步骤之间非特定持续时间的等待或监视时段。另外,特定方法进行的顺序可以严格按照也可以不严格按照所示相应步骤的顺序。

此外,所描述的本发明的特征、结构或特性可以在一种或更多实施方式中以任何适合的方式被结合。在下文描述中,为了提供对本发明实施方式的彻底理解,给出了许多特定细节,诸如编程实例、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等。然而,相关领域的技术人员将认识到,本发明可以在不具有一个或更多特定细节的情况下而被付诸实践,或通过其它方法、组件、材料等而被付诸实践。在其它实例中,公知的结构、材料或操作没有被示出或详细描述,以避免模糊本发明的方面。

在RAID存储系统中,存储设备网络架构包括需要支持处理器以管理和维护网络的可操作状态的设备。在模块化存储系统情况中,支持处理器还可被用以管理模块化箱体的箱体管理服务。箱体管理服务支持处理器包括能够作为存储设备通信网络中发起者设备的SCSI箱体服务处理器(SESP)。在支持非阻塞式交换体系结构的存储设备通信网络架构中,可能在发起者设备与目标设备之间建立对网络无破坏性的点对点通信会话,使得多个发起者目标通信会话能够被并行地建立。

本发明利用这一特性并使用例如SESP处理器的本地处理器协作地参与从独立磁盘冗余阵列(RAID)阵列成员源到合格的目标设备的数据迁移。受到RAID控制器指示的SESP从RAID阵列源设备读取数据,并将数据复制(写)到迁移关系的目标设备。

RAID资源被用以管理和控制源存储设备和目标存储设备之间的数据复制进程(主过程),使得存储系统和存储系统的各种子部件知道SESP在数据复制迁移的从属过程中的何种位置。RAID控制器资源也被用以建立和维护源设备和目标设备之间的镜像关系,使得RAID控制器在数据迁移操作过程中以新修改的数据更新设备。

转到图1,示出了具有通过光线通道仲裁链接(FC-AL)存储设备互连架构与存储设备相连接的双RAID控制器12的示例存储系统10,其中FC-AL存储设备互连架构实现了非阻塞式FC-AL交换机。RAID控制器12被控制器箱体14封装。包含FC-AL发起者设备16的两个控制器卡0和1被集成在控制器箱体14中。设备16包括表示为0和1的下游端口18,该端口与在这里被标为箱体ID0的交换机箱体22的上游端口20通信。箱体22也包含两个FC-AL卡24,其容纳FC-AL交换机26和诸如SESP处理器28的本地处理器28,处理器28相互连接。箱体22的下游端口30(在这里被标为2和3)继而以菊花链形式链接在箱体34的上游端口32(标为0和1),箱体34容纳与箱体22同样的子组件。以类似的方式,箱体36也包括与箱体22同样的子组件,其上游端口40(同样标为0和1)与下游端口38相连接。每个箱体(例如,22,34,36)提供两个控制器卡24,控制器卡24提供FC-AL交换机26和本地处理器28(例如,SESP),处理器28能够作为FC-AL的发起者并能够通过FC-AL交换机26访问FC-AL存储设备网络。

应当指出,图1中描述的控制器箱体14也可以是逻辑构造。具有冗余RAID引擎的控制器功能还可以存在于单独的物理实体中,这些单独的物理实体在除图1中描述的单一物理实体之外的存储控制器功能中逻辑上结合在一起。本领域的技术人员可以理解能够实现控制器功能和所附RAID能力的各种实施方式。

主RAID控制器如下的管理本地处理器(例如,SESP)的复制(迁移)过程:主RAID控制器首先将源存储设备容量(逻辑块地址,LBA范围)划分为多个子区域,或者子LBA范围。如果对等RAID控制器可用,则主RAID控制器将分配给SESP以进行复制的子区域通知对等RAID控制器。RAID控制器发起者继而锁闭该子区域,禁止进一步的存储行为。并行地,RAID控制器建立用于数据复制操作的源设备和目标设备之间的写数据更新的镜像关系。对于所有写操作,RAID控制器将数据写入源设备,而在数据以目标设备上已被复制过程复制到目标设备的区域为目标时,仅将数据写入复制关系的目标设备,以此最小化完成更新所需的RAID控制器资源。

当子范围被过程从源复制到目标时,更新的数据将被复制过程复制到目标设备。RAID控制器继而分配存储设备架构中的SESP将数据从源存储设备子区域复制到目标存储设备。RAID控制器可以将1到N个SESP分配给将要从源设备复制到目标设备的特定子区域。最优地,RAID控制器将选择提供到源存储设备和目标存储设备的最佳间隔和位置的SESP,以最小化完成复制操作所需的存储设备互连资源。

在需要将待写数据写入分配给SESP以从源设备复制到目标设备的子范围中的区域时,数据在源设备上被更新并作为延迟写被传送给目标设备。当SESP报告其已完成RAID控制器所分配的子区域的复制时,RAID控制器完成为该子区域而传送的延迟写。

双方设备(源存储设备和目标存储设备)和SESP设备都驻留在FC-AL交换机的本地端口域中,用以维持尽可能多的FC-AL架构可用。然而,这并非必需的。在公开的配置中,存储设备互连架构带宽资源的使用是最优的。SESP处理器从源设备的子LBA范围读取数据,并将数据写入目标设备的相同位置,由此创建源存储设备上的数据映像在目标存储设备上的复制。

图2描述了根据本发明的拓扑实现42,其使用了附接至双端口(例如上游端口20,下游端口30)存储设备的单一端口上或附接至多端口多路复用设备的输入端口上的非阻塞式FC-AL交换机26,其中多端口多路复用设备将单端口存储设备44连接在FC-AL交换机端口(例如,端口1)。交换设备26提供以非阻塞方式在设备端口之间建立端口到端口连接的能力。SESP处理器28通过控制信号承载介质与设备26连接。图2描述了容纳交换机设备26的示例FC-AL卡24(这里标为卡0)。

图3a和图3b描述了用于根据本发明的情境的内部交换机连接,其中卡24(被标为卡0)上的SESP0处理器28和分开的卡24(被标为卡1)上的SESP1处理器28从连接在FC-AL交换机设备26端口5上的存储设备A5(以虚线48表示)读取数据,以此作为存储系统第一操作的一部分。注意,两个SESP28[SESP0和SESP1]被描述为从同一存储设备44(A5)读取。SESP1执行的读取操作被表示为实线50。各读取访问是并行的,通过存储设备44进行序列管理。在标称情况下,读取请求将是交叉进行的,且每个SESP28在交替基础上读取数据。

图4a和图4b描述了用于存储系统的后续操作52的内部交换机连接,其中SESP 0 28将从与FC-AL交换机设备26的端口5相连接的存储设备A5的子LBA区域0处读取的数据写入(以虚线54表示)与FC-AL交换机26的端口16相连接的存储设备56(这里表示为SP1),并且并行地(见图4b),SESP1将从与FC-AL交换机26的端口5相连接的存储设备A5的子LBA区域1处读取的数据写入(以虚线54表示)与FC-AL交换机26的端口16相连接的存储设备56(再次表示为SP1)。这里再次注意,两个SESP[SESP0和SESP1]被描述为写入同一存储设备56。结果,写入访问再次是并行的。此外,这里再次由存储设备56执行序列管理。在标称情况下,写操作也将是交叉进行的,且每个SESP28在交替基础上写数据。

转到图5,描述了根据本发明的迁移过程58的示例说明。特别地,示出了SESP28用以将数据从源存储设备复制到目标存储设备中由RAID控制器分配给其的子LBA范围的过程58。SESP0从源存储设备的子LBA范围0读取数据,并随后将数据写入目标存储设备的等价子LBA范围。每个SESP将仅在RAID控制器分配给其的存储设备的指定LBA范围内(例如,范围60,62)从源设备读取数据并将数据写入目标设备。

转到图6,根据本发明说明了示例迁移操作64。操作开始(步骤66)于主RAID控制器如前所述的将可用源存储设备划分为多个子区域或者子LBA区域(步骤68)。随后的步骤70、72和步骤74继而可以被并行地执行。在步骤70中,如果可用,主RAID控制器将已经被分配为用于迁移操作的各个子区域通知对等RAID控制器。在下一个步骤中,RAID控制器发起者锁闭各个子区域在迁移行为的范围之外的存储行为(步骤72)。同时地,RAID控制器操作为建立用于迁移操作的源设备和目标设备之间写数据更新的镜像关系(步骤74)。RAID控制器继而分配各个存储设备架构中的指定SESP用以执行迁移操作(步骤76)。为了执行迁移操作,SESP从指定的源存储设备的子区域读取数据(步骤78),并将数据写入目标存储设备上的相同位置(步骤80)。方法64继而结束(步骤82)。

可以使用本领域内目前已知的工具创建用以实现如前所述的方法64的软件和/或硬件,例如所描述的对存储设备架构中用以执行迁移操作的各个SESP的分配。所述系统和方法的实现相对于已经在利用RAID存储拓扑的标准计算环境中使用的系统和方法,并没有涉及显著增加的资源开销或附加硬件,这使得实现具有成本效益。

实现和使用所述的示例系统和方法可以提供一种如前所述的在具有存储系统和子系统的计算环境中进行数据迁移的简单高效的方法,并可以最大化存储系统的性能。尽管详细说明了本发明的一种或更多实施方式,本领域技术人员将理解,可以不背离所附权利要求书阐明的本发明的范围而对这些实施方式进行修改和适应。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号