CN101501648A - 保持远程复制数据一致性的存储管理系统 - Google Patents

保持远程复制数据一致性的存储管理系统 Download PDF

Info

Publication number
CN101501648A
CN101501648A CNA2007800300555A CN200780030055A CN101501648A CN 101501648 A CN101501648 A CN 101501648A CN A2007800300555 A CNA2007800300555 A CN A2007800300555A CN 200780030055 A CN200780030055 A CN 200780030055A CN 101501648 A CN101501648 A CN 101501648A
Authority
CN
China
Prior art keywords
batch
write
secondary station
permission
sequence number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007800300555A
Other languages
English (en)
Other versions
CN101501648B (zh
Inventor
D·巴尔
H·E·巴特沃斯
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 CN101501648A publication Critical patent/CN101501648A/zh
Application granted granted Critical
Publication of CN101501648B publication Critical patent/CN101501648B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Communication Control (AREA)
  • Cold Air Circulating Systems And Constructional Details In Refrigerators (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

一种配置为通过在远程复制对的主站和副站之间进行通信而作为远程复制对来操作的存储控制系统,包含:选择器,基于一或多个标准选择要被放入一个批次的写入;序列号请求器,为所述批次请求序列号;序列号授予器,为所述批次授予序列号;批次发送器,发送所述批次至所述副站;许可接收器,从所述副站接收写入所述批次的许可;以及写入组件,响应于所述许可接收器而写入所述批次直至完成;其中所述副站响应于所述完成而为另一个批次的写入授予另一个许可。

Description

保持远程复制数据一致性的存储管理系统
技术领域
本发明涉及数据存储管理技术,并且尤其涉及优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术。
背景技术
重要数据常常通过复制其至另外的位置来防御灾难。一种用于此目的的技术被称为远程复制。
远程复制是一盘(或者逻辑卷)与作为备份的另一盘的配对。原始盘被称为主站(primary)而备份盘被称为副站(secondary)。每当数据写入主站时,其还必须写入副站,以保证最新的备份。远程复制可以同步实现(也就是说,延迟主机的处理直到已经确定副站上相应写入的完成),或者其可以异步实现。
异步远程复制意味着写入数据至主站的主机不被延迟,同时复制数据至副站;数据一写入主站就将完成信号通知给主机。接着,异步地复制数据至副站。
实施异步远程复制的一个主要挑战是保持副盘的一致性。“保持一致性”意味着保持副站数据处于主站数据在处理期间的某个时间点处可能已经处于的状态。副站数据被允许为“过时的”(即,一定次数的更新还没有应用至副站),但其不能被允许为不一致的。
下面的表格示出了一系列事件。在这些事件期间,副站相对于主站是过时的,但其包含的数据一直匹配主机可能已经从主站读取的数据,因此副站一直是一致的。
动作                           主站                副站
1.主机将AAA写入盘              AAAXXX              XXXXXX
2.主机完成来自步骤1的写入      AAAXXX              XXXXXX
3.主机将BBB写入盘             AAABBB       XXXXXX
4.远程复制发送AAA至副站        AAABBB       AAAXXX
5.远程复制发送BBB至副站        AAABBB       AAABBB
下面的表格示出了其中以错误的顺序应用更新至副站的一系列事件。在步骤3发生的写入是“相关写入”,因为其在AAA的写入完成之后发生。因此,BBB仅仅可以在AAA之后写入盘。
如果主站在步骤4之后失效,则副站就会是不一致的,因为主机知道主站在任何时间点都不包含数据XXXBBB。
动作                        主站           副站
1.主机将AAA写入盘           AAAXXX         XXXXXX
2.主机完成来自步骤1的写入   AAAXXX         XXXXXX
3.主机将BBB写入盘           AAABBB         XXXXXX
4.远程复制发送BBB至副站     AAABBB         XXXBBB
5.远程复制发送AAA至副站     AAABBB         AAABBB
在保持一致性中已经使用的一种方法是被称为“色彩”的使用。在该方法中,多个更新集合被放入称为“色彩”的多个组中。在应用色彩组之前,获取副盘的快照。该快照是副站数据的一致性复制。应用色彩组中的更新,并且如果该过程不被中断,则丢弃快照。如果在更新过程中出现错误,则将快照拷回副盘,恢复盘为一致性状态。
以有规律的间隔(例如,每5秒)形成色彩,在色彩形成开始之前禁止I/O。
这种方法的缺陷是:
●为了获取快照,在副站上需要两倍的存储空间。
●快照功能将占用大量的处理时间,损害系统性能。
●系统的恢复点目标(RPO)相对较高(例如,如果每5秒形成色彩,那么副站相对于主站的过时可能达到5秒)。
●需要快速、有效的快照功能,因为将会频繁地获取快照。很多存储子系统的体系结构禁止这样,从而必须采用不同的方法。
已经使用的第二种方法是为进入主站的每次单独写入指定唯一序列号,从而如果写入B在写入A之后到达,其将具有更高的序列号。
发送写入至副站,按照序列号顺序应用它们。这保证副站总是一致的,因为写入完全按照主机发送它们的顺序应用至副站。
该方法的缺陷是:
●在副站上,在任何特定时刻都仅仅能进行一次写入,因为每次写入必须在下一个序列号的写入可以开始之前完成。这可能导致不可接受的性能水平。
●在多节点系统中,可能需要中央服务器来控制序列号的发送。主站上的每次单独写入可能导致发消息至服务器以获取序列号。这可能导致非常大量的消息和消息资源的高消耗,并且在等待要被发送的序列号时还导致延迟。
因此,会期望具有优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术手段。
发明内容
因此,根据第一方面,本发明提供一种存储控制系统,其配置为通过在远程复制对的主站和副站之间进行通信而作为远程复制对来操作,包含:选择器,基于一或多个标准选择要被放入一个批次的写入;序列号请求器,为所述批次请求序列号;序列号授予器,为所述批次授予序列号;批次发送器,发送所述批次至所述副站;许可接收器,从所述副站接收写入所述批次的许可;以及写入组件,响应于所述许可接收器而写入所述批次直至完成;其中所述副站响应于所述完成而为另一个批次的写入授予另一个许可。
优选地,所述写入组件包含并发地执行多个写入的并发写入组件。
优选地,所述一或多个标准包含所述写入的相互独立性。
根据第二方面,本发明提供一种存储控制系统的方法或者逻辑布置,所述存储控制系统配置为通过在远程复制对的主站和副站之间进行通信而作为远程复制对来操作,包含步骤:基于一或多个标准选择要被放入一个批次的写入;为所述批次请求序列号;为所述批次授予序列号;发送所述批次至所述副站;从所述副站接收写入所述批次的许可;以及响应于所述许可而写入所述批次直至完成;其中所述副站响应于所述完成而为另一个批次的写入授予另一个许可。
优选地,所述写入步骤包含并发地执行多个写入。
优选地,所述一或多个标准包含所述写入的相互独立性。
根据第三方面,提供一种其上具有功能性数据的数据载体,所述功能性数据包含功能性计算机数据结构,所述功能性计算机数据结构在被载入计算机系统并且在其上运行时,使所述计算机系统能够执行根据第二方面的方法的全部步骤。
根据第四方面,提供一种计算机程序,所述计算机程序包含计算机程序代码,当其被载入计算机系统并且在其上执行时,致使所述计算机系统执行根据第二方面的方法的全部步骤。
本发明的优选实施例以它们最广的方面来构思优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术框架。
附图说明
现在,通过仅仅示例的方式,参考附图将描述本发明的优选实施例,附图中:
图1以示意的形式示出了根据本发明优选实施例的组件布置;以及
图2以示意的形式示出了其中可以实现根据本发明优选实施例的操作方法的一种方法或者一种逻辑布置。
具体实施方式
本发明的优选实施例一般涉及优选地用最小附加资源使用来保持远程复制设备中数据的一致性。
本发明的第一优选实施例包含将写入放置到序列号批次中,以及每次发送一个批次至副站。按照此方式,相互独立的写入可以被指定相同的序列号。主站发送一个批次的写入(例如,具有序列号17的全部写入)至副站。当这些写入完成时,下一个批次(例如,序列号18)被发送至副站。副站一接收到全部写入就处理它们。这增加了副站的并发性并且减少了节点间发消息的数量。
该方法的一个缺陷是其没有充分地使用长距离通信信道;信道在从一个批次中的最后一个写入被发送直到该批次中的最后一个写入完成的时间内是空闲的。因为这可能是100ms(毫秒)级的,所以链路使用不是最佳的。
因此,在更优选的实施例中,如下面将要描述的一样,提出了一种更有效的分配序列号的方法。
给写入指定序列号的优选方法基于以下观察结果:
●已经由主机发送的、没有接收到完成消息的全部写入必须是独立的(它们中没有一个已经完成,所以没有一个能依赖于另一个)。
●所有这类写入可以被给予相同的序列号并且以任何顺序应用在副站上,因为它们可以以任何顺序应用在主站上。
在多节点系统中,基于以下两点形成批次:
●在特定节点上的未决(outstanding)的全部写入可以被放置于相同的批次中。对于整个批次,仅仅一个序列号请求需要被发送至序列号服务器,大大减少了所需的消息数量和消息资源。
●到达序列号服务器的全部请求可以被放置于相同的批次中。这增加了批次的大小,进一步增加了可以在副站上并发完成的写入数量,提高了性能。
下面的实现描述了在本发明优选实施例中要使用的协议的一个实例。到相关联的盘的所有写入必须使用协议的相同实例,以保证这些盘之间的一致性被保持。不相关联的盘可以使用协议的不同实例(即,它们可以具有分离的序列号服务器和客户端)。这在下面参考附图所描述的最优选实施例中实现。
参见至图1,其示出了根据本发明优选实施例的组件布置。在图1中,主站100包含I/O处理器104,用于接收通常来自主机装置(未示出)的写入I/O命令。I/O处理器在操作时与主站客户端106通信,主站客户端106可操作地连接至主站服务器108。副站102包含副站客户端110,其可操作地耦合至副站服务器112和I/O处理机114。出于执行写入I/O的目的,I/O处理机114可操作地与数据存储器(未示出)通信,数据存储器可以包含任何已知形式的数据存储器,例如,但不限于,磁盘存储器、磁带存储器等。主站100的主站客户端106经由通信链路与副站102的副站客户端110连接,并且主站100的主站服务器106经由通信链路与副站102的副站服务器110连接。主站和副站的客户端和服务器的布置和位置仅仅旨在示例,可以设想很多其它布置,例如,在数据处理或者通信网络的中间和通信节点上放置客户端或者服务器。客户端和服务器设备、系统或者模块的这种可替代的布置对于本领域技术人员而言是十分明白的,不需要在本申请中进一步的描述。
系统或者装置形式的本发明最优选的实施例有利地解决了如下问题:提供优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术手段。
参见图2,其以示意的形式示出了其中可以实现根据本发明优选实施例的操作方法的一种方法或者一种逻辑布置。对于本领域技术人员而言明了的是:在不脱离本发明范围的情况下,可以做出很多修改和变化,包括,例如,步骤顺序上的变化。
其中可以实现根据本发明优选实施例的操作方法的系统包含如图2所示的下列组件:
●主站客户端。接收写入I/O的每个节点将需要具有主站客户端。当接收写入I/O时,I/O码向主站客户端请求序列号。主站客户端将全部并发请求分批并且发送RequestSequenceNumber(请求序列号)消息至主站服务器。当被授予序列号时,主站客户端发送写入I/O至副站客户端,在Write消息中嵌入序列号。仅仅是那些在发送RequestSequenceNumber时有效的写入I/O才可以被指定所授予的序列号,以防止相关写入被放置于相同批次中(在多节点系统中,其它节点可能已经接收到它们的批准并且已经完成了它们的I/O)。
●主站服务器。将存在仅仅一个主站服务器。其接收来自主站客户端的RequestSequenceNumber消息,将全部并发请求分批,并且答复主站客户端,向它们发送所授予的序列号。其还发送NewBatch(新批次)消息至副站服务器,告诉它所发送的序列号,以及多少写入I/O被授予了该序列号。
●副站客户端。副站客户端接收来自主站客户端的Write消息。每次写入都被放置于队列中。当副站客户端接收到针对一个序列号的OkToWrite(可以写入)消息时,其将该序列号的全部写入移出队列并且执行它们。当每个写入完成时,其发送WriteDone(写入完成)消息至主站客户端和副站服务器。
●副站服务器。副站服务器接收来自主站服务器的NewBatch消息。副站服务器负责协调副站客户端,保证按照序列号顺序处理写入以保持数据一致性。当第一NewBatch到达时,副站服务器发送OkToWrite消息至每个副站客户端,使得它们能够在第一序列号的写入一到达时就处理它们。当副站服务器已经接收到预期数目的WriteDone消息时(对于批次中的每一个写入都有一个WriteDone),其发送针对下一个序列号的OkToWrite消息。
示例性方法如下:
步骤1:一或多个I/O处理器将针对序列号的请求发送至主站客户端。
步骤2:主站客户端将针对序列号的请求发送至主站服务器。
步骤3:主站服务器将新批次请求发送至副站服务器,并且将已经从主站客户端接收的多个请求分批。
步骤4:副站服务器将针对特定序列号的“可以写入”消息发送至副站客户端。步骤4仅仅可以在没有前一个序列号的未决写入(其应该存在)时发生。
步骤5:主站服务器向主站客户端为针对序列号的请求批准。
步骤6:主站客户端向那个或每个发出请求的I/O处理器传递“请求已批准(request granted)”消息。
步骤7:那个或每个I/O处理器反过来将针对特定序列号的写入发送至主站客户端。
步骤8:主站客户端将针对特定序列号的写入请求发送至副站客户端。
步骤9:写入被发送至I/O处理机,其执行写入I/O。
步骤10:I/O处理机将“写入完成”消息返回至副站客户端。
步骤11:副站客户端将“写入完成”消息传递至副站服务器。
步骤12:副站客户端将“写入完成”消息传递至主站客户端。
步骤13:主站客户端将“写入完成”消息传回相关的I/O处理器。
因而,方法或者逻辑布置形式的本发明优选实施例有利地解决了如下问题:提供优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术手段。对于本领域技术人员而言将会明了的是:本申请中以被编号的顺序方式示出的步骤中的某些实际上可以被并发地处理,并且某些步骤可能需要等待其它操作的完成,并且所示的顺序仅仅是可以由本发明的实施例所执行的处理的示例。例如,如上所示,步骤4的执行可以被延迟,直到在前序列号的全部步骤5至11的完成之后,或者步骤4可以被立即执行,例如,在该方法的步骤的第一次迭代时,当针对任何在前序列号都没有写入活动会在进行中时。
对于本领域技术人员而言将会明了的是:本发明优选实施例的方法的全部或者部分可以适当地以及有用地用一个逻辑装置、或者多个逻辑装置来具体实现,该逻辑装置包含被布置成执行该方法的步骤的逻辑元件并且这类逻辑元件可以包含硬件组件、固件组件或其组合。
对于本领域技术人员而言同样将会明了的是:根据本发明优选实施例的逻辑布置的全部或者部分可以适当地用逻辑装置来具体实现,所述逻辑装置包含执行该方法的步骤的逻辑元件,并且这类逻辑元件可以包含在例如可编程逻辑阵列或者专用集成电路中的例如逻辑门的组件。这样的逻辑布置可以进一步被具体实现为使元件通过使用,例如虚拟硬件描述语言可以在这样的阵列或者电路中临时地或者永久地建立逻辑结构,虚拟硬件描述语言可以通过使用固定的或者可传输的载体介质来存储和传输。
将会理解,上述的方法和布置还可以适当地在运行于一或多个处理器(附图中未示出)上的软件中全部或者部分地被实现,并且软件可以以一或多个计算机程序元件的形式来提供,所述计算机程序元件由例如磁盘或光盘等的任何适当数据载体(同样在附图中未示出)来携带。用于数据传输的信道可以同样地包含所有描述的存储介质以及例如有线或者无线信号携带介质的信号携带介质。
本发明可以进一步适当地被具体实现为供计算机系统使用的计算机程序产品。这样的实现方式可以包含一系列计算机可读指令,所述计算机可读指令或者固定于例如计算机可读介质的有形介质(例如,软盘、CD-ROM、ROM或者硬盘)上,或者可以经由有形介质(包括但不限于光学或者模拟通信线路)或无形地使用无线技术(包括但不限于微波、红外线或者其它传输技术),通过使用调制解调器或者其它接口设备而传输至计算机系统。一系列计算机可读指令具体实现了此前在本申请中描述的功能的全部或者部分。
本领域技术人员将会理解,这样的计算机可读指令可以用供很多计算机体系结构或者操作系统使用的许多编程语言来编写。此外,这样的指令可以通过使用当前或者未来的任何存储技术(包括但不限于,半导体、磁或者光学)来存储,或者使用当前或者未来的任何通信技术(包括但不限于光学、红外线或者微波)来传输。这样的计算机程序产品预期可以作为具有附属的印刷的或者电子文档的可移动介质(例如,用计算机系统预装载例如在系统ROM或者固定盘上的现成套装软件(shrink-wrapped software))而被分发,或者经由网络(例如,互联网或者万维网)而从服务器或者电子公告板来分发。
在替代方案中,本发明的优选实施例可以以部署服务的计算机执行的方法的形式来实现,所述方法包含以下步骤:部署计算机程序代码可操作的,在其被部署到计算机基础结构中并且在其上运行时,致使计算机系统执行该方法的全部步骤。
在又一替代方案中,本发明的优选实施例可以以其上具有功能性数据的数据载体的形式来实现,所述功能性数据包含功能性计算机数据结构以在其被载入计算机系统中并且在其上运行时,使所述计算机系统可以执行该方法的全部步骤。
对于本领域技术人员而言将会明了的是:在不脱离本发明的范围的情况下,可以对前述示例性实施例做出许多改进和修改。
权利要求书(按照条约第19条的修改)第1页
1.一种存储控制系统,其配置为通过在远程复制对的主站和副站之间进行通信而作为所述远程复制对来操作,包含:
选择器,基于一个或多个标准选择要被放置于一个批次的写入,所述一个或多个标准包含所述写入的相互独立性;
序列号请求器,为所述批次请求序列号;
序列号授予器,为所述批次授予序列号;
批次发送器,发送所述批次至所述副站;
许可接收器,从所述副站接收写入所述批次的许可;以及
写入组件,响应于所述许可接收器以写入所述批次直至完成;其中
所述副站响应于所述完成而为另一个批次的写入授予另一个许可。
2.如权利要求1所述的存储控制系统,其中所述写入组件包含并发地执行多个写入的并发写入组件。
3.一种用于存储控制系统的操作的方法,所述存储控制系统配置为通过在远程复制对的主站和副站之间进行通信而作为所述远程复制对来操作,所述方法包含以下步骤:
基于一个或多个标准选择要被放置于一个批次的写入,所述一个或多个标准包含所述写入的相互独立性;
为所述批次请求序列号;
为所述批次授予序列号;
发送所述批次至所述副站;
从所述副站接收写入所述批次的许可;以及
响应于所述许可而写入所述批次直至完成;其中
所述副站响应于所述完成而为另一个批次的写入授予另一个许可。
4.如权利要求3所述的方法,其中所述写入步骤包含并发地执行多个写入。
5.一种其上具有功能性数据的数据载体,所述功能性数据包含功能性计算机数据结构以在其被载入计算机系统中并且在所述计算机系统上运行时,使所述计算机系统能够执行如权利要求3或4所述的方法的全部步骤。
6.一种计算机程序,包含计算机程序代码以在其被载入计算机系统中并且在所述计算机系统上执行时,致使所述计算机系统执行如权利要求3或4所述的方法的全部步骤。

Claims (8)

1.一种存储控制系统,其配置为通过在远程复制对的主站和副站之间进行通信而作为所述远程复制对来操作,包含:
选择器,基于一个或多个标准选择要被放置于一个批次的写入;
序列号请求器,为所述批次请求序列号;
序列号授予器,为所述批次授予序列号;
批次发送器,发送所述批次至所述副站;
许可接收器,从所述副站接收写入所述批次的许可;以及
写入组件,响应于所述许可接收器以写入所述批次直至完成;其中
所述副站响应于所述完成而为另一个批次的写入授予另一个许可。
2.如权利要求1所述的存储控制系统,其中所述写入组件包含并发地执行多个写入的并发写入组件。
3.如权利要求1或2所述的存储控制系统,其中所述一个或多个标准包含所述写入的相互独立性。
4.一种用于存储控制系统的操作的方法,所述存储控制系统配置为通过在远程复制对的主站和副站之间进行通信而作为所述远程复制对来操作,所述方法包含以下步骤:
基于一个或多个标准选择要被放置于一个批次的写入;
为所述批次请求序列号;
为所述批次授予序列号;
发送所述批次至所述副站;
从所述副站接收写入所述批次的许可;以及
响应于所述许可而写入所述批次直至完成;其中
所述副站响应于所述完成而为另一个批次的写入授予另一个许可。
5.如权利要求4所述的方法,其中所述写入步骤包含并发地执行多个写入。
6.如权利要求4或5所述的方法,其中所述一个或多个标准包含所述写入的相互独立性。
7.一种其上具有功能性数据的数据载体,所述功能性数据包含功能性计算机数据结构以在其被载入计算机系统中并且在所述计算机系统上运行时,使所述计算机系统能够执行如权利要求4至6中任一项所述的方法的全部步骤。
8.一种计算机程序,包含计算机程序代码以在其被载入计算机系统中并且在所述计算机系统上执行时,致使所述计算机系统执行如权利要求4至6中任一项所述的方法的全部步骤。
CN2007800300555A 2006-08-16 2007-08-02 保持远程复制数据一致性的存储管理系统 Active CN101501648B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0616257.2A GB0616257D0 (en) 2006-08-16 2006-08-16 Storage management system for preserving consistency of remote copy data
GB0616257.2 2006-08-16
PCT/EP2007/058021 WO2008019952A2 (en) 2006-08-16 2007-08-02 Storage management system for preserving consistency of remote copy data

Publications (2)

Publication Number Publication Date
CN101501648A true CN101501648A (zh) 2009-08-05
CN101501648B CN101501648B (zh) 2012-02-22

Family

ID=37081062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800300555A Active CN101501648B (zh) 2006-08-16 2007-08-02 保持远程复制数据一致性的存储管理系统

Country Status (9)

Country Link
US (3) US9239766B2 (zh)
EP (1) EP2054806B1 (zh)
JP (1) JP5191062B2 (zh)
CN (1) CN101501648B (zh)
AT (1) ATE445877T1 (zh)
DE (1) DE602007002827D1 (zh)
GB (1) GB0616257D0 (zh)
TW (1) TWI470459B (zh)
WO (1) WO2008019952A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102790801A (zh) * 2012-06-20 2012-11-21 浪潮(北京)电子信息产业有限公司 异步远程复制系统及其维护数据一致性的方法
CN103999360A (zh) * 2011-12-14 2014-08-20 高通股份有限公司 用于音频放大器的波形整形

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0616257D0 (en) 2006-08-16 2006-09-27 Ibm Storage management system for preserving consistency of remote copy data
GB0622734D0 (en) * 2006-11-15 2006-12-27 Ibm Throttling an asynchronous remote copying system
JP5222171B2 (ja) * 2009-02-03 2013-06-26 株式会社日立製作所 データベース管理方法およびデータベース管理システム
US8667236B2 (en) * 2010-09-29 2014-03-04 Hewlett-Packard Development Company, L.P. Host based write ordering for asynchronous replication
CA2868247C (en) * 2013-07-26 2017-04-04 Ji Ouyang Data sending method, data receiving method, and storage device
GB2519157A (en) 2013-10-14 2015-04-15 Ibm Robust data replication
WO2015081521A1 (zh) * 2013-12-05 2015-06-11 华为技术有限公司 一种存储系统中的数据处理方法、装置和系统
AU2014386266A1 (en) 2014-03-13 2016-09-29 Uber Technologies, Inc. Configurable push notifications for a transport service
US9888087B2 (en) 2014-03-31 2018-02-06 Uber Technologies, Inc. Adjusting attributes for an on-demand service system based on real-time information
GB2531537A (en) 2014-10-21 2016-04-27 Ibm Database Management system and method of operation
US10282684B2 (en) 2015-02-26 2019-05-07 Uber Technologies, Inc. Performing selective operations based on mobile device locations
US10212536B2 (en) 2015-07-10 2019-02-19 Uber Technologies, Inc. Selecting a messaging protocol for transmitting data in connection with a location-based service
US10452680B1 (en) 2015-09-25 2019-10-22 Amazon Technologies, Inc. Catch-up replication with log peer
US9753813B1 (en) 2015-09-25 2017-09-05 Amazon Technologies, Inc. Data replication snapshots for persistent storage using operation numbers
US9733869B1 (en) 2015-09-25 2017-08-15 Amazon Technologies, Inc. Provisioning a slave for data storage using metadata with updated references
US10303360B2 (en) 2015-09-30 2019-05-28 International Business Machines Corporation Replicating data in a data storage system
US10496630B2 (en) 2015-10-01 2019-12-03 Microsoft Technology Licensing, Llc Read-write protocol for append-only distributed databases
US20170160929A1 (en) * 2015-12-02 2017-06-08 Hewlett Packard Enterprise Development Lp In-order execution of commands received via a networking fabric
US20180143766A1 (en) * 2016-11-18 2018-05-24 International Business Machines Corporation Failure protection copy management
US10180802B2 (en) 2017-05-18 2019-01-15 International Business Machines Corporation Collision detection at multi-node storage sites
CN109783272B (zh) * 2017-11-10 2023-01-24 阿里巴巴集团控股有限公司 磁盘快照处理方法、装置和设备
US10452502B2 (en) 2018-01-23 2019-10-22 International Business Machines Corporation Handling node failure in multi-node data storage systems
US11151062B2 (en) 2018-04-04 2021-10-19 International Business Machines Corporation Optimized locking for replication solutions

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
KR0128271B1 (ko) 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5592618A (en) * 1994-10-03 1997-01-07 International Business Machines Corporation Remote copy secondary data copy validation-audit function
ES2100102T3 (es) * 1994-11-17 1997-06-01 Siemens Ag Disposicion con unidades maestras-esclavas.
US5682513A (en) * 1995-03-31 1997-10-28 International Business Machines Corporation Cache queue entry linking for DASD record updates
US6658486B2 (en) * 1998-02-25 2003-12-02 Hewlett-Packard Development Company, L.P. System and method for efficiently blocking event signals associated with an operating system
US6148383A (en) 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
US7111189B1 (en) 2000-03-30 2006-09-19 Hewlett-Packard Development Company, L.P. Method for transaction log failover merging during asynchronous operations in a data storage network
EP1158409B1 (en) 2000-05-25 2008-05-28 Hitachi, Ltd. Storage system making possible data synchronisation confirmation at time of asynchronous remote copy
JP2002189570A (ja) 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム
US7134044B2 (en) 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
GB2413670B (en) 2003-03-25 2006-05-03 Emc Corp Virtual ordered writes
US7380082B2 (en) 2003-03-25 2008-05-27 Emc Corporation Reading virtual ordered writes at local storage device
US7120824B2 (en) 2003-05-09 2006-10-10 International Business Machines Corporation Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair
US7178055B2 (en) 2003-06-06 2007-02-13 Hewlett-Packard Development Company, L.P. Method and system for ensuring data consistency after a failover event in a redundant data storage system
US7152182B2 (en) * 2003-06-06 2006-12-19 Hewlett-Packard Development Company, L.P. Data redundancy system and method
US7043665B2 (en) 2003-06-18 2006-05-09 International Business Machines Corporation Method, system, and program for handling a failover to a remote storage location
US7065589B2 (en) 2003-06-23 2006-06-20 Hitachi, Ltd. Three data center remote copy system with journaling
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
US7293048B2 (en) * 2003-10-29 2007-11-06 Hewlett-Packard Development Company, L.P. System for preserving logical object integrity within a remote mirror cache
US7194562B2 (en) 2003-11-20 2007-03-20 International Business Machines Corporation Method, system, and program for throttling data transfer
US7251743B2 (en) 2003-11-20 2007-07-31 International Business Machines Corporation Method, system, and program for transmitting input/output requests from a primary controller to a secondary controller
US7478211B2 (en) * 2004-01-09 2009-01-13 International Business Machines Corporation Maintaining consistency for remote copy using virtualization
JP4477370B2 (ja) 2004-01-30 2010-06-09 株式会社日立製作所 データ処理システム
US7363541B2 (en) 2004-02-23 2008-04-22 Hewlett-Packard Development Company, L.P. Command management using task attributes
US7139851B2 (en) 2004-02-25 2006-11-21 Hitachi, Ltd. Method and apparatus for re-synchronizing mirroring pair with data consistency
JP2005258850A (ja) 2004-03-12 2005-09-22 Hitachi Ltd 計算機システム
JP4452533B2 (ja) 2004-03-19 2010-04-21 株式会社日立製作所 システムおよび記憶装置システム
US7461100B2 (en) * 2004-05-27 2008-12-02 International Business Machines Corporation Method for fast reverse restore
CN1331294C (zh) 2004-08-27 2007-08-08 江苏省电力公司南京供电公司 建立电网监控灾难后备系统的方法
US7657578B1 (en) * 2004-12-20 2010-02-02 Symantec Operating Corporation System and method for volume replication in a storage environment employing distributed block virtualization
US7565498B1 (en) * 2005-11-07 2009-07-21 Symantec Operating Corporation System and method for maintaining write order fidelity in a distributed environment
GB0616257D0 (en) 2006-08-16 2006-09-27 Ibm Storage management system for preserving consistency of remote copy data
GB0617342D0 (en) 2006-09-02 2006-10-11 Ibm Consistent remote copy data storage system error management
GB0622140D0 (en) 2006-11-07 2006-12-20 Ibm Suspension of asynchronous remote copying system
GB0622734D0 (en) 2006-11-15 2006-12-27 Ibm Throttling an asynchronous remote copying system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103999360A (zh) * 2011-12-14 2014-08-20 高通股份有限公司 用于音频放大器的波形整形
CN103999360B (zh) * 2011-12-14 2018-02-06 高通股份有限公司 用于音频放大器的波形整形
CN102790801A (zh) * 2012-06-20 2012-11-21 浪潮(北京)电子信息产业有限公司 异步远程复制系统及其维护数据一致性的方法
CN102790801B (zh) * 2012-06-20 2015-02-18 浪潮(北京)电子信息产业有限公司 异步远程复制系统及其维护数据一致性的方法

Also Published As

Publication number Publication date
CN101501648B (zh) 2012-02-22
TWI470459B (zh) 2015-01-21
US20120215994A1 (en) 2012-08-23
JP5191062B2 (ja) 2013-04-24
GB0616257D0 (en) 2006-09-27
EP2054806B1 (en) 2009-10-14
ATE445877T1 (de) 2009-10-15
WO2008019952B1 (en) 2008-07-24
US20110010513A1 (en) 2011-01-13
TW200817950A (en) 2008-04-16
JP2010500673A (ja) 2010-01-07
US9239766B2 (en) 2016-01-19
EP2054806A2 (en) 2009-05-06
DE602007002827D1 (de) 2009-11-26
US9923967B2 (en) 2018-03-20
US20160088081A1 (en) 2016-03-24
WO2008019952A3 (en) 2008-05-22
US9229827B2 (en) 2016-01-05
WO2008019952A2 (en) 2008-02-21

Similar Documents

Publication Publication Date Title
CN101501648B (zh) 保持远程复制数据一致性的存储管理系统
KR0167818B1 (ko) 버스 중재 시스템, 버스 중재 회로, 버스 중재 방법 및 데이타 전송 방법
CN101595668B (zh) 建立协调定时网络中的服务器之间的逻辑路径的方法和系统
CN101365999B (zh) 发送完成事件批处理
CN103634150B (zh) 一种冗余的高安全性can总线通信方法
US7823008B2 (en) Maintaining consistency in a remote copy data storage system
US8041869B2 (en) Method and system for bus arbitration
US7502876B1 (en) Background memory manager that determines if data structures fits in memory with memory state transactions map
CN101449246B (zh) 用于集群恢复的装置和方法
US7395392B2 (en) Storage system and storage control method
WO1982001430A1 (en) Improved system for interrupt arbitration
CN110287151A (zh) 分布式存储系统、数据写入方法、装置和存储介质
CN104683486B (zh) 分布式系统中处理同步消息的方法、装置、分布式系统
US20040177221A1 (en) Method and apparatus for managing data access and storage of data located on multiple storage devices
US5805836A (en) Method and apparatus for equalizing grants of a data bus to primary and secondary devices
US4989139A (en) Map case network virtual connection interface system
CN102043741A (zh) 用于管道仲裁的电路和方法
US5761403A (en) Failure recovery system and failure recovery method in loosely coupled multi-computer system, and medium for storing failure recovery program
CN113050976B (zh) 基于PCIe总线的FPGA并行升级方法、装置、介质及电子设备
JPH0793236A (ja) バス制御装置
CN1318991C (zh) 具有对多个相干性区组支持的数据传送装置
US7702829B2 (en) Method, system, and computer program product for reading data from a storage controller in a storage area network
EP0299523A2 (en) Map case network virtual connection interface system
CN100442248C (zh) 用于避免竞争的计算机系统同步单元
CN117473523A (zh) 更新权限的分配方法及装置、存储介质及电子装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant