CN101120305A - 新型即时复制操作 - Google Patents
新型即时复制操作 Download PDFInfo
- Publication number
- CN101120305A CN101120305A CNA2005800474168A CN200580047416A CN101120305A CN 101120305 A CN101120305 A CN 101120305A CN A2005800474168 A CNA2005800474168 A CN A2005800474168A CN 200580047416 A CN200580047416 A CN 200580047416A CN 101120305 A CN101120305 A CN 101120305A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- mapping table
- pointer
- destination storage
- source data
- 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.)
- Pending
Links
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/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
- 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/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
方法和服务创建和维护存储在源存储单元中的源数据的虚拟即时副本。所述方法/服务接收至少一个创建所述源数据的即时副本的请求。但是,本发明不创建所述源数据的副本,而是在目标存储单元或由同一存储系统管理的其他存储单元中创建目标存储单元映射表。此目标存储单元映射表包含指向所述源数据的指针。此外,本发明在所述目标存储单元或由同一存储系统管理的其他存储单元中维护修改空间。所述修改空间的每个部分与给定的目标存储单元关联。所述修改空间只存储所述源数据的对相应目标存储单元唯一的更改。在将数据写入所述修改空间时,通过将所述目标存储单元映射表中的相应指针从所述源数据重定向到所述修改空间来修改所述目标存储单元映射表。
Description
技术领域
本发明涉及创建存储在微计算机系统的数据存储装置中的计算机系统数据的即时副本的方法。具体地说,本发明说明了使用最少资源和易于实现的软件算法来创建一个或多个相关卷的时间和空间有效的副本的方法。
背景技术
利用即时复制的常规系统在没有物理地复制数据的情况下并通过建立控制数据结构(元数据)以使目标逻辑单元(LUN)上的块引用源LUN上的相应块,来将原始或源盘或LUN复制到一个或多个复制实例(也称为目标盘或目标LUN)。然后,只有当源LUN上的一个或多个块被修改和/或写入时,才需要复制这些块。在常规系统中,将这些块复制到所有复制实例之后,才在源LUN上修改它们。这限制了可以做出的LUN的即时复制的数目(例如,4)。该方法的优点在于如果块未被修改,则其只存储在一个位置(称为空间有效复制)。除了性能相关的益处,这可以带来更好的缓存性能,因为不同盘或LUN上的盘块引用同一盘块,并因此可以在高速缓冲存储器中占用更少的空间。在另一个方法中,每个目标LUN需要的盘空间大小与源LUN一样,即使当只是读取了盘块的大部分时,也将它们存储在每个副本中。通常作为后台过程来执行此从源到目标LUN的物理复制。这种类型的即时复制操作不会带来良好的复制和缓存性能。因此,需要一种用于复制源数据的改进的系统和方法。
发明内容
此处的实施例包括创建和维护存储在源存储单元或源逻辑单元中的源数据的虚拟即时副本的方法和服务。所述方法/服务接收至少一个创建所述源数据的即时副本的请求。但是,本发明不创建所述源数据的副本,而是创建存储在目标存储单元或由同一存储系统管理的其他存储空间中的目标存储单元或逻辑单元映射表。此目标存储单元映射表包含指向所述源数据的指针。此外,本发明在所述存储系统中维护修改空间。所述修改空间的每个部分与给定的目标逻辑单元关联。目标逻辑单元的所述修改空间只存储所述源数据的对该目标逻辑单元唯一的更改。在将数据写入所述修改空间时,通过将所述目标存储单元映射表中的相应指针从所述源数据重定向到所述修改空间来修改所述目标存储单元映射表。
只要所述源数据的虚拟副本存在,所述方法就将所述源存储逻辑单元标记为源卷。当将所述源存储逻辑单元标记为源卷时,不能对其进行修改。相反,仅允许更改所述目标存储单元映射表指针和相应的修改。可以随着时间的推移而删除目标存储单元。如果没有目标存储单元引用源存储单元,则本发明将所述源存储单元标记为常规卷。当将源存储单元标记为常规卷时,可以对其进行修改。将源卷变为只读可以在不影响性能的情况下具有数个复制实例。此外,此要求使这种即时复制方法易于实现,因为每个目标逻辑单元需要管理修改空间。
此处的实施例还包括用于维护源数据的虚拟即时副本的计算机系统。所述系统包括源存储单元或具有一个或多个物理存储设备的逻辑单元以及源存储单元映射表。所述源存储单元映射表维护指向所述源存储单元中的源数据的指针并存储在所述源存储设备中或由同一存储系统管理的其他存储设备中。一个或多个目标存储单元(也称为目标逻辑单元)也包括在所述系统中。这些目标存储单元包括目标存储单元映射表,该表维护指向所述源存储单元中的源数据的指针以及指向存储在所述修改空间中的修改数据的指针。目标存储单元映射表中的表项与源存储单元映射表中的表项指向同一数据块,除了目标存储单元映射表中的指针指向修改数据而非相应的源数据以外。
随着时间的推移,所述目标存储单元映射表通过指向源数据的各部分和修改空间的各部分的指针的唯一组合来维护所述源数据的唯一虚拟副本。这些指针可以包括直接指针或间接指针。修改空间用于维护修改数据。它是目标存储单元的一部分或专用于此目的的存储系统上的特殊空间。所述存储系统中的空闲存储块的列表列出了可用作修改空间的块。源存储单元映射表包括指向源存储单元中的物理存储设备上的位置的指针。所述源存储单元映射表和所述目标存储单元映射表可以是指针映射表、标志映射表或具有散列表的链接列表。
在源存储单元或源逻辑单元中维护源数据。在目标存储单元或目标逻辑单元中或其他由同一存储系统管理的存储单元中维护所述源存储单元映射表。在目标存储单元或目标逻辑单元中或其他由同一存储系统管理的存储单元中维护所述目标存储单元映射表。在目标存储单元或目标逻辑单元中或其他由同一存储系统管理的存储单元中维护修改空间。
当结合以下说明和附图考虑时,将更好地认识和理解本发明的这些和其他方面及目标。但是,应该理解,以下说明虽然指出了本发明的优选实施例及其大量具体细节,但是其是通过示例而非限制的方式给出的。可以在不偏离本发明的精神的情况下在本发明的范围内做出许多更改和修改,并且本发明包括所有此类修改。
附图说明
从以下参考附图的详细说明可以更好地理解本发明,这些附图是:
图1是示出了本发明的系统的实例的示意图;
图2是示出了具有一个卷的三个即时副本的系统的一个实例的示意图;
图3是示出了在一个副本卷中的一个块被写入之后具有分离的空闲空间管理的系统的示意图;以及
图4示出了本发明的实施例的流程图。
具体实施方式
通过参考在附图中示出并在以下说明中详细阐述的非限制性实施例,更全面地说明了本发明及其各种特性和有益细节。应该指出,在附图中示出的特性无需按比例绘制。忽略了对公知组件和处理技术的说明,以免不必要地使本发明变得模糊不清。此处使用的实例只是旨在帮助理解可以实现本发明的方式并进一步使本领域的技术人员能够实现本发明。因此,不应将所述实例解释为限制本发明的范围。
下面说明的本发明提供了一种新型复制方法/服务/系统,其特别适于通过存储控制器上的即时复制的服务器供应。本发明不是创建源数据的副本,而是创建目标存储单元映射表。此目标存储单元映射表包含指向源数据的指针。此外,本发明在存储系统中维护修改空间。所述修改空间的每个部分都与给定的目标存储单元或目标逻辑单元关联。所述修改空间仅存储所述源数据的对相应目标逻辑单元唯一的更改。在将数据写入所述修改空间时,通过将所述目标存储单元映射表中的相应指针从所述源数据重定向到所述修改空间来修改所述目标存储单元映射表。随着时间的推移,所述目标存储单元映射表通过指向所述源数据的各部分和所述修改空间的各部分的指针的唯一组合来维护所述源数据的唯一虚拟副本。
在本发明中,当逻辑盘变成复制操作的源时,它将自动变成只读。此要求允许系统在保持高性能的同时提供更大数量的副本。此外,由于原始副本是只读的,则未被修改的所有盘块都在盘上存储一次,并当由多个访问不同副本的节点访问时,仅一个副本可以存储在存储管理高速缓存中。当创建包含操作系统映像的重要盘(golden disk)及根据需要创建多个(数以十计)副本时,此操作非常适于供应。
一个或多个存储单元(也称为逻辑单元或LUN)可用作时空有效的即时复制操作的源。所述操作是时间有效的,因为它不要求将源数据块物理复制到其他存储区域并因此不需要很长的时间来执行。执行所述操作所需的时间主要花费在创建和维护相对较小的数据结构上,通过该结构,可以将用户请求定向到存储设备中的正确位置。本发明中所提供的操作也是空间有效的,因为仅当数据块改变时才将它物理地复制到新的位置,因此,保存即时副本所使用的物理存储量被降低到最小。源数据的空间基本是可以非常大的源LUN的大小。关键是没有对源的大小的控制。对于目标来说,只要没有许多已修改的块,空间就是非常有限的。所以目标的大小取决于已修改的块的数量。虽然此公开讨论了用于创建一个LUN的即时副本的实施例,但是如本领域的技术人员将理解的,可以作为单个操作将类似的方法用于对多个LUN执行此类操作。
当请求源LUN的即时副本时,本发明为目标LUN建立数据结构(例如,映射表),以便为每个逻辑单元维护指向原始源数据的指针。在一个实施例中,将映射表实现为指针表并可能实现为其他标志。在其他实施例中,将映射表实现为具有散列表的链接列表。
首先初始化映射表中的表项以便它们直接指向源LUN的相应块的物理位置。在使用间接指针的其他实施例中,指针指向源LUN的类似数据结构中的表项。源LUN的表项包含与实际将数据块存储在物理设备上的位置有关的信息。
在目标LUN或其他由存储系统管理的存储单元的物理存储设备中留出特定量的存储空间(称为修改空间)来为每个即时副本执行复制操作。在一个实施例中,该存储空间的大小由复制操作的创建者设置。在其他实施例中,修改空间的大小由存储系统软件或管理员确定。当修改副本LUN的逻辑单元或块时将使用修改空间。为每个副本LUN保存包含该修改空间中的空闲块列表的数据结构。
图1示出了相关的系统,其中一个或多个客户端微计算机系统(110)连接到存储系统(100)。所述存储系统包括称为存储控制器(102)的控制单元、可能是也可能不是所述存储系统的集成板的管理控制台(104),以及一个或多个物理存储设备(106)(例如,硬盘)。
图2示出了其中创建一个源LUN(202)(也称为源LUN或源存储单元)的三个即时副本(210)(也称为目标卷或LUN)的系统。所有LUN(包括源LUN和目标LUN)具有其自己的映射表(204、212)。在初始化即时副本之后,目标LUN的映射表中的每个表项都指向源卷中的相应表项。在图2中示出了一个此类表项(206,214)。源映射表中的每个块的表项指向物理存储(209)(可以包括一个或多个硬盘驱动器)上的块(208)的位置。应该指出,备选地,可以通过复制源映射表的内容来创建目标映射表。在这种情况下,目标映射表中的表项是指向物理存储上的块的直接指针。
图3示出了本发明的系统,其中修改了副本卷之一的一个块。如图所示,副本映射表(310)中的相应表项使用卷(312)的修改空间区域中的空闲空间来存储数据块(314)。
如图4中的流程图所示,当接收到写入块的请求时,存储系统检测是否是写入即时源LUN(块410)。如果是,则拒绝访问(块424),因为本发明不允许修改源LUN。如果否,则检查请求以查看它是否是到即时副本LUN(块412)。如果否,则该访问可以在没有进一步检查的情况下继续(块426)。如果是,则存储系统首先查看映射表(块414)。如果被访问的块的表项显示所述块存储在该副本的修改空间内,则将新数据写入相应的位置(块426)。如果相应的表项显示所述块正在通过源LUN中的原始块被访问,则需要在修改空间中寻找存储所述块的位置。要执行此操作,将查询该副本的空闲块列表以查看所需的空闲空间是否可用(块416)。如果没有容纳写入请求的空间,则拒绝写入请求并采取相应的操作(块424)。例如,可以向系统管理员发送提示管理员缺少空间的消息。在其他实施例中,将所述副本标记为不可用并拒绝对所述副本的所有进一步访问。在再一实施例中,只要对副本卷的访问不需要任何新的存储空间,则提供所述访问。如果容纳写入请求的空闲空间可用,则将必要的一个或多个块从空闲列表中取出(块418),将数据存储在那些块中(块420),并更新映射表以便它反映更改(块422)。
本发明改进了即时复制操作的实现。通过向每个副本(在本文中称为修改空间)提供专用的空间,不需要将存储空间作为全局实体进行管理,在所述全局实体中,每个卷的块可以存储在任何可用位置。此外,通过使源卷变为只读卷,可以显著改善提出的复制操作的可伸缩性。如果不实施此限制,则当修改了源卷中的块时,存储系统就需要在修改空间中为每个副本卷寻找空闲空间并逐个地将原始块复制所述空闲空间中,然后更新所有复制卷的映射表。此要求对任何源卷可以支持的副本卷的数目添加了限制性上限。通过在从源创建了第一个副本卷之后便将源卷标记为只读,消除了这一要求。如图4所示,可以非常容易地评估和执行(如果允许)到源或副本卷的每次访问。
可以删除副本卷。每个源卷维护它所支持的副本数的计数器。每次删除源的副本时,副本计数器就递减。当计数器达到0时,将源卷标记为常规卷而不再是源卷。这去除了应用到源卷的只读限制,并且可以修改卷的内容。一旦从卷创建了副本,所述卷就被标记为源卷,副本计数器的值在第一个副本出现时设置为1并在每次创建新副本时递增。
因此,如上所示,本发明提供了用于创建在许多环境下都可用的存储卷的即时副本的新方法。具体地说,本发明适于与供应环境一起使用。在这种环境下,创建一个或多个包含操作系统和由系统用户使用的应用的重要映像。根据用户的数量和类型,系统加载用于以时空有效的方式创建多个副本的重要映像。然后,这些副本用于供应服务器。
虽然根据优选实施例描述了本发明,但是本领域的技术人员将认识到,可以在具有在所附权利要求的精神和范围内的修改的情况下实现本发明。
Claims (39)
1.一种用于维护源数据的虚拟即时副本的计算机系统,所述系统包括:
源存储单元映射表,其适于维护指向所述源数据的指针;以及
至少一个目标存储单元映射表,其适于维护指向所述源数据的指针和指向修改数据的指针,
其中所述目标存储单元映射表与所述源存储单元映射表完全相同,除了所述目标存储单元映射表中的指针指向所述修改数据而非相应的源数据以外。
2.如权利要求1中所述的系统,其中,随着时间的推移,所述目标存储单元映射表通过指向所述源数据的各部分和所述修改数据的各部分的指针的唯一组合来维护所述源数据的唯一虚拟副本。
3.如权利要求1中所述的系统,其中所述指针包括直接指针和间接指针之一。
4.如权利要求1中所述的系统,还包括适于维护所述修改数据的修改空间。
5.如权利要求4中所述的系统,还包括可用作所述修改空间的空闲存储块的列表。
6.如权利要求1中所述的系统,其中所述源存储单元映射表包括指向维护所述源数据的源存储单元中的物理存储设备上的位置的指针。
7.如权利要求1中所述的系统,其中所述源存储单元映射表和所述目标存储单元映射表都包括以下项中的一项:
指针映射表;
标志映射表;以及
具有散列表的链接列表。
8.一种用于维护源数据的虚拟即时副本的计算机系统,所述系统包括:
源存储单元,其包括至少一个物理存储设备;
源存储单元映射表,其适于维护指向所述源存储单元中的所述源数据的指针;
至少一个目标存储单元,其包括目标存储单元映射表,其中所述目标存储单元映射表适于维护指向所述源存储单元中的所述源数据的指针和指向修改空间中维护的修改数据的指针,
其中所述目标存储单元映射表与所述源存储单元映射表完全相同,除了所述目标存储单元映射表中的指针指向所述修改数据而非相应的源数据以外。
9.如权利要求8中所述的系统,其中,随着时间的推移,所述目标存储单元映射表通过指向所述源数据的各部分和所述修改数据的各部分的指针的唯一组合来维护所述源数据的唯一虚拟副本。
10.如权利要求8中所述的系统,其中所述指针包括直接指针和间接指针之一。
11.如权利要求8中所述的系统,还包括可用作所述修改空间的空闲存储块的列表。
12.如权利要求8中所述的系统,其中所述源存储单元映射表包括指向所述源存储单元中的所述物理存储设备上的位置的指针。
13.如权利要求8中所述的系统,其中所述源存储单元映射表和所述目标存储单元映射表都包括以下项中的一项:
指针映射表;
标志映射表;以及
具有散列表的链接列表。
14.一种创建和维护在源存储单元中存储的源数据的虚拟即时副本的方法,所述方法包括:
接收创建所述源数据的即时副本的请求;
不创建所述源数据的所述副本,而是创建目标存储单元映射表,其中所述目标存储单元映射表包含指向所述源数据的指针;
维护修改空间,其中所述修改空间与所述目标存储单元关联,并且其中所述修改空间只存储所述源数据的对所述目标存储单元唯一的更改;以及
在将数据写入所述修改空间时,修改所述目标存储单元映射表,其中所述目标存储单元映射表的所述修改将所述目标存储单元映射表中的相应指针从所述源数据重定向到所述修改空间。
15.如权利要求14中所述的方法,其中,随着时间的推移,所述目标存储单元映射表通过指向所述源数据的各部分和所述修改空间的各部分的指针的唯一组合为所述目标存储单元维护所述源数据的唯一副本。
16.如权利要求14中所述的方法,其中所述指针包括直接指针和间接指针之一。
17.如权利要求14中所述的方法,还包括建立所述修改空间。
18.如权利要求14中所述的方法,其中所述源存储单元映射表包括指向所述源存储单元中的物理存储设备上的位置的指针。
19.如权利要求14中所述的方法,其中所述源存储单元映射表和所述目标存储单元映射表都包括以下项中的一项:
指针映射表;
标志映射表;以及
具有散列表的链接列表。
20.一种创建和维护在源存储单元中存储的源数据的虚拟即时副本的方法,所述方法包括:
接收至少一个创建所述源数据的即时副本的请求;
将所述源存储单元标记为源卷,其中当所述源存储单元被标记为源卷时,不能对其进行修改;
不创建所述源数据的所述副本,而是创建目标存储单元映射表,其中所述目标存储单元映射表包含指向所述源数据的指针;
维护修改空间,其中所述修改空间与所述目标存储单元关联,并且其中所述修改空间只存储所述源数据的对所述目标存储单元唯一的更改;
在将数据写入所述修改空间时,修改所述目标存储单元映射表,其中所述目标存储单元映射表的所述修改将所述目标存储单元映射表中的相应指针从所述源数据重定向到所述修改空间;以及
删除至少一个目标存储单元,其中如果没有目标存储单元引用所述源存储单元,则将所述源存储单元标记为常规卷,其中当将所述源存储单元标记为常规卷时,可以对其进行修改。
21.如权利要求20中所述的方法,其中,随着时间的推移,所述目标存储单元映射表通过指向所述源数据的各部分和所述修改空间的各部分的指针的唯一组合为所述目标存储单元维护所述源数据的唯一副本。
22.如权利要求20中所述的方法,其中所述指针包括直接指针和间接指针之一。
23.如权利要求20中所述的方法,还包括维护可用作所述修改空间的空闲存储块的列表。
24.如权利要求20中所述的方法,其中所述源存储单元映射表包括指向所述源存储单元中的物理存储设备上的位置的指针。
25.如权利要求20中所述的方法,其中所述源存储单元映射表和所述目标存储单元映射表都包括以下项中的一项:
指针映射表;
标志映射表;以及
具有散列表的链接列表。
26.一种创建和维护在源存储单元中存储的源数据的虚拟即时副本的服务,所述服务包括:
接收创建所述源数据的即时副本的请求;
不创建所述源数据的所述副本,而是创建目标存储单元映射表,其中所述目标存储单元映射表包含指向所述源数据的指针;
维护修改空间,其中所述修改空间与所述目标存储单元关联,并且其中所述修改空间只存储所述源数据的对所述目标存储单元唯一的更改;以及
在将数据写入所述修改空间时,修改所述目标存储单元映射表,其中所述目标存储单元映射表的所述修改将所述目标存储单元映射表中的相应指针从所述源数据重定向到所述修改空间。
27.如权利要求26中所述的服务,其中,随着时间的推移,所述目标存储单元映射表通过指向所述源数据的各部分和所述修改空间的各部分的指针的唯一组合为所述目标存储单元维护所述源数据的唯一副本。
28.如权利要求26中所述的服务,其中所述指针包括直接指针和间接指针之一。
29.如权利要求26中所述的服务,还包括建立所述修改空间。
30.如权利要求26中所述的服务,其中所述源存储单元映射表包括指向所述源存储单元中的物理存储设备上的位置的指针。
31.如权利要求26中所述的服务,其中所述源存储单元映射表和所述目标存储单元映射表都包括以下项中的一项:
指针映射表;
标志映射表;以及
具有散列表的链接列表。
32.一种可由机器读取并有形地包含指令程序的程序存储设备,所述指令可由所述机器执行以执行以下方法:
创建和维护在源存储单元中存储的源数据的虚拟即时副本的方法,所述方法包括:
接收至少一个创建所述源数据的即时副本的请求;
将所述源存储单元标记为源卷,其中当所述源存储单元被标记为源卷时,不能对其进行修改;
不创建所述源数据的所述副本,而是创建目标存储单元映射表,其中所述目标存储单元映射表包含指向所述源数据的指针;
维护修改空间,其中所述修改空间与所述目标存储单元关联,并且其中所述修改空间只存储所述源数据的对所述目标存储单元唯一的更改;
在将数据写入所述修改空间时,修改所述目标存储单元映射表,其中所述目标存储单元映射表的所述修改将所述目标存储单元映射表中的相应指针从所述源数据重定向到所述修改空间;以及
删除至少一个目标存储单元,其中如果没有目标存储单元引用所述源存储单元,则将所述源存储单元标记为常规卷,其中当将所述源存储单元标记为常规卷时,可以对其进行修改。
33.如权利要求32中所述的程序存储设备,其中,随着时间的推移,所述目标存储单元映射表通过指向所述源数据的各部分和所述修改空间的各部分的指针的唯一组合为所述目标存储单元维护所述源数据的唯一副本。
34.如权利要求32中所述的程序存储设备,其中所述指针包括直接指针和间接指针之一。
35.如权利要求32中所述的程序存储设备,其中,随着时间的推移,所述目标存储单元映射表通过指向所述源数据的各部分和所述修改空间的各部分的指针的唯一组合为所述目标存储单元维护所述源数据的唯一副本。
36.如权利要求32中所述的程序存储设备,其中所述指针包括直接指针和间接指针之一。
37.如权利要求32中所述的程序存储设备,其中所述方法还包括建立所述修改空间。
38.如权利要求32中所述的程序存储设备,其中所述源存储单元映射表包括指向所述源存储单元中的物理存储设备上的位置的指针。
39.如权利要求32中所述的程序存储设备,其中所述源存储单元映射表和所述目标存储单元映射表都包括以下项中的一项:
指针映射表;
标志映射表;以及
具有散列表的链接列表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/050,239 | 2005-02-03 | ||
US11/050,239 US20060174074A1 (en) | 2005-02-03 | 2005-02-03 | Point-in-time copy operation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101120305A true CN101120305A (zh) | 2008-02-06 |
Family
ID=35457482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800474168A Pending CN101120305A (zh) | 2005-02-03 | 2005-08-31 | 新型即时复制操作 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060174074A1 (zh) |
EP (1) | EP1853992A2 (zh) |
JP (1) | JP2008529187A (zh) |
CN (1) | CN101120305A (zh) |
CA (1) | CA2593289A1 (zh) |
WO (1) | WO2006083327A2 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102112956A (zh) * | 2008-07-29 | 2011-06-29 | 国际商业机器公司 | 用来存储原始时间点数据的设备和方法 |
CN102281320A (zh) * | 2011-04-25 | 2011-12-14 | 程旭 | 控制云存储中数据冗余的方法及装置 |
CN103559103A (zh) * | 2013-11-06 | 2014-02-05 | 华为技术有限公司 | 数据复制方法和装置 |
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 |
CN105027068A (zh) * | 2013-01-10 | 2015-11-04 | 净睿存储股份有限公司 | 在存储系统中执行复制 |
CN105474206A (zh) * | 2013-07-25 | 2016-04-06 | 微软技术许可有限责任公司 | 支持按需数据传输的虚拟同步 |
CN107391391A (zh) * | 2017-07-19 | 2017-11-24 | 深圳大普微电子科技有限公司 | 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘 |
CN110019097A (zh) * | 2017-12-29 | 2019-07-16 | 中国移动通信集团四川有限公司 | 虚拟逻辑副本管理方法、装置、设备及介质 |
CN111143115A (zh) * | 2018-11-05 | 2020-05-12 | 中国移动通信集团云南有限公司 | 基于备份数据的远程容灾方法及装置 |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7620785B1 (en) | 2004-06-30 | 2009-11-17 | Symantec Operating Corporation | Using roll-forward and roll-backward logs to restore a data volume |
US7831782B1 (en) | 2004-06-30 | 2010-11-09 | Symantec Operating Corporation | Roll-back log to provide data consistency |
US7739464B1 (en) | 2004-06-30 | 2010-06-15 | Symantec Operating Corporation | Consistent backups of data using a roll-back log |
US8010759B1 (en) * | 2004-06-30 | 2011-08-30 | Symantec Operating Corporation | Extent redirect |
US7698704B2 (en) * | 2005-02-17 | 2010-04-13 | International Business Machines Corporation | Method for installing operating system on remote storage: flash deploy and install zone |
US7587564B2 (en) * | 2006-09-26 | 2009-09-08 | International Business Machines Corporation | System, method and computer program product for managing data versions |
CN100456255C (zh) * | 2007-04-29 | 2009-01-28 | 华为技术有限公司 | 一种取快照数据的装置及方法 |
US8082406B1 (en) * | 2007-09-27 | 2011-12-20 | Symantec Corporation | Techniques for reducing data storage needs using CDP/R |
US8245217B2 (en) * | 2007-10-12 | 2012-08-14 | Microsoft Corporation | Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine |
US8095827B2 (en) * | 2007-11-16 | 2012-01-10 | International Business Machines Corporation | Replication management with undo and redo capabilities |
US8489799B2 (en) * | 2009-12-13 | 2013-07-16 | International Business Machines Corporation | Efficient loading of data into memory of a computing system |
CN104915265B (zh) * | 2014-03-10 | 2018-03-16 | 北京联想核芯科技有限公司 | 数据备份方法和电子设备 |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US12087382B2 (en) | 2019-04-11 | 2024-09-10 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5857208A (en) * | 1996-05-31 | 1999-01-05 | Emc Corporation | Method and apparatus for performing point in time backup operation in a computer system |
US6078932A (en) * | 1998-01-13 | 2000-06-20 | International Business Machines Corporation | Point-in-time backup utilizing multiple copy technologies |
US6212531B1 (en) * | 1998-01-13 | 2001-04-03 | International Business Machines Corporation | Method for implementing point-in-time copy using a snapshot function |
JP2000076152A (ja) * | 1998-08-28 | 2000-03-14 | Toshiba Corp | 分散ファイルシステムならびに同システムにおけるファイル共有方法及び同方法がプログラムされ記録される記録媒体 |
JP2001051882A (ja) * | 1999-08-04 | 2001-02-23 | Fujitsu Ltd | スナップショット参照方法、及び記憶装置 |
US6338114B1 (en) * | 1999-08-18 | 2002-01-08 | International Business Machines Corporation | Method, system, and program for using a table to determine an erase operation to perform |
US20020129047A1 (en) * | 1999-12-13 | 2002-09-12 | Cane David A. | Multiple copy capability for network backup systems |
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 |
US7072916B1 (en) * | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6868417B2 (en) * | 2000-12-18 | 2005-03-15 | Spinnaker Networks, Inc. | Mechanism for handling file level and block level remote file accesses using the same server |
US6941490B2 (en) * | 2000-12-21 | 2005-09-06 | Emc Corporation | Dual channel restoration of data between primary and backup servers |
US6857059B2 (en) * | 2001-01-11 | 2005-02-15 | Yottayotta, Inc. | Storage virtualization system and methods |
JP4078039B2 (ja) * | 2001-03-21 | 2008-04-23 | 株式会社東芝 | スナップショットイメージの世代管理方法及び世代管理装置 |
US6651147B2 (en) * | 2001-05-08 | 2003-11-18 | International Business Machines Corporation | Data placement and allocation using virtual contiguity |
US6915397B2 (en) * | 2001-06-01 | 2005-07-05 | Hewlett-Packard Development Company, L.P. | System and method for generating point in time storage copy |
GB2377284B (en) * | 2001-07-02 | 2005-06-22 | Sun Microsystems Inc | Computer storage systems |
US6826666B2 (en) * | 2002-02-07 | 2004-11-30 | Microsoft Corporation | Method and system for transporting data content on a storage area network |
US7225204B2 (en) * | 2002-03-19 | 2007-05-29 | Network Appliance, Inc. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US7340489B2 (en) * | 2002-04-10 | 2008-03-04 | Emc Corporation | Virtual storage devices |
JP4292882B2 (ja) * | 2003-03-18 | 2009-07-08 | 株式会社日立製作所 | 複数のスナップショット維持方法及びサーバ装置及びストレージ装置 |
US7366858B2 (en) * | 2004-09-09 | 2008-04-29 | Microsoft Corporation | Framework for taking shadow copies and performing backups in a networked environment |
-
2005
- 2005-02-03 US US11/050,239 patent/US20060174074A1/en not_active Abandoned
- 2005-08-31 CA CA002593289A patent/CA2593289A1/en not_active Abandoned
- 2005-08-31 CN CNA2005800474168A patent/CN101120305A/zh active Pending
- 2005-08-31 EP EP05792326A patent/EP1853992A2/en not_active Withdrawn
- 2005-08-31 WO PCT/US2005/030847 patent/WO2006083327A2/en active Application Filing
- 2005-08-31 JP JP2007554068A patent/JP2008529187A/ja not_active Withdrawn
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102112956B (zh) * | 2008-07-29 | 2013-10-16 | 国际商业机器公司 | 用来存储原始时间点数据的设备和方法 |
CN102112956A (zh) * | 2008-07-29 | 2011-06-29 | 国际商业机器公司 | 用来存储原始时间点数据的设备和方法 |
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 |
CN102281320A (zh) * | 2011-04-25 | 2011-12-14 | 程旭 | 控制云存储中数据冗余的方法及装置 |
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 |
CN105027068A (zh) * | 2013-01-10 | 2015-11-04 | 净睿存储股份有限公司 | 在存储系统中执行复制 |
US11099769B1 (en) | 2013-01-10 | 2021-08-24 | Pure Storage, Inc. | Copying data without accessing the data |
CN105027070A (zh) * | 2013-01-10 | 2015-11-04 | 净睿存储股份有限公司 | 卷操作的安全性 |
US12099741B2 (en) | 2013-01-10 | 2024-09-24 | Pure Storage, Inc. | Lightweight copying of data using metadata references |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
US9880779B1 (en) | 2013-01-10 | 2018-01-30 | Pure Storage, Inc. | Processing copy offload requests in a storage system |
CN105027070B (zh) * | 2013-01-10 | 2018-05-29 | 净睿存储股份有限公司 | 卷操作的安全性 |
CN105027068B (zh) * | 2013-01-10 | 2018-10-26 | 净睿存储股份有限公司 | 在存储系统中执行复制 |
US11662936B2 (en) | 2013-01-10 | 2023-05-30 | Pure Storage, Inc. | Writing data using references to previously stored data |
US10585617B1 (en) | 2013-01-10 | 2020-03-10 | Pure Storage, Inc. | Buffering copy requests in a storage system |
CN105474206A (zh) * | 2013-07-25 | 2016-04-06 | 微软技术许可有限责任公司 | 支持按需数据传输的虚拟同步 |
CN103559103A (zh) * | 2013-11-06 | 2014-02-05 | 华为技术有限公司 | 数据复制方法和装置 |
CN107391391A (zh) * | 2017-07-19 | 2017-11-24 | 深圳大普微电子科技有限公司 | 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘 |
CN110019097B (zh) * | 2017-12-29 | 2021-09-28 | 中国移动通信集团四川有限公司 | 虚拟逻辑副本管理方法、装置、设备及介质 |
CN110019097A (zh) * | 2017-12-29 | 2019-07-16 | 中国移动通信集团四川有限公司 | 虚拟逻辑副本管理方法、装置、设备及介质 |
CN111143115A (zh) * | 2018-11-05 | 2020-05-12 | 中国移动通信集团云南有限公司 | 基于备份数据的远程容灾方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20060174074A1 (en) | 2006-08-03 |
CA2593289A1 (en) | 2006-08-10 |
JP2008529187A (ja) | 2008-07-31 |
EP1853992A2 (en) | 2007-11-14 |
WO2006083327A2 (en) | 2006-08-10 |
WO2006083327A3 (en) | 2006-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101120305A (zh) | 新型即时复制操作 | |
US7836266B2 (en) | Managing snapshot history in a data storage system | |
CN100403268C (zh) | 对应用程序透明的自治可用性 | |
US7320059B1 (en) | Methods and apparatus for deleting content from a storage system | |
US7636704B2 (en) | Methods and apparatus for scheduling an action on a computer | |
CN100485678C (zh) | 将虚拟映射存入对象属性中的分布式基于对象的存储系统 | |
CN100378679C (zh) | 用于存储器访问请求的重定向的方法和系统 | |
CN102012852B (zh) | 一种增量写快照的实现方法 | |
CN100343793C (zh) | 存储区域网络知晓的文件系统上的自治数据缓存和拷贝 | |
CN100507821C (zh) | 用于存储区域网络内部的分配数据的方法和装置 | |
US7350041B1 (en) | Methods and apparatus for managing the storage of content | |
US20070239803A1 (en) | Remote mirroring method between tiered storage systems | |
CN104395904A (zh) | 高效的数据对象存储和检索 | |
CN103597440A (zh) | 用于创建克隆文件的方法以及采用该方法的文件系统 | |
US7490213B2 (en) | Dynamic allocation of storage for hierarchical copies | |
CN106326229B (zh) | 一种嵌入式系统的文件存储方法和装置 | |
JP2005322237A (ja) | データ・ストレージ・システム間でのポイント・イン・タイム・コピー | |
US7549029B2 (en) | Methods for creating hierarchical copies | |
US7552282B1 (en) | Method, computer readable medium, and data storage system for selective data replication of cached data | |
JP4937863B2 (ja) | 計算機システム、管理計算機及びデータ管理方法 | |
EP2081127A1 (en) | Controller for controlling logical volume-related settings | |
WO2000065449A1 (fr) | Procede et systeme de gestion de fichiers dans un environnement reparti | |
CN1997960A (zh) | 管理一个目标卷和一个源卷之间的关系 | |
JP5540636B2 (ja) | ストレージシステム、ストレージ装置、ストレージ装置の記憶内容複製方法およびプログラム | |
CN100403269C (zh) | 用于管理关于目标卷与源卷之间关系的信息的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080206 |