CN1242333C - 数据管理方法、数据异步镜像方法和数据存储系统 - Google Patents

数据管理方法、数据异步镜像方法和数据存储系统 Download PDF

Info

Publication number
CN1242333C
CN1242333C CNB03127403XA CN03127403A CN1242333C CN 1242333 C CN1242333 C CN 1242333C CN B03127403X A CNB03127403X A CN B03127403XA CN 03127403 A CN03127403 A CN 03127403A CN 1242333 C CN1242333 C CN 1242333C
Authority
CN
China
Prior art keywords
label
time
data object
data
buffer
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.)
Expired - Fee Related
Application number
CNB03127403XA
Other languages
English (en)
Other versions
CN1495612A (zh
Inventor
罗伯特·V.·吉纳
罗纳德·M.·克恩
格里戈里·E.·麦克布莱德
威廉·F.·麦卡
杰弗里·M.·尼克
拉里·R.·佩里
戴维·B.·比德森
戴维·M.·沙克埃弗德
哈罗德·G.·斯通
哈里·M.·尤登弗兰德
道格拉斯·M.·左布瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1495612A publication Critical patent/CN1495612A/zh
Application granted granted Critical
Publication of CN1242333C publication Critical patent/CN1242333C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2064Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2071Error 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/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2071Error 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/2076Synchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

用时间标签管理数据的方法包括在缓存器存储数据对象,在主存储器存储非缓存数据对象;针对主存储器中每个数据对象,向主存储器写入表示其存储数据对象的时间的当前时间标签;针对缓存器中每个数据对象,向缓存器写入对应于数据对象、表示其存储数据对象的时间的初始时间标签;将缓存器的数据对象和对应的等于初始时间标签加指定时间增量的提前时间标签写入主存储器;响应对主存储器中识别的数据对象应用预定一致性组形成例程的请求,针对每个数据对象,读取对应于识别的数据对象的提前时间标签,从中减去时间增量以计算恢复时间标签,接着结合恢复时间标签对识别的数据对象应用所述例程。

Description

数据管理方法、数据异步镜像方法和数据存储系统
技术领域
本发明涉及异步数据镜像系统。更具体地,本发明的一个方面涉及临时缓存用于在主存储子系统中存储的数据,以便在不牺牲时间标签信息的情况下在辅助存储子系统上进行异步镜像的方法。
背景技术
对于许多在主站点上更新和存储数据的企业、政府和其它计算机用户,有必要在物理上远离主站点的辅助站点上保存数据的备份复本。这允许在出现损坏或破坏主站点上数据的设备故障或其它灾难(例如火灾或爆炸)的情况下,从辅助站点恢复数据。将数据复制到远程辅助站点以作为用于灾难恢复的备份的技术被称作数据影像(datashadowing),数据镜像,数据双工(data duplexing)或远程复制。为了能够在灾难之后精确恢复数据库,必须在辅助站点上按照顺序保存可以包含数据库日志数据和数据库表数据的数据,所述辅助站点上数据的顺序与主站点上数据的顺序符合。这被称作保持数据一致性。并且,通常期望因使用数据影像而在主站点上产生的性能退化最小。
2个主要类别的远程数据影像被称作″同步″数据影像和″异步″数据影像。对于同步数据影像,在允许下一个更新被写入主站点上的存储器中之前,任何指定数据更新均被存储在主站点和辅助站点上。于是,辅助站点上的数据与主站点上的数据同步更新。数据更新可以包含新或更新的数据对象,例如记录、记录集合、文件、链接表或任何其他数据结构。
国际商用机器公司(IBM)的端到端远程复制(PPRC)设施是同步远程数据影像系统的例子。对于PPRC,按照与主站点上数据相同的顺序更新远程辅助站点上的数据,因此辅助站点上的数据与主站点上的数据自然保持同步。当运行在主站点的主机上的应用程序向主站点上的直接访问存储设备(DASD)的卷(volume)中写入数据更新时,主站点上的存储控制器在主站点上的DASD中存储更新。主站点上的存储控制器还向辅助站点上的辅助存储控制器传递更新,以便存储在辅助站点上的DASD卷中。接着,辅助存储控制器通知主存储控制器:辅助存储控制器已经接收更新,并且接着主存储控制器通知主站点主机:更新已经完全。因此,在数据更新之后,下一个事务或输入/输出(I/O)的处理被延迟,因为主存储控制器不通知主站点主机更新完成,直到主存储控制器从辅助存储控制器接收到有关辅助存储控制器已经接收更新的确认。主站点和辅助站点之间的距离越大,则这个延迟也越大,并且这个延迟将主站点和辅助站点之间的最大距离限制到大约40千米。
与同步数据影像相反,对于异步数据影像,在任何数据更新被发送到辅助存储站点之前,可以将不止一个数据更新写入到主站点上的存储器。于是,对于异步数据影像,辅助站点上的数据更新通常以相对主站点上的更新为异步的方式进行。
IBM的扩展远程复制(XRC)设施是异步远程数据影像系统的例子。对于XRC设施,当在主站点主机上运行的应用程序向主站点上存储控制器发送请求以便在主站点的DASD上的卷中存储数据更新时,存储控制器在DASD中存储更新,并且还在主站点存储控制器的副文件中存储数据更新。存储控制器可以具有一或多个副文件,每个副文件对应于一个″控制器会话″。使用时间标签存储每个数据更新,所述时间标签标识主机应用程序请求存储数据更新的时间。当其被存储在辅助站点上时,时间标签允许按照顺序一致的次序将数据更新放在副文件中,并且将其它数据更新放在其它副文件中。XRC使用″系统数据移动器″服务器,该服务器运行从主站点的一或多个存储控制器中的副文件收集一组数据更新的程序。通过使用时间标签,数据移动器将更新放在顺序一致的组中,该组被称作″一致性组″。对应于XRC从其收集数据以形成一致性组的副文件的存储控制器会话组被称作XRC″会话″。
一致性组是数据更新组,因为它们在相同时间间隔内出现,所以将它们组合在一起。为了利于形成一致性组,在存储控制器中保存每个控制器会话的最近时间标签。当形成一致性组时,XRC忽略来自在规定时间,例如一秒内没有任何数据更新的控制器会话(被称作″空闲″控制器会话)的时间标签。数据移动器重复地形成数据更新一致性组,并且接着向辅助站点上的存储控制器发送数据更新一致性组。辅助站点上的存储控制器接收每个一致性组中的数据更新,并且按照顺序一致的次序在辅助站点的DASD的卷中存储它们。作为使用一致性组的结果,按照与主站点上的DASD相同的顺序更新辅助站点上的DASD。在1998年3月31日提交、标题为″使用远程数据双工的自描述数据对象形成一致性组(Forming Consistency Groups Using Self-describing Data Objects For Remote Data Duplexing)″的美国专利5,734,818,和2001年10月9日提交、标题为″多环境数据一致性(Multi-environment Data Consistency)″的美国专利6,301,643中描述了形成一致性组的技术和其它相关信息,这里完整地参考引用了所述专利。
利用XRC,主存储控制器在其从主机接收更新之后不久便通知主机数据更新已经完成,其中不需等待任何来自辅助站点的通信。因此,在向主存储控制器发送数据更新之后不久,主站点主机便有时间处理下一个事务或I/O。
因此,诸如XRC的异步远程数据影像系统可以提供优于诸如PPRC的同步远程数据影像系统的性能。虽然诸如XRC的系统具有广泛用途并且在今天取得了广泛的商业成功,然而IBM工程师仍然在寻求改进这种远程数据影像系统的性能和效率。在这点上,我们正不懈地寻求改进数据影像的速度和效率。
发明内容
概括地讲,本提供发明的一个方面涉及临时缓存用于在主存储子系统中存储的数据,以便不牺牲时间标签信息地在辅助存储子系统上进行异步镜像的方法。在系统中执行这个方法,所述系统包含主机,连接到主机的主存储子系统,与主机相连但与主存储系统分离的缓存器,辅助存储子系统,和连接主存储子系统和辅助存储子系统的数据移动器。
主机指定、接收或识别用于主存储子系统中的存储的各个数据对象。主机使用初始时间标签在缓存器中存储某些识别的数据对象,所述初始时间标签与缓存器中的存储时间相关。对于其它数据对象,主机将它们直接发送到主子系统以进行存储,并且主存储系统通过存储这些数据对象和当前时间标签作出响应,其中当前时间标签与主存储子系统中进行存储的时间相关。
在预定调度下,主机将缓存数据对象发送(″降级″)到主子系统以便在其中进行存储,并且还向主存储子系统发送命令以便存储每个数据对象和提前时间标签,所述提前时间标签包括被增加一个预定余量的初始时间标签,所述预定余量的量值足够使加上该量值的初始时间标签被识别为提前时间标签。之后,当收集来自主存储器的数据以便在辅助存储子系统上存储时,可以根据提前时间标签重构初始时间标签。
本发明提供了一种使用时间标签管理数据的方法,该方法包括以下操作:在缓存器中存储某些数据对象,并且在主存储器中存储其它非缓存数据对象;针对主存储器中存储的每个数据对象,向主存储器写入当前时间标签,其中当前时间标签表示数据对象被存储在主存储器的时间;针对缓存器中存储的每个数据对象,在缓存器中放入对应于数据对象的初始时间标签,初始时间标签表示数据对象被存储在缓存器的时间;将来自缓存器的数据对象和对应的提前时间标签写入主存储器,其中每个提前时间标签均等于初始时间标签加上指定时间增量;响应对主存储器中识别的数据对象应用预定一致性组形成例程的请求,针对每个数据对象,读取对应于识别的数据对象的提前时间标签,并且从中减去时间增量以计算恢复时间标签,接着结合恢复时间标签而不是提前时间标签对识别的数据对象应用所述例程。
本发明提供了一种在存储于主存储子系统之前临时缓存数据以便不牺牲时间标签信息地在辅助存储子系统上进行异步镜像的方法,在一系统中执行所述方法,该系统包含主机,连接到主机的主存储子系统,连接到主机并且与主存储子系统分离的缓存器,辅助存储子系统,和连接主存储子系统和辅助存储子系统的数据移动器,所述方法包括操作:主机识别要在主存储子系统中存储的各种数据对象;主机在缓存器中存储某些识别的数据对象,以及涉及缓存器中的存储的时间的初始时间标签;主机向主存储子系统发送其它识别的数据对象以便在其中存储,而主存储子系统通过存储其它数据对象和涉及主存储子系统中的存储的时间的当前时间标签来作出响应;根据预定调度,主机将缓存数据对象发送到主存储子系统以便在其中进行存储,并且还包含使主存储子系统存储每个数据对象和提前时间标签的命令,所述提前时间标签包括与数据对象相关、加上预定余量的初始时间标签,所述预定余量具有足够使得加上该预定余量的初始时间标签被识别为提前时间标签的量值,和允许根据提前时间标签导出初始时间标签的量值。
本发明提供了一种数据存储系统,包括:缓存器;主存储器;主机,被编程以便执行以下操作:在缓存器中存储某些数据对象,并且在主存储器中存储某些数据对象;针对缓存器中存储的每个数据对象,在缓存器中放入对应于数据对象的初始时间标签,初始时间标签表示数据对象被存储在缓存器的时间;将来自缓存器的数据对象和对应的提前时间标签写入主存储器,其中每个提前时间标签均等于初始时间标签加上指定时间增量;主存储器,被编程以便执行以下操作:针对主存储器中存储的每个数据对象,向主存储器写入当前时间标签,其中当前时间标签表示数据对象被存储在主存储器的时间;数据移动器,被编程以便执行操作,所述操作包括:响应对主存储器中识别的数据对象应用预定一致性组形成例程的请求,针对每个数据对象,读取对应于从副文件识别的数据对象的提前时间标签,并且从中减去时间增量以计算恢复时间标签,接着结合恢复时间标签而不是提前时间标签对识别的数据对象应用所述例程。
本发明提供了一种数据存储系统,被构造成临时缓存等待存储于主存储子系统的数据以便不牺牲时间标签信息地在辅助存储子系统上进行异步镜像,包括:主机;连接到主机的主存储子系统;缓存器,连接到主机并且与主存储子系统分离;辅助存储子系统;数据移动器,连接主存储子系统和辅助存储子系统;其中主机,主存储子系统和数据移动器被编程以执行以下操作:主机识别要在主存储子系统中存储的各种数据对象;主机在缓存器中存储某些识别的数据对象,以及涉及缓存器中的存储的时间的初始时间标签;主机向主存储子系统发送其它识别的数据对象以便在其中存储,而主存储子系统通过存储其它数据对象和涉及主存储子系统中的存储的时间的当前时间标签来作出响应;根据预定调度,主机将缓存数据对象发送到主存储子系统以便进行存储,并且还包含使主存储子系统存储每个数据对象和提前时间标签的命令,所述提前时间标签包括与数据对象相关、加上预定余量的初始时间标签,所述预定余量具有足够使得加上该预定余量的初始时间标签被识别为提前时间标签的量值,和允许根据提前时间标签导出初始时间标签的量值。
本发明提供了一种数据存储系统,包括:缓存器;主存储器;主机装置,用于执行以下操作:在缓存器中存储某些数据对象,并且在主存储器中存储某些数据对象;针对缓存器中存储的每个数据对象,在缓存器中放入对应于数据对象的初始时间标签,初始时间标签表示数据对象被存储在缓存器的时间;将来自缓存器的数据对象和对应的提前时间标签写入主存储器,其中每个提前时间标签均等于初始时间标签加上指定时间增量;主存储器中的主控制器,用于执行操作,所述操作包括针对主存储器中存储的每个数据对象,向主存储器写入当前时间标签,其中当前时间标签表示数据对象被存储在主存储器的时间;数据移动器装置,用于执行操作,所述操作包括响应对主存储器中识别的数据对象应用预定一致性组形成例程的请求,针对每个数据对象,读取对应于从副文件识别的数据对象的提前时间标签,并且从中减去时间增量以计算恢复时间标签,接着结合恢复时间标签而不是提前时间标签对识别的数据对象应用所述例程。
本发明的系统为用户提供了若干不同的优点。主要地,该系统通过在缓存器中快速存储数据对象提供了性能优点。通过在数据对象被更新并且被写入缓存器时保存时间标签信息,实现了另一个优点。所公开的系统利于按照顺序一致的次序维护缓存和非缓存数据对象,即使在缓存数据对象被写入主存储器之前将与缓存数据对象相关的数据对象写入主存储器也是如此。本发明还提供了通过以下描述可以理解的若干其它优点和益处。
附图说明
图1-4示出了基于不同图解实施例的数据存储系统的硬件部件和互连的模块图。
图5是数字数据处理机的模块图。
图6示出了示例性的信号承载介质。
图7A、7B和7C是用于临时缓存用于在主子系统中存储的数据,以便不牺牲时间标签信息地在辅助存储子系统上进行异步镜像的示例性序列的流程图。
具体实施方式
在阅读以下结合附图的详细描述之后,本领域的技术人员可以更加理解本发明的性质、目的和优点。
涉及使用异步数据镜像系统中的缓存器的假定问题
如上所述,诸如XRC的异步远程数据影像系统通常可以提供优于诸如PPRC的同步远程数据影像系统的性能。为了寻求进一步改进使用XRC时的性能,发明人考虑了创新并且先前未预见到的思路,其中使用远程数据影像环境中的主机级别缓存器,以便在向主站点上的DASD卷写入缓存数据更新之前在缓存器中临时存储某些数据更新。高速缓存通常被用在主数据存储子系统和辅助数据存储子系统内,但是发明人发现:使用主机级别缓存器(即可被与主存储子系统分离的主机访问)具有各种问题。例如,在保持缓存器中临时存储的数据与直接写入主存储器的其它数据之间的顺序一致的次序方面,会存在大量问题,尤其在该数据与缓存器中存储的数据相关时。
基于磁盘的远程数据影像系统(例如XRC)需要在数据被发送到辅助站点之前将数据写到主站点上的卷中。因此,不能直接从缓存器镜像数据。通过按照其被提供到主卷的次序向辅助卷提供数据更新,XRC保持主站点主卷上的数据与辅助站点辅助卷上的数据之间的顺序一致的次序。主卷内的数据也必须保持顺序一致的次序。在本发明之前的系统中,通过始终在相关数据被写入主存储器之前向主存储器写入其它数据所相关于的数据来达到所述目的。
发明人发现,如果某些数据被临时存储在主机(主存储子系统之上的另一个层次)的缓存器中,则缓存数据不会相对直接写入主卷的其它数据保持顺序一致的次序。由于在缓存数据处于缓存器中的同时其它数据会被直接写入主卷,当缓存数据随后被写入主卷时,缓存数据会相对直接写入主卷的数据具有错误次序。更具体地,因为缓存器中临时存储的数据必须在以后被写入主卷,并且执行针对主卷的写入的已知I/O例程始终创建具有数据被写入主卷的时间的时间标签,因此不会保持顺序一致的次序。于是对于先前缓存的数据,会丢失应用程序更新数据和缓存器中最初存储数据的时间。
作为更加具体的例子,在IBM的XRC产品中,主机使用被称作″START I/O EXIT″的主机操作系统子部件将数据写到主存储器。无论被写入的数据的来源如何(主机应用程序,或发明人提及的主机级别缓存器),START I/O EXIT例程均向被发送到主存储子系统上磁盘存储控制器的命令中包含的元数据字段插入系统时间标签(执行START I/O EXIT例程的时间)。于是,主存储控制器将这个系统时间标签(即,执行退出程序的时间)与来自缓存器的数据对象相关。于是,与已经存储在缓存器中的数据对象相关的时间标签会指示缓存数据对象被写入主存储器的时间,而不是数据对象被应用程序更新并且写入缓存器的较早时间。因此,由于与缓存数据对象相关的时间标签不会精确指示缓存数据对象被更新的时间,在主存储器中不必按照与其它数据对象顺序一致的次序保存缓存数据对象,其中所述其它数据对象相关于缓存数据对象并且被直接写入主存储器。当XRC数据移动器从主存储器向辅助存储器发送数据时,在数据上会无法观察到顺序一致的次序。
发明人还发现,如果没有任何措施保证在以后从副文件将主存储器中的数据更新组合到一致性组并且发送到辅助存储器时将缓存器数据更新写入主存储器,则也可能丢失顺序一致的次序。如果缓存器包含任何在对应于一致性组的时间间隔期间更新的数据,并且如果当XRC形成一致性组时该缓存数据没有被写入主存储器,则缓存数据会被保留在一致性组之外。因此,缓存器中的数据不会与其它数据保持顺序一致的次序。
因此,在将缓存器用于远程数据影像系统时需要克服若干挑战和困难。为了在远程数据影像系统中实现某些性能改进,本发明人介绍下面描述的提出和克服这些挑战的进展。
硬件部件和互连
数据存储系统结构
第一例子
本发明的一个方面涉及被构造成提供改进性能的数据存储系统。作为一个例子,图1示出了可以通过各种硬件部件和互连实现的系统100。更具体地,系统100包含集簇子系统102,主存储子系统104,辅助存储子系统106和数据移动器108。
集簇子系统102位于主站点109上。集簇子系统102包含也被称作″主机″的主计算机110、112、114。主机110、112、114与主机链路116互连,主机链路116可以包括例如连接链路,内部连接通道,集成集簇总线或其它适当链路。不是象图解的例子中那样使用3个主机110、112、114,在可选实施例中,可以使用1个、2个、4个或更多的主机。
通过数字处理单元,例如大型计算机、计算机工作站、服务器计算机、个人计算机、超级计算机、微处理器或其它适当的机器实现各个主机110、112、114。可以通过相同(或不同)类型的数字处理单元实现各个主机110、112、114。在一个具体例子中,主机110、112、114均包括在z操作系统(z/OS)上运行的IBM zSeries Parallel Sysplex服务器,例如zSeries 900。适当数字处理单元的另一个例子是运行OS/390的IBM S/390服务器。主机110、112、114运行一或多个产生数据对象的应用程序,所述数据对象被存储在主机外部的主存储子系统104中。可选地,数据对象可以被存储在一或多个主机110、112、114的内部。数据对象可以包括新数据或对旧数据的更新。″更新″也可以被用来针对为在主子系统104中存储而接收的任何数据项。主机应用程序可以包含例如IMS和DB2。主机110、112、114运行包含下面讨论的相应I/O例程115a、115b、115c的软件。作为一个例子,I/O例程115a、115b、115c可以包括在主机110、112、114上运行的操作系统的子部件,例如主机操作系统的START I/O EXIT例程。
集簇子系统102也包含定时器118,定时器118连接到各个主机110、112、114,以便与主机110、112、114的定时同步。在一个例子中,定时器118是IBM Sysplex定时器。可选地,可以省略分立定时器118,在这种情况下主机110、112、114中的一个内的定时器被用来同步主机110、112、114的定时。
集簇子系统102还包含连接设施120,连接设施120通过相应连接器122、124、126被连接到各个主机110、112、114。连接器122、124、126可以是例如系统间连接(ISC)或内部连接总线(ICB)连接器。连接设施120包含被主机110、112、114共享的缓冲存储器128(″缓存器″),并且还包含处理器130。在一个具体例子中,连接设施120是IBM z900 model 100连接设施。其它适当连接设施的例子包含IBMmodel 9674 C04和C05,以及IBM model 9672 R06。可选地,连接设施120可以被包含在服务器,例如主机110、112、114中的一个内。作为一个例子,某些适于这个可选实施例的服务器包含IBM z900和S/390服务器,该服务器具有内部连接设施或充当连接设施的逻辑分区。可选地,可以通过任何其他适当的服务器实现连接设施120。作为一个例子,连接设施120中的处理器130可以运行z/OS。可选地,可以使用任何适当的共享存储器而不是连接设施120。
虽然在主存储子系统和辅助存储子系统104、106中使用缓存器(未示出),然而缓存器128是不同的。它是主机级别缓存器,因为主机110、112、114可以独立于主存储子系统104地访问它。缓存器128不在子系统104的控制下。而是,缓存器128包括另一个类似于子系统104、在主机110、112、114的控制下的单元,并且必要时甚至可以被包含在主机中。
位于主站点109上的主存储子系统104包含连接到主存储器136和主机110、112、114的主(存储)控制器134。在图解的例子中,主控制器134具有第一副文件138和第二副文件140。可选地,主控制器134可以具有唯一的单独副文件,或者可以具有多于2个的副文件。在其它可选实施例中,主存储子系统104包含一或多个连接到主机110、112、114,主存储器136或附加主存储器的附加存储控制器(未示出)。各个附加存储控制器可以具有一或多个副文件。
在图解的例子中,主机110、112、114均通过相应链路,例如ESCON(企业顺序连接)或FICON链路142、144、146连接到主控制器134。在可选实施例中,主机110、112、114也连接到辅助控制器148。
位于辅助站点152上的辅助存储子系统106包含被连接到辅助存储器154的辅助存储控制器148。可选地,附加存储控制器和/或附加存储器可以被包含在辅助存储子系统106中。
可以通过任何类型的非易失数据存储器,例如一或多个使用磁性或光学存储器(例如RAMAC单元、RAID阵列、″硬盘驱动器″、CD-ROM、WORM、DVD、数字光带、电池支持电路存储器或磁带)来实现各个主存储器136和辅助存储器154。
在一个例子中,主存储子系统104和辅助存储子系统106均包括IBM 2105企业存储服务器。在另一个例子中,主存储子系统104和辅助存储子系统106均包含连接到IBM model 3390 RAMAC存储器的IBM 3990 model 6存储控制器。可以通过不同于主存储子系统104的硬件实现辅助存储子系统106。例如,可以通过不同但几何(geometrically)与主存储器136兼容的存储器硬件实现辅助存储器154。几何兼容的例子是各个磁盘在每个轨道中具有50千字节。可选地,辅助存储器154可以与主存储器136几何不兼容,在这种情况下重新格式化数据以保持顺序一致的次序。在主站点和辅助站点上卷序号和DASD地址可以相同或不同。
在图1的图解例子中,数据移动器108位于辅助站点152上。主控制器134通过链路156被连接到数据移动器108。在图解的例子中,链路156是扩展链路,包括连接到第一通道扩展器160的第一ESCON或FICON链路158,通信链路162,第二通道扩展器164和第二ESCON或FICON链路166。主控制器134被连接到第一ESCON或FICON链路158,数据移动器108被连接到第二ESCON或FICON链路166。通信链路162可以包含例如导线,电缆、光纤线,无线链路,卫星链路或电话线,并且可以通过例如DS1、DS3或OC48实现。在可选实施例中,链路156是ESCON或FICON链路,或其它适当的链路。ESCON链路可以被用于高达大约60千米的距离,FICON链路可以被用于更长的距离,例如高达大约100千米的距离,而扩展链路可以被用于更大的距离,例如数百或数千千米的距离。数据移动器108也通过任何类型的适当连接,例如ESCON或FICON链路连接到辅助控制器148。
作为一个例子,可以通过IBM zSeries服务器实现数据移动器108。然而,通常可以使用任何足够强力的数字数据处理设备。在图解的例子中,数据移动器108包含日志168,并且数据移动器108和日志168均位于辅助站点152上。日志168包括非易失存储器,例如一或多个RAMAC单元、RAID阵列、″硬盘驱动器″、CD-ROM、WORM、DVD或其它类型的DASD。可选地,可以省略日志168。
第二例子
在图2示出的可选系统200中,数据移动器202不包含日志。在图2中,数据移动器202位于主站点109上,并且分立的日志204位于辅助站点152上。在这个可选实施例中,数据移动器202通过链路206被连接到日志204。数据移动器202也被连接到主控制器134。在一个例子中,链路206包括如上所述的扩展链路。在另一个实施例中,链路206是ESCON或FICON链路,或其它适当的链路。日志204被连接到辅助控制器148。可选地,日志204被省略,并且数据移动器202被直接连接到辅助控制器148。
第三例子
在图3示出的另一个可选系统300中,数据移动器302位于第三站点304上。在这个可选实施例中,数据移动器302通过诸如ESCON或FICON链路或扩展链路的链路306被连接到主控制器134。数据移动器302通过诸如ESCON或FICON链路或扩展链路的链路310被连接到日志308。日志308被连接到辅助控制器148。可选地,日志308可以位于第三站点304上,数据移动器302中或与数据移动器302分离。可选地,没有日志308,并且数据移动器302被直接连接到辅助控制器148。
第四例子
通过图4中的系统400图解了可选的例子。系统400包含主机402,缓存器404,主存储子系统406,辅助存储子系统408和数据移动器410。与图1中的系统100相反,在图4的系统400中,缓存器404不是连接设施的一部分,没有定时器,并且只有唯一一个主机402。并且,在系统400的图解例子中,主存储控制器412通过ESCON或FlCON链路414被连接到数据移动器410。然而系统400中的部件、连接和操作通常与系统100中的相同。在系统400的可选实施例中,定时器可以被连接到主机402。并且在可选实施例中,如前面参照图1所描述的,主控制器412可以通过扩展链路被连接到数据移动器410。
在图4的系统400中,主机402,缓存器404和主存储子系统406位于主站点416上。主存储子系统406包含被连接到主存储器418的主控制器412。主控制器412具有第一副文件419和第二副文件420。可选地,主控制器可以具有唯一的一个副文件,或者可以具有多于2个的副文件。主机402被连接到缓存器404和主控制器412。缓存器404可以被包含在主机402中,或者与主机402分离。辅助存储子系统408位于辅助站点421上。辅助存储子系统408包含被连接到辅助存储器424的辅助存储控制器422。数据移动器410被连接到主控制器412和辅助控制器422。在系统400的图解例子中,数据移动器410包含日志426,并且数据移动器410位于辅助站点421上。在可选实施例中,数据移动器410可以位于主站点416或第三站点(未示出)上,并且日志426可以位于主站点416或第三站点上,或者被完全省略。
数字数据处理设备
本发明的另一个方面涉及数字数据处理设备,其中数字数据处理设备可以被用来实现图1-4的系统的某些或全部数字数据处理实体,例如主机110、112、114、402,数据移动器108、410,主控制器134、412等等。
图5示出了一个数字数据处理设备500的例子。设备500包含连接到存储器504的处理器502,例如微处理器或其它处理机。在本例子中,存储器504包含快速存取存储器506以及非易失存储器508。快速存取存储器506可以包括随机访问存储器,并且可以被用来存储由处理器502执行的编程指令。非易失存储器508可以包括例如一或多个磁性数据存储盘(例如″硬盘驱动器″,光驱,磁带驱动器),或任何其他适当的存储设备。设备500还包含I/O 510,例如线路,总线,电缆,电磁链路,或其它被处理器502用来与设备500外部的位置交换数据的装置。
除上述具体描述之外,本领域技术人员(借助本发明的教导)通常能够发现,在不偏离本发明范围的情况下上述设备可以通过具有不同构造的机器实现。例如,可以省略快速访问存储器506或非易失存储器508;此外,可以在处理器502中提供存储器504,或者在设备500外部提供存储器504。
作为一个例子,数字数据处理设备500可以是IBM zSeries服务器。
操作
除了如上所述的各种硬件实施例之外,本发明的不同方面涉及临时缓存用于在主存储子系统中存储的数据,以便不牺牲时间标签信息地在辅助存储子系统上进行异步镜像的方法。
信号承载介质
在图1-5的环境中,例如通过操纵一或多个图解的主机、数据移动器和主控制器执行相应的机器可读指令序列可以实现这种方法,其中一或多个这样的部件由数字数据处理设备500实现。这些指令可以驻留在各种信号承载介质中。在这个方面,本发明的一个方面涉及信号承载介质,所述信号承载介质实际(tangibly)包含可被至少一个数字数据处理器执行以完成如这里描述的操作的机器可读指令程序。
这个信号承载介质可以包括例如在存储器504表示的相应设备内包含的RAM(未示出)。可选地,指令可以被包含在另一个信号承载介质中,例如图6示出的磁性数据存储盘600。无论是包含在存储器504、磁盘或其它地方,指令可以被存储在各种机器可读数据存储介质中,例如直接存取存储器(例如传统″硬盘驱动器″或RAID阵列),磁带,电子只读存储器(例如ROM、EPROM或EEPROM),光学存储装置(例如CD-ROM,WORM,DVD,数字光带),纸张″穿孔″卡或其它适当的信号承载介质,包含诸如数字和模拟通信链路和无线通信链路的传输介质。在本发明的图解实施例中,机器可读指令可以包括从诸如″C″等等的语言编译而成的软件对象代码。
总体操作序列
介绍
图7A、7B和7C示出了序列700,该序列图解了本发明的方法的一个例子。为了易于解释,在如上所述图1的系统100的环境中描述图7A-7C的例子,但本发明不限于此。
启动,配置
在步骤702启动序列700。在步骤703执行某些设置步骤,包含选择指定″时间增量″,并且还包含确定在将数据对象从缓存器降级到主存储器之间的指定″最大时间间隔″。下面更详细地讨论这些特征和涉及其数值选择的因素。例如可以由人员在设计,安装,编程,重新配置,启动或操作系统100时执行步骤703。
向缓存器和主存储器写入数据对象
响应于主机应用程序产生、接收、指定或识别存储器的数据更新而执行步骤704。虽然任何主机110、112、114上运行的任何主机应用程序均可以提供更新(也被称作数据对象),然而以主机110为例进行讨论。在步骤704中,主机110指示连接设施120在缓存器128中存储某些数据对象,并且指示主控制器134在主存储器136中存储其它数据对象。主机110可以例如通过向I/O例程115a发送数据来指示这种存储。虽然如序列所示,然而当其它数据对象到达或需要在子系统104中存储时,可以重复(未示出)步骤704。
此时缓存数据对象没有被存储在主存储器136中,因为以后的处理被用来使缓存数据对象降级到主存储器。通常,任何类型的数据对象均可以被存储在缓存器128中,并且任何类型的数据对象均可以被″直接″存储在主存储器136中(通过主控制器)。虽然全部数据对象在被写入主存储器136之前可以被存储在缓存器128中(并且没有数据对象被直接存储到主存储器136),然而在许多环境中这会需要规模难以控制地巨大的缓存器。
伴随在步骤704中存储在缓存器128中的各个数据对象,主机110还指示连接设施120存储对应于数据对象的初始时间标签(或者连接设施120自动地自存储这种时间标签)。初始时间标签表示数据对象被存储在缓存器128的时间。
作为一个例子,系统记录器(logger)设施通过在缓存器128中存储元数据可以完成这个步骤,其中元数据包含记录更新被放入缓存器128的实际时间。参照定时器118产生的系统时间可以确定日志更新的实际时间。
在步骤704中,随着存储在主存储器136中的各个数据对象,主机指示主控制器134存储与数据对象相关的当前时间标签。当前时间标签表示数据对象被存储在主存储器136的时间。作为一个例子,主机110可以通过调用START I/O EXIT例程来存储数据对象及其时间标签(步骤704),START I/O EXIT例程是z/OS或MVS操作系统的输入输出子系统(IOS)部件的一部分。START I/O EXIT例程在执行START I/O EXIT例程时从118得到系统时间标签,并且将这个时间标签插入被提供给主控制器134的I/O命令中包含的元数据字段,从而指示控制器134在存储器136中存储时间标签。″时间标签″包含任何指示顺序或次序的符号或编号,并且不局限于时间指示。
″数据对象″可以包括一或多个记录、数据结构、链接表、表格、位图、字节、页面、文件或其它数据构造。作为一个例子,主机在策略上可以使用缓存器128存储诸如z/OS记录器数据(也被称作日志数据)的数据对象,并且使用主存储器136存储诸如数据库表数据的数据对象。在这个例子中,例如通过XRC实现远程数据影像的系统通过使用系统记录器设施实现性能改进,所述系统记录器设施(快速)将记录器更新(logger update)写入连接设施120的缓存器128,而不是(慢速)将记录器更新″直接″写入主存储器136。系统记录器设施(未示出)可以包括例如在一或多个主机110、112、114上运行的软件。在本发明之前,在缓存器128中存储记录器数据更新会阻碍记录器更新与表格更新保持顺序一致的次序,其中表格更新被直接写入主存储器136,并且相关于缓存器中的记录器数据。然而本发明的一个方面利于使记录器数据与表格数据保持顺序一致的次序。
在另一个例子中,数据可以驻留在两个或更多开放文件系统中,其中来自一个文件系统的数据对象被临时存储在缓存器128中,而来自另一个文件系统并且相关于缓存数据对象的数据对象被直接写入主存储器136。
在另一个例子中,数据对象可以包括音频信息。在一个具体例子中,缓存器128中存储的数据对象来自一个音轨,而主存储器136中直接存储的数据对象来自另一个音轨。在另一个例子中,数据对象可以包括视频和音频信息,其中视频被存储在缓存器128中,而音频被直接写入主存储器136,反之亦然。
缓存器降级
介绍
在步骤705,主机110开始缓存器降级。通常,这需要主机110得到各个缓存数据对象和对应于数据对象的″提前″时间标签(下面描述),并且将它们发送到主控制器134以便在主存储器136中存储。控制器134通过向存储器136写入数据对象及其对应的提前时间标签来作出响应。
提前时间标签不与初始时间标签相同,但是可以根据提前时间标签导出初始时间标签。概括地讲,每个提前时间标签等于初始时间标签加上预定余量,所述预定余量的量值足够使加上该量值的初始时间标签被识别成提前时间标签,并且根据提前时间标签可以可靠地导出初始时间标签。例如,每个数据对象的提前时间标签可以等于其初始时间标签加上指定时间增量。下面进一步讨论涉及指定时间增量的选择的因素。
降级的调度
在步骤705,主机110询问缓存器128是否填满。根据应用程序的需要,″填满″可以被定义成完全填满,某个百分比的填满,与填满相差指定余量,等等。评估缓存器填满的程度,以便在调用主存储器136之前较长时间地缓存数据,从而利用缓存器的快速并避免主存储器136加重负担。
如果缓存器为″填满″,则步骤705前进到步骤710,步骤710开始将缓存器降级到主存储器136(如下所述)。另一方面,如果缓存器没有″填满″,则步骤705前进到步骤707,步骤707开始按照预定调度重复地向主存储器136发送数据对象的过程,所述数据对象或者是来自主机的数据对象(如果该数据对象已经被缓存),或者是空数据对象(如果缓存器为空)。
重复向主存储器136写入,使得发送任何2个数据对象之间的时间从不超过指定最大时间间隔。换言之,按照从不超过指定″最大时间间隔″的时间间隔将数据对象和对应的提前时间标签写入主存储器136。下面更详细地讨论前面的操作。
降级细节
如上所述,如果步骤705发现缓存为填满,则在步骤710发生降级。在一个实施例中,可以通过由主机110调用I/O例程115a来执行步骤710。然而对于每个数据对象,主机110还向I/O例程115a传递特殊命令,使得I/O例程115a发送具有提前时间标签而不是其初始时间标签的数据对象。
已知START I/O EXIT例程(实现成I/O例程115a)通常被用来从主机向主控制器134发送数据对象以便在136中存储,并且还发送指示调用I/O例程115a的时间的″普通″时间标签。然而,从主机110传递到I/O例程115a的特殊命令指示I/O例程115a发送具有其提前时间标签的数据对象以便被控制器134存储,而不是使用普通时间标签。作为一个例子,特殊命令可以包括诸如″定义范围″,″前缀″的IOS命令,或作为主机110和主控制器134之间通信协议的一部分的另一个命令。作为更加具体的例子,主机110可以向I/O例程115a传递参数,以指示I/O例程115a将对应的提前时间标签放到与针对主存储器136的写入相关的通道控制字(CCW)中。
在完成步骤710之后,通过将数据对象从缓存器128降级到主存储器136,主机可以从缓存器128删除数据对象以便为接收新数据对象而释放缓冲存储器。
使用提前时间标签的原因
现在对提前时间标签的使用进行一些说明。在缓存器128中和数据对象一起存储初始时间标签(即在缓存器128中更新和存储数据对象的时间)的原因是为了在以后数据对象被数据移动器108处理时,可以得到数据更新的实际时间。作为一个例子,当数据移动器108按照与其它数据对象顺序一致的次序放置数据对象时,这个时间会有用。用对应的提前时间标签替换初始时间标签(步骤710)的原因在于,利用初始时间标签对主存储器136的写入尝试会导致不期望的结果。也就是,在某些情况下会用一时间标签替换初始时间标签,所述时间标签不与数据对象被更新到和写入缓存器128的时间相关。于是,当以后处理数据对象时,会丢失初始时间标签。
更具体地,当主控制器134将数据对象写入主存储器136并且数据对象具有的时间标签早于主控制器的最后已知时间标签时,主控制器134忽略数据对象的现有时间标签,并且使用等于主控制器的最后已知时间标签加上少量时间的时间标签向主存储器136写入数据对象。这保证针对主控制器134的后继写入始终具有晚于较早写入的时间标签,从而避免了使用XRC算法形成一致性组时会出现的问题。然而,按照这种方式替换初始时间标签会导致损失表示在缓存器128中更新和存储数据的时间的初始时间标签,因为主控制器134写入的替换时间标签不会与初始时间标签相关。
步骤710使用提前时间标签避免了这个问题,其中保证提前时间标签晚于存储控制器会话的最后已知时间标签。并且,由于提前时间标签比初始时间标签多出指定的时间增量,可以容易地根据提前时间标签重构初始时间标签。也就是,以后数据移动器108在步骤722(下面讨论)可以从提前时间标签减去指定时间增量,从而计算恢复的时间标签,所述恢复的时间标签等于初始时间标签,并且在数据移动器108以后处理数据对象时可以使用。
选择时间增量
前面有关过程700的讨论足够表明时间增量具有更多的用途,现在针对步骤703提供某些附加解释。指定时间增量的最小时间存在若干约束。通常,增量必须足够得大,使得当检查主存储器136的内容时,数据移动器108可以区分提前时间标签和非提前时间标签。增量必须大于从在步骤704将数据对象写入缓存器128的时间,到在步骤710将数据对象写入主存储器136的时间的最大延迟,使得初始时间标签加上增量的总和(等于提前时间标签)大于当在步骤710将对应数据对象写入主存储器136时的系统时间标签。增量也必须大于从在步骤704将数据对象写入缓存器128的时间,到在步骤720(下面讨论)由数据移动器108确定时间标签是否提前时间标签的时间的最大延迟。换言之,初始时间标签加上增量的总和必须大于在执行步骤720时的系统时间标签。于是,可被用于基于前面2个约束的增量的最小值涉及缓存器128的容量,因为来自较小缓存器128的数据必须比来自较大缓存器128的数据更为频繁地被写入主存储器,以避免填满缓存器1 28。并且,增量必须大于I/O操作之间的最小时间(通常为一秒的千分之几)。增量也必须大于任何合理的空闲时间,其中在所述空闲时间内没有从应用程序写入更新。例如,在具体实现中,增量可以是秒的一部分,秒,分钟,小时,天,月,年,或任何其他满足这些约束的数值。如果增量过小,则会导致数据不一致性。通常,单独的数值被用于增量,虽然增量可以因时间标签而有所不同,只要增量的数值满足上述约束。作为一个例子,系统记录器设施向初始时间标签加入时间增量(例如24小时)以计算对应的提前时间标签,而提前时间标签被传递到主控制器134并且被存储成针对对应记录器数据对象的时间标签。在这个例子中,24小时被选择作为增量数值,因为在多数系统中24小时会满足上述全部约束,并且因为诸如24小时的较大数值利于识别提前时间标签。
缓存降级的频率
与前面的描述(其中步骤705发现缓存将被填满并且继续执行以在步骤710中将缓存数据对象写入存储器)相反,在缓存器没有填满的情况下,步骤705前进到步骤707。如上所述,过程700等待数据对象降级,直到缓存器填满,或直到″计数器″(下面描述)溢出。
在步骤707中,在查明缓存器128可能向主存储器发送任何数据对象之前,主机110进行等待,直到计数器(未示出)溢出。这个计数器每当经过预定间隔时便溢出,这个间隔被称作″最大时间间隔″。每当缓存数据被写入主存储器时,例如在步骤710、718、716中,复位计数器。例如,计数器可以包括在主机内部或可被主机访问的硬件或软件部件。
当计数器溢出时,执行步骤714。在步骤714中,主机110确定缓存器128是否含有任何尚未写入主存储器136的数据对象,即任何″未降级″数据对象。如果没有,则执行步骤716。在步骤716中,主机110指示主控制器134向主存储器136写入空数据对象和对应的提前时间标签。所谓的″空″数据对象可以包括只含有不具有任何数据的元数据“外壳(shell)”的数据对象,或含有预定模式或空内容等等的数据对象。空数据对象不具有初始时间标签,因为它不是真实数据对象,并且从不被缓存;于是,空数据对象的提前时间标签包括足够大的量值,以便可轻易被识别为提前时间标签而不是初始时间标签;例如,可以使用被加到定时器118的当前时间上的时间增量,或仅仅是时间增量。当在步骤716向主控制器发送空数据对象和时间标签之后,主机也清除计数器。对于每个被写入主存储器的空数据对象和对应的提前时间标签,主控制器134在步骤717将它们写入第一副文件。
与步骤716相反,如果步骤714确定缓存器128含有任何未降级的数据对象,则主机110(步骤718)指示主控制器134向主存储器136写入数据对象和对应的提前时间标签。当在步骤718向主控制器发送数据对象和时间标签之后,主机清除计数器。在步骤718之后,主控制器134向第一副文件138写入数据对象及其提前时间标签(步骤717)。
在步骤717之后,无论来自步骤716还是步骤718,控制均返回到步骤707以等待计数器再次溢出。步骤707保证以足够的速率重复执行步骤716、718中的一个,使得按照不超过指定最大时间间隔的时间间隔将数据对象(无论是否为空)和对应的提前时间标签写入主存储器136。
在可选实施例中,即使步骤714发现缓存器128中存在一或多个尚未写入主存储器136的附加数据对象,仍然可以延迟或跳过步骤718以便在缓存器中累积数据对象。在这种情况下,执行步骤716。然而如果允许按照这种方式累积更新,则在缓存器128的容量被超出时,会丢失数据。
选择最大时间间隔时考虑的因素
为了将缓存器中的数据对象包含在正确的一致性组中,指定最大时间间隔必须不长于某个数值,该数值等于数据移动器108形成一致性组所使用的最小组时间间隔,减去在数据对象被写入主存储器136之后第一主控制器134将数据对象(空或非空)和对应的时间标签写入第一副文件138所需的时间的任何变化。用于形成一致性组的组时间间隔可以有所不同,因为当存储控制器会话空闲时数据移动器108检查更新以形成一致性组所用的组时间间隔(例如每秒或每10秒),会大于存储控制器会话不空闲时所用的组时间间隔(例如每1/4秒)。另外,在主机110将数据对象和对应时间标签写入主存储器136之后,主控制器134将数据对象和对应时间标签写入第一副文件138之前,通常会有较小的延迟,例如秒的一部分。如果这个延迟对于每次写入均不一致,则在步骤703中,当确定指定最大时间间隔的数值时,将指定最大时间间隔的数值减去至少等于延迟的最大变化的量值,以保证数据对象和对应时间标签到主存储器136的后继写入(按照不大于最小组时间间隔的间隔),同样也被按照不大于最小组时间间隔的时间间隔写入第一副文件138。
副文件更新
在步骤712中,主控制器134识别在步骤712中被降级的数据对象,并且将这些数据对象及其提前时间标签存储到第一副文件138。同样地,并且也在步骤712中,主控制器134识别在步骤704存储在主存储器136中的数据对象,并且将这些数据对象及其当前时间标签存储到第二副文件140。这些操作可以分别发生,虽然根据图解它们共同发生在步骤712。
副文件处理
参照图7B,在步骤719中,数据移动器108接收处理第一副文件138中的数据对象(被称作″当前″数据对象)的请求。例如,可以从XRC程序的处理子部件接收这个请求,并且可以因此在数据移动器108内产生这个请求。如图所示,执行步骤719、720、728、730、722、724以处理第一副文件138。还根据需要重复这些步骤(未示出)以处理第二副文件140。然而为了便于讨论,有关步骤719、720、728、730、722的说明被限于第一副文件。
在步骤720中,数据移动器108确定第一副文件138中对应于第一副文件138中当前数据对象的时间标签是否提前时间标签。通过比较时间标签和当前系统时间标签来进行这种确定。由于对增量数值施加的约束,如果副文件时间标签大于当前系统时间标签,则副文件时间标签一定是提前时间标签。因此,如果副文件时间标签大于当前系统时间标签,则数据移动器108将副文件时间标签识别为提前时间标签。
如果步骤720确定副文件时间标签是提前时间标签,则在步骤722中,数据移动器108从副文件时间标签中减去时间增量以计算恢复时间标签(等于数据对象的初始时间标签)。例如,如果数据对象被识别为记录器数据,则在步骤722中,数据移动器108将副文件时间标签减少指定时间增量(例如24小时),其中所述指定时间增量先前被主机110上运行的系统记录器设施加到初始时间标签上以计算提前时间标签。数据移动器108接着使用新计算的恢复时间标签以计算不同控制器会话中记录器数据对象和其它数据对象(例如表格数据)之间的一致性(下面讨论)。在步骤722中从副文件时间标签减去时间增量的方式保证记录器数据相对来自其它控制器会话的数据更新具有正确的时间标签,所述数据可以被放在相同XRC控制器会话的卷中以作为记录器数据。
当在步骤722中计算出恢复时间标签之后,数据移动器108用恢复的(初始)时间标签替换提前时间标签,使得初始时间标签会被用于所有未来的需要有关数据对象的时间标签的操作(步骤724)。在步骤724之后,过程可以可选地结束,或者可以执行到步骤732(图7C)以开始涉及一致性组的形成的附加步骤。
步骤724与传统的副文件处理形成强烈对比。在已知系统中,通常结合对应的″普通″时间标签处理数据对象。普通时间标签指示执行I/O例程115a以便向主存储器136写入数据对象的时间。作为本发明的一个例子,在步骤706中和非缓存数据对象一起存储在主存储器136中的当前时间标签是这种普通时间标签;如下面详细描述的,这些随后被用来处理非缓存数据对象。相反,步骤724保证在未来的操作中数据移动器108会结合恢复的(初始)时间标签处理第一副文件138中的数据对象。如下所述,这种未来处理可以包含形成数据对象的一致性组。在步骤724之后,过程700执行到步骤732(图7C)。
与上述描述相反,如果步骤720发现当前副文件中当前数据对象的时间标签不是提前时间标签,则可以(可选地)执行附加步骤以执行错误检查。在这种情况下,步骤720前进到步骤728,其中数据移动器108询问当前副文件中是否有任何前面的时间标签曾被发现为提前时间标签。例如,第一副文件应当含有所有的提前时间标签(因为其中填充有来自缓存器的数据),而第二副文件不含有提前时间标签(因为其中填充非缓存数据)。于是,如果步骤728发现当前副文件的任何以往数据对象均具有提前时间标签(其中根据步骤720,当前数据对象不具有),则数据移动器108在步骤730发出警告。这提醒可能存在不一致数据,因为当前副文件含有具有提前时间标签和非提前时间标签的数据对象,这表明某些数据对象来自缓存器而其它数据对象不来自缓存器。根据需要,警告可以被发到主机110,主控制器134或任何其他实体。在步骤730之后,过程700执行到步骤732(图7C)。
一致性组的形成
在图7B的步骤724(或步骤730)之后,过程700前进到图7C的步骤734开始一个预定的一致性组形成例程,以便处理数据对象并且将数据对象装配到一致性组中。
识别空闲控制器会话
执行步骤734、736、738的序列以识别和标明空闲控制器会话。在步骤734中,数据移动器108确定组时间间隔(对应于一致性组的形成的时间间隔)期间第一主控制器会话中是否存在数据对象更新。第一副文件138对应于第一主控制器会话,因此步骤734包括确定组时间间隔期间第一副文件138中是否已经存在数据对象更新。通过读取第一副文件138中的时间标签和数据对象(可以包含非空和空数据对象)来完成步骤734。如果在组间隔期间存在更新,则控制器会话不空闲。因此,如下所述,步骤734跳过步骤738并且前进到步骤746。
在步骤736中,数据移动器108确定任何对应于第一主控制器会话中的数据对象的时间标签是否提前时间标签。如果是,则主控制器会话不空闲。因此,如下所述,步骤736跳过步骤738并且前进到步骤746。
与上述描述相反,如果在组间隔期间不存在更新,并且第一主控制器会话中没有提前时间标签,则执行步骤738。这里,数据移动器108将第一主控制器会话标明为空闲。虽然为了便于讨论未示出,然而会针对每个附加副文件(例如第二副文件140)而根据需要重复步骤734、736和738。
形成一致性组
现在描述涉及数据对象一致性组的形成的附加步骤。一致性组是在组时间间隔上来自对应于不同存储控制器会话的不同副文件的数据更新的组,所述数据更新被组合在一起,使得数据更新可以保持顺序一致的次序。于是,不同控制器会话中在相同组时间间隔期间发生的更新被组合在一起,并且还按照时序次序被放置在每个组内。
在步骤746中,数据移动器108确定第一主控制器会话是否被标明为空闲。如果是,数据移动器108在形成一组时间间隔的一致性组时通过跳过步骤748来绕过第一主控制器会话。这个动作也可以被称作绕过与第一主控制器会话相关的时间标签。另一方面,如果步骤746发现第一主控制器会话未被标明空闲,则执行步骤748。在步骤748中,数据移动器108针对组时间间隔确定对应于第一副文件138中数据对象的最大恢复时间标签。最大恢复时间标签是第一副文件138中任何数据对象的最大时间标签。
类似地,在步骤750中,如果第二主控制器会话已经被标明为空闲,则数据移动器108在形成该组时间间隔的一致性组时通过跳过步骤752来绕过第二主控制器会话。如果第二主控制器会话未被标明空闲并且绕过,则在步骤752中,数据移动器108针对组时间间隔确定对应于第二副文件140中数据对象的最大当前时间标签。
接着在步骤754中,数据移动器108识别通过步骤748、752确定的最大时间标签中的最小值。在步骤756中,数据移动器108接着针对组时间间隔形成一致性组,其中一致性组包含具有恢复时间标签的数据对象和具有当前时间标签的数据对象,所述时间标签小于或等于通过步骤754识别的最小值。当形成一致性组时,以彼此具有顺序一致的次序的方式放置一致性组中的数据对象。作为一个例子,一致性组被发送到辅助站点152,以保持辅助站点152上数据更新的次序与数据更新在主站点109上导致的写入I/O操作的次序相一致。作为另一个例子,数据更新可以是音频数据轨道。第一轨道可以对应于第一主控制器会话。如果第一轨道为静音并因此没有数据更新,则第一主控制器会话被标明为空闲,这导致在第一轨道为静音期间第一轨道不与其它音轨组合。
如果在XRC控制器会话中只使用一个主副文件(例如第一副文件138),则省略步骤750、752和754,并且在步骤748中确定的最大恢复时间标签也被用作最小值。
在步骤758中,一致性组的数据对象被存储在日志168中。在将数据存储在辅助存储器154中之前在日志168中存储数据的方式允许在发生灾难时根据日志168恢复中间数据。
在步骤760中,一致性组的数据对象被存储在辅助存储器154中。数据对象可以被存储在辅助存储器154中,无论数据对象是否也被存储在日志中。作为一个例子,辅助存储器154是位于辅助站点152的DASD。为了使灾难中导致的数据损失量最小,期望频繁执行形成一致性组所需的上述步骤,并且将主站点109上的更新复制到辅助站点152。序列700在步骤762结束。
其它实施例
虽然上述公开内容示出了本发明的若干图解实施例,然而本领域的技术人员应当理解,在不偏离所附权利要求书定义的本发明范围的前提下,这里可以进行各种改变和修改。例如,虽然通常在异步远程数据影像系统的环境中描述本发明,然而本发明也可以很好用于同步(例如PPRC)和半同步远程数据影像系统,以及不使用远程数据影像的环境。此外,虽然可以单一地描述或要求保护本发明的要素,然而可以考虑多个要素,除非明确指出涉及单一要素的限制。

Claims (13)

1.使用时间标签管理数据的方法,该方法包括以下操作:
在缓存器中存储某些数据对象,并且在主存储器中存储其它非缓存数据对象;
针对主存储器中存储的每个数据对象,向主存储器写入当前时间标签,其中当前时间标签表示数据对象被存储在主存储器的时间;
针对缓存器中存储的每个数据对象,在缓存器中放入对应于数据对象的初始时间标签,初始时间标签表示数据对象被存储在缓存器的时间;
将来自缓存器的数据对象和对应的提前时间标签写入主存储器,其中每个提前时间标签均等于初始时间标签加上指定时间增量;
响应对主存储器中识别的数据对象应用预定一致性组形成例程的请求,针对每个数据对象,读取对应于识别的数据对象的提前时间标签,并且从中减去时间增量以计算恢复时间标签,接着结合恢复时间标签而不是提前时间标签对识别的数据对象应用所述例程。
2.如权利要求1所述的方法,还包括按照不超过指定最大时间间隔的时间间隔重复将来自缓存器的数据对象和对应的提前时间写入主存储器的操作。
3.如权利要求1所述的方法,所述操作还包括:
至少按指定最大时间间隔的相应频率,经常地确定缓存器是否含有任何尚未写入主存储器的附加数据对象;
如果有,将来自缓存器的附加数据对象和对应的提前时间标签写入主存储器,其中每个提前时间标签均等于初始时间标签加上指定时间增量;
如果没有,将空记录和对应的提前时间标签写入主存储器和副文件,其中提前时间标签至少和时间增量一样大。
4.如权利要求1所述的方法,其中向主存储器写入数据对象和对应的提前时间标签的操作包括:
调用一个输入/输出例程,所述输入/输出例程被配置得向主存储器写入数据对象以及表示输入/输出例程执行向主存储器写入数据对象时的时间的普通时间标签;并且,向输入/输出例程传递一命令,指令输入/输出例程向主存储器写入对应的提前时间标签而不是普通时间标签。
5.如权利要求1所述的方法,其中所述操作还包括:
向主存储器的副文件写入来自缓存器的数据对象及其对应的提前时间标签;
向主存储器的副文件写入非缓存数据对象及其对应的当前时间标签;
如果(1)在指定组时间间隔期间没有数据对象被存储到具有一或多个副文件的指定组,并且(2)没有对应于指定组中数据对象的时间标签是提前时间标签,将指定组标明为空闲。
6.在存储于主存储子系统之前临时缓存数据以便不牺牲时间标签信息地在辅助存储子系统上进行异步镜像的方法,在一系统中执行所述方法,该系统包含主机,连接到主机的主存储子系统,连接到主机并且与主存储子系统分离的缓存器,辅助存储子系统,和连接主存储子系统和辅助存储子系统的数据移动器,所述方法包括操作:
主机识别要在主存储子系统中存储的各种数据对象;
主机在缓存器中存储某些识别的数据对象,以及涉及缓存器中的存储的时间的初始时间标签;
主机向主存储子系统发送其它识别的数据对象以便在其中存储,而主存储子系统通过存储其它数据对象和涉及主存储子系统中的存储的时间的当前时间标签来作出响应;
根据预定调度,主机将缓存数据对象发送到主存储子系统以便在其中进行存储,并且还包含使主存储子系统存储每个数据对象和提前时间标签的命令,所述提前时间标签包括与数据对象相关、加上预定余量的初始时间标签,所述预定余量具有足够使得加上该预定余量的初始时间标签被识别为提前时间标签的量值,和允许根据提前时间标签导出初始时间标签的量值。
7.如权利要求6所述的方法,所述操作还包括:
响应于数据移动器开始在主存储子系统中准备数据对象以便存储于辅助存储子系统的指定处理,在处理被应用于主存储子系统中指定集合的一或多个数据对象的情况下,执行以下操作:
检查集合中的各个数据对象以确定其相关时间标签是提前时间标签还是当前时间标签;
如果是提前时间标签,则从提前时间标签中减去预定余量以恢复初始时间标签,并且使用恢复的初始时间标签对数据对象进行未来的处理;
如果是当前时间标签,则使用当前时间标签对数据对象进行未来的处理。
8.如权利要求6所述的方法,所述操作还包括:
主存储子系统在各种副文件中存储数据对象;
处理副文件以便形成一致性组,其中处理包含在条件下将每个副文件标明为空闲,所述条件包含副文件具有至少一个与提前时间标签相关的数据对象。
9.一种数据存储系统,包括:
缓存器;
主存储器;
主机,被编程以便执行以下操作:
在缓存器中存储某些数据对象,并且在主存储器中存储某些数据对象;
针对缓存器中存储的每个数据对象,在缓存器中放入对应于数据对象的初始时间标签,初始时间标签表示数据对象被存储在缓存器的时间;
将来自缓存器的数据对象和对应的提前时间标签写入主存储器,其中每个提前时间标签均等于初始时间标签加上指定时间增量;
主存储器,被编程以便执行以下操作:
针对主存储器中存储的每个数据对象,向主存储器写入当前时间标签,其中当前时间标签表示数据对象被存储在主存储器的时间;
数据移动器,被编程以便执行操作,所述操作包括:响应对主存储器中识别的数据对象应用预定一致性组形成例程的请求,针对每个数据对象,读取对应于从副文件识别的数据对象的提前时间标签,并且从中减去时间增量以计算恢复时间标签,接着结合恢复时间标签而不是提前时间标签对识别的数据对象应用所述例程。
10.数据存储系统,被构造成临时缓存等待存储于主存储子系统的数据以便不牺牲时间标签信息地在辅助存储子系统上进行异步镜像,包括:
主机;
连接到主机的主存储子系统;
缓存器,连接到主机并且与主存储子系统分离;
辅助存储子系统;
数据移动器,连接主存储子系统和辅助存储子系统;
其中主机,主存储子系统和数据移动器被编程以执行以下操作:
主机识别要在主存储子系统中存储的各种数据对象;
主机在缓存器中存储某些识别的数据对象,以及涉及缓存器中的存储的时间的初始时间标签;
主机向主存储子系统发送其它识别的数据对象以便在其中存储,而主存储子系统通过存储其它数据对象和涉及主存储子系统中的存储的时间的当前时间标签来作出响应;
根据预定调度,主机将缓存数据对象发送到主存储子系统以便进行存储,并且还包含使主存储子系统存储每个数据对象和提前时间标签的命令,所述提前时间标签包括与数据对象相关、加上预定余量的初始时间标签,所述预定余量具有足够使得加上该预定余量的初始时间标签被识别为提前时间标签的量值,和允许根据提前时间标签导出初始时间标签的量值。
11.如权利要求10所述的系统,所述操作还包括:
响应于数据移动器开始在主存储子系统中准备数据对象以便存储于辅助存储子系统的指定处理,在处理被应用于主存储子系统中指定集合的一或多个数据对象的情况下,执行以下操作:
检查集合中的各个数据对象以确定其相关时间标签是提前时间标签还是当前时间标签;
如果是提前时间标签,则从提前时间标签中减去预定余量以恢复初始时间标签,并且使用恢复的初始时间标签对数据对象进行未来的处理;
如果是当前时间标签,则使用当前时间标签对数据对象进行未来的处理。
12.如权利要求10所述的系统,所述操作还包括:
主存储子系统在各种副文件中存储数据对象;
处理副文件以便形成一致性组,其中处理包含在条件下将每个副文件标明为空闲,所述条件包含至少一个条件,在所述至少一个条件中副文件具有至少一个与提前时间标签相关的数据对象。
13.一种数据存储系统,包括:
缓存器;
主存储器;
主机装置,用于执行以下操作:
在缓存器中存储某些数据对象,并且在主存储器中存储某些数据对象;
针对缓存器中存储的每个数据对象,在缓存器中放入对应于数据对象的初始时间标签,初始时间标签表示数据对象被存储在缓存器的时间;
将来自缓存器的数据对象和对应的提前时间标签写入主存储器,其中每个提前时间标签均等于初始时间标签加上指定时间增量;
主存储器中的主控制器,用于执行操作,所述操作包括针对主存储器中存储的每个数据对象,向主存储器写入当前时间标签,其中当前时间标签表示数据对象被存储在主存储器的时间;
数据移动器装置,用于执行操作,所述操作包括响应对主存储器中识别的数据对象应用预定一致性组形成例程的请求,针对每个数据对象,读取对应于从副文件识别的数据对象的提前时间标签,并且从中减去时间增量以计算恢复时间标签,接着结合恢复时间标签而不是提前时间标签对识别的数据对象应用所述例程。
CNB03127403XA 2002-08-07 2003-08-06 数据管理方法、数据异步镜像方法和数据存储系统 Expired - Fee Related CN1242333C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/214,842 2002-08-07
US10/214,842 US6842825B2 (en) 2002-08-07 2002-08-07 Adjusting timestamps to preserve update timing information for cached data objects

Publications (2)

Publication Number Publication Date
CN1495612A CN1495612A (zh) 2004-05-12
CN1242333C true CN1242333C (zh) 2006-02-15

Family

ID=31494726

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03127403XA Expired - Fee Related CN1242333C (zh) 2002-08-07 2003-08-06 数据管理方法、数据异步镜像方法和数据存储系统

Country Status (3)

Country Link
US (1) US6842825B2 (zh)
CN (1) CN1242333C (zh)
TW (1) TWI279690B (zh)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3901484B2 (ja) * 2001-10-05 2007-04-04 株式会社ジェイテクト 電動パワーステアリング装置
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US7565683B1 (en) * 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US7260555B2 (en) * 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US8006280B1 (en) 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US7380120B1 (en) * 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US6938134B2 (en) * 2002-09-19 2005-08-30 Sun Microsystems, Inc. System for storing block allocation information on multiple snapshots
US7039829B2 (en) * 2002-11-07 2006-05-02 Lsi Logic Corporation Apparatus and method for enhancing data availability by implementing inter-storage-unit communication
US7107483B2 (en) * 2002-11-15 2006-09-12 Lsi Logic Corporation Apparatus and method for enhancing data availability by leveraging primary/backup data storage volumes
TW591393B (en) * 2003-01-22 2004-06-11 Fujitsu Ltd Memory controller
JP3974538B2 (ja) 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
JP2004348193A (ja) * 2003-05-20 2004-12-09 Hitachi Ltd 情報処理システムおよびそのバックアップ方法
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US7287137B2 (en) * 2003-06-06 2007-10-23 Hewlett-Packard Development Company, L.P. Batched, asynchronous data redundancy technique
US7380081B2 (en) * 2003-06-06 2008-05-27 Hewlett-Packard Development Company, L.P. Asynchronous data redundancy technique
US20040250030A1 (en) * 2003-06-06 2004-12-09 Minwen Ji Data redundancy using portal and host computer
US20050022213A1 (en) * 2003-07-25 2005-01-27 Hitachi, Ltd. Method and apparatus for synchronizing applications for data recovery using storage based journaling
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US20050015416A1 (en) 2003-07-16 2005-01-20 Hitachi, Ltd. Method and apparatus for data recovery using storage based journaling
US7398422B2 (en) * 2003-06-26 2008-07-08 Hitachi, Ltd. Method and apparatus for data recovery system using storage based journaling
JP4124348B2 (ja) * 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
JP2005062928A (ja) 2003-08-11 2005-03-10 Hitachi Ltd 複数のサイトにリモートコピーを行うシステム
JP4391170B2 (ja) * 2003-09-05 2009-12-24 株式会社日立製作所 データ転送装置の制御方法、データ転送回路、及びディスクアレイ装置
US7278049B2 (en) * 2003-09-29 2007-10-02 International Business Machines Corporation Method, system, and program for recovery from a failure in an asynchronous data copying system
US7188272B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US7703140B2 (en) * 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US20050086531A1 (en) * 2003-10-20 2005-04-21 Pss Systems, Inc. Method and system for proxy approval of security changes for a file security system
JP4434857B2 (ja) * 2003-12-04 2010-03-17 株式会社日立製作所 リモートコピーシステム及びシステム
US20050138371A1 (en) * 2003-12-19 2005-06-23 Pss Systems, Inc. Method and system for distribution of notifications in file security systems
US7702909B2 (en) * 2003-12-22 2010-04-20 Klimenty Vainstein Method and system for validating timestamps
JP4273973B2 (ja) * 2004-01-15 2009-06-03 ソニー株式会社 情報通信システム、送信装置及び送信方法、並びにコンピュータ・プログラム
US7111139B2 (en) * 2004-03-02 2006-09-19 Hitachi, Ltd. Data synchronization of multiple remote storage
US7421549B2 (en) * 2004-03-02 2008-09-02 Hitachi, Ltd. Method and apparatus of remote copy for multiple storage subsystems
US7120769B2 (en) * 2004-03-08 2006-10-10 Hitachi, Ltd. Point in time remote copy for multiple sites
US8200921B2 (en) * 2004-03-12 2012-06-12 Hewlett-Packard Development Company, L.P. Data synchronization for two data mirrors with sidefiles
JP4549709B2 (ja) 2004-03-23 2010-09-22 株式会社日立製作所 ストレージ装置
GB0414151D0 (en) * 2004-06-24 2004-07-28 Ibm Involving a secondary storage system in a data transfer decision
US7321906B2 (en) * 2004-07-23 2008-01-22 Omx Technology Ab Method of improving replica server performance and a replica server system
US20060069890A1 (en) * 2004-09-30 2006-03-30 Emc Corporation Triangular asynchronous replication with minimal synchronous storage
JP4491330B2 (ja) * 2004-11-08 2010-06-30 富士通株式会社 ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム
US7647357B2 (en) * 2004-11-12 2010-01-12 International Business Machines Corporation Data transfer management in consistency group formation
JP2006146713A (ja) * 2004-11-22 2006-06-08 Fujitsu Ltd ディスクアレイ装置、情報処理装置およびデータ管理システム並びにターゲット側からイニシエータ側へのコマンド発行方法およびコマンド発行プログラム
US7404039B2 (en) * 2005-01-13 2008-07-22 International Business Machines Corporation Data migration with reduced contention and increased speed
JP4588500B2 (ja) * 2005-03-16 2010-12-01 株式会社日立製作所 ストレージ・エリア・ネットワークにおけるストレージセッション管理システム
EP2328089B1 (en) * 2005-04-20 2014-07-09 Axxana (Israel) Ltd. Remote data mirroring system
US9195397B2 (en) 2005-04-20 2015-11-24 Axxana (Israel) Ltd. Disaster-proof data recovery
US20060277384A1 (en) * 2005-06-01 2006-12-07 Hitachi, Ltd. Method and apparatus for auditing remote copy systems
US7546434B2 (en) * 2005-06-22 2009-06-09 International Business Machines Corporation Method to write data to an information storage and retrieval system
US7457985B2 (en) * 2005-09-09 2008-11-25 International Business Machines Corporation Method to detect errors in computer systems by using state tracking
US20070083867A1 (en) * 2005-09-09 2007-04-12 International Business Machines Corporation Method and system to recover from control block hangs in a heterogenous multiprocessor environment
US7502957B2 (en) * 2005-09-09 2009-03-10 International Business Machines Corporation Method and system to execute recovery in non-homogeneous multi processor environments
US7996585B2 (en) * 2005-09-09 2011-08-09 International Business Machines Corporation Method and system for state tracking and recovery in multiprocessing computing systems
JP4790377B2 (ja) * 2005-11-07 2011-10-12 株式会社日立製作所 ストレージサブシステムのボリューム複製方法
GB0524260D0 (en) * 2005-11-29 2006-01-04 Ibm Methods, apparatus and computer programs for managing access to storage
US7693889B1 (en) * 2005-12-28 2010-04-06 Emc Corporation Automated backup and recovery for content repository
US7552295B2 (en) * 2006-01-03 2009-06-23 International Business Machines Corporation Maintaining consistency when mirroring data using different copy technologies
US7644308B2 (en) * 2006-03-06 2010-01-05 Hewlett-Packard Development Company, L.P. Hierarchical timestamps
US7571268B2 (en) 2006-04-06 2009-08-04 International Business Machines Corporation Consistent updates across storage subsystems coupled to a plurality of primary and secondary units at selected times
US20080235673A1 (en) * 2007-03-19 2008-09-25 Jurgensen Dennell J Method and System for Measuring Database Programming Productivity
US8290899B2 (en) * 2007-03-28 2012-10-16 Netapp, Inc. Group stamping style asynchronous replication utilizing a loosely-accurate global clock
JP2008250695A (ja) * 2007-03-30 2008-10-16 Nec Corp ディスクアレイコントローラ及びこれを備えたディスクアレイシステム
US20090055689A1 (en) * 2007-08-21 2009-02-26 International Business Machines Corporation Systems, methods, and computer products for coordinated disaster recovery
WO2009047751A2 (en) * 2007-10-08 2009-04-16 Axxana (Israel) Ltd. Fast data recovery system
US7930497B2 (en) * 2008-01-10 2011-04-19 International Business Machines Corporation Using multiple sidefiles to buffer writes to primary storage volumes to transfer to corresponding secondary storage volumes in a mirror relationship
US9201745B2 (en) * 2008-01-23 2015-12-01 Omx Technology Ab Method of improving replica server performance and a replica server system
US8949614B1 (en) * 2008-04-18 2015-02-03 Netapp, Inc. Highly efficient guarantee of data consistency
WO2009141752A2 (en) * 2008-05-19 2009-11-26 Axxana (Israel) Ltd. Resilient data storage in the presence of replication faults and rolling disasters
CN101625625B (zh) * 2008-07-11 2011-11-30 鸿富锦精密工业(深圳)有限公司 信号中继装置及利用该装置访问外部存储器的方法
US8458420B2 (en) * 2008-08-19 2013-06-04 International Business Machines Corporation Executing host data transfer operations during setup of copy services operations
US8289694B2 (en) * 2009-01-05 2012-10-16 Axxana (Israel) Ltd. Disaster-proof storage unit having transmission capabilities
CN101526925B (zh) * 2009-04-15 2013-02-27 成都市华为赛门铁克科技有限公司 一种缓存数据的处理方法及数据存储系统
CN101515175B (zh) * 2009-04-16 2011-07-20 浙江浙大中控信息技术有限公司 数据发送方法、数据处理方法及工业控制系统
US8055943B2 (en) * 2009-04-24 2011-11-08 International Business Machines Corporation Synchronous and asynchronous continuous data protection
US8321380B1 (en) 2009-04-30 2012-11-27 Netapp, Inc. Unordered idempotent replication operations
US8655848B1 (en) 2009-04-30 2014-02-18 Netapp, Inc. Unordered idempotent logical replication operations
US8671072B1 (en) 2009-09-14 2014-03-11 Netapp, Inc. System and method for hijacking inodes based on replication operations received in an arbitrary order
US8886597B2 (en) * 2009-10-28 2014-11-11 Sandisk Il Ltd. Synchronizing changes in a file system which are initiated by a storage device and a host device
US8473690B1 (en) 2009-10-30 2013-06-25 Netapp, Inc. Using logical block addresses with generation numbers as data fingerprints to provide cache coherency
US8799367B1 (en) 2009-10-30 2014-08-05 Netapp, Inc. Using logical block addresses with generation numbers as data fingerprints for network deduplication
US9021124B2 (en) 2009-12-02 2015-04-28 Axxana (Israel) Ltd. Distributed intelligent network
US8738736B2 (en) 2010-11-23 2014-05-27 Edgecast Networks, Inc. Scalable content streaming system with server-side archiving
US20120254124A1 (en) * 2011-03-30 2012-10-04 International Business Machines Corporation System, method, and computer program product for disaster recovery using asynchronous mirroring
US8463746B2 (en) * 2011-03-30 2013-06-11 International Business Machines Corporation Method and system for replicating data
US9430343B1 (en) * 2012-05-07 2016-08-30 Emc Corporation Using affinity to mediate bias in a distributed storage system
CN102902730B (zh) * 2012-09-10 2016-04-20 新浪网技术(中国)有限公司 基于数据缓存的读数据方法及装置
US9280296B2 (en) * 2013-05-23 2016-03-08 Globalfoundries Inc. Recovery from failure of primary storage volumes by using mirrored data maintained with host timestamps
WO2015056169A1 (en) 2013-10-16 2015-04-23 Axxana (Israel) Ltd. Zero-transaction-loss recovery for database systems
US20150143103A1 (en) * 2013-11-18 2015-05-21 Life of Two Messaging and networking keepsakes
CN104317531A (zh) * 2014-10-27 2015-01-28 浪潮(北京)电子信息产业有限公司 一种实现多卷远程复制数据一致性方法及系统
US10379958B2 (en) 2015-06-03 2019-08-13 Axxana (Israel) Ltd. Fast archiving for database systems
WO2017222594A1 (en) * 2016-06-20 2017-12-28 Google Llc In-vehicle computing system with power conserving maintenance tasks
US10592326B2 (en) 2017-03-08 2020-03-17 Axxana (Israel) Ltd. Method and apparatus for data loss assessment
CN108664354A (zh) * 2017-04-01 2018-10-16 华为技术有限公司 一种数据镜像方法及存储系统
CN107491364A (zh) * 2017-08-25 2017-12-19 长沙曙通信息科技有限公司 一种远程数据复制服务质量实现方法
US11048722B2 (en) * 2018-07-31 2021-06-29 EMC IP Holding Company LLC Performance optimization for data persistency in asynchronous replication setups
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning
CN109445717B (zh) * 2018-11-15 2022-01-11 北京国电通网络技术有限公司 一种双机备份时的数据存储方法及装置
CN111835697B (zh) * 2019-04-23 2021-10-01 华为技术有限公司 一种媒体流发送方法、装置、设备和系统
US11327858B2 (en) * 2020-08-11 2022-05-10 Seagate Technology Llc Preserving data integrity during controller failure

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06124223A (ja) 1991-03-28 1994-05-06 Texas Instr Inc <Ti> ディスクファイルシステムのログ装置および方法
GB2273180A (en) 1992-12-02 1994-06-08 Ibm Database backup and recovery.
US5455944A (en) 1993-03-16 1995-10-03 International Business Machines Corporation Method for managing logging and locking of page free space information in a transaction processing system
KR0128271B1 (ko) 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5737600A (en) 1994-09-12 1998-04-07 International Business Machines Corporation Method and system for log management in a coupled data processing system
US6044444A (en) 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
JP3193880B2 (ja) * 1996-12-11 2001-07-30 株式会社日立製作所 データ移行方法
US6125393A (en) 1997-03-28 2000-09-26 International Business Machines Corporation System of compressing the tail of a sparse log stream of a multisystem environment
US6578120B1 (en) * 1997-06-24 2003-06-10 International Business Machines Corporation Synchronization and resynchronization of loosely-coupled copy operations between a primary and a remote secondary DASD volume under concurrent updating
US6301643B1 (en) 1998-09-03 2001-10-09 International Business Machines Corporation Multi-environment data consistency
US6260129B1 (en) * 1998-09-08 2001-07-10 International Business Machines Corportion Management of fixed pages in memory for input/output operations
US6260125B1 (en) 1998-12-09 2001-07-10 Ncr Corporation Asynchronous write queues, reconstruction and check-pointing in disk-mirroring applications
US6446175B1 (en) * 1999-07-28 2002-09-03 Storage Technology Corporation Storing and retrieving data on tape backup system located at remote storage system site
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
US6487645B1 (en) * 2000-03-06 2002-11-26 International Business Machines Corporation Data storage subsystem with fairness-driven update blocking
US6484187B1 (en) * 2000-04-28 2002-11-19 International Business Machines Corporation Coordinating remote copy status changes across multiple logical sessions to maintain consistency
US6587933B2 (en) * 2001-01-26 2003-07-01 International Business Machines Corporation Method, system, and program for discarding data in a storage system where updates to a primary storage device are shadowed in a secondary storage device
US6848021B2 (en) * 2001-08-01 2005-01-25 International Business Machines Corporation Efficient data backup using a single side file
US6687793B1 (en) * 2001-12-28 2004-02-03 Vignette Corporation Method and system for optimizing resources for cache management

Also Published As

Publication number Publication date
US6842825B2 (en) 2005-01-11
TWI279690B (en) 2007-04-21
US20040030837A1 (en) 2004-02-12
TW200421112A (en) 2004-10-16
CN1495612A (zh) 2004-05-12

Similar Documents

Publication Publication Date Title
CN1242333C (zh) 数据管理方法、数据异步镜像方法和数据存储系统
CN1291320C (zh) 保存大容量存储系统的所选数据的快照
CN101326497B (zh) 用于产生备份集的系统和方法
US5740433A (en) Remote duplicate database facility with improved throughput and fault tolerance
US7613743B1 (en) Methods and apparatuses for data protection
US7406487B1 (en) Method and system for performing periodic replication using a log
US6728735B1 (en) Restartable dump that produces a consistent filesystem on tapes
US7225307B2 (en) Apparatus, system, and method for synchronizing an asynchronous mirror volume using a synchronous mirror volume
CA2376242C (en) Improved remote data copy using a prospective suspend command
US9483357B2 (en) Selective restore from incremental block level backup
US7900006B2 (en) Maintaining checkpoints during backup of live system
US7865678B2 (en) Remote copy system maintaining consistency
US7277997B2 (en) Data consistency for mirroring updatable source data storage
US7987158B2 (en) Method, system and article of manufacture for metadata replication and restoration
CN101046759A (zh) 远程复制系统以及远程复制控制方法
US10229056B1 (en) Alignment fixing on a storage system during continuous data replication to deduplicated storage
US20100114837A1 (en) Remote disaster data recovery system and method
CN1781081A (zh) 闪回数据库
CN101031891A (zh) 虚拟排序的写
CN1534518A (zh) 在应用定义的系统中一致性单元的复制
WO2007095456A2 (en) Continuous data protection of block-level volumes
CN1755673A (zh) 具备文件管理功能的文件系统及文件管理方法
CN1602479A (zh) 动态远程数据镜像设备组
US7359927B1 (en) Method for performing periodic replication of data on a remote storage system
US7191284B1 (en) Method and system for performing periodic replication using a log and a change map

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1064171

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1064171

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060215

Termination date: 20200806