用于在主要存储位置和辅助存储位置之间复制数据的方法和系统的制作方法

文档序号:6515670阅读:232来源:国知局
用于在主要存储位置和辅助存储位置之间复制数据的方法和系统的制作方法
【专利摘要】提供了用于在主要存储位置和辅助存储位置之间复制数据的方法和系统。在本说明书的一个实施例中,在数据存储系统中的第一站点处的存储位置与第二站点处的存储位置之间建立复制关系,其中,选择预设为多个不同的预定位图案中的一个预定位图案的动态可分配位图,所述根据选择的位图的可用性和对于选择的位图标识的预定位图案的类型这两者。选择的位图可分配为失去同步位图,其中,在选择的位图中指示要被复制到第一站点处的存储位置的对于第二站点处的存储位置的更新,并且,通过使用选择的位图作为失去同步位图,将正被写入到一个站点处的存储位置的数据写入复制到另一站点处的存储位置。还描述了其它方面。
【专利说明】用于在主要存储位置和辅助存储位置之间复制数据的方法和系统
【技术领域】
[0001]本发明涉及在服从复制关系的主要存储位置和辅助存储位置之间复制数据的方法、系统和程序。
【背景技术】
[0002]在单个时间点上的突发的灾难性故障或者随时间的数据损失的情况下,数据备份系统可提供制造数据的连续可用性。在一个这样的系统中,制造数据从本地站点镜像到可在地理上与本地站点分开几英里的远程位置。当应用系统正在将新的数据写入到通常位于本地站点处的主要存储装置时,一般在位于远程站点处的辅助存储装置中进行这种双重、镜像或影子复制。对于保持在辅助站点处的数据的远程复制,可以使用不同的复制技术,诸如 International Business Machine Corporation (“ IBM”)的 Metro Mirror Peer toPeer Remote Copy (PPRC)、Extended Remote Copy (XRC)、Coupled XRC (CXRC)、GlobalCopy 和 Global Mirror Copy。
[0003]在数据镜像系统中,数据一般保持于卷对中,包含主要存储装置中的主要卷和包含保持于主要卷中的数据的相同的复制的辅助存储装置中的相应的辅助卷。通过复制关系标识主要卷和辅助卷。主要和辅助存储控制器可被用于控制对于主要和辅助存储装置的访问。
[0004]Geographically Dispersed Parallel Sysplex (GDPS)是顾客可用于管理计划和未计划的停供期的应用的例子。例如,GDPS应用可检测可处于本地站点处的主要存储系统上的故障。这种故障可包含写入或访问本地站点处的主要存储卷的问题。当GDPS恢复应用检测到出现了故障时,它可调用称为“HyperSwap”功能的交换功能。该功能可被用于从本地站点到远程站点的镜像配置中的所有卷的交换处理。作为交换的结果,初始被配置为初始复制关系的辅助卷的远程站点处的存储卷被重新配置为新的复制关系的主要卷。类似地,一旦本地站点处的卷重新操作,初始被配置为初始复制关系的主要卷的本地站点处的存储卷可被重新配置为新的复制关系的辅助卷。
[0005]与交换功能关联,可以调用故障转移功能。在GDPS恢复应用中,当重新建立相反方向即从远程站点回到本地站点的数据复制时,故障转移功能在一些情况下可避免执行全复制。具体而言,故障转移处理将远程存储装置(初始被配置为辅助存储装置)复位或重新配置为处于使镜像操作的继续未决但沿相反的方向的“暂停”状态的主要存储装置。同时,故障转移处理开始改变由主机对远程站点进行的任何随后的数据更新的记录。
[0006]一旦本地站点可操作,故障恢复处理就可被调用以使本地站点处的存储装置(初始配置为主要存储装置)复位为辅助存储装置。镜像可然后继续(但沿相反的方向,即,从远程到本地而不是从本地到远程)以使本地站点处的辅助存储装置(初始为主要存储装置)与存储于远程站点处的主要存储装置(初始为辅助存储装置)上的数据更新重新同步化。
[0007]诸如PPRC的复制服务和使用诸如PPRC的复制服务的数据恢复程序经常使用存储于元数据中的各种类型的位图。例如,位图可以是对于特定的功能保留的“静态”位图。常称为“动态”位图的其它位图可用于供不同的功能使用,并因此可被动态分配给请求位图的功能。
[0008]一般地,静态位图的内容在通过对于该静态位图保留的功能被初始化之前不是已知的。可用于供不同的功能使用的动态位图一般在产生时被初始化,使得位图的所有的位被初始化为零值。一旦功能完成位图的使用,位图就被视为“脏”,并因此在被重新使用之前一般被重新初始化(清洁)。
[0009]静态位图和动态位图一般在产生卷时被设置。当功能需要动态位图时,它被分配对于可用的动态位图的位图索引。标识分配给功能的动态位图的该索引的值一般保持在单独的元数据中,直到位图不再处于使用中。
[0010]在诸如PPRC的已知的复制服务中,失去同步(OOS)位图是对于OOS功能保留的静态位图的例子。OOS位图包含存储控制器要复制到复制关系的辅助存储位置的相应轨道的主要存储位置的各轨道的位。因此,失去同步位图指示等待被复制的轨道的积压。在通常的复制操作中,任何对于主要存储位置的存储控制器的写入被记录于失去同步位图(OOS)中,并然后被复制到辅助存储位置。
[0011]以前,诸如PPRC故障转移命令的故障转移命令的交换操作的处理一般包含被重新配置为替代复制关系的主要卷的所有原始远程卷的失去同步(OOS)位图的初始化。OOS位图经常作为数据结构存储于复制关系的主要存储位置内的元数据中。在典型的OOS位图中,零位指示对于由OOS位图的位代表的主要存储位置的数据轨道不出现更新。由此,在许多现有数据恢复程序中,OOS位图一般通过访问主要存储位置的元数据并且将零写入到位图的每个位位置被初始化为全O。

【发明内容】

[0012]提供用于将更新远程复制到具有复制关系的主要存储位置和辅助存储位置的方法、系统和程序。在本说明书的一个实施例中,在数据存储系统中的第一站点处的存储位置与第二站点处的存储位置之间建立复制关系,其中,选择预设为多个不同的预定位图案中的一个预定位图案的动态可分配位图,所述选择根据选择的位图的可用性和对于选择的位图标识的预定位图案的类型这两者。选择的位图可分配为失去同步位图,其中,在选择的位图中指示要被复制到另一站点处的存储位置的对于一个站点处的存储位置的更新,并且,通过使用选择的位图作为失去同步位图,将正被写入到一个站点处的存储位置的数据写入复制到另一站点处的存储位置。
[0013]在另一实施例中,可响应建立命令建立复制关系。在又一实施例中,可响应故障检测建立复制关系。
[0014]在一个实施例中,复制关系是镜像关系,并且,第一站点和第二站点处的存储位置初始处于第一镜像关系,在第一镜像关系中,第一站点处的第一镜像关系的存储位置是第一镜像关系的主要存储位置,并且,第二站点处的第一镜像关系的存储位置是第一镜像关系的辅助存储位置,使得,在第一镜像关系中,对于第一站点处的主要存储位置的更新被镜像到第二站点处的辅助存储位置。另外,响应故障检测,第一站点和第二站点的主要存储位置和辅助存储位置指定被交换为第二镜像关系,在第二镜像关系中,第二站点处的第二镜像关系的存储位置是第二镜像关系的主要存储位置,并且,第一站点处的第二镜像关系的存储位置是第二镜像关系的辅助存储位置,使得,在第二镜像关系中,对于第二站点处的主要存储位置的更新被镜像到第一站点处的辅助存储位置。
[0015]在另一实施例中,确定是否已在接收的建立命令中设定故障转移参数,并且,如果确定已在接收的建立命令中设定故障转移参数,那么选择预设到第一预定位图案的动态可分配位图。
[0016]在又一实施例中,确定是否已在接收的建立命令中设定复制所有参数,并且,如果确定已在接收的建立命令中设定复制所有参数,那么选择预设到与第一预定位图案不同的第二预定位图案的动态可分配位图。在一个实施例中,第一预定位图案为全0,并且,第二预定位图案为全I。
[0017]在另一实施例中,读取标识可用于分配的多个动态可分配位图并标识多个可用的动态可分配位图中的每一个的预定位图案的类型的数据结构,并且,选择动态可分配位图,所述选择根据由数据结构标识的选择的位图的可用性和由数据结构标识的预定位图案的类型这两者。
[0018]在一个实施例中,选择的位图被分配为失去同步位图,并且数据结构被更新以指示选择的位图处于使用中并因此不再可用。在又一实施例中,响应建立命令的接收建立复制关系,并且,根据接收的建立命令,选择预设为预定位图案的动态可分配位图。
【专利附图】

【附图说明】
[0019]图1示出根据本说明书的一个实施例的网络计算环境的例子。
[0020]图2示出用于选择被预设为用作建立的镜像或其它复制关系的失去同步位图的多个不同的预定位图案中的一个预定位图案的动态可分配位图的操作的实施例。
[0021]图3示出具有建立的第二镜像或其它复制关系的图1的网络计算环境。
[0022]图4a?4c示出解释在建立图3的镜像或其它复制关系时存储和更新的元数据的例子的示图。
[0023]图5示出用于选择被预设为用作建立的镜像或其它复制关系的失去同步位图的多个不同的预定位图案中的一个预定位图案的动态可分配位图的更详细的操作的实施例。
[0024]图6示出用于选择被预设为多个不同的预定位图案中的一个预定位图案的动态可分配位图的更详细的操作的实施例。
【具体实施方式】
[0025]图1示出网络计算环境的实施例,在这种网络计算环境或其它数据存储系统中,在一个站点处的存储位置与另一站点处的存储位置之间具有镜像关系。在本发明的一个方面中,可通过包含选择被预设为用作建立的镜像关系的失去同步位图的多个不同的预定位图案中的一个预定位图案的动态可分配位图的方式,建立这种镜像关系。选择的位图被用于镜像关系中,以指示要被镜像到另一站点处的存储位置的对于一个站点处的存储位置的更新。
[0026]可以认为,这种配置有利于建立在位图中标识一个数据位置的选择部分用于复制到另一数据位置的镜像关系。虽然关于镜像关系和失去同步位图描述了图1的实施例,但是可以认为,根据特定的应用,本说明书的多个方面适用于其它类型的复制关系和其它类型的位图。在本说明书中讨论了附加的特征。可以理解,根据特定的应用,作为这里讨论的特征的替代或者除了这些特征,可以实现其它特征。
[0027]在示出的实施例中,复制关系标识主要存储位置和辅助存储位置,其中,存储于主要存储位置处的数据要被镜像或另外复制到辅助存储位置。因此,如这里使用的那样,主要存储位置和辅助存储位置是通过复制关系相关的存储位置。
[0028]并且,如这里使用的那样,术语“存储位置”指的是包含诸如一个或更多个卷、圆柱、轨道、区段或它们的任何部分的数据单元或其它适于传送的一个或更多个数据单元的存储位置。因此,主要存储位置和辅助存储位置可分别是存储卷,其中,卷一般处于不同的站点。但是,可以理解,例如,主要存储位置和辅助存储位置可分别具有卷以外的尺寸。
[0029]在示出的实施例中,失去同步位图包含存储控制器要复制到复制关系的相应辅助存储位置的主要存储位置的各轨道的位。因此,失去同步位图指示等待被复制的轨道的积压。在通常的复制操作中,任何对于主要存储位置的存储控制器的写入被记录于失去同步位图(OOS)中,并然后被复制到辅助存储位置。虽然示出的实施例的位图被描述为用位代表轨道,但可以理解,位图的一个或更多个位可代表诸如一个或更多个块、页、字节、扇区等的其它数据部分或区段以及多个轨道。
[0030]在示出的实施例中,网络2包含存储系统4a、4b (也称为控制单元或存储控制器)和数据存储6a、6b。存储系统4a、6b管理来自主要存储系统的更新到辅助存储系统的复制。在图1所示的配置中,存储系统4a和数据存储6a分别被配置为主要存储系统和主要存储。类似地,存储系统4b及其数据存储6b分别被配置为辅助存储系统和辅助存储。由此,在图1所示的构成中,存储系统4a被称为主要存储系统4a,并且,数据存储6a被称为主要存储6a。类似地,存储系统4b被称为辅助存储系统4b,并且,数据存储6b被称为辅助数据存储6b。如以下更详细地描述的那样,存储系统和存储可被重新配置为改变复制关系内的相关的主要角色和辅助角色。
[0031]网络2还包含将更新写入到主要存储6a的一个或更多个主机14。至少一个这种主机14,诸如主机14a,在本实施例中具有监视主要存储系统4a的可用性的故障的监视程序16。在一些实施例中,监视程序16可在与主机分开的装置中被操作。部件4a、4b、6a、6b和14与网络2连接,并且,网络2使得能够在这些部件之间实现通信。网络2可包含一个或更多个开关,以在不同的网络2元件之间提供一个或更多个通信路径。
[0032]主要存储系统4a位于第一站点处,并且,辅助存储系统4b位于可在地理上或在功能上远离第一站点的第二站点处。因此,在本例子中,第一站点可处于本地站点,并且,第二站点可在地理上处于与本地站点分开较短或较长的地理距离的远程站点处。作为替代方案,在网络2中,本地站点和远程站点可相对较近,诸如在同一一般地理位置的不同建筑物内、在同一建筑物的不同房间内、同一房间内的不同机器内或者在同一机器的不同部分或隔间内。
[0033]典型的主机14包含操作系统18和将更新写入到主要存储6a或辅助存储6b的应用20。在一些实施例中,包含监视程序16的主机14a可省略更新写入应用20。主要存储系统4a和辅助存储系统4b包含用于管理数据镜像操作的存储管理软件22a和22b。
[0034]可对于主要存储系统4a和辅助存储系统4b保持的第一复制关系30a关联主要存储6a中的主要存储位置和辅助存储6b中的相应的辅助存储位置,使得对于主要存储6a位置的更新被复制到相应的辅助存储6b位置。在一些实施例中,对于主要存储6a位置的更新在被写入到主要存储6a之前可复制到相应的辅助存储6b位置。
[0035]在示出的实施例中,第一复制关系30a包含一对存储位置的对等镜像关系,其中,对于镜像关系30a的主要存储位置的更新被镜像到镜像关系30a的辅助存储位置。可以理解,根据特定的应用,可建立其它类型的复制关系。
[0036]与复制关系30a关联,在作为示出的实施例中的失去同步(OOS)位图的第一位图34a中指示对于主要存储6a的主要存储位置的更新。当存储管理代码22a、22b将在OOS位图34a中指示的更新复制到辅助存储系统4b的辅助存储6b的相应的存储位置时,OOS位图24a被清除。
[0037]存储管理软件22a访问对于主要(第一)6a的更新,以写入到存储6b中的相应的存储位置。在一些应用中,例如,可由诸如主机14的存储系统4a、4b外面的装置执行复制和关系功能。
[0038]监视程序16可监视主要存储系统4a,并在检测到故障事件时可导致故障转移操作以导致来自主机14的更新被发送到辅助存储系统4b而不是主要存储系统4a。如果系统在对于主要存储6a的更新被施加到存储6b时故障,那么没有完成镜像到存储6b的更新可被恢复并被应用于存储6b。
[0039]存储管理代码22a、22b被调用以分别在第一存储系统和第二存储系统中的第一和第二存储位置之间建立诸如第一复制关系30a的复制关系。例如,存储系统4a、4b可包含企业存储服务器,诸如IBM企业存储服务器(ESS)。
[0040]可通过使用诸如对等远程复制(PPRC)程序的同步复制操作实现管理第一复制关系30a的存储管理代码22a、22b。PPRC程序的例子是使得能够将对于主要存储6a的更新切换到辅助存储 6b 的 IBM Geographically Dispersed Parallel Sysplex (GDPS)/PPRC 复制程序。异步远程复制程序也可实现存储管理代码22a、22b以及22c。异步远程复制程序的例子是对于主要存储6a或辅助存储6b的更新被镜像到远程站点中的相应的位置的IBMGDPS/XRC程序。通过诸如其它复制程序或其它全局恢复程序的其它程序实现描述的操作。
[0041]网络2可包含存储区域网络(SAN)、局域网络(LAN)、内联网、互联网、广域网络(WAN)、对等网络、无线网络、仲裁环网络等。存储6a、6b可包含存储器件的阵列,诸如简单磁盘捆绑(JBOD)、直接存取存储器件(DASD)、独立盘冗余阵列(RAID)阵列、虚拟化器件、带存储、快擦写存储器等。
[0042]图2示出根据本发明的一个实施例的网络化存储系统的操作的一个例子。在第一操作中,检测主要存储系统处的故障事件(块100)。错误事件可包含例如主要存储系统4a的故障或主要存储系统4a处的网络2连接中的故障。因此,主要存储系统4a处的故障被检测(在块100上)。例如,可通过监视器部件16检测该故障。
[0043]在图2的例子中,通过产生已故障或正在故障的复制关系的主要存储位置被交换到诸如辅助存储系统4b的不同的存储系统的替代复制关系,处理主要存储系统4a处的错误事件。因此,响应第一复制关系的主要存储系统的故障检测(块100),第二复制关系30b(图3)的建立被发起(块110,图2),以至少暂时替代第一复制关系30a (图1)。
[0044]如上面提到的那样,GeographicallyDispersed Parallel Sysplex (GDPS)是顾客可用来管理计划和未计划的停供期的恢复应用的例子。例如,GDPS恢复应用可检测可处于本地站点处的主要存储系统处的故障。这种故障可包含写入或访问本地站点处的主要存储卷的问题。当GDPS恢复应用检测到出现了故障时,它可调用称为“HyperSwap”功能的交换功能。该功能可被用于将镜像配置中的所有卷的处理从本地站点交换到远程站点。作为交换的结果,初始被配置为初始复制关系的辅助卷的远程站点处的存储卷被重新配置为新的复制关系的主要卷。类似地,一旦本地站点处的卷重新可操作,初始被配置为初始复制关系的主要卷的本地站点处的存储卷可被重新配置为新的复制关系的辅助卷。
[0045]与交换功能关联,可以调用故障转移功能。在GDPS恢复应用中,当重新建立相反方向即从远程站点回到本地站点的数据复制时,故障转移功能在一些情况下可避免执行全复制。具体而言,故障转移处理将远程存储装置(初始被配置为辅助存储装置)复位或重新配置为处于使镜像操作的继续未决但沿相反的方向的“暂停”状态的主要存储装置。同时,故障转移处理开始改变由主机对远程站点进行的任何随后的数据更新的记录。
[0046]—旦本地站点可操作,故障恢复处理就可被调用以使本地站点处的存储装置(初始配置为主要存储装置)复位为辅助存储装置。镜像可然后继续(沿相反的方向,即,从远程到本地而不是从本地到远程)以使本地站点处的辅助存储装置(初始为主要存储装置)与存储于远程站点处的主要存储装置(初始为辅助存储装置)处的数据更新重新同步化。
[0047]因此,在示出的实施例中,在检测到故障时(块100),向第一复制关系30a发出故障转移(或者执行一些其它行动)以导致主机20将其它更新写入到辅助存储6b而不是主要存储6a。监视代码16可向存储管理代码22a传送主要存储系统4a已故障或者第一复制关系30a被暂停。作为替代方案,存储管理代码22a、22b可在从监视代码16接收这种故障的指示之前掌握主要存储系统4a的故障(或第一复制关系30a的暂停)。存储管理代码22a、22b响应确定第一存储系统4a具有故障(与来自监视器16的传送无关或者响应该传送)而指示第一复制关系30a被暂停。
[0048]因此,在示出的实施例中,响应第一复制关系的主要存储系统的故障检测(块100),第二复制关系30b (图3)的建立被发起(块110、图2),其中,第二复制关系30b的主要存储现在是远程站点处的存储6b (图3),并且,辅助存储将是图3所示的本地站点处的存储6a (图3)。一旦本地站点处的辅助存储系统4a和辅助存储6a (图3)重新可操作,第二复制关系30b就使被第二复制关系30b使用的第二位图34b将记录到远程站点处的主要存储6b (图3)的存储位置的更新,这些更新要被镜像回本地站点处的辅助存储6a (图3)的存储位置。
[0049]以前,诸如PPRC故障转移命令的故障转移命令的交换操作的处理一般包含被重新配置为替代复制关系的主要卷的所有原始远程卷的失去同步(OOS)位图的初始化。OOS位图经常作为数据结构存储于复制关系的主要存储位置内的元数据中。在典型的OOS位图中,零位指示对于由OOS位图的位代表的主要存储位置的数据轨道不出现更新。由此,在许多现有数据恢复程序中,OOS位图一般通过访问主要存储位置的元数据并且将零写入到位图的每个位位置被初始化为全O。作为结果,特别是如果在复制关系中存在许多卷,或者如果卷较大,或者如果包含OOS位图的元数据驻留于主要存储位置的缓慢的横排(rank)或驱动上,故障转移操作的主要/辅助交换操作会花费不方便的时间长度以完成。
[0050]例如,当产生卷时,一般对于包含数据结构的元数据分配轨道以用于复制服务用途的位图。对于特定的主要存储卷分配的这些元数据的轨道的数量常依赖于卷的尺寸。例如,位图元数据的各轨道常包含被复制服务使用的不同位图中的每一个的一部分。在一些应用中,可存在在元数据中支持的许多不同的位图。例如,在一个实施例中,存在16个不同的位图,但是,根据特定的位置,其它实施例可具有更多或更少的位图。因此,对于位图元数据分配足够的轨道,以支持所有不同的位图,这里,各位图对于主要存储位置的各轨道具有一个位。在具有16个位图的一个实现方式中,例如,各位图元数据轨道可具有足够的容量以存储代表16个不同的位图的多达3360个主要存储位置轨道的数据。因此,在具有例如用于顾客数据存储的总共150255个主要存储位置轨道的卷中,可以分配总共45个位图元数据轨道(150255/3360)的卷。一些主要数据存储卷甚至更大。例如,诸如I太字节(TB)卷的主要存储卷可例如具有1182006个圆柱,这提供17730090个顾客轨道。因此,该较大的主要存储卷可分配5277位图元数据轨道(17730090/3360)。作为结果,为了写入全O以初始化ITB卷的OOS位图的所有位位置,可以分级(stage)并访问所有的5277元数据轨道。特别是在不允许主机在该阶段中访问卷的情况下,这可能是耗时的。
[0051]先前,由PPRC数据恢复程序使用的OOS位图是对于用作OOS位图功能保留的“静态”位图。一般地,静态位图的内容在通过对于该静态位图保留的功能初始化之前是未知的。因此,在现有的PPRC故障转移命令处理中,对于OOS位图功能保留的静态位图中的所有的位被初始化为零。例如,对于ITB卷,如上面讨论的那样分级并修改所有的5277个元数据轨道。OOS位图的该初始化可能是非常耗时的。
[0052]根据本说明书的一个方面,作为使用对于OOS功能保留的静态位图的替代,可以选择被预设到预定位图案的动态可分配位图(图120,图2)。选择的动态位图然后可被分配(块130)为失去同步(OOS)位图,其中,在选择的位图中指示要被镜像(块140)到另一存储位置的对于一个存储位置的更新。
[0053]图4a是示出可对于可被复制服务使用的一组位图保持的元数据的示图200。在本实施例中,产生16个位图,并且,可通过在示图200中指示的相关的位图指数BI_01 -BI_16标识各位图。当产生相关的存储卷时,可产生示图200的位图和相关的元数据。作为替代方案,在预期或需要出现相关的存储卷的复制服务功能时,可在随后的时间产生示图200的位图和相关的元数据。
[0054]在图4a的例子中,位图包含静态位图和动态位图。对于特定的复制服务功能保留静态位图中的每一个。因此,在示图200的例子中,分别对于复制服务功能A、B、C和D保留分别由位图指数BI_01、BI_03、BI_13和BI_15标识的静态位图。作为静态位图,一旦被呼入为被对于特定的静态位图保留的复制服务功能使用,静态位图就通过适于该特定的功能的位图案被初始化。因此,当被呼入使用时,静态位图BI_01将通过功能A预定位图案被初始化,静态位图BI_03将通过功能B预定位图案被初始化,等等。
[0055]当复制服务功能需要动态位图时,向可用的动态位图分配位图指数。该指数值可保持在与呼叫的复制服务功能相关的单独的元数据中,直到动态位图不再被该功能使用。根据本说明书,当复制服务功能呼叫OOS位图时,不是使用用于OOS位图操作的静态位图,而是可从可用的位图分配动态位图。根据本说明书的另一方面,动态位图可能已被预设为在多个不同的预设的位图案中的一个中。例如,在示出的实施例中,动态位图中的一些的一个预设的位图案是全O的位图案。相反,在示出的实施例中,其它动态位图的另一预设的位图案是全I的位图案。根据特定的应用,可以利用其它位图案预设。
[0056]图5表示用于为OOS功能分配已被预设为在多个不同的位图案中的一个预定位图案的动态位图的动态位图的操作的一个例子。在一个操作中,接收命令(块300),以建立一个或更多个存储位置作为复制关系的主要存储位置。例如,如上面讨论的那样,可关于响应本地站点处的故障事件的检测而发起的交换操作接收这种命令。在这种交换操作中,诸如远程站点处的辅助存储6b (图1)的辅助存储位置被“交换”,以变为诸如第二复制关系30b(图3)的新的复制关系的现在为主要存储6b (图3)的主要存储位置。
[0057]作为替代方案,在其它情况下,诸如当在任何随后的故障之前发起网络存储复制关系时,可接收建立存储位置作为复制关系的主要存储位置的命令。因此,当初始建立复制关系30a时,可接收建立存储6a (图1)的存储位置作为复制关系30a的主要存储位置的命令。对于在建立命令中标识的主要存储位置的输入/输出操作静止(块310),以为OOS位图分配做准备。
[0058]在诸如PPRC程序的复制服务程序中,建立命令一般具有可设定的数个参数,诸如故障转移参数和“复制所有”参数。如果故障转移参数被设定,那么通过建立命令建立的主要存储位置是前面的辅助存储位置和响应原始主要存储位置的故障事件的检测发起的故障转移操作的故障转移目标。由于镜像或其它复制操作在检测故障事件之前继续进行,因此,新的主要存储位置(是故障转移之前的初始辅助存储位置)和故障恢复之后的新的辅助存储位置(是故障转移之前的初始存储位置)可能需要相对较少的重新同步化。由此,如果建立命令的故障转移参数被设定(块320),那么分配被预设为全O的动态位图(块330)会是合适的,原因是,可能需要相对较少的I位以标记代表应被复制回辅助存储位置的轨道的位图,从而在继续对于在建立命令中标识的主要存储位置的输入/输出操作时使本地站点和远程站点处的存储位置同步化(块350)。
[0059]图4b表示被更新以指示预设到全O的动态位图具有指数值BI_02的元数据示图200例如被分配给失去同步(OOS)功能。由于分配给OOS功能的动态位图BI_02被预设为全0,因此,不需要分级操作以标记代表不被复制回辅助存储位置的轨道的位图位置。事实上,可能需要相对较少的分级操作,以标记代表应复制回辅助存储位置的轨道的相对较少的附加的位图位置。作为结果,在一些应用中,可减少用于更新分配给OOS功能的动态位图的分级操作。
[0060]相反,如果设定“复制所有”参数(块360),那么通过建立命令建立的主要存储位置的所有轨道要被复制到通过建立命令建立的辅助存储位置。在示出的实施例中,由于OOS位图中的位位置中的I指示由该位位置代表的轨道要被复制并且由于主要存储位置的所有轨道要被复制,因此,分配被预设为全I的动态位图(块370)会是合适的,原因是,可能需要相对较少的O以标记代表不应被复制回辅助存储位置的轨道的位图,从而在继续对于在建立命令中标识的主要存储位置的输入/输出操作时使本地站点和远程站点处的存储位置同步化(块350)。
[0061]图4c表示被更新以指示预设到全I并具有指数值BI_04的动态位图例如被分配给失去同步(OOS)功能的元数据示图200的例子。由于分配给OOS功能的动态位图BI_04被预设为全1,因此,可能需要相对较少的分级操作以标记代表不应被复制回辅助存储位置的轨道的位图位置。作为结果,在一些应用中,可减少用于更新分配给OOS功能的动态位图的分级操作。
[0062]在图5的实施例中,如果既不设定故障转移也不设定复制所有参数(块320、360),那么缺省的操作是分配(块330)预设为全O的动态位图。然后,输入/输出操作继续(块350)。在位图可用但可用的位图不是需要的类型的情况下,可用的位图可被初始化以具有请求的位图案并被分配给请求的功能。并且,请求的类型的位图可能不是可用的,原因是它先前被使用并且保持“脏”的状态。在这些情况下,位图可被“清洁”使得位图案被复位为请求的类型。在所有位图均处于使用中并且不可用的情况下,对于位图的请求被拒绝,直到位图变得可用。
[0063]图6更详细地表示解释图5的动态位图分配操作330和370的一些方面的操作的例子。但是,图5针对与建立命令或操作关联的动态位图分配。可以理解,可关于其它操作和命令请求具有不同的预定位图案的动态位图。
[0064]因此,在图6所示的实施例中,接收对于动态位图的请求(±夹400)。关于请求是否用于被预设为O的动态位图进行确定(块410)。在图5的实施例中,通过检查建立命令的参数进行确定。这里,可以理解,根据特定的应用,复制服务可在其它情况下请求动态位图。
[0065]如果请求被确定为针对预设为O的位图的请求,那么诸如图4a所示的元数据例如被读取(块420),以标识被预设为O的可用的动态位图。在图4a的例子中,可以看出,具有B1.02和BI_14的位图指数值的动态位图被预设为全O并且两者均没有被分配给功能,因此,两者均可用于响应请求的分配。由此,可从可用的动态位图的列表去除(块430)动态位图BI_02、BI_14中的一个并且响应请求将其分配给功能。元数据可被更新(块440)以指示标识的位图被分配给功能并因此不再可用。例如,在图4b的实施例中,具有BI_02的位图指数值的动态位图被指示为被分配给例如OOS功能,并因此不再可用于分配。
[0066]被分配的动态位图的位图指数值可被返回(±夹450)到呼叫功能。例如,在图4b的实施例中,BI_02的位图指数值可被返回到与建立命令关联的建立操作的OOS功能。由此,OOS功能可利用对于OOS功能预设为O的动态位图BI_02。一旦请求位图的功能不再使用位图,就将动态位图添加回可用的位图的元数据列表。由此,如图4a的示图200所示,具有B1.02的位图指数值的动态位图可被指示为可用于分配。如图4a所示,位图可被清洁并恢复到原始预设位图案(例如,全O)。例如,在预期下一请求针对被预设为全O的位图时,可在背景中执行清洁操作。作为替代方案,在预期下一请求时,位图可被预设为不同的位图案。在其它应用中,在接收对于位图的请求后,如果位图还没有被清洁或者如果位图案不是请求的类型并且没有具有请求的类型的位图可用,那么可初始化位图。
[0067]在本实施例,可通过任意地全I或者全O的两个不同的预设位图案中的一个预设动态位图。可以理解,可通过全O或全I以外的位图案预设动态位图。在本实施例中,如果确定(块410)请求不是针对预设为O的动态位图的请求,那么确定请求是针对预设为I的动态位图,原因是,在本实施例中,通过任意地全I或者全O预设动态位图。如果是这样,那么诸如图4a所示的元数据例如被读取(块47),以标识被预设为I的可用的动态位图。在图4a的例子中,可以看出,具有BI_04和BI_16的位图指数值的动态位图被预设为全I并且均没有被分配给功能,因此,两者均可用于响应请求的分配。由此,可从可用的动态位图的列表去除(块480)动态位图BI_04、BI_16中的一个并且响应请求将其分配给功能。元数据可被更新(块490)以指示标识的位图被分配给功能并因此不再可用。例如,在图4c的实施例中,具有BI_04的位图指数值的动态位图被指示为被分配给例如OOS功能,并因此不再可用于分配。
[0068]被分配的动态位图的位图指数值可被返回(±夹450)到呼叫功能。例如,在图4c的实施例中,BI_04的位图指数值可被返回到与建立命令关联的建立操作的OOS功能。由此,OOS功能可利用对于OOS功能预设为I的动态位图BI_04。并且,一旦请求位图的功能不再使用位图,就可适当地清洁或初始化动态位图并且将其添加回可用的位图的元数据列表。
[0069]在本说明书的一个方面中,可以相信,选择预设为多个不同的预定位图案中的一个预定位图案的动态可分配位图用作失去同步位图可明显减少用于恢复应用中的故障转移命令处理的处理时间。并且,可以相信,选择预设为多个不同的预定位图案中的一个预定位图案的动态可分配位图用作失去同步位图可明显减少复制程序中的初始复制关系建立命令处理的处理时间。例如,通过使用用于OOS位图的动态位图,可在命令处理时间中减少或消除OOS位图的初始化。
[0070]并且,可以相信,在许多应用中,对于较大的卷或较慢的横排或较慢的驱动,故障转移或建立命令处理时间不会增加。作为结果,通过减少命令处理时间,还可减少诸如例如HyperSwap事件的交换事件中的总体停供期时间。
[0071]通过使用用于制造软件、固件、硬件或它们的组合的标准编程和/或工程技术,描述的操作可实现为方法、装置或计算机程序产品。因此,实施例的各方面可采取这里统称为“电路”、“模块”或“系统”的完全硬件实施例、完全软件实施例(包含固件、驻留软件、微代码等)或组合软件方面和硬件方面的实施例的形式。并且,实施例的各方面可采取在具有在其上面体现的计算机可读程序代码的一个或更多个计算机可读介质中体现的计算机程序产品的形式。
[0072]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0073]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0074]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0075]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN) —连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0076]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/操作的装置。
[0077]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/操作的指令的制造品。
[0078]计算机程序指令也可被加载到计算机、其它可编程数据处理装置或其它设备上,以导致在计算机、其它可编程数据处理装置或其它设备上执行一系列的操作步骤,以产生计算机实现的过程,使得在计算机或其它可编程装置上执行的指令提供用于实现在流程图和/或框图块中规定的工作/作用的处理。
[0079]除非另外明确规定,否则,术语“一实施例”、“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“ 一个或更多个实施例”、“ 一些实施例”和“ 一个实施例”意味着“本发明的一个或更多个(但不是全部的)实施例”。
[0080]除非另外明确规定,否则,术语“包括”、“包含”、“具有”及其各种变体意味着“包括但不限于”。
[0081]除非另外明确规定,否则,列举的项目列表不意味着所有和任意的项目是相互排斥的。
[0082]除非另外明确规定,否则,术语“一个”、“一种”和“该”意味着“一个或更多个”。
[0083]除非另外明确规定,否则,相互通信的设备不需要相互连续通信。另外,相互通信的设备可直接或通过一个或更多个中介间接地通信。
[0084]具有相互通信的几个部件的实施例的描述不意味着需要所有这些部件。相反,各种任选的部件被描述为示出本发明的各种可能的实施例。
[0085]并且,虽然处理步骤、方法步骤或算法等可被依次描述,但是这些处理、方法和算法可被配置为以交替的次序工作。换句话说,可描述的步骤的任何次序或顺序未必指示要求以该次序执行这些步骤。可通过任何实际的次序执行这里描述的处理的步骤。并且,可同时执行一些步骤。
[0086]当这里描述单个设备或物品时,很容易理解,作为单个设备/物品的替代,可以使用多于一个的设备/物品(不管它们是否协作)。类似地,在这里描述多于一个的设备或物品(不管它们是否协作)的情况下,容易理解,作为多于一个设备或物品的替代,可以使用单个设备/物品,或者,作为表示的数量的设备或程序的替代,可以使用不同数量的设备/物品。可替代性通过没有明确描述为具有这种功能/特征的一个或更多个其它设备体现设备的功能和/或特征。因此,本发明的其它实施例不需要包含设备自身。
[0087]示图的示出的操作表示以某种次序出现的某些事件。在替代性实施例中,可通过不同的次序执行、修改或者去除某些操作。并且,步骤可被添加到上述的逻辑,并且仍符合描述的实施例。并且,这里描述的操作可依次出现,或者可并行处理某些操作。并且,可通过单个处理单元或者通过分布的处理单元执行操作。
[0088]已出于解释和描述的目的给出各种实施例的以上的描述。应当注意,这不是穷举的或者限于公开的确切的形式。鉴于以上的教导,许多修改和变化是可能的。本发明的范围不是由本【具体实施方式】限制,而是由所附的权利要求限制。以上的说明书、例子和数据提供本发明的制造的完整的描述和部件的使用。由于可在不背离本发明的精神和范围的情况下提出本发明的许多实施例,因此,本发明在于以下所附的权利要求。
【权利要求】
1.一种方法,包括: 在数据存储系统中的第一站点处的存储位置与第二站点处的存储位置之间建立复制关系,其中,所述建立包括: 选择预设为多个不同的预定位图案中的一个预定位图案的动态可分配位图,所述选择根据选择的位图的可用性和对于选择的位图标识的预定位图案的类型这两者;和 将选择的位图分配为失去同步位图,其中,在选择的位图中指示要被复制到第一站点处的存储位置的对于第二站点处的存储位置的更新;和 通过使用选择的位图作为失去同步位图,将正被写入到一个站点处的存储位置的数据写入复制到另一站点处的存储位置。
2.根据权利要求1的方法,还包括: 接收建立命令,其中,所述复制关系建立响应所述建立命令。
3.根据权利要求1的方法,还包括检测第一站点和第二站点中的一个站点处的故障事件,其中,所述复制关系建立响应所述故障检测。
4.根据权利要求3的方法,其中,所述复制关系是镜像关系,并且其中,所述第一站点和第二站点处的存储位置初始处于第一镜像关系,在第一镜像关系中,第一站点处的第一镜像关系的存储位置是第一镜像关系的主要存储位置,并且,第二站点处的第一镜像关系的存储位置是第一镜像关系的辅助存储位置,其中,在第一镜像关系中,对于第一站点处的主要存储位置的更新被镜像到第二站点处的辅助存储位置,并且其中,所述镜像关系建立响应所述故障检测,并且包括将第一站点和第二站点的主要存储位置和辅助存储位置指定交换为第二镜像关系,在第二镜像关系中,第二站点处的第二镜像关系的存储位置是第二镜像关系的主要存储位置,并且,第一站点处的第二镜像关系的存储位置是第二镜像关系的辅助存储位置,其中,在第二镜像关系中,对于第二站点处的主要存储位置的更新被镜像到第一站点处的辅助存储位置。
5.根据权利要求2的方法,其中,位图选择包含: 确定是否已在接收的建立命令中设定故障转移参数;和 如果确定已在接收的建立命令中设定故障转移参数,那么选择预设到第一预定位图案的动态可分配位图。
6.根据权利要求5的方法,其中,位图选择包含: 确定是否已在接收的建立命令中设定复制所有参数;和 如果确定已在接收的建立命令中设定复制所有参数,那么选择预设到与第一预定位图案不同的第二预定位图案的动态可分配位图。
7.根据权利要求6的方法,其中,第一预定位图案为全O,并且,第二预定位图案为全I。
8.根据权利要求7的方法,其中,位图的位图案的位置代表一个站点处的复制关系的存储位置的一部分,并且,位图案位置的值指示存储于由位图案位置代表的存储位置部分处的数据是否要被复制到另一站点处的复制关系的存储位置的相应部分。
9.根据权利要求1的方法,其中,选择预设到预定位图案的动态可分配位图包含读取标识可用于分配的多个动态可分配位图并标识多个可用的动态可分配位图中的每一个的预定位图案的类型的数据结构,以及根据由数据结构标识的选择的位图的可用性和由数据结构标识的预定位图案的类型这两者来选择动态可分配位图。
10.根据权利要求9的方法,其中,将选择的位图分配为失去同步位图包含更新数据结构以指示选择的位图处于使用中并因此不再可用。
11.根据权利要求1的方法,其中,将选择的位图分配为失去同步位图包含更新数据结构以指示选择的位图被分配为失去同步位图。
12.根据权利要求1的方法,还包括: 接收建立命令,其中,所述复制关系建立响应所述建立命令的接收,并且其中,选择预设到预定位图案的动态可分配位图根据接收的建立命令的参数。
13.一种与网络通信的系统,包括: 第一存储系统; 第二存储系统,其中,第一存储系统和第二存储系统在网络上通信;和 包含被执行以执行操作的至少一个计算机可读介质,所述操作包括: 在数据存储系统中的第一站点处的存储位置与第二站点处的存储位置之间建立复制关系,其中,所述建立包括: 选择预设为多个不同的预定位图案中的一个预定位图案的动态可分配位图,所述选择根据选择的位图的可用性和对于选择的位图标识的预定位图案的类型;和 将选择的位图分配为失去同步位图,其中,在选择的位图中指示要被复制到第一站点处的存储位置的对于第二站点处的存储位置的更新;和 通过使用选择的位图作为失去同步位图,将正被写入到第二站点处的存储位置的数据写入复制到第二站点处的存储位置。
14.根据权利要求13的系统`,其中,所述操作还包括: 接收建立命令,其中,所述复制关系建立响应所述建立命令。
15.根据权利要求13的系统,其中,所述操作还包括检测第一站点和第二站点中的一个站点处的故障事件,其中,所述复制关系建立响应所述故障检测。
16.根据权利要求15的系统,其中,所述复制关系是镜像关系,并且其中,所述第一站点和第二站点处的存储位置初始处于第一镜像关系,在第一镜像关系中,第一站点处的第一镜像关系的存储位置是第一镜像关系的主要存储位置,并且,第二站点处的第一镜像关系的存储位置是第一镜像关系的辅助存储位置,其中,在第一镜像关系中,对于第一站点处的主要存储位置的更新被镜像到第二站点处的辅助存储位置,并且其中,所述镜像关系建立响应所述故障检测,并且包括将第一站点和第二站点处的主要存储位置和辅助存储位置指定交换为第二镜像关系,在第二镜像关系中,第二站点处的第二镜像关系的存储位置是第二镜像关系的主要存储位置,并且,第一站点处的第二镜像关系的存储位置是第二镜像关系的辅助存储位置,其中,在第二镜像关系中,对于第二站点处的主要存储位置的更新被镜像到第一站点处的辅助存储位置。
17.根据权利要求14的系统,其中,位图选择包含: 确定是否已在接收的建立命令中设定故障转移参数;和 如果确定已在接收的建立命令中设定故障转移参数,那么选择预设到第一预定位图案的动态可分配位图。
18.根据权利要求17的系统,其中,位图选择包含: 确定是否已在接收的建立命令中设定复制所有参数;如果确定已在接收的建立命令中设定复制所有参数,那么选择预设到与第一预定位图案不同的第二预定位图案的动态可分配位图。
19.根据权利要求18的系统,其中,第一预定位图案为全O,并且,第二预定位图案为全1
20.根据权利要求19的系统,其中,位图的位图案的位置代表第二站点处的复制关系的存储位置的一部分,并且,位图案位置的值指示存储于由位图案位置代表的存储位置部分处的数据是否要被复制到第一站点处的复制关系的存储位置的相应部分。
21.根据权利要求13的系统,其中,选择预设到预定位图案的动态可分配位图包含读取标识可用于分配的多个动态可分配位图并标识多个可用的动态可分配位图中的每一个的预定位图案的类型的数据结构,以及选择动态可分配位图,所述选择根据由数据结构标识的选择的位图的可用性和由数据结构标识的预定位图案的类型这两者。
22.根据权利要求21的系统,其中,将选择的位图分配为失去同步位图包含更新数据结构以指示选择的位图处于使用中并因此不再可用。
23.根据权利要求13的系统,其中,将选择的位图分配为失去同步位图包含更新数据结构以指示选择的位图被分配为失去同步位图。
24.根据权利要求13的系统,其中,所述操作还包括: 接收建立命令,其中,所述复制关系建立响应所述建立命令的接收,并且其中,选择预设到预定位图案的动态可分配位图根`据接收的建立命令的参数。
【文档编号】G06F3/06GK103777897SQ201310486350
【公开日】2014年5月7日 申请日期:2013年10月17日 优先权日:2012年10月17日
【发明者】T·M·布朗, N·Y·弗朗西斯科, T·T·小哈里斯, 李苏光, M·L·里派兹, C·S·麦尔格瑞恩, R·E·塞伯, A·E·萨塞兹, W·K·斯坦利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1