CN110998538B - 一致性组中一致性时间点快照副本的异步本地和远程生成 - Google Patents
一致性组中一致性时间点快照副本的异步本地和远程生成 Download PDFInfo
- Publication number
- CN110998538B CN110998538B CN201880049503.4A CN201880049503A CN110998538B CN 110998538 B CN110998538 B CN 110998538B CN 201880049503 A CN201880049503 A CN 201880049503A CN 110998538 B CN110998538 B CN 110998538B
- Authority
- CN
- China
- Prior art keywords
- remote
- snapshot copy
- local
- consistency group
- point
- 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.)
- Active
Links
- 230000010076 replication Effects 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 135
- 230000015572 biosynthetic process Effects 0.000 claims description 126
- 230000008569 process Effects 0.000 claims description 116
- 230000004044 response Effects 0.000 claims description 37
- 230000000977 initiatory effect Effects 0.000 claims description 26
- 230000006870 function Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 16
- 230000003111 delayed effect Effects 0.000 description 15
- 230000001360 synchronised effect Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 238000013500 data storage Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000000835 fiber Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/2071—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 using a plurality of controllers
- G06F11/2074—Asynchronous techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于与位于第一位置处的主机和主存储系统以及位于远离第一位置的第二位置处的辅存储系统一起使用的主存储控制器,主存储系统具有主存储控制器和由主存储控制器控制并且被配置为存储多个数据单元的至少一个存储单元,辅存储系统具有辅存储控制器和由辅存储控制器控制并且被配置为存储多个数据单元的至少一个存储单元,主存储控制器包括数据复制逻辑,数据复制逻辑包括:数据镜像逻辑、一致性组逻辑、快照副本生成逻辑、状态确定逻辑和延迟逻辑。
Description
技术领域
本发明涉及用于一致性组中的一致性时间点快照副本的异步本地和远程生成的计算机程序产品、系统和方法。
背景技术
数据存储系统,特别是企业级的数据存储系统,通常被设计为提供高级别的冗余,以在数据存储系统的组件发生故障的情况下降低数据丢失的风险。因此,常常将数据的多个副本存储在地理上分散的多个系统上。因此,来自主机的要存储在数据存储系统中的数据,通常被引导到本地站点处的主系统,然后被复制到辅系统,该辅系统可以是地理上远离主系统的系统。
复制—即拷贝—数据到辅系统的过程,可以在主系统和辅系统之间同步关系或异步关系中建立。在同步关系中,在主系统向主机报告数据存储输入/输出操作已成功完成之前,对主系统的任何更新通常要与辅系统同步,即成功地复制到辅系统。结果,当主机等待同步复制操作完成时,以同步关系存储到主存储系统和辅系统的数据可能不利地影响主机的系统性能。在主系统和辅系统被很大程度上分离的存储系统中,完成同步复制操作的延迟可能更大,这可能进一步不利地影响主机性能。例如,在主系统和辅系统分开300公里(Km)或更远的地理距离的存储系统中,例如,在辅系统处成功地复制数据之前,可能存在3-5秒(或更多)的延迟。
结果,存储系统经常采用主系统和辅系统之间的异步关系,特别是如果辅系统在地理上远离主系统。在异步关系中,对主系统的成功更新通常作为成功的存储输入/输出操作被报告给主机,而不等待该更新被复制到辅系统。结果,主机不需要等待到辅系统的数据复制的完成,,相应地,主机系统的性能可以得到增强。
顾名思义,在异步关系中,主系统和辅系统可能不是在任何一个时间都是完全同步的。因此,存储在辅系统上的数据通常滞后于存储在主系统中的数据。因此,例如,在诸如3-5秒的时间间隔内,存储在主系统上的新数据可能不被存储在辅系统上。
在数据复制(replication)系统中,数据通常以卷对(volume pairs)的形式维护,卷对包括主存储设备中的主卷和辅存储设备中的相应的辅卷,辅卷包括主卷中维护的数据的相同副本(copy)。主卷和辅卷由拷贝关系(copy relationship)来标识,其中主卷(也称为源卷)的数据被拷贝到辅卷(也称为目标卷)。主和辅存储控制器可以用于控制对主和辅存储设备的访问。
例如,可以使用诸如FlashCopy(/>闪速拷贝)功能的时间点快照副本功能,来生成卷的近瞬时副本。时间点快照副本功能创建特定时间的源卷的内容在目标卷中的"快照",其可以被称为时间点快照副本卷。时间点快照副本功能的一个版本在后台拷贝操作中将源卷的内容传送到时间点快照副本卷。
目标位图有代表时间点快照副本卷的每个道(track)的位(bit),用于指示尚未被传送到时间点快照副本卷的道。当源卷的每个道的内容被复制到目标卷时,目标位图的相应位被更新(通常被复位)以指示关联道的内容的成功传送。任何针对还没有接收到源卷的对应道的内容的时间点快照副本卷的道的读取操作都被重定向,以从源卷获得该道的内容。因此,在任何道实际上已经被传送到目标卷之前,时间点快照副本卷的内容立即可用,虽然是间接的。相反,如果主机在源卷的道的内容已经被传送到时间点快照副本卷之前指令对该道更新,则在允许进行更新以覆写源卷的该道的内容之前,要将源卷的该道的内容传送到时间点快照副本卷。
时间点快照副本功能的另一版本省略后台拷贝操作。因此,源卷的内容不在后台复制操作中被传送到时间点快照复制卷。因此,任何针对时间点快照副本卷的道的任何读取操作通常被重定向以从源卷获得该道的内容。然而,如果主机指令对源卷的道进行更新,则在允许进行更新以覆写源卷的该道的内容之前,要将源卷的道的内容传送到时间点快照副本卷。
在同步数据复制系统中,时间点快照副本卷可以由主系统处的主卷关于该主卷在特定时间点的内容构成,并且时间点快照副本卷可以由辅系统处的辅卷关于该辅卷在相同时间点的内容构成。因为主卷和辅卷被同步,所以相应的时间点快照副本卷也将被同步,并且因此彼此一致,尽管时间点快照副本卷在不同的地方,即在主系统和辅系统中制作的。以这种方式,可以形成一对快照副本—即一个本地快照副本和一个远程快照副本,其中本地快照副本和远程快照副本彼此一致。
为了在异步数据复制系统中的辅系统处维持跨多个卷的数据的一定程度的一致性,TotalStorage盘子系统对等远程拷贝(Peer-to-Peer Remote Copy或PPRC)功能支持PPRC一致性组的概念。维护PPRC关系中被配置到PPRC一致性组(Consistency Group)中的卷,以确保对主系统处的卷所进行的一组更新也最终在辅系统处的卷上进行,以维护该组的那些卷的数据一致性。因此,尽管在主系统和辅系统之间存在总体异步关系,但是可以在主系统和辅系统的卷之间形成一致性组,该一致性组关于特定的更新集合或特定的时间点是一致的。
本地时间点快照副本卷可以由主系统处的主卷关于主卷在特定时间点的内容构成。类似地,远程时间点快照副本卷可以由辅系统处的辅卷关于辅卷特定时间点的内容构成。然而,因为在异步数据复制系统中主卷和辅卷不同步,所以,即使辅卷是关于主卷的一致性组的一部分,相应的本地和远程时间点快照副本卷也可能彼此不一致。例如,涉及形成一致性组的卷的建立一对本地和远程快照副本的命令,可能彼此不一致。因此,为了提供主系统处的主卷的本地时间点快照副本卷的远程备份拷贝,在主系统处生成的时间点快照副本卷通常通过网络被传送到辅系统。
发明内容
根据一个方面,提供了一种用于与位于第一位置处的主机和主存储系统以及位于远离第一位置的第二位置处的辅存储系统一起使用的主存储控制器,主存储系统具有主存储控制器和由主存储控制器控制并且被配置为存储多个数据单元的至少一个存储单元,辅存储系统具有辅存储控制器和由辅存储控制器控制并且被配置为存储多个数据单元的至少一个存储单元,主存储控制器包括数据复制逻辑,数据复制逻辑包括:数据镜像逻辑,被配置为将数据从存储在主存储系统的存储单元中的第一数据单元异步地镜像到存储在辅存储系统的存储单元中的第二数据单元,以及将数据从存储在主存储系统的存储单元中的第三数据单元异步地镜像到存储在辅存储系统的存储单元中的第四数据单元;以及一致性组逻辑,被配置为生成相对于主存储系统的存储单元的辅存储系统的存储单元的数据单元的一致性组;快照副本生成逻辑,被配置为接收建立本地-远程快照副本关系对的本地-远程对建立命令,所述本地-远程快照副本关系对包括主存储系统中的、从作为快照副本源的第一数据单元到作为快照副本目标的第三数据单元的本地时间点快照副本关系,并且包括辅存储系统中的从作为快照副本源的第二数据单元到作为快照副本目标的第四数据单元的远程时间点快照副本关系,以及响应于所述本地-远程对建立命令而启动本地-远程快照副本关系对,快照副本生成逻辑包括:状态确定逻辑,被配置为在接收到所述本地-远程对建立命令时,将一致性组形成过程的状态确定为多个状态中的至少一个,其中所述多个状态包括空闲状态和排空状态,其中,存在其中没有包括第二和第四数据单元的一致性组正在主动形成的空闲状态,并且其中,存在其中包括第二和第四数据单元中的至少一个的一致性组正在主动形成的排空状态;以及延迟逻辑,被配置为如果一致性组形成过程的状态被确定为处于排空状态,则延迟远程时间点快照副本关系的建立,其中,在接收到所述本地-远程对建立命令时,处于排空状态中的包括第二和第四数据单元中的至少一个的一致性组正在主动形成。
根据另一方面,提供了一种方法,包括:将数据从存储在第一存储系统的存储单元中的第一数据单元异步地镜像到存储在第二存储系统的存储单元中的第二数据单元,以及将数据从存储在第一存储系统的存储单元中的第三数据单元异步地镜像到存储在第二存储系统的存储单元中的第四数据单元;接收建立本地-远程快照副本关系对的本地-远程对建立命令,所述本地-远程快照副本关系对包括第一存储系统中的、从作为快照副本源的第一数据单元到作为快照副本目标的第三数据单元的本地时间点快照副本关系,并且包括第二存储系统中的从作为快照副本源的第二数据单元到作为快照副本目标的第四数据单元的远程时间点快照副本关系;以及响应于所述本地-远程对建立命令而启动本地-远程时间点快照副本关系对,包括:在接收到所述本地-远程对建立命令时,将一致性组形成过程的状态确定为多个状态中的至少一个,其中所述多个状态包括空闲状态和排空状态,其中,存在其中没有包括第二和第四数据单元的一致性组正在主动形成的空闲状态,并且其中,存在其中包括第二和第四数据单元中的至少一个的一致性组正在主动形成的排空状态;以及如果一致性组形成过程的状态被确定为处于排空状态,则延迟远程时间点快照副本关系的建立,其中,在接收到所述本地-远程对建立命令时,处于排空状态中的包括第二和第四数据单元中的至少一个的一致性组正在主动形成。
根据另一方面,提供了一种用于与位于第一位置处的主机和主存储系统以及位于远离第一位置的第二位置处的辅存储系统一起使用的计算机程序产品,主存储系统具有主存储控制器和由主存储控制器控制并且被配置为存储多个数据单元的至少一个存储单元,辅存储系统具有辅存储控制器和由辅存储控制器控制并且被配置为存储多个数据单元的至少一个存储单元,其中所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有与其一起实现的程序指令,所述程序指令可由存储系统的处理器执行以引起处理器操作,所述处理器操作包括:将数据从存储在第一存储系统的存储单元中的第一数据单元异步地镜像到存储在第二存储系统的存储单元中的第二数据单元,以及将数据从存储在第一存储系统的存储单元中的第三数据单元异步地镜像到存储在第二存储系统的存储单元中的第四数据单元;接收建立本地-远程快照副本关系对的本地-远程对建立命令,所述本地-远程快照副本关系对包括第一存储系统中的、从作为快照副本源的第一数据单元到作为快照副本目标的第三数据单元的本地时间点快照副本关系,并且包括第二存储系统中的从作为快照副本源的第二数据单元到作为快照副本目标的第四数据单元的远程时间点快照副本关系;以及响应于所述本地-远程对建立命令而启动本地-远程时间点快照副本关系对,包括:在接收到所述本地-远程对建立命令时,将一致性组形成过程的状态确定为多个状态中的至少一个,其中所述多个状态包括空闲状态和排空状态,其中,存在其中没有包括第二和第四数据单元的一致性组正在主动形成的空闲状态,并且其中,存在其中包括第二和第四数据单元中的至少一个的一致性组正在主动形成的排空状态;以及如果一致性组形成过程的状态被确定为处于排空状态,则延迟远程时间点快照副本关系的建立,其中,在接收到所述本地-远程对建立命令时,处于排空状态中的包括第二和第四数据单元中的至少一个的一致性组正在主动形成。
根据本说明书的一致性组中的一致性时间点快照副本的异步本地和远程生成的一个一般实施例涉及接收本地-远程对时间点快照副本建立命令以在本地数据存储系统中建立本地时间点快照副本,并在远程数据存储系统中建立远程时间点快照副本。在一个实施例中,在接收到本地-远程对时间点快照副本建立命令时,可以根据一致性组形成过程的状态来延迟远程时间点快照副本关系的建立。结果,尽管本地和远程存储系统之间存在异步关系,但是可以实现时间点快照副本的本地-远程对的一致性。根据特定应用,可以实现其它特征和方面。
在一个实施例中,操作包括将数据从存储在第一存储系统的第一存储单元中的第一数据单元异步镜像到存储在第二存储系统的第二存储单元中的第二数据单元,将数据从存储在第一存储单元中的第三数据单元异步镜像到存储在第二存储单元中的第四数据单元,以及接收建立本地-远程时间点快照副本关系对的命令,所述本地-远程时间点快照副本关系对包括从作为快照副本源的第一数据单元到作为快照副本目标的第三数据单元的第一存储系统中的本地时间点快照副本关系,并且包括从作为快照副本源的第二数据单元到作为快照副本目标的第四数据单元的第二存储系统中的远程时间点快照副本关系。
在一个实施例中,所述操作包括:响应于启动本地-远程时间点快照副本关系对的命令,在接收到该命令时确定一致性组形成过程的状态,其中多个状态包括空闲状态和排空状态,其中存在空闲状态,在该空闲状态中没有包括第二和第四数据单元的一致性组正在主动形成,并且其中存在排空状态,在该排空状态中包括第二和第四数据单元的一致性组正在主动形成;以及如果一致性组形成过程的状态被确定为处于排空状态,其中,在接收到该命令时在排空状态中包括第二和第四数据单元的一致性组正在主动形成,则延迟远程时间点快照副本关系的建立。在一个实施例中,多个状态还包括在排空状态的完成之后的增量完成状态,其中如果一致性组的形成过程的状态被确定为在其中接收到该命令的排空状态之后处于增量完成状态,则终止远程时间点快照副本关系的延迟建立。
在一个实施例中,启动本地-远程时间点快速拷贝关系对还包括独立于一致性组形成过程的状态而建立本地时间点快速拷贝关系。因此,在一个实施例中,本地时间点快照副本关系可以在没有显著延迟的情况下被建立。
在另一个实施例中,启动本地-远程时间点快照副本关系对包括保留第二存储系统的资源以用于远程时间点快照副本关系的后续建立。此外,启动本地-远程时间点快照副本关系对还包括如果一致性组形成过程的状态被确定为处于在其中接收到命令的排空状态之后的增量完成状态,则使用为远程时间点快照副本关系的后续建立而保留的第二存储系统的资源来建立远程时间点快照副本关系。在另一方面,启动本地-远程时间点快照副本关系对还包括如果一致性组形成过程的状态被确定为处于其中接收到该命令的空闲状态,则使用为远程时间点快照副本关系的后续建立而保留的第二存储系统的资源来建立远程时间点快照副本关系。
在又一个实施例中,启动本地-远程时间点快照副本关系对还包括在接收到命令时根据一致性组形成过程确定快照副本序号,并且将为远程时间点快照副本关系的后续建立而保留的资源与所确定的快照副本序号相关联。此外,启动本地-远程时间点快照副本关系对还包括将远程时间点快照副本关系与所确定的快照副本序号相关联。
在一个实施例中,第一数据单元是第一卷,第二数据单元是第二卷。
所描述的技术的实现可以包括硬件、方法或过程、或计算机可访问介质上的计算机软件。根据特定应用,可以实现其它特征和方面。
附图说明
现在将参考附图仅通过示例的方式描述本发明的实施例,在附图中:
图1示出根据本说明书的一个实施例的采用一致性组中的一致性时间点快照副本的异步本地和远程生成的计算环境。
图2示出了根据本说明书的一个实施例的具有主系统和辅系统的存储系统的示例,该存储系统采用一致性组中的一致性时间点快照副本的异步本地和远程生成。
图3示出了图1的存储系统中的主机的示例。
图4示出了根据本说明书的一个实施例的数据复制逻辑。
图5a-5c结合图4的数据复制逻辑的操作描述了卷、关系和相关联的数据结构的示例。
图6描述了图4的数据复制逻辑的延迟逻辑的操作的时间线示例。
图7描述了图4的数据复制逻辑的操作的另一示例。
图8示出了根据本说明书的采用一致性组中的一致性时间点快照副本的异步本地和远程生成的计算机实施例。
具体实施方式
一个或多个计算机的系统可以被配置用于根据本说明书的一致性组中的一致性时间点快照副本的异步本地和远程生成,这是由于具有安装在系统上的软件、固件、硬件或它们的组合,其在操作中使得或促使系统执行用于一致性组中的一致性时间点快照副本的异步本地和远程生成的操作。例如,一个或多个计算机程序可以被配置为通过包括指令来执行一致性组中的一致性时间点快照副本的异步本地和远程生成,所述指令在由数据处理装置执行时使得所述装置执行动作。
如前所述,在异步数据复制系统中,时间点快照副本卷可以由主系统处的主卷关于主卷在特定时间点的内容构成。类似地,时间点快照副本卷可以由辅系统处的辅卷关于辅卷在特定时间点的内容构成。然而,因为在异步镜像关系中主卷和辅卷常常不是完全同步的,所以相应的时间点快照副本卷可能不是同步的,并且因此可能不是彼此一致的。因此,为了在主系统处提供主卷的时间点快照副本卷的备份拷贝,并且为了在辅系统处存储该备份拷贝,先前在主系统处生成的时间点快照副本卷通过网络被传送到辅系统。
根据本说明书的一个实施例,认识到在许多应用中,,用于在辅系统处形成时间点快照副本卷的大多数数据,由于异步镜像关系而驻留在辅系统上。因此,根据本说明书的一个实施例的一致性第一和第二时间点快照副本的异步本地和远程生成,可以在创建位于不同站点的一致性第一和第二时间点快照副本时避免数据通过网络的数据传送。
根据本说明书的一致性组中的一致性时间点快照副本的异步本地和远程生成的一个一般实施例,涉及接收本地-远程对时间点快照副本建立命令,以在本地数据存储系统中建立本地时间点快照副本,并在远程数据存储系统中建立远程时间点快照副本。在一个实施例中,在接收该到本地-远程对时间点快照副本建立命令时,可以根据一致性组形成过程的状态而延迟远程时间点快照副本关系的建立。结果,尽管本地和远程存储系统之间存在异步关系,但是可以实现时间点快照副本的本地-远程对的一致性。
在一个实施例中,操作包括在接收到本地-远程快照副本对命令时确定作为多个状态中的至少一个的一致性组形成过程的状态,其中该多个状态包括空闲状态和排空状态,在空闲状态中,没有包括该命令的单元的一致性组正在主动形成,在排空状态中,包括该命令单元的一致性组正在主动形成。在一个实施例中,如果一致性组形成过程的状态被确定为处于空闲状态—其中先前的一致性组已经完成,则本地-远程对的远程时间点快照副本关系的建立不被延迟。
在已完成的一致性组中,辅存储器的卷将与主存储器的卷一致。因此,辅卷的远程快照副本将与主卷的本地快照副本一致。
相反,如果一致性组形成过程的状态被确定为处于排空状态—其中正在形成的一致性组还没有完成,则本地-远程对的远程时间点快照副本关系的建立被延迟。在一个实施例中,该多个状态还包括在完成排空状态之后的增量完成状态(也称为空闲状态),其中如果一致性组形成过程的状态随后被确定为处于在接收到命令的排空状态之后的增量完成状态,则终止延迟远程时间点快照副本关系的建立。如上所述,在已完成的一致性组中,辅存储器的卷相对于主存储器的卷将是一致的。因此,辅卷的远程快照副本将与主卷的本地快照副本一致。
在另一个实施例中,启动本地-远程时间点快照副本关系对包括保留第二存储系统的资源以用于远程时间点快照副本关系的后续建立。此外,启动本地-远程时间点快照副本关系对还包括如果一致性组形成过程的状态被确定为处于在接收到命令的排空状态之后的增量完成状态,则使用为远程时间点快照副本关系的后续建立而保留的第二存储系统的资源建立远程时间点快照副本关系。在另一个实施例中,如果一致性组形成过程的状态随后被确定为处于在接收到命令的排空状态之后的增量完成状态,则启动本地-远程对时间点快照复制关系还包括使用为后续建立远程时间点快照复制关系而保留的第二存储系统的资源来建立远程时间点快照复制关系。
在一个实施例中,启动本地-远程时间点快速拷贝关系对还包括独立于一致性组形成过程的状态而建立本地时间点快速拷贝关系。因此,在一些实施例中,可以在没有显著延迟的情况下建立本地快照副本关系,而不管一致性组形成过程的状态如何。根据特定的应用,可以实现其它方面和优点。
根据本说明书,一个或多个计算机的系统可以被配置用于一致性组中的一致性时间点快照副本的异步本地和远程生成,这是由于具有安装在系统上的软件、固件、硬件或它们的组合,其在操作中使得或促使系统执行一致性组中的一致性时间点快照副本的异步本地和远程生成的操作。因此,本文所述的操作由这样的逻辑执行,该逻辑被配置为自动地或基本上自动地执行操作,而几乎没有或没有系统操作员干预,除非被指示为手动执行。因此,如本文所使用的,术语“自动”包括全自动,即由一个或多个硬件或软件控制的机器执行的操作,而没有诸如对图形用户选择界面的用户输入的人工干预。如本文所使用的,术语“自动”还包括主要是自动的,即,大多数操作(例如,大于50%)由一个或多个硬件或软件控制的机器在没有诸如对图形用户选择界面的用户输入的人工干预的情况下执行,并且其余操作(例如,小于50%)手动执行,即,手动操作由一个或多个硬件或软件控制的机器在诸如对图形用户选择界面的用户输入的人工干预—以引导操作的执行—的情况下执行。
本说明书中描述的许多功能元件已经被标记为“逻辑”,以便更具体地强调它们的实现独立性。例如,逻辑元件可以被实现为包括定制VLSI电路或门阵列的硬件电路、诸如逻辑芯片、晶体管或其他分立组件的现成半导体。逻辑元件也可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等的可编程硬件设备中实现。
逻辑元件也可以以由各种类型的处理器执行的软件来实现。包括可执行代码的逻辑元件例如可以包括计算机指令的一个或多个物理或逻辑块,其例如可以被组织为对象、过程或函数。然而,标识的逻辑元件的可执行代码不需要物理地位于一起,而是可以包括存储在不同位置中的不同指令,当这些指令在逻辑上被结合在一起时,包括逻辑元件并实现逻辑元件的规定目的。
实际上,用于逻辑元件的可执行代码可以是单个指令,或者许多指令,并且甚至可以分布在若干不同的代码段上、在不同的程序之间、在不同的处理器之间、以及跨越若干存储器设备。类似地,操作数据可以在逻辑元件内被标识和示出,并且可以以任何合适的形式被体现并且被组织在任何合适类型的数据结构内。操作数据可以被收集为单个数据集,或者可以分布在不同位置上,包括分布在不同存储设备上。
在所示的实施例中,拷贝关系(copy relationship)标识源存储位置—例如主存储位置,和目标存储位置—例如辅存储位置,其中存储在源存储位置的数据将被复制或以其他方式拷贝到目标存储位置。因此,如在此所使用的,源存储位置和目标存储位置是通过拷贝关系而相关联的存储位置。
此外,如本文所使用的,术语"存储单元"是指包含一个或多个数据存储单元的存储位置,所述数据存储单元诸如一个或多个卷、柱面、道、段、盘区或其任何部分,或者适合于传输的其他数据单元。因此,源存储单元和相关联的目标存储单元可以各自是存储卷。然而,可以理解,源存储单元和目标存储单元的每一个可以具有例如除卷之外的大小。
所描述的技术的实现可以包括硬件、方法或过程、或计算机可访问介质上的计算机软件。图1示出根据本说明书的采用在一致性组中异步本地和远程生成一致性时间点快照副本的计算环境的实施例。多个主机2a、2b…2n可以通过网络6向一个或多个存储控制器或存储控制单元4、4a(图2)、4b(图2)提交输入/输出(I/O)请求,以访问由一个或多个存储驱动器10、10a(图2)、10b(图2)表示的存储设备中的卷8(例如,逻辑单元编号、逻辑设备、逻辑子系统等)处的数据。每个存储控制器4、4a、4b包括CPU复合体12(图1),其包括一个或多个处理器或中央处理单元,每个处理器或中央处理单元具有单个或多个处理器核。在该实施例中,处理器核包含执行指令所涉及的CPU的组件,例如算术逻辑单元(ALU)、浮点单元(FPU)和/或各级高速缓存(例如L1和L2高速缓存)。应当理解,除了或代替这里提到的那些,处理器核可以具有其它逻辑元件。
在图2所示的配置中,存储控制器4a和数据存储器10a已经分别被配置为主系统24a的主存储控制单元和主存储。类似地,存储控制器4b及其数据存储器10b已经分别被配置为辅系统24b的辅存储器控制单元和辅存储器。因此,在图2所示的配置中,存储控制器4a将被称为主存储控制器或控制单元4a,而数据存储器10a将被称为主存储器10a。类似地,存储控制器或控制单元4b将被称为辅存储控制器或控制单元4b,并且数据存储器10b将被称为辅数据存储器10b。
在特定的拷贝关系中,源单元通常被称为主单元,而目标单元通常被称为辅单元。在数据存储器10a和10b的存储单元之间定义复制关系(replication relationships)。尽管将数据存储器10a称为"主"而将数据存储器10b称为"次",但是数据存储器10a和存储器10b的特定存储单元可以根据特定的拷贝关系而同时起到主(或源)和次(或目标)的作用。
如上所述,计算环境包括一个或多个主机2a、2b、...2n(图1),将更新写入主存储控制器4a(图2)以存储在主存储器10a中。在该实施例中,至少一个这种主机(例如主机2a)具有存储管理功能,包括监视程序216(图3),用于监视主存储控制器4a(图2)及其相关联的数据存储器10a的可用性中的故障。在一些实施例中,监控进程216可以在与主机分离的设备中运行。
主存储控制器4a位于第一站点,而辅存储控制器4b位于第二站点,该第二站点可以在地理上或功能上远离第一站点。因此,在该示例中,第一站点可以在本地站点,而第二站点可以在与本地站点以及彼此相隔短或长的地理距离的地理上远离的站点。或者,本地和远程站点可以相对靠近,例如在网络6的相同的总地理位置中的不同建筑物中、在相同建筑物的不同房间中、在相同房间中的不同机器中、或在相同机器的不同部分或分区中。
由主机2a(图3)表示的典型主机包括操作系统218和应用程序220,其经由存储控制器4a、4b从主存储器10A或辅存储器10b读取数据并向其写入更新。在一些实施例中,包括监控程序216的主机可以省略更新写入应用程序220。
参考图1、2和4,存储控制器4(图1)、4a(图2)、4b每个都具有存储器230(图1),其包括用于管理存储操作的存储管理器232,所述存储操作包括从主系统24a的主卷1到辅系统24b的辅卷2的数据复制操作。存储管理器232的数据复制逻辑234被配置为生成一致性拷贝,例如主系统的主卷1的时间点快照副本。卷1、卷2这一对卷处于异步复制关系,使得对主卷1的更新被异步镜像到辅卷2。在本说明书的一个实施例中,尽管存在异步关系,但是可以对主卷1进行第一本地时间点快照副本,并且可以使第二远程时间点快照副本与特定时间点的本地时间点快照副本一致。
在所示实施例中,包括数据复制逻辑234的存储管理器232被描述为存储在存储器230中并由CPU复合体12执行的软件。然而,应当理解,取决于特定应用,存储管理器232的逻辑功能可以被实现为硬件、软件、固件或其中一个或多个的组合。
可以由数据复制逻辑234为主存储控制器4a和辅存储控制器4b(图2)维护的一个或多个复制关系240,将主存储器10a中的主存储位置与辅存储器10b中的相应辅存储位置相关联,以便将对主存储器10a的位置的更新复制到相应的辅存储器10b的位置。例如,根据镜像拷贝关系240(图1),可以在镜像数据复制操作中将存储装置10a的主存储卷1(图2)中的源存储位置镜像到存储装置10b的辅卷2的目标存储位置。
在所示的实施例中,拷贝关系240包括一对存储位置的对等镜像关系,其中镜像关系240的主(源)存储位置的更新被镜像到镜像关系240的辅(目标)存储位置。可以理解,取决于特定应用,可以建立其它类型的复制关系。例如,复制关系240可以包括时间点快照复制关系。
结合数据复制逻辑234的异步数据复制模式中的复制关系240,可以在位图集合244的位图中指示对主存储器10a的主存储位置的更新,在所示实施例中,该位图集合是不同步(OOS)位图。当存储管理器232将OOS位图中指示的更新复制到辅存储控制单元4b的辅存储器10b的相应存储位置时,清除OOS位图的位。
存储管理器232访问对主存储器10a的更新,以写入存储器10b中的相应存储位置。在一些应用中,复制和关系功能可以由存储系统24a、24b(图2)外部的设备—例如主机—来执行。在所示的实施例中,关系240的一个拷贝关系(copying relationship)是镜像处理,其中,将对主存储器10a的每个写更新都镜像到辅存储器10b。在所示实施例的异步模式中,在主机发起操作的情况下,I/O操作被认为在成功地将更新写入主存储器10a时完成。因此,可以通知主机成功完成了I/O操作,尽管更新数据还没有被镜像到辅存储器10b。
周期性地,关系240中的卷可以由数据复制逻辑234配置为一致性组,以确保在主系统对卷进行的一组更新也最终在一致性组的卷上进行,以为该组的那些卷维持特定时间点的数据一致性或特定数据集的数据一致性。因此,可以在特定时间点停止对OOS位图的附加更新,以相对于特定时间点的主系统的卷形成辅系统的卷的一致性组。将OOS位图指示的任何未处理的更新传送到辅存储器,以便该一致性组的卷在更新不再被添加到OOS位图的时间点是一致的。
一致性组形成过程的其中将OOS位图指示的递增更新拷贝到辅存储器并更新OOS位图(复位位)以指示这种传送的时间间隔,被称为“排空”OOS位图。称为“改变记录”位图的第二位图保持在一致性组排空时间期间被更新(改变)的源卷的道的记录。当完成一致性组时,一致性组的OOS位图全为零,并且改变记录位图指示为下一个一致性组保留的被更新道。此时,改变记录位图变为镜像关系的OOS位图,并且这些被更新的道与发生的任何其他更新一起被镜像到远程卷,直到形成下一个一致性组。在排空间隔之后直到形成下一个一致性组的周期被称为一致性组形成的空闲周期。
与异步模式相反,在同步模式中,直到镜像操作完成,即直到更新数据已经成功复制到辅存储器10b,才认为对主存储器10a执行写操作的I/O操作完成。如果镜像操作失败,使得更新未被成功镜像到存储设备10b,则可以通知主机未成功完成更新操作。
在一个实施例中,存储管理器232可以按道将数据从主存储器10a传送到辅存储器10b。如这里所使用的,术语道可以指盘存储单元的磁道,但是也可以指在存储装置10a、10b中配置的其他数据单元(units of data),诸如位(bit)、字节、字、段、页、块(诸如逻辑块地址(LBA))等,其可以是诸如卷、逻辑设备等的更大的数据单元分组的一部分。
在一个实施例中,存储器10a、10b可以包括一个或多个顺序存取存储设备,例如硬盘驱动器和磁带,或者可以包括非顺序存取存储设备,例如固态驱动器(SSD)。每个存储器10a、10b可以包括单个顺序或非顺序存取存储设备,或者可以包括存储设备阵列,例如简单磁盘捆绑(JBOD)、直接存取存储设备(DASD)、独立磁盘冗余阵列(RAID)阵列、虚拟化设备、磁带存储器、闪存等。
管理拷贝关系的数据复制逻辑234的一种模式可以用异步拷贝操作来实现,例如用根据本说明书适当修改的对等远程拷贝(PPRC)程序来实现。PPRC程序的一个例子是“IBMTivoli Productivity Center for Replication”拷贝程序,其能够将更新从主存储器10a切换到辅存储设备10b。合适的异步镜像程序包括根据本说明书适当修改的XRC(或zGM)。所描述的操作可以用诸如根据本说明书适当修改的其它拷贝程序或其它全局恢复程序的其它程序来实现。
系统组件2a、2b、...2n、4a、4b、10、10a、10b连接到使得能够在这些组件之间进行通信的网络6。因此,网络6包括一种结构,该结构可以包括存储区域网络(SAN)、局域网(LAN)、内联网、因特网、广域网(WAN)、对等网络、无线网络、仲裁环路网络等。从存储子系统到主机2a、2b、...2n的通信路径可以基于特定的主机连接协议,例如光纤连接(FICON)。该结构的其它通信路径可以包括例如光纤通道仲裁环路配置、串行环路架构或总线接口,例如外围部件互连(PCI)接口,例如PCI-Express接口。该结构的通信路径也可以是以太网的一部分,例如,使得每个节点具有单独的网络(因特网协议)地址。根据特定应用,可以使用其它类型的通信路径,例如调制解调器电话路径、无线网络等。
与通信路径相关联的通信软件包括指令和其他软件,其控制通信协议和根据通信协议的通信硬件的操作,如果有的话。应当理解,根据特定应用,可以利用其它通信路径协议。
图4描述了主存储控制器4a(图2)的存储管理器232(图1)的数据复制逻辑234的一个实施例。辅存储系统的辅存储控制器4b(图2)可以包括类似的存储管理器232和数据复制逻辑234。
在该实施例中,数据复制逻辑234包括异步数据镜像逻辑310,其被配置为将数据从诸如主存储装置10a(图2)的第一存储单元的诸如具有代表性道(例如道1-道3)的主卷1(图5a)的第一数据单元,异步镜像到诸如辅存储装置10b的第二存储单元的诸如具有代表性道(例如道1-道3)的辅卷2(图5a)的第二数据单元。在图5a-5c的例子中,从主卷1到辅卷2的数据的异步镜像由标记为"镜像关系1"的箭头表示。在将数据从主卷1镜像到辅卷2时,数据复制逻辑234的数据镜像逻辑310还被配置为生成具有代表性位的位图244a(图4)的远程不同步(OOS)位图1,位1-位3指示要被从主卷1镜像到辅卷2的剩余道。
在图5a、6的例子中,卷1和卷2被一致性组逻辑311配置为一致性组CG0,以确保在主系统对卷1进行的一组更新最终也在一致性组CG0的卷2上进行,以保持该组的那些卷的特定时间点或特定数据集的数据一致性。因此,可以在特定时间点停止对OOS位图1的附加更新,以相对于在特定时间点的主系统的卷1形成辅系统的卷2的一致性组CG0。将OOS位图1所指示的任何未处理的更新传送到辅存储器,以便在更新不再被添加到OOS位图1的时间点,一致性组的卷2与卷1一致。
数据从主卷1'到辅卷2'的异步镜像,由标记为"镜像关系1'"的箭头表示。在将数据从主卷1'镜像到辅卷2'时,数据复制逻辑234的数据镜像逻辑310还被配置为生成具有代表性位的位图244a(图4)的远程不同步(OOS)位图1',位1-位3指示要被从主卷1'镜像到辅卷2'的剩余道。
图6描述了如由一致性组序号CG0、CG1、CG2....指示的各种一致性组的顺序形成的时间线,例如在图6的时间线中的,在其中一致性组CG0的形成先前完成的空闲周期"CG0空闲"之后,新的一致性组CG1的形成开始于CG1的时间点"开始增量"并完成于CG1的时间点"完成增量",之后是另一个空闲周期"CG1空闲"。"
如前所述,可以在位图集合244(图1)的不同步(OOS)位图1(图5a)中指示对主存储器10a的主存储位置的增量更新。当OOS位图中指示的递增更新被复制到辅存储控制单元4b的辅存储器10b(图2)的相应存储位置时,OOS位图1的位被一致性组逻辑311(图4)清除。从其中增量更新被拷贝到辅存储器并且OOS位图1被更新的时间点“开始增量”开始的一致性组形成过程的时间间隔,被称为“排空”(draining)OOS位图1。例如,用于一致性组CG1的一致性组形成过程的时间间隔,即CG1排空(图6),始于时间点“CG1的开始增量”,并且表示其中一致性组CG1的主卷上的增量更新被拷贝到辅存储器的辅卷并且更新OOS位图1(图5b)的间隔。
在图5b、6的例子中,由一致性组逻辑311将卷1和卷2配置到一致性组CG1中,以确保在主系统对卷1进行的一组更新最终也在一致性组CG1的卷2上进行,以保持该组的那些卷的特定时间点(“CG1的开始增量”)或特定数据集的数据一致性。因此,可以在特定时间点停止对OOS位图1的附加更新,以相对于特定时间点的主系统的卷1形成辅系统的卷2的一致性组CG1。将OOS位图1所指示的任何未处理的更新传送到辅存储器,以便在更新不再被添加到OOS位图1的时间点,一致性组的卷2与卷1一致。
一旦OOS位图1(图6)被完全排空(图5c),该排空间隔(CG1排空)就完成,使得一致性组的所有递增更新已经被成功地从主存储器拷贝到辅存储器,并且结果,OOS位图1(图5c)的所有位已经被复位。此时,辅存储器可以建立一致性组的远程卷的快照副本(在图6的实施例中称为“远程镜像快照副本”)。每个远程镜像快照副本被分配一个序号。因此,例如,在完成一致性组CG1的排空间隔时,在时间点“为CG1建立远程镜像快照副本”形成的远程镜像快照副本被分配序号“CG1”,如图6的实施例的时间线所示。
一旦如图6的时间线所示建立了远程镜像快照副本,则可以认为一致性组形成过程的递增部分对于正在形成的一致性组来说已经完成("增量完成")。因此,接着是另一个"空闲"间隔,直到开始按照顺序的下一个一致性组的形成过程。
例如,如图5c所示,一旦一致性组CG1的OOS位图1被完全排空,排空间隔CG1排空就完成,使得已经成功地将一致性组CG1的主卷1的所有增量更新从主存储器拷贝到辅存储器,并且作为结果,如图5c所示已经复位OOS位图1的所有位。此时,辅存储器可以生成一致性组的远程卷的快照副本,如图6的实施例中的时间点“为CG1建立远程镜像快照副本”所示的那样。一旦如图6的时间线所示建立了远程镜像快照副本,就可以认为用于一致性组CG1的一致性组形成过程的增量部分完成(如由时间点“CG1的增量完成”所示的那样)。因此,随后是空闲间隔“CG1空闲”,直到开始按照顺序的下一个一致性组形成过程。
一致性组逻辑311(图4)进一步被配置为将一致性组序号与图6所示的每个一致性组形成过程相关联。一致性组逻辑311将一致性组序号和进行中的一致性组形成过程的状态存储在一致性组形成数据结构312(图4)中。因此,在图5a的例子中,一致性组逻辑311将进行中的一致性组形成过程的一致性组序号CG0和状态“空闲”存储在一致性组形成数据结构312的相应的序号和状态字段中。在所示的实施例中,空闲状态还表示一致性组完成状态。
图7示出了根据本说明书的一个实施例的数据复制逻辑234的操作的一个实施例,其采用一致性组中的一致性时间点快照副本的异步本地和远程生成。在一个操作中,数据复制逻辑234的快照副本生成逻辑314(图4)被配置为从例如主机2a接收(图7的方框316)本地-远程对建立命令,以建立本地-远程快照副本关系对,其可以是一致性组的一部分,这取决于何时接收到本地-远程对建立命令。在图5a、6的例子中,在完成一致性组CG0之后但在形成新的一致性组CG1之前的CG0空闲周期中接收本地-远程对快照副本建立命令0。本地-远程建立命令0命令建立本地存储系统24a的卷1的本地快照副本和远程存储系统24b的卷2的远程快照副本。在该例中,在接收到本地-远程建立命令0时,卷2处于与卷1相关的一致性组CG0中。
在本说明书的一个实施例中,当接收到本地-远程对建立命令,例如图5a、6的例子中的本地-远程对建立命令0时,为响应于该本地-远程对建立命令而建立的本地-远程快照副本关系对分配快照副本序号,例如图5a、6的例子中的快照副本序号SC_CG0,其是特定一致性组形成过程,例如图5a、6的例子中的一致性组形成过程CG0空闲的函数。因此,在另一操作中,快照副本生成逻辑314响应于本地-远程对建立命令而确定(图7的方框318)要建立的本地-远程对的快照副本关系的快照副本序号。
在该实施例中,快照副本生成逻辑314还包括序号确定逻辑334(图4),其被配置为响应于接收到的本地-远程对快照副本建立命令,从一致性组逻辑311的数据结构312中获取在接收到本地-远程对建立命令时正在进行的一致性组形成过程的一致性组序号,并且还根据在接收到本地-远程对建立命令时正在进行的特定一致性组形成过程来确定快照副本序号。在图5a、6的例子中,序号确定逻辑334响应于本地-远程对建立命令0(图5a、6),从一致性组逻辑311的数据结构312获得在接收到本地-远程对建立命令0时正在进行的一致性组形成过程的一致性组序号CG0,并根据在接收到本地-远程对建立命令0时正在进行的特定一致性组形成过程(CG0空闲)确定快照副本序号SC_CG0。快照副本序号SC_CG0被存储在本地-远程快照副本对的本地快照副本的数据结构336a(图5a)的快照副本序号字段中。
图5a描述了响应于本地-远程对建立命令0,使用所确定的快照副本序号SC_CG0来建立本地-远程快照副本关系对。响应于本地-远程对建立命令0而建立的本地-远程快照副本关系对包括在主存储系统24a中建立如标记为“PIT快照副本关系CG0_L”的箭头所表示的、从主存储系统24a(图2)中的作为快照副本源的诸如卷1的数据单元到作为快照副本目标的诸如卷1'的另一数据单元的本地时间点快照副本关系。在一个实施例中,快照副本生成逻辑314(图4)还被配置成在建立本地时间点快照副本关系(这里是PIT快照副本关系CG0_L)时,生成位图244b(图4)的本地目标位图CG0_L,其指示在特定时间点还未将道从主卷1拷贝到时间点快照副本卷1'。
响应于本地-远程对建立命令0而建立的本地-远程快照副本关系对还包括在辅存储系统24b(图2)中建立如标记为“PIT快照副本关系CG0_R”的箭头所表示的、从辅存储系统24b(图2)中的作为快照副本源的诸如卷2的数据单元到作为快照副本目标的另一数据单元卷2'的远程时间点快照副本关系。在一个实施例中,辅控制器的快照副本生成逻辑314被配置成在建立远程时间点快照副本关系—PIT快照副本关系CG0_R—时生成位图244b的远程目标位图CG0_R,其指示在特定时间点还未将道从主卷2拷贝到时间点快照副本卷2'。
主存储控制器4a(图2)的快照副本生成逻辑314(图4)被配置为独立于一致性组形成过程的状态而启动和建立(图7,方框340)本地-远程对的本地时间点快照副本关系。因此,在图5a、6的示例中,时间点的快照副本关系CG0_L的状态,在本地-远程快照副本对的本地快照副本的数据结构336a(图5a)的状态字段中被存储为“建立”,指示已经建立了本地-远程快照副本对的(时间点的快照副本关系CG0_L的)具有序号SC_CG0的本地快照副本。
相反,在本说明书的一个实施例中,可以根据在接收到本地-远程对快照副本建立命令时正在进行的一致性组形成过程的状态,延迟本地-远程快照副本关系对的远程时间点快照副本关系的建立。然而,尽管在本地-远程快照复制关系对的远程时间点快照复制关系的建立中存在延迟,但是本地-远程时间点快照关系对的本地和远程时间点快照关系都可以按已建立的报告给发出本地-远程时间点快照对建立命令的主机,即使远程时间点快照关系可能尚未被建立,而是可能已经被延迟。
因此,主存储控制器4a(图2)的快照副本生成逻辑314(图4)还包括状态确定逻辑344,其被配置为在接收到本地-远程对建立命令时确定一致性组形成过程的状态。快照副本生成逻辑314的延迟逻辑348被配置为根据如状态确定逻辑344所确定的、在接收到本地-远程对快照副本建立命令时进行中的一致性组形成过程的状态,延迟本地-远程快照副本关系对的远程时间点快照副本关系的建立。
在一个实施例中,多个状态包括空闲状态,例如图5a、6的例子中的空闲状态“CG0空闲”,其中先前的一致性组CG0已经完成并且按顺序的下一个一致性组CG1的形成还没有开始,如图6的时间线所示。多个状态的另一个状态还包括排空状态,例如图5b、6的例子中的排空状态“CG1排空”,其中正在形成的一致性组CG1还没有完成。如下面更详细解释的,如果在接收到本地-远程对建立命令时一致性组形成过程的状态被确定为处于排空状态,并且如果正在形成的一致性组包括本地-远程对快照副本建立命令的本地-远程快照关系对的数据单元,则延迟逻辑348还被配置为延迟远程时间点快照副本关系的建立。
结合远程时间点快照副本关系的建立的潜在延迟,数据复制逻辑234的命令逻辑350(图4)被配置为命令辅存储控制器4b(图2)保留(图7,方框352)辅存储控制器的资源,以便最终建立本地-远程对的远程快照副本关系。使用为本地-远程对确定的序号(图7的方框318)来保留资源。
在一个实施例中,数据复制逻辑234的命令逻辑350被配置为响应于本地-远程对快照副本建立命令,向辅存储控制器4b发出资源保留命令,以为后续建立本地-远程对的远程时间点快照副本关系保留辅存储系统的资源。进一步响应于资源保留命令,将所确定的快照副本序号(图7的方框318)存储在本地-远程快照副本对的远程快照副本的数据结构336b(图5a)的快照副本序号字段中。因此,在图5a、6的例子中,响应于响应本地-远程对建立命令0而发出的资源保留命令,将快照副本序号SC_CG0存储在本地-远程快照副本对的远程快照副本的数据结构336b(图5a)的快照副本序号字段中。
状态确定逻辑344(图4)在接收到本地-远程对建立命令时确定(图7的方框356)一致性组形成过程的状态。在图5a的例子中,状态确定逻辑344响应于本地-远程对建立命令0,从一致性组逻辑311的数据结构312(图5a)获得正在进行的一致性组形成过程的状态CG0空闲。命令逻辑350被配置为命令辅存储控制器根据在接收到本地-远程对建立命令时正在进行的一致性组形成过程的状态,使用为远程时间点快照副本关系的后续建立而保留的辅存储系统的资源,与所确定的快照副本序号相关联地建立本地-远程对的远程时间点快照副本关系。例如,如果一致性组形成过程的状态被确定为处于接收到本地-远程对建立命令的空闲状态,则命令逻辑350命令辅存储控制器使用辅存储系统的先前为建立远程时间点快照副本关系而保留的资源建立(图7的方框360)本地-远程对的远程时间点快照副本关系。
在图5a的用于一致性组CG0的例子中,已经复位OOS位图1的所有位,使得OOS位图1被完全排空,并且一致性组CG0的形成完成并处于空闲状态。因此,在图5a、6的例子中,由于一致性组形成过程的状态被确定(方框356,图7)为处于空闲状态CG0空闲,其中接收到本地-远程对快照副本建立命令0,因此可以没有显著延迟地建立本地-远程快照副本关系对的远程时间点快照副本关系,因为在接收到本地-远程对快照副本建立命令0时没有涉及本地-远程对建立命令的数据单元卷2、卷2'的一致性组正在形成。因此,在图5a、6的例子中,将状态“建立”存储在数据结构336b(图5a)的状态字段中,指示已经建立了具有本地-远程快照副本对的(时间点快照副本关系CG0_R的)序号SC_CG0的远程快照副本。
因为当接收到本地-远程对快照副本建立命令0时,用于一致性组CG0的一致性组形成过程的状态处于空闲状态(CG0增量完成),所以当接收到本地-远程对快照副本建立命令0时,一致性组CG0的卷2相对于主系统的卷1是一致的。因此,本地快照副本卷1'将与远程快照副本卷2'一致。因此,响应于本地-远程对快照副本建立命令0,可以没有显著延迟地建立远程快照副本卷2'。
相反,如果在接收到本地-远程对快照副本建立命令时一致性组形成过程的状态被确定为处于排空状态,并且如果正在形成的一致性组包括本地-远程对建立命令的本地-远程快照关系对的数据单元,则延迟逻辑348延迟(图7的方框364)远程时间点快照副本关系的建立。在图5b、6的例子中,在一致性组CG1开始之后的CG1排空期间,即,在一致性组CG1的时间点“CG1的开始增量”之后,但是在一致性组CG2的时间点“CG2的开始增量”处形成按顺序的下一个一致性组CG2之前,接收(图7的方框316)本地-远程对快照副本建立命令1。本地-远程建立命令1命令建立本地存储系统24a的卷1的本地快照副本和远程存储系统24b的卷2的远程快照副本。在该例中,在接收到本地-远程建立命令1时,卷2相对于卷1处于一致性组CG1中。
在图5b的示例中,对于一致性组CG1,不是OOS位图1的所有位都已经被复位,使得OOS位图1处于排空的过程中,并且一致性组CG1的形成是未完成的并且处于排空状态。因此,在图5b的例子中,一致性组逻辑311将一致性组序号CG1和进行中的一致性组形成过程的状态“排空”存储在一致性组形成数据结构312的相应的序号和状态字段中。当如图6所示接收到本地-远程对快照副本建立命令1时,由序号确定逻辑334为响应于本地-远程对建立命令1而要建立的本地-远程快照副本关系对(图5b)分配(方框318,图7)快照副本序号,本例中是SC_CG1,该序号是正在进行的特定一致性组形成过程“CG1排空”的函数。在图5b的例子中,序号确定逻辑334响应本地-远程对快照副本建立命令1(图6),从一致性组逻辑311的数据结构312(图5b)获得在接收本地-远程对快照副本建立命令1时正在进行的一致性组形成过程的一致性组序号CG1,并根据在接收本地-远程对快照副本建立命令1时正在进行的特定一致性组形成过程“CG1排空”确定快照拷贝序号SC_CG1。将快照副本序号SC_CG1存储在本地-远程快照副本对的本地快照副本的数据结构336a(图5b)的快照副本序号字段中。
图5b描述了响应于本地-远程对快照副本建立命令1,使用所确定的快照副本序号SC_CG1来启动本地-远程快照副本关系对的建立。因此,在主存储系统24a中建立如标记为“PIT快照副本关系CG1_L”的箭头所表示的、从主存储系统24a中作为快照副本源的诸如卷1的数据单元到作为快照副本目标的诸如卷1'的另一数据单元的本地时间点快照副本关系(图7的方框340)。在一个实施例中,快照副本生成逻辑314还被配置为在建立本地时间点快照副本关系—这里是PIT快照副本关系CG1_L—时,生成位图244b的本地目标位图CG1_L,指示在特定时间点还没有从主卷1拷贝到本地时间点快照副本卷1'的道。
快照副本生成逻辑314独立于一致性组形成过程的状态启动和建立(图7的方方框340)本地-远程对的本地时间点快照副本关系。因此,在图5b、6的例子中,本地时间点快照副本关系CG1_L的状态在本地-远程快照副本对的本地快照副本的数据结构336a(图5b)的状态字段中被存储为“建立”,指示已经建立了具有本地-远程快照副本对的(时间点快照副本关系CG1_L的)序号SC_CG1的本地快照副本。
响应于本地-远程对建立命令1而建立的本地-远程快照副本关系对最终将包括辅存储系统24b中的如标记为"PIT快照副本关系CG1_R"(图5c)的箭头所表示的、从辅存储系统24b中作为快照副本源的一致性组CG1的诸如卷2的数据单元到作为快照副本目标的另一数据单元卷2'的远程时间点快照副本关系。如上所述,在本说明书的一个实施例中,可以根据在接收到本地-远程对建立命令时正在进行的一致性组形成过程的状态,延迟本地-远程快照副本关系对的远程时间点快照副本关系的建立。因此,在图5b的例子中,由于远程快照副本已经被延迟,所以用虚线描绘表示PIT快照副本关系CG1_R的箭头。类似地,在图5b的示例中,以虚线描绘PIT快照复制关系CG1_R的目标位图CG1_R。
结合远程时间点快照副本关系的建立的潜在延迟,主存储控制器4a(图2)的数据复制逻辑的命令逻辑350(图4)命令辅存储控制器4b(图2)保留(图7,方框352)辅存储系统的资源,以便最终建立本地-远程对的远程快照副本关系。使用为本地-远程对确定的序号(图7的方框318)来保留资源。在图5b、6的例子中,主存储控制器4a(图2)的数据复制逻辑234的命令逻辑350响应于本地-远程对建立命令1而向辅存储控制器4b发出资源保留命令,以在保留间隔期间保留辅存储系统的资源,用于在完成快照副本关系的保留间隔之后,后续建立本地-远程对的远程时间点快照副本关系CG1_R。例如,可以为诸如卷2'的快照副本卷的和诸如目标bitmapCG1_R的数据结构保留存储器空间,直到远程PIT快照副本关系CG1_R的建立。
进一步响应于资源保留命令,将所确定的快照副本序号(图7的方框318)存储在本地-远程快照副本对的远程快照副本的数据结构336b(图5b)的快照副本序号字段中。因此,在图5b、6的例子中,响应于本地-远程对建立命令1而发出的资源保留命令,将快照副本序号SC_CG1存储在本地-远程快照副本对的远程快照副本的数据结构336b(图5a)的快照副本序号字段中。
在图5b的例子中,设置位(set bits),例如OOS位图1的设置位2,指示等待向辅存储器传送的未处理的更新,使得在更新不再被添加到OOS位图1的时间点,一致性组CG1的卷2还不与卷1一致。因此,在图5b的例子中,排空间隔CG1排空还没有完成,这是因为OOS位图1(图5b)还没有完全排空(图5c),使得一致性组的所有递增更新还没有成功地从主存储器拷贝到辅存储器,并且作为结果,OOS位图1(图5b)的所有位还没有被复位。
因此,在图6的本地-远程对快照副本建立命令1的例子中,主存储控制器4a(图2)的快照拷贝生成逻辑314的状态确定逻辑344(图4),在接收到本地-远程对快照副本建立命令1时,确定(方框356,图7)一致性组形成过程的状态为CG1排空状态,如图6的一致性组形成数据结构312(图5b)和时间线所示。在图5b的例子中,状态确定逻辑344从一致性组逻辑311的数据结构312(图5a)获得正在进行的一致性组形成过程的状态CG1排空。因此,由于在接收到本地-远程对建立命令1时正在进行的一致性组形成过程的状态被状态确定逻辑344确定为CG1排空状态,所以快照副本生成逻辑314的延迟逻辑348延迟(方框364)本地-远程快照副本关系对的远程时间点快照副本关系CG1_R的建立。远程时间点快照副本关系CG1_R的建立被延迟一个时间间隔,在图6的时间线中称为“保留间隔”。因此,将状态“保留”存储在数据结构336b(图5a)的状态字段中,指示具有本地-远程快照副本对的(时间点快照副本关系CG1_R的)序号SC_CG1的远程快照副本尚未被建立,但是处于等待在后续时间被建立的保留状态。
因为当接收到本地-远程对快照副本建立命令1时,用于一致性组CG1的一致性组形成过程的状态处于排空状态(CG1排空),所以当接收到本地-远程对快照副本建立命令1时,一致性组CG1的卷2相对于主系统的卷1不一致。因此,本地快照副本卷1'将与远程快照副本卷2'不一致。因此,远程快照副本卷2'的建立将被延迟。
一旦如正形成的一致性组CG1的时间点“增量完成”所指示的那样,一致性组形成过程的增量部分完成,则用于延迟本地-远程对的远程时间点拷贝的建立的保留间隔结束。如前所述,一旦一致性组的OOS位图1被完全排空,使得已经成功地将一致性组CG1的所有增量更新从主存储卷1'拷贝到辅存储卷2',并且作为结果,如图5c所示,OOS位图1的所有位已经被复位,则CG1排空间隔完成。
在一致性组CG1的排空间隔完成时,如图6的实施例的时间线所示那样,为在时间点“为CG1建立远程镜像快照副本”形成的远程镜像快照副本被分配序号“CG1”。一旦如图6的时间线所示的那样建立了远程镜像快照副本,则可以认为对于正在形成的一致性组CG1来说,一致性组形成过程的增量部分完成(“增量完成”)。因此,如图5c所示,一致性组逻辑311将用于进行中的一致性组形成过程的一致性组状态“增量完成”存储在用于一致性组CG1的一致性组形成数据结构312的相应状态字段中。
快照副本生成逻辑314的状态确定逻辑344(图4)确定(方框356,图7)本地-远程对快照副本建立命令1的一致性组形成过程的状态为CG1增量完成状态,如图6的一致性组形成数据结构312(图5c)和时间线所示的那样。在图5c的例子中,状态确定逻辑344从一致性组逻辑311的数据结构312(图5c)获得进行中的一致性组CG1形成过程的状态(增量完成)。
因此,一旦在CG1排空状态之后确定用于一致性组CG1的一致性组形成过程的状态处于增量完成状态—其中接收到本地-远程对建立命令1,则延迟逻辑348终止(方框370,图7)本地-远程对的远程时间点快照副本关系GC1_R的建立的延迟。此外,命令逻辑350进一步配置为一旦在接收到本地-远程对建立命令1的CG1排空状态之后一致性组CG1的一致性组形成过程的状态被确定为处于增量完成状态,则使用为本地-远程对的远程时间点快照副本关系GG1_R的后续建立而保留的辅存储系统的保留资源,向辅存储控制器发出(方框374)建立(方框360,图7)本地-远程对的远程时间点快照副本关系GG1_R的“登记”命令。因此,响应于该登记命令,一旦一致性组CG1的一致性组形成过程的状态被确定为处于空闲状态(即,增量完成状态),则辅存储控制器使用为远程时间点快照副本关系CG1_R的后续建立而保留的辅存储系统的资源来建立本地-远程对的远程时间点快照副本关系CG1_R(图5c)。在一个实施例中,辅存储控制器还被配置为在建立远程时间点快照副本关系PIT快照副本关系CG1_R时,生成位图244b的远程目标位图CG1_R(图5c),指示在特定时间点还没有将道从主卷2拷贝到时间点快照副本卷2'。
因为当接收到本地-远程对快照副本建立命令1时,用于一致性组CG1的一致性组形成过程的状态处于排空状态(CG1排空),所以远程快照副本卷2'的建立被延迟,直到一致性组CG1的卷2相对于主系统的卷1一致。结果,本地快照副本卷1'将与远程快照副本卷2'一致。因此,在一致性组CG1完成之后建立远程快照副本卷2'。
在图6的另一个例子中,在一致性组CG2开始之后的CG2排空期间,即,一致性组CG1的时间点“CG1的开始增量”,但是在形成按照顺序的下一个一致性组之前,接收(图7的方框316)本地-远程对快照副本建立命令2。本地-远程建立命令2命令建立本地存储系统24a的卷1的本地快照副本和远程存储系统24b的卷2的远程快照副本。在该例中,在接收到本地-远程建立命令2时,卷2处于与卷1相关的一致性组CG2中。因此,以与以上结合本地-远程对建立命令1描述的方式类似的方式建立本地-远程对快照复制关系。
一致性组逻辑311将一致性组序号CG2和进行中的一致性组形成过程的状态“排空”存储在诸如一致性组形成数据结构312的数据结构的相应序号和状态字段中。当如图6所示接收到本地-远程对快照副本建立命令2时,由序号确定逻辑334向响应于本地-远程对建立命令2而建立的本地-远程对快照拷贝关系分配(方框318,图7)一个快照拷贝序号,其在该示例中是SC_CG2,是特定一致性组形成过程“CG2排空”的函数。序号确定逻辑334响应本地-远程对快照副本建立命令2(图6),从一致性组逻辑311的数据结构312获得在接收本地-远程对快照副本建立命令2时正在进行的一致性组形成过程的一致性组序号CG2,并确定作为在接收本地-远程对快照副本建立命令2时正在进行的特定一致性组形成过程"CG2排空"的函数的快照拷贝序号SC_CG2。快照副本序号SC_CG2被存储在本地-远程快照副本对的本地快照副本的诸如数据结构336a的数据结构的快照副本序号字段中。
在主存储系统24A中建立(图7的方框340)从作为快照副本源的数据单元到主存储系统24A中的诸如快照副本目标的另一数据单元的本地时间点快照副本关系。在一个实施例中,快照副本生成逻辑314还被配置为在建立本地时间点快照副本关系时,生成本地目标位图,其指示到特定时间点为止还没有被从主卷拷贝到本地时间点快照副本卷的道。
快照副本生成逻辑314独立于一致性组形成过程的状态启动和建立(图7的方方框340)本地-远程对的本地时间点快照副本关系。因此,在图6的命令2示例中,例如可以编号为CG2_L的本地时间点快照副本关系的状态被存储为在本地-远程快照副本对的本地快照副本的数据结构的状态字段中的"已建立",指示已经建立了具有本地-远程快照副本对的序号(例如SC_CG2)的本地快照副本。
响应于本地-远程对建立命令2而建立的本地-远程快照副本关系对,最终将包括从辅存储系统24b中的、从辅存储系统24b中的作为快照副本源的数据单元到作为快照副本目标的另一数据单元的远程时间点快照副本关系。如上所述,在本说明书的一个实施例中,可以根据在接收到本地-远程对建立命令时正在进行的一致性组形成过程的状态,延迟本地-远程快照副本关系对的远程时间点快照副本关系的建立。
结合远程时间点快照副本关系的建立的潜在延迟,主存储控制器4a(图2)的数据复制逻辑的命令逻辑350(图4)命令辅存储控制器4b(图2)保留(图7,方框352)辅存储系统的资源,以便最终建立本地-远程对的远程快照副本关系。使用为本地-远程对确定的序号(图7的方框318)来保留资源。在图6的命令2的例子中,主存储控制器4a(图2)的数据复制逻辑234的命令逻辑350响应于本地-远程对建立命令2向辅存储控制器4b发出资源保留命令,以在完成远程快照副本关系的保留间隔之后,在用于后续建立本地-远程对的远程时间点快照副本关系的保留间隔期间保留辅存储系统的资源。例如,可以保留快照副本卷的存储空间和诸如远程目标位图之类的数据结构的存储空间,直到建立远程PIT快照副本关系。
进一步响应于资源保留命令,将所确定的快照副本序号(图7的方框318)存储在本地-远程快照副本对的远程快照副本的数据结构的快照副本序号字段中。因此,在图6的命令2的例子中,响应于本地-远程对建立命令2而发出的资源保留命令,将快照副本序号SC_CG2(图6)存储在本地-远程快照副本对的远程快照副本的数据结构的快照副本序号字段中。
在图6的本地-远程对快照副本建立命令2的例子中,主存储控制器4a(图2)的快照拷贝生成逻辑314的状态确定逻辑344(图4),在接收到本地-远程对快照副本建立命令2时,确定(图7的方框356)一致性组形成过程的状态为CG2排空状态,如图6的一致性组形成数据结构和时间线所示的那样。在命令2的例子中,状态确定逻辑344从一致性组逻辑311的数据结构获得进行中的一致性组形成过程的状态CG2排空。因此,由于在接收本地-远程对建立命令2时正在进行的一致性组形成过程的状态被状态确定逻辑344确定为CG2排空状态,所以快照副本生成逻辑314的延迟逻辑348延迟(方框364)本地-远程快照副本关系对的远程时间点快照副本关系的建立。远程时间点快照副本关系CG2_R的建立被延迟一段时间间隔—在图6的时间线中称为“保留间隔”。因此,将状态“保留”存储在远程快照副本的数据结构的状态字段中,指示具有本地-远程快照副本对的快照副本序号SC_CG2的远程快照副本尚未被建立,但是处于在后续时间建立的未决的保留状态。
一旦对于正在形成的一致性组CG2完成了一致性组CG2的一致性组形成过程的递增部分(由时间点“增量完成”表示),用于延迟本地-远程对的远程快照副本的建立的保留间隔结束。如前所述,一旦一致性组的OOS位图被完全排空,使得已经成功地将一致性组CG2的所有增量更新从主存储卷复制到辅存储卷,并且作为结果,已经复位了OOS位图的所有位,则CG2排空间隔完成。
在完成一致性组CG2的排空间隔时,如图6的实施例的时间线所示,为在时间点“为CG2建立远程镜像快照副本”形成的远程镜像快照副本分配序号“CG2”。一旦如图6的时间线所示建立了远程镜像快照副本,则可以认为对于正在形成的一致性组CG2来说,一致性组形成过程的增量部分完成(“增量完成”)。因此,一致性组逻辑311将进行中的一致性组形成过程的一致性组状态“增量完成”,存储在一致性组CG2的一致性组形成数据结构的相应状态字段中。
在该点,快速拷贝生成逻辑314的状态确定逻辑344(图4)确定(图7的方框356)本地-远程对快速拷贝建立命令2的一致性组形成过程的状态为CG2增量完成状态,如图6的一致性组形成数据结构和时间线所指示的那样。因此,状态确定逻辑344从一致性组逻辑311的数据结构(图5c)获得进行中的一致性组CG2形成过程的状态(CG2增量完成)。
因此,一旦确定一致性组CG2的一致性组形成过程的状态在其中接收到本地-远程对建立命令2的CG2排空状态之后处于增量完成状态,则延迟逻辑348终止(方框370,图7)本地-远程对的远程时间点快照复制关系的建立的延迟。此外,命令逻辑350进一步配置为一旦确定一致性组CG2的一致性组形成过程的状态在其中接收到本地-远程对建立命令2的CG2排空状态之后处于增量完成状态,则向辅存储控制器发出(方框374)登记命令,以使用为后续建立本地-远程对的远程时间点快照复制关系而保留的辅存储系统的保留资源来建立(方框360,图7)本地-远程对的远程时间点快照复制关系。因此,响应于登记命令,一旦确定一致性组CG2的一致性组形成过程的状态处于其中接收到本地-远程对建立命令2的CG2空闲状态(即,增量完成状态),则辅存储控制器使用为后续建立远程时间点快照复制关系而保留的辅存储系统的资源来建立本地-远程对的远程时间点快照复制关系。在一个实施例中,辅存储控制器还被配置为在建立远程时间点快照副本关系时生成位图244b的远程目标位图,其指示到特定时间点为止还没有被从主卷拷贝到时间点快照副本卷的道。
在一个实施例中,生成时间点快照副本的本地-远程对时间点快照副本命令可以是“非后台拷贝”类型的,其中不需要在后台拷贝操作中将源卷的内容传送到时间点快照副本目标卷。相反,如果目标位图通过位状态值"1"指示某道还没有被传送到时间点快照副本目标卷,则可以将针对时间点快照副本目标卷的该道的读操作重定向到源卷的对应道,以获得该道的内容。然而,如果源卷的道被作为更新的目标,则该道的内容将被传送到时间点快照副本目标卷的相应道,并且相关联的目标位图将被更新以指示该道的内容已经被传送。因此,用于目标提供到第一时间点时为止的源卷的数据的一致性时间点快照副本的数据,可以通过在相关联的本地或远程系统内的数据传输来获得。
应当理解,在其他实施例中,生成时间点快照副本的本地-远程对时间点快照副本命令可以是“后台拷贝”类型的,其中源卷的内容在后台拷贝操作中被传送到时间点快照副本目标卷。当源卷的每个道的内容在后台拷贝中被传送到时间点快照副本目标卷的对应道的内容时,可以将相关联的目标位图中代表该道的位的位状态更新为位状态值"0",以指示该道已经被传送到时间点快照副本目标卷。
因此,如在此所使用的,术语“拷贝”(copying)包括其中源存储位置的数据内容实际上被传送到目标存储位置的实际拷贝操作。然而,这里使用的术语“拷贝”还包括虚拟拷贝,其中设置诸如位图的数据结构,以将最初指向目标存储位置的读操作重定向到源存储位置而不是目标存储位置,因此不需要包括源存储位置的数据内容到目标存储位置的实际传送。类似地,如在此所使用的,术语“副本”包括其中目标存储位置包含与源存储位置相同的数据内容的实际副本,但是也包括其中目标存储位置具有诸如目标位图的关联数据结构的虚拟副本,该目标位图已经被设置成将最初指向目标存储位置的读操作重定向到源存储位置而不是目标存储位置,使得虚拟副本不需要包括源存储位置的实际数据内容。
在本说明书的一个实施例中,可以理解,一旦一致性组完成,由于镜像关系1(图5a、5c)所表示的镜像操作,远程时间点快照副本卷2'的数据已经驻留在辅系统24b上。结果,在许多应用中—即使不是全部,可以在辅系统24b内拷贝远程时间点快照副本卷2'的大部分数据,从而避免—即使不是全部—通过网络从主系统24a拷贝大量数据以提供远程时间点快照副本卷2'。例如,响应于命令逻辑350向辅系统24b发出登记命令,辅存储控制器4b的快照副本生成逻辑314还被配置为如果远程目标位图指示数据道仍然要被从辅卷2拷贝到远程时间点快照副本卷2',则命令辅系统将辅卷2的道后台拷贝到远程时间点快照副本卷2'。因此,用于卷2'提供至第一时间点为止主卷1的数据的一致时间点快照副本的数据,可以主要通过辅系统24b内的数据传送来获得。
附图的计算组件可以各自在一个或多个计算机系统中实现,诸如在图8所示的计算机系统1002中实现。计算机系统/服务器1002可以在由计算机系统执行的诸如程序模块的计算机系统可执行指令的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器1002可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
如图8所示,计算机系统/服务器1002以通用计算设备的形式表现。计算机系统/服务器1002的组件可以包括但不限于:一个或者多个处理器或者处理单元1004,系统存储器1006,连接不同系统组件(包括系统存储器1006和处理单元16)的总线1008。
总线1008表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器1002典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器1002访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器1006可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1010和/或高速缓存存储器1012。计算机系统/服务器1002可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统1013可以用于读写不可移动的、非易失性磁介质(图中未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1008相连。存储器1006可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块1016的程序/实用工具1014,可以存储在例如存储器1006中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。计算机1002的组件可以实现为通常执行本发明所描述的实施例中的功能和/或方法的程序模块1016。图1的系统可以在一个或多个计算机系统1002中实现,其中如果是在多个计算机系统1002中实现的,则这些计算机系统可以通过网络进行通信。
计算机系统/服务器1002也可以与一个或多个外部设备1018(例如键盘、指向设备、显示器1020等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器1002交互的设备通信,和/或与使得该计算机系统/服务器1002能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1022进行。并且,计算机系统/服务器12还可以通过网络适配器1024与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1024通过总线1008与计算机系统/服务器1002的其它模块通信。应当明白,尽管图中未示出可以结合计算机系统/服务器1002使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
这里使用的参考字符,例如i、j和n,用于表示一个元素的实例的可变数目,其可以表示相同或不同的值,并且当在不同描述实例中与不同或相同的元素一起使用时,可以表示相同或不同的值。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
除非另外明确指出,否则术语“某实施例”、“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”意指“本发明的一个或多个(但不是全部)实施例”。
除非另外明确指出,否则术语“包括”、“包含”、“具有”及其变体是指“包括但不限于”。
除非另外明确指出,否则列举的项目列表并不意味着任何或所有项目是互斥的。
除非另外明确规定,否则术语"一"、"一个"和"该"表示"一个或多个"。
除非另外明确指出,否则彼此通信的设备不需要彼此连续通信。另外,彼此通信的设备可以直接通信或通过一个或多个中间物间接通信。
具有彼此通信的若干组件的实施例的描述并不暗示需要所有此类组件。相反,描述了各种可选组件以说明本发明的各种可能的实施例。
当在此描述单个设备或产品时,很明显,可以使用多于一个的设备/产品(无论它们是否协作)来代替单个设备/产品。类似地,在这里描述了多于一个设备或产品(无论它们是否协作)的情况下,将容易明白的是,可以使用单个设备/产品来代替多于一个设备或产品,或者可以使用不同数量的设备/产品来代替所示数量的设备或程序。设备的功能和/或特征可以替代地由一个或多个未明确描述为具有这样的功能/特征的其他设备来体现。因此,本发明的其它实施例不需要包括该设备本身。
为了说明和描述的目的,已经给出了本发明的各种实施例的上述描述。其不是穷举的,也不是要将本发明限制为所公开的精确形式。根据上述教导,许多修改和变化是可能的。本发明的范围不是由该详细描述来限定,而是由所附权利要求来限定。上述说明、示例和数据提供了对本发明的组成的制造和使用的完整描述。由于在不脱离本发明的精神和范围的情况下可以做出本发明的许多实施例,因此本发明在于所附权利要求书。
Claims (24)
1.一种用于与位于第一位置处的主机和主存储系统以及位于远离第一位置的第二位置处的辅存储系统一起使用的主存储控制器,主存储系统具有主存储控制器和由主存储控制器控制并且被配置为存储多个数据单元的至少一个存储单元,辅存储系统具有辅存储控制器和由辅存储控制器控制并且被配置为存储多个数据单元的至少一个存储单元,主存储控制器包括数据复制逻辑,数据复制逻辑包括:
数据镜像逻辑,被配置为将数据从存储在主存储系统的存储单元中的第一数据单元异步地镜像到存储在辅存储系统的存储单元中的第二数据单元,以及将数据从存储在主存储系统的存储单元中的第三数据单元异步地镜像到存储在辅存储系统的存储单元中的第四数据单元;以及
一致性组逻辑,被配置为生成相对于主存储系统的存储单元的辅存储系统的存储单元的数据单元的一致性组;
快照副本生成逻辑,被配置为接收建立本地-远程快照副本关系对的本地-远程对建立命令,所述本地-远程快照副本关系对包括主存储系统中的、从作为快照副本源的第一数据单元到作为快照副本目标的第三数据单元的本地时间点快照副本关系,并且包括辅存储系统中的从作为快照副本源的第二数据单元到作为快照副本目标的第四数据单元的远程时间点快照副本关系,以及响应于所述本地-远程对建立命令而启动本地-远程快照副本关系对,快照副本生成逻辑包括:
状态确定逻辑,被配置为在接收到所述本地-远程对建立命令时,将一致性组形成过程的状态确定为多个状态中的至少一个,其中所述多个状态包括空闲状态和排空状态,其中,存在其中没有包括第二和第四数据单元的一致性组正在主动形成的空闲状态,并且其中,存在其中包括第二和第四数据单元中的至少一个的一致性组正在主动形成的排空状态;以及
延迟逻辑,被配置为如果一致性组形成过程的状态被确定为处于排空状态,则延迟远程时间点快照副本关系的建立,其中,在接收到所述本地-远程对建立命令时,处于排空状态中的包括第二和第四数据单元中的至少一个的一致性组正在主动形成。
2.如权利要求1所述的主存储控制器,其中,快照副本生成逻辑还包括命令逻辑,其被配置为响应于所述本地-远程对建立命令,向辅存储控制器发出资源保留命令,以保留辅存储系统的资源,用于所述本地-远程对的远程时间点快照副本关系的后续建立。
3.如权利要求1所述的主存储控制器,其中,快照副本生成逻辑还被配置为独立于一致性组形成过程的状态,启动和建立所述本地-远程对的本地时间点快照副本关系。
4.如权利要求2所述的主存储控制器,其中,空闲状态是在排空状态的完成之后的增量完成状态,并且其中,延迟逻辑还被配置为如果一致性组形成过程的状态被确定为处于其中接收到所述本地-远程对建立命令的排空状态之后的增量完成状态,则终止本地-远程对的远程时间点快照副本关系的建立的延迟;以及
其中,命令逻辑还被配置为如果一致性组形成过程的状态被确定为处于其中接收到所述本地-远程对建立命令的排空状态之后的增量完成状态,则向辅存储控制器发出登记命令,以使用为后续建立本地-远程对的远程时间点快照复制关系而保留的辅存储系统的保留资源来建立所述本地-远程对的远程时间点快照复制关系。
5.如权利要求2所述的主存储控制器,其中,命令逻辑还被配置为如果一致性组形成过程的状态被确定为处于其中接收到所述本地-远程对建立命令的空闲状态,则命令辅存储控制器使用为远程时间点快照副本关系的后续建立而保留的辅存储系统的资源来建立本地-远程对的远程时间点快照副本关系。
6.如权利要求2所述的主存储控制器,其中,快照副本生成逻辑还包括序号确定逻辑,其被配置为响应于所述本地-远程对建立命令,根据一致性组形成过程来确定快照副本序号,并且其中,命令逻辑还被配置为响应于所述本地-远程对建立命令,向辅存储控制器发出资源保留命令,以便与所确定的快照副本序号相关联地保留辅存储系统的资源,用于随后与所确定的快照副本序号相关联地建立本地-远程对的远程时间点快照副本关系。
7.如权利要求6所述的主存储控制器,其中,命令逻辑还被配置为命令辅存储控制器建立与所确定的快照副本序号相关联的本地-远程对的所述远程时间点快照副本关系,并且其中,一致性组逻辑还被配置为将一致性组序号与特定的一致性组形成过程相关联。
8.根据权利要求1所述的主存储控制器,其中,第一数据单元是第一卷,第二数据单元是第二卷。
9.一种方法,包括:
将数据从存储在第一存储系统的存储单元中的第一数据单元异步地镜像到存储在第二存储系统的存储单元中的第二数据单元,以及将数据从存储在第一存储系统的存储单元中的第三数据单元异步地镜像到存储在第二存储系统的存储单元中的第四数据单元;
接收建立本地-远程快照副本关系对的本地-远程对建立命令,所述本地-远程快照副本关系对包括第一存储系统中的、从作为快照副本源的第一数据单元到作为快照副本目标的第三数据单元的本地时间点快照副本关系,并且包括第二存储系统中的从作为快照副本源的第二数据单元到作为快照副本目标的第四数据单元的远程时间点快照副本关系;以及
响应于所述本地-远程对建立命令而启动本地-远程时间点快照副本关系对,包括:
在接收到所述本地-远程对建立命令时,将一致性组形成过程的状态确定为多个状态中的至少一个,其中所述多个状态包括空闲状态和排空状态,其中,存在其中没有包括第二和第四数据单元的一致性组正在主动形成的空闲状态,并且其中,存在其中包括第二和第四数据单元中的至少一个的一致性组正在主动形成的排空状态;以及
如果一致性组形成过程的状态被确定为处于排空状态,则延迟远程时间点快照副本关系的建立,其中,在接收到所述本地-远程对建立命令时,处于排空状态中的包括第二和第四数据单元中的至少一个的一致性组正在主动形成。
10.根据权利要求9所述的方法,其中,所述启动包括保留第二存储系统的资源以用于远程时间点快照副本关系的后续建立。
11.根据权利要求9所述的方法,其中,所述启动本地-远程时间点快速拷贝关系对还包括独立于一致性组形成过程的状态而建立本地时间点快速拷贝关系。
12.根据权利要求10所述的方法,其中所述多个状态还包括在排空状态的完成之后的增量完成状态,其中,如果一致性组形成过程的状态被确定为处于其中接收到所述本地-远程对建立命令的排空状态之后的增量完成状态,则终止本地-远程对的远程时间点快照副本关系的建立的延迟;并且
其中,如果一致性组形成过程的状态被确定为处于其中接收到所述本地-远程对建立命令的排空状态之后的增量完成状态,则启动本地-远程对时间点快照复制关系还包括使用为后续建立远程时间点快照复制关系而保留的第二存储系统的资源建立远程时间点快照复制关系。
13.根据权利要求10所述的方法,其中所述启动本地-远程时间点快照副本关系对还包括如果一致性组形成过程的状态被确定为处于其中接收到所述本地-远程对建立命令的空闲状态,则使用为远程时间点快照副本关系的后续建立而保留的第二存储系统的资源建立远程时间点快照副本关系。
14.根据权利要求13所述的方法,其中,所述启动本地-远程时间点快照副本关系对还包括在接收到所述本地-远程对建立命令时根据一致性组形成过程来确定快照副本序号,并且将为远程时间点快照副本关系的后续建立而预留的资源与所确定的快照副本序号相关联。
15.根据权利要求14所述的方法,其中,所述启动本地-远程时间点时间点拷贝关系对还包括将所建立的远程时间点时间点拷贝关系与所确定的时间点拷贝序号相关联,并且其中将一致性组序号与特定的一致性组形成过程相关联。
16.根据权利要求9所述的方法,其中,第一数据单元是第一卷,第二数据单元是第二卷。
17.一种用于与位于第一位置处的主机和主存储系统以及位于远离第一位置的第二位置处的辅存储系统一起使用的计算机可读存储介质,所述计算机可读存储介质具有与其一起实现的程序指令,所述程序指令可由存储系统的处理器执行以引起处理器操作,所述处理器操作包括:
将数据从存储在第一存储系统的存储单元中的第一数据单元异步地镜像到存储在第二存储系统的存储单元中的第二数据单元,以及将数据从存储在第一存储系统的存储单元中的第三数据单元异步地镜像到存储在第二存储系统的存储单元中的第四数据单元;
接收建立本地-远程快照副本关系对的本地-远程对建立命令,所述本地-远程快照副本关系对包括第一存储系统中的、从作为快照副本源的第一数据单元到作为快照副本目标的第三数据单元的本地时间点快照副本关系,并且包括第二存储系统中的从作为快照副本源的第二数据单元到作为快照副本目标的第四数据单元的远程时间点快照副本关系;以及
响应于所述本地-远程对建立命令而启动本地-远程时间点快照副本关系对,包括:
在接收到所述本地-远程对建立命令时,将一致性组形成过程的状态确定为多个状态中的至少一个,其中所述多个状态包括空闲状态和排空状态,其中,存在其中没有包括第二和第四数据单元的一致性组正在主动形成的空闲状态,并且其中,存在其中包括第二和第四数据单元中的至少一个的一致性组正在主动形成的排空状态;以及
如果一致性组形成过程的状态被确定为处于排空状态,则延迟远程时间点快照副本关系的建立,其中,在接收到所述本地-远程对建立命令时,处于排空状态中的包括第二和第四数据单元中的至少一个的一致性组正在主动形成。
18.根据权利要求17所述的计算机可读存储介质,其中,所述启动包括保留第二存储系统的资源以用于远程时间点快照副本关系的后续建立。
19.根据权利要求17所述的计算机可读存储介质,其中,所述启动本地-远程时间点快速拷贝关系对还包括独立于一致性组形成过程的状态而建立本地时间点快速拷贝关系。
20.根据权利要求18所述的计算机可读存储介质,其中所述多个状态还包括在排空状态的完成之后的增量完成状态,其中,如果一致性组形成过程的状态被确定为处于其中接收到所述本地-远程对建立命令的排空状态之后的增量完成状态,则终止本地-远程对的远程时间点快照副本关系的建立的延迟;并且
其中,其中如果一致性组形成过程的状态被确定为处于其中接收到所述本地-远程对建立命令的排空状态之后的增量完成状态,则启动本地-远程对时间点快照复制关系还包括使用为后续建立远程时间点快照复制关系而保留的第二存储系统的资源建立远程时间点快照复制关系。
21.根据权利要求18所述的计算机可读存储介质,其中所述启动本地-远程时间点快照副本关系对还包括如果一致性组形成过程的状态被确定为处于其中接收到所述本地-远程对建立命令的空闲状态,则使用为远程时间点快照副本关系的后续建立而保留的第二存储系统的资源建立远程时间点快照副本关系。
22.根据权利要求21所述的计算机可读存储介质,其中,所述启动本地-远程时间点快照副本关系对还包括在接收到所述本地-远程对建立命令时根据一致性组形成过程来确定快照副本序号,并且将为远程时间点快照副本关系的后续建立而预留的资源与所确定的快照副本序号相关联。
23.根据权利要求22所述的计算机可读存储介质,其中,所述启动本地-远程时间点时间点拷贝关系对还包括将所建立的远程时间点时间点拷贝关系与所确定的时间点拷贝序号相关联,并且其中将一致性组序号与特定的一致性组形成过程相关联。
24.根据权利要求17所述的计算机可读存储介质,其中,第一数据单元是第一卷,第二数据单元是第二卷。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/663,727 | 2017-07-29 | ||
US15/663,727 US10223210B2 (en) | 2017-07-29 | 2017-07-29 | Asynchronous local and remote generation of consistent point-in-time snap copies in consistency groups |
PCT/IB2018/055499 WO2019025902A1 (en) | 2017-07-29 | 2018-07-24 | LOCAL AND REMOTE ASYNCHRONOUS GENERATION OF COHERENT CONSISTENT PICTURE COPIES IN CONSISTENT GROUPS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110998538A CN110998538A (zh) | 2020-04-10 |
CN110998538B true CN110998538B (zh) | 2023-10-24 |
Family
ID=65137910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880049503.4A Active CN110998538B (zh) | 2017-07-29 | 2018-07-24 | 一致性组中一致性时间点快照副本的异步本地和远程生成 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10223210B2 (zh) |
JP (1) | JP7210537B2 (zh) |
CN (1) | CN110998538B (zh) |
DE (1) | DE112018003084B4 (zh) |
GB (1) | GB2578846B (zh) |
WO (1) | WO2019025902A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10229180B2 (en) * | 2017-06-01 | 2019-03-12 | International Business Machines Corporation | Consistent point-in-time copy of a consistent asynchronous mirror target without pausing a consistent asynchronous mirror copy |
US10783047B2 (en) * | 2018-09-06 | 2020-09-22 | International Business Machines Corporation | Forming a consistency group comprised of volumes maintained by one or more storage controllers |
US11099942B2 (en) * | 2019-03-21 | 2021-08-24 | International Business Machines Corporation | Archival to cloud storage while performing remote backup of data |
US11307944B2 (en) * | 2020-06-04 | 2022-04-19 | Hitachi, Ltd. | Automated failover for asynchronous remote copy |
US11740811B2 (en) | 2021-03-31 | 2023-08-29 | Netapp, Inc. | Reseeding a mediator of a cross-site storage solution |
US11550679B2 (en) | 2021-03-31 | 2023-01-10 | Netapp, Inc. | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system |
US11360867B1 (en) | 2021-03-31 | 2022-06-14 | Netapp, Inc. | Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event |
US11934670B2 (en) * | 2021-03-31 | 2024-03-19 | Netapp, Inc. | Performing various operations at the granularity of a consistency group within a cross-site storage solution |
US11481139B1 (en) | 2021-03-31 | 2022-10-25 | Netapp, Inc. | Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity |
US11709743B2 (en) | 2021-03-31 | 2023-07-25 | Netapp, Inc. | Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system |
US11409622B1 (en) | 2021-04-23 | 2022-08-09 | Netapp, Inc. | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator |
US11893261B2 (en) | 2021-05-05 | 2024-02-06 | Netapp, Inc. | Usage of OP logs to synchronize across primary and secondary storage clusters of a cross-site distributed storage system and lightweight OP logging |
CN113268311B (zh) * | 2021-05-12 | 2024-01-12 | 西安交通大学 | 基于用时感知的虚拟机群高效快照方法 |
US11537314B1 (en) * | 2021-10-07 | 2022-12-27 | Netapp, Inc. | Resynchronization of individual volumes of a consistency group (CG) within a cross-site storage solution while maintaining synchronization of other volumes of the CG |
US11892982B2 (en) | 2021-10-20 | 2024-02-06 | Netapp, Inc. | Facilitating immediate performance of volume resynchronization with the use of passive cache entries |
US11907562B2 (en) | 2022-07-11 | 2024-02-20 | Netapp, Inc. | Methods and storage nodes to decrease delay in resuming input output (I/O) operations after a non-disruptive event for a storage object of a distributed storage system by utilizing asynchronous inflight replay of the I/O operations |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101889268A (zh) * | 2007-12-06 | 2010-11-17 | 国际商业机器公司 | 判定是否使用存储库来存储在重新同步期间更新的数据 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253295B1 (en) * | 1998-07-20 | 2001-06-26 | International Business Machines Corporation | System and method for enabling pair-pair remote copy storage volumes to mirror data in another pair of storage volumes |
JP4942418B2 (ja) * | 2006-08-04 | 2012-05-30 | 株式会社日立製作所 | 計算機システム及びそのスナップショット作成方法 |
JP5156518B2 (ja) | 2008-07-23 | 2013-03-06 | 株式会社日立製作所 | 記憶制御装置及び方法 |
US8819362B1 (en) | 2009-03-26 | 2014-08-26 | Emc Corporation | Managing replication and reservations |
CN102012789B (zh) * | 2009-09-07 | 2014-03-12 | 云端容灾有限公司 | 集中管理式备份容灾系统 |
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 |
US8335766B2 (en) * | 2010-12-14 | 2012-12-18 | International Business Machines Corporation | Flash-copying within asynchronous mirroring environment |
CN102385543A (zh) * | 2011-12-22 | 2012-03-21 | 创新科存储技术(深圳)有限公司 | 一种异步镜像方法 |
US20150081628A1 (en) | 2013-09-17 | 2015-03-19 | International Business Machines Corporation | Flashcopy reservation for flashcopy onto a synchronously-mirrored source |
US9575800B2 (en) * | 2014-05-13 | 2017-02-21 | International Business Machines Corporation | Using queues corresponding to attribute values and priorities associated with units of work and sub-units of the unit of work to select the units of work and their sub-units to process |
US9727262B2 (en) * | 2015-12-28 | 2017-08-08 | Netapp, Inc. | Low overhead resynchronization snapshot creation and utilization |
-
2017
- 2017-07-29 US US15/663,727 patent/US10223210B2/en not_active Expired - Fee Related
-
2018
- 2018-07-24 WO PCT/IB2018/055499 patent/WO2019025902A1/en active Application Filing
- 2018-07-24 CN CN201880049503.4A patent/CN110998538B/zh active Active
- 2018-07-24 DE DE112018003084.9T patent/DE112018003084B4/de active Active
- 2018-07-24 GB GB2000451.1A patent/GB2578846B/en active Active
- 2018-07-24 JP JP2020503267A patent/JP7210537B2/ja active Active
-
2019
- 2019-02-05 US US16/268,407 patent/US10733060B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101889268A (zh) * | 2007-12-06 | 2010-11-17 | 国际商业机器公司 | 判定是否使用存储库来存储在重新同步期间更新的数据 |
Also Published As
Publication number | Publication date |
---|---|
DE112018003084T5 (de) | 2020-03-05 |
DE112018003084B4 (de) | 2020-10-08 |
US20190034286A1 (en) | 2019-01-31 |
GB202000451D0 (en) | 2020-02-26 |
CN110998538A (zh) | 2020-04-10 |
US10223210B2 (en) | 2019-03-05 |
JP2020528618A (ja) | 2020-09-24 |
US10733060B2 (en) | 2020-08-04 |
WO2019025902A1 (en) | 2019-02-07 |
US20190171528A1 (en) | 2019-06-06 |
GB2578846B (en) | 2020-10-21 |
GB2578846A (en) | 2020-05-27 |
JP7210537B2 (ja) | 2023-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110998538B (zh) | 一致性组中一致性时间点快照副本的异步本地和远程生成 | |
CN110023912B (zh) | 异步本地和远程生成一致的时间点快照拷贝 | |
US10956289B2 (en) | Switching over from using a first primary storage to using a second primary storage when the first primary storage is in a mirror relationship | |
US10146453B2 (en) | Data migration using multi-storage volume swap | |
US10824364B2 (en) | Point-in-time snap copy on asynchronous consistency group management | |
US11347604B2 (en) | Point-in-time snap copy withdrawal management | |
US10324801B2 (en) | Storage unit replacement using point-in-time snap copy | |
US11119687B2 (en) | Device reservation state synchronization in data mirroring | |
US10289322B2 (en) | Delayed consistent point-in-time copy from a secondary volume of a consistent asynchronous mirror copy | |
US10613946B2 (en) | Device reservation management for overcoming communication path disruptions | |
US11221955B2 (en) | Metadata track selection switching in a data storage system | |
CN111684407B (zh) | 多个数据存储系统中的同步安全数据提交扫描 | |
US11468091B2 (en) | Maintaining consistency of asynchronous replication | |
US10528593B2 (en) | Consistent point-in-time copy of a consistent asynchronous mirror target without pausing a consistent asynchronous mirror copy | |
US10936194B2 (en) | Storage device status management for conflict avoidance in a data storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |