CN100422949C - 用于拷贝存储内容的方法和系统 - Google Patents
用于拷贝存储内容的方法和系统 Download PDFInfo
- Publication number
- CN100422949C CN100422949C CNB200580001870XA CN200580001870A CN100422949C CN 100422949 C CN100422949 C CN 100422949C CN B200580001870X A CNB200580001870X A CN B200580001870XA CN 200580001870 A CN200580001870 A CN 200580001870A CN 100422949 C CN100422949 C CN 100422949C
- Authority
- CN
- China
- Prior art keywords
- data
- data update
- processing unit
- physical storage
- storage locations
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2071—Error 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/2074—Asynchronous techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2064—Error 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Abstract
本发明提供了用于拷贝存储内容的方法和系统,其中第一单元接收来自第二单元的数据更新。数据更新被存储在与第一单元相关联的多个物理存储位置中。生成指向所述多个物理存储位置中的至少一个物理存储位置的链接,以在第一单元和第二单元之间实现一致数据。
Description
技术领域
本发明涉及以下在同一天递交的共同待审查并且共同转让的专利申请:“Ordering Updates in Remote Copying of Data”,其律所卷号为no.SJO920030037US1,该申请的全部内容以引用的方式被包含进来。
背景技术
本公开涉及一种使用虚拟技术保持远程异步拷贝的一致性的方法、系统和制品。
发明内容
信息技术系统,包括存储系统在内,可能需要针对现场灾难或断电(outage)的保护。此外,信息技术系统可能需要用于数据迁移、数据备份或数据复制的性能。灾难或断电恢复、数据迁移、数据备份或数据复制的实现方式可以包括在存储系统中建立数据的镜像或拷贝.在某些信息技术系统中,数据从主存储控制器被拷贝到副存储控制器。如果主存储控制器变为不可用,则副存储控制器可被用来接替不可用的主存储控制器。
信息技术系统中的数据拷贝可以是同步的或异步的。同步拷贝涉及从主存储控制器向副存储控制器发送数据,并且在结束对主存储控制器的写操作之前确认这些数据的接收。因此,由于要等待来自副存储控制器的确认,所以同步拷贝使写操作响应时间变慢。然而,同步拷贝在副存储控制器上提供了顺序一致的数据。
异步拷贝可以提供比同步拷贝更好的性能,这是因为对主存储控制器的写操作可以在从副存储控制器确认对所发送数据的接收之前结束。然而,由于在副存储控制器上接收的数据可能不是按照对主存储控制器进行更新(即,写操作)的顺序,所以不得不要确保数据顺序的一致性。在异步拷贝中,通过在固化位置(例如,日志数据集)中临时存储更新,一直到一组一致的更新可用于施加到与副存储控制器相关联的副存储装置为止,这样就可以实现主副存储控制器之间的跨设备一致性。
提供了一种用于拷贝存储内容的方法和系统,其中第一单元接收来自第二单元的数据更新。数据更新被存储在与第一单元相关联的多个物理存储位置中。生成到所述多个物理存储位置中的至少一个位置的链接,以实现第一单元和第二单元之间的一致性数据。
在另外的实施方案中,第一单元是耦合到副存储装置的副存储控制器,第二单元是耦合到主存储装置的主存储控制器,其中所述多个物理存储位置与副存储装置相关联,并且在第一单元处异步地接收数据更新。
在进一步的实施方案中,接收到的数据只被存储在与第一单元相关联的多个物理存储位置中一次,未链接的物理存储位置被释放以用于存储后续的数据更新。
在另外的实施方案中,应用向第二单元发送输入/输出请求,其中数据更新对应于来自该应用的输出请求,并且数据更新只被存储在第一单元上一次,其中第一单元可以在任意时间点响应于来自应用的输入/输出请求而接替第二单元,并且第一和第二单元中的数据在所有时间点都是一致的。
在进一步的实施方案中,在生成链接之前判断所存储的数据更新是否形成了一致性组。如果所存储的数据更新未形成一致性组,则等待接收下一数据更新。
在另外的实施方案中,在生成链接之前判断所存储的数据更新是否形成了一致性组。确定提交一致性组的所述至少一个物理存储位置,其中与第一单元相关联的虚拟存储装置链接到所确定的至少一个物理存储位置。
在进一步的实施方案中,维护将虚拟存储位置映射到所述多个物理存储位置中的所述至少一个位置的数据结构,其中所生成的链接与该数据结构相关联,并且多个应用能够与所述虚拟存储位置之间进行输入/输出操作。
在其他实施方案中,维护代表对应于数据更新的一致性组的数据结构,其中所维护的数据结构能够指向所述多个物理存储位置。响应于与第一一致性组相关联的第一数据更新被提交,对代表第一一致性组的第一数据结构进行删除。
在进一步的实施方案中,响应于等待数据更新,在第一单元处接收到错误。对生成的链接进行修改,以反映第一单元和第二单元之间的一致数据。
某些实施方案利用虚拟存储系统实现了异步远程拷贝的一致性。复制管理应用将已被接收但尚未与关联到其他存储控制器的数据一致的数据写入未使用的物理存储装置中。响应于接收到为提供一致性所必需的数据,虚拟化表可以在真正的副位置上被更新,以指向物理存储装置中已被写入数据的位置。在某些实施方案中,在副存储控制器上的接收到的数据只可以被写入与副存储控制器相关联的物理存储装置一次。
附图说明
现在参考附图,其中相近的标号通篇代表对应的部分:
图1根据本发明的某些描述方面图示了一个计算环境的框图;
图2根据本发明某些描述的实施方式图示了与所述计算环境有关的数据结构和设备的框图;
图3根据本发明某些描述的实施方式图示了一致性组的框图;
图4根据本发明某些描述的实施方式图示了使用虚拟技术保持一致性的逻辑;
图5根据本发明某些描述的实施方式图示了在一个典型实施方案中的数据结构的第一状态的框图;
图6根据本发明某些描述的实施方式图示了在一个典型实施方案中的数据结构的第二状态的框图;
图7根据本发明某些描述的实施方式图示了在一个典型实施方案中的数据结构的第三状态的框图;
图8根据本发明某些描述的实施方式图示了用于保持一致性和灾难恢复的逻辑;并且
图9根据本发明某些描述的实施方式图示了一个计算机体系结构的框图。
具体实施方式
在以下描述中参考构成本说明书的一部分并且图示说明几种实施方式的附图。可以理解,可以采用其他实施方式并且可以作出结构和操作上的改变,而不会偏离当前实施方式的范围。
图1根据本发明的某些方面图示了一个计算环境的框图。主存储控制器100耦合到副存储控制器102。包括一个或多个应用的应用系统104可以对主存储控制器100执行I/O操作,包括写操作。在某些实施方案中,应用系统104可以驻留在经由主机总线适配器耦合到主存储控制器100的主机计算设备中。
主存储控制器100和副存储控制器102可以分别对主存储装置106和副存储装置108存取数据,其中主存储装置106被耦合到主存储控制器100,副存储装置108被耦合到副存储控制器102。另外,主存储控制器100和副存储控制器102可以分别控制主存储装置106和副存储装置108的操作。主存储装置106和副存储装置108可以包括非易失性存储装置,例如硬盘驱动器、RAID、直接访问型存储设备或其他类型的物理存储装置。
在某些实施方案中,主存储控制器100可能不在运行中,与副存储控制器102相关联的数据可被恢复系统110用于处理。在本发明的实施方案中,关联于副存储控制器102的数据与关联于主存储控制器100的数据保持一致。一致性通过复制管理应用112来保持。
复制管理应用112被耦合到主存储控制器100和副存储控制器102,在某些实施方案中,复制管理应用112可以将数据从主存储控制器100镜像映射到副存储控制器102。在一些实施方案中,可以通过将数据从主存储控制器100异步地拷贝到副存储控制器102来完成镜像映射。
在某些实施方案中,复制管理应用112可以分布在主存储控制器100和副存储控制器102上。在其他实施方案中,复制管理应用112可以驻留在不同于主存储控制器100和副存储控制器102的单独系统上。在其他的实施方案中,复制管理应用112可以只驻留在主存储控制器100和副存储控制器102之一中。
在某些实施方案中,复制管理应用112保持从应用系统104接收的数据更新的一致性,其中,所述数据更新是从主存储控制器100异步拷贝到副存储控制器102的。复制管理应用112可以进行对被耦合到副存储控制器102的副存储装置108的虚拟,以保持主存储控制器100和副存储控制器102间的数据一致性。在某些实施方案中,虚拟包括物理副存储装置108到虚拟卷的映射。
这样,图1图示了复制管理应用112虚拟副存储控制器102并且保持主存储控制器100和副存储控制器102间的数据一致性的实施方案,其中数据从主存储控制器100异步拷贝到副存储控制器102。
图2根据本发明某些描述的实施方式图示了与复制管理应用112和副存储控制器102有关的数据结构和设备的框图。
副存储控制器102可以接收数据更新200,该数据更新200是作为从一个或多个应用204a...204m到主存储控制器100的写操作的结果而生成的,其中一个或多个应用204a...204m可以构成应用系统104。在某些实施方案中,来自应用系统104的数据更新200经由主存储控制器100异步到达副存储控制器102,并且数据更新200可被称为数据更新流。
复制管理应用112创建一个或多个虚拟设备,例如与副存储控制器102相关联的虚拟卷206a...206n。主存储控制器100也可以具有与虚拟卷206a...206n相对应的虚拟卷。在某些实施方案中,对应于虚拟卷206a...206n的数据被存储在物理副存储装置108中的位置上。虚拟卷206a...206n到物理副存储装置108中的位置的映射关系可以被存储在与副存储控制器102相关联的虚拟化表208中。在某些实施方案中,虚拟化表208可被耦合到虚拟卷206a...206n。
应用系统104对于与主存储控制器100相关联的虚拟卷执行I/O操作,并且对应的虚拟卷206a...206n也被关联到副存储控制器102。
在某些实施方案中,复制管理应用112可以包括一致性组确定应用210以及对应于一致性组212的关联数据结构。
这样,图2描述了复制管理应用112虚拟副存储控制器102并且在主存储控制器100和副存储控制器102间保持数据一致性的实施方案。
图3根据本发明某些描述的实施方式图示了由复制管理应用112创建的典型的一致性组的框图。
一致性组是一组更新,在该组中的更新可以跨越多个存储卷,并且其中为了保持包含在所述多个存储卷的每个存储卷中的数据之间的相互数据一致性,所述更新必须被一起写。提供一个非限制性的例子:第一命令将与主存储控制器100相关联的卷A1拷贝到与副存储控制器102相关联的卷B1,第二命令将与主存储控制器相关联的卷A2拷贝到与副存储控制器相关联的卷B2。要求卷B1和B2应当代表在特定时间点卷A1和A2中的数据集的一致状态。在对这些卷的特定操作序列中,可以发生由应用系统104完成的下面一组相关写操作(其中第二操作发生在第一操作之后):
1.写到卷A1上的数据集(数据被更新)
2.写到卷A2上的数据集(数据被更新)
当卷A1和A2分别经由数据更新200被异步拷贝到卷B1和B2时,则下面的作为非限制性的例子的操作序列可以在卷B1、B2中产生相对于卷A1、A2的不一致状态:
将卷A1拷贝到卷B1
2.写到卷A1上的数据集(数据被更新)
3.写到卷A2上的数据集(数据被更新)
4.将卷A2拷贝到卷B2
在所有拷贝操作都结束后,即,在第四操作结束后,卷B2包含卷A2的数据更新,而卷B1不包含卷A1的数据更新。卷B1、B2的集合相对于卷A1、A2的集合处于不一致的状态。使用与副存储控制器102相关联的卷B1、B2的应用204a...204m不能从存储在卷B1、B2中的备份拷贝进行恢复。
因此,并非所有的序列数据更新可以形成一组一致的数据更新。在图3中,表300的行代表不同的设备,而列代表不同的时间。时间是相对时间而非绝对时间。例如,t3(标号306)是t2(标号304)后的时间,t2(标号304)是t1(标号302)后的时间。在表300主体内的字母-数字组合标识了在某一时间上对某一设备的更新,用字母标识一个应用,用数字标识一个用于该应用的更新序列。例如,B1(标号308)是来自名为B的应用的第一数据更新,这里,该更新在相对时间t1(标号302)到达并用于设备D3(标号310)。在表300的条目中的不同阴影标识了一组具有数据一致性的更新,并且不一定正好是表中条目的垂直片段。例如,表300具有三个一致性组312、314、316。在一个一致性组中的更新数据可能需要被一起施加到副控制器102,用于与副控制器102相关联的数据,以便保持与关联到主控制器100的数据之间的一致。在表300中的一致性组312、314、316的确定可以以本领域公知的任何方式来完成。
这样,图3图示了可以由复制管理应用112通过处理从主存储控制器100异步到达副存储控制器102的数据更新流200而生成的典型一致性组312、314、316的实施方案。为了与主存储控制器102之间保持数据一致性,首先确定并提交一致性组,然后通过副存储控制器108的虚拟卷206a...206n中的指针或链接来反映该一致性组的数据更新。
图4根据本发明某些描述的实施方式图示了在副存储控制器102中实现的通过虚拟来保持一致性的逻辑。
控制开始于框400,其中复制管理应用112创建虚拟化表208,该表对应于与副存储控制器102相关联的虚拟卷206a...206n,其中虚拟化表208指向物理存储装置108中的位置,并且可以定义虚拟卷206a...206n的一致数据内容。虚拟卷206a...206n的数据内容的一致性是相对于与主存储控制器100相关联的数据内容而言的。
复制管理应用112(在框402)接收对与副存储控制器102相关联的虚拟卷206a...206n的数据更新200。例如,在某些实施方案中,数据更新200可以是数据更新B1(标号308)。
复制管理应用112(在框404)将数据更新200写入未使用的物理存储装置。例如,复制管理应用112可以将数据更新200写入副存储装置108的未使用位置。
复制管理应用112(在框406)判断是否已接收到用于一致性组212(例如一致性组312、314、316)的所有数据更新。如果已收到,则复制管理应用112(在框408)更新虚拟化表208,以指向物理存储装置108中构成对包括在一致性组212中的数据更新的提交的位置。更新后的虚拟化表208定义了与虚拟卷206a...206n相关联的新数据。因此,与副存储控制器102的虚拟卷206a...206n相关联的数据与关联到主存储控制器100的数据是一致的。
作为虚拟化表208的更新的结果,复制管理应用112(在框410)释放物理存储装置108中的空间。例如,某些在框404完成的写入未使用物理存储装置的数据更新200可能是不需要的,可被释放。复制管理应用112(在框402)接收下一个数据更新200。
如果复制管理应用112(在框406)确定用于一致性组212(例如一致性组312、314、316)的数据更新还没有全部收到,则复制管理应用112(在框402)接收下一个数据更新200。
这样,图4描述了某些实施方案,其中,复制管理应用112将所有数据更新200写入未使用物理存储装置108中的位置,并且在确定一致性组212之后,可以通过将虚拟化表208更新为指向一定数量的写入数据更新从而仅仅固化所述一定数量的写入数据更新。写入的数据更新不需要拷贝。
图5根据本发明某些描述的实施方式图示了在一个典型实施方案中的数据结构的第一状态的框图,其中原始数据与副存储控制器102相关联,对应于第一和第二一致性组的数据更新已到达副存储控制器102但尚未提交。
在图5中,示出了一个典型的盘500(例如物理存储装置108)的线性表示。典型的盘500具有十个物理块,第一物理块包含名为VB1的第一虚拟块(VB),它是盘500中的原始数据的一部分。当数据更新200到达并且与不同的一致性组(CG)关联时,数据更新被写入盘500。例如,第四虚拟块(VB4)是第二一致性组(CG2)的一部分,用于该虚拟块的数据更新200被写入物理块5。所述虚拟块对应于虚拟卷206a...206n。
图5还图示了指向盘500中的原始数据的物理块的当前数据指针502、指向与构成第一一致性组的数据更新相对应的物理块的第一一致性组指针504和指向与构成第二一致性组的数据更新相对应的物理块的第二一致性组指针506。
还维护代表指针502、504、506的虚拟块到物理块映射关系的表。例如,当前数据指针表508示出在盘500中虚拟块到物理块的当前映射关系。在当前数据指针表508中的映射关系示出了被固化或提交的数据,即在主存储控制器100和副存储控制器102之间一致的数据。访问与副存储控制器102相关联的数据的应用204a...204n作用于当前数据指针502所指向的数据。
第一一致性组指针表510针对形成第一一致性组的一部分的数据更新示出了在盘500中虚拟块到物理块的映射关系。在第一一致性组指针表510中表示的数据不被固化,因为第一一致性组尚未被提交。
类似地,第二一致性组指针表512针对形成第二一致性组的一部分的数据更新示出了在盘500中虚拟块到物理块的映射关系。在第二一致性组指针表512中表示的数据不被固化,因为第二一致性组尚未被提交。
这样,图5就示出了一种实施方案中的数据结构的第一状态,其中,用于第一和第二一致性组的数据更新已经到达副存储控制器102但尚未被提交。
图6根据本发明某些描述的实施方式图示了在一个典型实施方案中的数据结构的第二状态的框图,其中对应于第一一致性组指针表510的数据更新200已被固化,即,第一一致性组已被提交,并且对应于第三一致性组的未提交数据更新200已到达副存储控制器102。
图6示出了指向盘500中的原始数据的物理块的已更新当前数据指针502、指向与构成未提交的第二一致性组的数据更新相对应的物理块的第二一致性组指针506和指向与构成第三一致性组的未提交数据更新相对应的物理块的新的第三一致性组指针600。
还维护代表指针502、506、510的虚拟块到物理块映射关系的表。例如,当前数据指针表508示出在盘500中虚拟块到物理块的当前映射关系。在当前数据指针表508中的映射关系示出了在第一一致性组的数据更新200已被提交后被固化或提交的数据。
第三一致性组指针表602针对形成第三一致性组的一部分的数据更新示出了在盘500中虚拟块到物理块的映射关系。在第二一致性组指针表512或第三一致性组指针表602中表示的数据不被固化,因为第二和第三一致性组尚未被提交。在图6中,第一一致性组指针表510已被删除,因为用于第一一致性组的数据更新已被提交。
这样,图6示出了一种实施方案,其中,用于第一、第二和第三一致性组的数据更新200已到达副存储控制器102,但只有第一一致性组的数据更新已被提交。
图7根据本发明某些描述的实施方式示出了在一个典型实施方案中的数据结构的第三状态。在图7中,对应于第二和第三一致性组的数据更新200已被提交。
由于第一、第二和第三一致性组的数据更新都已被提交,所以第一一致性组指针表510、第二一致性组指针表512和第三一致性组指针表602都被示为已删除。当前数据指针指向盘500的物理块5、6、8、9,并且分别对应于虚拟块VB4、VB2、VB1和VB3。
这样,图7示出了一种实施方案,其中,用于第一、第二和第三一致性组的数据更新200已经到达副存储控制器102并且所有的数据更新都已提交。
图8根据本发明某些描述的实施方式图示了在复制管理应用112中实现的用于保持一致性和灾难恢复的逻辑。
控制开始于框800,其中当前一致性组被初始化为1。复制管理应用112(在框802)确定是否所有的存储控制器,即主存储控制器100和副存储控制器102都已接收到当前一致性组的数据更新。如果是的,则复制管理应用112提交当前一致性组的数据更新,并且对于所有的存储控制器(在框804)将当前指针设置为指向当前一致性组数据更新。在某些实施方案中,当前指针可以通过与虚拟化表208和/或指针表508、510、512、602相关联的数据结构来实施。
复制管理应用112(在框806)确定是否所有的指针都已更新。如果是的,则复制管理应用(在框808)删除当前一致性组指针。
复制管理应用112(在框810)将当前一致性组增一。例如,如果在框802到808的第一次迭代中,处理的是第一一致性组的数据更新,那么在框802到808的第二次迭代中,将要处理的则是第二一致性组的数据更新。复制管理应用112(在框812)等待当前一致性组的数据更新到达。如果在等待的过程中没有错误的话,则控制前进到框802,在这里复制管理应用112确定是否所有的存储控制器都已接收到当前一致性组的数据更新。
如果复制管理应用112(在框802)确定并非所有的存储控制器都已收到当前一致性组的数据更新,则复制管理应用112(在框812)等待当前一致性组的所有数据更新到达。如果(在框812)等待时发生了错误或灾难,那么复制管理应用112(在框814)确定在所有存储控制器上的当前一致性组,然后(在框816)确定在每个存储控制器中最后的可用一致性组。复制管理应用112(在框818)确定在所有存储控制器上可用的最大一致性组,然后(在框820)将所有存储控制器上的指针更新为对应于在所有存储控制器上最后的可用一致性组。
如果复制管理应用112(在框806)确定并非所有的指针都已更新,则复制管理应用112(在框822)等待所有的指针被更新。如果在等待时没有错误,则控制返回框806,在这里复制管理应用112确定是否已更新了所有的指针。
如果(在框822)等待时发生了错误,则复制管理应用112(在框824)开始对所有的存储控制器执行FOR循环。在每次迭代中为一个存储控制器(在框824)执行对FOR循环的控制。如果FOR循环没有结束,即,不是所有的存储控制器都已被处理,则复制管理应用112(在框826)确定指针是否对应于正在处理的存储控制器的当前一致性组。如果是的,则复制管理应用112(在框828)使指针倒退,以对应于前面的一致性组,并且控制(在框824)前进到FOR循环针对下一存储控制器的下一次迭代。
如果指针(在框826)不对应于当前一致性组,则控制(在框824)前进到FOR循环针对下一存储控制器的下一次迭代。在FOR循环(在框830)结束时,存储控制器中的数据相对于前面的一致性组是一致的。
这样,图8的逻辑就使所有存储控制器上的数据都保持相互一致,此外,如果在更新指针或接收数据更新时有错误或灾难降临于存储控制器,则图8的逻辑可以使存储控制器中的指针倒退,以反映与先前处理的一致性组相关联的数据更新,使得存储控制器中的数据相互一致。
这些实施方案通过虚拟存储系统实现了异步远程拷贝的一致性。复制管理应用将已被接收但尚未与其他存储子系统中的数据一致的数据写入未使用的物理存储装置。响应于为提供一致性所必需的数据的被接收,可以在真正的目标位置上更新指针和表,以指向在数据已被写入的物理存储装置中的位置。
因此,所述实施方案不需要在副存储控制器上进行两阶段提交以确保数据一致性。在两阶段提交中,数据更新可在第一阶段中被写入与副存储控制器相关联的日志数据集,并且在一致性组被提交的第二阶段中可以拷贝适当的数据更新。所述实施方案在不使用日志数据集的情况下来实现。响应于一致性组的被提交,对指针进行调整,以指向物理存储装置中的适当位置,使得调整后的指针代表在所有存储控制器上的一致数据集合。
此外,在更新指针或等待数据更新时发生错误或灾难的情况下,所述实施方案可以调整存储控制器中的指针,以反映与先前处理的一致性组相关联的数据更新,使得存储控制器中的数据相互一致。
此外,由于数据更新可被保存在盘中,因此与数据更新被保存在高速缓存中相比,在空间利用率或易失性方面的限制要小一些。另外,要包含对同时进行中的大量一致性组的更新,只需要充足的额外盘空间就可以了。
此外,由于没有任何数据更新被物理覆写,所以在某些实施方案中,有可能在存储控制器中保留或者倒退回多个先前版本的一致数据集合。
使用标准的程序设计和/或工程技术来制作软件、固件、硬件或它们的组合,可以将所描述的技术实现为一种方法、设备或制品。术语“制品”用在这里是指用硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)或计算机可读介质(例如,磁存储介质(例如硬盘驱动器、软盘、磁带)、光存储(例如CD-ROM、光盘等)、易失性或非易失性存储器件(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等))实现的代码或逻辑。计算机可读介质中的代码由处理器来访问并执行。完成所述实施方式的代码还可以通过传输介质来访问或者通过网络从文件服务器获得。在这些情况下,实现代码的制品可以包括传输介质,例如网络传输线、无线传输介质、通过空间传播的信号、无线电波、红外信号等。当然,本领域的技术人员会认识到:可以对这种配置进行很多修改,而不会偏离所述实施方式的范围,并且制品可以包括本领域公知的任何信息承载介质。
图9图示了可以实现本发明的某些方面的计算机体系结构的框图。图9图示了存储控制器100、102、包括应用系统104的主机以及包括复制管理应用112的任意计算设备的一种实施方式。存储控制器100、102、包括应用系统104的主机、以及包括复制管理应用112的任意计算设备可以实现一个计算机体系结构900,它具有处理器902、存储器904(例如,易失性存储器件)和存储装置906(例如,非易失性存储装置、磁盘驱动器、光盘驱动器、磁带驱动器等)。存储装置906可以包括内部存储装置、附接存储装置或网络可访问的存储装置。存储装置906中的程序可以利用本领域公知的方式被加载到存储器904中并由处理器902来执行。该体系结构还可以包括网卡908,以使得能够与网络通信。该体系结构还可以包括至少一个输入设备910和至少一个输出设备912,输入设备例如是键盘、触摸屏、笔、声动输入等,输出设备例如是显示设备、扬声器、打印机等。
图4-8描述了按特定顺序发生的具体操作。此外,所述操作不但可以顺序执行,还可以并行执行。在可选的实施方式中,某些逻辑操作可以按不同的顺序来执行,可以被修改或删除,但仍能实现本发明的实施方式。此外,可以向上述逻辑中添加步骤而仍遵循所述实施方式。另外还有一些步骤可以利用单个过程或分布式过程来完成。
虽然所述实施方案是关于异步对等远程拷贝而言的,但是也可以使用需要两阶段提交来进行拷贝的另外的实施方案。例如,如果使用同一虚拟化引擎使得同时包含数据库日志(log)和表空间,那么事务可被写入所述日志,然后可以使用在所述实施方案中描述的虚拟技术来完成提交。因为不再需要向存储装置中转移数据以供提交,所以数据库处理的性能会有所提高。
为了图示说明方便,用单独的模块描述了很多软件和硬件组件。这样的组件可被集成到更少的组件中或者被划分到更多的组件中。另外,被描述为由某一特定组件完成的某些操作可以由其他组件来完成。
这样,为图示说明和描述的目的在上面对具体实施方式进行了说明。但这不是穷尽性的,也不是要将本发明限制为所公开的精确形式。遵照以上教导可以作出很多修改和变体。本发明的范围不应由上述详细描述来限定,而是要用所附的权利要求来限定。以上说明、例子和数据提供了对本发明的构成部分的制造和使用的完整描述。由于在不偏离本发明的精神和范围的条件下可以完成本发明的很多实施方式,所以本发明表现为这里所附的权利要求。
Claims (26)
1. 一种用于拷贝存储内容的方法,包括:在第一单元处从第二单元接收数据更新;将所述数据更新存储在与所述第一单元相关联的多个物理存储位置中;并且生成指向所述多个物理存储位置中的至少一个位置的链接,以实现所述第一单元和所述第二单元之间的一致数据。
2. 如权利要求1所述的方法,其中,所述第一单元是耦合到副存储装置的副存储控制器,所述第二单元是耦合到主存储装置的主存储控制器,其中,所述多个物理存储位置与所述副存储装置相关联,并且其中,所述数据更新是在所述第一单元处异步接收的。
3. 如权利要求1所述的方法,其中,所接收的数据只被存储在与所述第一单元相关联的所述多个物理存储位置中一次,所述方法还包括:释放未链接的物理存储位置,以用于存储后续的数据更新。
4. 如权利要求1所述的方法,其中,应用向所述第二单元发送输入/输出请求,其中,所述数据更新对应于来自所述应用的输出请求,并且其中,所述数据更新在所述第一单元处只被存储一次,其中,所述第一单元可以在任意时间点上响应于来自所述应用的输入/输出请求来接替所述第二单元,并且其中,在所述第一和第二单元中的数据在所有时间点上都是一致的。
5. 如权利要求1所述的方法,还包括:在生成所述链接之前判断所存储的数据更新是否形成一致性组;并且,如果所存储的数据更新没有形成一致性组,则等待接收下一数据更新。
6. 如权利要求1所述的方法,还包括:在生成所述链接之前判断所存储的数据更新是否形成一致性组;并且确定提交所述一致性组的所述至少一个物理存储位置,其中,与所述第一单元相关联的虚拟存储装置链接到所确定的至少一个物理存储位置。
7. 如权利要求1所述的方法,还包括:维护将虚拟存储位置映射到所述多个物理存储位置中的所述至少一个物理存储位置的数据结构,其中,所生成的链接与所述数据结构相关联,并且其中,多个应用能够执行与所述虚拟存储位置之间的输入/输出操作。
8. 如权利要求1所述的方法,还包括:维护代表对应于所述数据更新的一致性组的数据结构,其中,所维护的数据结构能够指向所述多个物理存储位置;并且响应于与第一一致性组相关联的第一数据更新的被提交,删除代表所述第一一致性组的第一数据结构。
9. 如权利要求1所述的方法,还包括:响应于等待数据更新,在所述第一单元处接收错误;并且修改所生成的链接,以反映所述第一单元和所述第二单元之间的一致数据。
10. 如权利要求1所述的方法,还包括:响应于生成所述链接,在所述第一单元处接收错误;并且修改所述链接,以反映所述第一单元和所述第二单元之间的一致数据。
11. 一种用于拷贝存储内容的系统,包括:处理单元;多个与所述处理单元相关联的物理存储位置;包括代码的程序逻辑,所述代码能够致使所述处理单元执行:(i)在所述处理单元处接收数据更新;(ii)将所述数据更新存储在所述多个物理存储位置中;并且(iii)生成指向所述多个物理存储位置中的至少一个物理存储位置的链接,以实现一致数据。
12. 如权利要求11所述的系统,其中,所述处理单元是耦合到副存储装置的副存储控制器,其中,所述多个物理存储位置与所述副存储装置相关联,并且其中,所述数据更新是在所述副存储控制器处被异步接收的。
13. 如权利要求11所述的系统,其中,所接收的数据只被存储在与所述处理单元相关联的多个物理存储位置中一次,并且其中,所述程序逻辑还能够使所述处理单元执行:释放未链接的物理存储位置,以用于存储后续的数据更新。
14. 如权利要求11所述的系统,其中,所述处理单元包括第一处理单元,其中所述第一处理单元被耦合到第二处理单元,其中,应用向所述第二处理单元发送输入/输出请求,其中,所述数据更新对应于来自所述应用的输出请求,并且其中,所述数据更新只被存储在所述第一处理单元处一次,其中,所述第一处理单元可以在任意时间点上响应于来自所述应用的输入/输出请求来接替所述第二处理单元,并且其中,所述第一和第二处理单元中的数据在所有时间点上都是一致的。
15. 如权利要求11所述的系统,其中,所述程序逻辑还能够使所述处理单元执行:在生成所述链接之前判断所存储的数据更新是否形成一致性组;并且,如果所存储的数据更新没有形成一致性组,则等待接收下一数据更新。
16. 如权利要求11所述的系统,其中,所述程序逻辑还能够使所述处理单元执行:在生成所述链接之前判断所存储的数据更新是否形成一致性组;并且确定提交所述一致性组的所述至少一个物理存储位置,其中,与所述第一处理单元相关联的虚拟存储装置链接到所确定的至少一个物理存储位置。
17. 如权利要求11所述的系统,其中,所述程序逻辑还能够使所述处理单元执行:维护将虚拟存储位置映射到所述多个物理存储位置中的所述至少一个物理存储位置的数据结构,其中,所生成的链接与所述数据结构相关联,并且其中,多个应用能够执行与所述虚拟存储位置之间的输入/输出操作。
18. 如权利要求11所述的系统,其中,所述程序逻辑还能够使所述处理单元执行:维护代表对应于所述数据更新的一致性组的数据结构,其中,所维护的数据结构能够指向所述多个物理存储位置;并且响应于与第一一致性组相关联的第一数据更新的被提交,删除代表所述第一一致性组的第一数据结构。
19. 如权利要求11所述的系统,其中,所述程序逻辑还能够使所述处理单元执行:响应于等待数据更新,在所述第一处理单元处接收错误;并且修改所生成的链接以反映一致数据。
20. 如权利要求11所述的系统,其中,所述程序逻辑还能够使所述处理单元执行:响应于生成所述链接,在所述处理单元处接收错误;并且修改所述链接以反映一致数据。
21. 如权利要求11所述的系统,其中,所述处理单元包括第一处理单元,并且还包括:耦合到所述第一处理单元的第二处理单元,其中,在所述第一处理单元处的数据更新是从所述第二处理单元接收的,并且其中,所述一致数据是在所述第一处理单元和所述第二处理单元之间实现的。
22. 一种用于拷贝存储内容的系统,包括:用于接收数据更新的装置;用于将所述数据更新存储在多个物理存储位置中的装置;以及用于生成指向所述多个物理存储位置中的至少一个物理存储位置的链接,以实现一致数据的装置。
23. 如权利要求22所述的系统,还包括:在生成所述链接之前判断所存储的数据更新是否形成一致性组的装置;如果所存储的数据更新没有形成一致性组,则等待接收下一数据更新。
24. 如权利要求22所述的系统,还包括:在生成所述链接之前判断所存储的数据更新是否形成一致性组的装置;以及确定提交所述一致性组的所述至少一个物理存储位置的装置,其中,虚拟存储装置链接到所确定的至少一个物理存储位置。
25. 如权利要求22所述的系统,还包括:维护代表对应于所述数据更新的一致性组的数据结构的装置,其中,所维护的数据结构能够指向所述多个物理存储位置;以及响应于与第一一致性组相关联的第一数据更新的被提交,删除代表所述第一一致性组的第一数据结构的装置。
26. 如权利要求22所述的系统,其中,所述一致数据是在第一处理单元和第二处理单元之间实现的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/754,231 US7478211B2 (en) | 2004-01-09 | 2004-01-09 | Maintaining consistency for remote copy using virtualization |
US10/754,231 | 2004-01-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1906594A CN1906594A (zh) | 2007-01-31 |
CN100422949C true CN100422949C (zh) | 2008-10-01 |
Family
ID=34739337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200580001870XA Expired - Fee Related CN100422949C (zh) | 2004-01-09 | 2005-01-07 | 用于拷贝存储内容的方法和系统 |
Country Status (9)
Country | Link |
---|---|
US (2) | US7478211B2 (zh) |
EP (1) | EP1706822B1 (zh) |
JP (1) | JP4644684B2 (zh) |
KR (1) | KR100961739B1 (zh) |
CN (1) | CN100422949C (zh) |
AT (1) | ATE358848T1 (zh) |
DE (1) | DE602005000819T2 (zh) |
TW (1) | TWI339793B (zh) |
WO (1) | WO2005069143A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309550A (ja) * | 2004-04-19 | 2005-11-04 | Hitachi Ltd | リモートコピー方法及びリモートコピーシステム |
US20050154786A1 (en) * | 2004-01-09 | 2005-07-14 | International Business Machines Corporation | Ordering updates in remote copying of data |
US7657717B1 (en) * | 2004-02-02 | 2010-02-02 | Symantec Operating Corporation | Coherently sharing any form of instant snapshots separately from base volumes |
JP4512386B2 (ja) | 2004-03-05 | 2010-07-28 | 株式会社日立製作所 | バックアップシステムおよび方法 |
US7765187B2 (en) * | 2005-11-29 | 2010-07-27 | Emc Corporation | Replication of a consistency group of data storage objects from servers in a data network |
GB0616257D0 (en) * | 2006-08-16 | 2006-09-27 | Ibm | Storage management system for preserving consistency of remote copy data |
JP5073348B2 (ja) * | 2007-04-04 | 2012-11-14 | 株式会社日立製作所 | アプリケーション管理支援システム、管理計算機、ホスト計算機、及びアプリケーション管理支援方法 |
US20100153612A1 (en) * | 2008-12-15 | 2010-06-17 | Lsi Corporation | Transport agnostic scsi i/o referrals |
US8893147B2 (en) | 2012-01-13 | 2014-11-18 | Ca, Inc. | Providing a virtualized replication and high availability environment including a replication and high availability engine |
US9430343B1 (en) * | 2012-05-07 | 2016-08-30 | Emc Corporation | Using affinity to mediate bias in a distributed storage system |
US9367394B2 (en) * | 2012-12-07 | 2016-06-14 | Netapp, Inc. | Decoupled reliability groups |
US20160217175A1 (en) * | 2015-01-23 | 2016-07-28 | Netapp, Inc. | Techniques for asynchronous snapshot invalidation |
US10191672B2 (en) * | 2015-10-16 | 2019-01-29 | Google Llc | Asynchronous copying of data within memory |
CN109150986A (zh) * | 2018-07-27 | 2019-01-04 | 郑州云海信息技术有限公司 | 存储双活模式下数据的访问方法、装置及存储介质 |
US11836130B2 (en) * | 2019-10-10 | 2023-12-05 | Unisys Corporation | Relational database blockchain accountability |
Citations (2)
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 |
EP1349088A2 (en) * | 2002-03-19 | 2003-10-01 | Network Appliance, Inc. | System and method for determining and transmitting changes in snapshots |
Family Cites Families (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US178335A (en) * | 1876-06-06 | Improvement in jack-spools | ||
US178162A (en) * | 1876-05-30 | Improvement in wrenches | ||
US120763A (en) * | 1871-11-07 | Improvement in ferrules | ||
US87780A (en) * | 1869-03-16 | Improvement in bolt-heading dies | ||
US519184A (en) * | 1894-05-01 | Brook | ||
US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
US5193184A (en) | 1990-06-18 | 1993-03-09 | Storage Technology Corporation | Deleted data file space release system for a dynamically mapped virtual data storage subsystem |
US5893117A (en) | 1990-08-17 | 1999-04-06 | Texas Instruments Incorporated | Time-stamped database transaction and version management system |
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5504899A (en) | 1991-10-17 | 1996-04-02 | Digital Equipment Corporation | Guaranteeing global serializability by applying commitment ordering selectively to global transactions |
US5701480A (en) | 1991-10-17 | 1997-12-23 | Digital Equipment Corporation | Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing |
CA2055295C (en) * | 1991-11-12 | 2000-05-23 | Jean Gilles Fecteau | Logical mapping of data objects using data spaces |
US5499367A (en) * | 1991-11-15 | 1996-03-12 | Oracle Corporation | System for database integrity with multiple logs assigned to client subsets |
JPH0619785A (ja) * | 1992-03-27 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 分散共有仮想メモリーとその構成方法 |
US5446871A (en) * | 1993-03-23 | 1995-08-29 | International Business Machines Corporation | Method and arrangement for multi-system remote data duplexing and recovery |
KR0128271B1 (ko) * | 1994-02-22 | 1998-04-15 | 윌리암 티. 엘리스 | 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템 |
JP2894676B2 (ja) | 1994-03-21 | 1999-05-24 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 非同期式遠隔コピー・システム及び非同期式遠隔コピー方法 |
US5592618A (en) * | 1994-10-03 | 1997-01-07 | International Business Machines Corporation | Remote copy secondary data copy validation-audit function |
US5850522A (en) | 1995-02-03 | 1998-12-15 | Dex Information Systems, Inc. | System for physical storage architecture providing simultaneous access to common file by storing update data in update partitions and merging desired updates into common partition |
US5682513A (en) * | 1995-03-31 | 1997-10-28 | International Business Machines Corporation | Cache queue entry linking for DASD record updates |
US5787476A (en) * | 1995-05-05 | 1998-07-28 | Silicon Graphics, Inc. | System and method for maintaining coherency of virtual-to-physical memory translations in a multiprocessor computer |
US5895499A (en) * | 1995-07-03 | 1999-04-20 | Sun Microsystems, Inc. | Cross-domain data transfer using deferred page remapping |
US5765171A (en) * | 1995-12-29 | 1998-06-09 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
US5852715A (en) * | 1996-03-19 | 1998-12-22 | Emc Corporation | System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions |
US5806074A (en) * | 1996-03-19 | 1998-09-08 | Oracle Corporation | Configurable conflict resolution in a computer implemented distributed database |
US6438586B1 (en) * | 1996-09-30 | 2002-08-20 | Emc Corporation | File transfer utility which employs an intermediate data storage system |
US5896492A (en) * | 1996-10-28 | 1999-04-20 | Sun Microsystems, Inc. | Maintaining data coherency between a primary memory controller and a backup memory controller |
US6067550A (en) * | 1997-03-10 | 2000-05-23 | Microsoft Corporation | Database computer system with application recovery and dependency handling write cache |
US6490594B1 (en) * | 1997-04-04 | 2002-12-03 | Microsoft Corporation | Database computer system with application recovery and dependency handling write cache |
US6032216A (en) * | 1997-07-11 | 2000-02-29 | International Business Machines Corporation | Parallel file system with method using tokens for locking modes |
US5924096A (en) * | 1997-10-15 | 1999-07-13 | Novell, Inc. | Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand |
US5999931A (en) | 1997-10-17 | 1999-12-07 | Lucent Technologies Inc. | Concurrency control protocols for management of replicated data items in a distributed database system |
US6105078A (en) | 1997-12-18 | 2000-08-15 | International Business Machines Corporation | Extended remote copying system for reporting both active and idle conditions wherein the idle condition indicates no updates to the system for a predetermined time period |
US6085200A (en) * | 1997-12-23 | 2000-07-04 | Unisys Corporation | System and method for arranging database restoration data for efficient data recovery in transaction processing systems |
US6131148A (en) * | 1998-01-26 | 2000-10-10 | International Business Machines Corporation | Snapshot copy of a secondary volume of a PPRC pair |
US6324654B1 (en) * | 1998-03-30 | 2001-11-27 | Legato Systems, Inc. | Computer network remote data mirroring system |
US6157991A (en) * | 1998-04-01 | 2000-12-05 | Emc Corporation | Method and apparatus for asynchronously updating a mirror of a source device |
US6161191A (en) * | 1998-05-12 | 2000-12-12 | Sun Microsystems, Inc. | Mechanism for reliable update of virtual disk device mappings without corrupting data |
US6185663B1 (en) | 1998-06-15 | 2001-02-06 | Compaq Computer Corporation | Computer method and apparatus for file system block allocation with multiple redo |
US6260120B1 (en) * | 1998-06-29 | 2001-07-10 | Emc Corporation | Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement |
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 |
US6321276B1 (en) * | 1998-08-04 | 2001-11-20 | Microsoft Corporation | Recoverable methods and systems for processing input/output requests including virtual memory addresses |
US6269382B1 (en) * | 1998-08-31 | 2001-07-31 | Microsoft Corporation | Systems and methods for migration and recall of data from local and remote storage |
US6301643B1 (en) | 1998-09-03 | 2001-10-09 | International Business Machines Corporation | Multi-environment data consistency |
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 |
US6539462B1 (en) * | 1999-07-12 | 2003-03-25 | Hitachi Data Systems Corporation | Remote data copy using a prospective suspend command |
US6513051B1 (en) * | 1999-07-16 | 2003-01-28 | Microsoft Corporation | Method and system for backing up and restoring files stored in a single instance store |
US6671705B1 (en) * | 1999-08-17 | 2003-12-30 | Emc Corporation | Remote mirroring system, device, and method |
US6463501B1 (en) * | 1999-10-21 | 2002-10-08 | International Business Machines Corporation | Method, system and program for maintaining data consistency among updates across groups of storage areas using update times |
US6438558B1 (en) * | 1999-12-23 | 2002-08-20 | Ncr Corporation | Replicating updates in original temporal order in parallel processing database systems |
US6493727B1 (en) * | 2000-02-07 | 2002-12-10 | Hewlett-Packard Company | System and method for synchronizing database in a primary device and a secondary device that are derived from a common database |
US6487645B1 (en) * | 2000-03-06 | 2002-11-26 | International Business Machines Corporation | Data storage subsystem with fairness-driven update blocking |
US6532527B2 (en) * | 2000-06-19 | 2003-03-11 | Storage Technology Corporation | Using current recovery mechanisms to implement dynamic mapping operations |
US6804755B2 (en) | 2000-06-19 | 2004-10-12 | Storage Technology Corporation | Apparatus and method for performing an instant copy of data based on a dynamically changeable virtual mapping scheme |
US6925528B2 (en) | 2000-06-20 | 2005-08-02 | Storage Technology Corporation | Floating virtualization layers |
JP2002116939A (ja) * | 2000-10-06 | 2002-04-19 | Telecommunication Advancement Organization Of Japan | 分散型データベースシステム |
US7475199B1 (en) * | 2000-10-19 | 2009-01-06 | Emc Corporation | Scalable network file system |
JP2002132568A (ja) * | 2000-10-30 | 2002-05-10 | Nec Corp | 顧客管理システム及び顧客管理方法 |
WO2002056181A2 (en) | 2001-01-11 | 2002-07-18 | Force Communications Inc Z | File switch and switched file system |
US20020156973A1 (en) | 2001-01-29 | 2002-10-24 | Ulrich Thomas R. | Enhanced disk array |
US7305421B2 (en) * | 2001-07-16 | 2007-12-04 | Sap Ag | Parallelized redo-only logging and recovery for highly available main memory database systems |
KR100453228B1 (ko) * | 2002-03-21 | 2004-10-15 | 한국전자통신연구원 | 공유 디스크 파일 시스템의 저널링 및 회복 방법 |
US6898609B2 (en) * | 2002-05-10 | 2005-05-24 | Douglas W. Kerwin | Database scattering system |
JP2003330780A (ja) * | 2002-05-14 | 2003-11-21 | Ricoh Co Ltd | 文書管理プログラム及び記録媒体 |
US7266587B2 (en) * | 2002-05-15 | 2007-09-04 | Broadcom Corporation | System having interfaces, switch, and memory bridge for CC-NUMA operation |
US7739240B2 (en) | 2002-12-09 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Replication and replica management in a wide area file system |
US6899685B2 (en) * | 2003-01-24 | 2005-05-31 | Acueity, Inc. | Biopsy device |
US7051176B2 (en) * | 2003-03-25 | 2006-05-23 | Emc Corporation | Reading data provided to a remote storage device |
US6898685B2 (en) * | 2003-03-25 | 2005-05-24 | Emc Corporation | Ordering data writes from a local storage device to a remote storage device |
US7111136B2 (en) * | 2003-06-26 | 2006-09-19 | Hitachi, Ltd. | Method and apparatus for backup and recovery system using storage based journaling |
US7278049B2 (en) * | 2003-09-29 | 2007-10-02 | International Business Machines Corporation | Method, system, and program for recovery from a failure in an asynchronous data copying system |
US7143122B2 (en) * | 2003-10-28 | 2006-11-28 | Pillar Data Systems, Inc. | Data replication in data storage systems |
US7228456B2 (en) * | 2003-12-01 | 2007-06-05 | Emc Corporation | Data recovery for virtual ordered writes for multiple storage devices |
US7155586B1 (en) * | 2003-12-30 | 2006-12-26 | Emc Corporation | Method of allowing point-in-time view of data on a disk using a map on cache disk |
US20050154786A1 (en) | 2004-01-09 | 2005-07-14 | International Business Machines Corporation | Ordering updates in remote copying of data |
-
2004
- 2004-01-09 US US10/754,231 patent/US7478211B2/en not_active Expired - Fee Related
- 2004-11-12 TW TW093134680A patent/TWI339793B/zh not_active IP Right Cessation
-
2005
- 2005-01-07 CN CNB200580001870XA patent/CN100422949C/zh not_active Expired - Fee Related
- 2005-01-07 EP EP05701462A patent/EP1706822B1/en active Active
- 2005-01-07 KR KR1020067013767A patent/KR100961739B1/ko active IP Right Grant
- 2005-01-07 WO PCT/EP2005/050065 patent/WO2005069143A1/en active IP Right Grant
- 2005-01-07 AT AT05701462T patent/ATE358848T1/de not_active IP Right Cessation
- 2005-01-07 DE DE602005000819T patent/DE602005000819T2/de active Active
- 2005-01-07 JP JP2006548309A patent/JP4644684B2/ja not_active Expired - Fee Related
-
2008
- 2008-11-06 US US12/266,408 patent/US7660958B2/en not_active Expired - Fee Related
Patent Citations (2)
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 |
EP1349088A2 (en) * | 2002-03-19 | 2003-10-01 | Network Appliance, Inc. | System and method for determining and transmitting changes in snapshots |
Also Published As
Publication number | Publication date |
---|---|
EP1706822A1 (en) | 2006-10-04 |
JP4644684B2 (ja) | 2011-03-02 |
KR20060123460A (ko) | 2006-12-01 |
KR100961739B1 (ko) | 2010-06-07 |
ATE358848T1 (de) | 2007-04-15 |
US7660958B2 (en) | 2010-02-09 |
JP2007518174A (ja) | 2007-07-05 |
TWI339793B (en) | 2011-04-01 |
CN1906594A (zh) | 2007-01-31 |
US20050154845A1 (en) | 2005-07-14 |
US7478211B2 (en) | 2009-01-13 |
DE602005000819T2 (de) | 2008-01-10 |
WO2005069143A1 (en) | 2005-07-28 |
TW200532444A (en) | 2005-10-01 |
EP1706822B1 (en) | 2007-04-04 |
DE602005000819D1 (de) | 2007-05-16 |
US20090055610A1 (en) | 2009-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100422949C (zh) | 用于拷贝存储内容的方法和系统 | |
CN101361047B (zh) | 用于存储系统中的数据保护的方法和系统 | |
CN101268439B (zh) | 数据库片段克隆和管理 | |
JP6553822B2 (ja) | 分散システムにおける範囲の分割および移動 | |
US7406487B1 (en) | Method and system for performing periodic replication using a log | |
CA2436517C (en) | Method and apparatus for data processing | |
CN102216910B (zh) | 并行编辑数据库的方法 | |
CN102395967A (zh) | 用于复制内容可寻址存储集群的异步分布式对象上载 | |
US7277997B2 (en) | Data consistency for mirroring updatable source data storage | |
CN102831075A (zh) | 将预先存在数据导入存储池供新存储方案使用的方法和系统 | |
CN101084481A (zh) | 在群集存储环境中执行并行数据迁移的方法 | |
CN101120305A (zh) | 新型即时复制操作 | |
CN103562878A (zh) | 在镜像虚拟机系统中的存储器检查点设置 | |
CN108369498B (zh) | 用于分布式存储库的系统和计算机可读存储介质 | |
CN103019718A (zh) | 在集中式源控制环境中使用分布式源控制 | |
US7549029B2 (en) | Methods for creating hierarchical copies | |
US11099980B2 (en) | Host aware update write | |
CN103942118A (zh) | 用于高效远程复制的方法和装置 | |
CN105302665A (zh) | 一种改进的写时拷贝快照方法及系统 | |
US20050154786A1 (en) | Ordering updates in remote copying of data | |
CN100403269C (zh) | 用于管理关于目标卷与源卷之间关系的信息的方法和系统 | |
CN105683915A (zh) | 写时拷贝更新触发一致性 | |
CN100583064C (zh) | 用于从别名地址池中移除别名地址的方法和设备 | |
US9003129B1 (en) | Techniques for inter-storage-processor cache communication using tokens | |
US9424261B2 (en) | Techniques to take clean database file snapshot in an online database |
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: 20081001 Termination date: 20190107 |