CN100533396C - 支持次级存储器的异步更新的用于异构存储控制器的写集合边界管理 - Google Patents

支持次级存储器的异步更新的用于异构存储控制器的写集合边界管理 Download PDF

Info

Publication number
CN100533396C
CN100533396C CNB2005800114694A CN200580011469A CN100533396C CN 100533396 C CN100533396 C CN 100533396C CN B2005800114694 A CNB2005800114694 A CN B2005800114694A CN 200580011469 A CN200580011469 A CN 200580011469A CN 100533396 C CN100533396 C CN 100533396C
Authority
CN
China
Prior art keywords
color
memory controller
control node
poll
website
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
Application number
CNB2005800114694A
Other languages
English (en)
Other versions
CN101095117A (zh
Inventor
西拉·本-多尔
亨利·巴特沃斯
阿米尔·克雷迪
奥利特·尼桑-梅辛
亚当·沃尔曼
阿维亚德·兹罗特尼克
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.)
Western Digital Technologies Inc
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 CN101095117A publication Critical patent/CN101095117A/zh
Application granted granted Critical
Publication of CN100533396C publication Critical patent/CN100533396C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Storage Device Security (AREA)
  • Control By Computers (AREA)

Abstract

本发明公开一种数据存储系统,其包括:至少一个存储控制器,具有第一颜色策略并且用于将数据存储到初级站点的第一数据存储单元上,作为初级站点的当前颜色的一部分;至少一个存储控制器,具有第二颜色策略并且用于将数据存储到初级站点的第二数据存储单元上,作为当前颜色的一部分;以及颜色控制节点,用于向每个控制器提供新颜色信息,同时维护跨越颜色边界的相关写入的完整性。

Description

支持次级存储器的异步更新的用于异构存储控制器的写集合边界管理
技术领域
本发明一般涉及用于计算机系统的灾难恢复策略,更具体涉及支持次级存储器的异步更新的写集合边界管理。
背景技术
用于计算机系统的灾难恢复策略一般涉及将存储在初级站点的数据拷贝到次级站点,其中次级站点典型地位于离初级站点有些距离。可以同步或异步地执行在初级和次级拷贝之间的拷贝。在同步地执行拷贝的情况下,每次将更新写入到初级拷贝时,也将该更新发送到次级站点以写入到次级拷贝。只有在次级站点向初级站点通知更新了次级拷贝之后,初级站点才确认对初级拷贝的更新,并且准备好写下一更新。这样,按相同的顺序将更新写入到初级和次级拷贝。在异步地执行拷贝的情况下,由于与次级拷贝相独立地维护初级拷贝,因此可以在将任何更新发送到次级站点之前将多个更新写入到初级拷贝并且确认。典型地作为在此称作“颜色”的写集合,周期性地将更新发送到次站点,并且不一定以与将它们写入到初级拷贝相同的顺序,将其写入到次级拷贝。
在跨越初级站点的多个存储控制器维护单个颜色的情况下,有必要在切换到下一颜色时,所有存储控制器以协调的方式切换到下一颜色,以维护跨越颜色边界的“相关写入”的一致性。例如,假定以下典型的用于数据库更新事务的相关写入序列:
1.执行更新数据库日志的写入,以指示即将发生数据库更新,然后
2.执行更新数据库的第二写入,并且最后
3.执行更新数据库日志的第三写入,以指示成功地完成了数据库更新,
必要的是,这些相关写入全都属于相同颜色,或者,如果它们跨越颜色边界,则较早写入(一个或多个)属于旧颜色并且较后写入(一个或多个)属于新颜色。在该示例中,假定写入1、2和3每个由不同的存储控制器写入,如果写入1和3作为颜色组“红色”的一部分写入,并且写入2作为下一颜色组“蓝色”的一部分写入,则在“红色”组被写入到次级拷贝之后,但在“蓝色”组被写入到次级拷贝之前,初级拷贝将丢失,次级拷贝中的数据库日志将错误地显示发生了更新数据库的第二写入,但是事实上数据库在那时并未被更新。
在一种用于跨越初级站点处的多个存储控制器而维护颜色和颜色边界的技术中,在将写入与颜色相关联之前,每个存储控制器轮询维护当前颜色的颜色控制节点。颜色控制节点向存储控制器报告当前颜色,并且存储控制器将该写入作为该颜色的一部分执行。
在另一种用于跨越初级站点处的多个存储控制器而维护颜色和颜色边界的技术中,颜色控制节点维护当前颜色,但是存储控制器不向颜色控制节点轮询当前颜色。而是,当颜色控制节点想要形成新颜色时,它将“冻结”命令发送到所有存储控制器,以指示该新颜色。当存储控制器接收到“冻结”命令时,它扣留来自请求者的写入操作的确认。然后,存储控制器将“冻结”命令的确认发送到颜色控制节点。一旦颜色控制节点从所有存储控制器接收到确认,它就将“解冻”命令发送到所有存储控制器。当存储控制器接收到“解冻”命令时,它可以向写入操作的请求者确认写入操作,并且在接收“冻结”命令之后为其发送确认的所有写入操作被认为已经作为新颜色的一部分被写入。
虽然对于存储系统采用轮询控制器和冻结/解冻控制器以便例如支持系统伸缩或移植将是有利的,但是需要一种用于跨越初级站点处的多个异构存储控制器而维护颜色和颜色边界的方法。
发明内容
本发明公开了一种用于支持次级存储器的异步更新的异构存储控制器的写集合边界管理的系统和方法。
在本发明的一方面,提供了一种数据存储系统,其包括:至少一个存储控制器,具有第一颜色策略并且用于将数据存储到初级站点的第一数据存储单元上,作为初级站点的当前颜色的一部分;至少一个存储控制器,具有第二颜色策略并且用于将数据存储到初级站点的第二数据存储单元上,作为当前颜色的一部分;以及颜色控制节点,用于向每个控制器提供新颜色信息,同时维护跨越颜色边界的相关写入的完整性。
在本发明的另一方面,第一颜色策略是冻结/解冻(F/T)存储控制器的颜色策略,并且第二颜色策略是轮询存储控制器的颜色策略。
在本发明的另一方面,提供了一种数据存储系统,其包括:至少一个冻结/解冻(F/T)存储控制器,用于将数据存储到初级站点的第一数据存储单元上,作为初级站点的当前颜色的一部分;至少一个轮询存储控制器,用于将数据存储到初级站点的第二数据存储单元上,作为当前颜色的一部分;以及颜色控制节点,用于维护当前颜色,并且响应于轮询存储控制器的轮询请求而向轮询存储控制器报告当前颜色,并且使F/T存储控制器改变到新颜色。
在本发明的另一方面,颜色控制节点用于将冻结命令发送到每个F/T存储控制器。
在本发明的另一方面,F/T存储控制器用于响应于接收到冻结命令,扣留来自写入操作请求者的写入操作的确认。
在本发明的另一方面,F/T存储控制器用于响应于接收到冻结命令,执行写入操作。
在本发明的另一方面,颜色控制节点用于在将冻结命令发送到每个F/T存储控制器之后,并且响应于从每个F/T存储控制器接收到冻结命令的接收确认,将当前颜色改变为新颜色。
在本发明的另一方面,颜色控制节点用于在改变为新颜色之后,将解冻命令发送到F/T存储控制器。
在本发明的另一方面,F/T存储控制器用于响应于接收到解冻命令,向写入操作的请求者确认写入操作,其中在由F/T存储控制器接收到冻结命令之后为其发送写入确认的任何写入操作被认为作为新颜色的一部分被写入。
在本发明的另一方面,控制器用于将作为所述颜色中的任一个的一部分写入的数据异步拷贝到次级站点的对应远程存储控制器。
在本发明的另一方面,轮询控制器用于在将数据作为当前颜色的一部分存储到初级站点的第二数据存储单元上之前,轮询颜色控制节点以接收当前颜色。
在本发明的另一方面,提供了一种用于跨越多个异构存储控制器而维护颜色和颜色边界的方法,该方法包括:将冻结命令发送到初级数据存储站点的至少一个F/T存储控制器,从而使F/T存储控制器操作以扣留来自写入操作的请求者的写入操作的确认,一旦从每个F/T存储控制器接收到冻结命令的确认,就将初级站点的当前颜色改变为新颜色,其中响应于轮询存储控制器的轮询请求,当前颜色可提供给初级站点的至少一个轮询存储控制器,并且将解冻命令发送到F/T存储控制器,从而使F/T存储控制器操作以向请求者确认写入操作,其中在由F/T存储控制器接收到冻结命令之后为其发送确认的任何写入操作被认为作为新颜色的一部分被写入。
在本发明的另一方面,提供了一种数据存储系统,其包括:至少一个冻结/解冻(F/T)存储控制器,用于将数据存储到初级站点的第一数据存储单元上,作为初级站点的当前颜色的一部分;至少一个轮询存储控制器,用于将数据存储到初级站点的第二数据存储单元上,作为当前颜色的一部分;轮询颜色控制节点,用于维护当前颜色,并且响应于轮询存储控制器的轮询请求而向该轮询存储控制器报告当前颜色;以及F/T颜色控制节点,用于使F/T存储控制器和轮询颜色控制节点中的任一个改变为新颜色。
在本发明的另一方面,F/T颜色控制节点用于将冻结命令发送到F/T存储控制器。
在本发明的另一方面,F/T存储控制器用于响应于接收到冻结命令,扣留来自写入操作的请求者的写入操作的确认。
在本发明的另一方面,F/T颜色控制节点用于响应于从每个F/T存储控制器接收到冻结命令的接收确认,将命令发送到轮询颜色控制节点,以将当前颜色改变为新颜色。
在本发明的另一方面,用于改变颜色的命令是冻结命令。
在本发明的另一方面,用于改变颜色的命令是解冻命令。
在本发明的另一方面,颜色控制节点用于响应于接收到颜色改变命令,将当前颜色改变为新颜色。
在本发明的另一方面,颜色控制节点用于在改变为新颜色之后,将颜色改变确认发送到F/T颜色控制节点。
在本发明的另一方面,F/T颜色控制节点用于响应于接收到颜色改变确认,将解冻命令发送到F/T存储控制器。
在本发明的另一方面,F/T存储控制器用于响应于接收到解冻命令,向写入操作的请求者确认写入操作,其中在由F/T存储控制器接收到冻结命令之后为其发送确认的任何写入操作被认为作为新颜色的一部分被写入。
在本发明的另一方面,控制器用于将作为所述颜色中的任一个的一部分写入的数据异步拷贝到次级站点的对应远程存储控制器。
在本发明的另一方面,轮询控制器用于在将数据作为当前颜色的一部分存储到初级站点的第二数据存储单元上之前,向轮询颜色控制节点轮询以接收当前颜色。
在本发明的另一方面,提供了一种用于跨越多个异构存储控制器而维护颜色和颜色边界的方法,该方法包括:将冻结命令发送到初级数据存储站点的至少一个F/T存储控制器,从而使F/T存储控制器操作以扣留来自写入操作的请求者的写入操作的确认,一旦从每个F/T存储控制器接收到冻结命令的确认,就将初级站点的轮询颜色控制节点的当前颜色改变为新颜色,其中响应于轮询存储控制器的轮询请求,当前颜色可提供给初级站点的至少一个轮询存储控制器,并且在接收到颜色改变的接收确认之后将解冻命令发送到F/T存储控制器,从而使F/T存储控制器操作以向请求者确认写入操作,其中在由F/T存储控制器接收到冻结命令之后为其发送确认的任何写入操作被认为作为新颜色的一部分被写入。
在本发明的另一方面,改变步骤包括将解冻命令发送到轮询颜色控制节点。
在本发明的另一方面,改变步骤包括将解冻命令发送到轮询颜色控制节点。
在本发明的另一方面,F/T颜色控制节点操作以将冻结命令发送到F/T存储控制器和轮询颜色控制节点。
在本发明的另一方面,F/T颜色控制节点操作以响应于从每个F/T存储控制器接收到冻结命令的接收确认,将解冻命令发送到轮询颜色控制节点,以将当前颜色改变为新颜色。
在本发明的另一方面,提供了一种用于跨越多个异构存储控制器而维护颜色和颜色边界的方法,该方法包括:将冻结命令发送到初级数据存储站点的至少一个F/T存储控制器和轮询颜色控制节点,从而使F/T存储控制器操作以扣留来自写入操作的请求者的写入操作的确认,一旦从每个F/T存储控制器接收到冻结命令的确认,就将初级站点的轮询颜色控制节点的当前颜色改变为新颜色,其中响应于轮询存储控制器的轮询请求,当前颜色可提供给初级站点的至少一个轮询存储控制器,并且在接收到颜色改变的接收确认之后将解冻命令发送到F/T存储控制器,从而使F/T存储控制器操作以向请求者确认写入操作,其中在由F/T存储控制器接收到冻结命令之后为其发送确认的任何写入操作被认为作为新颜色的一部分被写入。
在本发明的另一方面,改变步骤包括将解冻命令发送到轮询颜色控制节点。
在本发明的另一方面,F/T颜色控制节点操作以响应于从轮询颜色控制节点接收到冻结命令的接收确认,将解冻命令发送到轮询颜色控制节点。
在本发明的另一方面,F/T颜色控制节点操作以响应于从轮询颜色控制节点接收到解冻命令的接收确认,将解冻命令发送到F/T存储控制器。
在本发明的另一方面,轮询颜色控制节点操作以响应于从F/T颜色控制节点接收到冻结命令和解冻命令中的任一个,将当前颜色改变为新颜色。
在本发明的另一方面,提供了一种用于跨越多个异构存储控制器而维护颜色和颜色边界的方法,该方法包括:将第一冻结命令发送到初级数据存储站点的至少一个F/T存储控制器,从而使F/T存储控制器操作以扣留来自写入操作的请求者的写入操作的确认,在F/T颜色控制节点从每个F/T存储控制器接收到第一冻结命令的接收确认之后,将第二冻结命令发送到轮询颜色控制节点,在F/T颜色控制节点从轮询颜色控制节点接收到第二冻结命令的接收确认之后,将第一解冻命令发送到轮询颜色控制节点,响应于第二冻结和第一解冻命令中的任一个,将初级站点的轮询颜色控制节点的当前颜色改变为新颜色,并且在接收到第一解冻命令的接收确认之后,将第二解冻命令发送到F/T存储控制器,从而使F/T存储控制器操作以向请求者确认写入操作,其中在由F/T存储控制器接收到冻结命令之后为其发送确认的任何写入操作被认为作为新颜色的一部分被写入。
在本发明的另一方面,提供了一种用于部署数据存储系统的方法,该方法包括:安装至少一个存储控制器,其具有第一颜色策略并且用于将数据存储到初级站点的第一数据存储单元上,作为初级站点的当前颜色的一部分;安装至少一个存储控制器,其具有第二颜色策略并且用于将数据存储到初级站点的第二数据存储单元上,作为当前颜色的一部分;以及安装颜色控制节点,其用于向每个控制器提供新颜色信息,同时维护跨越颜色边界的相关写入的完整性。
在本发明的另一方面,提供了一种在计算机可读介质上实施的计算机程序,该计算机程序包括:第一代码段,用于控制至少一个具有第一颜色策略的存储控制器,以将数据存储到初级站点的第一数据存储单元上,作为初级站点的当前颜色的一部分;第二代码段,用于控制至少一个具有第二颜色策略的存储控制器,以将数据存储到初级站点的第二数据存储单元上,作为当前颜色的一部分;以及第三代码段,用于控制颜色控制节点,以向每个控制器提供新颜色信息,同时维护跨越颜色边界的相关写入的完整性。
应当理解,贯穿本说明书和权利要求,对“轮询以接收当前颜色”的引用可以是指接收使用任何公知信息表示技术的颜色信息,包括以数值形式表达颜色,例如,与颜色相关联的序列号。
附图说明
根据下面结合附图的详细描述,将会更充分地领会和理解本发明,其中:
图1是根据本发明优选实施例而构造和操作的、初级和次级数据存储器的系统的简化框图;
图2是根据本发明优选实施例而操作的、用于跨越多个异构存储控制器而维护颜色和颜色边界的方法的简化流程图;
图3是根据本发明优选实施例而构造和操作的、初级和次级数据存储器的系统的简化框图;以及
图4、5和6是根据本发明优选实施例而操作的、用于跨越多个异构存储控制器而维护颜色和颜色边界的方法的简化流程图。
具体实施方式
现在参考图1,其是根据本发明优选实施例构造和操作的初级和次级数据存储器的系统的简化框图。在图1的系统中,初级站点100包括存储控制器104a、104b和104c,其分别耦接到存储单元106a、106b和106c。存储控制器104a、104b和104c管理从主机系统(未示出)对存储单元106a、106b、106c中的卷的输入/输出(I/O)存取。存储控制器104a、104b和104c优选地被配置成通过连接112a、112b和112c将数据异步地拷贝到次级站点102处的对应远程存储控制器108a、108b和108c。根据传统技术,存储控制器104a、104b和104c优选地将在此称作“颜色”的数据写集合周期性地传送到远程存储控制器108a、108b和108c,其中远程存储控制器108a、108b和108c将数据写入到其各自附连的存储单元114a、114b和114c。虽然图1示出了站点100和102处的特定数目的组件,例如,各自三个存储控制器和存储器,但是,应当理解可以使用任何数目的存储控制器和存储单元。
次级站点102可以离初级站点100成百或上千英里。存储控制器对之间的连接112a、112b、112c可以包括专用线路,例如,由长途电信运营商维护的专用光纤网络或连接,具有信道延伸器的长途光纤连接,或者通过诸如存储区域网络(SAN)、主区域网络(LAN)或因特网等网络而延伸。
初级站点100处的主机系统(未示出)可以对存储单元106a、106b和106c中的卷执行输入/输出(I/O)操作。主机系统可以通过在本技术领域内公知的任何网络或连接与存储控制器104a、104b和104c通信。
存储控制器104a、104b、104c、108a、108b和108c优选地包括处理器复合体,并且可以包括在本技术领域内公知的任何存储控制器或服务器,例如,IBM企业级存储服务器(
Figure C200580011469D0013151357QIETU
),3990存储控制器。存储单元106a、106b、106c、104a、114b和114c可以包括存储设备阵列,诸如,简单磁盘集群(JBOD)或独立磁盘冗余阵列(RAID)阵列。
初级站点100处的每个存储控制器104a、104b和104c优选地通过网络118与颜色控制节点110通信,该颜色控制节点110优选地与在相同数据存储站点之内操作的多个存储控制器同时工作,其中不是所有存储控制器具有相同的颜色策略。例如,颜色控制节点110可以维护识别在此被称为“当前颜色”的当前写集合的指示符,用于在通过向F/T存储控制器发出“冻结”命令而致使冻结/解冻(F/T)存储控制器改变到下一写集合/颜色时,轮询存储控制器。在初级站点100处可以采用任意数目的轮询存储控制器和F/T存储控制器及其组合,例如,其中存储控制器104a和104b是F/T存储控制器,其维护当前颜色直至颜色控制节点110向其发出“冻结”命令,并且其中存储控制器104c是轮询存储控制器,其在将写入与颜色相关联之前轮询颜色控制节点110并且请求当前颜色,存储控制器104a、104b和104c根据传统技术向存储器执行该写入作为该颜色的一部分。
现在参考图2,其是根据本发明优选实施例而操作的、用于跨越多个异构存储控制器而维护颜色和颜色边界的方法的简化流程图。图2的方法可以参考图1的初级和次级数据存储系统来理解,其中图2的方法优选地通过存储控制器104a、104b和104c、以及颜色控制节点110来实现。在图2的方法中,当轮询存储控制器104c在作为当前颜色的一部分执行写入之前向颜色控制节点110轮询该颜色时,F/T存储控制器104a和104b维护当前颜色,并且执行所有写入作为该颜色的一部分。仅仅在切换到新颜色之前,例如,根据预定调度,颜色控制节点110向F/T存储控制器104a和104b发出指示新颜色的“冻结”命令。一旦接收到“冻结”命令,F/T存储控制器104a和104b就可以继续执行写入操作,但是扣留来自请求者的写入操作的确认,或者可以完全暂停写入操作。然后,F/T存储控制器104a和104b将“冻结”命令的确认发送到颜色控制节点110。一旦颜色控制节点110从所有F/T存储控制器接收到确认,它就改变其颜色。这样,从该点起,颜色控制节点110通过指示新颜色来响应其从轮询存储控制器104c接收的轮询。然后,颜色控制节点110将“解冻”命令发送到F/T存储控制器104a和104b,其一旦接收到“解冻”命令,就可以执行暂停写入操作(若有的话),并且将在接收到“冻结”命令之后执行的写入操作的确认发送到写入操作的请求者,其中在接收到“冻结”命令之后为其发送确认的所有写入操作被认为已经作为新颜色的一部分被写入。
现在参考图3,其是根据本发明优选实施例而构造和操作的初级和次级数据存储器的系统的简化框图。图3的系统基本上类似于图1的系统,不过显著的例外是初级站点100处的F/T存储控制器104a和104b与F/T颜色控制节点300通信,其中F/T颜色控制节点300通过向F/T存储控制器104a和104b发出“冻结”命令而致使冻结/解冻(F/T)存储控制器改变到下一颜色,而轮询存储控制器104c与轮询颜色控制节点302通信,其中轮询颜色控制节点302担当轮询颜色控制节点并且维护用于轮询存储控制器的当前颜色。
现在参考图4,其是根据本发明优选实施例而操作的、用于跨越多个异构存储控制器而维护颜色和颜色边界的方法的简化流程图。图4的方法可以参考图3的初级和次级数据存储系统来理解,其中图4的方法优选地通过存储控制器104a、104b和104c、轮询颜色控制节点302和F/T颜色控制节点300来实现。在图4的方法中,当轮询存储控制器104c在作为当前颜色的一部分执行写入之前,向轮询颜色控制节点302轮询当前颜色时,F/T存储控制器104a和104b维护当前颜色,并且执行所有写入作为该颜色的一部分。仅仅在切换到新颜色之前,例如,根据预定调度,F/T颜色控制节点300向F/T存储控制器104a和104b发出指示新颜色的“冻结”命令。一旦接收到“冻结”命令,F/T存储控制器104a和104b就可以继续执行写入操作,但是扣留来自请求者的写入操作的确认,或者可以完全暂停写入操作。然后,F/T存储控制器104a和104b将“冻结”命令的确认发送到F/T颜色控制节点300。一旦F/T颜色控制节点300从所有F/T存储控制器接收到“冻结”命令的确认,F/T颜色控制节点300就将命令发送到轮询颜色控制节点302以改变其颜色,其中该命令可以为标准“冻结”或“解冻”命令的形式。一旦轮询颜色控制节点302从F/T颜色控制节点300接收到命令以改变其颜色,轮询颜色控制节点302就改变其颜色,并且将确认发送到F/T颜色控制节点300。这样,从该点起,轮询颜色控制节点302通过指示新颜色来响应其从轮询存储控制器104c接收的轮询。一旦F/T颜色控制节点300从轮询颜色控制节点302接收指示它改变了其颜色的确认,F/T颜色控制节点300就将“解冻”命令发送到F/T存储控制器104a和104b,其一旦接收到“解冻”命令就可以执行暂停的写入操作(若有的话),并且将在接收到"冻结"命令之后执行的写入操作的确认发送到写入操作的请求者,其中在接收到“冻结”命令之后为其发送确认的所有写入操作被认为已经作为新颜色的一部分被写入。F/T颜色控制节点300还可以将“解冻”命令发送到轮询颜色控制节点302,这可以被忽略。
现在参考图5,其是根据本发明优选实施例而操作的、用于跨越多个异构存储控制器而维护颜色和颜色边界的方法的简化流程图。图5的方法可以参考图3的初级和次级数据存储系统来理解,其中图5的方法优选地通过存储控制器104a、104b和104c、轮询颜色控制节点302和F/T颜色控制节点300来实现。在图5的方法中,当轮询存储控制器105c在作为当前颜色的一部分执行写入之前,向轮询颜色控制节点302轮询当前颜色时,F/T存储控制器104a和104b维护当前颜色,并且执行所有写入作为该颜色的一部分。仅仅在切换到新颜色之前,例如,根据预定调度,F/T颜色控制节点300向F/T存储控制器104a和104b发出指示新颜色的“冻结”命令、以及向轮询颜色控制节点302发出该命令。一旦接收到“冻结”命令,F/T存储控制器104a和104b就可以继续执行写入操作,但是扣留来自请求者的写入操作的确认,或者可以完全暂停写入操作。然后,F/T存储控制器104a和104b、以及轮询颜色控制节点302将“冻结”命令的确认发送到F/T颜色控制节点300。一旦F/T颜色控制节点300从所有F/T存储控制器并且从轮询颜色控制节点302接收到确认,F/T颜色控制节点300就将命令发送到轮询颜色控制节点302以改变其颜色,其中该命令可以为标准的“解冻”命令的形式。一旦轮询颜色控制节点302从F/T颜色控制节点300接收到命令以改变其颜色,轮询颜色控制节点302就改变其颜色,并且将确认发送到F/T颜色控制节点300。这样,从该点起,轮询颜色控制节点302通过指示新颜色来响应其从轮询存储控制器104c接收的轮询。一旦F/T颜色控制节点300从轮询颜色控制节点302接收指示其改变了其颜色的确认,F/T颜色控制节点300就将“解冻”命令发送到F/T存储控制器104a和104b,其一旦接收到“解冻”命令就可以执行暂停写入操作(若有的话),并且将在接收到“冻结”命令之后执行的写入操作的确认发送到写入操作的请求者,其中在接收到“冻结”命令之后为其发送确认的所有写入操作被认为已经作为新颜色的一部分被写入。
现在参考图6,其是根据本发明优选实施例而操作的、用于跨越多个异构存储控制器而维护颜色和颜色边界的方法的简化流程图。图6的方法可以参考图3的初级和次级数据存储系统来理解,其中图6的方法优选地通过存储控制器104a、104b和104c、轮询颜色控制节点302和F/T颜色控制节点300来实现。在图6的方法中,当轮询存储控制器106c在作为当前颜色的一部分执行写入之前,向轮询颜色控制节点302轮询当前颜色时,F/T存储控制器104a和104b维护当前颜色,并且执行所有写入作为该颜色的一部分。仅仅在切换到新颜色之前,例如,根据预定调度,F/T颜色控制节点300向F/T存储控制器104a和104b发出指示新颜色的"冻结"命令。一旦接收到“冻结”命令,F/T存储控制器104a和104b就可以继续执行写入操作,但是扣留来自请求者的写入操作的确认,或者可以完全暂停写入操作。然后,F/T存储控制器104a和104b将“冻结”命令的确认发送到F/T颜色控制节点300。一旦F/T颜色控制节点300从所有F/T存储控制器接收到确认,F/T颜色控制节点300就将“冻结”命令发送到轮询颜色控制节点302。一旦轮询颜色控制节点302从F/T颜色控制节点300接收到“冻结”命令,轮询颜色控制节点302就可以改变其颜色。然后,轮询颜色控制节点302将确认发送到F/T颜色控制节点300。一旦F/T颜色控制节点300从轮询颜色控制节点302接收到确认,F/T颜色控制节点300就将“解冻”命令发送到轮询颜色控制节点302。一旦轮询颜色控制节点302从F/T颜色控制节点300接收到“解冻”命令,轮询颜色控制节点302就可以改变其颜色。这样,在接收到“冻结”或“解冻”命令之后,轮询颜色控制节点302可以改变其颜色。然后,轮询颜色控制节点302将“解冻”的确认发送到F/T颜色控制节点300。一旦F/T颜色控制节点300从轮询颜色控制节点302接收到“解冻”的确认,F/T颜色控制节点300就将“解冻”命令发送到F/T存储控制器104a和104b,其一旦接收到“解冻”命令就可以执行暂停的写入操作(若有的话),并且将在接收到“冻结”命令之后执行的写入操作的确认发送到写入操作的请求者,其中在接收到“冻结”命令之后为其发送确认的所有写入操作被认为已经作为新颜色的一部分被写入。
应当理解,可以省略、或者以不同的次序执行在此描述的任一方法的步骤中的一个或多个,而不背离本发明的精神和范围。
虽然可能有或者可能没有参考专用计算机硬件或软件来描述在此公开的方法和设备,但是应当理解,在此描述的方法和设备可以容易地使用传统技术在计算机硬件或软件中实现。
虽然参考一个或多个具体实施例描述了本发明,但是本描述意欲总体上说明本发明,并且不应被解释成将本发明局限于所示实施例。应当理解,本领域的技术人员可以进行各种修改,其虽然在此没有被具体地示出,但仍在本发明的真实精神和范围之内。

Claims (12)

1.一种数据存储系统,包括:第一存储控制器,具有第一颜色策略并且用于将数据存储到初级站点的第一数据存储单元上,作为所述初级站点的当前颜色的一部分;第二存储控制器,具有第二颜色策略并且用于将数据存储到所述初级站点的第二数据存储单元上,作为所述当前颜色的一部分;以及颜色控制节点,用于向所述第一和第二存储控制器中的每个提供新颜色信息,同时维护跨越颜色边界的相关写入的完整性,其中所述第一存储控制器是具有冻结/解冻策略的冻结/解冻存储控制器、即F/T存储控制器,并且其中所述第二存储控制器是具有轮询策略的轮询存储控制器。
2.根据权利要求1所述的数据存储系统,其中所述颜色控制节点用于:维护所述当前颜色,并且响应于所述轮询存储控制器的轮询请求,向所述轮询存储控制器报告所述当前颜色,并且使所述F/T存储控制器改变到新颜色。
3.根据权利要求2所述的系统,其中所述颜色控制节点用于将冻结命令发送到所述F/T存储控制器中的每个。
4.根据权利要求2或3所述的系统,其中所述F/T存储控制器用于响应于接收到冻结命令,扣留来自写入操作的请求者的所述写入操作的确认。
5.根据权利要求4所述的系统,其中所述F/T存储控制器用于响应于接收到冻结命令,执行写入操作。
6.根据权利要求2所述的系统,其中所述颜色控制节点用于在将冻结命令发送到所述F/T存储控制器中的每个之后,并且响应于从所述F/T存储控制器中的每个接收到所述冻结命令的接收确认,将所述当前颜色改变为所述新颜色。
7.根据权利要求2所述的系统,其中所述颜色控制节点用于在改变为所述新颜色之后,将解冻命令发送到所述F/T存储控制器。
8.根据权利要求2所述的系统,其中所述F/T存储控制器用于响应于接收到解冻命令,向写入操作的请求者确认所述写入操作,其中在所述F/T存储控制器接收到冻结命令之后为其发送所述写入确认的所述写入操作中的任一个被认为作为所述新颜色的一部分被写入。
9.根据权利要求2所述的系统,其中所述第一和第二控制器用于将作为所述颜色中的任一个的一部分被写入的数据异步拷贝到次级站点的对应远程存储控制器。
10.根据权利要求2所述的系统,其中所述轮询控制器用于在将数据作为所述当前颜色的一部分存储到所述初级站点的所述第二数据存储单元上之前,轮询所述颜色控制节点以接收所述当前颜色。
11.一种用于跨越多个异构存储控制器而维护颜色和颜色边界的方法,该方法包括:
将冻结命令发送到初级数据存储站点的至少一个冻结/解冻存储控制器、即F/T存储控制器,从而使所述F/T存储控制器操作以扣留来自写入操作的请求者的所述写入操作的确认;
一旦从F/T存储控制器中的每个接收到所述冻结命令的确认,就将所述初级站点的当前颜色改变为新颜色,其中响应于轮询存储控制器的轮询请求,所述当前颜色可提供给所述初级站点的至少一个轮询存储控制器;以及
将解冻命令发送到所述F/T存储控制器,从而使所述F/T存储控制器操作以向所述请求者确认所述写入操作,其中在所述F/T存储控制器接收到所述冻结命令之后为其发送所述确认的所述写入操作中的任一个被认为作为所述新颜色的一部分被写入。
12.一种数据存储方法,包括以下步骤:
控制至少一个具有第一颜色策略的第一存储控制器,以将数据存储到初级站点的第一数据存储单元上,作为所述初级站点的当前颜色的一部分;
控制至少一个具有第二颜色策略的第二存储控制器,以将数据存储到所述初级站点的第二数据存储单元上,作为所述当前颜色的一部分;以及
控制颜色控制节点,以向所述第一和第二存储控制器中的每个提供新颜色信息,同时维护跨越颜色边界的相关写入的完整性,
其中所述第一存储控制器是具有冻结/解冻策略的冻结/解冻存储控制器、即F/T存储控制器,所述第二存储控制器是具有轮询策略的轮询存储控制器。
CNB2005800114694A 2004-05-12 2005-04-25 支持次级存储器的异步更新的用于异构存储控制器的写集合边界管理 Active CN100533396C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0410540.9A GB0410540D0 (en) 2004-05-12 2004-05-12 Write set boundary management for heterogeneous storage controllers in support of asynchronous update of secondary storage
GB0410540.9 2004-05-12

Publications (2)

Publication Number Publication Date
CN101095117A CN101095117A (zh) 2007-12-26
CN100533396C true CN100533396C (zh) 2009-08-26

Family

ID=32526868

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800114694A Active CN100533396C (zh) 2004-05-12 2005-04-25 支持次级存储器的异步更新的用于异构存储控制器的写集合边界管理

Country Status (10)

Country Link
US (1) US8296532B2 (zh)
EP (1) EP1751663B1 (zh)
JP (1) JP4677443B2 (zh)
KR (1) KR100843539B1 (zh)
CN (1) CN100533396C (zh)
AT (1) ATE389207T1 (zh)
CA (1) CA2566503A1 (zh)
DE (1) DE602005005325T2 (zh)
GB (1) GB0410540D0 (zh)
WO (1) WO2005109201A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438247B1 (en) 2010-12-21 2013-05-07 Amazon Technologies, Inc. Techniques for capturing data sets
US20120265932A1 (en) * 2011-04-13 2012-10-18 Jibbe Mahmoud K Method to increase the flexibility of configuration and/or i/o performance on a drive array by creation of raid volume in a heterogeneous mode
US8931107B1 (en) 2011-08-30 2015-01-06 Amazon Technologies, Inc. Techniques for generating block level data captures
US8516210B2 (en) * 2011-12-21 2013-08-20 Microsoft Corporation Application consistent snapshots of a shared volume

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US5734818A (en) * 1994-02-22 1998-03-31 International Business Machines Corporation Forming consistency groups using self-describing record sets for remote data duplexing
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
US6157991A (en) * 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692155A (en) * 1995-04-19 1997-11-25 International Business Machines Corporation Method and apparatus for suspending multiple duplex pairs during back up processing to insure storage devices remain synchronized in a sequence consistent order
JP3414218B2 (ja) * 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US6948038B2 (en) * 2001-07-24 2005-09-20 Microsoft Corporation System and method for backing up and restoring data
JP2005500603A (ja) * 2001-08-14 2005-01-06 ストアエイジ ネットワーキング テクノロジーズ ストレージエリア・ネットワークにおける非同期ミラーリング
US6826666B2 (en) * 2002-02-07 2004-11-30 Microsoft Corporation Method and system for transporting data content on a storage area network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US5734818A (en) * 1994-02-22 1998-03-31 International Business Machines Corporation Forming consistency groups using self-describing record sets for remote data duplexing
US6157991A (en) * 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
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

Also Published As

Publication number Publication date
CA2566503A1 (en) 2005-11-17
GB0410540D0 (en) 2004-06-16
KR100843539B1 (ko) 2008-07-04
DE602005005325D1 (de) 2008-04-24
DE602005005325T2 (de) 2009-03-19
WO2005109201A1 (en) 2005-11-17
US20110138138A1 (en) 2011-06-09
EP1751663A1 (en) 2007-02-14
US8296532B2 (en) 2012-10-23
JP2007537519A (ja) 2007-12-20
ATE389207T1 (de) 2008-03-15
JP4677443B2 (ja) 2011-04-27
KR20070010156A (ko) 2007-01-22
CN101095117A (zh) 2007-12-26
EP1751663B1 (en) 2008-03-12

Similar Documents

Publication Publication Date Title
US6981008B2 (en) Method for duplicating data of storage subsystem and data duplicating system
CN102177508B (zh) 向执行中的程序提供对非本地块数据存储装置的可靠访问
JP4412989B2 (ja) 複数の記憶システムを有するデータ処理システム
CN102652423B (zh) 用于集群选择和协作复制的方法和系统
CN100543690C (zh) 用于管理故障的方法和系统
CN101755257B (zh) 管理在不同的网络上将写入从首要存储器拷贝到次要存储器
US8589616B2 (en) Storage system group including scale-out storage system and management method therefor
CN101206553B (zh) 利用支持处理器的优化数据迁移方法和系统
CN101662495B (zh) 备份方法、主服务器、备份服务器以及备份系统
EP1821186A2 (en) Virtual storage system and control method thereof
CN100495354C (zh) 在耦合会话环境内合并一簇会话的会话信息的方法和系统
CN103793271A (zh) 用于在镜像卷之间进行切换的方法和系统
US8255649B2 (en) Remote copy control method and system in storage cluster environment
JPH1185408A (ja) 記憶制御装置
CN102460401A (zh) 利用变化跟踪进行系统恢复的技术
CN100533396C (zh) 支持次级存储器的异步更新的用于异构存储控制器的写集合边界管理
JP3983516B2 (ja) 記憶装置システム
JP6565560B2 (ja) ストレージ制御装置、及び制御プログラム
US8108639B2 (en) Storage system, method for calculating estimated value of data recovery available time and management computer
US7502899B2 (en) Write set boundary management in support of asynchronous update of secondary storage
CN1821974B (zh) 远程拷贝系统
US8281089B2 (en) Storage system and its initial copy method
US20100250884A1 (en) Storage system, storage device and information storing method

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161215

Address after: Amsterdam

Patentee after: Hitachi Global Storage Technologies Netherlands B. V.

Address before: American New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right

Effective date of registration: 20181122

Address after: American California

Patentee after: Western Digital Technologies, Inc.

Address before: Amsterdam

Patentee before: Hitachi Global Storage Technologies Netherlands B. V.

TR01 Transfer of patent right