CN1794199A - 具有多个拷贝目标和盘故障保护的存储系统 - Google Patents
具有多个拷贝目标和盘故障保护的存储系统 Download PDFInfo
- Publication number
- CN1794199A CN1794199A CNA2005101151438A CN200510115143A CN1794199A CN 1794199 A CN1794199 A CN 1794199A CN A2005101151438 A CNA2005101151438 A CN A2005101151438A CN 200510115143 A CN200510115143 A CN 200510115143A CN 1794199 A CN1794199 A CN 1794199A
- Authority
- CN
- China
- Prior art keywords
- copy
- data
- assembly
- memory storage
- reflection
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 230000008685 targeting Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 19
- 239000002245 particle Substances 0.000 claims description 68
- 230000005055 memory storage Effects 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006855 networking Effects 0.000 claims description 8
- 238000000429 assembly Methods 0.000 claims description 6
- 230000000712 assembly Effects 0.000 claims description 6
- 238000013506 data mapping Methods 0.000 claims description 6
- 238000011144 upstream manufacturing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000008187 granular material Substances 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/2058—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 more than 2 mirrored copies
-
- 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/2069—Management of state, configuration or failover
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
一种可与主计算机装置以及多个被控制的存储装置共同操作的存储控制器,包括:主机写组件,用于将数据对象写到源映像存储;响应第一元数据状态的第一拷贝组件,用于控制将数据对象拷贝到第一目标存储;响应第二元数据状态的第二拷贝组件,用于执行下面中的一个:将数据对象拷贝到第二目标;或使第一拷贝组件将第二目标拷贝到第一目标;以及第三拷贝组件,用于控制数据对象到第三目标存储的级联拷贝;其中响应指示第二或第三目标内的数据颗粒的当前值的元数据状态,第二或第三拷贝组件控制具有定界的数据映像序列的级联拷贝。
Description
技术领域
本发明一般地涉及计算机存储系统,并且更具体地涉及提供FlashCopy(R)功能或等同物的高级功能存储系统(FlashCopy是国际商业机器公司的注册商标)。
背景技术
在计算机存储系统领域,存在对被描述为“高级功能”的逐渐增加的需求。这种功能超出了传统的存储控制器系统的简单的I/O功能。高级功能在本领域中是公知的,并且依赖于对元数据的控制,所述元数据被用于保持关于被存储在该系统内的真实的或“用户”数据的状态数据。使用高级功能可获得的操作使得能够快速地对数据的虚拟映像施用各种活动,同时留下真实数据可被用户应用使用。这样一种公知的高级功能是FlashCopy。
在最高的层次上,FlashCopy是这样一种功能,其中使得“某些数据”的第二映像成为是可用的。在其它系统情境(context)中,这种功能某些时候被称为时点拷贝或T0拷贝。第二映像的内容最初与第一映像相同。第二映像被“立即”成为是可用的。在实践中这意味着第二映像被以远少于创建真正的、单独的物理拷贝所需的时间成为是可用的,并且这意味着它可以被建立而不给正在使用的应用的操作带来不可接受的破坏。
一旦被建立,第二拷贝可以被用于多个目的,包括执行备份,系统试验和数据挖掘。最初进行使用的应用继续以其最初的目的使用第一拷贝。与不用FlashCopy的备份对比,在不用FlashCopy的备份中该应用必须被关闭,并且在该应用可以被再次重新开始之前执行所述备份。发现应用足够空闲的时间窗口以便关闭应用越来越难。执行备份的代价正在逐渐增加。因此FlashCopy允许执行备份而不用停止工作的能力具有明显的并且不断增加的商业价值。
FlashCopy实现通过将被编址到所述第二映像(此后称为目标)的读I/O重定向到原始映像(此后称为源),除非该区域已经经历了写,实现第二映像存在的假象。在一个区域已经成为写(或是向源或是向目标)的对象的情况下,则为了保持源和目标都拥有它们自己的数据拷贝的假象,调用一个处理,该处理将写命令的操作挂起,而不使其产生作用,发出从源读受影响的区域的命令,将读出的数据以写应用到所述目标上,然后(并且仅当所有步骤都成功时)释放被挂起的写。对同一区域的后续的写不需要被挂起,因为该目标已经具有了其自己的数据拷贝。这种写入时拷贝的技术是公知的,并且被用于许多环境。
FlashCopy的所有实现都依赖于管理着上述决定的数据结构,即,关于在目标处接收到的读是将被发送到源还是目标的决定,以及关于是否必须挂起写以便允许进行写入时拷贝的决定。所述的数据结构实质上追踪被从源拷贝到目标的数据区域或颗粒(grain),与那些没有被拷贝的数据区域或颗粒不同。在其最简单的形式中,以位图的形式保持这种数据结构,所述位图示出了哪些颗粒已经被写了,以及哪些未被写活动触及。
某些存储控制器允许用户为给定的源配置多于一个的目标。这具有多种应用。例如,可以对每个目标进行不同的实验。或所述目标可以在不同的时间(例如,一周内的不同天)被采用,并且允许或许出于从某种数据损坏(诸如,可能由病毒引起)中恢复的目的,历史地访问盘。
通过如图1中所示配置盘,多目标FlashCopy的现有实现扩展了FlashCopy算法,在图1中A是源逻辑单元,并且B和C示出了在过去某一时间被采用的两个目标。每个A,B和C可以被更新。箭头示出了仍然依赖源逻辑单元的颗粒(盘的固定大小的区域)。这些颗粒在追踪每个FlashCopy的进展的位图中具有相应的位“0b”。
这种传统算法简单地并行地布置多个目标,并且依次在每个映射上运行原始的FlashCopy算法。
这具有这样的缺点,即,对源中的颗粒的写可能分裂多个颗粒(每个关系一个)。上述例子中最后的颗粒将是1。这引起了额外的处理和延迟,并且可能限制多FlashCopy布置的可伸缩性,并且因此其可用性。
可以提供这样一种布置,其中存储控制器,存储控制器内的逻辑装置,或操作系统中运行的软件以级联方式构造FlashCopy映射,以便任意主机I/O所需的写的数目被限制为2,而不论级联结构中目标盘的数目如何。
然而,这种布置不允许这样的情况,其中一组级联关系被所述级联结构中某处的盘故障破坏。
因此,级联的FlashCopy目标劣于传统方案的一个方面是级联的目标上的数据依赖于级联上的所有盘-不是如同传统方案中那样,仅是所述的源。
如果数据丢失的主要原因是系统崩溃,例如通过病毒,意外地删除等,这不必担心。如果所述主要原因是盘故障,尤其是在连接了非常长的盘链的情况,这可能是所关心的。因为可能构造这样的级联结构,其可能涉及处于一个链中的数千个盘,数据丢失的风险随着级联于所述结构中的每层略微逐渐上升。
如果源盘成为是不可访问的,有理由认为目标盘将成为是不可访问的。然而,如果目标盘成为是不可访问的,级联中所有其它盘都将成为是不可访问的是不合理的,因为,这与进行拷贝的用户的期望相反。用户没有理由假设链接了目标盘。
发明内容
因此,本发明在第一个方面提供了一种可与主计算机装置以及多个被控制的存储装置共同操作的存储控制器,并且包括:主机写组件,其可以操作以便将数据对象写到所述多个被控制的存储装置中的一个处的源数据映像;第一拷贝组件,其对第一元数据状态做出响应,并且可以操作以便控制将所述数据对象拷贝到所述多个被控制的存储装置中的一个处的第一目标数据映像;第二拷贝组件,其对第二元数据状态做出响应,并且可以操作以便执行下面中的一个:控制将所述数据对象拷贝到所述多个被控制的存储装置中的一个处的第二目标数据映像,以及使所述第一拷贝组件执行将所述第二目标数据映像拷贝到所述第一目标数据映像;以及第三拷贝组件,其可以操作以便控制所述数据对象到所述多个被控制的存储装置中的一个处的第三目标数据映像的级联拷贝;其中所述第二和所述第三拷贝组件中的一个可以操作,以便响应指示所述第二和所述第三目标数据映像中的一个的数据颗粒的当前值(currency)的第三元数据状态,控制具有定界的数据映像序列的级联拷贝。
优选地,所述存储控制器被结合在存储网络内。
优选地,所述存储网络是存储区域网络。
优选地,所述第一和所述第二拷贝组件中的至少一个位于通信网络的不同节点处。
优选地,所述第一和所述第二拷贝组件以及所述第三拷贝组件中的至少一个位于通信网络的不同节点处。
在第二个方面,本发明提供了一种操作可与主计算机装置以及多个被控制的存储装置共同操作的存储控制器的方法,并且包括如下步骤:由主机写组件将数据对象写到所述多个被控制的存储装置中的一个处的源数据映像;响应第一元数据状态,由第一拷贝组件将所述数据对象拷贝到所述多个被控制的存储装置中的一个处的第一目标数据映像;响应第二元数据状态,由第二拷贝组件执行下面中的一个:控制将所述数据对象拷贝到所述多个被控制的存储装置中的一个处的第二目标数据映像;和使所述第一拷贝组件执行将所述第二目标数据映像拷贝到所述第一目标数据映像;以及由第三拷贝组件将所述数据对象级联拷贝到所述多个被控制的存储装置中的一个处的第三目标数据映像;其中所述第二和所述第三拷贝组件中的一个可以操作,以便响应指示所述第二和所述第三目标数据映像中的一个的数据颗粒的当前值的第三元数据状态,控制具有定界的数据映像序列的级联拷贝。
优选地,所述存储控制器被结合在存储网络内。
优选地,所述存储网络是存储区域网络。
优选地,所述第一和所述第二拷贝组件中的至少一个位于通信网络的不同节点处。
优选地,所述第一和所述第二拷贝组件以及所述第三拷贝组件中的至少一个位于通信网络的不同节点处。
在第三个方面,本发明提供了一种包括计算机程序代码的计算机程序,当被装入到计算机系统内并被在其上执行时,使得所述计算机执行根据所述第二方面的方法的步骤。
本发明的优选实施例规定,如果数据被从级联的源盘删除,在大多数情况下,所述数据将被保持在若干下游盘上。
所述数据的拷贝的数目(N)可以从N=2到(级联内的盘数目-1)的范围中选择。以这种方式,保证了如果级联中多致N-1个盘(除了级联的源,其被不同地对待)成为是不可用的,可以从其它盘提取出级联内所有盘的数据。
当一个盘成为是不可用的时,将激活一个恢复程序,它将确保在级联内,所述数据的多个拷贝将被保持在剩余的盘上。因此假如在短的连续的时间内没有经历太多的故障,级联仍然能够应付盘故障。
附图说明
现在将参考附图,仅以示例的方式说明本发明的优选实施例,其中:
图1示出了具有多个并行目标的现有技术的数据布置;
图2a是一个示意图,示出了级联布置可以被结合在内的一种存储控制器结构;
图2b是一个流程图,示出了根据本发明的优选实施例,操作存储控制器的方法;和
图3到8示出了在存储设备网络上,本发明的优选实施例的操作效果。
具体实施方式
在图1中示出了具有多个并行目标的现有技术的数据布置。在一种可供选择的方案中,可以提供这样的一种系统,方法或计算机程序,其中主机I/O活动被限制,但是数据的级联拷贝被传播到其它目标,而不需主机的干预。可以使用本发明的优选实施例进一步改进这种布置。
现在转到图2a,示出了可以实现本发明的优选实施例的存储控制器的简化的示意图。
在图2a中示出了可以与主计算机装置102,以及多个被控制的存储装置104,106,1040,1060共同操作的存储控制器100,并且包括:主机写组件108,其可以操作以便将数据对象110写到所述多个被控制的存储装置104,106,1040,1060中的一个处的源数据映像112;第一拷贝组件114,其对第一元数据状态做出响应,并且可以操作以便控制将所述数据对象110拷贝到所述多个被控制的存储装置104,106,1040,1060中的一个处的第一目标数据映像116;第二拷贝组件118,其对第二元数据状态做出响应,并且可以操作以便执行下面中的一个:控制将所述数据对象110拷贝到所述多个被控制的存储装置104,106,1040,1060中的一个处的第二目标数据映像120,以及使所述第一拷贝组件114执行将所述第二目标数据映像120拷贝到所述第一目标数据映像116;其中所述控制拷贝和执行拷贝独立于所述主计算机装置102和所述主机写组件108;第三拷贝组件122,其可以操作以便独立于所述主计算机装置102,所述主机写组件108,所述第一和第二拷贝组件114,118,控制将所述数据对象110级联拷贝到所述多个被控制的存储装置104,106,1040,1060中的一个处的第三目标数据映像124;其中所述第二和所述第三拷贝组件114,122中的一个可以操作,以便响应指示所述第二和所述第三目标数据映像120,124中的一个的数据颗粒的当前值的第三元数据状态,控制具有定界的数据映像序列的级联拷贝。
在图2b中示出了一个流程图,示出了用于操作可以与主计算机装置以及多个被控制的存储装置共同操作的存储控制器的方法。
在步骤202,主机写组件将数据对象写到多个被控制的存储装置中的一个处的源数据映像。在步骤204,第一拷贝组件测试一个元数据状态,并且响应该元数据状态,在步骤206将该数据对象拷贝到所述多个被控制的存储装置中的一个处的第一目标数据映像。在步骤208,第二拷贝组件测试第二元数据状态,并且响应第二元数据状态,或是在步骤210执行将所述数据对象拷贝到所述多个被控制的存储装置中的一个处的第二目标数据映像的步骤,或是在步骤212使所述第一拷贝组件执行将所述第二目标数据映像拷贝到所述第一目标数据映像。所述测试和执行拷贝的步骤独立于所述主计算机装置和所述主机写组件。在步骤214,第三拷贝组件独立于所述主计算机装置,所述主机写组件以及所述第一和第二拷贝组件,控制将所述数据对象拷贝到所述多个被控制的存储装置中的一个处的第三目标数据映像;并且所述第二和所述第三拷贝组件中的一个可以操作,以便响应在步骤216处对指示所述第二和所述第三目标数据映像中的一个的数据颗粒的当前值的第三元数据状态测试,在步骤218控制具有定界的数据映像序列的级联拷贝。
下面给出本发明的两个可行的实施例,它们保持了原始数据的所需的拷贝。
在说明这些实施例之前,需要解释“颗粒序列”的概念。一个颗粒序列是在特定的时间点与同一原始数据相关的连续盘上的一系列颗粒。
第一种实现将考虑在任意时间点可以位于级联内的盘上的数据的类型。有四种感兴趣的数据类型:
1)空白数据(BD):在快闪拷贝开始之前存在于目标盘上的数据。
2)原始数据(OD):在快闪拷贝开始时存在于源盘上的数据。
3)新数据(ND):在开始快闪拷贝之后被写到级联内的盘的数据。
4)定界数据(DD):原始数据的最上游的出现。
数据可以被分为四种类型的事实意味着可用2个位表示每个颗粒。因此对于级联中的每个虚拟盘仅需要2个位图。注意对于源盘仅需要1个位图,因为所述数据仅可能是DD或ND。事实上,源不需要任何位图,因为它的状态可以从目标盘被推导出。然而,使用一个位图,通过检查单个位图就可以确定源的状态,而不是必须通过沿着级联向下检查若干位图。因此一个位图的代价似乎是有道理的。同样,不再需要与源和目标盘之间的映射相关联的通常的分裂位图。
现在可以提供用于级联FC的通常规则的附加规则:
A1)当新的盘序列被在级联中启动时,源上的所有颗粒被设置为DD。
A2)如果对是OD的盘上的颗粒执行写,由该颗粒保持的数据被写到N个上游或下游盘,所述N个上游或下游盘的相应颗粒是BD,并且如果不需要跨越其颗粒为DD类型的盘。
A3)如果对是DD的盘上的颗粒执行写,由该颗粒保持的数据被写到N个下游盘,所述N个下游盘的相应颗粒是BD,包括是BD的下一个下游盘在内,并且如果不需要跨越颗粒类型为DD的盘。然后,包含OD并且还不跨越被写的盘的最上游的盘被重新分类为DD。
如果盘成为是不可访问的,在保护级联不受第二故障的影响之前,执行下面的恢复活动:
B1)对于每个颗粒,计数DD盘之间DD和OD出现的数目。如果该数目小于所需的最小数目,执行适当数目的如上面(A2)和(A3)中所说明的写。这可以被进行,因为级联中有DD或OD的至少一个其它拷贝。
B2)对于不可访问的盘上的每个颗粒,如果数据是DD,寻找是OD的下一个下游盘,并且将该盘上的颗粒设置为DD。
除了使级联中的多个拷贝受到保护之外,该实现的另一个益处是用于目标写的规则可以被简化为:
D1)如果被保持在颗粒上数据是BD类型,并且写整个颗粒的数据,则简单地写新数据,并且将该颗粒标记为ND。
D2)如果被保持在颗粒上数据是BD类型,并且写部分颗粒的数据,则从最近的拷贝读原始数据,与所述新数据合并,并且写合并后的数据,然后将该颗粒标记为ND。
因此,在D2这种实现节省了附加的写。
第二实施例通过将两个新位图与所述级联中的每个盘关联来工作。第一个位图,被称为原始位图,被用于指示从所述级联的该部分被启动时以来,特定的颗粒是否保持着该颗粒的原始数据。第二个位图,被称为定界符位图,被用于指示特定的颗粒是保持着来自所述颗粒序列的一个颗粒的第一个盘。
使用这些位图,加上通常的分裂位图,在用于级联的快闪拷贝映射的通常规则之外,引入了下面的规则:
A1)当在级联中启动新盘序列时,与源相关联的原始和定界符位图被设置为全1的位图。
A2)如果对盘上这样的颗粒执行写,对于该颗粒原始位图指示该颗粒保持着原始数据,但是没有定界符位设置,则原始数据被写到没有被分裂的N个上游或下游盘,并且如果不需要跨越为所述颗粒设置了定界符位的盘。
A3)如果对盘上这样的颗粒执行写,对于该颗粒原始位图指示该颗粒保持着原始数据,并且具有定界符位设置,则原始数据被写到没有被分裂的N个下游盘,并且如果不需要跨越为所述颗粒设置了定界符位的盘,并且被写的盘必须包括满足这些标准的下一个下游盘。
本领域的普通技术人员可以从这个实现中推导出用于恢复的类似的规则。
下面的例子表示用于上述实现的规则如何确保级联可以应付单个故障。在两个例子中,假设当原始数据被从源盘移出时,必须保持原始数据的(N=)2个拷贝。
首先将示出第一个实现如何工作。然后,使用相同的设置,将示出第二个实现如何工作。
例子1:实现1
在图3a中,示出了6个盘(A、B、C、D、E和F)的级联,每一个盘具有1个颗粒,分别由a、b、c、d、e和f表示。在对原始数据的颗粒执行写时使用这些位图,执行两个写以便确保如果原始数据被从源盘移出,在任意一个时间在所述级联内至少存在该原始颗粒的两个拷贝。
因此,如果以由a*表示的颗粒的数据价值(worth)写盘A,则发生图3b中描述的情况。因为盘A包含新数据,位图被设置为ND。现在原始数据被保持在盘B和C上,并且最上游的原始数据被保持在B上。因此,用于这些盘的位图分别被设置为DD和OD。
如果现在写被设置为DD或OD的任意颗粒,则需要执行两个继发的写,以便维持级联中保持的原始数据的拷贝数目。例如,如果以由b*表示的数据写B,则发生图7a中描述的情况。因为B不再包含原始数据,其位图被设置为ND。现在盘C现在包含具有原始数据的最上游的盘,因此位图被设置为DD,并且D现在包含原始数据,因此位图被设置为OD。现在如果任意一个盘成为是不可访问的,级联中所有其它盘仍然是可访问的,因为它们可以访问所需的数据。
如果盘C成为是不可访问的,则使用上面所述的恢复活动,发生图7b中描述的情况。盘D现在包含原始数据,并且是原始数据的最上游的样本,因此被设置为DD。保持在D上的原始数据被拷贝到E,E被设置为OD。
现在如果添加了盘G和H,每个盘G和H具有分别由g和h表示的一个数据颗粒,使用上述的规则,发生图6中描述的情况。现在由于A包含用于G和H的原始数据,数据类型位图被设置为DD。现在级联中有两个颗粒序列。即,保持在A,G,H上的颗粒和保持在D,E,F上的颗粒。这些颗粒序列具有不同的原始数据,由DD类型的A和D指示。当所关心的是维持原始数据的最少数目的出现时,这些序列必须被作为独立的级联对待。
这个例子示出所述的原始位图和规则确保如果原始颗粒的数据被从原始源删除,原始数据的多个拷贝被保持了。
例子2:实现2
在下面的图4a中,示出了6个盘(A、B、C、D、E和F)的级联,每一个盘具有1个颗粒,分别由a、b、c、d、e和f表示。当对原始数据的颗粒执行写时使用这些位图,执行两个写以便确保如果原始数据被从源盘移出,在任意一个时刻级联中至少存在原始颗粒的两个拷贝。因此,如果以由a*表示的颗粒的数据价值写盘A,则发生图4b中描述的情况。由于盘A不再包含原始数据,定界符和原始位图被设置为0。现在原始数据被保持在盘B和C上,并且最上游的原始数据被保持在B上。因此,B和C的原始位图中的位被设置为1,并且B的定界符位图的位也被设置为1。
如果现在向包含原始数据的任意颗粒写,需要执行两个继发的写以便维持级联中保持的原始拷贝的数目。例如,如果以由b*表示的数据写B,则发生图7a中描述的情况。因为B不再包含原始数据,原始和定界符位图被设置为0。现在盘C包含具有原始数据的最上游的盘,定界符位图被设置为1,并且D现在包含原始数据,因此其原始位图被设置为1。现在如果任意一个盘成为是不可访问的,级联中的所有盘仍然是可以访问的,因为它们可以访问所需的数据。
如果盘C成为是不可访问的,则使用上述恢复活动,发生图7b中示出的情况。现在盘D包含原始数据,并且是原始数据的最上游样本,并且因此设置了其定界符位。保持在D上的原始数据被拷贝到E,并且设置其原始位。
现在如果添加盘G和H,每个盘G和H分别具有由g和h表示的一个数据颗粒,使用上述规则,发生图8中描述的情况。现在由于A包含用于G和H的原始数据,A的原始位和A的定界符位被设置为1。现在级联中有两个颗粒序列。即,保持在A,G,H上的颗粒和保持在D、E、F上的颗粒。这些颗粒序列具有不同的原始数据,所述原始数据由被设置的定界符位指示。当所关心的是维持原始数据的最小数目的出现时,这些序列必须被作为独立的级联对待。
这个例子示出,所述的原始位图和规则确保如果原始颗粒的数据被从原始源删除,原始数据的多个拷贝继续存在。定界符位图使得能够保持多个颗粒序列的原始数据的多个拷贝。
相对于总是写原始数据的相同数目的拷贝的一种可供选择的方案是,在确定需要被写的拷贝的数目之前,计数颗粒序列中原始拷贝的数目。不必在此处说明该方法,因为本领域的普通技术人员将会明白,这仅需要对上述规则和例子进行简单的改变。
可以做出的另一种改进是“防御哨盘(fence post disk)”。这些盘比级联中其它盘更可靠,并且起隔断长的级联的作用。当执行附加的写时,除了规则A3必须保持为相同之外,这些盘将在其它盘之前被选择。以这种方式,数据将被存储在级联中最可靠的盘上。
因此,通过在级联的数据拷贝长链中的一些间隔处执行后台拷贝,在本发明中改善了该问题。这将所述链隔断为独立的段,因此有利地将故障的影响局部化到具体受影响的段中的那些目标。
本领域的普通技术人员容易理解,对于本领域的普通技术人员来说,对上述实施例的各种进一步修改是显而易见的。
本领域的技术人员将会明白,本发明的方法可以适合地被包含在逻辑装置内,所述逻辑装置包括用于执行该方法的步骤的逻辑设备,并且这些逻辑设备可以包含硬件组件或固件组件。
应当理解,上面所述的方法还适于被完全地或部分地承载在运行在一个或多个处理器(未示出)上的软件内,并且所述软件可以被作为承载在任意适合的数据载体(也未示出)上的计算机程序元件被提供,所述数据载体诸如磁的或光学计算机盘。另外用于数据传输的通道可以包括所有种类的存储介质以及信号承载介质,诸如有线或无线信号介质。
本发明可以被适合地表述为用于计算机系统的计算机程序产品。这种实现可以包括一系列计算机可读指令,所述计算机可读指令或是固定在有形介质诸如计算机可读介质(例如,磁盘,CD-ROM,ROM或硬盘),或可通过调制解调器或其它接口设备,或是在有形介质(包括但不限于光学或模拟通信链路)上,或使用无线技术(包括但不限于微波,红外线或其它传输技术)无形地传输到计算机系统。所述计算机可读指令序列包含此处前面描述的全部或部分功能。
本领域的技术人员将会理解,可用用于许多计算机体系结构或操作系统的多种编程语言编写这种计算机可读指令。另外,这种指令可以被使用当前的或未来的任意的存储器技术存储,包括但不限于,半导体,磁的或光学的,或被使用当前的或未来的任意通信技术传输,包括但不限于,光学的,红外线的,或微波。可以设想,这种计算机程序产品可以作为带有附带的打印的或电子文档的可移动介质被分发,例如收缩包装式软件,被预先装载到计算机系统,例如,在系统ROM或固定盘上,或通过网络(例如,因特网或万维网)从服务器或电子公告板被分发。
还应当理解,可以用为顾客部署的服务的形式提供本发明的实施例,以便提供站外灾难恢复服务。
还应当理解,对上述优选实施例的各种进一步的修改对于本领域的普通技术人员将是显而易见的。
Claims (11)
1.一种可与主计算机装置以及多个被控制的存储装置共同操作的存储控制器,包括:
主机写组件,其可操作地将数据对象写到所述多个被控制的存储装置中的一个存储装置处的源数据映像;
第一拷贝组件,其对第一元数据状态做出响应,并且可操作地控制将所述数据对象拷贝到所述多个被控制的存储装置中的一个存储装置处的第一目标数据映像;
第二拷贝组件,其对第二元数据状态做出响应,并且可操作地执行下面中的一个:
控制将所述数据对象拷贝到所述多个被控制的存储装置中的一个存储装置处的第二目标数据映像;和
使所述第一拷贝组件执行将所述第二目标数据映像拷贝到所述第一目标数据映像;和
第三拷贝组件,其可操作地控制所述数据对象到所述多个被控制的存储装置中的一个存储装置处的第三目标数据映像的级联拷贝;其中
所述第二和所述第三拷贝组件中的一个可以操作,以便响应指示所述第二和所述第三目标数据映像中的一个的数据颗粒的当前值的第三元数据状态,控制具有定界的数据映像序列的级联拷贝。
2.如权利要求1的存储控制器,其中所述存储控制器被结合到存储网络中。
3.如权利要求2的存储控制器,其中所述存储网络是存储区域网络。
4.如权利要求1的存储控制器,其中所述第一和第二拷贝组件中的至少一个位于通信网络的不同节点处。
5.如权利要求2的存储控制器,其中所述第一和第二拷贝组件以及所述第三拷贝组件中的至少一个位于通信网络的不同节点处。
6.一种操作可与主计算机装置以及多个被控制的存储装置共同操作的存储控制器的方法,并且包括如下步骤:
由主机写组件将数据对象写到所述多个被控制的存储装置中的一个存储装置处的源数据映像;
响应第一元数据状态,由第一拷贝组件将所述数据对象拷贝到所述多个被控制的存储装置中的一个存储装置处的第一目标数据映像;
响应第二元数据状态,由第二拷贝组件执行下面中的一个:
控制将所述数据对象拷贝到所述多个被控制的存储装置中的一个存储装置处的第二目标数据映像;和
使所述第一拷贝组件执行将所述第二目标数据映像拷贝到所述第一目标数据映像;和
由第三拷贝组件将所述数据对象级联拷贝到所述多个被控制的存储装置中的一个存储装置处的第三目标数据映像;其中
所述第二和所述第三拷贝组件中的一个可以操作,以便响应指示所述第二和所述第三目标数据映像中的一个的数据颗粒的当前值的第三元数据状态,控制具有定界的数据映像序列的级联拷贝。
7.如权利要求6的方法,其中所述存储控制器被结合到存储网络中。
8.如权利要求7的方法,其中所述存储网络是存储区域网络。
9.如权利要求6的方法,其中所述第一和第二拷贝组件中的至少一个位于通信网络的不同节点处。
10.如权利要求6的方法,其中所述第一和第二拷贝组件以及所述第三拷贝组件中的至少一个位于通信网络的不同节点处。
11.一种包括计算机程序代码的计算机程序,当被装入计算机系统并被在其上执行时,使得所述计算机执行权利要求6到10中任意一个的方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0428105.1 | 2004-12-23 | ||
GBGB0428105.1A GB0428105D0 (en) | 2004-12-23 | 2004-12-23 | Storage system with multiple copy targeting and disk failure protection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1794199A true CN1794199A (zh) | 2006-06-28 |
CN100418063C CN100418063C (zh) | 2008-09-10 |
Family
ID=34113067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101151438A Expired - Fee Related CN100418063C (zh) | 2004-12-23 | 2005-11-10 | 具有多个拷贝目标和盘故障保护的存储系统和存储控制方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7360048B2 (zh) |
CN (1) | CN100418063C (zh) |
GB (1) | GB0428105D0 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533411B2 (en) | 2010-03-11 | 2013-09-10 | International Business Machines Corporation | Multiple backup processes |
US8688936B2 (en) | 2008-10-30 | 2014-04-01 | International Business Machines Corporation | Point-in-time copies in a cascade using maps and fdisks |
US8719523B2 (en) | 2011-10-03 | 2014-05-06 | International Business Machines Corporation | Maintaining multiple target copies |
US8788770B2 (en) | 2010-05-25 | 2014-07-22 | International Business Machines Corporation | Multiple cascaded backup process |
US8843721B2 (en) | 2009-09-24 | 2014-09-23 | International Business Machines Corporation | Data storage using bitmaps |
US8856472B2 (en) | 2011-09-23 | 2014-10-07 | International Business Machines Corporation | Restore in cascaded copy environment |
CN104321756A (zh) * | 2012-06-25 | 2015-01-28 | 国际商业机器公司 | 源清理级联卷 |
US9250808B2 (en) | 2009-09-25 | 2016-02-02 | International Business Machines Corporation | Data storage and moving of relatively infrequently accessed data among storage of different types |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0428105D0 (en) * | 2004-12-23 | 2005-01-26 | Ibm | Storage system with multiple copy targeting and disk failure protection |
GB0504390D0 (en) * | 2005-03-02 | 2005-04-06 | Ibm | Storage system with cascaded copy targeting and enhanced integrity |
US7487386B2 (en) * | 2005-03-30 | 2009-02-03 | International Business Machines Corporation | Method for increasing file system availability via block replication |
US7962956B1 (en) | 2006-11-08 | 2011-06-14 | Trend Micro Incorporated | Evaluation of incremental backup copies for presence of malicious codes in computer systems |
JP5090022B2 (ja) * | 2007-03-12 | 2012-12-05 | 株式会社日立製作所 | 計算機システム、アクセス制御方法及び管理計算機 |
JP5018193B2 (ja) * | 2007-04-06 | 2012-09-05 | ヤマハ株式会社 | 雑音抑圧装置およびプログラム |
US8051259B2 (en) * | 2008-06-23 | 2011-11-01 | International Business Machines Corporation | Space efficient de-allocation for cascade/multiple target flash copy cleaning |
US8195906B2 (en) | 2008-08-06 | 2012-06-05 | International Business Machines Corporation | Method and system for cascaded flashcopy zoning and algorithm and/or computer program code and method implementing the same |
US8230185B2 (en) * | 2008-10-08 | 2012-07-24 | International Business Machines Corporation | Method for optimizing cleaning of maps in FlashCopy cascades containing incremental maps |
US8959300B2 (en) | 2010-05-18 | 2015-02-17 | International Business Machines Corporation | Cascade ordering |
US9244786B2 (en) * | 2010-12-10 | 2016-01-26 | International Business Machines Corporation | Substitution of a target volume of a secondary storage controller for a source volume of a primary storage controller for executing a write operation |
US20120233416A1 (en) | 2011-03-08 | 2012-09-13 | International Business Machines Corporation | Multi-target, point-in-time-copy architecture with data deduplication |
US8667237B2 (en) | 2011-03-08 | 2014-03-04 | International Business Machines Corporation | Deleting relations in multi-target, point-in-time-copy architectures with data deduplication |
US9021221B2 (en) * | 2011-03-08 | 2015-04-28 | International Business Machines Corporation | Cascaded, point-in-time-copy architecture with data deduplication |
US8782362B2 (en) | 2011-03-08 | 2014-07-15 | International Business Machines Corporation | Cyclic point-in-time-copy architecture with data deduplication |
US8825606B1 (en) | 2012-01-12 | 2014-09-02 | Trend Micro Incorporated | Community based restore of computer files |
US9037819B2 (en) | 2012-06-25 | 2015-05-19 | Inernational Business Machines Corporation | Source cleaning cascaded volumes using reference counts |
US9747047B2 (en) | 2014-06-25 | 2017-08-29 | International Business Machines Corporation | Performing a remote point-in-time copy to a source and target storages in further mirror copy relationships |
US9479525B2 (en) | 2014-10-23 | 2016-10-25 | International Business Machines Corporation | Interacting with a remote server over a network to determine whether to allow data exchange with a resource at the remote server |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6237008B1 (en) * | 1998-07-20 | 2001-05-22 | International Business Machines Corporation | System and method for enabling pair-pair remote copy storage volumes to mirror data in another storage volume |
US6785678B2 (en) * | 2000-12-21 | 2004-08-31 | Emc Corporation | Method of improving the availability of a computer clustering system through the use of a network medium link state function |
US7072915B2 (en) * | 2002-01-22 | 2006-07-04 | International Business Machines Corporation | Copy method supplementing outboard data copy with previously instituted copy-on-write logical snapshot to create duplicate consistent with source data as of designated time |
US6820180B2 (en) * | 2002-04-04 | 2004-11-16 | International Business Machines Corporation | Apparatus and method of cascading backup logical volume mirrors |
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US7318133B2 (en) * | 2003-06-03 | 2008-01-08 | Hitachi, Ltd. | Method and apparatus for replicating volumes |
US7165141B2 (en) * | 2004-02-27 | 2007-01-16 | Hewlett-Packard Development Company, L.P. | Daisy-chained device-mirroring architecture |
GB0428105D0 (en) * | 2004-12-23 | 2005-01-26 | Ibm | Storage system with multiple copy targeting and disk failure protection |
-
2004
- 2004-12-23 GB GBGB0428105.1A patent/GB0428105D0/en not_active Ceased
-
2005
- 2005-11-10 CN CNB2005101151438A patent/CN100418063C/zh not_active Expired - Fee Related
- 2005-11-28 US US11/287,735 patent/US7360048B2/en not_active Expired - Fee Related
-
2008
- 2008-03-13 US US12/047,464 patent/US7676641B2/en not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8688936B2 (en) | 2008-10-30 | 2014-04-01 | International Business Machines Corporation | Point-in-time copies in a cascade using maps and fdisks |
US8713272B2 (en) | 2008-10-30 | 2014-04-29 | International Business Machines Corporation | Point-in-time copies in a cascade using maps and fdisks |
US8862848B2 (en) | 2009-09-24 | 2014-10-14 | International Business Machines Corporation | Data storage using bitmaps |
US8843721B2 (en) | 2009-09-24 | 2014-09-23 | International Business Machines Corporation | Data storage using bitmaps |
US9256367B2 (en) | 2009-09-25 | 2016-02-09 | International Business Machines Corporation | Data storage and moving of relatively infrequently accessed data among storage of different types |
US9250808B2 (en) | 2009-09-25 | 2016-02-02 | International Business Machines Corporation | Data storage and moving of relatively infrequently accessed data among storage of different types |
US8533411B2 (en) | 2010-03-11 | 2013-09-10 | International Business Machines Corporation | Multiple backup processes |
US8788770B2 (en) | 2010-05-25 | 2014-07-22 | International Business Machines Corporation | Multiple cascaded backup process |
US8793453B2 (en) | 2010-05-25 | 2014-07-29 | International Business Machines Corporation | Multiple cascaded backup process |
US8856472B2 (en) | 2011-09-23 | 2014-10-07 | International Business Machines Corporation | Restore in cascaded copy environment |
US8868860B2 (en) | 2011-09-23 | 2014-10-21 | International Business Machines Corporation | Restore in cascaded copy environment |
US9514004B2 (en) | 2011-09-23 | 2016-12-06 | International Business Machines Corporation | Restore in cascaded copy environment |
US8732419B2 (en) | 2011-10-03 | 2014-05-20 | International Business Machines Corporation | Maintaining multiple target copies |
US8719523B2 (en) | 2011-10-03 | 2014-05-06 | International Business Machines Corporation | Maintaining multiple target copies |
CN104321756A (zh) * | 2012-06-25 | 2015-01-28 | 国际商业机器公司 | 源清理级联卷 |
CN104321756B (zh) * | 2012-06-25 | 2017-02-22 | 国际商业机器公司 | 用于源清理级联卷的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20060143413A1 (en) | 2006-06-29 |
GB0428105D0 (en) | 2005-01-26 |
US20080215837A1 (en) | 2008-09-04 |
US7676641B2 (en) | 2010-03-09 |
CN100418063C (zh) | 2008-09-10 |
US7360048B2 (en) | 2008-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1794199A (zh) | 具有多个拷贝目标和盘故障保护的存储系统 | |
CN1828513A (zh) | 具有级联的拷贝目标和增强的完整性的存储系统及其操作方法 | |
CN1794161A (zh) | 具有多个拷贝目标的存储系统 | |
US7958310B2 (en) | Apparatus, system, and method for selecting a space efficient repository | |
US9569518B2 (en) | Efficiently storing and retrieving data and metadata | |
CN102567138B (zh) | 计算环境中按优先顺序排列要备份的数据项的方法和系统 | |
US20170339238A1 (en) | Large message support for a publish-subscribe messaging system | |
US8166548B2 (en) | Computer system and method for scanning computer virus | |
US8706999B2 (en) | Method and system for cascaded flashcopy zoning and algorithm and/or computer program code and method implementing the same | |
CN1804810A (zh) | 用于存储器访问请求的重定向的方法和系统 | |
GB2529670A (en) | Storage system | |
US8140537B2 (en) | Block level tagging with file level information | |
CN1766885A (zh) | 提供受管理数据的系统及方法 | |
CN1602479A (zh) | 动态远程数据镜像设备组 | |
WO2011093971A1 (en) | Systems and methods for sharing the results of computing operations among related computing systems | |
CN101046772A (zh) | 回收存储器中的空间的方法和装置 | |
US9495253B2 (en) | Virtual snapshot system and method | |
US20180260119A1 (en) | Managing a deletion of a volume referenced by a snapshot of a consistency group | |
US10176045B2 (en) | Internet based shared memory in a distributed computing system | |
US8863287B1 (en) | Commonality factoring pattern detection | |
US8655852B2 (en) | Storage system with improved multiple copy targeting | |
KR20170128150A (ko) | 플래시 메모리 내에서의 데이터 리프레시의 개선 | |
US20110289350A1 (en) | Restoration of an Image Backup Using Information on Other Information Handling Systems | |
US20230109530A1 (en) | Synchronous object placement for information lifecycle management | |
US8234442B2 (en) | Method and apparatus for in-place hold and preservation operation on objects in content addressable storage |
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: 20080910 |