CN101258472A - 快照恢复方法和设备 - Google Patents

快照恢复方法和设备 Download PDF

Info

Publication number
CN101258472A
CN101258472A CNA2006800327248A CN200680032724A CN101258472A CN 101258472 A CN101258472 A CN 101258472A CN A2006800327248 A CNA2006800327248 A CN A2006800327248A CN 200680032724 A CN200680032724 A CN 200680032724A CN 101258472 A CN101258472 A CN 101258472A
Authority
CN
China
Prior art keywords
snapshot
data
storage volume
primary storage
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800327248A
Other languages
English (en)
Other versions
CN101258472B (zh
Inventor
恩戈克兰·T·武
詹姆斯·G·韦达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Cloud Systems Corp
Original Assignee
Dot Hill Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dot Hill Systems Corp filed Critical Dot Hill Systems Corp
Publication of CN101258472A publication Critical patent/CN101258472A/zh
Application granted granted Critical
Publication of CN101258472B publication Critical patent/CN101258472B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

提供了用于提供具有快照恢复能力的数据存储系统的方法和设备。具体地,可取得快照以代表在不同时间的存储卷的状态。即使存储卷接续接受读取和写入操作,存储卷的状态也可被返回到由任意快照代表的状态。此外,在分列快照结构的范围中提供的这些特征,根据所述特征,数据存储系统不保持单个数据组块的多个副本。

Description

快照恢复方法和设备
技术领域
本发明针对数据存储系统控制器。具体地,本发明针对用于恢复在数据存储系统中的数据的方法和设备。
背景技术
对于存储数字文件、文档、图片、图像和其他数据的需求不断快速增加。关于数据的电子存储,已经为快速并安全地存储大量数据而设计了各种数据存储系统。这样的系统可包括以协同方式使用的一个或多个存储装置。还可用这样的系统,在该系统中可跨越多个存储装置分布数据,使得如果存储装置中的一个(或在一些情况下,多于一个存储装置)失败,则数据不会不能挽回地丢失。协同操作多个单独存储装置的系统还可提供改进的数据访问和/或存储时间。可提供这样的优点的系统的例子可在已被开发的各种RAID(独立磁盘冗余阵列)级别中找到。无论使用一个或是多个存储装置来实现,数据存储系统提供的存储都可被作为一个或多个存储卷。
为了便利所希望的数据的可用性,通常希望保持数据存储卷的不同版本。通过保持不同的版本,来方便灾难恢复。例如,如果病毒引起当前存储卷版本丢失或不可用,则系统可退回到不包括引入病毒的文件的较早版本。但是,因为要求保持每个存储卷版本的完整副本,所以保持数据存储卷的不同版本是昂贵和低效的。如果保持存储卷的多个备份版本,则该问题倍增。此外,一旦恢复存储卷的不同版本,通常不可能回复到另一版本,例如,如果确定恢复的存储卷是比先前应用的存储卷更不希望的。此外,与恢复操作相关而选择的存储卷通常不会立即可用,并且当完成退回到所选择的存储卷时,创建存储卷的额外版本的能力也许是不可能的。
发明内容
本发明针对于解决现有技术的这些和其它问题、以及缺点。根据本发明的实施例,提供了能够使用元数据以有效地保持一个或多个在不同时间的存储卷的快照的数据存储系统。更具体地,即使可对数据存储卷的多于一个版本应用数据片,也仅保持在存储卷中的每个数据片的一个副本。元数据用于跟踪数据的每个片或子集所属的数据存储卷的版本。因而,本发明的实施例可考虑包括稀疏快照(sparse snapshot)。根据本发明的实施例,即使在将存储卷的状态恢复到所选择恢复点的操作期间,存储卷也保持可操作。此外,在决定将主存储卷恢复到所选择的状态之后,如快照所代表的、主存储卷的所选状态立即可用。如在此使用的,处于所选择的由快照代表的状态的数据立即可用,其中在所请求的数据组块可被访问之前,用户不需要等待在主存储卷内的所有数据被处理。
根据本发明的实施例,快照是在存储卷上的数据的块级时间点代表。在取得快照的瞬间,必须冻结数据。虽然在存储卷上的数据可作为写入操作的结果而改变,但是,快照中的数据将保持不变,并且在取得快照的瞬间被冻结。为了保护快照数据,使用储存库(repository)(或后备存储)来存储数据,该数据不另外在存储卷和快照元数据中表现。将与快照相关联的所有数据和元数据存储在储存库中。根据本发明的实施例,将存储在快照中的数据存储在“组块(chunk)”中。组块相当于多个逻辑数据块(LBA)。可替换或附加地,可将数据存储在子组块中。子组块是组块的固定大小的子集。可选择用于创建和管理快照的单位(例如,组块,子组块或其多个子组块)来优化系统的性能。
当最初创建快照时,其不包含任何数据。相反,快照元数据表示在存储卷上包含的数据。结果,如果读取操作针对快照、同时快照处于该初始条件下,则快照元数据将把读取操作重新导向存储卷。如果在创建快照之后、写入操作针对存储卷,则检查快照的元数据以确定要被覆写的数据组块是否包含先前已被写入到快照的数据。如果其具有,则允许写入操作正常地完成。如果写入操作要覆写尚未被写入到快照的数据组块,则启动写时复制(copy-on-write,COW)操作。COW操作包括读取要被覆写的存储卷中的现有数据组块,并且将该组块复制到快照。然后更新快照元数据,以指示在快照中现在包含数据组块。然后,允许完成到存储卷的写入操作。
根据本发明的另一实施例,可将存储卷恢复到该卷的任何现有的时间点快照,同时保持所有现有的较早和较新的快照。具体地,保持存储卷的所有现有快照,从而允许活动的卷的版本前进或回退到任何现有的快照。结果,系统管理员或其它用户具有改变他们的决定的能力,所述决定是关于被选择为活动的存储卷或主存储卷。
本发明的实施例还允许立即访问所恢复的主存储卷。具体地,可从快照数据访问需要作为恢复操作的一部分、从所选的快照被复制到激活存储卷的数据块,同时,可从主存储卷得到已被复制到主存储卷的数据块、或当前已如其在主存储卷中存在的数据块。也就是,即使尚未完成整个主存储卷的恢复处理,所请求的数据块也以它们的恢复状态下成为可用。通过使用高水标来跟踪是应直接从存储卷、还是从快照得到数据,使得在进行从快照恢复主存储器的后台复制操作的同时、使用从快照或从主存储卷获得的数据的能力成为可能。可通过用于将数据从快照移动到主卷的恢复线程来保持高水标(high water mark)。如果作出中断从先前选择的快照到存储卷的恢复、以及选择由不同快照代表的不同版本的决定,则立即访问对于存储卷的其它版本也可用。还可在到所选快照的恢复操作正在进行的同时可取得主存储卷的附加快照。本发明的其它实施例将恢复标记与数据组块相关联,以允许标识已被从快照卷恢复到主存储卷的数据组块。
通过以下描述,特别结合附图时,本发明的实施例的附加特征和优点将变得更容易理解。
附图说明
图1是描绘根据本发明的实施例合并数据存储系统的电子数据系统的组件的原理框图;
图2是描绘根据本发明的实施例的数据存储系统的组件的框图;
图3A是描绘根据本发明的实施例的主机、管理计算机或服务器的组件的框图;
图3B是描绘根据本发明的实施例的存储设备的组件的框图;
图3C是描绘根据本发明的实施例的存储控制器的组件的框图;
图4是描绘主存储卷和在不同时间取得的主存储系统卷的多个快照;
图5描绘了在根据本发明的实施例的数据存储系统中不同卷之间的关系;
图6是描绘了根据本发明的实施例的快照处理的方面的流程图;
图7是描绘了根据本发明的实施例的数据恢复处理的方面的流程图;
图8是描绘了根据本发明的实施例用于将数据写入到存储卷的处理的方面的流程图;和
图9是描绘了根据本发明的实施例的读取处理的方面的流程图。
具体实施方式
图1是描绘根据本发明的实施例的合并数据存储系统104的电子数据系统100的框图。通常,数据存储系统104可通过总线和/或网络112互连到一个或多个主机处理器或计算机108。因此,本发明的实施例具有与存储区域网络(SAN)、或直连环境中的单个或多个主机108相关联的应用。根据其他实施例,数据存储系统104可与主机108集成、或直接连接到主机108。此外,存储系统104可互连到管理计算机116。通常,管理计算机116可提供用于控制存储系统104的操作方面的用户界面。管理计算机116可直接和/或通过总线或网络112与存储系统104互连。根据本发明的其他实施例,管理计算机116可与主机计算机108集成。此外,多个管理计算机116可被提供为电子数据系统100的一部分。电子数据系统100还可包括多个数据存储系统104。
电子数据系统100还可包括服务器120,其提供如在此描述的快照恢复服务。服务器120可通过总线或网络112与存储系统104互连。可替换地或附加地,可通过沿着互连存储系统104和总线或网络112、或互连存储系统104和主机计算机108的数据信道插入的存储设备124、来提供快照恢复功能。根据本发明的其他实施例,通过由存储系统104执行指令或编程,可完全或部分提供如在此描述的快照恢复功能。如还可替换地,可通过主机108或管理计算机116提供快照恢复功能。
图2图解了根据本发明的实施例的可在包括RAID系统的示例数据存储系统104中包括的组件。通常,数据存储系统104包括多个存储装置204。存储装置204的例子包括硬盘驱动器,如串行高级技术连接(SATA)、小计算机系统接口(SCSI)、串行附加的SCSI(SAS)、光纤信道(FC),或并行高级技术附加(PATA)硬盘驱动器。存储装置204其他的例子包括磁带存储装置、光存储装置或固态盘装置。此外,虽然图解了许多的存储装置204,但是应理解,本发明的实施例不限于任何特定数目的存储装置,并且可将更少或更多个数的存储装置204提供为数据存储系统104的一部分。如本领域的技术人员可理解的,可在数据存储装置204上建立阵列和/或阵列分区(在下文中称为逻辑单元数(LUN))。如本领域的技术人员还可理解的,可根据各种阵列等级中的任意一个或其他排列来实现LUN,以将数据存储在一个或多个存储装置104上。如本领域的技术人员还可理解的,存储装置204包含:数据,所述数据包括可对应于LUN的主存储卷;以及在不同时刻取得的存储卷的一个或多个快照。
可向根据本发明的实施例的数据存储系统104提供第一控制器槽208a。此外,其它实施例可包括附加的控制器槽,例如第二控制器槽208b。如本领域的技术人员可理解的,控制器槽208可包括连接或一组连接,使得控制器212能够可操作地与数据存储系统104的其它组件互连。此外,根据本发明的实施例的数据存储系统104包括至少一个控制器212a。例如,当以单个控制器、非故障恢复(non-failover)模式操作数据存储系统104时,数据存储系统104可确实包括一个控制器212。通过提供第二控制器212b,根据本发明的其它实施例的数据存储系统104可以双冗余激活-激活控制器(dualredundant active-active controller)模式操作。当除了第一控制器212a以外还使用第二控制器212b时,通过第二控制器槽208b接收第二控制器212b。如本领域的技术人员可理解的,两个控制器212a至212b的提供允许在控制器212a-212b之间对数据镜像,从而提供冗余激活-激活控制器操作。
通常,提供一个或多个总线或信道216,以通过相关联的控制器槽208将控制器212与存储装置204互连。此外,虽然图解为单个共享的总线或信道216,但是可理解,可提供多个专用和/或共享总线或信道。可包括在数据存储系统104中附加的组件包括一个或多个电源128和一个或多个冷却单元132。此外,可提供总线或网络接口136,以将数据存储系统104互连到总线或网络112、和/或主机计算机108或管理计算机116。
虽然在图2中图解为完整的RAID系统,但是应理解,数据存储系统104可包括以各种其它方法实现的一个或多个存储卷。例如,数据存储系统104可包括:与服务器或通用计算机连接或相关联的硬盘驱动器、或其它存储装置204。作为又一示例,存储系统104可包括简单硬盘集群(JBOD)系统或交换硬盘集群(SBOD)系统。
快照恢复方法和设备可以各种方法实现。例如,可关于通过总线或网络112互连到存储系统104的服务器120,或关于例如主机计算器108或管理计算机116的某个其它计算装置来实现快照恢复功能。根据又一实施例,可关于在数据存储系统104和主机计算机108之间内联(inline)的应用124来实现快照方法和设备。根据本发明的其它实施例,通过数据存储系统104的组件或子系统,例如通过数据存储系统控制器212,可关于指令或代码的操作或执行来提供快照功能。
参考图3A,图解了关于本发明的实施例的示例主机108、管理计算机116、服务器120或其它装置,其中,通过在装置108、116或120上运行的软件提供快照功能。组件可包括能够执行程序指令的处理器304a。因而,处理器304a可包括任意用于执行应用编程的通用可编程处理器或控制器。可替换地,处理器304a可包括特别配置的特定用途集成电路(ASIC)。处理器304a通常用来运行包括操作系统软件和实现由装置108、116或120执行的各种功能的一个或多个应用的编程代码。
装置108、116或120可附加地包括与处理器304a执行编程结合使用、并且用于临时或长期存储数据或程序指令的存储器308a。例如,可关于快照恢复算法的执行使用存储器308a。存储器308a可包括具有驻留、可移动或远程的性质的固态存储器,例如DRAM和SDRAM。
还可包括数据存储装置314a,用于应用编程和/或数据的存储。例如,可将操作系统软件318存储在数据存储装置314a中。此外,数据存储装置314a可用于存储快照恢复处理、或包括用于如在此描述的提供存储卷的快照和恢复功能的指令的应用328a。快照恢复应用328a自身可包括多个模块或组件,例如主输入/输出(IO)模块332a、以及恢复线程或模块336a。
装置108、116或120还可包括一个或多个网络接口340a。网络接口340a的例子包括光纤信道(FC)接口、以太网或其它类型的通信接口。如本领域的技术人员可理解的,可以网络接口卡或其它适配器的形式提供网络接口340a。
实现或提供快照恢复328应用或功能的主计算机108或管理计算机116可包括与服务器120相同的常规组件。特别地,提供快照恢复应用328功能的主计算机108或管理计算机116通常将包括包含操作系统318和快照恢复应用328a指令的数据存储装置314a、用于执行那些指令的处理器304a、用于使用关于那些指令的执行的存储器308a、以及网络接口304a。但是,通常,主计算机108或管理计算机116将包括用于提供其它特征的附加应用编程,以及附加组件。例如,主机计算机108可包括一个或多个用于服务、创建和/或使用存储在数据存储系统104中的数据的应用。如另一示例,管理计算机116可包括用于管理数据存储系统104的方面的应用编程。可被包括为主计算机108或管理计算机116的附加组件包括用户输入和输出装置。
参考图3B,图解了可被包括作为网络或存储设备124的一部分的组件。通常,所述组件包括处理器304b、存储器308b和一个或多个网络或通信链路接口340b。通常,网络设备124的特征在于插入到主机计算机108和数据存储器系统104之间的通信路径或链路中。可替换或附加地,设备124的特征在于:根据本发明的实施例,执行实现快照恢复算法或处理328b的固件,其中,将快照恢复算法328b存储或编码为固件。根据本发明的实施例,在作为设备124的一部分提供的存储器308b中,可存储或编码快照恢复算法或处理328b。
如以上所提及的,还可关于数据存储系统104的存储控制器212的操作,来实现根据本发明的实施例的快照恢复算法或处理328。图3C图解了根据本发明的实施例的提供快照恢复应用或处理328功能(示出为快照恢复指令328c)的存储控制器212。通常,存储控制器212包括能够执行用于执行、实现和/或控制各种控制器212功能的指令的处理器或处理器子系统304c。这样的指令可包括如在本公开中所描述的、用于实现快照恢复方法和设备的方面的指令328c。此外,可将这样的指令存储为软件和/或固件。如本领域的技术人员可理解的,可使用一个或多个硬件(hardwired)、以及/或被提供为处理器子系统304c的一部分的可编程逻辑电路,来执行关于生成奇偶校验数据的操作、或其它操作。因此,处理器子系统304c可被实现为多个分立组件,例如,关于一个或多个逻辑电路的一个或多个可编程处理器。处理器子系统304c可还包括或被实现为一个或多个集成装置或处理器。例如,处理器子系统可包括复杂可编程逻辑器件(CPLD)。
控制器212还通常包括存储器306。存储器306不特定局限于任意特定类型的存储器。例如,存储器306可包括固态存储器装置、或多个固态存储器装置。此外,存储器306可包括分离的易失性存储器308和非易失性存储器310部分。如本领域的技术人员所理解的,存储器306典型地包括被提供为存储器306的易失性存储器308c部分的一部分的写入高速缓存312和读取高速缓存316,然而其它安排是可能的。通过提供高速缓存312、316,存储控制器212可改进在主机108和包括阵列或阵列分区(array partition)的数据存储装置204之间的输入/输出(IO)操作的速度。易失性存储器308c的示例包括DRAM和SDRAM。
非易失性存储器310可用于存储在发生影响数据存储系统104的电源中断的情况下、被输入到存储器306的写入高速缓存312的数据。存储控制器存储器306c的非易失性存储部分310可包括能够保持数据而不需要来自外部源的功率的任意类型的数据存储装置。非易失性存储器310的例子包括但不限于:紧凑型闪存或其他标准化的非易失性存储装置。
存储器306还包括包含区域324的存储器306的部分,所述区域324提供用于控制器代码326的存储装置。控制器代码326可包括多个组件,包括快照恢复处理或应用328c,所述快照恢复处理或应用328c包括用于提供存储卷的快照的指令和如在此描述的恢复功能。快照恢复应用328c自身可包括多个模块,如主输入/输出(IO)模块332c和恢复线程或模块336c。如图3所示,可在存储控制器存储器306的易失性存储器308部分中建立控制器代码区域324。可替换或附加地,可将控制器代码326存储在非易失性存储器310中。
存储控制器212可附加地包括其他组件。例如,可提供总线和/或网络接口340c,以便可操作地将存储控制器212例如通过控制器槽208和总线或信道216而互连到数据存储系统104的剩余部分(remainder)。此外,可配置接口340,以帮助作为现场可更换单元(FRU)的、在控制器槽208中的存储控制器212的移除或替换。此外,为了将存储控制器212的各种组件相互连接,可提供完整(integral)的信号和功率信道。
通过参考图4,描绘了主存储卷404和在不同时刻T0-Tx取得的该存储卷的多个快照或快照卷408。如在此所使用的,快照408是代表在取得快照408的时间点、主存储卷404上存在的数据的虚拟卷。主存储卷404是保持在数据存储系统104上的当前数据集合。主存储卷404可对应于标准RAID卷或LUN。在图4的示例中,取得了存储卷的第一(最旧)快照是在时刻T0取得的快照408a。下一最旧快照408b是在时刻T1取得的。在图4的示例中最近的固定或存储的快照408是快照408c,其是在时刻T2取得的。尚未固定当前快照412。因而,当前快照412包含的数据随着主存储卷404中的数据改变而改变。由于当前快照412尚未被固定,所以将其时刻示出为Tx。如果接收到固定当前快照412的命令(例如,作为用于确定何时取得快照的自动处理或管理员的决定的操作结果),则该快照将与时刻T4相关联,并且将变成完整的快照。然后可开始生成新的当前快照。
通常,每个完整的快照408包括描述包括在快照中的数据的元数据。此外,如果改变或覆写在存储卷404中的数据块,则将修改包含该数据块的最新的完整的快照408,以包括原始数据块的副本。因而,每个快照408包括在取得快照408的时刻包括在主存储卷404中的每个数据块的引用或副本。此外,可通过更早的快照408来保持快照408所引用的数据块的副本。因而,可在快照408之间共享数据块。但是,根据本发明的实施例,在主存储卷404或主存储卷的快照408中的数据块之中,只保持包括在处于其当前状态的主存储卷404中、或包括在快照408所捕获的任何其他时刻的存储卷中的每个数据块的一个副本。
此外,本发明的实施例允许保持来自不同时刻的多个快照408。此外,即使启动或甚至完成了恢复操作、以返回由所选择的快照408代表的主存储卷404的状态,主存储卷404还可返回由任意其他已被取得的快照408代表的状态。例如,如果管理员选择来自时刻T1的快照408b、并且启动或完成了对于该快照408b的恢复处理,则来自较早时刻T0的快照408a和来自较晚时刻T2的快照408c仍然可用,例如,如果管理员确定其他快照408中的一个比所选择的快照408b更优选。也就是,本发明的实施例允许保持所有的快照408数据和元数据,以允许主存储卷404的内容回滚(roll backward)或前进到任何现有快照408。此外,即使在完成较早的恢复操作将主存储卷404的内容回复到另一快照408以前,主存储卷404内容也可被滚动到快照408。因此,可使得处于选择状态的数据立即对用户可用。在本发明的实施例的又一方面中,即使作为后台操作正在执行恢复操作,也可取得恢复的主存储卷404的附加快照(即,当前快照412)。
参考图5,描绘了根据本发明的实施例的数据存储系统104中的数据块的存储。具体地,图5图解了主存储卷404、快照卷504和主卷508的后备存储。在主存储卷404中,示出了多个数据组块或块A1512、B0516和C0520。这些数据组块512-520代表作为数据存储系统104中部分主存储卷404而存储的实际数据。
快照卷504是包括元数据的虚拟卷。因此,作为正在快照卷504上代表的所有数据实际存在于其他位置。具体地,包括在特定快照408中的数据存在于中存储卷404上或后备存储508上。更具体地,自取得了快照408以后未被修改的数据存在于主存储卷404上,而自取得了快照408以后已被修改的数据存在于后备存储508上。通常,后备存储508具有关于主存储卷404和与主存储卷相关联的虚拟快照408卷的信息。如本领域的技术人员可理解的,后备存储508包括数据存储系统104中的卷。通过与备份存储508相关联的主存储卷404相同的控制器212,可建立并控制后备存储508。根据其他实施例,可通过提供所描述的快照恢复能力的另一系统节点或系统组件(如主计算机108、管理计算机106、服务器120或设备124)建立并控制后备存储和其内容。单个后备存储508可对于每个能够快照的主存储卷404存在。可替换地,可将多个主存储卷404分配到单个后备存储508。
在图5的例子中,快照卷504包含在时刻T0取得的快照408。在时刻T0存在于主存储卷404中的数据由数据组块A0524、数据组块B0516和数据组块C0520组成。在图5描绘的时刻,主存储卷404不再包含数据组块A0524。相反,其包含数据组块A1512。因而,在数据存储系统104接收数据组块A1512以存储在主存储卷404中时,将数据组块A0524从主存储卷404复制到后备存储508。因此,时刻T0的快照408包括指示数据组块A0524与快照408相关联、并位于后备存储508的元数据(示为A0’524’)。在时刻T0的快照408还包括指示数据组块B0516和C0520位于主存储卷404中的元数据(B0’516’和C0’520’)。此外,可在快照408中共享数据组块。例如,已覆写的数据组块可与最近的快照408相关联,所述最近的快照408包括如其在被覆写前存在的数据组块。除了与数据相关联的快照408之外的快照408还可引用元数据中的快照,使得如果需要则定位数据组块。
图5还图解了直接写入到快照408的数据组块SW 528。如本领域的技术人员在理解本公开后可理解的,快照408可包括实际存储在后备存储508中的元数据的集合。因为快照卷504自身不包含数据组块,而只包含元数据,所以,数据组块SW 528作为组块SW 528驻留在后备存储508上。因而,快照408包括指示数据组块SW 528位于后备存储508中的元数据SW’528’。
参考图6,图解了根据本发明的实施例、在处理对于主存储卷404的IO操作中的数据存储系统104的操作的方面。可关于控制器代码326指令的执行来执行这样的操作。更具体地,可通过执行快照恢复算法328的主IO处理332来执行这样的操作。还可通过执行由另一系统节点或系统组件(例如,通过主机计算机108、管理计算机116、服务器120或设备124)执行的快照恢复算法328的主ID处理332来执行这样的处理。最初,在步骤604,作出关于要执行的IO操作是否包括主存储卷404的快照408的创建的确定。如果要创建快照408,则将引用主存储卷404中的数据的元数据写入后备存储508中的快照卷504中,从而创建数据的虚拟快照408(步骤608)。在创建快照408的时刻,由于快照的所有数据驻留在主卷404中,所以其整个为元数据。在步骤610,创建存储器内数据结构,以允许直接从存储器读取快照信息。
如果在步骤S604确定不创建快照,则接下来作出关于是否要执行读取操作的确定(步骤612)。如果要执行读取步骤,则作出关于是否要从主存储卷404读取数据的确定(步骤614)。如果要从主存储卷404读取数据,则从卷404读取数据(步骤616)。如果不从主存储卷404读取数据,则参考关于目标快照408的快照卷504中的元数据,以确定需要满足读取操作的数据组块的实际位置(步骤618)。例如,根据本发明的实施例,与快照408相关联的数据组块可驻留在主存储卷404中、或后备存储508中。然后,如快照408元数据所指示的,从主存储卷404或后备存储508检索数据组块(步骤620)。
在步骤612确定未接收到针对快照的读取操作之后,作出关于是否已接收到写入操作的确定(步骤622)。如果已经接收到写入操作,则作出关于写入操作是否针对主存储卷404的确定(步骤624)。如果写入操作不针对主存储卷404,而是针对快照408,则将数据写入后备存储508,并且更新快照元数据(步骤628)。
如果操作针对主存储卷404,则读取当前快照的元数据(步骤630)。然后,作出当前快照408是否需要当前在主存储卷中的数据组块的确定(步骤632)。
如果当前和/或最近快照408(即,其为在由当前和/或最近快照代表的时间点的映像的主存储卷的一部分)需要覆写数据组块,则启动写时复制(COW)操作,以将现有数据组块写入到当前快照(例如,到后备存储508)(步骤636)。然后,更新最近快照408的元数据,以指示数据组块现在位于后备存储508中(步骤640)。在将所需的数据块从主存储卷复制到当前快照、并更新当前快照元数据之后,或者在确定当前快照不需要作为写入操作的一部分被覆写的数据组块的确定之后,完成对于主存储卷的写入操作(步骤644)。
如果在步骤622确定操作不是写入操作,则该操作必定是删除操作(步骤648)。对于被删除的快照中所有现有数据组块,检查下一最旧的快照408的元数据,并将下一最旧快照408所需的、包括在被删除的快照中所有数据组块移动到下一最旧快照408(步骤652)。
参考图7,图解了关于将存储卷404恢复到快照408所代表的状态的数据恢复系统104的操作方面。可关于执行恢复模块或处理336来执行恢复处理。在步骤704,启动快照恢复线程处理。更具体地,恢复线程处理的启动可响应于用于将主存储卷404恢复到快照408代表的状态的命令。在启动恢复存储线程处理后,将主存储卷的高水标(high-watermark)设置为0(步骤708)。在步骤712,识别在主存储卷404中的下一数据组块,并且,作出关于是否已经设置了数据组块的恢复标记的确定。通常,恢复标记用于跟踪包括在主存储卷404中、已经恢复到所选择的快照408代表的状态的那些数据组块。
如果未设置标识数据组块的恢复标记,则作出关于标识的数据组块是否已存在于在恢复点的快照408中的确定(步骤714)。如果数据组块并非已经存在于快照408中,则将该数据组块从主存储卷404移动到在恢复点的最近快照408(步骤716)。如本领域的技术人员可理解的,将数据组块移动到最近的快照408可包括将该数据组块移动到后备存储508。在将数据组块移动到最近的快照408之后,或在确定快照已存在于快照408中之后,将由恢复快照408代表的数据组块从恢复快照408移动到主存储卷404(步骤720)。如本领域的技术人员考虑到在此提供的描述而可理解的,可将恢复的数据组块(即,处于在取得恢复快照时其存在的状态下的数据组块)从与恢复快照408相关联的后备存储中的位置(或从包括在恢复快照408的元数据中引用的另一快照408)移动到主存储卷404。此外,在恢复数据组块之后,或在步骤712确定已设置了所选择的组块的恢复标记之后,递增存储卷中的高水标(步骤724)。高水标标识在存储卷404中的点,通过该点,已进行了数据组块的恢复。高水标提供了快速引用,该快速引用可用于帮助确定关于在主存储卷404中的不同点的读取和写入操作的、数据存储系统104的动作。
在递增高水标后,可作出关于当前的高水标是否大于最后选择的数据组块的组块编号的确定(步骤728)。如果确定高水标不大于在存储卷404中最后数据块的编号,则处理可返回用于处理下一数据组块的处理步骤712。如果确定高水标大于包括在存储卷404中最后的组块编号,则可结束处理。也就是,如果高水标值大于最后组块的编号(其中顺序地编号组块),则将在主存储卷404中每个组块恢复到恢复快照408代表的状态。
现在参考图8,图解了当进行用于将主存储卷404的状态返回到由存储快照408代表的状态的恢复操作或恢复处理时、关于用于写入到主存储卷404的接收数据的数据存储系统104的操作的方面。可通过执行快照恢复应用或算法328来执行这样的操作。最初,进行在主IO路径中的恢复处理(步骤804)。步骤808,用于写入到包括至少第一数据组块中的主存储卷404的数据被接收到高速缓存中(例如,在存储器306中),并且,锁定该数据,以防止到主存储卷404的写入数据的降级。在步骤812,作出关于用于写入操作的组块地址(即,目标地址)是否在高水标之上的确定。如果目标LBA范围在高水标之上,则接下来通过确定是否已经为在主存储卷404中指示的地址的数据组块设置了恢复标记(步骤816),作出关于是否已完成在目标LBA中的数据组块的恢复处理(即,所接收的数据组块的目标地址是否包括已经恢复的现有数据组块)的确定。
如果没有为考虑中的数据组块设置恢复标记,则作出关于在恢复点的当前快照408中是否存在数据组块的确定(步骤820)。如果在当前快照408中不存在数据组块,则将数据组块从主存储卷404移动到在恢复点的最近的快照408(步骤824)。在将数据组块从主存储卷404移动到在恢复点的最近的快照408后,或在确定在恢复点的最近的快照408中存在数据组块后,将数据组块从恢复快照408移动到主存储卷404(步骤826)。然后,设置已在步骤824移动的数据组块的恢复标记,其指示已在该数据组块上执行了该恢复处理(828)。
在步骤828完成恢复处理并且设置数据组块的标记之后、在步骤812确定组块地址不在高水标之上后、或在步骤816确定已为数据组块设置了恢复标记后,作出关于当前快照是否存在的确定(步骤832)。如果发现当前快照存在,则作出关于对于所选择的数据组块的当前快照中是否存在数据的确定(步骤836)。如果在当前快照中不存在对于所选数据组块的数据,则将数据组块从主存储卷404移动到当前快照408(840)。在步骤840将数据组块从主存储卷404移动到当前快照408之后、或在步骤836确定在对于所选数据组块的当前快照中存在数据之后、或在步骤832确定不存在当前快照之后,解锁保持在高速缓存中的数据组块,并且允许从高速缓存到主存储卷404的数据组块的降级(步骤844)。因此,将已接收的数据组块写入到主存储卷404,同时保留在作为任意可应用的快照408的部分写入所接收的数据组块的地址的任意数据,可结束用于在恢复操作期间写入所接收的数据的处理。
如本领域的技术人员在考虑本描述后可理解的,即使主存储卷404被恢复到先前状态,根据本发明的实施例的数据存储系统104也可接受用于存储在存储卷404中的新数据。也就是,从用户的观点看,恢复到所选的快照408代表的状态的数据立即可用。此外,数据以其在恢复操作期间所恢复的状态可用,以将主存储卷404回滚(或前进)到快照408所代表的状态。因而,本发明的实施例避免在恢复存储卷404时、关于写入操作的数据存储系统104可用性的长延迟。更具体地,从用户或客户的观点看,立即完成了恢复操作(即,一启动就完成)。
现在参考图9,图解了当进行恢复操作时关于接收读取请求的数据存储系统104的操作方面。可关于快照恢复代码或指令324以及该代码的各种模块来执行包括的操作。最初,在步骤904,在进行恢复操作的同时接收针对主存储卷404的读取操作,在步骤908,作出关于读取操作的LBA范围是否低于高水标的确定。如果读取操作的LBA范围低于高水标,则将所请求的数据从主存储卷404返回(步骤912)。也就是,低于高水标的数据已被恢复到其在由所选择的快照408的代表的时间点所处的状态。如果在步骤908确定请求数据的LBA范围不低于高水标,则从恢复快照408(或由恢复快照408所指示的位置,其可为主存储卷404或位于后备存储508中的位置)检索所请求的数据(步骤916)。
为了说明和描述已经呈现了本发明的上述讨论。此外,该描述不意图将本发明限定于在此公开的形式。因此,在相关领域的技术和知识中,与以上教导相当的改变和修改在本发明的范围内。以上在此描述的实施例还进一步意于解释时间本发明的当前已知的最近模式,并使其它本领域的技术人员能够以这样或其它实施例、并且通过他们的特定应用或使用本发明所要求的各种修改,来利用本发明。意图构造所述权利要求以包括对于现有技术允许的范围的可替换的实施例。

Claims (27)

1.一种存储卷快照方法,包括:
启动第一恢复操作,以将主存储卷的状态恢复到主存储卷的第一快照所代表的先前状态;
紧接在第一恢复操作的启动之后,从主存储卷读取数据,其中,从主存储卷读取的数据处于由主存储卷的第一快照代表的状态。
2.如权利要求1所述的方法,还包括:
从多个快照中选择第一快照。
3.如权利要求2所述的方法,还包括:
在启动第一恢复操作后,从多个快照中选择第二快照;
启动第二恢复操作,其中,第二恢复操作将主存储卷的状态返回到由主存储卷的第二快照代表的主存储卷的状态;
紧接在第二恢复操作的启动之后,从主存储卷读取数据,其中,从主存储卷读取的数据处于由主存储卷的第二快照代表的状态。
4.如权利要求3所述的方法,其中,第二快照代表在由第一快照代表的主存储卷的状态之后的时间点的主存储卷的状态。
5.如权利要求3所述的方法,其中,第二快照代表在由第一快照代表的主存储卷的状态之前的时间点的主存储卷的状态。
6.如权利要求1所述的方法,还包括:
紧接在启动第一恢复操作之前,取得主存储卷的当前快照,其中,当前快照包括代表紧接在启动第一恢复操作之前的主存储卷的状态的第二快照,并且,其中,紧接在第一恢复操作数据的启动之后,从主存储卷读取的数据处于主存储卷的第一快照所代表的状态。
7.如权利要求6所述的方法,还包括:
在启动第一恢复操作之后,启动第二恢复操作,以将主存储卷的状态返回到由主存储卷的第二快照代表的状态。
8.如权利要求1所述的方法,还包括:
保持高水标,以跟踪后台复制操作已通过主存储卷地址而前进了多远,其中,在主存储卷中的地址上存储的数据块中的至少一些与如由第一快照所保持的那些地址的数据块不同,并且,其中,所述启动第一恢复操作包括:作为后台复制操作的一部分,将与第一快照不同的数据块复制到主存储卷。
9.如权利要求1所述的方法,还包括:
在进行恢复操作的同时,从主机接收用于写入到在主存储卷中的第一目标地址的第一数据组块;
在接收第一数据组块之后,确定第一目标地址是否包含已被恢复到由第一快照代表的状态的现有数据组块;
响应于确定第一目标地址包含尚未被恢复到由第一快照代表的状态的现有数据组块:
将作为第一快照的一部分保持的第一目标地址的数据组块移动到主存储卷中的目标地址,其中,当完成移动数据组块时,第一目标地址包含所恢复的数据组块;
将第一数据组块写入主存储卷中的第一目标地址,其中,覆写在主存储卷的所恢复的数据组块。
10.如权利要求1所述的方法,其中,所述第一快照包括元数据,并且,其中,元数据涉及主存储卷中的至少一个数据组块、以及后备存储中的至少一个数据组块。
11.如权利要求9所述的方法,还包括:
响应于确定现有数据组块被包括在最近的快照中,将现有数据组块从第一目标地址移动到最近的快照。
12.如权利要求9所述的方法,还包括:
响应于确定当前快照存在:
在将作为第一快照的一部分保持的第一目标地址的数据组块移动到主存储卷中的第一目标地址、使得第一目标地址包含所恢复的数据组块之后,将所恢复的数据组块复制到当前快照,
其中,不将第一数据组块写入到主存储卷中的第一目标地址,直到已经完成了将所恢复的数据组块复制到当前快照为止。
13.如权利要求9所述的方法,还包括:
设置与在主存储卷的第一目标地址中的恢复数据组块相关联的恢复标记,以指示已经完成了在主存储卷中的目标地址上的数据组块的恢复操作。
14.如权利要求9所述的方法,还包括:
响应于确定第一目标地址包含已被恢复到第一快照所代表的状态的数据组块,将第一数据组块写入到主存储卷中的第一目标地址。
15.如权利要求9所述的方法,其中,确定所述第一数据组块的第一目标地址是否包含已被恢复到由第一快照代表的状态的数据组块的步骤包括:确定第一目标地址是否在高水标之上,
并且,其中,确定第一数据组块的第一目标地址是否包含已被恢复到由第一快照代表的状态的数据组块的步骤还包括:确定是否设置了与在第一目标地址的数据组块相关联的恢复标记。
16.如权利要求9所述的方法,还包括:
在进行恢复操作的同时,接收针对在主存储卷中的第二目标地址的读取请求;
响应于接收到读取请求,确定第二目标地址是否低于高水标;
响应于确定第二目标地址不低于高水标,从第一快照检索所请求的数据;
响应于确定第二目标地址低于高水标,从主存储卷检索所请求的数据。
17.如权利要求16所述的方法,其中,从第一快照检索所请求的数据,并且,其中,从第一快照检索所请求的数据的步骤包括:从后备存储检索在包括在第一快照中的元数据中标识的数据。
18.如权利要求11所述的方法,其中,将现有数据组块从第一目标地址移动到最近的快照的步骤包括:将现有数据组块从主存储卷移动到后备存储,并且,将在后备存储上的现有数据组块与元数据中的最近的快照相关联,所述元数据包括最近的快照。
19.如权利要求9所述的方法,其中,将作为第一快照的一部分保持的第一目标地址的数据组块移动到主存储卷中的目标地址的步骤包括:将作为第一快照的一部分保持的第一目标地址的数据组块从后备存储移动到主存储卷中的目标地址。
20.如权利要求9所述的方法,还包括:
取消恢复操作,并且,将主存储卷返回到与第一快照所代表的状态不同的、在执行恢复操作之前的状态,其中,将主存储卷返回到在执行恢复操作之前的状态的步骤包括:将主存储卷恢复到由第二快照代表的状态。
21.如权利要求1所述的方法,还包括:
在启动第一恢复操作之后、且在完成第一恢复操作之前,取得主存储卷的第二快照,其中,即使实际恢复作为后台操作正在发生,在第二快照中代表的数据也是在所恢复的主卷的时间点映像。
22.如权利要求1所述的方法,还包括:
在启动第一恢复操作之后、且在完成第一恢复操作之前,取得主存储卷的第二快照,其中,在第二快照中代表的数据包括处于由第一快照代表的状态下的、与第一地址相关联的第一数据组块,并且,其中,在主存储卷中的第一地址的数据组块不处于由第一快照代表的状态。
23.一种数据存储系统,包括:
控制器、存储设备和计算机中的至少一个,其包括:
存储器;
加载到存储器中的快照恢复指令;
处理器,其中,该处理器执行快照恢复指令,并且,其中,快照恢复指令的执行包括快照恢复处理的执行;
与所述控制器、存储设备和计算机中的至少一个互连的存储装置,所述存储装置包含:
主存储卷;
快照元数据;以及
后备存储,
其中,在执行与恢复操作相结合的控制器代码、以将主存储卷的状态恢复到由第一快照代表的状态的期间,可从主存储卷和后备存储中的一个得到处于由第一快照代表的状态的数据,而不需要首先将数据从后备存储移动到主存储卷。
其中,保持高水标,以指示已被恢复到由第一快照代表的状态的主存储卷中的最后的地址,
其中,响应于在恢复操作期间接收对在高水标之上的第一地址的写入请求,将在第一地址上的现有数据移动到后备存储,并将该现有数据与最近的快照相关联,将要被恢复到第一地址的数据从后备存储移动到在主存储卷中的第一地址,并且,将来自写入请求的数据写入主存储卷中的第一地址,
其中,利用来自写入请求的数据覆写被恢复到第一地址的数据。
24.如权利要求23所述的系统,其中,所述系统包括多个存储装置,并且,其中,主存储卷包括在多个存储装置上建立的RAID阵列分区。
25.一种数据存储系统,包括:
用于存储数据的部件,所述数据包括包含主存储卷的数据、包含至少第一快照的元数据、以及与所述至少第一快照相关联的数据,其中所述至少第一快照不被包括在所述主存储卷中;
用于控制对所述用于存储数据的部件的数据输入/输出操作的部件,其包括:
用于存储用来执行的程序指令的部件;
用于执行所存储的程序指令的部件;
其中,所述程序指令包括:
用于实现在一时间点取得所述主存储卷的快照的处理的指令,
用于将主存储卷的状态恢复到在第一快照所代表的时间点的该主存储卷的状态的指令,
其中,在执行用于将所述主存储卷的状态恢复到所述第一快照代表的时间点的指令期间:
响应于接收到针对在所述主存储卷中的第一地址的写请求,作出关于在所述主存储卷中的所述第一地址是否包含所恢复的数据组块的确定,
响应于确定在所述主存储卷中的所述第一地址包含所恢复数据组块,完成所述写请求。
26.如权利要求25所述的系统,还包括:
用于管理的部件;
其中,所述用于控制数据输入/输出操作的部件还包括:
用于对接的部件,其中,从所述用于管理的部件接收至少所述第二执行指令集合。
27.如权利要求25所述的系统,还包括:
与所述用于控制数据输入/输出操作的部件通信的、用于主控数据的部件,其中,通过所述用于控制数据输入/输出操作的部件,由用于主控数据的部件将数据写入所述用于存储数据的部件,以及从所述用于存储数据的部件读取数据。
CN2006800327248A 2005-09-06 2006-08-18 快照恢复方法和设备 Expired - Fee Related CN101258472B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71490405P 2005-09-06 2005-09-06
US60/714,904 2005-09-06
US11/277,738 2006-03-28
US11/277,738 US7426618B2 (en) 2005-09-06 2006-03-28 Snapshot restore method and apparatus
PCT/US2006/032506 WO2007030304A2 (en) 2005-09-06 2006-08-18 Snapshot restore method and apparatus

Publications (2)

Publication Number Publication Date
CN101258472A true CN101258472A (zh) 2008-09-03
CN101258472B CN101258472B (zh) 2010-12-08

Family

ID=37831268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800327248A Expired - Fee Related CN101258472B (zh) 2005-09-06 2006-08-18 快照恢复方法和设备

Country Status (6)

Country Link
US (1) US7426618B2 (zh)
EP (1) EP1922624B1 (zh)
CN (1) CN101258472B (zh)
HK (1) HK1121839A1 (zh)
TW (1) TW200728982A (zh)
WO (1) WO2007030304A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978241A (zh) * 2015-05-29 2015-10-14 上海爱数软件有限公司 一种cow类型文件系统的数据恢复方法及装置
CN105144113A (zh) * 2013-03-14 2015-12-09 微软技术许可有限责任公司 从快照恢复应用
CN107729052A (zh) * 2017-10-16 2018-02-23 郑州云海信息技术有限公司 一种数据操作方法、装置、设备及计算机可读存储介质
CN108376109A (zh) * 2017-01-31 2018-08-07 慧与发展有限责任合伙企业 卷和快照复制

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003214624A1 (en) * 2002-04-25 2003-11-10 Kashya Israel Ltd. An apparatus for continuous compression of large volumes of data
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US8060713B1 (en) 2005-12-21 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Consolidating snapshots in a continuous data protection system using journaling
US7774565B2 (en) * 2005-12-21 2010-08-10 Emc Israel Development Center, Ltd. Methods and apparatus for point in time data access and recovery
US7849361B2 (en) * 2005-12-22 2010-12-07 Emc Corporation Methods and apparatus for multiple point in time data access
US20110087792A2 (en) * 2006-02-07 2011-04-14 Dot Hill Systems Corporation Data replication method and apparatus
US7783850B2 (en) * 2006-03-28 2010-08-24 Dot Hill Systems Corporation Method and apparatus for master volume access during volume copy
US8527470B2 (en) * 2006-05-22 2013-09-03 Rajeev Atluri Recovery point data view formation with generation of a recovery view and a coalesce policy
US9026495B1 (en) * 2006-05-26 2015-05-05 Netapp, Inc. System and method for creating and accessing a host-accessible storage entity
US9690790B2 (en) 2007-03-05 2017-06-27 Dell Software Inc. Method and apparatus for efficiently merging, storing and retrieving incremental data
US7716183B2 (en) * 2007-04-11 2010-05-11 Dot Hill Systems Corporation Snapshot preserved data cloning
US7975115B2 (en) * 2007-04-11 2011-07-05 Dot Hill Systems Corporation Method and apparatus for separating snapshot preserved and write data
US8001345B2 (en) * 2007-05-10 2011-08-16 Dot Hill Systems Corporation Automatic triggering of backing store re-initialization
US7783603B2 (en) * 2007-05-10 2010-08-24 Dot Hill Systems Corporation Backing store re-initialization method and apparatus
US8204858B2 (en) 2007-06-25 2012-06-19 Dot Hill Systems Corporation Snapshot reset method and apparatus
US8364643B2 (en) * 2007-12-04 2013-01-29 Red Hat Israel, Ltd. Method and system thereof for restoring virtual desktops
US8117164B2 (en) * 2007-12-19 2012-02-14 Microsoft Corporation Creating and utilizing network restore points
US8041940B1 (en) 2007-12-26 2011-10-18 Emc Corporation Offloading encryption processing in a storage area network
US7860836B1 (en) 2007-12-26 2010-12-28 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to recover data in a continuous data protection environment using a journal
US7840536B1 (en) 2007-12-26 2010-11-23 Emc (Benelux) B.V., S.A.R.L. Methods and apparatus for dynamic journal expansion
US9501542B1 (en) 2008-03-11 2016-11-22 Emc Corporation Methods and apparatus for volume synchronization
US8959054B1 (en) * 2010-03-25 2015-02-17 Emc Corporation Methods and apparatus for optimal journaling for continuous data replication
US8392680B1 (en) 2010-03-30 2013-03-05 Emc International Company Accessing a volume in a distributed environment
US8606756B2 (en) * 2010-04-09 2013-12-10 Ca, Inc. Distributed system having a shared central database
US8332687B1 (en) 2010-06-23 2012-12-11 Emc Corporation Splitter used in a continuous data protection environment
US8880820B2 (en) * 2010-09-08 2014-11-04 Novell, Inc. Techniques for using sparse files during snapshots
US8478955B1 (en) 2010-09-27 2013-07-02 Emc International Company Virtualized consistency group using more than one data protection appliance
US8433869B1 (en) 2010-09-27 2013-04-30 Emc International Company Virtualized consistency group using an enhanced splitter
US8335771B1 (en) 2010-09-29 2012-12-18 Emc Corporation Storage array snapshots for logged access replication in a continuous data protection system
US8694700B1 (en) 2010-09-29 2014-04-08 Emc Corporation Using I/O track information for continuous push with splitter for storage device
US8909876B2 (en) * 2010-10-28 2014-12-09 International Business Machines Corporation Snapshots in a hybrid storage device comprising a magnetic disk and a solid state disk
US8335761B1 (en) 2010-12-02 2012-12-18 Emc International Company Replicating in a multi-copy environment
US9059898B2 (en) * 2010-12-07 2015-06-16 General Electric Company System and method for tracking configuration changes in enterprise product
US8380954B1 (en) * 2010-12-23 2013-02-19 Netapp, Inc. Failover method and system
US8909850B2 (en) * 2011-03-10 2014-12-09 Deere & Company Memory life extension method and apparatus
US9256605B1 (en) 2011-08-03 2016-02-09 Emc Corporation Reading and writing to an unexposed device
US8898112B1 (en) 2011-09-07 2014-11-25 Emc Corporation Write signature command
AU2012324876A1 (en) 2011-10-18 2014-05-01 Institut National De La Recherche Agronomique Use of avermectin derivative for increasing bioavailability and efficacy of macrocylic lactones
US8949367B2 (en) 2011-10-31 2015-02-03 Oracle International Corporation Cooperative storage management
US8949197B2 (en) * 2011-10-31 2015-02-03 Oracle International Corporation Virtual full backups
EP2780796B1 (en) 2011-11-18 2019-01-02 Dell Software Inc. Method of and system for merging, storing and retrieving incremental backup data
US9223659B1 (en) 2012-06-28 2015-12-29 Emc International Company Generating and accessing a virtual volume snapshot in a continuous data protection system
US9710475B1 (en) 2012-07-16 2017-07-18 Tintri Inc. Synchronization of data
US9336094B1 (en) 2012-09-13 2016-05-10 Emc International Company Scaleout replication of an application
US10235145B1 (en) 2012-09-13 2019-03-19 Emc International Company Distributed scale-out replication
US10713183B2 (en) * 2012-11-28 2020-07-14 Red Hat Israel, Ltd. Virtual machine backup using snapshots and current configuration
US9311014B2 (en) * 2012-11-29 2016-04-12 Infinidat Ltd. Storage system and methods of mapping addresses of snapshot families
US9646039B2 (en) * 2013-01-10 2017-05-09 Pure Storage, Inc. Snapshots in a storage system
US9817835B2 (en) * 2013-03-12 2017-11-14 Tintri Inc. Efficient data synchronization for storage containers
US9110914B1 (en) 2013-03-14 2015-08-18 Emc Corporation Continuous data protection using deduplication-based storage
US9696939B1 (en) 2013-03-14 2017-07-04 EMC IP Holding Company LLC Replicating data using deduplication-based arrays using network-based replication
US9383937B1 (en) 2013-03-14 2016-07-05 Emc Corporation Journal tiering in a continuous data protection system using deduplication-based storage
US8996460B1 (en) 2013-03-14 2015-03-31 Emc Corporation Accessing an image in a continuous data protection using deduplication-based storage
US9081842B1 (en) 2013-03-15 2015-07-14 Emc Corporation Synchronous and asymmetric asynchronous active-active-active data access
US9244997B1 (en) 2013-03-15 2016-01-26 Emc Corporation Asymmetric active-active access of asynchronously-protected data storage
US9152339B1 (en) 2013-03-15 2015-10-06 Emc Corporation Synchronization of asymmetric active-active, asynchronously-protected storage
US9087112B1 (en) 2013-06-24 2015-07-21 Emc International Company Consistency across snapshot shipping and continuous replication
US9069709B1 (en) 2013-06-24 2015-06-30 Emc International Company Dynamic granularity in data replication
US9146878B1 (en) 2013-06-25 2015-09-29 Emc Corporation Storage recovery from total cache loss using journal-based replication
US10628378B2 (en) 2013-09-03 2020-04-21 Tintri By Ddn, Inc. Replication of snapshots and clones
JP2015072629A (ja) * 2013-10-03 2015-04-16 富士通株式会社 データ処理プログラム及びデータ処理方法
US9996423B2 (en) * 2013-11-04 2018-06-12 Falconstor, Inc. Point in time snapshots using copy on predicted write
US9367260B1 (en) 2013-12-13 2016-06-14 Emc Corporation Dynamic replication system
US9405765B1 (en) 2013-12-17 2016-08-02 Emc Corporation Replication of virtual machines
US9158630B1 (en) 2013-12-19 2015-10-13 Emc Corporation Testing integrity of replicated storage
US10176048B2 (en) 2014-02-07 2019-01-08 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times and reading data from the repository for the restore copy
US11169958B2 (en) 2014-02-07 2021-11-09 International Business Machines Corporation Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US10372546B2 (en) 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
US11194667B2 (en) 2014-02-07 2021-12-07 International Business Machines Corporation Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
US9612912B2 (en) 2014-03-10 2017-04-04 Oracle International Corporation Centralized tape management for databases
US9189339B1 (en) 2014-03-28 2015-11-17 Emc Corporation Replication of a virtual distributed volume with virtual machine granualarity
US9817718B2 (en) 2014-04-02 2017-11-14 International Business Machines Corporation Efficient flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation from a shared resource pool
US9672118B2 (en) * 2014-04-02 2017-06-06 International Business Machines Corporation Collision avoidance using dynamic target volume allocation
US9817719B2 (en) 2014-04-02 2017-11-14 International Business Machines Corporation Efficient Flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation with reuse and from a shared resource pool
US9600188B2 (en) * 2014-04-02 2017-03-21 International Business Machines Corporation Collision avoidance using dynamic target volume allocation from a shared resource pool
US9710339B2 (en) 2014-04-02 2017-07-18 International Business Machines Corporation Collision avoidance using dynamic volume allocation with reuse
US9817723B2 (en) 2014-04-02 2017-11-14 International Business Machines Corporation Efficient FlashCopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation with reuse
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
US10082980B1 (en) 2014-06-20 2018-09-25 EMC IP Holding Company LLC Migration of snapshot in replication system using a log
US9274718B1 (en) 2014-06-20 2016-03-01 Emc Corporation Migration in replication system
US9619543B1 (en) 2014-06-23 2017-04-11 EMC IP Holding Company LLC Replicating in virtual desktop infrastructure
US10324798B1 (en) 2014-09-25 2019-06-18 EMC IP Holding Company LLC Restoring active areas of a logical unit
US10437783B1 (en) 2014-09-25 2019-10-08 EMC IP Holding Company LLC Recover storage array using remote deduplication device
US10101943B1 (en) 2014-09-25 2018-10-16 EMC IP Holding Company LLC Realigning data in replication system
US9910621B1 (en) 2014-09-29 2018-03-06 EMC IP Holding Company LLC Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements
US9529885B1 (en) 2014-09-29 2016-12-27 EMC IP Holding Company LLC Maintaining consistent point-in-time in asynchronous replication during virtual machine relocation
US9703645B2 (en) * 2014-10-24 2017-07-11 Netapp, Inc. Data recovery technique for recovering data from an object storage service
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US9600377B1 (en) 2014-12-03 2017-03-21 EMC IP Holding Company LLC Providing data protection using point-in-time images from multiple types of storage devices
US10496487B1 (en) 2014-12-03 2019-12-03 EMC IP Holding Company LLC Storing snapshot changes with snapshots
US9405481B1 (en) 2014-12-17 2016-08-02 Emc Corporation Replicating using volume multiplexing with consistency group file
US9619343B2 (en) 2015-02-19 2017-04-11 International Business Machines Corporation Accelerated recovery after a data disaster
US9632881B1 (en) 2015-03-24 2017-04-25 EMC IP Holding Company LLC Replication of a virtual distributed volume
US9411535B1 (en) 2015-03-27 2016-08-09 Emc Corporation Accessing multiple virtual devices
US10296419B1 (en) 2015-03-27 2019-05-21 EMC IP Holding Company LLC Accessing a virtual device using a kernel
US9678680B1 (en) 2015-03-30 2017-06-13 EMC IP Holding Company LLC Forming a protection domain in a storage architecture
US10853181B1 (en) 2015-06-29 2020-12-01 EMC IP Holding Company LLC Backing up volumes using fragment files
US9684576B1 (en) 2015-12-21 2017-06-20 EMC IP Holding Company LLC Replication using a virtual distributed volume
US10067837B1 (en) 2015-12-28 2018-09-04 EMC IP Holding Company LLC Continuous data protection with cloud resources
US10235196B1 (en) 2015-12-28 2019-03-19 EMC IP Holding Company LLC Virtual machine joining or separating
US10133874B1 (en) 2015-12-28 2018-11-20 EMC IP Holding Company LLC Performing snapshot replication on a storage system not configured to support snapshot replication
US10235087B1 (en) 2016-03-30 2019-03-19 EMC IP Holding Company LLC Distributing journal data over multiple journals
US10152267B1 (en) 2016-03-30 2018-12-11 Emc Corporation Replication data pull
US10579282B1 (en) 2016-03-30 2020-03-03 EMC IP Holding Company LLC Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume
US10235060B1 (en) 2016-04-14 2019-03-19 EMC IP Holding Company, LLC Multilevel snapshot replication for hot and cold regions of a storage system
US10235091B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Full sweep disk synchronization in a storage system
US10146961B1 (en) 2016-09-23 2018-12-04 EMC IP Holding Company LLC Encrypting replication journals in a storage system
US10210073B1 (en) 2016-09-23 2019-02-19 EMC IP Holding Company, LLC Real time debugging of production replicated data with data obfuscation in a storage system
US10235090B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Validating replication copy consistency using a hash function in a storage system
US10019194B1 (en) 2016-09-23 2018-07-10 EMC IP Holding Company LLC Eventually consistent synchronous data replication in a storage system
US10564977B2 (en) 2017-04-18 2020-02-18 International Business Machines Corporation Selective register allocation
US10782979B2 (en) 2017-04-18 2020-09-22 International Business Machines Corporation Restoring saved architected registers and suppressing verification of registers to be restored
US10540184B2 (en) 2017-04-18 2020-01-21 International Business Machines Corporation Coalescing store instructions for restoration
US10963261B2 (en) 2017-04-18 2021-03-30 International Business Machines Corporation Sharing snapshots across save requests
US10572265B2 (en) 2017-04-18 2020-02-25 International Business Machines Corporation Selecting register restoration or register reloading
US10552164B2 (en) 2017-04-18 2020-02-04 International Business Machines Corporation Sharing snapshots between restoration and recovery
US10489382B2 (en) 2017-04-18 2019-11-26 International Business Machines Corporation Register restoration invalidation based on a context switch
US10545766B2 (en) 2017-04-18 2020-01-28 International Business Machines Corporation Register restoration using transactional memory register snapshots
US10740108B2 (en) 2017-04-18 2020-08-11 International Business Machines Corporation Management of store queue based on restoration operation
US11010192B2 (en) 2017-04-18 2021-05-18 International Business Machines Corporation Register restoration using recovery buffers
US10649785B2 (en) * 2017-04-18 2020-05-12 International Business Machines Corporation Tracking changes to memory via check and recovery
US10838733B2 (en) 2017-04-18 2020-11-17 International Business Machines Corporation Register context restoration based on rename register recovery
US10852947B2 (en) * 2017-05-26 2020-12-01 Dell Products, L.P. Organization and compression of data in storage arrays to reduce cleaning overhead
US11182094B2 (en) 2018-09-06 2021-11-23 International Business Machines Corporation Performing a recovery copy command using a recovery copy data structure for a backup volume lookup
US10789132B2 (en) 2018-09-06 2020-09-29 International Business Machines Corporation Performing a recovery copy command to create a recovery volume for a consistency group
US11182081B2 (en) * 2018-09-06 2021-11-23 International Business Machines Corporation Performing a recovery copy command to restore a safeguarded copy backup to a production volume

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1003103B1 (en) 1993-06-03 2008-10-01 Network Appliance, Inc. Write anywhere file-system layout method and apparatus
US5963962A (en) 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
CA2165912C (en) 1995-12-21 2004-05-25 David Hitz Write anywhere file-system layout
US6557079B1 (en) 1999-12-20 2003-04-29 Emc Corporation Remote data facility prefetch
US6615223B1 (en) 2000-02-29 2003-09-02 Oracle International Corporation Method and system for data replication
US6779063B2 (en) 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
US6771843B1 (en) 2001-05-11 2004-08-03 Lsi Logic Corporation Data timeline management using snapshot volumes
US7237075B2 (en) * 2002-01-22 2007-06-26 Columbia Data Products, Inc. Persistent snapshot methods
WO2003067787A2 (en) * 2002-02-08 2003-08-14 I/O Integrity, Inc. Redirecting local disk traffic to network attached storage
JP2004013367A (ja) 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US6934822B2 (en) 2002-08-06 2005-08-23 Emc Corporation Organization of multiple snapshot copies in a data storage system
US6957362B2 (en) 2002-08-06 2005-10-18 Emc Corporation Instantaneous restoration of a production copy from a snapshot copy in a data storage system
DE60328796D1 (de) 2002-09-10 2009-09-24 Exagrid Systems Inc Verfahren und vorrichtung zur verwaltung der datenintegrität von sicherungs- und katastrophen-wiederherstellungsdaten
JP4651913B2 (ja) * 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
JP2004259079A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
US7231544B2 (en) 2003-02-27 2007-06-12 Hewlett-Packard Development Company, L.P. Restoring data from point-in-time representations of the data
US7567991B2 (en) * 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
US7287043B2 (en) 2003-08-21 2007-10-23 International Business Machines Corporation System and method for asynchronous data replication without persistence for distributed computing
US20050166022A1 (en) 2004-01-28 2005-07-28 Hitachi, Ltd. Method and apparatus for copying and backup in storage systems
US7149859B2 (en) 2004-03-01 2006-12-12 Hitachi, Ltd. Method and apparatus for data migration with the efficient use of old assets
US7421549B2 (en) 2004-03-02 2008-09-02 Hitachi, Ltd. Method and apparatus of remote copy for multiple storage subsystems
US7334094B2 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7409511B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105144113A (zh) * 2013-03-14 2015-12-09 微软技术许可有限责任公司 从快照恢复应用
CN105144113B (zh) * 2013-03-14 2018-02-16 微软技术许可有限责任公司 从快照恢复应用
CN104978241A (zh) * 2015-05-29 2015-10-14 上海爱数软件有限公司 一种cow类型文件系统的数据恢复方法及装置
CN104978241B (zh) * 2015-05-29 2018-10-12 上海爱数信息技术股份有限公司 一种cow类型文件系统的数据恢复方法及装置
CN108376109A (zh) * 2017-01-31 2018-08-07 慧与发展有限责任合伙企业 卷和快照复制
CN108376109B (zh) * 2017-01-31 2022-02-18 慧与发展有限责任合伙企业 将来源阵列的卷复制到目标阵列的设备和方法、存储介质
CN107729052A (zh) * 2017-10-16 2018-02-23 郑州云海信息技术有限公司 一种数据操作方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN101258472B (zh) 2010-12-08
HK1121839A1 (en) 2009-04-30
WO2007030304A2 (en) 2007-03-15
US7426618B2 (en) 2008-09-16
EP1922624A2 (en) 2008-05-21
EP1922624A4 (en) 2014-10-01
TW200728982A (en) 2007-08-01
WO2007030304A3 (en) 2007-05-24
US20070055833A1 (en) 2007-03-08
EP1922624B1 (en) 2020-03-25

Similar Documents

Publication Publication Date Title
CN101258472B (zh) 快照恢复方法和设备
US10346253B2 (en) Threshold based incremental flashcopy backup of a raid protected array
US7831565B2 (en) Deletion of rollback snapshot partition
US8656123B2 (en) Snapshot preserved data cloning
US6397351B1 (en) Method and apparatus for rapid data restoration including on-demand output of sorted logged changes
US7593973B2 (en) Method and apparatus for transferring snapshot data
US7774565B2 (en) Methods and apparatus for point in time data access and recovery
US7231544B2 (en) Restoring data from point-in-time representations of the data
EP2161661B1 (en) Computer system and backup method therefor
US9600375B2 (en) Synchronized flashcopy backup restore of a RAID protected array
EP0608344B1 (en) System for backing-up data for rollback
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
US7587564B2 (en) System, method and computer program product for managing data versions
US5619644A (en) Software directed microcode state save for distributed storage controller
CN101361047B (zh) 用于存储系统中的数据保护的方法和系统
CN100375089C (zh) 主系统和备份系统之间数据的恢复
US20050240813A1 (en) Restore method for backup
US20060075294A1 (en) System and Method for Reliably Storing Data and Providing Efficient Incremental Backup and Asynchronous Mirroring by Preferentially Handling New Data
US7277997B2 (en) Data consistency for mirroring updatable source data storage
US20090300303A1 (en) Ranking and Prioritizing Point in Time Snapshots
JPH0683679A (ja) データのバックアップ・コピー中の同時アクセスの方法及びシステム
CN110825559A (zh) 一种数据处理方法及设备
US11875060B2 (en) Replication techniques using a replication log
JP2004220472A (ja) 外部記憶装置のデータ回復方法及び装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1121839

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1121839

Country of ref document: HK

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

Termination date: 20200818