CN1604046A - 用于管理关于目标卷与源卷之间关系的信息的方法和系统 - Google Patents

用于管理关于目标卷与源卷之间关系的信息的方法和系统 Download PDF

Info

Publication number
CN1604046A
CN1604046A CNA2004100490581A CN200410049058A CN1604046A CN 1604046 A CN1604046 A CN 1604046A CN A2004100490581 A CNA2004100490581 A CN A2004100490581A CN 200410049058 A CN200410049058 A CN 200410049058A CN 1604046 A CN1604046 A CN 1604046A
Authority
CN
China
Prior art keywords
relationship
relation
new
pointer
data cell
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
CNA2004100490581A
Other languages
English (en)
Other versions
CN100403269C (zh
Inventor
米夏埃尔·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 CN1604046A publication Critical patent/CN1604046A/zh
Application granted granted Critical
Publication of CN100403269C publication Critical patent/CN100403269C/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/2069Management of state, configuration or failover
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供一种方法、系统和程序,用于管理一个目标卷和一个源卷之间的关系。关于至少一个源卷和至少一个目标卷之间的已有关系的信息被保持在内存中,包含:(i)至少一个元素,其中,每个元素表示卷中连续数据单元的范围;(ii)至少一个关系条目,其中每个关系条目表示一个关系;和(iii)至少一个元素指针,使一个元素与一个关系条目相关联,其中,由元素表示的数据单元是通过指针与元素相关联的关系条目所表示的关系的一部分。增加至少一个目标卷和至少一个源卷之间新的关系。此外,在内存中增加表示新关系的新关系条目,在内存中为每个包括在新关系中的包括多个数据单元的元素增加一个新的元素指针,以便使该元素与新关系条目相关联,其中,由元素表示的数据单元是新关系的一部分。

Description

用于管理关于目标卷与源卷 之间关系的信息的方法和系统
技术领域
本发明涉及一种用于管理一个目标卷和一个源卷之间关系的方法、系统和程序。
背景技术
计算系统通常包括:一个或多个主计算机(“主机”),用来处理数据和运行应用程序;多个直接存取存储设备(DASD),用于存储数据;和一个存储控制器,用于控制主机和DASD之间的数据传送。存储控制器,也被称为控制单元或存储导向器,管理对存储空间的存取,所述存储空间由多个以回路体系结构连接的硬盘驱动器组成,另外,这些硬盘驱动器也被称为直接存取存储设备(DASD)。主机可经存储控制器向存储空间传达输入/输出(I/O)请求。
在许多系统中,可以将一个诸如DASD的存储设备上的数据拷贝到同一存储设备或其它存储设备上,从而可以从两个不同的设备提供对数据卷的存取。时间点(point-in-time)拷贝涉及将所有数据从源卷物理拷贝到目标卷,从而使目标卷具有一个时间点的数据拷贝。也可以通过逻辑性地进行数据拷贝,然后只在需要时拷贝数据来进行时间点拷贝,结果推迟了物理拷贝。执行该逻辑拷贝操作以便使目标卷和源卷不可存取的时间最短。
已知的这样一种逻辑拷贝操作是FlashCopy(FlashCopy是国际商业机器公司或“IBM”的注册商标)。FlashCopy涉及在不同装置上建立源卷和目标卷之间的逻辑时间点关系。FlashCopy功能保证直到将具有FlashCopy关系的磁道固化到它在目标盘上的位置之前,该磁道驻留于源盘上。在FlashCopy关系的建立阶段,在源和目标关系表中为正被建立的FlashCopy中所涉及的源和目标记录一个条目。每个增加的条目保持关于该FlashCopy关系的所有所需信息。在已经将来自源区域(extent)的所有FlashCopy磁道拷贝到目标区域或者收到撤消命令时,都从关系表中删去关于该关系的条目。
目标关系表还包括位图,所述位图识别该FlashCopy关系所涉及的磁道中的哪些尚未被拷贝,从而将其作为受保护磁道。目标装置中的每个磁道由位图中的一位来表示。在建立相应的磁道作为一个FlashCopy关系的目标磁道时,设定该目标位。当已经从源位置拷贝了该相应磁道和由于对源装置或目标装置的写入或后台拷贝任务而降级到目标装置时,重置该目标位。
现有技术中,作为在FlashCopy操作期间建立逻辑时间点关系的一部分,必须将包括在该FlashCopy中的源超高速缓存中的所有磁道降级到物理源卷,例如,源DASD,并且必须废除包括在该FlashCopy中的目标超高速缓存中的所有磁道。在1999年7月2日提交的、题为“用于从时间点开始保持电子数据的方法、系统和程序(Method,System,and Program for Maintaining Electronic Data asof a Point-in-Time)”的共有未决和已转让的美国专利申请No.09/347,344中更详细地描述了FlashCopy操作,在本文中全文引用该专利申请作为参考。
一旦建立了逻辑关系,主机就可以对源卷和目标卷的数据进行即时存取,并且该数据可以作为后台操作的一部分而被拷贝。对作为FlashCopy关系中的目标且不在超高速缓存中的磁道的读取触发了升级截取,这使得在尚未拷贝源磁道时和在从目标超高速缓存存取该磁道之前,对应于所请求的目标磁道的源磁道被升级到目标超高速缓存。这确保了目标中具有在FlashCopy操作的时间点的源拷贝。而且,任何对尚未被拷贝的源装置上的磁道的写入将触发降级截取,这使得源装置上的磁道被拷贝到目标装置。
发明内容
本发明提供一种方法、系统和程序,用于管理一个目标卷和一个源卷之间的关系。关于至少一个源卷和至少一个目标卷之间的已有关系的信息被保持在内存中,包含:(i)至少一个元素,其中,每个元素表示卷中连续数据单元的范围;(ii)至少一个关系条目,其中每个关系条目表示一个关系;和(iii)至少一个元素指针,使一个元素与一个关系条目相关联,其中,由元素表示的数据单元是通过指针与元素相关联的关系条目所表示的关系的一部分。增加至少一个目标卷和至少一个源卷之间新的关系。而且,在内存中增加表示新关系的新关系条目,在内存中为每个包括在新关系中的包括多个数据单元的元素增加一个新的元素指针,以便使该元素与新关系条目相关联,其中,由元素表示的数据单元是新关系的一部分。
在其它实现中,为新关系中的每个源卷和目标卷增加新关系条目和至少一个元素指针。
而且,创建至少两个新元素来代替表示在新关系中的数据单元和不在新关系中的数据单元的一个元素。
本发明还提供了一种方法、系统和程序,用于管理一个目标卷和一个源卷之间的关系。一个内存包括关于至少一个源卷和至少一个目标卷之间关系的信息,包含:(i)至少一个元素,其中每个元素表示卷中连续数据单元的范围;(ii)至少一个关系条目,其中每个关系条目表示一个关系;和(iii)至少一个元素指针,使一个元素与一个关系条目相关联,其中由元素表示的数据单元是通过指针与元素相关联的关系条目所表示的关系的一部分。接收关于一个主体(subject)关系的撤消请求,并响应该撤消请求,在内存中删除将一个元素与表示该主体关系的关系条目相关联的至少一个指针。
本发明还提供了一种方法、系统和程序,用于管理一个目标卷和一个源卷之间的关系。一个内存包括关于至少一个源卷和至少一个目标卷之间关系的信息,包含:(i)至少一个元素,其中,每个元素表示卷中连续数据单元的范围;(ii)至少一个关系条目,其中每个关系条目表示一个关系;和(iii)至少一个元素指针,将一个元素与一个关系条目相关联,其中由元素表示的数据单元是通过指针与元素相关联的关系条目所表示的关系的一部分。启动恢复过程,以在内存中重建关于至少一个源卷和至少一个目标卷之间的关系的信息,包括源元素和目标元素,源关系条目和目标关系条目以及分别使源元素和目标元素与源关系和目标关系相关联的源指针和目标指针。
上述方案提供了关于源卷和目标卷之间关系的信息,以及内存中这种信息的关联,以便能利用这种关系信息。
附图说明
现在参考附图,图中相似的参考数字始终表示相应的部分:
图1说明依据本发明各实施方案的、源卷中的磁道和目标卷中的磁道之间的关系;
图2和3说明依据本发明各实施方案的、源卷中的磁道和目标卷中的磁道之间的关系;
图4、5、6、7和8说明依据本发明各实施方案的、保持用来表示拷贝关系中源磁道和目标磁道的关系的信息的实施例;
图9说明依据本发明各实施方案的、初始化内存中的关系信息的操作;
图10a和10b说明依据本发明各实施方案的、更新内存中的关系信息,以便反映新的关系的操作;
图11、12a和12b说明依据本发明各实施方案的、更新内存中的关系信息,以便反映从关系撤消磁道的操作;
图13说明依据本发明各实施方案的、在从超高速缓存降级或升级磁道时考虑关系的操作;
图14说明依据本发明各实施方案的、执行恢复过程的操作;和
图15说明了在网络环境下诸如主机和存储控制器以及任何其它计算装置等计算部件的体系结构。
具体实施方式
在下面的描述中,参考附图说明了本发明的几个实施例。应当理解,在不脱离本发明范围的情况下可以使用其他实施例以及进行结构和操作上的改变。
图1示出了实现本发明各方案的计算体系结构。存储控制器2接收主机系统4a、4b...4n经网络6发出的面向存储设备8a、8b的输入/输出(I/O)请求,存储设备8a、8b分别配置成具有卷(例如,逻辑单元号,逻辑装置等)10a、10b...10n和12a、12b...12m,其中,m和n可以是不同的整数值或相同的值。存储控制器2还包括用于存储对源存储器8a中磁道的I/O数据的源超高速缓存14a和用于存储对目标存储器8b中磁道的I/O数据。源超高速缓存14a和目标超高速缓存14b可以包括独立的存储设备或同一存储设备的不同部分。超高速缓存14a、14b用于缓存在主机4a、4b...4n和内存8a、8b之间传送的读数据和写数据。此外,尽管超高速缓存14a和14b分别是指用于保持一个时间点拷贝关系中的源或目标磁道的源超高速缓存和目标超高速缓存,但超高速缓存也可以同时存储不同时间点拷贝关系的源和目标磁道。
存储控制器2还包括系统内存16,它可以用易失性和/或非易失性装置实现。在系统内存16中执行存储管理软件18以管理不同存储设备8a、8b之间的数据拷贝,例如在FlashCopy操作期间发生的逻辑拷贝类型。存储管理软件18还可以执行本文所述的拷贝操作以外的操作。系统内存16可以是与超高速缓存14a、14b分离的存储设备或其一部分。存储管理软件18在系统内存16中维持一个内存(in-memory)关系表20,为存储控制器2管理的每个卷提供与时间点拷贝关系有关的信息,其中,可以是每个卷有一个内存关系表20。在特定的实施方案中,磁道受拷贝关系支配。但是,诸如磁道的块、子块等其他数据单元也可以受拷贝关系支配,其中,针对该关系中的每个源数据单元,都有一个相应的目标数据单元。
存储控制器2还包括复合处理器(未示出),可以包含现有技术中任何已知的存储控制器或服务器,例如IBM的企业存储服务器(Enterprise Storage Server(ESS)),3990存储控制器等(Enterprise Storage Server是IBM的注册商标)。主机4a、4b...4n可以包含现有技术中的任何计算装置,例如服务器,大型机,工作站,个人计算机,手持计算机,膝上型电脑,电话装置,网络设备等。存储控制器2和主机4a、4b...4n经网络6进行通信,网络6包含存域网(SAN)、局域网(LAN)、企业内部互联网,因特网,广域网(WAN)等。存储系统8a、8b可以包含存储设备阵列,例如盘束(JBOD),冗余独立磁盘阵列(RAID),虚拟装置等。
可以在源卷上的磁道区域和目标卷上的磁道区域之间建立时间点拷贝,其中,关系中涉及的源卷和目标卷的磁道数量可以相同或不同。在特定实施例中,源区域和目标区域相对于它们相应卷的开头的偏移量可以不同。这能识别出数据组以例如,将一组离散数据组合并成一组连续磁道。图2示出了位于源卷54中部的不连续的源区域50和52如何被重定位到目标卷60开头的目标区域56和58以及以不同的顺序出现在源54和目标60中。
所述实施例还允许每个磁道有多重时间点拷贝关系,其中给定盘区域(范围)的磁道可以同时是不止一个时间点拷贝关系的一部分。磁道可以属于源区域也可以属于目标区域。此外,磁道可以属于多重源关系,但在特定实施例中,仅允许一种目标关系。图3示出了每个磁道的多重关系,其中,源卷70具有映射到目标卷80中的不同目标区域82、84、86和88的区域(磁道范围)72、74、76和78。源区域72和74与目标区域82有关,而源区域74和76与目标区域84有关,从而这两个关系共享一个磁道重叠区域74。此外,源区域78与多个目标区域86和88有关,而源区域74也与多个目标区域82和84有关。尽管在该例中同一卷中示出了多个目标,但目标磁道可以在不同卷上。
当在一个源卷磁道区域和一个目标卷区域之间建立时间点拷贝关系时,与该关系有关的持久性信息可以存储在源卷和目标卷10a、10b...10n、12a、12b...12n中的卷元数据中。关于图4,每个源卷和目标卷的卷元数据100可以包括元数据成分,例如关系元数据102,关系位图元数据104和卷生成号。关系元数据102包括关系块106a、106b...106n,每个关系块包括对该卷中磁道范围的一个时间点拷贝有关的信息。图5进一步示出了关系块的细节,例如图4中的关系块106a、106b...106n的细节,包括:
关系ID110:提供唯一的关系标识符。源和目标都用这个号码来指定关系。
关系角色112:指示卷中的磁道区域是否为该关系中的源或目标。
区域114:识别包括了在时间点拷贝关系中所涉及的磁道区域(范围)的卷中的磁道。
卷对116:识别该关系中的另一个卷。
关系块106a、106b...106n可以排列成链接列表。关系元数据102中未被使用的块可以存储在可用于把关系信息存储成关系块的空闲(free)块的空闲列表中。关系块106a、106b...106n可以是固定长度且有索引的块,以便可通过索引进行存取。
位图元数据104包含一个或多个用于为卷中每个磁道提供一位的位图数据结构。如果该位为“on”,则表示对应的目标磁道还不包括来自源的时间点数据,数据必须被拷贝过来。与区域范围对应的位值可以直接映射到关系位图元数据104的偏移量。
图6示出了内存关系表20的数据结构。每个由存储控制器2管理的卷可以有一个内存关系表20。该内存关系表20包括多个元素130a、130b、130c和130d,其中,每个元素表示相应卷中邻接磁道的区域。图7示出了每个元素130,例如图6中元素130a、130b、130c和130d的内容,包括表示卷中邻接磁道区域的开始和结束的开始磁道132和结束磁道134以及指向一个或多个关系条目140a、140b和140c的指针136的阵列。关系条目可以在也可以不在链接列表中。而且,多个元素可以指向同一关系条目140a、140b和140c。图6示出了元素130a、130b、130d表示包括在时间点拷贝关系中的磁道的范围,如指向关系条目140a、140b和140c的指针136a、136b、136c和136d所表示的,提供与包括由元素130a、130b、130d表示的磁道的关系相关的信息。元素130c表示未包括在时间点关系中的磁道范围,如缺乏指向关系条目140a、140b和140c的指针所示。如果一个元素例如元素130a包括指向不同关系条目140a和140b的指针136a和136b的阵列,则该磁道范围与两个关系有关,表示这个区域是一个源对应于多个目标。
图8示出了可以包括在每个关系条目140、例如图6中的关系条目140a、140b和140c中的内容,包括某个来自卷元数据100中相应关系块106a、106b...106n的持久性关系信息150,例如关系角色112和/或关系ID110(图5),以及指向包括用于由关系条目140表示的关系的持久性信息的关系块106的指针152。关系条目140中的指针152如图6中的指针152a、152b和152c所示。指针152还包含对关系元数据162中相应关系块的索引。图6还示出了卷元数据160的关系元数据162部分中由指针152a、152b和152c寻址的关系块164a、164b和164c。内存关系表(IMRT)20还包括用于识别内存关系表20所属的卷10a、10b、10n、12a、12b...12m的卷信息166。
利用所述数据结构在持久性内存中维持在所存储的、具有卷10a、10b、10n、12a、12b...12m(图1)的卷元数据100中的大部分关系信息。而且,在特定实施例中,每个关系成员,如源和目标将独立维持关于其各自卷的关系元数据。以这种方式,如果关系中的一个卷坏了,则存储控制器2仍能确定与坏卷具有时间点拷贝关系的源或目标实际上是否为关系的一部分,从而需要在降级和升级操作期间进行特殊处理。
图9示出了在存储管理软件18中实现的逻辑,以根据存储控制器2所管理的卷10a、10b、10n、12a、12b...12m中的卷元数据100来初始化内存关系表(IMRT)20。一旦开始初始化(在块200),存储管理软件18为每个可访问存储控制器2的卷执行块202至226的循环。如果(在块208)在被访问的卷i的卷元数据100中没有关系块106,则控制进入针对下一个卷的块226,并且不为卷i构建IMRT20。可以在卷i的卷结构中进行没有该卷的IMRT20的易失性指示。或者,如果没有关系块,则可以构建一个为指向表示没有针对那个卷的关系的NULL元素的IMRT20。反之,如果(在块208)存在针对卷i的关系块106,则在内存16中构建(在块212)一个指向无关系块的IMRT20。然后对卷i中的每个关系块j执行块214至224的循环。对于每个关系块j来说,从第一个块到最后一个块,在IMRT20中建立(在块216)一个或多个以开始字段132和结束字段134(图7)来进行指示的元素130,其包括标识关系块j中的磁道区域114(图5)的开始磁道和结束磁道。然后,将所建立的元素与表示卷i中的邻接在先磁道的元素相链接(在块218)。存储管理软件18还在IMRT20中构建(在块220)一个包括来自持久性关系块j的关系信息以及指向卷元数据中被访问的关系块j的指针152的关系条目140,所述关系信息例如为关系ID和角色150(图8)。而且,可以把链接从一个关系增加到前一个关系中。该指针可以包含对关系块106a、106b...106n(图4)阵列的索引。关系条目可以组成一个阵列,其中,阵列中每个关系条目140a、140b和140c的索引可以由相应关系块164a、164b和164c的索引确定。控制(在块222)返回块214,以处理卷元数据102中的下一关系块106。在块208或者在处理了卷i的所有关系块之后,控制(在块226)返回块202,以处理与存储控制器2所管理的设备中的另一个卷有关的信息。
作为图9所示逻辑的结果,在内存16中为每个存储控制器2所管理的、包括该关系的卷增加一个IMRT20,该IMRT20用于在用户对包括在一个时间点拷贝关系中的磁道执行I/O时,使存储控制器2维持时间点拷贝关系的数据完整性。
图10a和10b示出了由存储管理软件18执行的、用于更新新建的时间点拷贝关系中源卷和目标卷的IMRT的操作。关于图10a,一旦开始(在块250)IMRT的更新以反映一个增加的关系,就首先对关系中的源卷、然后对目标卷执行块252至282的循环。在块254,通过在关于该新关系的每个提供信息中增加关系块以及更新指示新关系中的所有磁道都未从源拷贝到目标的关系位图104,来更新卷元数据100(先对源然后对目标)。在把关于该关系的信息增加到持久性元数据上之后,在IMRT20中为该卷(源或目标)生成一个包括特定关系信息150(图8)的关系条目140(在块256),并为该关系条目140生成一个指向源或目标卷中的持久性关系块164a、164b、164c的指针152,从而使内存中的关系表示(关系条目140)和内存中的相关持久性关系块106相关联。存储管理软件18则定位(在块258)包括新关系中的磁道区域的一个或多个元素130。
如果(在块262)由元素i表示的所有磁道都在新关系的磁道区域内,则增加一个指针136(在块264),使元素i和表示该新关系的关系条目140相关联。反之,如果(在块262)元素i所表示的磁道中只有一部分与新关系中的磁道区域相重叠,则参照图10b,确定(在块266)元素i是否包括该新关系中的磁道区域的第一个磁道。如果元素i(块266的否分支)包括新关系中的磁道区域的最后一个磁道,则用两个新元素代替元素i(在块268),其中,第一个新元素包括和关系区域相重叠的各磁道并且以新关系中的磁道区域的最后一个磁道结束,而第二个新元素包括不和关系区域相重叠的各磁道。如果元素i(块266的是分支)包括区域的第一个磁道,则用两个新元素代替元素i(在块270),其中,第一个新元素i包括不和该关系区域相重叠的各磁道,而第二个新元素j包括和该关系区域相重叠的各磁道并且以该关系区域中的第一个磁道为开始。如果(在块272)元素j包括是该区域的最后一个磁道、但不是元素j中的最后一个磁道的磁道,则对元素j执行块268的操作(在块274),以进行进一步的分离,提取出在元素j末尾处不和该区域重叠的各磁道并且把这些不重叠磁道放在另一个元素中。可以在定位被替换元素的地方、元素的链接列表中增加两个或三个新元素。
用两个或三个新元素替换元素i之后,为两个或三个新元素130增加(在块276)一个或多个指向由被替换元素i指向的某些关系条目的指针136。然后,为包括新关系中各磁道的新元素增加(在块278)一个指针130,其指向已创建的关系条目140,以使表示该关系区域中各磁道的新元素与表示该关系的关系条目相关联。然后,控制为包括该新关系中各磁道的下一被定位元素而返回(在块280)图10a中的块260。在处理了该新关系中源卷的所有相关元素之后,控制返回(在块282)块252,以更新目标卷的IMRT20,从而反映出增加的时间点拷贝关系。
图11示出了由存储管理软件18执行的、用以撤消或终止一个完整关系的操作。图11的操作可以在时间点拷贝关系中的所有磁道已经从源卷拷贝到目标卷之后执行。或者,可以通过管理员决定结束一个完整的关系来撤消该完整的关系。一旦启动撤消一个完整关系的操作(在块300),存储管理软件18就从源卷和目标卷中的关系元数据102中确定(在块302)被删除的关系的源磁道和目标磁道的区域。撤消请求可以提供关系区域,然后可以用于查询IMRT20和/或关系元数据102以定位源卷和目标卷中的卷元数据,包括关系中的指定区域114或关系ID 110(图5)。然后,首先对被撤消关系中的目标卷、然后对源卷执行块304至326的循环。在块306,删除表示被撤消关系的源和目标卷元数据102中的关系块106。在表示被删除的关系的(目标和源)卷的IMRT20中,删除(在块308)关系条目140。然后,存储管理软件18定位(在块310)一个或多个指向被删除的关系条目140的元素130,并从所定位元素中删除(在块312)指向被删除的关系条目140的指针136。
在删除了与被撤消关系有关的信息之后,存储管理软件18在块314开始进行合并一些指向相同的关系条目或无关系条目的元素的处理。在块314,存储管理软件18访问IMRT20中与被删除区域相重叠的第一个元素130a(图6)并确定(在块316)零或多个指向相同的关系条目或所有指向无关系条目的后续邻接元素作为被访问元素。如果(在块318)定位了一个或多个后续元素130,则用一个表示被访问和定位元素中的所有同样具有零或更多个指针136的后续磁道的元素来代替(在块320)该被访问元素和所有被确定的后续元素。如果(在块318)没有定位后续元素130,则(在块322)确定在最后一个被访问元素(如果在块318的否分支未进行合并)之后或最后一个被合并的元素(如果在块320进行了合并)之后是否存在一个以上的元素。如果还有可以合并的元素,则存储管理软件18访问(在块324)最后一个被访问元素(如果未发生合并)或被定位的合并元素(如果发生合并)之后的元素。在访问下一个元素之后(在块324),控制返回块316,试图把下一个被访问的元素与后续元素合并。如果(在块322)没有多个用于合并的元素,则控制返回(在块326)块304,以从源IMRT20中删除该被撤消的关系。
图12a和12b示出了在存储管理软件18中执行的、用以从时间点拷贝关系的一个区域中删除一个邻接磁道子集的操作。如果一个关系区域中的部分磁道已被从源复制到目标,则执行该操作,以使这种在源和目标中被拷贝的磁道可用于其它时间点关系。而且,可以在其他状况下、例如响应管理员的请求,从一个区域中删除磁道。参照图12a,一旦启动部分撤消操作(在块350)以撤消一个关系区域中的一个磁道子集,则从源卷和目标卷中的关系元数据102中确定被删除关系的源和目标磁道的区域。撤消请求可以提供关系ID或关系区域,然后用于查询关系元数据102,以定位包括与要被局部撤消的关系有关的元数据的源卷和目标卷。首先对该关系中的目标卷、然后对源卷执行图12b中块354至378的循环,以从属于该关系的磁道区域中撤消一个磁道子集。在块356,存储管理软件18定位一个或多个包括要被局部撤消的各磁道的元素130。对每个被定位的、包括要被撤消的磁道的元素i执行图12b中的块358至372的内循环。如果(在块360)由元素i表示的所有磁道都要从该关系中被撤消,则删除元素i中指向要被撤消的关系条目140的指针136(在块362)。
如果(在块360)不是所有由元素i表示的磁道都被撤消,则确定(在图12b中的块364)元素i是否包括要从关系中撤消的磁道范围中的最后一个磁道。如果元素i包括要撤消的区域中的最后一个磁道(块364的否分支),则用两个新元素来代替元素i(在块366),其中,第一个新元素包括与关系区域相重叠的各磁道并以正被撤消的磁道范围内的最后一个磁道结束,而第二个新元素表示不与正被撤消的各磁道相重叠的磁道。如果(块364的是分支)元素i包括要撤消的区域的第一个磁道,则用两个新元素来代替元素i(在块368),其中,第一个新元素i包括不与正被撤消的各磁道相重叠的磁道,而第二个新元素j包括与正被撤消的各磁道重叠的磁道并以正被撤消的磁道区域内的第一个磁道为开始。如果(在块370)元素j包括是该区域的最后一个磁道、但不是元素j中的最后一个磁道的磁道,则对元素j执行块366的操作(在块372),以进行进一步的分离,提取出元素j的末尾处不与该区域相重叠的各磁道并将这些不重叠磁道放置在另一个元素中。可以在定位被替换元素处、元素链接列表中增加两个或三个新元素。在块366或块370,控制返回块374,以便为两个新元素增加一个或多个指向由被替代元素i所指向的某些关系条目的指针136,并从该包括要撤消的各磁道的新元素中删除(在块376)指向关系条目140的指针136。然后,控制返回(在块378)块358,以从要撤消的关系中删除要撤消的某些磁道。在从要撤消的关系中删除磁道后,存储管理软件18执行(在块380)图11中的步骤314至324,以合并指向相同关系条目或指向无关系条目的邻接元素130。在从目标卷的关系中删除这些磁道后,控制返回(在块382)块354,以从源卷中删除该关系中的各磁道。
图12a和12b中的操作结果是从源和目标IMRT20中的关系以及卷元数据中删除了在一个关系区域中的一个磁道子集,同时保留了关于那些不被局部撤消的磁道的关系。在撤消后,从该区域中被撤消的磁道可在所建立的其它关系中使用。而且,可以不必执行附加的截取检查就能实现这些被撤消磁道的降级和升级。
在另一个实施例中,当撤消一部分关系时可以不使用图12的逻辑。相反,可以通过执行图10a、10b的操作来增加一个或多个关系以代替一个旧的(先前存在的)关系,其中,新关系中的源区域和/或目标区域是旧关系区域的子集。随后,可以利用图11的逻辑删除构成旧(先前存在)的关系的各区域。
图13示出了根据本发明实施例的、由存储管理软件18执行的操作,以利用内存16中的IMRT20执行降级和升级操作。一旦接收(在块400)在超高速缓存14a、14b中降级或升级一个磁道的请求,确定(在块402)包括该要降级或升级的磁道的卷的IMRT20,并定位(在块404)所确定的IMRT20中包括该要升级或降级的磁道的元素130。如果(在块406)被定位的元素包括一个指向关系条目140的指针136(图7),则存储管理软件18启动(在块408)升级或降级截取例程,以确保在进行升级或降级时该时间点拷贝关系的数据完整性。升级或降级截取将确保在执行目标升级或源降级之前,源磁道被拷贝到时间点拷贝关系中的相应目标磁道或升级到时间点拷贝关系中的目标超高速缓存14b。关系条目140被处理成定位关系元数据102和位图102,以确定这些磁道是否已经从源拷贝到目标,和确定如何处理升级或降级截取。反之,如果(在块406)被定位的元素130不包括一个指向关系条目140的指针136,则执行该磁道的降级或升级。
图14示出了存储管理软件18执行的启动错误恢复过程的操作,可以响应掉电后的冷启动、热启动初始化或不掉电情况下的重启、或其他检测到的错误状态来执行这些操作。一旦(在块450)启动错误恢复过程,存储管理软件18就执行图9中的操作,以便为存储控制器2所管理的所有卷在内存中重建IMRT20。在特定实施例中,只有在内存丢失或这些IMRT处于不一致状态或被损坏时重建该IMRT。然后,存储管理软件18(在块454)执行确认操作,通过检查在具有相同关系ID的IMRT中是否都存在一个与每个表示一个关系中的源的源关系条目相应的目标关系条目来确认这些重建的IMRT20。如所讨论的,关系条目140可以包括关系信息150(图8),例如定义该关系条目140的卷是否用于一个源或目标以及关系ID。一旦定位了一个针对源的关系条目140,存储管理软件18就可以查询相同或不同IMRT20中的其他关系条目140以及非易失性关系元数据162中的信息,以确定一个IMRT是否包括一个指示具有相同关系ID的目标的关系条目140。如果一个目标关系条目未被建立在一个IMRT20内(在块456),则(在块458)控制执行图11中的块304-326,以删除关系元数据102中的关系块104a、104b...104n和从源IMRT20中删除该关系条目140。
如果(在块456)具有对应于每个被定位的源关系条目的目标关系条目,则存储管理软件18(在块460)执行确认操作,通过检查对于每个表示一个关系中的目标的目标关系条目而言,在具有相同关系ID的IMRT中是否具有与之相应的源关系条目来确认这些所建立的IMRT20。反之,对一个关系中的每个源亦然。一旦定位了一个针对一个目标的关系条目140,存储管理软件18则查询相同或不同IMRT20中的其他关系条目140以确定一个IMRT是否包括这样一个关系条目140,其关系信息150指示该关系条目140针对一个具有相同关系ID的源。如果(在块462)一个源关系条目未建立在一个IMRT20内,则(在块464)控制执行图11中的块304-326,以删除目标关系元数据102中的关系块104a、104b...104n和从目标IMRT20中删除该关系条目140。
附加实施方式细节
上述用于建立和管理一个时间点拷贝关系的技术可以作为方法、设备或利用标准编程和/或工程技术而制造的产品来实施以产生软件、固件、硬件或其任意组合。本文所用的术语“制造产品”指在硬件逻辑(例如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)中实现的代码或逻辑,或者计算机可读介质,诸如磁存储媒体(例如:硬盘驱动器,软盘,磁带等)、光存储器(CD-ROM,光盘等)、易失性和非易失性存储设备(例如,EEPROM,ROM,PROM,RAM,DRAM,SRAM,固件,可编程逻辑等)。可以通过复合处理器来访问和执行计算机可读介质中的代码。还可以通过传输媒体或经网络从文件服务器来访问在最佳实施例中被执行的代码。在这些情况下,执行代码的制造产品可以包括传输媒体,例如网络传输线、无线传输媒体、通过空间传播的信号、无线电波、红外信号等。从而,“制造产品”可以包括嵌入了代码的媒体。此外,“制造产品”可以包含嵌入、处理、执行代码的硬件和软件部分的组合。当然,本领域的技术人员知道,可以在不脱离本发明范围的情况下对本发明作出修改和变形,制造产品可以包括任何现有技术中已知的信息承载媒体。
已经说明了用于建立一个逻辑时间点拷贝关系和与配置在高可用性是极其重要的关键数据环境中的系统一起使用的实施方式。但是,本领域的技术人员可以理解,本文所述的时间点拷贝操作可以适用于高可用性不是绝对必要的非关键数据所使用的存储系统。
可以在同一存储设备或分离的存储设备中实现源和目标超高速缓存。
可以在源和目标磁道具有相同或不同磁道号时使用上述用于管理时间点拷贝关系的技术。
在所述实施方案中,所述关系涉及不同卷的磁道间的时间点拷贝关系。在另一个实施方案中,该关系可以包含现有技术中已知的其它类型的拷贝或数据关系。
图9-14中的图示逻辑示出了按特定顺序发生的特定事件。在另一个实施方案中,可以以不同的顺序执行、修改或删除特定操作。而且,可以在上述逻辑中增加步骤,并且仍符合上述实施方案。此外,本文所述操作可以顺序发生,也可以并行地处理某些特定操作。此外,可以通过单个处理单元或分布式处理单元来执行操作。
变量n和m用于表示对某些所述元素可变的整数,在不同情况下使用时,可以指示相同或不同的整数值。
图15示出了诸如图1所示的主机和存储控制器等网络组件的计算机体系结构500的一个实施方案。体系结构500可以包括处理器502(例如微处理器),内存504(例如易失性存储设备)和存储器506(例如诸如磁盘驱动器、光盘驱动器、磁带驱动器等非易失性存储器)。存储器506可以包含一个内部存储设备或附加存储设备或网络可访问的存储器。存储器506中的程序被加载到内存504中,并由处理器502按现有技术已知的方式执行。体系结构还包括一个能和网络进行通信的网卡508。输入设备510用于将用户输入提供给处理器502,可包括键盘、鼠标、手写笔、麦克风、触摸感应显示屏或现有技术中已知的其他激活或输入机构。输出设备512能够展现从处理器502或其他部件传送来的信息,例如显示器、打印机、存储器等。
为了例示性地说明,已经描述了本发明的各种实施方案,但这些实施方案并不能穷尽和限制本发明的公开内容。可以根据以上教导对本发明作出各种修改和变形。本发明的范围不应受到具体实施例的限制,而是由权利要求书的内容来限定。以上说明、示例和数据提供了对本发明的制造和使用的完整说明。由于可以在不脱离本发明精神和范围的情况下得到本发明的多种实施例,所以本发明的范围由权利要求书的内容限定。
所述实施例提供了用于管理一个时间点拷贝关系的技术,这种时间点拷贝关系允许一个关系中的源磁道和目标磁道具有不同的磁道号。在建立点拷贝关系时,允许一个关系中的源磁道和目标磁道属于不同的磁道号提供了额外的灵活性,并且允许建立时间点拷贝关系的更多组合。

Claims (40)

1.一种用于管理一个目标卷和一个源卷之间的关系的方法,包含:
(a)在内存中保持关于至少一个源卷和至少一个目标卷之间的一个已有关系的信息,包含:
(i)至少一个元素,其中每个元素表示卷中连续的数据单元的范围;
(ii)至少一个关系条目,其中每个关系条目表示一个关系;和
(iii)至少一个使一个元素与一个关系条目相关联的元素指针,其中由该元素表示的数据单元是由通过指针与该元素相关联的该关系条目所表示的关系的一部分;
(b)在至少一个目标卷和至少一个源卷之间增加一个新的关系;
(c)在内存中增加一个表示该新关系的新关系条目;
(d)在内存中为每个包括该新关系所包括的多个数据单元的元素增加一个新元素指针,以使该元素与该新关系条目相关联,其中由该元素表示的数据单元是该新关系的一部分。
2.根据权利要求1所述的方法,其中,所保持的信息还包含:
一个针对每个关系条目的关系指针,用于使该关系条目与卷元数据相关联,其中卷元数据提供与该关系条目所表示的关系相关的信息。
3.根据权利要求1所述的方法,其中,为该新关系中的源卷和目标卷增加新关系条目和所增加的至少一个元素指针。
4.根据权利要求1所述的方法,还包含:
创建至少两个新元素来代替一个元素,所述至少两个新元素表示该新关系中的数据单元以及表示不在该新关系内的数据单元。
5.根据权利要求4所述的方法,其中,至少两个新元素中的一个元素仅包括在该新关系中的数据单元,而至少两个新元素中的一个元素仅包括不在该新关系内的数据单元,其中所增加的一个新元素指针使仅包括该新关系中的数据单元的该新元素与该新关系条目相关联。
6.根据权利要求4所述的方法,还包括:
如果被替换的元素与一个表示在增加该新关系之前已有的关系的一个关系条目相关联,则在内存中为每个新元素增加一个元素指针,用于使该新元素与和该被替换元素相关联的关系条目相关联。
7.一种用于管理一个目标卷和一个源卷之间的关系的方法,包含:
(a)在内存中保持与至少一个源卷和至少一个目标卷之间的一个关系相关的信息,包含:
(i)至少一个元素,其中每个元素表示卷中连续的数据单元的范围;
(ii)至少一个关系条目,其中每个关系条目表示一个关系;和
(iii)使一个元素与一个关系条目相关联的至少一个元素指针,其中由该元素表示的数据单元是由通过指针与该元素相关联的该关系条目所表示的关系的一部分;
(b)接收针对一个主体关系的撤消请求,
(c)响应该撤消请求,删除内存中至少一个用以使一个元素与表示该主体关系的关系条目相关联的指针。
8.根据权利要求7所述的方法,其中,该撤消请求包含一个撤消该主体关系的请求,所述方法还包含:
响应该请求,删除内存中表示该主体关系的关系条目,其中内存中每个用以使一个元素与表示该主体关系的关系条目相关联的指针被删除。
9.根据权利要求8所述的方法,还包含:
确定至少两个表示邻接数据单元的元素是否与至少一个相同的关系条目相关联;
用一个新元素代替所确定的至少两个元素,所述新元素表示被替换的至少两个元素中的所有连续数据单元;
增加至少一个元素指针,使该新元素与每个和该被替换的至少两个元素相关联的关系条目相关联。
10.根据权利要求7所述的方法,其中,该撤消请求包含一个撤消与该主体关系相关联的数据单元子集的请求,所述方法还包含:
确定包括至少一个数据单元子集的至少一个元素,其中所述删除至少一个指针的步骤包含删除内存中用以使所确定的该至少一个元素与表示该主体关系的关系条目相关联的指针。
11.根据权利要求10所述的方法,还包含:
创建至少两个新元素来代替一个元素,所述至少两个新元素表示要撤消的子集中的数据单元和表示不在要撤消的子集内的数据单元。
12.根据权利要求11所述的方法,其中,至少两个新元素中的一个元素仅包括要撤消的子集中的数据单元,至少两个新元素中的至少一个元素仅包括不在要撤消的子集中的数据单元,所述方法还包含:
删除内存中的一个用以使仅包括子集中数据单元的该新元素和表示该主体关系的关系条目相关联的元素指针,其中,所述删除该至少一个指针的步骤包含删除内存中用以使该被替换元素与表示该主体关系的关系条目相关联的指针。
13.根据权利要求12所述的方法,还包含:
如果该被替换元素与该主体关系以外的至少一个其它关系相关联,则在内存中为每个新元素增加一个元素指针,用以使该新元素与每个其它关系的关系条目相关联。
14.根据权利要求7所述的方法,其中,该撤消请求还包括一个撤消与该主体关系相关联的数据单元子集的请求,所述方法还包含:
创建至少两个包括与该主体关系相关联的数据单元但不包括该数据单元子集的新区域;
创建至少一个新关系,其中每个所创建的新关系都与该新区域中的至少一个相关联;以及
删除与该主体关系相关联的至少一个区域和该主体关系。
15.一种用于管理一个目标卷和一个源卷之间的关系的方法,包含:
(a)在内存中保持与至少一个源卷和至少一个目标卷之间的一个关系相关的信息,包含:
(i)至少一个元素,其中每个元素表示卷中连续的数据单元的范围;
(ii)至少一个关系条目,其中每个关系条目表示一个关系;和
(iii)使一个元素与一个关系条目相关联的至少一个元素指针,其中由该元素表示的数据单元是由通过指针与该元素相关联的该关系条目所表示的关系的一部分;
(b)启动一个恢复过程,以在内存中重建与至少一个源卷和至少一个目标卷之间的关系相关的信息,包括源元素和目标元素、源关系条目和目标关系条目以及使源元素和目标元素分别与源关系和目标关系相关联的源指针和目标指针。
16.根据权利要求15所述的方法,还包含:
确定是否具有与每个重建的源关系条目相应的目标关系条目;以及
针对每个重建的、没有对应的目标关系条目的源关系,删除其关系条目及其指针。
17.一种用于管理一个目标卷和一个源卷之间的关系的系统,包含:
(a)内存,包括与至少一个源卷和至少一个目标卷之间的存在关系有关的信息,包含:
(i)至少一个元素,其中每个元素表示卷中连续的数据单元的范围;
(ii)至少一个关系条目,其中每个关系条目表示一个关系;和
(iii)至少一个使一个元素与一个关系条目相关联的元素指针,其中由该元素表示的数据单元是由通过指针与该元素相关联的该关系条目所表示的关系的一部分;
(b)用于在至少一个目标卷和至少一个源卷之间增加一个新的关系的装置;
(c)用于在内存中增加一个表示该新关系的新关系条目的装置;
(d)用于在内存中为每个包括该新关系所包括的多个数据单元的元素增加一个新元素指针,以使该元素与该新关系条目相关联的装置,其中由该元素表示的数据单元是该新关系的一部分。
18.根据权利要求17所述的系统,其中,为该新关系中的源卷和目标卷增加新关系条目和所增加的至少一个元素指针。
19.根据权利要求17所述的系统,还包含:
用于创建至少两个新元素来代替一个元素的装置,所述至少两个新元素表示该新关系中的数据单元以及表示不在该新关系内的数据单元。
20.一种用于管理一个目标卷和一个源卷之间的关系的系统,包含:
(a)内存,包括与至少一个源卷和至少一个目标卷之间的存在关系有关的信息,包含:
(i)至少一个元素,其中每个元素表示卷中连续的数据单元的范围;
(ii)至少一个关系条目,其中每个关系条目表示一个关系;和
(iii)使一个元素与一个关系条目相关联的至少一个元素指针,其中由该元素表示的数据单元是由通过指针与该元素相关联的该关系条目所表示的关系的一部分;
(b)用于接收针对一个主体关系的撤消请求的装置,
(c)用于响应该撤消请求而删除内存中至少一个用以使一个元素与表示该主体关系的关系条目相关联的指针的装置。
21.根据权利要求20所述的系统,其中,该撤消请求包含一个撤消该主体关系的请求,所述系统还包含:
用于响应该请求而删除内存中表示该主体关系的关系条目的装置,其中内存中每个用以使一个元素与表示该主体关系的关系条目相关联的指针被删除。
22.根据权利要求21所述的系统,其中,该撤消请求包含一个撤消与该主体关系相关联的数据单元子集的请求,所述系统还包含:
用于确定包括至少一个数据单元子集的至少一个元素的装置,其中删除至少一个指针包括删除内存中用以使所确定的该至少一个元素与表示该主体关系的关系条目相关联的指针。
23.根据权利要求22所述的系统,还包含:
用于创建至少两个新元素来代替一个元素的装置,所述至少两个新元素表示要撤消的子集中的数据单元和表示不在要撤消的子集内的数据单元。
24.一种用于管理一个目标卷和一个源卷之间的关系的系统,包含:
(a)内存,包括与至少一个源卷和至少一个目标卷之间的存在关系有关的信息,包含:
(i)至少一个元素,其中每个元素表示卷中连续的数据单元的范围;
(ii)至少一个关系条目,其中每个关系条目表示一个关系;和
(iii)使一个元素与一个关系条目相关联的至少一个元素指针,其中由该元素表示的数据单元是由通过指针与该元素相关联的该关系条目所表示的关系的一部分;
(b)用于启动一个恢复过程的装置,用以在内存中重建与至少一个源卷和至少一个目标卷之间的关系相关的信息,包括源元素和目标元素、源关系条目和目标关系条目以及使源元素和目标元素分别与源关系和目标关系相关联的源指针和目标指针。
25.一种用于管理内存中一个目标卷和一个源卷之间的关系的制造产品,其中,所述制造产品执行多种操作,所述操作包含:
(a)在内存中保持关于至少一个源卷和至少一个目标卷之间的一个已有关系的信息,包含:
(i)至少一个元素,其中每个元素表示卷中连续的数据单元的范围;
(ii)至少一个关系条目,其中每个关系条目表示一个关系;和
(iii)至少一个使一个元素与一个关系条目相关联的元素指针,其中由该元素表示的数据单元是由通过指针与该元素相关联的该关系条目所表示的关系的一部分;
(b)在至少一个目标卷和至少一个源卷之间增加一个新的关系;
(c)在内存中增加一个表示该新关系的新关系条目;
(d)在内存中为每个包括该新关系所包括的多个数据单元的元素增加一个新元素指针,以使该元素与该新关系条目相关联,其中由该元素表示的数据单元是该新关系的一部分。
26.根据权利要求25所述的制造产品,其中,所保持的信息还包含:
一个针对每个关系条目的关系指针,用于使该关系条目与卷元数据相关联,其中卷元数据提供与该关系条目所表示的关系相关的信息。
27.根据权利要求25所述的制造产品,其中,为该新关系中的源卷和目标卷增加新关系条目和所增加的至少一个元素指针。
28.根据权利要求25所述的制造产品,其中所述操作还包含:
创建至少两个新元素来代替一个元素,所述至少两个新元素表示该新关系中的数据单元以及表示不在该新关系内的数据单元。
29.根据权利要求28所述的制造产品,其中,至少两个新元素中的一个元素仅包括在该新关系中的数据单元,而至少两个新元素中的一个元素仅包括不在该新关系内的数据单元,其中所增加的一个新元素指针使仅包括该新关系中的数据单元的该新元素与该新关系条目相关联。
30.根据权利要求28所述的制造产品,其中所述操作还包括:
如果被替换的元素与一个表示在增加该新关系之前已有的关系的一个关系条目相关联,则在内存中为每个新元素增加一个元素指针,用于使该新元素与和该被替换元素相关联的关系条目相关联。
31.一种用于管理内存中一个目标卷和一个源卷之间的关系的制造产品,其中,所述制造产品执行多种操作,所述操作包含:
(a)在内存中保持与至少一个源卷和至少一个目标卷之间的一个关系相关的信息,包含:
(i)至少一个元素,其中每个元素表示卷中连续的数据单元的范围;
(ii)至少一个关系条目,其中每个关系条目表示一个关系;和
(iii)使一个元素与一个关系条目相关联的至少一个元素指针,其中由该元素表示的数据单元是由通过指针与该元素相关联的该关系条目所表示的关系的一部分;
(b)接收针对一个主体关系的撤消请求,
(c)响应该撤消请求,删除内存中至少一个用以使一个元素与表示该主体关系的关系条目相关联的指针。
32.根据权利要求31所述的制造产品,其中,该撤消请求包含一个撤消该主体关系的请求,所述操作还包含:
响应该请求,删除内存中表示该主体关系的关系条目,其中内存中每个用以使一个元素与表示该主体关系的关系条目相关联的指针被删除。
33.根据权利要求32所述的制造产品,其中,操作还包含:
确定至少两个表示邻接数据单元的元素是否与至少一个相同的关系条目相关联;
用一个新元素代替所确定的至少两个元素,所述新元素表示该被替换的至少两个元素中的所有邻接数据单元;
增加至少一个元素指针,使该新元素与每个和该被替换的至少两个元素相关联的关系条目相关联。
34.根据权利要求31所述的制造产品,其中,该撤消请求包含一个撤消与该主体关系相关联的数据单元子集的请求,所述操作还包含:
确定包括至少一个数据单元子集的至少一个元素,其中删除至少一个指针包含删除内存中用以使所确定的该至少一个元素与表示该主体关系的关系条目相关联的指针。
35.根据权利要求34所述的制造产品,其中,操作还包含:
创建至少两个新元素来代替一个元素,所述至少两个新元素表示要撤消的子集中的数据单元和表示不在要撤消的子集内的数据单元。
36.根据权利要求35所述的制造产品,其中,至少两个新元素中的一个元素仅包括要撤消的子集中的数据单元,至少两个新元素中的至少一个元素仅包括不在要撤消的子集中的数据单元,所述方法还包含:
删除内存中的一个用以使仅包括该子集中数据单元的该新元素与表示该主体关系的关系条目相关联的元素指针,其中,删除该至少一个指针包含删除内存中用以使该被替换元素与表示该主体关系的关系条目相关联的指针。。
37.根据权利要求36所述的制造产品,其中,操作还包含:
如果该被替换元素与该主体关系以外的至少一个其它关系相关联,则在内存中为每个新元素增加一个元素指针,用以使该新元素与每个其它关系的关系条目相关联。
38.根据权利要求31所述的制造产品,其中,该撤消请求还包括一个撤消与该主体关系相关联的数据单元子集的请求,所述方法还包含:
创建至少两个包括与该主体关系相关联的数据单元但不包括该数据单元子集的新区域;
创建至少一个新关系,其中每个所创建的新关系都与该新区域中的至少一个相关联;以及
删除与该主体关系相关联的至少一个区域和该主体关系。
39.一种用于管理内存中一个目标卷和一个源卷之间的关系的制造产品,其中,所述制造产品执行多种操作,所述操作包含:
(a)在内存中保持与至少一个源卷和至少一个目标卷之间的一个关系相关的信息,包含:
(i)至少一个元素,其中每个元素表示卷中连续的数据单元的范围;
(ii)至少一个关系条目,其中每个关系条目表示一个关系;和
(iii)使一个元素与一个关系条目相关联的至少一个元素指针,其中由该元素表示的数据单元是由通过指针与该元素相关联的该关系条目所表示的关系的一部分;
(b)启动一个恢复过程,以在内存中重建与至少一个源卷和至少一个目标卷之间的关系相关的信息,包括源元素和目标元素、源关系条目和目标关系条目以及使源元素和目标元素分别与源关系和目标关系相关联的源指针和目标指针。
40.根据权利要求39所述的制造产品,其中,操作还包含:
确定是否具有与每个重建的源关系条目相应的目标关系条目;以及
针对每个重建的、没有对应的目标关系条目的源关系,删除其关系条目及其指针。
CNB2004100490581A 2003-06-17 2004-06-11 用于管理关于目标卷与源卷之间关系的信息的方法和系统 Expired - Fee Related CN100403269C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/463,997 US7047378B2 (en) 2003-06-17 2003-06-17 Method, system, and program for managing information on relationships between target volumes and source volumes when performing adding, withdrawing, and disaster recovery operations for the relationships
US10/463,997 2003-06-17

Publications (2)

Publication Number Publication Date
CN1604046A true CN1604046A (zh) 2005-04-06
CN100403269C CN100403269C (zh) 2008-07-16

Family

ID=33517188

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100490581A Expired - Fee Related CN100403269C (zh) 2003-06-17 2004-06-11 用于管理关于目标卷与源卷之间关系的信息的方法和系统

Country Status (3)

Country Link
US (1) US7047378B2 (zh)
CN (1) CN100403269C (zh)
SG (1) SG135961A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634627B1 (en) * 2005-08-19 2009-12-15 Symantec Operating Corporation System and method for performing extent level backups that support single file restores
US7647456B2 (en) * 2005-12-01 2010-01-12 International Business Machines Corporation Comparing data in a new copy relationship to data in preexisting copy relationships for defining how to copy data from source to target
US7467268B2 (en) * 2006-04-14 2008-12-16 Hewlett-Packard Development Company, L.P. Concurrent data restore and background copy operations in storage networks
US7647463B2 (en) * 2006-11-16 2010-01-12 International Business Machines Corporation Apparatus, system and method for detection of mismatches in continuous remote copy using metadata
JP4430101B2 (ja) * 2007-12-26 2010-03-10 富士通株式会社 ストレージシステム、ストレージシステム制御装置、ストレージシステム制御方法
US8407448B1 (en) * 2008-05-06 2013-03-26 Emc Corporation Shared storage I/O elimination through mapping client integration into a hypervisor
US8676750B2 (en) * 2010-02-22 2014-03-18 International Business Machines Corporation Efficient data synchronization in a distributed data recovery system
US8433870B2 (en) 2010-10-12 2013-04-30 International Business Machines Corporation Multiple incremental virtual copies
US8856470B2 (en) 2011-01-25 2014-10-07 International Business Machines Corporation Data integrity protection in storage volumes
US8972676B2 (en) * 2011-01-28 2015-03-03 International Business Machines Corporation Assigning device adaptors and background tasks to use to copy source extents to target extents in a copy relationship
US10437679B2 (en) 2017-05-05 2019-10-08 International Business Machines Corporation Point-in-time snap copy withdrawal management
US10528474B2 (en) * 2017-09-06 2020-01-07 International Business Machines Corporation Pre-allocating cache resources for a range of tracks in anticipation of access requests to the range of tracks

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405294B1 (en) * 1995-12-29 2002-06-11 Mci Communications Corporation Data center migration method and system using data mirroring
JP4363676B2 (ja) 1997-10-31 2009-11-11 株式会社東芝 コンピュータシステム
US6076148A (en) * 1997-12-26 2000-06-13 Emc Corporation Mass storage subsystem and backup arrangement for digital data processing system which permits information to be backed up while host computer(s) continue(s) operating in connection with information stored on mass storage subsystem
US6189079B1 (en) * 1998-05-22 2001-02-13 International Business Machines Corporation Data copy between peer-to-peer controllers
US6611901B1 (en) 1999-07-02 2003-08-26 International Business Machines Corporation Method, system, and program for maintaining electronic data as of a point-in-time
US6338114B1 (en) * 1999-08-18 2002-01-08 International Business Machines Corporation Method, system, and program for using a table to determine an erase operation to perform
US6799258B1 (en) * 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US6898688B2 (en) 2001-12-28 2005-05-24 Storage Technology Corporation Data management appliance

Also Published As

Publication number Publication date
CN100403269C (zh) 2008-07-16
US7047378B2 (en) 2006-05-16
SG135961A1 (en) 2007-10-29
US20040260870A1 (en) 2004-12-23

Similar Documents

Publication Publication Date Title
US10649910B2 (en) Persistent memory for key-value storage
CN101743546B (zh) 用于提供快照的文件系统的分层存储管理
US8117166B2 (en) Method and system for creating snapshots by condition
CN100507821C (zh) 用于存储区域网络内部的分配数据的方法和装置
US6823436B2 (en) System for conserving metadata about data snapshots
CN100343793C (zh) 存储区域网络知晓的文件系统上的自治数据缓存和拷贝
US9146877B2 (en) Storage system capable of managing a plurality of snapshot families and method of snapshot family based read
JP4568115B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
US10176190B2 (en) Data integrity and loss resistance in high performance and high capacity storage deduplication
US7035881B2 (en) Organization of read-write snapshot copies in a data storage system
US8615641B2 (en) System and method for differential backup
US8015155B2 (en) Non-disruptive backup copy in a database online reorganization environment
CN1776635A (zh) 对应用程序透明的自治可用性
CN105786408A (zh) 闪存阵列中的逻辑扇区映射
CN100489757C (zh) 管理一个目标卷和一个源卷之间的关系的方法和系统
US7549029B2 (en) Methods for creating hierarchical copies
CN100403269C (zh) 用于管理关于目标卷与源卷之间关系的信息的方法和系统
US10732840B2 (en) Efficient space accounting mechanisms for tracking unshared pages between a snapshot volume and its parent volume
US8086580B2 (en) Handling access requests to a page while copying an updated page of data to storage
US10346077B2 (en) Region-integrated data deduplication
US7945724B1 (en) Non-volatile solid-state memory based adaptive playlist for storage system initialization operations
US20230176743A1 (en) Handling data with different lifetime characteristics in stream-aware data storage equipment
US11354200B2 (en) Method and system for facilitating data recovery and version rollback in a storage device
US11966590B2 (en) Persistent memory with cache coherent interconnect interface
US20240078179A1 (en) Efficient write-back for journal truncation

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
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: 20080716

Termination date: 20200611