CN1773463A - 用于一致性组形成中的数据传送管理的方法和系统 - Google Patents
用于一致性组形成中的数据传送管理的方法和系统 Download PDFInfo
- Publication number
- CN1773463A CN1773463A CN200510115142.3A CN200510115142A CN1773463A CN 1773463 A CN1773463 A CN 1773463A CN 200510115142 A CN200510115142 A CN 200510115142A CN 1773463 A CN1773463 A CN 1773463A
- Authority
- CN
- China
- Prior art keywords
- data structure
- data
- source
- destination
- indication
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2064—Error 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 while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2082—Data 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)
Abstract
提供了用于管理一致性组形成中的数据传送的方法、系统、部署和程序。在一个实施例中,作为至少一个被确定的积压的函数选择用于一个数据结构的传送时间。在被选择的传送时间届满时,可以切换操作模式。通过动态地选择传送时间,可以减少积压以增加成功创建一致性组的可能性。描述和提出了其它实施例。
Description
技术领域
本发明一般涉及计算机存储,更具体地涉及计算机存储中用于一致性组形成中的数据传送管理的方法和系统。
背景技术
灾难恢复系统通常解决两种故障,单一时间点的突发灾难性故障或一段时间内的数据丢失。为帮助恢复数据更新,可以在远程位置提供数据的拷贝。这种双重或阴影拷贝(shadow copy)通常在应用系统正将新数据写入主存储设备时进行。国际商业机器公司(IBM),该主题专利申请的受让人提供用于在辅助站点保持数据的远程拷贝的下述系统,扩展远程拷贝(Extended Remote Copy XRC)和对等远程拷贝(Peer-to-Peer RemoteCopy PPRC)。这些系统提供了将数据连续镜像到远程站点以便在其数据被连续镜像的主站点的故障期间进行失效转移(failover)的方法。这种数据镜像系统还能提供用于非恢复目的(诸如,远程站点的本地访问)的另外的远程拷贝。在IBM出版物“DFSMS/MVS Version 1 Remote CopyAdministrator’s Guide and Reference;Document Number SC35-0169-03Copyright IBM Corp.1994,1997)中描述了IBM XRC和PPRC系统,该出版物在此全部引入以供参考。
在这种备份系统中,按卷对(volume pair)保持数据。卷对包括主存储设备中的卷和辅助存储设备中的相应卷,辅助存储设备中的相应卷包括保持在主卷中的数据的相同拷贝。通常,在主直接访问存储设备(DASD)中保持所述对的主卷,并且在投影主DASD上的数据的辅助DASD中保持所述对的辅助卷。可以提供主存储控制器控制对主DASD的访问,并且可以提供辅助存储控制器来控制对辅助DASD的访问。在IBM XRC环境中,将数据写入主卷的应用系统包括系统复合体定时器(sysplex timer),其提供作为数据写入的时间戳的时刻(TOD)值。主机系统时间戳数据设置何时将这种数据集写入主DASD中的卷。数据更新的完整性与保证按与在主卷上执行的相同顺序在卷对中的辅助卷上进行更新有关。在XRC以及其它现有技术系统中,由系统代表应用程序提供的交叉系统共用时间戳确定和保持在任意数目的存储系统上的任意数目的数据卷上的数据更新的逻辑顺序。在许多应用程序中,诸如数据库系统中,某些写入不能发生,除非发生一个先前写入;否则将危及数据完整性。其完整性依赖于先前数据写入的发生的这种数据写入被称为相关写入。例如,如果顾客开户,存入$400,然后提款$300,系统的提款更新取决于其它写入、开户和存款的发生,当将这种相关事务从主卷复制到辅助卷时,必须保持事务顺序以便保持相关写入操作的完整性。
当已经按它们的逻辑顺序传送了所有写入时,即,所有相关写入被在与其相关的写入之前先被传送,主和辅助DASD中的卷是一致的。在银行的例子中,这表示在提款前将存款写入辅助卷。一致性组是主卷的更新的集合,从而以一致的方式确保相关写入。例如,在银行的例子中,这表示提款事务在与存款相同的一致性组中或在稍后的组中;取款不能在更早的一致性组中。一致性组保持卷和存储设备上的数据一致性。例如,如果发生故障,在提款之前将存款写入辅助卷。因此,当从辅助卷恢复数据时,所恢复的数据将是一致的。
一致性时间是系统是从应用系统对所述数据集施加的时间戳中得出的时间。一致性组具有用于一致性组中所有数据写入的一个一致性时间,所述数据写入具有等于或比该一致性时间戳更早的时间戳。在IBM XRC环境中,一致性时间是系统保证对辅助卷的更新是一致的最晚时间。在应用程序将数据写入主卷时,所述一致性时间增加。然而,如果更新活动停止,则一致性时间不改变,因为没有具有时间戳的数据集以便提供用于另外的一致性组的时间参考。如果一致性组中的所有记录都被写入辅助卷,那么所报告的一致性时间反映出一致性组中的所有记录的最晚的时间戳。在被受让给IBM本主题专利申请的受让人的U.S.专利Nos.5,615,329和5,504,861中描述了用于保持数据写入的顺序一致性和形成一致性组以便保持主DASD和辅助DASD间的数据传送的顺序一致性的方法,其内容在此全部引入以供参考。
保持拷贝间的一致性的一种技术是使用被称为系统复合体定时器的公用时钟源给主卷上的数据加时间戳。在2003年9月29日提交的共同未决和共同受让的题目为“METHOD,SYSTEM,AND PROGRAM FORFORMING A CONSISTENCY GROUP”,案卷号no.TUC920030108US1,序列号No.10/676,852的专利申请中描述了创建和操作一致性组的形成中的数据结构的细节,该专利申请在此全部引入以供参考。可以使用一种数据结构,不同步(out of synch)位图指示将传送的道。存储控制器可以接收一致性组形成命令以便将受存储控制器管理的特定卷拷贝到远程站点。作为响应,存储控制器可以对任何另外的写入进行排队,同时产生改变记录位图以便跟踪在启动一致性组的形成后被排队的写入以及任何后续写入。该操作模式可被称为“处理模式中的一致性组”。在该模式中,不同步位图中指示的道可以被拷贝到远程站点以便创建一致性组。
在排空不同步位图从而已经完成了该不同步位图中指示的所有异步远程拷贝操作后,可以形成一致性组。如果是的,操作模式可以切换到第二模式,其中后续写入可以改为记录在不同步位图中。不同步位图中指示的道可以被继续拷贝到远程站点。该操作模式可被称为(例如)“正常传送模式”。在该模式中,可以将改变记录位图与不同步位图合并,并且可以删除改变记录位图。另外,可以与存储控制器接收时间点拷贝命令的时间一致地在卷的远程站点执行虚拟拷贝。
通常在成功形成一致性组前,在处理模式中的一致性组模式内清除不同步位图中的所有位。管理一致性组形成中的数据传送的一种方法是在一致性组的创建上强制施加固定的时间限制。如果在固定时间周期届满前,没有完全排空不同步位图,那么一致性组的形成尝试被认为失败了。如果是的,可以将操作模式从处理模式中的一致性组切换到正常传送模式。在模式切换的准备中,可以将改变记录位图的位与不同步位图合并,并且通过设置不同步位图的适当位,将新的主机写入记录在不同步位图中。因此,随着不同步位图继续排空,所有卷的道可以被传送到远程站点。因此,在一些应用中,可以降低或消除对下一个一致性组的形成尝试的写入积压。
如果在另一固定时间周期后,没有完全排空不同步位图,通过切换回处理模式中的一致性组,可以进行另一尝试来形成一致性组。因此,存储控制器可以对任何后续写入进行排队,同时生成改变记录位图。在生成改变记录位图后,可以在改变记录位图中指示任何被排队的写入和后续写入,并且可以将在不同步位图中指示的道继续拷贝到远程站点。同时,如果到所述固定时间周期届满时未完全排空不同步位图,可以认为一致性组的形成失败了,并且可以将操作模式切换回正常传送模式。在由于不同步位图的排空超出了用于形成每个一致性组的固定时限的某个次数的一致性组尝试失败后(诸如,例如五次一致性组尝试),可以忽略该固定时限。因此,操作模式可以保持为处于处理模式中的一致性组内,直到成功形成一致性组为止。
发明内容
提供了用于在形成数据的一致性组时管理数据传送的方法、系统和程序。在一个实施例中,在第一数据结构中标识从多个源中的一个源传送到多个目的地中的一个目的地的数据段。更新第一数据结构以便指示数据段的传送,并且在第一模式中,更新所述第一数据结构以便指示一致性组的源和目的地之间要被传送的另外的数据段。根据本说明的一个方面,在动态地选择的传送时间届满后,可以将操作模式切换到可以形成一致性组的第二模式。在第二模式中,更新第二数据结构而不是第一数据结构以便指示一致性组的源和目的地之间要被传送的另外的数据段。在一个实施例中,在选择传送时间时,确定将从该一致性组的至少一个源传送到至少一个目的地的数据段的至少一个积压。作为至少一个被确定的积压的函数,选择用于第一数据结构的传送时间。
在一致性组的创建前一个第二时间周期届满后,将第二数据结构合并到第一数据结构中。在恢复第一模式时,更新第一数据结构而不是第二数据结构以指示该一致性组的源和目的地之间要被传送的另外的数据段。
在另一个方面,由多个服务器保持正被创建的一致性组的源,并且为每个服务器确定传送速率。同时为每个服务器确定估计的传送时间,并且选择最大持续时间的传送时间。
在再一个方面中,确定传送速率包括在第一时间确定如第一数据结构指示的为创建一致性组特定服务器尚待传送的道数,在第二个后续时间,确定如第一数据结构指示的为创建一致性组该特定服务器尚待传送的道数,作为在第一和第二时间确定的道数的变化的函数,并且除以第一和第二时间之间的持续时间,为特定服务器确定尚待传送的道数的变化速率。
在再一个方面,为每个服务器确定估计的传送时间,包括将如由第一数据结构指示的为创建一致性组该特定的服务器尚待传送的道数除以为该特定的服务器确定的数据传送速率。另外,可以将所确定的传送时间乘以一个常数。描述和提出了其它实施例。
附图说明
现在参考附图,相同的参考号表示相应的组件:
图1是示例说明可以在其中采用此处提供的说明的方面的网络计算环境的框图;
图2示例说明根据一个实施例的存储控制器的布置;
图3示例说明根据一个实施例的关系信息;
图4示例说明根据一个实施例,图1的存储控制器内的组件;
图5示例说明根据一个实施例,由存储控制器执行以便为了创建一致性组管理数据传送的操作;
图6示例说明可以在其中采用此处提供的说明的方面的另一网络计算环境;以及
图7示例说明根据一个实施例,可以用在网络环境中的计算组件(诸如存储控制器)的体系结构。
具体实施方式
在下述描述中参考了附图,附图形成本文的一部分并示例说明了几个实施例。应理解可以使用其它实施例并且可以做出结构的操作的改变,而不背离本说明的范围。
图1示例说明了一个网络计算环境,其中可以采用所述实施例的方面。本地站点2包括存储控制器4a、4b和4c,其中,每个存储控制器4a、4b和4c分别连接到所附的存储系统6a、6b和6c。存储控制器4a、4b和4c管理从主机系统(未示出)到存储系统6a、6b和6c的输入/输出(I/O)访问。每个存储控制器4a、4b和4c通过连接12a、12b和12c将数据拷贝到远程站点10处的相应的远程存储控制器8a、8b和8c。存储控制器4a、4b和4c在时间点上一致地将数据传送到远程存储控制器8a、8b和8c,其中远程存储控制器8a、8b和8c将数据存储到它们各自所附的远程存储系统14a、14b和14c。在某些实施例中,存储控制器4a、4b和4c将数据连续地传送到远程站点10,并且在某些时刻,确保远程站点10处数据的一致性。在某些实施例中,远程站点10可以将数据的一致性组保存到另一存储设备,诸如一致性备份存储设备16a、16b和16c,以便在远程站点10保持一致性数据的备份。在将数据的一致性组传送到远程存储设备14a、14b和14c后,从远程存储设备14a、14b和16c向相应的一致性备份存储设备16a、16b和16c进行拷贝。尽管图1示例说明了所述站点处的几个组件,诸如三个存储控制器和存储设备,所述实施例可以所述站点处的任意数目的存储控制器和存储系统操作。
如下面更详细所述,在管理一致性组形成中的数据传送时,可以动态地调整用于限制特定模式中的操作的持续时间。例如,基于用于源的传送速率和将为每个特定源传送的道或其它数据段的数目,可以选择用于该模式的最大排空或传送时间。如此处所使用的,随着成功地传送了指示的数据段,指示将被传送的数据段的数据结构被排空,并且因此更新该数据结构。一旦该数据结构被完全排空,该数据结构将指示没有将被完成的另外的传送。如果所选的传送时间在排空数据结构前届满,可以切换操作模式。可以用能显著地提高积压减少的方式选择传送时间,从而增加成功的一致性组形成的机会。
数据段可以是单个道、多个道、道的一部分或适合于传送的任何其它数据单位。远程站点10可以离本地站点2几百或几千英里。存储控制器对之间的连接12a、12b和12c可以包括专用线路,诸如专用光纤网络或由长途电信运营商保持的连接,具有通道延长器或通过网络诸如存储区域网(SAN)、局域网(LAN)、因特网和内联网等等扩展的长距离光纤连接。
本地站点2处的主机系统(未示出)可以执行关于存储系统6a、6b和6c中的卷的输入/输出(I/O)操作。主机系统可以通过任何网络或本领域公知的连接与存储控制器4a、4b和4c通信。本地站点处的存储控制器4a、4b和4c可以相对于由所述存储控制器管理的卷具有某些主-从关系。例如,一个存储控制器可以被指定为主,例如4c,并且其它的被指定为从,例如4a和4b。由被指定为从的控制器控制的卷可以受被指定为主的存储控制器管理。以这种方式,一个主存储控制器可以为对于特定的主存储控制器被指定为从存储控制器的从存储控制器管理对特定卷的远程拷贝操作。
存储控制器4a、4b、4c、8a、8b和8c进一步包括处理器复合体(processor complex)并且可以包括本领域公知的任何存储控制器或服务器,诸如IBM企业存储服务器(IBM Enterprise Storage Server ESS),3990存储控制器等等(Enterprise Storage Server是IBM的注册商标)。存储系统6a、6b、6c、14a、14b、14c、16a、16b和16c可以包括存储设备阵列,诸如硬盘捆绑(JBOD)、独立磁盘冗余阵列(RAID)、磁带驱动器、虚拟设备等等。
图2示例说明可以包括在本地站点2处的存储控制器4诸如存储控制器4a、4b和4c中的程序和信息,包括存储管理软件62、关系指定信息64、不同步位图(OOS)66和改变记录(CR)位图68。存储管理软件62可以包括允许远程拷贝数据的代码,诸如包括在IBM PPRC Extended Distance程序中的代码,以便允许在相对短和长的距离上镜像数据。在具有文档号No.SG24-6568-00(Copyright IBM,2002年6月)的IBM出版物“IBMTotalStorage Enterprise Storage Server PPRC Extended Distance”中描述了IBM PPRC Extended Distance程序的其它详情,该出版物在此全部引用以供参考。由存储管理软件62保持的关系信息64包括分别用于属于一个一致性组关系的存储设备6a、6b和6c上的每个卷(或卷的一部分)的信息。对主-从环境,诸如图1所示,关系信息64进一步指出存储控制器是否是一致性组关系的主存储控制器,或在所附的存储设备中的卷是否是一致性组关系中的从卷。被指定为主存储控制器的存储控制器诸如4c管理对于其所附的存储设备例如6c中的指定卷或由被指定为从存储控制器的其它存储控制器例如4a、4b管理的其它存储系统例如6a、6b中的卷的一致性组拷贝操作。因此,可以基于逐卷地进行主-从指定。在可替换的实施例中,可以在子卷级进行主-从指定。一个存储控制器中的不同卷对于不同的时间点拷贝关系可以被指定为从卷。因此,主存储控制器可以控制分布在由不同存储控制器管理的存储系统中的卷的时间点拷贝。
本地存储控制器4a、4b和4c可以在局域网18上通信,局域网18可以包括直接连接或交换网。可替换地,存储控制器4a、4b和4c可以在链路12a、12b和12c上通信,如果所述链路还延伸到本地站点2处的网络。
在另外的实施例中,可以在会话的基础上发生数据镜像和一致性组管理。会话可以被定义为包括多个卷,当启动会话时可以使用会话名引用所述的多个卷。可以给会话指定主-从关系从而该关系将应用于会话中的所有卷。在一个会话内定义的所有卷将被包括在相同一致性组中。
关系信息64可以包括多个关系指定,每个卷一个,对于所述的卷该存储控制器被指定为主或从。图3示例说明包括在关系指定80中的信息。
关系标识字段82指示一致性组拷贝关系的ID,因为可以有多个关系,每一个被指定给存储控制器4a、4b、4c上一组卷。因此,存储控制器4a、4b、4c可以是多个一致性组关系的主存储控制器,或具有在不同关系中为从的卷。主-从字段84表示该指定用于主还是从关系。如果主-从指示器84指明为“主”,那么包括该指定80的存储控制器,例如4c,在字段82中标识的主-从关系中对于由存储控制器信息86中指示的存储控制器例如4a或4b管理的在卷信息88中指出的卷是主存储控制器。同样地,如果主-从指示器82指明为“从”,那么在字段82中指示的关系中由卷信息88中指示的所附的存储设备例如6a或6b中的卷对于存储控制器信息86中指示的主存储控制器例如4c为从卷。主存储控制器例如4c可以被指定给一个被附加到另外的存储控制器例如4a、4b的存储设备例如6a、6b中的,或被附加到主存储控制器例如4c的存储设备例如6c中的从卷。因此,主可以被指定给所附的存储设备和/或被附加到其它存储控制器的存储系统中的从卷。此外,存储控制器可以被相对于所附的存储和/或由其它存储控制器管理的存储中的卷指定为主,并且同时包括相对于一个主被指定为从的卷,其中所述的主可以是该存储控制器本身或是另一个存储控制器。
另外,用于主存储控制器的指定信息64将包括用于从存储控制器上的每个从卷的关系记录80,其中,在字段86和88中分别指示所述的从存储控制器和卷。所述关系信息可以用不同于图3所示的布置和格式保持,并且可以用本领域已知的任何数据结构保持,诸如文本或格式化文本文件、数据库等等。
不同步位图66包括用于将被从存储控制器拷贝到相应的远程存储设备的每个道的位。在正常拷贝操作期间,可以在不同步位图(OOS)66中记录对存储控制器的任何写入,然后拷贝到远程存储设备。改变记录位图68包括用于在数据的一致性集合形成期间接收到更新的每个道的位。另外,存储控制器4a、4b、4c可以保持用于每个卷的一组这些位图,或可替换地保持用于所附存储设备6a、6b、6c中的一组卷的一组位图66和68。
在某些实施例中,存储控制器运行后台处理以便将在它们的不同步位图中指示为被更新的任何道拷贝到远程存储设备。即使在启动形成一致性组和创建改变记录位图后,这一处理也能在从控制器中继续。图4示例说明存储控制器4a、4b、4c的其它细节,其中,它们每一个被称为主存储控制器102,其将数据拷贝到接收数据的辅助存储控制器104,诸如存储控制器14a、14b、14c。主存储控制器102包括主高速缓存106,其中保持有由主存储控制器102管理的所附的存储设备108诸如存储设备6a、6b、6c中的道的更新,直到写入所附的主存储设备108(即道离台)为止。另外,主存储控制器102包括非易失高速缓存110。非易失高速缓存110可以是,例如,电池后备易失存储设备,以便保持数据更新的非易失拷贝和其它信息。辅助存储控制器104类似地可以包括辅助高速缓存107和非易失高速缓存111。
主存储控制器102包括用于读取数据的读取处理112和用于写入数据的写入处理114。主存储控制器102还包括异步处理116,用于将数据从主存储控制器102传送到远程存储设备,诸如在辅助存储控制器104处的存储设备。在某些实施例中,异步处理116可以执行异步PPRC ExtendedDistance服务的数据的同步。在这些情况下,为PPRC Extended Distance服务连续运行异步处理116。在某些实施例中,可以有多个异步处理(例如,用于PPRC Extended Distance的主存储设备108上的每个卷一个异步处理)。在某些实施例中,读取处理112、写入处理114和异步处理116包括在固件中。辅助存储控制器104将从主存储控制器102接收的数据写入辅助存储设备120,诸如存储设备14a、14b、14c(图1)。不同的处理112、114和116可以被包含在存储管理软件62中。
在具有案卷号No.TUC920030108US1,序列号No.10/676,852,2003年9月29日提交的名为“METHOD,SYSTEM,AND PROGRAM FORFORMING A CONSISTENCY GROUP”的共同未决和共同受让的专利申请中描述了创建和操作OOS和CR的其它细节,该专利申请在此全部引入以供参考。
在形成一致性组的一个例子中,主存储控制器102可以接收一致性组形成命令以便将由主存储控制器102管理的特定卷拷贝到远程站点。作为响应,主存储控制器102可以对任何其它的写进行排队,同时生成改变记录位图68。在生成改变记录位图68后,可以在改变记录位图68中指示出任何排队的写和后续写,并且可以将不同步位图66中指示的道拷贝到远程站点。该操作模式可以称为“处理模式中的一致性组”。
在排空OOS 66从而已经完成OOS 66中指示的所有异步远程拷贝操作后,后续写可以改为被记录在OOS 66中,并且不同步位图66中指示出的道可以被继续拷贝到远程站点。这种操作模式可被称为(例如)“正常传送模式”。在这种模式中,可以将改变记录位图68与OOS 66合并,并且可以丢弃改变记录位图68。另外,可以与主存储控制器102接收时间点拷贝命令的时间一致地在卷的远程站点处执行虚拟拷贝。
通常,在成功地形成一致性组前清除OOS 66中的所有位。很显然,暂时的负载不平衡会产生这样一种情况,其中一致性组中的相对少的卷在OOS 66中具有许多位设置,指示将从那些源卷传送许多道。相反地,许多源卷可能在OOS 66中具有相对少的位设置,指示将从那些源卷传送少量道。因此,用于许多卷的位可在一致性组内的由于将传送的道而承受繁重负载的少数源卷的所有位之前相对长时间地被从OOS 66中清除。如果在改变记录位图66而不是OOS 66中指出将被传送的新道,能防止大量的卷传送任何道,同时等待完成负载更重的卷的道的传送。因此,被收集在改变记录位图68中的主机写入能产生在创建下一个一致性组期间将传送的写入的大量积压。因此,可能极大地增加了在形成下一个一致性组过程中将传送的道数。
管理一致性组形成中的数据传送的一种方法是将固定时限强加到一致性组的创建上。如果在固定的时间周期届满前,未完全排空OOS 66,则一致性组的形成尝试被认为失败了。如果是这样,可以将操作模式从处理模式中的一致性组切换到正常传送模式。因此,可以将改变记录位图68的位与OOS 66合并,并且通过设置OOS 66的适当的位,将任何新的主机写入记录在OOS 66中。因此,随着继续排空OOS 66可以将来自所有卷的道传送到远程站点。因此,在一些应用中,可以降低或消除对于下一个一致性组的形成尝试的大量写入积压。
如果在另一个固定的时间周期后未完全排空OOS 66,通过切换回处理模式中的一致性组,可以进行另一尝试以便形成一致性组。因此,主存储控制器102可以对任何后续写进行排队,同时生成改变记录位图68。在生成改变记录位图68后,可以在改变记录位图68中指示任何被排队的写入和后续写入,并且可以继续将在不同步位图66中指示出的道拷贝到远程站点。同样,如果在该固定的时间周期届满前,未完全排空OOS 66,可以认为一致性组形成失败了,并且可以将操作模式切换回正常传送模式。在某个次数的(诸如,例如,五次一致性组尝试)由于排空OOS 66超出了用于形成每个一致性组的固定时限的一致性组尝试失败后,可以忽略该固定时限。因此,操作模式可以保持为处理模式中的一致性组,直到成功形成一致性组为止。
图5示例说明由主存储控制器102例如4c执行的操作以便管理在一致性组形成中的数据传送的另一方法。在该例子中,可以动态地调整特定模式诸如例如正常传送模式中用于限制操作的持续时间。例如,随着OOS 66排空,可以确定从一致性组中的至少一个源到至少一个目的地的数据传送速率。基于用于源的传送速率和每个特定源将传送的道或其它数据段的数目,可以选择用于该数据的可能的传送时间。当选定的传送时间已经届满时,则可以将操作模式切换到另一模式,诸如例如处理模式中的一致性组。因此,例如,如果主存储控制器102处于正常传送模式中,可以调整那个模式的持续时间以便允许基本上消除或减少积压。当所选的传送时间届满时,可以将操作模式切换到具有减少的积压的处理模式中的一致性组以便增加成功的一致性组形成的机会。另外,也可基本上减少由于大的积压而具有很少成功形成一致性组的机会的处理模式中的一致性组内的长的等待。
在图5的例子中,描述了两种操作模式。在被指为模式A的第一模式中,操作可以与(例如)正常传送模式类似。在被指为模式B的第二模式中,操作可以与(例如)处理模式中的一致性组类似。在这两种模式中,将数据段从源卷传送到一致性组标识的目的地卷。为形成一致性组将被传送的段由第一数据结构诸如,例如,OOS位图66标识。在该例子中,OOS66具有可以被设置以便指示将传送的特定段以便形成一致性组的位。
在操作模式B(例如,其可以是处理模式中的一致性组)内的一个操作中,更新第一数据结构例如,诸如,OOS 66(块200)以便指示为了创建一致性组数据段的成功传送,例如诸如数据道。在该例子中,OOS 66具有可以被重置或清除的位以便指示已被成功传送的特定段。更新第二数据结构,例如诸如改变记录位图68(块202)以便指示将传送的另外的数据段。这些另外的段可以是(例如)在启动形成一致性组后,主机后来写入一个或多个一致性组源卷的数据段。在该例子中,改变记录位图68具有可以被设置以便指示后续写入的段的位。如下所述在该例子中,在已经成功地形成一致性组或在形成一致性组的失败后被成功形成一致性组后,最终将由改变记录位图68指示的数据段传送到一致性组的目的地卷。
随着排空第一数据结构诸如OOS 66,确定是否成功创建了一致性组(块203)。如果没有,可以确定在创建一致性组前时限是否届满(块204)。在所示的实施例中,该确定的时限可以是可由(例如)管理员设置的固定时间周期。然而应意识到在其它实施例中,该时间周期可以是动态计算的时间周期。如果时限还未届满并且还未创建一致性组,继续更新第一数据结构,例如诸如OOS 66(块200),以便指示为创建一致性组数据段的成功传送。另外,继续更新第二数据结构(块202),例如诸如,改变记录位图68以便指示将最终传送的任何后续数据段。
如果确定在一致性组创建前该时限已经届满(块204),确定在一致性组创建前该时限是否已经届满预定多次(块206)。该预定次数可以是(例如)五次。应意识到也可以选择其它失败限制。
因此,在该例子中,如果确定一致性组的创建已经失败了少于五次(块206),执行切换到模式A的准备。在该准备期间,可以确定尚待传送的数据段的至少一个积压(块210)。基于逐个服务器、逐卷或任何其它适当的存储单位确定数据段的积压。在所示的实施例中,可以为具有该一致性组的一个或多个源卷的每个服务器确定数据段积压。应意识到根据特定应用,可以确定更少的数据段积压。
在所示的实施例中,通过在特定时间计算用于特定服务器的OOS 66中的位数,所述位数表示在那个特定时间那个特定服务器尚待传送的数据段的数目,可以确定数据段积压。可以为每个另外的源服务器进行该位计数。应意识到根据特定应用,可以使用其它技术确定积压。
在另一操作中,可以作为至少一个被确定的积压的函数选择用于第一数据结构的传送时间(块212)。在所选择的传送时间中,可以基于逐个服务器、逐卷或任何其它适当的存储单位确定数据传送速率。在所示的实施例中,为具有一致性组的一个或多个源卷的每个服务器确定数据速率。应意识到根据特定的应用,可以确定更少数目的数据速率。
在所示的实施例中,可以通过在特定时间计算用于特定服务器的OOS66中的位数确定数据传送速率,所述位数表示在那个特定时间那个特定服务器尚待传送的数据段的数目。可以对每个附加的源服务器进行该位计数。一段时间后,可以再次为每个源服务器计算OOS位图66中的剩余的位数。在为一个源服务器的第一次位计数和为该服务器的第二次位计数之间经过的时间表示测试周期。该测试周期的持续时间可以为1秒,或在例如0.5至2秒的范围中。应意识到根据特定应用,也可以选择其它持续时间。
特定源服务器的OOS 66中的剩余位数的改变或差值表示在测试周期期间已经为那个服务器传送的数据段的数量。因此,通过将每个源服务器的OOS 66中的剩余位数的改变除以相关的测试周期的持续时间,可以计算用于该服务器的数据传送速率。在该例子中,可以用每个服务器的积压,即,每个源服务器剩余的数据段的数量除以为该服务器确定的数据传送速率,以便提供OOS 66排空到适当水平以便减少或消除该服务器的任何积压的估计时间。因此,取决于那个服务器的积压和那个服务器的数据传送速率,特定服务器的估计的传送时间可以相对大或相对小。
在所示的实施例中,可以将为每个源服务器计算出的估计的传送时间的最长估计传送时间选择为传送时间。在另一实施例中,可以通过按某一因子增加最长估计传送时间从而增加减少积压的可能性来计算所选择的传送时间。例如,可以将最长估计传送时间乘以某一因子,诸如例如2或3,以便提供所选择的传送时间(块212)。如另一例子,可以将一个固定或可变时间段增加到最长估计传送时间以便提供所选择的传送时间。应意识到可以基于一个或多个被确定的积压使用多个过程动态地选择传送时间。
按照所选择的可能的传送时间,操作切换到模式A,并且将第二数据结构(在该例子中为改变记录位图68)合并到第一数据结构中,即,该例子中的OOS 66(块213)。因此,在该模式中可以用OOS 66的位指示将为失败的一致性组的卷传送的所有数据段,包括在启动一致性组的形成之后被写入源卷的段。
随着继续传送由第一数据结构(该例子中的OOS 66)标识的数据段时,可以更新第一数据结构(块214)以便指示数据段的成功传送。在该例子中,可以清除不同步位图66的位以便指示每个成功的传送。在模式A(该例子中为正常传送模式)中,还更新第一数据结构(在该例子中为OOS66)(216)以便指示也将传送的后来写入源卷的任何附加数据段。在该例子中,可以设置不同步位图66的位以便指示在将第二数据结构合并到第一数据结构后由主机写入的每个后续数据段。
在另一操作中,确定(块218)所选择的传送时间(块212)是否届满。如果不是,继续传送第一数据结构(在该例子中为OOS 66)标识的数据段,继续更新第一数据结构(块214)以便指示每个数据段的成功传送,并且继续更新第一数据结构(216)以便指示也将传送的被写入源卷的任何后续数据段。
如上所述,可以基于一个或多个被确定的积压动态地计算所选择的传送时间,以便增加在所选择的传送时间届满时将积压减少到适当水平的可能性。因此,当所选择的传送时间届满时(块218),可以将操作模式切换回到另一模式,诸如包括块200-212的操作的模式B(在该例子中为处理模式中的一致性组)。通过以增加将积压减少到适当水平的可能性的方式选择传送时间,可以增加在模式B的时限届满前(204)成功创建一致性组的可能性。一旦确定已经成功形成一致性组(块203),操作可以切换到模式A,在该例子中为正常传送模式。
此外,也可以降低当可能成功地创建一致性组的机会相对小时模式B(在该例子中为处理模式中一致性组)中的长的等待。应意识到在其它应用中,可以基于一个或多个积压动态地选择传送时间,以便根据特定的应用实现不同或另外的特征。
图6示例说明了四个卷的解决方案,其中中间站点312处的存储控制器134a、134b、134c可以用与参考图1说明的存储控制器4a、4b和4c相同的方式操作,并且远程站点330处的组件可以如参考图1所述的远程站点10的组件那样操作。本地站点302和中间站点312可以位于相对近的地理区域中,诸如相同的建筑物、相同校园的不同建筑物、相同城市等等。本地302和中间312站点处的存储控制器间的连接338a、338b、338c可以包括单独的专用线路,或所述连接可以通过交换网,诸如存储区域网(SAN)、局域网(LAN)、因特网、内联网等等扩展。远程站点330可以离本地302和中间站点312几百或几千英里。连接332a、332b、332c可以包括参考图1所述的连接12a、12b、12c,包括长距离连接。
在图6的实施例中,主机可以将I/O请求定向到在本地站点302处管理存储系统306a、306b、306c的存储控制器304a、304b、304c。然后,本地站点302处的存储控制器304a、304b、304c将任何写入同步拷贝到中间站点312处的存储控制器314a、314b、314c。在某些实施例中,主机写入将不会完成,直到本地存储控制器304a、304b、304c将数据同步拷贝到中间站点312为止。然后主存储控制器,例如314,如参考图5所述根据中间站点312处该主存储控制器中包含的远程拷贝政策,异步地管理在远程站点330处的一致性组的形成。
远程存储控制器348a、348b、348c将数据存储到它们各自所附的远程存储系统354a、354b、354c。在某些实施例中,远程站点330可以将数据的一致性组保存到另一存储设备,诸如一致性备份存储设备356a、356b、356c,以便在远程站点330处保持一致性数据的备份。
另外的实施例细节
使用标准的编程和/或工程技术以便生成软件、固件、硬件或它们的任意组合,形成一致性组的所述技术可以被具体化为方法、装置、部署或制造产品。在此所使用的术语“制造产品”指包含在硬件逻辑(例如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等等)或计算机可读介质,诸如磁存储介质(例如硬盘驱动器、软盘、磁带等等)、光学存储设备(CD-ROM、光盘等等)、易失和非易失存储设备(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等等)中的代码或逻辑。由处理器复合体访问和执行计算机可读介质中的代码。此外,可以通过传输介质或从网络上的文件服务器访问优选实施例中使用的代码。在这些情况下,包含代码的制造产品可以包括传输介质,诸如网络传输线、无线传输介质、通过空间传播的信号、无线电波、红外线信号等等。因此,“制造产品”可以包括包含代码的介质。另外,“制造产品”可以包括硬件和软件组件的组合,所述代码被包含在其中、被在其中处理和执行。当然,本领域的技术人员将意识到可以对这一结构进行许多改进,而不背离本说明的范围,并且制造产品可以包括本领域公知的任何信息承载介质。
以IBM的异步PPRC计算环境描述了所述实施例。然而,所述的用于保持一致性的实施例可以应用于保持其它计算和卖方环境中的一致性,并且使用与在此所述不同的其它数据拷贝协议和程序。
在所述的实施例中,在分布式计算环境中执行主和存储控制器处理。在另外的实施例中,可以在执行主存储控制器处理的相同机器或平台中执行一个或多个从处理器的操作。
在某些实施例中,存储设备中的数据被布置在卷中。在另外的系统中,其上保持有数据的存储区域可以被根据不同于卷的存储单元分组,它们被分组到分组中而不是出于保持一致性目的的会话中。
在所述实施例中,在主-从拷贝关系中被指定为从的存储单元包括卷。在另外的实施例中,可以将其它存储单元值指定为相对于主的从,其中这些存储单元可以包括卷中的道、块、逻辑子系统、逻辑驱动器或本领域公知的任何其它物理或逻辑存储单元指定。
用于形成一致性组的所述操作可以用在高可用性是最重要的关键数据环境中。然而,本领域的技术人员将意识到此处所述的时间点拷贝操作可以被应用于高可能性不是绝对必需的用于非关键数据的存储系统中。
在所述的实施例中,每个存储控制器将数据拷贝到具有所附的远程存储系统的相应的远程存储控制器。在另外的实施例中,本地或中间站点处的多个存储控制器可以将数据拷贝到一个远程存储控制器,其中,单个远程存储控制器可以从多个本地或中间存储控制器接收时间点数据。
图5的所示逻辑表示按某一顺序发生的某些事件。在另外的实施例中,可以用不同顺序执行、修改或删除某些操作。此外,可以将操作添加到上述逻辑,并且仍然符合所述实施例。另外,此处所述的操作可以顺序地发生,或可以并行处理某些操作。另外,可以通过单个处理单元或通过分布式处理单元执行操作。
图7示例说明网络组件诸如图1和6的存储控制器的计算机体系结构400的一个实施例。体系结构400可以包括处理器402(例如,微处理器)、存储器404(例如易失存储器设备)和存储设备406(例如非易失存储设备,诸如磁盘驱动器、光盘驱动器、磁带驱动器等等)。存储设备406可以包括内部存储设备或所附的或可通过网络访问的存储设备。存储设备406中的程序被装入存储器404中并以本领域公知的方式由处理器402执行。该体系结构进一步包括允许与网络通信的网卡408。输入设备410用来向处理器402提供用户输入,并且可以包括键盘、鼠标、输入笔、麦克风、触敏显示屏或本领域公知的任何其它激活或输入机构。输出设备412能再现从处理器402或其它组件传送的信息,诸如显示监视器、打印机、存储设备等等。
出于示例说明和描述的目的,已经提供了各个实施例的上述说明。它不旨在是无遗露的,或将该说明限制到所公开的准确形式。鉴于上述教导,许多修改和变形是可能的。
Claims (40)
1.一种创建一致性组的方法,包括:
将在第一数据结构中标识的数据段从多个源中的一个源传送到多个目的地中的一个目的地;
更新所述第一数据结构以便指示数据段的传送;
确定尚待从至少一个源传送到至少一个目的地的数据段的至少一个积压;
作为所述至少一个被确定的积压的函数,选择用于所述第一数据结构的传送时间;
在第一模式中,更新所述第一数据结构,以便指示将在所述源和目的地间传送的另外的数据段;以及
在所述选择的传送时间届满时,从所述第一模式切换到可以创建一致性组的第二模式,其中所述第二模式包括更新第二数据结构而不是所述第一数据结构,以便指示将在一致性组的源和目的地间传送的另外的数据段。
2.如权利要求1所述的方法,进一步包括:
在所述一致性组创建之前一第二时限届满时,将所述第二数据结构合并到所述第一数据结构中,并且恢复所述第一模式,更新所述第一数据结构而不是所述第二数据结构,以便指示将在所述一致性组的源和目的地间传送的另外的数据段。
3.如权利要求2所述的方法,进一步包括:
在所选择的传送时间第二次届满时,恢复所述第二模式,更新所述第二数据结构而不是所述第一数据结构,以便指示将在所述一致性组的源和目的地间传送的另外的数据段。
4.如权利要求3所述的方法,进一步包括:
在所述一致性组创建之前所述第二时限第二次届满时,将所述第二数据结构合并到所述第一数据结构中,并且恢复所述第一模式,更新所述第一数据结构而不是所述第二数据结构,以便指示将在所述一致性组的源和目的地间传送的另外的数据段。
5.如权利要求4所述的方法,进一步包括:
在所述一致性组创建前所述第二时限届满预定多次时,继续所述第二模式而不是恢复所述第一模式,更新所述第二数据结构而不是所述第一数据结构,以便指示将在所述一致性组的源和目的地间传送的另外的数据段。
6.如权利要求5所述的方法,其中所述第一数据结构是位图,其中每个位表示在所述第二模式中为创建所述一致性组将从源卷传送到目的地卷的道,并且其中所述更新所述第一数据结构以便指示为了创建所述一致性组对数据段的传送包括清除表示为了创建所述一致性组被传送的道的位。
7.如权利要求6所述的方法,其中所述第二数据结构是位图,其中每个位表示将从所述一致性组的源卷传送到目的地卷的道,并且其中所述更新所述第二数据结构以便指示将被在所述一致性组的源和目的地间传送的另外的数据段包括设置指示将从所述一致性组的源卷传送到目的地卷的道的位。
8.如权利要求7所述的方法,其中所述更新所述第一数据结构以便指示将被在所述一致性组的源和目的地间传送的另外的数据段包括设置指示将从所述一致性组的源卷传送到目的地卷的道的位。
9.如权利要求8所述的方法,其中所述正被创建的一致性组的所述源是由多个服务器保持的卷,并且其中所述积压确定包括确定尚待从相关服务器传送的数据段的每个服务器的至少一个积压。
10.如权利要求9所述的方法,其中所述传送时间选择包括为每个服务器确定从相关服务器传送的数据的至少一个数据传送速率,并且为每个服务器确定用于所述第一数据结构的估计的传送时间作为为相关服务器确定的所述积压和所述传输速率的函数,并且选择最大持续时间的所确定的传送时间。
11.如权利要求10所述的方法,其中所述为每个服务器确定至少一个数据传送速率包括在第一时间确定如由所述第一数据结构指示的为创建所述的一致性组特定服务器尚待传送的道数,在第二后续时间确定如由所述第一数据结构指示的为创建所述一致性组该特定服务器尚待传送的道数,作为在所述第一和第二时间确定的道数的变化的函数并除以所述第一和第二时间之间的持续时间,确定该特定服务器尚待传送的道数的变化速率。
12.如权利要求11所述的方法,其中所述为每个服务器确定估计的传送时间包括将由所述第一数据结构指示的为创建所述一致性组该特定服务器尚待传送的道数的积压除以为该特定服务器确定的所述数据传送速率。
13.一种系统,适用于与管理包括多个源的至少一个存储单元的存储控制器通信,并且其中每个存储控制器适用于与包括多个目的地的一个远程存储设备通信,该系统包括:
存储器,适用于保存第一和第二数据结构;
用于将在所述第一数据结构中标识的数据段从所述多个源中的一个源传送到所述多个目的地中的一个目的地的装置;
用于更新所述第一数据结构以便指示数据段的传送的装置;
用于确定尚待从至少一个源传送到至少一个目的地的数据段的至少一个积压的装置;
用于作为所述至少一个被确定的积压的函数,选择用于所述第一数据结构的传送时间的装置;
第一模式装置,用于在第一模式中更新所述第一数据结构以便指示将在所述源和目的地间传送的另外的数据段;
模式切换装置,用于在所述被选择的传送时间届满时,从所述第一模式切换到可以创建一致性组的第二模式;以及
第二模式装置,用于在所述第二模式中更新所述第二数据结构而不是所述第一数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
14.如权利要求13所述的系统,其中在所述一致性组创建前一第二时限届满时,所述模式切换装置将所述第二数据结构合并到所述第一数据结构中,并且从所述第二模式切换到所述第一模式,其中更新所述第一数据结构而不是所述第二数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
15.如权利要求14所述的系统,其中在所选择的传送时间第二次届满时,所述模式切换装置从所述第一模式切换到所述第二模式,其中更新所述第二数据结构而不是所述第一数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
16.如权利要求15所述的系统,其中在一致性组创建前所述第二时限第二次届满时,所述模式切换装置将所述第二数据结构合并到所述第一数据结构中,并且从所述第二模式切换到所述第一模式,更新所述第一数据结构而不是所述第二数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
17.如权利要求16所述的系统,其中在一致性组创建前所述第二时限届满预定多次时,所述模式切换装置继续所述第二模式,而不是从所述第二模式切换到所述第一模式,更新所述第二数据结构而不是所述第一数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
18.如权利要求17所述的系统,其中所述第一数据结构是位图,其中每个位表示在所述第二模式中为创建一致性组将从源卷传送到目的地卷的道,并且其中用于在所述第二模式中更新所述第一数据结构的所述装置包括用于清除表示为创建一致性组被传送的道的位的装置。
19.如权利要求18所述的系统,其中所述第二数据结构是位图,其中每个位表示将从一致性组的源卷传送到目的地卷的道,并且其中用于更新所述第二数据结构以便指示将在所述源和目的地间传送的另外的数据段的所述第二模式装置包括用于设置指示将从一致性组的源卷传送到目的地卷的道的位的装置。
20.如权利要求19所述的系统,其中用于更新所述第一数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段的所述第一模式装置包括用于设置指示将从一致性组的源卷传送到目的地卷的道的位的装置。
21.如权利要求20所述的系统,进一步包括多个服务器,适用于保持正被创建的一致性组的源,并且其中所述用于积压确定的装置用于确定尚待从相关服务器传送的数据段的每个服务器的至少一个积压的装置。
22.如权利要求21所述的系统,其中所述用于传送时间选择的装置包括用于为每个服务器确定从相关服务器传送的数据的至少一个数据传送速率的装置,以及用于为每个服务器确定用于所述第一数据结构的估计的传送时间作为为相关服务器确定的所述积压和所述传送速率的函数的装置,以及用于选择最大持续时间的所确定的传送时间的装置。
23.如权利要求22所述的系统,其中所述用于为每个服务器确定至少一个数据传送速率的装置包括用于在第一时间确定如由所述第一数据结构指示的为创建所述一致性组特定服务器尚待传送的道数,在第二后续时间确定如由所述第一数据结构指示的为创建所述一致性组该特定服务器尚待传送的道数,作为在所述第一和第二时间确定的道数的变化的函数并除以所述第一和第二时间之间的持续时间,确定该特定服务器尚待传送的道数的变化速率的装置。
24.如权利要求23所述的系统,其中所述用于为每个服务器确定估计的传送时间的装置包括用于将如由所述第一数据结构指示的为创建所述一致性组该特定服务器尚待传送的道数的积压除以为该特定服务器确定的数据传送速率的装置。
25.一种制造产品,包括能够由系统执行以便执行操作的代码,其中该系统包括存储器,适用于保持第一和第二数据结构,并且其中该系统适用于与管理包括多个源的至少一个存储单元的至少一个存储控制器通信,并且其中每个存储控制器适用于与包括多个目的地的一个远程存储设备通信,并且其中,所述操作包括:
将在所述第一数据结构中标识的数据段从所述多个源中的一个源传送到所述多个目的地中的一个目的地;
更新所述第一数据结构以便指示数据段的传送;
确定尚待从至少一个源传送到至少一个目的地的数据段的至少一个积压;
作为所述至少一个被确定的积压的函数,选择用于所述第一数据结构的传送时间;
在第一模式中,更新所述第一数据结构以便指示将在所述源和目的地间传送的另外的数据段;
在所述被选择的传送时间届满时,从所述第一模式切换到可以创建一致性组的第二模式;以及
在所述第二模式中,更新所述第二数据结构而不是所述第一数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
26.如权利要求25所述的产品,其中所述操作进一步包括在一致性组创建前一第二时限届满时,将所述第二数据结构合并到所述第一数据结构中,并且从所述第二模式切换到所述第一模式,其中更新所述第一数据结构而不是所述第二数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
27.如权利要求26所述的产品,其中所述操作进一步包括在所选择的传送时间第二次届满时,从所述第一模式切换到所述第二模式,其中更新所述第二数据结构而不是所述第一数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
28.如权利要求27所述的产品,其中所述操作进一步包括在一致性组创建前所述第二时限第二次届满时,将所述第二数据结构合并到所述第一数据结构中,并且从所述第二模式切换到所述第一模式,更新所述第一数据结构而不是所述第二数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
29.如权利要求28所述的产品,其中所述操作进一步包括在一致性组创建前所述第二时限届满预定多次时,继续所述第二模式而不是从所述第二模式切换到所述第一模式,更新所述第二数据结构而不是所述第一数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
30.如权利要求29所述的产品,其中所述第一数据结构是位图,其中每个位表示在所述第二模式中为创建一致性组将从源卷传送到目的地卷的道,并且其中所述在所述第二模式中更新所述第一数据结构包括清除表示为创建一致性组被传送的道的位。
31.如权利要求30所述的产品,其中所述第二数据结构是位图,其中每个位表示将从一致性组的源卷传送到目的地卷的道,并且其中所述更新所述第二数据结构以便指示将在所述源和目的地间传送的另外的数据段包括设置指示将从一致性组的源卷传送到目的地卷的道的位。
32.如权利要求31所述的产品,其中所述更新所述第一数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段包括设置指示将从一致性组的源卷传送到目的地卷的道的位。
33.如权利要求32所述的产品,其中该系统进一步包括多个服务器,适用于保持正被创建的一致性组的源,并且其中所述积压确定包括确定尚待从相关服务器传送的数据段的每个服务器的至少一个积压。
34.如权利要求33所述的产品,其中所述传送时间选择包括为每个服务器确定从相关服务器传送的数据的至少一个数据传送速率,并且为每个服务器确定用于所述第一数据结构的估计的传送时间作为为相关服务器确定的所述积压和所述传送速率的函数,并且选择最大持续时间的所确定的传送时间。
35.如权利要求34所述的产品,其中所述为每个服务器确定至少一个数据传送速率包括在第一时间确定如由所述第一数据结构指示的为创建所述一致性组特定服务器尚待传送的道数,在第二后续时间确定如由所述第一数据结构指示的为创建所述一致性组该特定服务器尚待传送的道数,作为在所述第一和第二时间确定的道数的变化的函数并除以所述第一和第二时间之间的持续时间,确定该特定服务器尚待传送的道数的变化速率。
36.如权利要求35所述的产品,其中所述为每个服务器确定估计的传送时间包括将如由所述第一数据结构指示的为创建所述一致性组该特定服务器尚待传送的道数的积压除以为该特定服务器确定的数据传送速率。
37.一种用于部署计算指令的方法,包括将计算机可读代码集成到系统中,其中该系统包括存储器,适用于保持第一和第二数据结构,并且其中该系统适用于与管理包括多个源的至少一个存储单元的至少一个存储控制器通信,并且其中每个存储控制器适用于与包括多个目的地的一个远程存储设备通信,其中与系统结合的代码能够使系统执行:
将在所述第一数据结构中标识的数据段从所述多个源中的一个源传送到所述多个目的地中的一个目的地;
更新所述第一数据结构以便指示数据段的传送;
确定尚待从至少一个源传送到至少一个目的地的数据段的至少一个积压;
作为所述至少一个被确定的积压的函数,选择用于所述第一数据结构的传送时间;
在第一模式中,更新所述第一数据结构以便指示将在所述源和目的地间传送的另外的数据段;
在所述被选择的传送时间届满时,从所述第一模式切换到可以创建一致性组的第二模式;以及
在所述第二模式中,更新所述第二数据结构而不是所述第一数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
38.如权利要求37所述的方法,其中所述代码进一步能够使所述系统执行在一致性组创建前一第二时限届满时,将所述第二数据结构合并到所述第一数据结构中,并且从所述第二模式切换到所述第一模式,其中更新所述第一数据结构而不是所述第二数据结构以便指示将在一致性组的源和目的地间传送的另外的数据段。
39.如权利要求38所述的方法,其中所述代码进一步能够使所述系统执行在所选择的传送时间第二次届满时,从所述第一模式切换到所述第二模式,其中更新所述第二数据结构而不是所述第一数据结构,以便指示将在一致性组的源和目的地间传送的另外的数据段。
40.如权利要求39所述的方法,其中至少一个存储单元是独立磁盘冗余阵列(RAID)阵列存储单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/987,570 US7647357B2 (en) | 2004-11-12 | 2004-11-12 | Data transfer management in consistency group formation |
US10/987,570 | 2004-11-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1773463A true CN1773463A (zh) | 2006-05-17 |
CN100397355C CN100397355C (zh) | 2008-06-25 |
Family
ID=36387616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101151423A Expired - Fee Related CN100397355C (zh) | 2004-11-12 | 2005-11-10 | 用于一致性组形成中的数据传送管理的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7647357B2 (zh) |
CN (1) | CN100397355C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591993A (zh) * | 2012-02-16 | 2012-07-18 | 中国工商银行股份有限公司 | 一种用于热表数据更新的异步处理方法及装置 |
CN106371767A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种处理一致性业务的方法、装置和系统 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4790377B2 (ja) * | 2005-11-07 | 2011-10-12 | 株式会社日立製作所 | ストレージサブシステムのボリューム複製方法 |
US7660955B2 (en) * | 2005-12-01 | 2010-02-09 | International Business Machines Corporation | Node polling in consistency group formation |
US8055868B2 (en) * | 2008-07-29 | 2011-11-08 | International Business Machines Corporation | Apparatus and method to store original point-in-time data |
US8838920B2 (en) * | 2010-11-17 | 2014-09-16 | International Business Machines Corporation | Determining whether to extend a drain time to copy data blocks from a first storage to a second storage |
US9641499B2 (en) * | 2013-07-12 | 2017-05-02 | Owl Computing Technologies, Llc | One-way interface for PI to PI data transfer |
US9680794B2 (en) * | 2013-09-04 | 2017-06-13 | Owl Computing Technologies, Llc | Secure one-way interface for archestra data transfer |
US9870287B1 (en) * | 2013-12-31 | 2018-01-16 | EMC IP Holding Company LLC | Volume duplication |
US9729629B2 (en) | 2014-01-21 | 2017-08-08 | International Business Machines Corporation | Optimizing data transfer across multiple asynchronous data replication sessions using shared bandwidth |
US9606870B1 (en) | 2014-03-31 | 2017-03-28 | EMC IP Holding Company LLC | Data reduction techniques in a flash-based key/value cluster storage |
US9436564B1 (en) * | 2014-03-31 | 2016-09-06 | Emc Corporation | Creating distributed storage during partitions |
US10152527B1 (en) * | 2015-12-28 | 2018-12-11 | EMC IP Holding Company LLC | Increment resynchronization in hash-based replication |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504861A (en) * | 1994-02-22 | 1996-04-02 | International Business Machines Corporation | Remote data duplexing |
US5615329A (en) * | 1994-02-22 | 1997-03-25 | International Business Machines Corporation | Remote data duplexing |
JP2894676B2 (ja) * | 1994-03-21 | 1999-05-24 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 非同期式遠隔コピー・システム及び非同期式遠隔コピー方法 |
JP2001519120A (ja) * | 1997-04-04 | 2001-10-16 | アセンド コミュニケーションズ インコーポレイテッド | 階層型パケット・スケジューリング方法及び装置 |
US6493796B1 (en) * | 1999-09-01 | 2002-12-10 | Emc Corporation | Method and apparatus for maintaining consistency of data stored in a group of mirroring devices |
US20030061362A1 (en) * | 2000-03-03 | 2003-03-27 | Qiu Chaoxin C. | Systems and methods for resource management in information storage environments |
JP4044717B2 (ja) * | 2000-03-31 | 2008-02-06 | 株式会社日立製作所 | 記憶サブシステムのデータ二重化方法及びデータ二重化システム |
JP3588312B2 (ja) * | 2000-07-31 | 2004-11-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信経路選択方法 |
JP3729728B2 (ja) * | 2000-11-28 | 2005-12-21 | 株式会社日立製作所 | データ処理端末におけるデータ転送効率最適化装置および最適化処理を実行するプログラムを記録した記録媒体 |
JP2002189570A (ja) * | 2000-12-20 | 2002-07-05 | Hitachi Ltd | 記憶システムの二重化方法および記憶システム |
US20030050930A1 (en) * | 2001-09-12 | 2003-03-13 | Malcolm Mosher | Method and apparatus for lockstep data replication |
US6842825B2 (en) * | 2002-08-07 | 2005-01-11 | International Business Machines Corporation | Adjusting timestamps to preserve update timing information for cached data objects |
US7047377B2 (en) * | 2002-08-20 | 2006-05-16 | Gruintine Pueche, Inc. | System and method for conducting an auction-based ranking of search results on a computer network |
US20040153567A1 (en) * | 2003-01-31 | 2004-08-05 | Lichtenstein Walter D. | Scheduling data transfers using virtual nodes |
US7133986B2 (en) * | 2003-09-29 | 2006-11-07 | International Business Machines Corporation | Method, system, and program for forming a consistency group |
US20050188089A1 (en) * | 2004-02-24 | 2005-08-25 | Lichtenstein Walter D. | Managing reservations for resources |
US20060143454A1 (en) * | 2004-05-27 | 2006-06-29 | Silverbrook Research Pty Ltd | Storage of multiple keys in memory |
-
2004
- 2004-11-12 US US10/987,570 patent/US7647357B2/en not_active Expired - Fee Related
-
2005
- 2005-11-10 CN CNB2005101151423A patent/CN100397355C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591993A (zh) * | 2012-02-16 | 2012-07-18 | 中国工商银行股份有限公司 | 一种用于热表数据更新的异步处理方法及装置 |
CN106371767A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种处理一致性业务的方法、装置和系统 |
CN106371767B (zh) * | 2016-08-31 | 2019-08-20 | 华为技术有限公司 | 一种处理一致性业务的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100397355C (zh) | 2008-06-25 |
US7647357B2 (en) | 2010-01-12 |
US20060106747A1 (en) | 2006-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100397355C (zh) | 用于一致性组形成中的数据传送管理的方法和系统 | |
CN100461123C (zh) | 用于形成一致性组的方法和系统 | |
CN100339847C (zh) | 虚拟化的分布式网络存储系统 | |
JP3741609B2 (ja) | 複製されたデータに独立してアクセスできるようにするためのデータプロセッシングの方法及び装置 | |
US10114581B1 (en) | Creating a virtual access point in time on an object based journal replication | |
CN100461121C (zh) | 把存储单元和相关元数据复制到存储器的方法和系统 | |
CN100428190C (zh) | 三者间的异步复制 | |
CN101755257B (zh) | 管理在不同的网络上将写入从首要存储器拷贝到次要存储器 | |
CN100552637C (zh) | 在不同地点间建立数据镜像的方法和系统 | |
CN100403272C (zh) | 用于处理到远程存储位置的故障恢复的方法、系统 | |
CN100489796C (zh) | 用来实现共用磁盘阵列管理功能的方法和系统 | |
US6959369B1 (en) | Method, system, and program for data backup | |
EP1814033B1 (en) | Storage system and data restoration method thereof | |
CN1983153B (zh) | 数据处理系统中执行远程复制的方法和存储数据的方法 | |
CN102713856B (zh) | 用于恢复在计算机系统内的文件系统的方法和系统 | |
CN102652423B (zh) | 用于集群选择和协作复制的方法和系统 | |
CN101061467B (zh) | 远程存储数据副本 | |
US10223007B1 (en) | Predicting IO | |
US7660955B2 (en) | Node polling in consistency group formation | |
CN1645335A (zh) | 用于存储卷的一致拷贝的方法、系统和制造品 | |
CN101815986B (zh) | 在存储控制器和复制引擎之间分离写入 | |
EP2157504A2 (en) | Virtual disk management program, storage device management program, multinode storage system, and virtual disk managing method | |
JP2008225616A (ja) | ストレージシステム、リモートコピーシステム、及びデータ復元方法 | |
JP2001034426A (ja) | 記憶システム故障に続き、ミラー論理データ・ボリュームの動的再同期化を有するデータ・プロセッサ記憶システム | |
US11429498B2 (en) | System and methods of efficiently resyncing failed components without bitmap in an erasure-coded distributed object with log-structured disk layout |
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |