CN101154234B - 用于管理数据版本的系统和方法 - Google Patents
用于管理数据版本的系统和方法 Download PDFInfo
- Publication number
- CN101154234B CN101154234B CN2007101535691A CN200710153569A CN101154234B CN 101154234 B CN101154234 B CN 101154234B CN 2007101535691 A CN2007101535691 A CN 2007101535691A CN 200710153569 A CN200710153569 A CN 200710153569A CN 101154234 B CN101154234 B CN 101154234B
- Authority
- CN
- China
- Prior art keywords
- data block
- version
- storage unit
- data structure
- versions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000003860 storage Methods 0.000 claims abstract description 126
- 230000004044 response Effects 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 16
- 230000010076 replication Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 abstract description 6
- 230000015654 memory Effects 0.000 description 35
- 238000005516 engineering process Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (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
技术领域
本发明涉及用于管理数据版本的方法、系统和计算机程序产品。
背景技术
数据可以随时间而演变。各种方法和系统被开发用于管理随时间演变的数据。下面的美国专利申请和美国专利描述了用于管理数据的各种方法,在此通过引用将其全部并入:Perry等人的美国专利申请公开序列号2005/0066118和Stager等人的美国专利申请公开序列号2005/0193272;Rowan等人的美国专利申请公开序列号2005/0066222,Rowan等人的美国专利申请公开序列号2005/0076262,Rowan等人的美国专利申请公开序列号2005/0065962;Rowan等人的美国专利申请公开序列号2005/0063374;Rowan等人的美国专利申请公开序列号2005/0076264;Rowan等人的美国专利申请公开序列号2005/0066225;Rowan等人的美国专利申请公开序列号2005/0076261;Perry等人的美国专利申请公开序列号2005/0066118,以及Kekre等人的美国专利申请公开序列号2005/0071379。
对随时间演变的数据的管理可以包括在不同的时间点制作数据的副本。时间点副本(point-in-time copy)可以涉及将所有的数据从源卷(sourcevolume)物理复制到目标卷,从而使得目标卷具有如时间点上的数据的副本。还可以通过从逻辑上制作数据的副本,并且然后仅在必要时复制完数据(实际上推迟了物理复制)来制作时间点副本(也被称为版本)。进行该逻辑复制操作以便最小化在此期间不可访问目标和源卷的时间。
许多直接访问存储设备(DASD)子系统能够进行“即时虚拟复制(instant virtual copy)”操作,也被称为“快速复制功能”。即时虚拟复制操作是通过修改元数据(例如关系表或指示符)而将源数据对象视为原件和副本二者来运作的。响应于主机的复制请求,存储子系统在还未制作数据的任何物理副本的情况下就立即报告副本的创建。仅仅已创建“虚拟”副本,并且主机完全不知道不存在额外的物理副本。
随后,当存储系统接收到对原件或副本的更新时,该更新被分别存储并且仅被交叉引用至已更新的数据对象。最初的好处在于即时虚拟复制几乎瞬间发生,比常规的物理复制操作完成得快得多。这使主机和存储子系统自由地进行其它任务。主机或存储子系统甚至可以在后台处理期间或在另外的时间着手创建原始数据对象的实际的物理副本。
已知的一种这样的即时虚拟复制操作是FlashCopy操作(FlashCopy是国际商业机器公司或“IBM”的注册商标)。FlashCopy操作涉及在相同或不同设备上的源与目标卷之间建立逻辑的时间点关系。FlashCopy操作保证:在已经将FlashCopy关系中的轨道(track)固化到其在目标磁盘上的位置以前,该轨道都驻留于源侧(source side)。
关系表用于维护子系统中所有现有的FlashCopy关系上的信息。在FlashCopy关系的建立阶段期间,在源和目标关系表中为参与到正在建立的FlashCopy的源和目标记录一个条目。每个添加的条目均维护关于FlashCopy关系的所有需要的信息。当已经将来自源范围(source extent)的所有FlashCopy轨道物理复制到目标范围(target extents)时,或者当接收到撤消命令时,从关系表中移除用于关系的两个条目。在某些情况中,即使已经将所有的轨道从源范围复制到目标范围,也维持该关系。
目标关系表进一步包括这样的位图,即该位图标识在FlashCopy关系中所涉及的、还未被复制完并且因而是受保护的轨道的那些轨道。目标设备中的每个轨道由位图中的一个比特来表示。当将对应的轨道建立为FlashCopy关系的目标轨道时,设置目标比特。当由于在源或目标设备上的写入或者后台复制任务而已经从源位置复制了对应的轨道并且将其离台(destage)至目标设备时,重置目标比特。
在FlashCopy操作期间,作为逻辑时间点关系的建立的一部分,应当将包括在FlashCopy关系内的源高速缓存中的所有轨道离台至物理源卷,例如,源DASD。在Micka等人的美国专利6,611,901和Werner等人的美国专利7,000,145中描述了FlashCopy操作的进一步的细节,在此通过引用将其并入本文。
一旦建立了逻辑关系,那么主机就可以立刻访问源和目标卷上的数据,并且作为后台操作的一部分,可以复制该数据。读取作为FlashCopy关系中而非高速缓存中的目标的轨道触发登台拦截(stage intercept),其使得在还未复制完源轨道时并且在从目标高速缓存提供到轨道的访问之前,对应于所请求的目标轨道的源轨道被登台至目标高速缓存。这确保该目标具有来自于在FlashCopy操作的时间点上存在的源的副本。此外,到源设备上还未被复制完的轨道的任何离台均触发离台拦截(destageintercept),其使得源设备上的轨道被复制到目标设备。
已经(至少部分地)开发了即时虚拟复制技术来快速创建数据的重复副本,而无需中断或减速前台进程。诸如FlashCopy操作的即时虚拟复制技术提供了一种时间点副本工具。即时虚拟复制技术可以用于各种应用,包括,例如,数据备份、数据迁移、数据挖掘、测试等。例如,即时虚拟复制技术可以用于创建源数据的物理“备份”副本,从而有助于灾难恢复。
在很多应用中,需要创建和保存存储数据的多个只读快照。这些快照表示存储数据的版本,并且每个版本均应当被独立地访问。
需要提供用于管理数据版本的有效方法、系统和计算机程序产品。
发明内容
依照本发明的一个方面,提供了一种用于管理数据版本的方法。所述方法包括:(i)接收生成源卷的第一版本的第一请求;(ii)响应于所述第一请求,选择性地更新指示与所述源卷的不同版本关联的数据块的改变的第一控制数据结构,从而反映至少一个最近修改的数据块,所述至少一个最近修改的数据块在与所述第一版本关联的第一时间点和与第一源卷的第二版本关联的第二时间点之间被修改;其中表示所述源卷的不同版本的信息存储在目标存储单元中;并且其中在所述源卷的多个版本之间保持不变的数据块在这多个版本之间被共享;其中所述第一时间点跟随所述第二时间点,并且其中所述至少一个数据块属于所述卷;以及(iii)响应于所述第一控制数据结构的内容,选择性地将数据块从所述源卷复制到目标卷。
在一个实施例中,所述响应于所述第一请求选择性地更新所述第一控制数据结构包括:更新所述控制数据结构以反映未存储在所述目标存储单元中但却应当复制到所述目标存储单元的数据块。
在另一实施例中,所述第一控制数据结构包括每卷的B树(B-tree pervolume),其是通过密钥加锁的,所述密钥包括数据块标识符和所请求的时间点。
在又一实施例中,响应于所述第一请求选择性地更新所述第一控制数据结构的阶段包括:在所述B树中生成空条目。当将对应的数据块复制到所述目标存储单元时,可以填写该空条目。
在一个实施例中,所述方法进一步包括:接收检索所述卷的被请求版本的请求,以及在以下情况下将属于所述被请求版本的至少一个数据块复制到所述目标存储单元:(i)所述至少一个数据块未被复制到所述目标存储单元并且(ii)在与所述被请求版本关联的时间点和与至少一个先前的版本关联的时间点之间修改了所述至少一个数据块。
在另一实施例中,建立新的版本包括在源上建立增量快速复制关系(incremental flash copy relation),并且复制是使用快速复制服务(flashcopy services)来完成的。
在一个实施例中,所述方法进一步包括:以惰性(lazy)方式更新至少一个控制数据结构的条目。
在另一实施例中,所述方法进一步包括:维护指示未复制到所述目标存储单元的数据块的最旧版本的第三控制数据结构。所述第三控制数据结构可以指示属于多个版本的数据块。
在又一实施例中,所述方法进一步包括:维护指示未复制到所述目标存储单元的数据块的最旧版本的第三控制数据结构,以及维护指示未存储在所述目标存储单元中的数据块的次旧版本的第四控制数据结构。所述第三和第四控制数据结构可以促进对其条目的直接访问。
在一个实施例中,所述方法进一步包括:维护指示成功复制到所述目标卷的数据块的最新版本的第六数据结构。
依照本发明的第二方面,提供了一种包括计算机可用介质的计算机程序产品,所述计算机可用介质包括计算机可读程序。当所述计算机可读程序在计算机上执行时,其可以使所述计算机:接收生成源卷的第一版本的第一请求;响应于所述第一请求,选择性地更新指示与所述源卷的不同版本关联的数据块的改变的第一控制数据结构,从而反映至少一个最近修改的数据块,所述至少一个最近修改的数据块在与所述第一版本关联的第一时间点和与第一源卷的第二版本关联的第二时间点之间被修改;其中表示所述源卷的不同版本的信息存储在目标存储单元中;以及响应于所述第一控制数据结构的内容,选择性地将数据块从所述源卷复制到目标卷;其中在所述源卷的多个版本之间保持不变的数据块在这多个版本之间被共享;其中所述第一时间点跟随所述第二时间点,并且其中所述至少一个数据块属于所述卷。
依照本发明的第三方面,提供了一种包括系统存储器、源高速缓存和目标高速缓存的存储控制器。所述存储控制器可以适于耦合于源存储单元和目标存储单元;其中所述存储控制器适于:接收生成源卷的第一版本的第一请求;响应于所述第一请求,选择性地更新指示与所述源卷的不同版本关联的数据块的改变的第一控制数据结构,从而反映至少一个最近修改的数据块,所述至少一个最近修改的数据块在与所述第一版本关联的第一时间点和与第一源卷的第二版本关联的第二时间点之间被修改;以及响应于所述第一控制数据结构的内容,选择性地将数据块从所述源卷复制到目标卷;其中表示所述源卷的不同版本的信息存储在所述目标存储单元中;并且其中在所述源卷的多个版本之间保持不变的数据块在这多个版本之间被共享;其中所述第一时间点跟随所述第二时间点,并且其中所述至少一个数据块属于所述卷。
附图说明
结合附图,通过以下详细描述将更充分地获悉和理解本发明,其中:
图1根据本发明的实施例说明了存储控制器及其环境;
图2根据本发明的实施例说明了多个控制数据结构;
图3-4根据本发明的实施例说明了在各个时间点处的第一控制数据结构的一部分;以及
图5根据本发明的实施例说明了用于管理数据版本的方法。
具体实施方式
在下面的描述中,参照附图,附图形成了本说明书的一部分并且说明了本发明的若干实施方式。要理解到,可以利用其它的实施方式并且在不背离本发明的范围的情况下可以进行结构和操作上的改变。
本发明提供了一种用于存储和检索数据的多个版本的方法、系统和计算机程序产品。数据被安排在包括多个数据块(例如但不限于轨道)的卷中。为了便于解释,以下描述的某些部分将涉及轨道。
源存储单元和目标存储单元可以存储各种卷版本。便利地,选择性地将数据块从源存储单元传送至目标存储单元。将至少一个控制数据结构用于访问存储在目标数据结构中的不同的卷版本。
便利地,一旦接收到生成新版本的请求,就可以生成在第一控制数据结构内的块的新的空控制条目。其在这样的情况下会被生成:按照请求的结果,应当在源处保护该数据块;即,如果在目标上读取或者如果将要在源存储单元处重写,应当将该数据块复制到目标存储单元。换句话说,可能在目标处要求源存储单元上的数据块,但其却未被复制和存储在那里。在该阶段,还未分配物理轨道。如果生成了空控制条目,那么当将对应的数据块从源存储单元传送至目标存储单元时可以填写该空控制条目。
便利地,通过使用包括所请求的数据块标识符和所请求的版本序列号或所请求的时间戳的密钥来检索数据块的某个版本。该检索包括搜索在所请求的版本序列号之前被改变的(对应于所请求的数据块标识符的)最近改变的目标数据块。要注意,版本号通常需要较少的空间。
便利地,在任何给定时间点处的每数据块空控制条目的数量响应于仍然需要在源处受到保护(在副本被发送到目标之前未被重写)的存储实体的数目。
例如,如果源高速缓存先于源存储单元,那么特定数据块的两个不同的更新版本均可以存储在源高速缓存内和源存储单元内。因此,为了保护这些数据版本,在任何给定的时间点可以存在达两个空控制条目。一旦该数据块的甚至更新的版本到达源,就必须重写源上存储的数据版本之一。如果其受到保护,那么在重写之前,将其传送至目标存储单元并且填写对应的先前的空控制条目。响应于发起新的被请求版本,可以生成另一空控制条目。
便利地,卷的所有版本均存储在增强型空间有效目标卷(enhancedSpace Efficient target volume),并且控制数据结构是B树数据结构。当所请求的数据块标识符和时间戳(或版本序列号)用于搜索B树的分支时,所请求的卷标识符指向B树的根部。
便利地,每改变最多一次地将每个数据块从源存储单元复制到目标存储单元。从源存储单元到目标存储单元的复制过程的时序响应于:(i)在不同卷版本的生成之间数据块中的改变;(ii)生成卷版本的请求;(iii)先于目标存储单元的存储实体的数目;(iv)读取还未被复制到目标存储单元的卷版本的请求。
便利地,在目标存储单元处所消耗的总的元数据空间与卷的初始版本的大小加上从先前的版本改变而来的数据块数的所有版本的总和成比例,而总的数据存储空间与从先前的版本改变而来的数据块数的所有版本的总和成比例。
便利地,诸如FlashCopy变更记录(CR)图的第二数据结构用于确定在连续的卷版本的生成之间改变了哪些数据块。该变更记录图可以使每数据块有一比特,如果在与不同版本关联的时间点之间修改了对应的数据块,则对其进行设置。一旦将该数据块复制到目标存储单元,就重置该比特。
便利地,并非对数据块的每个修改都应当被发送至目标存储单元。如果该数据块版本表示在与卷版本关联的时间点之前对数据块的最近的修改,则其应当被发送至目标存储单元。例如,如果在与两个卷版本关联的两个时间点之间多次修改了数据块,那么仅应当将最近的修改复制到目标存储单元。
便利地,维护第三控制数据结构。该第三控制数据结构指示应当复制到目标存储单元的数据块的最旧版本。
便利地,维护第四控制数据结构。该第四控制数据结构指示并未存储在目标存储单元中的数据块的次旧版本。
根据本发明的实施例,第三和第四控制数据结构促进了对其条目的直接访问。其条目可以存储相关的版本号,并且每个条目的长度(比特数)在版本数方面呈对数。
图1根据本发明的实施例说明了存储控制器100及其环境。
存储控制器100通过网络191从主机140a,b...l(其中a,b和l可以是任何整数值)接收指向配置有卷(例如,逻辑单元号、逻辑设备等)的存储设备120,130的输入/输出(I/O)请求。在某些实施方式中,目标存储单元130的大小可以大于或等于源存储单元120。
源存储单元120包括可以被分成含有数据块的存储块的一个或多个卷,并且存储块被进一步分成含有数据子块的存储子块。卷可以是任何逻辑或物理存储元件。在某些实施方式中,数据块是轨道的内容,而数据子块是轨道扇区的内容。
目标存储单元130维护表示各种源卷版本的多个数据块。为了便于参考,文中将使用术语“轨道”和“扇区”作为数据块和数据子块的例子,但使用这些术语并不意味着将本发明的实施方式限制于轨道和扇区。本发明的实施方式可应用于以任何方式划分的任何类型的存储器、存储块或数据块。此外,尽管本发明的实施方式涉及数据块,然而本发明的可选实施方式还适用于数据子块。
存储控制器100包括源高速缓存124,其中维护了对源存储单元120中的轨道的更新,直到将该更新写入源存储单元120(即,将该轨道离台至物理存储器)。存储控制器100包括目标高速缓存134,其中维护了对目标存储单元130中的轨道的更新,直到将该更新写入目标存储单元130(即,将该轨道离台至物理存储器)。源高速缓存124和目标高速缓存134可以包括独立的存储设备或相同存储设备的不同区段。源高速缓存124和目标高速缓存134用于缓冲正在主机140a,b...l、源存储单元120和目标存储单元130之间传输的读和写数据。此外,尽管高速缓存124和134分别被称为源和目标高速缓存,用于保存时间点副本关系中的源或目标数据块,然而高速缓存124和134可以在相同的时间存储不同的副本点(point-in-copy)关系中的源和目标数据块。
另外,存储控制器100包括非易失性存储器118。举例来说,非易失性存储器118可以是带后备电池的易失性存储器,以便维护数据更新的非易失性副本。
存储控制器100进一步包括系统存储器110,其可以在易失性和/或非易失性设备中实现。系统存储器110包括用于读取数据的读过程112、用于写数据的写过程114,以及选择性复制过程116。读过程112在系统存储器110中执行以便分别从存储器120和130读取数据到高速缓存124和134。写过程114在系统存储器110中执行以便分别从高速缓存124和134将数据写入存储器120和130。选择性复制过程116在系统存储器110中执行以便进行选择性复制操作,其将数据从源存储单元120传送至目标存储单元130。
本发明的实施方式可应用于在任何两个存储介质之间传送数据,为了便于参考,在文中会将所述任何两个存储介质称为源存储单元和目标存储单元或第一存储器和第二存储器。例如,本发明的某些实施方式可以随位于单个存储控制器处的两个存储介质一起使用,如图1所示。此外,本发明的某些可选的实施方式还可以随位于不同存储控制器、不同物理地点等处的两个存储介质一起使用。同样,为了便于参考,源存储单元中的数据块将被称为“源数据块”,并且目标存储单元中的数据块将被称为“目标数据块”。当对于哪个存储器是源存储单元以及哪个存储器是目标存储单元的指示颠倒时,为了便于参考,原始的“源数据块”将被称为“新的目标数据块”,并且原始的“目标数据块”将被称为“新的源数据块”。
在某些实施方式中,可装卸存储器(代替目标存储单元130或除了目标存储单元130以外)可以用于维护源存储单元120的全部或子集的一些副本,并且本发明的实施方式将数据传送至可装卸存储器而非目标存储单元。可装卸存储器可以驻留于存储控制器100。
存储控制器100可以进一步包括复合处理机(未示出)并且可以包括本领域已知的任何存储控制器或服务器,例如Enterprise Storage Server(ESS)3990存储控制器(Enterprise Storage Server是国际商业机器公司或“IBM”的注册商标)等。主机140a,b...l可以包括本领域已知的任何计算设备,例如服务器、大型计算机、工作站、个人计算机、手持计算机、膝上型电话设备、网络设备等。存储控制器100和主机系统140a,b...l通过网络191进行通信,网络191可以包括存储区域网(SAN)、源区域网(LAN),广域网(WAN)、因特网、内联网等。源存储单元120和目标存储单元130可以各自包括存储设备阵列,例如直接访问存储设备(DASD)、简单磁盘捆绑(JBOD)、独立磁盘冗余阵列(RAID)、虚拟化设备等。
另外,尽管图1说明了单个的存储控制器,本领域的技术人员可以理解,可以通过网络(例如,源区域网(LAN)、广域网(WAN)、因特网等)来连接多个存储控制器,并且多个存储控制器中的一个或多个可以实现本发明。
当主机140希望更新源存储单元120中的数据块时,主机140将数据写入源高速缓存124中的存储块。写操作同步修改源高速缓存124中的存储块(即,写主机140等待操作完成),并且然后,在后台进程中,将源高速缓存124内容写入源存储单元120。写操作可以更新数据、写入新的数据,或者再次写入相同的数据。将源高速缓存124中的数据写入源存储单元120被称为离台操作。将全部或部分数据块从源存储单元120复制到源高速缓存124被称为登台操作。同样地,可以在目标存储单元130与目标高速缓存134之间登台和离台数据。此外,可以将数据从源存储单元120登台至目标高速缓存134。
图2根据本发明的实施例说明了多个控制数据结构190-199。
第一控制数据结构190存储表示应当复制到目标存储单元的数据块以及存储在目标存储单元处的数据块的信息。对于存储在目标存储单元中的每个数据块,第一控制数据结构指示对应于在此期间数据块发生改变的版本的版本号(或时间戳)。另外,第一控制数据结构包括空条目,其表示仍未从源存储单元复制并且存储在那里(在磁盘上或在高速缓存中)的版本的数据块。存储在目标存储单元中的数据块由数据块标识符、目标磁盘上的数据的参考(可能为空),以及表示与该数据块的内容上的改变关联的卷版本时间点的时间戳(或版本序列号)来表示。在下面的附图中进一步说明了第一控制数据。要注意,存储在第一控制元数据190中的元数据在版本之间被共享。如下面的附图中所说明的,如果数据块保持不变,则不存在对元数据的重复。
便利地,源卷包括已更新的数据,而目标卷包括较旧版本的数据。在版本之间共享目标卷内的数据。便利地,仅为新版本复制经修改的数据,而未修改的数据在逻辑上与新版本关联。
第二控制数据结构192是变更记录位图。第二数据结构用于确定在卷版本的生成之间改变了哪些数据块。该第二控制数据结构192可以使每数据块有一比特,如果在与不同版本关联的时间点之间修改了对应的数据块,则对其进行设置。一旦将该数据块复制到目标存储单元,就重置该比特。
第三数据结构194指示应当复制到目标存储单元的数据块的最旧版本。
第四数据结构196指示并未存储在目标存储单元中的数据块的次旧版本。
第五控制数据结构198指示应当在复制过程期间复制的数据块的剩余数目。最初将其设置成与卷关联的变更记录图中设置比特的数目,并且当将单个数据块复制到目标存储单元时对其进行递减。
第六控制数据结构199指示成功复制到目标卷的数据块的最新版本。
第六控制数据结构199允许对回复(revert)操作进行有效响应。
图3-4根据本发明的实施例说明了在各个时间点处的第一控制数据结构190的一部分201。
部分201存储表示在特定的数据块中有关卷版本的更新的信息。部分201的每个叶节点以这样的标识符为特征,即该标识符标识该特定的数据块以及指示与该数据块的有关卷版本的更新相关联的时间点的版本时间戳。
例如,部分201包括四个叶节点205、206、207和208。叶节点205-206包括这样的时间戳,即该时间戳指示:与包括该特定数据块的卷的第一和第七版本相关联对特定的数据块进行了更新。叶节点205-206包括数据块的第一和第七版本221和222的指示符。要注意,数据块的第二到第六版本(与第二到第六卷版本关联)等于数据块的第一版本,因而并未将它们复制到目标存储单元,并且另外,第一控制数据结构190不包括表示这些版本的条目。
第三和第四叶207-208并不指向数据块,因为该数据块的第九和第十五版本相应地存储在源高速缓存124处和源存储单元120处。第三叶207指示最终应当复制到目标存储单元130的数据块的第九版本。例如,第四叶208最初是空白条目。其指示最终应当复制到目标存储单元130的数据块的第十五版本。第四叶208当前是空的-其并不指向数据块的第十五版本。当会将数据块的第十五版本复制到目标存储单元130时,会填写第四叶208。
图4说明了在将数据块的第九版本复制到目标存储单元130之后的另一时间点。因此,叶节点207指向数据块的第九版本。
图5根据本发明的实施例说明了用于管理数据版本的方法300。
方法300开始于提供多个控制数据结构的阶段310,该多个控制数据结构指示最终在不同卷版本之间共享的数据块的各种版本的情况。阶段310可以包括维护多个数据结构,例如第一到第六控制数据结构190-199。
便利地,阶段310包括维护第一控制数据结构,其指示了当共享与在此期间数据块未被修改的版本有关的元数据时在数据块的版本之间的改变,并且包括指示应当复制到目标数据结构的新版本数据块的至少一个空条目。
参照例子,如图3所阐述的,叶节点205-206包括数据块的第一和第七版本221和222的指示符,而叶节点207和208指示该数据块的第九和第十五版本应当存储在目标数据单元处,尽管这些版本仍未存储在目标存储单元处。
阶段310后跟随阶段320,其接收生成源卷的第一版本的第一请求。假设该第一版本不同于该卷的初始版本,尽管这不一定如此。
阶段320后跟随阶段330,其响应于第一请求,选择性地更新指示与源卷的不同版本关联的数据块的改变的第一控制数据结构,从而反映至少一个最近修改的数据块,所述至少一个最近修改的数据块在与第一版本关联的第一时间点和与第一源卷的第二版本关联的第二时间点之间被修改。表示源卷的不同版本的信息存储在目标存储单元中。在源卷的多个版本之间保持不变的数据块在这多个版本之间被共享。第一时间点跟随第二时间点,并且所述至少一个数据块属于该卷。
如果在第一与第二时间点之间多次修改了特定的数据块,那么最终只会将该数据块(最近改变的数据块)的最新版本发送至目标存储单元。
要注意,可以以惰性方式(类似于快速复制关系建立操作)更新第一控制数据结构或任何其它的元数据-即,使用后台进程可以异步创建空的元数据B树条目。无需等待即可完成新版本的建立操作。便利地,如果请求到达块并且后台进程仍未完成,那么该请求应当等待直到创建了空条目。
便利地,阶段330包括更新第一控制数据结构,从而反映存储在目标存储单元中的数据块,以及未存储在目标存储单元中但却会响应于生成卷的将来版本的至少一个请求而被复制到目标存储单元中的至少一个数据块。
便利地,阶段330包括更新第一控制数据结构,该第一控制数据结构是通过密钥加锁的B树,该密钥包括数据块标识符和所请求的时间点。
便利地,阶段330包括在B树中生成空条目。当将对应的数据块复制到目标存储单元时,填写该空条目。
阶段330后跟随阶段340,其响应于第一控制数据结构的内容,选择性地将数据块从源卷复制到目标卷。阶段340可以包括在以下情况下将至少一个数据块复制到目标存储单元,即正在源存储单元上重写该数据块或正在目标存储单元处对其进行读取。
便利地,阶段340包括在目标存储单元启动卷的初始版本的异步复制过程,以及如果在完成异步复制过程之前接收到检索该初始版本的数据块的请求,则通过更快速的同步复制替换异步复制过程。
阶段340可以包括将至少一个数据块登台至目标高速缓存,并且然后将该数据块离台至目标存储单元。
便利地,阶段340可以包括访问(和更新)第二到第五控制数据结构中的至少一个控制数据结构,以便确定要复制哪些数据块以及复制过程何时完成。
阶段340后跟随阶段350,其选择性地更新第一控制数据结构以反映复制。
方法300还可以包括阶段360,其接收检索该卷的被请求版本的请求,以及在以下情况下将属于被请求版本的至少一个数据块复制到目标存储单元:(i)所述至少一个数据块未被复制到目标存储单元并且(ii)在与被请求版本关联的时间点和与至少一个先前的版本关联的时间点之间修改了所述至少一个数据块。要注意,阶段360可以跟随阶段320-350中的任何一个阶段,因为检索被请求版本的请求不一定与检索卷的被请求版本的请求同步。
发明人使用FlashCopy技术来实现上述方法。因此,阶段330可以包括建立FlashCopy(快速复制)关系,阶段340可以包括复制(登台至目标高速缓存和离台至目标存储单元)在第二时间点与第三时间点之间修改的至少一个数据块。
便利地,方法300包括维护第六控制数据结构,其指示成功复制到目标卷的数据块的最新版本。第六控制数据结构允许对回复操作进行有效响应。例如,如果接收到回复源卷的第七版本的请求,那么对于已经存储在目标卷中的第七或更多版本的每个数据块(如第六控制数据结构所指示的),应当从目标卷复制第七版本。
便利地,以惰性方式创建各种数据结构的条目。因而,方法300可以包括开始以惰性方式创建至少一个控制数据结构的条目,以及选择性地提高(响应于特定事件,例如如果在异步任务已经完成其条目之前需要数据块)至少一个控制数据结构的创建附加条目的优先级和速度。
在建立新版本期间,起动异步任务来创建每个相关数据块的控制数据结构条目,并且建立操作立即返回。如果在异步任务已经完成其条目之前需要数据块,那么同步创建该条目并且将其从异步任务中移除。
此外,本发明可以采取可访问于计算机可用或计算机可读介质的计算机程序产品的形式,该计算机可用或计算机可读介质提供由计算机或任何指令执行系统使用的或者与计算机或任何指令执行系统结合使用的程序代码。对于该描述来说,计算机可用或计算机可读介质可以是能够容纳、存储、通信、传播或传送由指令执行系统、装置或设备使用的或者与指令执行系统、装置或设备结合使用的程序的任何装置。
介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可装卸计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前的例子包括只读光盘存储器(CD-ROM)、读/写光盘(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统可以包括通过系统总线直接地或间接地耦合于存储元件的至少一个处理器。存储元件可以包括在程序代码的实际执行期间所采用的局部存储器、大容量存储器,以及为了减少在执行期间必须从大容量存储器检索代码的次数而提供对至少一些程序代码的临时存储的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接地或者通过插入I/O控制器耦合于系统。
网络适配器也可以耦合于系统,从而使得数据处理系统能够适于通过介入专用或公用网络耦合于其它的数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡正是几种当前可用类型的网络适配器。
根据本发明的实施例,将数据写入回写式高速缓存,并且将数据的当前以及先前的版本发送至一个或多个存储单元,例如磁盘、磁盘阵列、磁带等。数据存储策略有助于刷新数据以及元数据,并且还帮助确定是否将特定的数据版本发送至磁盘。
根据本发明的实施例,提供了一种用于向顾客提供服务的方法。该方法包括:通过网络接收生成源卷的第一版本的第一请求;响应于第一请求,选择性地更新指示与源卷的不同版本关联的数据块的改变的第一控制数据结构,从而反映至少一个最近修改的数据块,所述至少一个最近修改的数据块在与第一版本关联的第一时间点和与第一源卷的第二版本关联的第二时间点之间被修改;其中表示源卷的不同版本的信息存储在目标存储单元中;并且其中在源卷的多个版本之间保持不变的数据块在这多个版本之间被共享;其中第一时间点跟随第二时间点,并且其中所述至少一个数据块属于该卷;以及响应于第一控制数据结构的内容,选择性地将数据块从源卷复制到目标卷;以及响应于检索该卷的被请求版本的请求,通过网络提供该卷的被请求版本。
便利地,用于通过网络提供服务的方法可以包括方法300的任何阶段。
在不背离如所声明的本发明的精神和范围的情况下,本领域的普通技术人员可以想到文中所描述的内容的变体、修改和其它实施方式。
因此,本发明并不是通过在先的说明性描述而是由以下权利要求的精神和范围来限定的。
Claims (18)
1.一种用于管理数据版本的方法,所述方法包括:
接收生成源卷的第一版本的第一请求;
响应于所述第一请求,选择性地更新指示与所述源卷的不同版本关联的数据块的改变的第一控制数据结构,从而反映至少一个最近修改的数据块,所述至少一个最近修改的数据块在与所述第一版本关联的第一时间点和与源卷的第二版本关联的第二时间点之间被修改;其中表示所述源卷的不同版本的信息存储在目标存储单元中;并且其中在所述源卷的多个版本之间保持不变的数据块在这多个版本之间被共享;其中所述第一时间点跟随所述第二时间点,并且其中所述至少一个数据块属于所述源卷;以及
响应于所述第一控制数据结构的内容,选择性地将数据块从所述源卷复制到目标卷;
维护指示未复制到所述目标存储单元的数据块的最旧版本的第三控制数据结构。
2.根据权利要求1的方法,其中响应于所述第一请求选择性地更新所述第一控制数据结构包括:更新所述第一控制数据结构以反映未存储在所述目标存储单元中但却应当复制到所述目标存储单元的数据块。
3.根据权利要求1的方法,其中所述第一控制数据结构包括每源卷的B树,其是通过密钥加锁的,所述密钥包括数据块标识符和所请求的时间点。
4.根据权利要求3的方法,其中响应于所述第一请求选择性地更新所述第一控制数据结构包括:在所述B树中生成空条目;其中当将对应的数据块复制到所述目标存储单元时,填写该空条目。
5.根据权利要求1的方法,其进一步包括:接收检索所述源卷的被请求版本的请求,以及在以下情况下将属于所述被请求版本的至少一个数据块复制到所述目标存储单元:(i)所述至少一个数据块未被复制到所述目标存储单元并且(ii)在与所述被请求版本关联的时间点和与至少一个先前的版本关联的时间点之间修改了所述至少一个数据块。
6.根据权利要求1的方法,其中建立新的版本包括在所述源卷上建立增量快速复制关系,并且复制是使用快速复制服务来完成的。
7.根据权利要求1的方法,其进一步包括:以惰性方式更新所述第一控制数据结构的条目。
8.根据权利要求1的方法,其进一步包括:维护指示未存储在所述目标存储单元中的数据块的次旧版本的第四控制数据结构;其中所述第三和第四控制数据结构促进了对其条目的直接访问。
9.根据权利要求1的方法,其进一步包括:维护指示成功复制到所述目标卷的数据块的最新版本的第六数据结构。
10.一种用于管理数据版本的系统,所述系统包括:
接收生成源卷的第一版本的第一请求的装置;
响应于所述第一请求,选择性地更新指示与所述源卷的不同版本关联的数据块的改变的第一控制数据结构,从而反映至少一个最近修改的数据块的装置,所述至少一个最近修改的数据块在与所述第一版本关联的第一时间点和与源卷的第二版本关联的第二时间点之间被修改;其中表示所述源卷的不同版本的信息存储在目标存储单元中;并且其中在所述源卷的多个版本之间保持不变的数据块在这多个版本之间被共享;其中所述第一时间点跟随所述第二时间点,并且其中所述至少一个数据块属于所述源卷;以及
响应于所述第一控制数据结构的内容,选择性地将数据块从所述源卷复制到目标卷的装置;
维护指示未复制到所述目标存储单元的数据块的最旧版本的第三控制数据结构的装置。
11.根据权利要求10的用于管理数据版本的系统,其中响应于所述第一请求选择性地更新所述第一控制数据结构的装置进一步用于:更新所述第一控制数据结构以反映未存储在所述目标存储单元中但却应当复制到所述目标存储单元的数据块。
12.根据权利要求10的用于管理数据版本的系统,其进一步包括:维护指示未存储在所述目标存储单元中的数据块的次旧版本的第四控制数据结构的装置;其中所述第三和第四控制数据结构促进了对其条目的直接访问。
13.根据权利要求10的用于管理数据版本的系统,其进一步包括:维护指示成功复制到所述目标卷的数据块的最新版本的第六数据结构的装置。
14.根据权利要求10的用于管理数据版本的系统,其中所述第一控制数据结构包括每源卷的B树,其是通过密钥加锁的,所述密钥包括数据块标识符和所请求的时间点。
15.根据权利要求14的用于管理数据版本的系统,其中响应于所述第一请求选择性地更新所述第一控制数据结构的装置进一步用于:在所述B树中生成空条目;其中当将对应的数据块复制到所述目标存储单元时,填写该空条目。
16.根据权利要求10的用于管理数据版本的系统,其进一步包括:接收检索所述源卷的被请求版本的请求的装置,以及在以下情况下将属于所述被请求版本的至少一个数据块复制到所述目标存储单元的装置:(i)所述至少一个数据块未被复制到所述目标存储单元并且(ii)在与所述被请求版本关联的时间点和与至少一个先前的版本关联的时间点之间修改了所述至少一个数据块。
17.根据权利要求10的用于管理数据版本的系统,其中建立新的版本包括在所述源卷上建立增量快速复制关系,并且复制是使用快速复制服务来完成的。
18.根据权利要求10的用于管理数据版本的系统,其进一步包括:以惰性方式更新所述第一控制数据结构的条目的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/535,094 | 2006-09-26 | ||
US11/535,094 US7587564B2 (en) | 2006-09-26 | 2006-09-26 | System, method and computer program product for managing data versions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101154234A CN101154234A (zh) | 2008-04-02 |
CN101154234B true CN101154234B (zh) | 2012-07-11 |
Family
ID=39226314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101535691A Expired - Fee Related CN101154234B (zh) | 2006-09-26 | 2007-09-21 | 用于管理数据版本的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7587564B2 (zh) |
CN (1) | CN101154234B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255362B2 (en) | 2005-06-08 | 2012-08-28 | rPath | Methods, systems, and computer program products for provisioning software using local changesets that represent differences between software on a repository and a local system |
US20060288055A1 (en) * | 2005-06-08 | 2006-12-21 | Johnson Michael K | Methods, systems, and computer program products for provisioning software via a networked file repository in which a parent branch has a shadow associated therewith |
US20060288054A1 (en) * | 2005-06-08 | 2006-12-21 | Johnson Michael K | Methods, systems, and computer program products for provisioning software via a file repository in which a version string is used to identify branches of a tree structure |
US8255363B2 (en) * | 2005-06-08 | 2012-08-28 | rPath | Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files |
US8738573B2 (en) * | 2008-05-23 | 2014-05-27 | Microsoft Corporation | Optimistic versioning concurrency scheme for database streams |
US8327095B2 (en) * | 2008-06-06 | 2012-12-04 | International Business Machines Corporation | Maintaining information of a relationship of target volumes comprising logical copies of a source volume |
US9185109B2 (en) * | 2008-10-13 | 2015-11-10 | Microsoft Technology Licensing, Llc | Simple protocol for tangible security |
US8311982B2 (en) * | 2010-02-11 | 2012-11-13 | Hewlett-Packard Development Company, L. P. | Storing update data using a processing pipeline |
US8655892B2 (en) * | 2010-09-29 | 2014-02-18 | International Business Machines Corporation | Data reorganization |
US20120233121A1 (en) * | 2011-03-08 | 2012-09-13 | International Business Machines Corporation | Deleting relations between sources and space-efficient targets in multi-target architectures |
WO2012120421A1 (en) * | 2011-03-08 | 2012-09-13 | International Business Machines Corporation | Deleting relations between sources and space-efficient targets in multi-target architectures |
WO2013038442A1 (en) * | 2011-09-13 | 2013-03-21 | Hitachi, Ltd. | Storage system comprising flash memory, and storage control method |
CN103020058B (zh) * | 2011-09-21 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 一种多版本数据获取方法和装置 |
US9164751B2 (en) * | 2011-09-30 | 2015-10-20 | Emc Corporation | System and method of rolling upgrades of data traits |
US8612405B1 (en) | 2011-09-30 | 2013-12-17 | Emc Corporation | System and method of dynamic data object upgrades |
US9158804B1 (en) * | 2011-12-23 | 2015-10-13 | Emc Corporation | Method and system for efficient file-based backups by reverse mapping changed sectors/blocks on an NTFS volume to files |
CN103634347B (zh) | 2012-08-24 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 一种并行业务处理方法、设备及系统 |
US11030125B2 (en) * | 2013-02-05 | 2021-06-08 | International Business Machines Corporation | Point in time copy operations from source volumes to space efficient target volumes in two stages via a non-volatile storage |
US9514007B2 (en) * | 2013-03-15 | 2016-12-06 | Amazon Technologies, Inc. | Database system with database engine and separate distributed storage service |
US10372546B2 (en) | 2014-02-07 | 2019-08-06 | International Business Machines Corporation | Creating a restore copy from a copy of source data in a repository having source data at different point-in-times |
US11194667B2 (en) * | 2014-02-07 | 2021-12-07 | International Business Machines Corporation | Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request |
US11169958B2 (en) | 2014-02-07 | 2021-11-09 | International Business Machines Corporation | Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time |
US10387446B2 (en) | 2014-04-28 | 2019-08-20 | International Business Machines Corporation | Merging multiple point-in-time copies into a merged point-in-time copy |
CN105447023B (zh) * | 2014-08-25 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 业务标识生成方法和装置 |
CN105447033B (zh) * | 2014-08-28 | 2019-06-11 | 国际商业机器公司 | 在复制初始化中生成初始副本的方法和装置 |
US10657004B1 (en) * | 2015-03-23 | 2020-05-19 | Amazon Technologies, Inc. | Single-tenant recovery with a multi-tenant archive |
US10372683B1 (en) * | 2016-03-29 | 2019-08-06 | EMC IP Holding Company LLC | Method to determine a base file relationship between a current generation of files and a last replicated generation of files |
CN106897348B (zh) * | 2016-08-19 | 2020-10-27 | 创新先进技术有限公司 | 一种数据存储、数据校验、数据溯源方法和设备 |
US10936540B2 (en) * | 2018-03-14 | 2021-03-02 | Netapp, Inc. | Methods for accelerating storage media access and devices thereof |
US10956079B2 (en) * | 2018-04-13 | 2021-03-23 | Hewlett Packard Enterprise Development Lp | Data resynchronization |
CN109164985B (zh) * | 2018-08-27 | 2020-07-07 | 华为技术有限公司 | 用于复制数据的方法、主设备以及从设备 |
CN109683955B (zh) * | 2018-12-29 | 2022-07-05 | 北京奇艺世纪科技有限公司 | 版本库复制方法及系统 |
CN113468104A (zh) * | 2020-03-31 | 2021-10-01 | 阿里巴巴集团控股有限公司 | 一种快照的数据结构、相关数据处理方法及装置和系统 |
US11592995B2 (en) | 2021-04-19 | 2023-02-28 | Western Digital Technologies, Inc. | Data storage device and method for preventing accidental updates and deletions using data versioning |
CN115129251B (zh) * | 2022-06-30 | 2024-06-25 | 苏州浪潮智能科技有限公司 | 一种在线替换存储卷的方法、系统、设备和存储介质 |
CN116541468B (zh) * | 2023-07-05 | 2023-09-29 | 苏州浪潮智能科技有限公司 | 快照数据同步方法、存储主端、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622087A (zh) * | 2003-04-29 | 2005-06-01 | 国际商业机器公司 | 管理文件系统版本 |
CN1788256A (zh) * | 2003-06-18 | 2006-06-14 | 国际商业机器公司 | 用于增量虚拟复制的方法、系统和程序 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US20040139125A1 (en) * | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
US7082445B2 (en) | 2002-04-01 | 2006-07-25 | International Business Machines Corporation | Fast data copy using a data copy track table |
US6957362B2 (en) * | 2002-08-06 | 2005-10-18 | Emc Corporation | Instantaneous restoration of a production copy from a snapshot copy in a data storage system |
GB0227786D0 (en) | 2002-11-29 | 2003-01-08 | Ibm | Improved remote copy synchronization in disaster recovery computer systems |
US7000145B2 (en) | 2003-06-18 | 2006-02-14 | International Business Machines Corporation | Method, system, and program for reverse restore of an incremental virtual copy |
US20040268068A1 (en) | 2003-06-24 | 2004-12-30 | International Business Machines Corporation | Efficient method for copying and creating block-level incremental backups of large files and sparse files |
US7577807B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Methods and devices for restoring a portion of a data store |
US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
US7577806B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
US7158991B2 (en) | 2003-09-30 | 2007-01-02 | Veritas Operating Corporation | System and method for maintaining temporal data in data storage |
JP2005115506A (ja) * | 2003-10-06 | 2005-04-28 | Hitachi Ltd | ストレージシステム |
US7529782B2 (en) | 2003-11-13 | 2009-05-05 | Commvault Systems, Inc. | System and method for performing a snapshot and for restoring data |
US7315965B2 (en) | 2004-02-04 | 2008-01-01 | Network Appliance, Inc. | Method and system for storing data using a continuous data protection system |
US7433899B2 (en) * | 2004-03-01 | 2008-10-07 | International Business Machines Corporation | Apparatus, system, and method for managing multiple copy versions |
US20060174074A1 (en) * | 2005-02-03 | 2006-08-03 | International Business Machines Corporation | Point-in-time copy operation |
US7711923B2 (en) * | 2006-06-23 | 2010-05-04 | Microsoft Corporation | Persistent flash memory mapping table |
-
2006
- 2006-09-26 US US11/535,094 patent/US7587564B2/en not_active Expired - Fee Related
-
2007
- 2007-09-21 CN CN2007101535691A patent/CN101154234B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622087A (zh) * | 2003-04-29 | 2005-06-01 | 国际商业机器公司 | 管理文件系统版本 |
CN1788256A (zh) * | 2003-06-18 | 2006-06-14 | 国际商业机器公司 | 用于增量虚拟复制的方法、系统和程序 |
Non-Patent Citations (2)
Title |
---|
Soules,C.A.N et al..Metadata Efficiency in Versioning File Systems.Proceedings of FAST '03:2nd USENIX Conference on File and Storage Technologies.2003,第46页第2栏第1-11行,第47页第2栏第1-25行、附图3. * |
说明书第3页第15 -23行,第9页倒数第6-9行, 第10页倒数第9行-第11页第17行,第13页倒数第3行-第16页第10行、附图3-4. |
Also Published As
Publication number | Publication date |
---|---|
US7587564B2 (en) | 2009-09-08 |
US20080077629A1 (en) | 2008-03-27 |
CN101154234A (zh) | 2008-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101154234B (zh) | 用于管理数据版本的系统和方法 | |
CN1746893B (zh) | 事务文件系统 | |
CA2933790C (en) | Apparatus and method for creating a real time database replica | |
US7831639B1 (en) | System and method for providing data protection by using sparse files to represent images of data stored in block devices | |
EP1344135B1 (en) | Write logging in mirrored disk subsystems | |
US6611901B1 (en) | Method, system, and program for maintaining electronic data as of a point-in-time | |
US5089958A (en) | Fault tolerant computer backup system | |
US6223269B1 (en) | Stacked mapped storage system | |
US7213116B2 (en) | Method and apparatus for mirroring objects between storage systems | |
CN100419664C (zh) | 存储网络中执行备份操作的方法 | |
US7596586B2 (en) | System and method for extended media retention | |
CN100416508C (zh) | 一种存储网络中的数据备份方法 | |
US7660958B2 (en) | Maintaining consistency for remote copy using virtualization | |
US20060047714A1 (en) | Systems and methods for rapid presentation of historical views of stored data | |
US8015155B2 (en) | Non-disruptive backup copy in a database online reorganization environment | |
Johnson et al. | Overview of the Spiralog file system | |
US11429498B2 (en) | System and methods of efficiently resyncing failed components without bitmap in an erasure-coded distributed object with log-structured disk layout | |
EP1636690B1 (en) | Managing a relationship between one target volume and one source volume | |
US7093090B1 (en) | Method for creating a virtual data copy of a volume being restored | |
US8151069B1 (en) | Multiprotection for snapsnots | |
US5649158A (en) | Method for incrementally archiving primary storage to archive storage by utilizing both a partition archive status array and a partition map | |
US7047378B2 (en) | 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 | |
US7313724B1 (en) | Method and apparatus for synchronizing redundant data with a volume | |
JP4644446B2 (ja) | 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム |
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: 20120711 Termination date: 20200921 |