首页> 中国专利> 管理一个目标卷和一个源卷之间的关系

管理一个目标卷和一个源卷之间的关系

摘要

提供了一种用于管理一个目标卷和一个源卷之间的关系的方法、系统、和程序。对于该源卷和目标卷中的每一个,存储器包括:(i)至少一个元素,其中每个元素代表在该卷中的一连续的数据单元范围;(ii)至少一个关系条目,其中每个关系条目代表一个关系;(iii)至少一个元素指针,该元素指针将一个元素与一个关系条目相关联,其中由该元素代表的数据单元是由该指针将其与该元素相关联的关系条目所代表的关系的一部分;以及(iv)用于每个关系条目的一个关系指针,该关系指针将该关系条目与卷元数据相关联,其中该卷元数据提供了由该关系条目所代表的关系的信息。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-05-20

    授权

    授权

  • 2007-09-05

    实质审查的生效

    实质审查的生效

  • 2007-07-11

    公开

    公开

说明书

技术领域

本发明涉及用于管理一个目标卷和一个源卷之间的关系的方法、系统、和程序产品。

背景技术

计算系统经常包括一个或多个用于处理数据和运行应用程序的主计算机(“主机”)、用于存储数据的直接存取存储设备(DASD)、和用于控制数据在主机和DASD之间的传送的存储控制器。存储控制器,也称为控制单元或存储导向器,管理对包括大量连接为环形结构、又被称为直接存取存储设备(DASD)的硬盘驱动器的存储空间的访问。主机可通过存储控制器向存储空间传送输入/输出(I/O)请求。

在很多系统中,在一个存储设备例如DASD中的数据可被复制到同一个或另一个存储设备中,从而对数据卷的访问可从两个不同的设备提供。时间点(point-in-time)复制涉及将来自源卷的数据物理地复制到目标卷,从而目标卷具有该数据在一时间点上的副本。时间点复制也可通过逻辑上制作数据的副本,并随后仅当需要时将数据复制过去来进行,从而实际上推迟了物理复制。执行这种逻辑复制操作是为了最小化目标卷和源卷不可访问的时间。

一种这样的逻辑复制称为FlashCopy(FlashCopy是国际商业机器公司或称“IBM”的注册商标)。FlashCopy涉及建立不同设备上的源卷和目标卷之间的逻辑时间点关系。FlashCopy功能保证直到FlashCopy关系中的道已加固到其目标盘上的位置之前,该道存在于源盘上。使用关系表来维护子系统内的所有现存FlashCopy关系的信息。在FlashCopy关系的建立阶段,在源和目标关系表为参与该正被建立的FlashCopy的源和目标记录一个条目。每个所添加的条目维护关于该FlashCopy关系的所有需要的信息。当来自源范围的所有FlashCopy道已被复制到目标范围或者当接收到撤销命令时,从两个关系表中删除用于该关系的条目。

目标关系表还包括一位图,该位图标识在该FlashCopy关系中涉及的哪些道尚未被复制过去,并因此为受保护的道。目标设备中的每个道由该位图中一个位表示。当建立相应的道作为一FlashCopy关系的目标道时,设置目标位。当由于在源设备或目标设备上的写或后台复制任务,相应的道已被从源位置复制并离台到目标设备时,重置目标位。

在现有技术中,作为在FlashCopy操作期间建立逻辑时间点关系的一部分,必须将该FlashCopy中所包括的源缓存中的所有道离台到物理源卷例如DASD,并且必须丢弃该FlashCopy中所包括的目标缓存中的所有道。

一旦建立了逻辑关系,则主机可能够立即访问源卷和目标卷上的数据,并且可作为后台操作的一部分复制数据。对作为FlashCopy关系中的目标且不在缓存中的道的读会触发一登台拦截,该登台拦截造成在对应于所请求的目标道的源道尚未被复制过去时且在从目标缓存提供对该道的访问之前将该源道登台到目标缓存。这确保了目标具有来自于源的、在该FlashCopy操作的时间点上存在的副本。此外,任何对源设备上的尚未被复制过去的道的写会触发一离台拦截,该离台拦截造成将源设备上的道复制到目标设备。

发明内容

提供了用于管理一个目标卷和一个源卷之间的关系的方法、系统和程序。对于所述源卷和目标卷中的每一个,存储器包括:(i)至少一个元素,其中每个元素代表在该卷中的一连续的数据单元范围;(ii)至少一个关系条目,其中每个关系条目代表一个关系;(iii)至少一个元素指针,该元素指针将一个元素与一个关系条目相关联,其中由该元素代表的数据单元是由该指针将其与该元素相关联的关系条目所代表的关系的一部分;以及(iv)用于每个关系条目的一个关系指针,该关系指针将该关系条目与卷元数据相关联,其中该卷元数据提供了由该关系条目所代表的关系的信息。

在进一步的实现中,源和目标卷元数据分别存储在源卷和目标卷中的非易失存储设备中。

更进一步地,处理卷元数据以在存储器中生成所述至少一个元素、至少一个关系条目、至少一个元素指针、和至少一个关系指针。

在其他实现中,在多个卷上处理卷元数据,且其中为每个这样的卷生成一组元素、关系条目、元素指针、和关系指针,该每个卷包括标识该卷与其他一个卷的关系的卷元数据。

仍进一步地,所述在存储器中生成至少一个元素的步骤可进一步包括处理卷元数据以确定包括在每个关系中的每个数据单元范围,并为每个包括在至少一个关系中的数据单元范围生成一个元素。

再进一步地,所述在存储器中生成至少一个元素的步骤可进一步包括生成包括了在一个关系中所包括的元素中的数据单元范围之前或之后的数据单元范围的元素,其中所有生成的元素一起代表该卷中的所有用户数据单元,包括关系中的数据单元范围和未包括在关系中的数据单元范围。

所描述的实现提供了源卷和目标卷之间的关系的信息,以及在存储器中的这种信息的关联,以使这种关系信息可用。

附图说明

现在将仅作为示例并参照附图描述本发明,在附图中:

图1示出了其中实现了本发明的方面的计算环境;

图2和3示出了根据本发明的实现在源卷中的道和目标卷中的道之间的关系;

图4、5、6、7和8示出了根据本发明的实现所维护的代表复制关系中的源道和目标道之间的关系的信息的实施例;

图9示出了根据本发明的实现初始化存储器中关系信息的操作;

图10a和10b示出了根据本发明的实现更新存储器中的关系信息以反映新的关系的操作;

图11、12a和12b示出了根据本发明的实现更新存储器中的关系信息以反映从关系撤销道的操作;

图13示出了根据本发明的实现当从缓存离台和登台道时考查关系的操作;

图14示出了根据本发明的实现执行恢复过程的操作;

图15示出了在网络环境中的计算组件的体系结构,例如主机和存储控制器,以及任何其他计算设备。

具体实施方式

图1示出了其中实现了本发明的方面的计算体系结构。存储控制器2将通过网络6从主机系统4a、4b...4n接收指向存储设备8a、8b 20的输入/输出(I/O)请求,所述存储设备被配置为分别具有卷(例如,逻辑单元号、逻辑设备等)10a、10b…10n和12a、12b…12m,其中m和n可以是不同的整数值或相同的值。存储控制器2进一步包括源缓存14a以存储用于源存储设备8a中道的I/O数据,以及目标缓存14b以存储用于国标存储设备8b中的道的I/O数据。源缓存14a和目标缓存14b可包括分开的存储设备或相同存储设备的不同部分。缓存14a、14b用于缓冲在主机4a、4b...4n和存储设备8a、8b之间传输的读数据和写数据。此外,尽管缓存14a和14b被分别称为用于在时间点复制关系中保存源道或目标道的源缓存和目标缓存,缓存14a和14b可同时存储在不同时间点复制关系中的源道和目标道。

存储控制器2也包括系统存储器16,该系统存储器可在易失性和/或非易失性设备中实现。存储管理软件18在系统存储器16中执行以管理数据在不同存储设备8a、8b之间的复制,例如在FlashCopy操作期间发生的逻辑复制类型。存储管理软件18可执行除这里描述的复制操作之外的操作。系统存储器16可在与缓存14a、14b分开的存储设备中,或者是所述缓存的一部分。存储管理软件18对于由存储控制器2所管理的每个卷在系统存储器16中维护一个存储器内关系表20,该表提供时间点复制关系的信息,其中对于每个卷可以有一个存储器内关系表20。在某些实现中,道经受复制关系。然而,其他数据单元例如道的块、子块等可经受复制关系,其中对于该关系中的每个源数据单元存在一对应的目标数据单元。

存储控制器2将进一步包括一处理器复合体(processor complex)(未示出),并可包括本领域中已知的任何存储控制器或服务器,例如IBMEnterprise Storage Server(ESS)、3990Storage Controller等。(Enterprise Storage Server是IBM的注册商标)。主机4a、4b...4n可包括本领域中已知的任何计算设备,例如服务器、大型机、工作站、个人计算机、手持式计算机、膝上型计算机、电话设备、网络电器(networkappliance)等。存储控制器2和主机系统4a、4b...4n通过网络6通信,该网络可包括存储区域网(SAN)、局域网(LAN)、内联网、因特网、广域网(WAN)等。存储系统8a、8b可包括一存储设备阵列,例如简单的硬盘组(JBOD)、独立磁盘冗余阵列(RAID)、虚拟化设备等。

可在源卷上的道范围和目标卷上的道范围之间建立时间点复制,其中该关系中所涉及的源卷和目标卷的道号可以是相同的或不同的。在某些实现中,所述源范围和目标范围距其各自卷的开始处的相对偏移量可以是不同的。这允许重新组织数据集以便例如将一组不连续的数据集结合成为一连续的道集。图2示出了如何将位于源卷54的中部的不相邻的源范围50和52重新安置到目标卷60的开始处的目标范围56和58,并且所述范围在源54和目标60中出现的顺序是不同的。

所描述的实现进一步允许每个道多个时间点复制关系,其中一给定道范围(extent或range)可同时是多于一个时间点复制关系的一部分。一道可属于一源范围或一目标范围。此外,一道可属于多个源关系,但在某些实现中,只允许单个目标关系。图3示出了每道多个关系,其中源卷70具有范围(道范围)72、74、76、和78,这些范围映射到目标卷80中的不同目标范围82、84、86、和88。源范围72和74相关于目标范围82,并且源范围74和76相关于目标范围84,从而这两个关系共享一重叠的道范围74。此外,源范围78相关于多个目标范围86和88,并且源范围74也相关于多个目标范围82和84。尽管在此例中示出了同一卷中的多个目标,目标道不能在不同卷上。

当在源卷中的道范围和目标卷中的范围之间建立时间点复制关系时,可将该关系的持久信息存储在源卷和目标卷10a、10b…10n、12a、12b…12n中的卷元数据中。参照图4,用于每一个源卷和目标卷的卷元数据100可包括一些元数据部分,例如关系元数据102、关系位图元数据104、和卷世代号(volume generation number)。关系元数据102包括关系块106a、106b…106n,每个关系块包括对于该卷中的一道范围的一个时间点复制的信息。图5示出了关系块例如图4中的关系块106a、106b…106n的进一步细节,其包括:

●关系ID110:提供了该关系的唯一标识符。该号码由源和目标两者使用来指定该关系。

●关系角色112:指示该卷中的道范围是该关系中的源还是目标。

●范围114:标识该卷中的包括该时间点复制关系中所涉及的道范围(extent或range)的道。

●卷对116:指示该关系中的另一卷。

可将关系块106a、106b...106n安排为一链表。关系元数据102中未被使用的块可被存储为空闲块的一空闲列表,这些空闲块可用于作为关系块而存储关系信息。关系块106a、106b...106n可以是固定长度的和被索引的,从而可通过索引访问它们。

位图元数据104包括为该卷中的每个道提供了一个位的一个或多个位图数据结构。如果该位为“on”(1),则这指示相应的目标道尚未包括来自源的时间点数据,并且必须将数据复制过来。可将对应于一系列范围的位值直接映射到关系位图元数据104的一偏移量处。

图6示出了存储器内关系表20的数据结构实现。对于由存储控制器2管理的每个卷可有一个存储器内关系表20。存储器内关系表20包括多个元素130a、130b、130c、和130d,其中每个元素代表相应卷中的一连续道范围。图7示出了每个元素130例如图6中的元素130a、130b、130c、和130d的内容包括代表该卷中的一连续道范围的开始和结束的开始道132和结束道134,以及指向一个或多个关系条目140a、140b、和140c的一指针数组136。这些关系条目可以在一链表中或者不在一链表中。此外,多个元素可指向相同的关系条目140a、140b、和140c。图6示出了元素130a、130b、和130d代表包括在时间点复制关系中的道范围,如由指向关系条目140a、140b、和140c的指针136a、136b、136c、和136d所表示的,所述关系条目提供了包括由元素130a、130b、和130d所代表的道的关系的信息。元素130c代表未包括在时间点复制关系中的道范围,如由缺少指向关系条目140a、140b、和140c的任何指针所指示的。如果一元素例如元素130a包括指向不同关系条目140a和140b的指针136a和136b的数组,则这种道范围与两个关系相关联,从而指示这种范围是多个目标的源。

图8示出了可包括在每个关系条目140例如图6中的关系条目140a、140b、和140c中的内容,其包括来自卷元数据100中的相应关系块106a、106b…106n的某些持久关系信息150例如关系角色112和/或关系ID 110(图5),以及指向包括用于由该关系条目140所代表的关系的持久信息的关系块106的指针152。关系条目140中的指针152在图6中显示为指针152a、152b、和152c。指针152可进一步包括对关系元数据160中的相应关系块的索引。图6进一步示出了卷元数据160的关系元数据162部分中的、由指针152a、152b、和152c寻址的关系块164a、164b、和164c。存储器内关系表(IMRT)20进一步包括标识该存储器内关系表20所相关的卷10a、10b…10n、12a、12b…12n的卷信息166。

使用所描述的结构,大量关系信息中被维护在存储在卷10a、10b…10n和12a、12b…12n(图1)中的卷元数据100的持久性存储中。此外,在某些实现中,关系的每个成员,即源和目标,将分别地在其各自的卷中维护关系元数据。这样,如果一关系中的一卷失效,存储控制器2将仍能够确定具有该失效卷的时间点复制关系中的源或目标是否事实上是一关系的一部分,从而在离台和登台操作期间需要特殊的处理。

图9示出了在存储管理软件18中实现的从由存储控制器2管理的卷10a、10b…10n、12a、12b…12n中的卷元数据100初始化存储器内关系表(IMRT)20的逻辑。在开始初始化(在块200)后,存储管理软件18在块202到226为每个可由存储控制器2访问的卷执行一循环。如果(在块208)在所访问的用于卷i的卷元数据100中没有关系块106,则控制进行到块226以处理下一个卷,并且不为卷i构造一IMRT20。可在用于卷i的卷结构中制作一易失性指示,表明没有用于该卷的IMRT20。作为另一种选择,如果没有关系块,则可构造一指向NULL元素的IMRT20,从而表明没有用于该卷的关系。否则,如果(在块208)存在用于卷i的关系块106,则将在存储器16中构造(在块212)不指向关系块的IMRT20。然后在块214到224为卷i中的每个关系块j执行一循环。对于从第一块至最后一块的每个关系块j,在IMRT20中构建(在块216)一个或多个元素130,所述元素在其开始字段132和结束字段134(图7)指示在关系块j中的道范围114(图5)中标识的开始道和结束道。然后将所构造的元素链接(在块218)到代表卷i中连续在前的道的元素。存储管理软件18进一步在IMRT 20中构造(在块220)一关系条目140,该关系条目包括来自持久关系块j的关系信息,例如关系ID和角色150(图8),以及指向卷元数据中的所访问的关系块j的指针152。此外,可以添加从一个关系到前一个关系的链接。所述指针可包括到关系块106a、106b…106n的数组(图4)中的索引。可将关系条目组织成为一数组,其中该数组中每个关系条目140a、140b、和140c的索引可由相应的关系块164a、164b、和164c的索引确定。控制接着(在决222)返回到块214以处理卷元数据102中的下一个关系块106。从块208或者在处理了用于卷i的所有关系块之后,控制接着(在块226)返回到块202以处理由存储控制器2管理的设备中的其他卷的信息。

作为图9的逻辑的结果,为由存储控制器2管理的每个卷在存储器16中添加一IMRT20,该IMRT包括关系并用于允许存储控制器2在用户执行与时间点复制关系中所包括的道有关的I/O时维护时间点复制关系的数据完整性。

图10a和10b示出了由存储管理软件18执行以更新用于新建立的时间点复制关系中的源卷和目标卷的IMRT的操作。参照图10a,在启动(在块250)IMRT的更新以反映添加的关系之后,在块252到282首先为该关系中的源卷并然后为目标卷执行一循环。在块254,通过向每个卷添加提供关于新关系的信息的关系块并更新关系位图104以指示该新关系中的所有道尚未被从源复制到目标,来更新卷元数据100(首先为源,然后为目标)。在向持久元数据添加了关于该关系的信息之后,在IMRT20中为卷(源或目标)生成(在块256)关系条目140,该关系条目包括某些关系信息150(图8),并且为该关系条目140生成指向源卷或目标卷中的持久关系块164a、164b、和164c的指针152,以将存储器中的关系表示(关系条目140)与存储设备中的相应的持久关系块106相关联。然后存储管理软件18寻找(在块258)包括该新关系中的道范围的一个或多个元素130。

如果(在块262)由元素i所代表的所有道处于该新关系中的道范围之内,则添加(在块264)一将元素i与代表该新关系的关系条目140相关联的指针136。否则,如果(在块262)仅有一部分由元素i代表的道与该新关系中的道范围重叠,则参照图10b,确定(在块266)元素i是否包括该新关系中的道范围的第一个道。如果元素i(来自块266的否分支)包括该新关系中的道范围的最后一道,则以两个新元素代替(在块268)元素i,其中该第一新元素包括与所述关系范围重叠的道并以该新关系中的道范围中的最后一道结束,而该第二新元素包括未与该关系范围重叠的道。如果元素i(来自块266的是分支)包括该范围的第一道,则以两个新元素代替(在块270)元素i,其中该第一新元素i包括未与该关系范围重叠的道,而该第二新元素j包括与关系范围重叠的道,并以该关系范围中的第一道开始。如果(在块272)元素j包括不也是该元素j的最后一道的、该范围的最后一道,则为元素j执行(在块274)在块268处的操作以执行进一步的拆分来提取在元素j的末端的不与该范围重叠的道,并将这些非重叠的道置于另一元素中。将把这两个或三个新元素添加到元素的链表中被取代元素所在之处。

在以两个或三个新元素取代了元素i之后,向该两个或三个新元素130添加(在块276)一个或多个指针136,这些指针指向由该被取代元素i所指向的任何关系条目。然后向包括来自该新关系的道的新元素添加(在块278)指向该新创建的关系条目140的指针130,以将代表该关系范围中的道的新元素与代表该关系的关系条目相关联。然后控制接着(在块280)返回到图10a中的块260,以处理下一个找到的包括该新关系中的道的元素。在为该新关系中的源卷处理了所有相关的元素之后,控制接着(在块282)返回到块252,以便为目标卷更新IMRT20以反映新添加的时间点复制关系。

图11示出了由存储管理软件18执行以撤销或终止整个关系的操作。图11的操作可在时间点复制关系中的所有道已被从源卷复制到目标卷之后执行。或者,整个关系可由决定终止该整个关系的管理员撤销。在启动(在块300)撤销整个关系的操作后,存储管理软件18从源卷和目标卷中的关系元数据102确定(在块302)被删除关系的源和目标道范围。撤销请求可提供关系范围,然后所述关系范围被用于查询IMRT20和/或关系元数据102以寻找源卷和目标卷中的、将包括该关系中所指定的范围114或关系ID110(图5)的卷元数据。然后在块304到326首先为被撤销关系中的目标卷并随后为源卷执行一循环。在块306,接着删除在源和目标卷元数据102中代表被撤销关系的关系块106。删除(在块308)用于该(目标,然后源)卷的IMRT20中代表被删除关系的关系条目140。然后存储管理软件18寻找(在块310)指向被删除关系条目140的一个或多个元素130,并从所找到的元素中删除(在块312)指向被删除关系条目140的指针136。

在删除了被撤销关系的信息之后,存储管理软件18接着在块314开始一过程以合并指向完全相同的关系条目或不指向关系条目的任何元素。在块314,存储管理软件18访问IMRT20中与被删除范围重叠的第一个元素130a(图6),并确定(在块316)指向与被访问元素相同的关系条目或与被访问元素一样不指向任何关系条目的零个或更多个随后相邻的元素。如果(在块318)找到了一个或多个随后的元素130,则以单个元素取代(在块320)被访问的元素和所有被确定的随后的元素,该单个元素代表在被访问的和被找到的元素中具有相同的零个或更多个指针136的被访问和被找到的元素中的所有连续的道。如果(在块318)没有找到随后的元素130,则确定(在块322)在最后被访问的元素之后(如果从块318的否分支没有发生合并的话)或最后被合并的元素之后(如果从块320发生了合并的话),是否存在多于一个元素。如果有进一步的可被合并的元素,则存储管理软件18访问(在块324)在最后被访问的元素(如果没有发生合并的话)或被找到的合并的元素(如果发生了合并的话)之后的元素。在访问了下一个元素(在块324)之后,控制接着返回到块316以尝试合并该下一个被访问的元素与随后的元素。如果(在块322)没有多个元素可用于合并,则控制接着(在块326)返回到块304以从源IMRT20删除被撤销的关系。

图12a和12b示出了在存储管理软件18中执行以从时间点复制关系中的范围删除连续道的子集的操作。如果已将关系范围中的一部分道从源复制到目标,并为了使源和目标中的这种已复制的道可用于其他时间点关系,则可执行该操作。此外,在其他情况下,例如响应于来自管理员的请求,可从一范围中去除道。参照图12a,在启动用于撤销关系范围中的道的子集的部分撤销的操作(在块350)之后,从源卷和目标卷中的关系元数据102确定(在块352)被删除的关系的源和目标道范围。撤销请求可提供关系ID或关系范围,所述关系ID或关系范围然后可被用于查询关系元数据102,以寻找包括经受该部分撤销的关系的元数据的源卷和目标卷。首先为该关系中的目标卷并随后为源卷执行图12b中从块354到378的循环,以从经受该关系的道范围撤销道的子集。在块356,存储管理软件18寻找包括经受该部分撤销的道的一个或多个元素130。然后在图12b中的块358到372为每个所找到的包括要撤销的道的元素i执行一内部循环。如果(在块360)由元素i所代表的所有道都经受从该关系中的撤销,则删除(在块362)元素i中指向经受撤销的关系条目140的指针136。

如果(在块360)并非由元素i所代表的所有道都经受撤销,则确定(在图12b中的块364)元素i是否包括要从关系撤销的道范围的最后一道。如果元素i包括要撤销的范围的最后一道(来自块364的否分支),则以两个新元素取代(在块366)元素i,其中该第一新元素包括与该关系范围重叠的道并以正被撤销的道范围中的最后一道结束,而该第二新元素代表不与正被撤销的道重叠的道。如果(来自块364的是分支)元素i包括要撤销的范围的第一道,则以两个新元素取代(在块368)元素i,其中该第一新元素i包括不与正被撤销的道重叠的道,而该第二新元素j包括与正被撤销的道重叠的道并以正被撤销的道范围中的第一道开始。如果(在块370)元素j包括不也是元素j中最后一道的、该范围的最后一道,则在块366为元素j执行(在块372)操作以进行进一步的分割,来提取在元素j末端的不与该范围重叠的道,并将这种非重叠的道置于另一元素中。该两个或三个新元素将被添加到元素的链表中被取代的元素所在之处。从块366或370,控制进行到块374以向这些新元素添加指向由被取代的元素i所指向的任何关系条目的一个或多个指针136,并从包括经受撤销的道的新元素删除(在块376)指向关系条目140的指针136。然后控制接着(在块378)返回到块358,以从经受撤销的关系去除经受撤销的任何道。在从经受撤销的关系去除道之后,存储管理软件18接着执行(在块380)图11中的步骤314到324,以合并指向相同的关系条目或不指向任何关系条目的相邻元素130。在从该关系去除了用于目标卷的道后,控制接着(在块382)返回到块354,以从源卷去除该关系中的道。

图12a和12b中的操作的结果是在源和目标IMRT20和卷元数据中从该关系中去除了关系范围中的道的子集,而对于那些未经受部分撤销的道该关系仍保持。在撤销之后,则从该范围撤销的道可用于其他建立的关系中。此外,可针对这种被撤销的道发生离台和登台,而不必执行附加的拦截检查。

在其他实现中,当撤销关系的一部分时,可不使用图12的逻辑。相反,可通过执行图10a、10b的操作来添加一个或多个关系,以取代旧的(预先存在的)关系,其中该新关系中的源和/或目标范围是该旧关系的范围的子集。随后,将使用图11的逻辑来删除构成该旧的(预先存在的)关系的范围。

图13示出了根据本发明的实现由存储管理软件18执行以使用存储器16中的IMRT20来执行离台和登台操作的操作。在接收到(在块400)离台或登台缓存14a、14b中的道的请求时,确定(在块402)用于包括要离台或登台的道的卷的IMRT20,并在所确定的IMRT20中寻找(在块404)包括要登台或离台的道的元素130。如果(在块406)找到的元素包括指向一关系条目140的指针136(图7),则存储管理软件18启动(在块408)一登台或离台拦截例程以确保在进行登台或离台时时间点复制关系的数据完整性。登台或离台拦截将确保在执行目标登台或源离台之前将源道复制到对应的目标道或登台到时间点复制关系中的目标缓存14b。将处理关系条目140以寻找关系元数据102和位图104,从而确定是否已将道从源复制到目标,并确定如何处理登台或离台拦截。否则,如果(在块406)所找到的元素130不包括指向关系条目140的指针136,则执行该道的离台或登台。

图14示出了由存储管理系统18执行以启动错误恢复过程的操作,该过程的执行可以是响应于断电后的冷启动、没有断电的热启动初始化或重新引导、或其他检测到的错误条件。在启动了(在块450)错误恢复过程后,存储管理软件18执行图9中的操作以为由存储控制器2管理的所有卷在存储器中重建IMRT20。在某些实现中,仅当存储丢失或IMRT处于不一致的状态或被损坏时才重建IMRT。然后存储管理软件18执行(在块454)一验证操作,以通过检查对于代表一关系中的源的每个源关系条目,是否在一IMRT中存在具有相同的关系ID的对应的目标关系条目,来考查所建立的IMRT20。如以上讨论的,关系条目140可包括关系信息150(图8),例如为其定义了该关系条目140的卷是用于源的还是用于目标的,以及关系ID。存储管理软件18在找到了用于源的一关系条目140时,可接着查询同一或不同IMRT20中的其他关系条目以及非易失性关系元数据162中的信息,以确定是否一个IMRT包括指示具有相同关系ID的目标的关系条目140。如果(在块456)目标关系条目未曾在一个IMRT20中构建,则控制继续进行(在块458)以执行图11中的块304-326,从而删除源关系元数据102中的关系块104a、104b…104n,并从源IMRT20中删除该关系条目140。

如果(在块456)存在对应于每个所找到的源关系条目的目标关系条目,则存储管理软件18执行(在块460)一验证操作,以通过检查对于每个代表一关系中的目标的目标关系条目,是否在一IMRT中存在具有相同关系ID的对应的源关系条目,并对关系中的每个源进行同样的检查,来考查所建立的IMRT20。存储管理软件18在找到了用于目标的一关系条目140后,可接着查询同一或不同IMRT20中的其他关系条目140,来确定是否一个IMRT包括这样的关系条目140,其关系信息150指示该关系条目140是用于具有相同关系ID的源。如果(在块462)源关系条目未曾在一个IMRT20中构建,则控制继续进行(在块464)以执行图11中的块304-326,来删除目标关系元数据102中的关系块104a、104b...104n,并从目标IMRT20删除关系条目140。

其他实现细节

可使用生成软件、固件、硬件、或其任何组合的标准的编程和/或工程技术将所描述的用于建立和管理时间点复制关系的技术实现为方法、装置、或制造物品。这里使用的术语“制造物品”指在硬件逻辑(例如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)中实现的代码或逻辑,或计算机可读介质,例如磁存储介质(例如硬盘驱动器、软盘、磁带等)、光存储器(CD-ROM、光盘等)、易失性和非易失性存储装置(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等)。计算机可读介质中的代码由处理器复合体访问和执行。其中实现了优选实施例的代码还可通过传输介质或通过网络从文件服务器访问。在这种情况下,其中实现该代码的制造物品可包括传输介质,例如网络传输线路、无线传输介质、在空间中传播的信号、无线电波、红外信号等。因此,“制造物品”可包括包含该代码的介质。此外,“制造物品”可包括包含、处理和执行该代码的硬件和软件成分的组合。当然,本领域的技术人员将理解可对这种配置进行很多修改而不脱离本发明的范围,并且该制造物品可包括本领域中已知的任何信息承载介质。

所描述的用于建立逻辑时间点复制关系的实现被描述为与部署在关键数据环境中的系统一起使用,在这样的环境中高可用性是至关重要的。但是,本领域的技术人员将认识到这里所描述的时间点复制操作可应用于用于其中高可用性并不是绝对必要的非关键数据环境的存储系统中。

所述源缓存和目标缓存可在同一存储装置或不同的存储装置中实现。

所描述的用于管理时间点复制关系的技术可应用在源道和目标道具有相同或不同道号的情况中。

在所描述的实现中,所述关系是关于在不同卷中的道之间的时间点复制关系。在其他实现中,所述关系可包括本领域中已知的其他类型的复制或数据关系。

图9-14中示出的逻辑显示了以某种顺序发生的某些事件。在另一些实现中,某些操作可以不同顺序执行、被修改或被去除。而且,可向上述逻辑添加步骤而仍然符合所描述的实现。此外,这里描述的操作可顺序发生,或某些操作可被并行处理。另外,操作可由单个处理单元执行,或由分布式处理单元执行。

所述变量n和m用于表示用于某些所描述的元素的任何整数变量,并且当用于不同情况中时可指示相同的或不同的整数值。

图15示出了网络组件例如图1中示出的主机和存储控制器的计算机体系结构500的一个实现。体系结构500可包括处理器502(例如微处理器)、存储器504(例如易失性存储装置)、和存储设备506(例如非易失性存储设备,例如磁盘驱动器、光盘驱动器、磁带驱动器等)。存储设备506可包括内部存储装置或附接的或网络可访问的存储设备。

存储设备506中的程序由处理器502以本领域中已知的方式装入存储器504并执行。该体系结构进一步包括网络卡508以使能与网络的通信。输入装置510用于向处理器502提供用户输入,并可包括键盘、鼠标、输入笔(pen-stylus)、话筒、触敏显示屏、或本领域中已知的任何其他激活或输入机制。输出设备512能够呈现从处理器502、或其他组件例如显示监视器、打印机、存储设备等传输的信息502。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号