CN102004681B - 使用写时分配快照以实现持续数据保护的方法 - Google Patents

使用写时分配快照以实现持续数据保护的方法 Download PDF

Info

Publication number
CN102004681B
CN102004681B CN201010181734.6A CN201010181734A CN102004681B CN 102004681 B CN102004681 B CN 102004681B CN 201010181734 A CN201010181734 A CN 201010181734A CN 102004681 B CN102004681 B CN 102004681B
Authority
CN
China
Prior art keywords
virtual volume
entrance
time
time point
modified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201010181734.6A
Other languages
English (en)
Other versions
CN102004681A (zh
Inventor
马丁·杰思
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Infineon Technologies North America 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 Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN102004681A publication Critical patent/CN102004681A/zh
Application granted granted Critical
Publication of CN102004681B publication Critical patent/CN102004681B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1448Management of the data involved in backup or backup restore
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Abstract

使用写时分配快照以实现持续数据保护的方法。本公开涉及一种为虚拟卷(VV)提供持续数据保护的方法。所述方法可包括概念地将所述VV划分为多个相同大小的块;在指定时间保存所述VV的内容;在所述指定时间为所述VV创建一时间点(PiT)实例,包括:一个用来存储所述指定时间后对所述VV修改的PiT临时虚拟卷(PTVV),其中在所述PTVV中存储的数据被禁止重写;一提供所述VV多个块中每一个的最近版本的读访问的重新分配表;和一提供所述PTVV中存储块的历史版本的读访问的持续数据保护(CDP)日志;以及当修改所述VV多个块中的一个块时更新所述PiT实例。

Description

使用写时分配快照以实现持续数据保护的方法
技术领域
本发明涉及电子数据存储领域,且具体涉及一种使用写时分配快照提供持续数据保护的系统和方法。
背景技术
信息技术(IT)的使用者会实施关键数据备份以在灾难性故障时进行保护。一旦这样的灾难性故障发生,这些备份会被用来恢复所述IT系统的关键数据。传统备份可以只将数据恢复到采用/实施所述备份的时间点。如果根据一特点时间表(例如,每天一次,每周一次,等)来实施这些备份,这可能意味着基于所述灾难性故障发生时间,在所述备份媒体上关键数据的拷贝会是相应旧的并需要实质性附加处理来将所述IT系统带回到它在所述故障之前所在的位置。进一步地,最近备份数据本身可能是部分损坏的(如,被病毒感染),这会需要所述用户回到一个更旧的拷贝(如果一个更旧的拷贝可获得)。
发明内容
相应地,本公开的一实施例涉及一种为虚拟卷提供持续数据保护的方法。所述方法可以包括:概念地将所述虚拟卷划分为多个相同大小的块;在第一指定时间保存所述虚拟卷的内容并禁止对所述虚拟卷的直接写访问;在所述第一指定时间为所述虚拟卷创建一第一时间点(PiT)实例,所述第一PiT实例包括:一第一PiT临时虚拟卷(PTVV),其被配置用以存储在所述第一指定时间后对所述虚拟卷的修改,其中在所述第一PTVV中存储的数据被禁止重写;一第一重新分配表,其包括所述虚拟卷的所述多个块中每一个的入口(entry),所述第一重新分配表被配置用以提供到所述虚拟卷的所述多个块中每一个的最近版本的读访问;和一第一持续数据保护(CDP)日志,其被配置用以提供到所述第一PTVV中存储的块的历史版本的读访问;以及当所述虚拟卷的所述多个块中的一个块被修改时更新所述第一PiT实例。
本公开的另一实施例涉及一种为虚拟卷创建恢复实例的方法。所述方法可包括:接收一恢复时间;识别一时间点(PiT)实例,所述时间点(PiT)实例具有早于所述恢复时间的最近创建时间;拷贝一识别的PiT实例的重新分配表到所述恢复实例的重新分配表;以及基于所述识别的PiT实例的持续数据保护日志(CDP日志)和所述恢复时间来更新所述恢复实例的所述重新分配表。
本发明另一实施例涉及一种为虚拟卷提供持续数据保护的系统。所述系统可以包括:概念地将所述虚拟卷划分为多个相同大小的块的装置;在第一指定时间保存所述虚拟卷的内容和禁止对所述虚拟卷的直接写访问的装置;在所述第一指定时间为所述虚拟卷创建一第一时间点(PiT)实例的装置,所述第一PiT实例包括:一个设置用以存储所述第一指定时间后对虚拟卷的修改的第一PiT临时虚拟卷(PTVV),其中在所述第一PTVV中存储的数据被禁止重写;一个包括所述虚拟卷的多个块中每一个的入口的第一重新分配表,所述第一重新分配表被配置用以提供到所述虚拟卷多个块中每一个的最近版本的读访问;和一个提供到所述第一PTVV中存储块的历史版本的读访问的第一持续数据保护(CDP)日志;以及当修改所述虚拟卷多个块中的一块时更新所述第一PiT实例的装置。
容易理解,不管是所述概括的描述还是后面详细的描述都仅仅是示例性和说明性的,并且不仅限于当前公开的内容。包括并组成说明书一部分的附图揭示了本发明的实施例,并和说明书一起用来解释本发明的原理
附图说明
通过参考附图,本发明的众多优点可以被本领域的技术人员更好地理解:
图1是说明一虚拟卷配置的方框图;
图2是说明用来为一虚拟卷创建时间点(PiT)实例的快照机制的方框图;
图3是对PTVV为了保存对虚拟卷的改变而使用的重新分配表(RT)的说明;
图4是对在重新分配表中各入口和一虚拟卷各块的组合的说明;
图5是对持续数据保护日志的说明;
图6是对为一逻辑单元提供持续数据保护方法进行说明的流程图,根据本发明公开的示范性实施例;以及
图7是对为一虚拟卷创建恢复实例的方法进行说明的流程图,根据本发明公开的示范性实施例。
具体实施方案
现在针对本发明先前优选实施例进行介绍,在附图中举例进行说明。
持续数据保护(CDP,也称为持续备份或实时备份)涉及计算机数据的备份,通过对上述数据每次改变进行自动存储拷贝,实际上捕获用户所创建数据的每个版本。使用CDP可使用户和/或管理员能够基于所采用CDP的机制来将数据恢复到一时间点。
某些CDP机制可以使用快照途径,其中以频繁间隔自动进行关键数据的快照。快照机制可配置成只捕获在所述数据中相对原来数据的差别,而不是为每个快照创建一个完整的拷贝。快照机制也可使用一种“滑动窗口”途径,其中当为一逻辑单元(LU)所捕获的快照总数目达到指定阈值时可删除最旧的快照。
本公开涉及一种为一逻辑单元提供持续数据保护的方法。所述逻辑单元可以被映射成一虚拟卷,其可被概念地划分为多个相同大小的块。可在指定时间为所述虚拟卷创建时间点(PiT)实例。一PiT实例可包括一PiT临时虚拟卷(PTVV),其存储自上述PiT被创建后对所述虚拟卷进行的改变。每一PiT实例的PTVV可被配置用以存储在上述PiT实例活动时(一PiT实例在所述PiT实例创建时间和后续PiT实例创建时间之间是活动的)对所述虚拟卷的所有修改。这样,如果所述虚拟卷的特定块在一PiT实例活动时进行了5次更新,所述PiT实例的所述PTVV会存储所述特定块的数据内容的5个版本。在实施例中,存储在所述PTVV中的数据被禁止重写。
所述PiT实例可使用重新分配表来获得所述虚拟卷每块的最近版本。可使用持续数据保护(CDP)日志来提供到所述PTVV中所存储块的较旧版本的访问。这样,提供了创建在以前单独写操作粒度的指定时间的恢复实例的机制。
参照图1,显示了描述一虚拟卷配置的方框图。在实施例中,逻辑单元(LU)可被映射成存储装置(如,独立磁盘的存储阵列或冗余阵列)的虚拟卷102。配置在所述存储装置中的存储虚拟化管理器(SVM)可用来实施这样的映射。所述虚拟卷102可包括一个或多个虚拟卷段104。每一虚拟卷段104可表现为虚拟卷逻辑块地址(LBA)范围到虚拟驱动器LBA范围的映射。虚拟驱动器可对应于在所述存储装置中的存储分配。例如,虚拟驱动器可对应于RAID卷。
参照图2,显示了描述为一虚拟卷创建时间点(PiT)实例的快照机制的方框图。例如,所述SVM可被配置用以在第一指定时间(如,在上午8:00)创建虚拟卷202的第一PiT实例。早于上午8:00,由主机发布到虚拟卷202的写命令可以直接修改虚拟卷202的数据内容。但是,在上午8:00,所述虚拟卷的数据内容被冻结以及第一PiT临时虚拟卷(PTVV)206被创建以保存上午8:00的所述第一指定时间后对所述虚拟卷的所有改变。因此,早于上午8:00的虚拟卷202的数据内容在创建所述第一PiT实例时被保存为冻结图像208。所述冻结图像208保护虚拟卷202的内容并禁止从上午8:00开始对虚拟卷202的写访问。容易理解,为所述虚拟卷创建PiT实例的快照机制对访问所述虚拟卷的主机来说可以是透明的。在上述例中,所述PTVV206和冻结图像208一起可作为当前虚拟卷204,其对访问所述虚拟卷的主机来说可以是透明的。
所述SVM可进一步被配置用以创建所述虚拟卷的在第二指定时间(如,在上午11:00)的第二PiT实例。在本例中,在上午8:00和上午11:00之间对所述虚拟卷进行的修改可保存在所述第一PTVV 206中。在上午11:00,所述第一PTVV 206的数据内容冻结且第二PTVV 212被创建以替代所述第一PTVV 206用来保存所述第二指定时间即上午11:00后对所述虚拟卷的所有改变。因此,所述第一PTVV 206的内容在创建所述第二PiT实例时被保存为冻结图像214,与第一指定时间所用的原虚拟卷的冻结图像208一起。PTVV 212、第一PTVV的冻结图像214以及原虚拟卷的冻结图像208一起可用做当前虚拟卷210,其对访问所述虚拟卷的主机来说可以是透明的。
可为所述虚拟卷创建另外的PiT实例。每一PiT实例可包括保存所述PiT实例创建时间后对所述虚拟卷的改变。每一PiT实例可对原虚拟卷的冻结图像208和前面PTVV(如,所述第一PTVV的冻结图像214)的冻结图像进行读访问。可以预料的是上述PiT实例的创建时间可根据要求(如,通过命令)进行指定,或基于预定时间间隔(如,每小时)进行配置。
参照图3,显示PTVV为了保存对所述虚拟卷的改变而使用的重新分配表(RT)。在一个实施例中,所述虚拟卷的LBA范围可概念地被划分为相等大小的块。这些块的大小可对应于数据恢复粒度。例如,一个8字节大小的块可指示出所述数据恢复粒度是写给所述虚拟卷的每8字节数据。
可为每一PiT实例创建一重新分配表302。在实施例中,所述重新分配表302可包括所述虚拟卷中每个块的入口。当主机在所述PiT实例创建后写入一个块时,所述重新分配表中所述块的相应入口会被查找到并标记为“已分配”。所述块的数据内容可以在下一个可获得LBA的PTVV中被放置/存储。所述重新分配表302中的所述块的入口会与存储在所述PTVV中所述块的数据内容进行关联(如,通过索引或指针)。所述重新分配表可寻找用来表现所述块被写入/更新时间的每个入口的时间戳。
在图3所示的例子中,在接收发给块“j”的写命令时,所述PTVV会在所述重新分配表302中查找块“j”的入口并将所述入口标记为“已分配”。所述PTVV可将所述块“j”的数据内容存储在所述PTVV可访问的下一个可获得的LBA 304中。所述PTVV可进一步将所述重新分配表302中的块“j”入口和存储在LBA 304中的块“j”的数据内容进行关联。
后续对其它块的写入命令可以进行同样地处理。例如,在接收发给块“i”的写命令时,所述PTVV会在所述重新分配表302中查找块“i”的入口并将所述入口标记为“已分配”。所述PTVV可将所述块“i”的数据内容存储在所述PTVV可访问的下一个可获得的LBA 306中。所述PTVV可进一步将所述重新分配表302中的块“i”入口和存储在LBA 306中的块“i”的数据内容进行关联。容易理解在所述PTVV中放置/存储的块的顺序可以不必按照在原虚拟卷的它们的顺序。在实施例中,在所述PTVV中的块按照它们被写入的顺序放置,如图3所示。
在实施例中,在当前/活动PiT实例中特定块的重新分配表入口总是指向所述特定块(如,有效块)的最近版本。容易理解特定块的最近版本早于当前PiT实例创建前就被创建/更新。即,所述特定块的数据内容会被存储在先前PTVV中。所述重新分配表中入口和有效块的关系如图4所示。
在图4所示例中,块“j”可在当前PiT实例(如,在本例中的上午11:00后)创建后进行写入。因此,所述块“j”的数据内容可被存储在当前/活动PTVV中。块“i”可以是在上午8:00和上午11:00之间的某个时间最近地被写入。因此,块“i”的数据内容可以被存入活动在上午8:00和上午11:00之间的先前PTVV中,其现在是写命令进行保护的仍可以进行读访问。在当前PiT实例的重新分配表中块“i”的入口因此可指向存储在先前PTVV中的块“i”的数据内容以进行读访问。进一步地,块“k”可以在早于上午8:00时最近地写入,其早于本实施例中第一PiT实例的创建。因此,块“k”的数据内容可以被存入所述虚拟卷自身内,其现在写命令进行保护并仍可以进行读访问。在当前PiT实例的重新分配表中块“k”的入口因此可指向存储在原虚拟卷中的块“k”的数据内容以进行读访问。
在实施例中,块的数据内容一旦存储在PTVV中,所述数据内容将被保护并将无法重写。当处理对已经分配在所述重新分配表中的块的写操作时,所述块的先前/历史版本将在所述PTVV中被保持并将所述块的新版本存入所述PTVV中的一新位置(如,在下一个可获得的LBA)。可使用一CDP日志来保持并提供到所述块历史版本的访问。在实施例中,对每一PiT实例会保存CDP日志。所述CDP日志可使用一快速持续存储器来实现,如NVSRAM,电池后备缓存存储器,转储装置后备缓存存储器,固态硬盘(SSD),等。
参照图5,显示了对CDP日志502的说明。在实施例中,在所述重新分配表中一特定块的入口总是指向所述特定块的最近版本。当对块“i”的写命令被执行时,其已分配在所述重新分配表中,块“i”的更新数据内容512被存入在所述PTVV中下一个可获得位置,在所述重新分配表510中块“i”的入口被更新并指向更新数据内容512。块“i”的先前数据内容508会保存在所述PTVV中,但不能直接通过所述重新分配表进行访问。与块“i”的先前数据内容508有关的新记录504会被加入到所述CDP日志502。在实施例中,所述新记录504可包括块508的时间戳,被存入所述PTVV(如,提供给所述块的最初LBA)的指向块508数据内容的指针,以及与所述重新分配表入口的关系(如,指示上述CDP日志入口是提供给块“i”的块标识符,或指向所述重新分配表中入口的指针)。容易理解,执行在所述PTVV和CDP日志上的操作对所述写命令的发起者可以是透明的。以及可以根据上述操作的完成将所述写命令的状态报告给所述发起者。
同样地,当为块“i”处理第二个写命令时,块“i”的更新数据内容514被存入在所述PTVV中下一个可获得位置,在所述重新分配表510中块“i”的入口被更新并指向更新数据内容514。块“i”的先前数据内容,如块508和512,都会保留在所述PTVV中,但不能直接通过所述重新分配表进行访问。已存在的CDP日志入口504会保留,以及与所述块512有关的另一CDP日志入口506会被增加到所述CDP日志502中。
PiT实例的PTVV和CDP日志一起可提供创建在过去单独写操作粒度的指定时间的恢复实例的机制。例如,用户可通过指定一特定恢复时间(如,过去的某一时间)为所述虚拟卷创建一恢复实例。所创建的恢复实例会在所述用户指定的恢复时间影响所述虚拟卷的数据内容。
在一个实施例中,根据接收的指定恢复时间,所述恢复机制可识别并选出一具有早于所述恢复时间的最近创建时间的PiT实例。例如,如果所述虚拟卷具有创建在上午7:00、8:00和9:00的PiT实例,且用户指定的恢复时间是上午8:30,在上午8:00创建的PiT实例将因为其具有早于上午8:30的最近创建时间而被选择。
可使用所选PiT实例作为创建所述恢复实例的基础。例如,可将所述恢复机制配置为将所选PiT实例的重新分配表拷贝给所述恢复实例。所述恢复机制可随后更新所述重新分配表并将来自所选PiT实例的合适的块与基于所述CDP日志入口和指定恢复时间的恢复实例建立关联。例如,所述恢复机制可识别为所述虚拟卷的特定块所创建的CDP日志入口。所述恢复机制可随后识别的在这些CDP日志入口中的具有早于恢复时间的最近创建时间的特定日志入口。所述特定日志入口(可被参照为恢复日志入口)表现出在所述恢复时间的上述块的数据内容。所述恢复机制会在所述恢复实例的重新分配表中为所述块查询入口,并将所述块的入口与关联所述恢复日志入口的数据内容建立关系。可以预料,来自所述选择的PiT实例的合适的块的实际数据内容会被拷贝给所述恢复实例。可选地,一旦来自所选PiT实例的合适的块被识别,所述恢复实例会指向(如,通过索引或指针)使用所述恢复实例CDP日志入口的已识别的合适块。
应所述理解,所述恢复机制会为其它具有与它们相关的CDP日志入口的块重复所述过程。具有所述更新重新分配表的恢复实例会在指定恢复时间表现出所述虚拟卷内容。所述用户可选择去使用所述恢复实例来创建所述虚拟卷的视图或将所述虚拟卷恢复到所述恢复实例从而将所述虚拟卷内容改变成在指定恢复时间的那些内容。
可以预料,PiT实例可基于所述虚拟卷上的I/O模式而变化很快。例如,如果相同块频繁被“重写”,在所述PTVV中相同块可存在多个版本。可使用日程表控制PiT实例的活动持续时间。例如,日程表会指定出每小时创建一新PiT实例以频繁更新虚拟卷。在另一例中,不同日程表会指定出每三小时创建一新PiT实例以很少更新虚拟卷。
同样可以预料,可使用“滑动窗口”为虚拟卷保持特定可配置数目的PiT实例。在这样的配置中,一旦所述系统达到所述特定数目的PiT实例时,最旧的PiT实例会被除去/删除。在实施例中,当一PiT实例被删除时,所述PiT的相应PTVV中的块被重新恢复到先前PiT中或到所述虚拟卷本身中(如果不存在先前PiT)。
可以进一步地预想到,较旧的PiT实例可通过定位到一较粗时间粒度方式被“压缩”。例如,用户能够为最近3天内的任意指定时间来创建一恢复实例。但是,如果所述用户选择为一周前的特定时间创建一恢复实例,替代将所述恢复实例确切地提供给所述特定时间,而会为最近5分钟,30分钟,或甚至60分钟来创建具有较长粒度的恢复实例。应所述理解,越旧的PiT实例(如,一个月前创建)会被压缩的更多,例如,只针对最近一天。
在实施例中,较旧PiT实例的压缩可通过删除来自所述PiT(PTVV)的指定块版本以及相应地对其进行压缩的方式来完成。例如,在接收到一粒度定义(如,指示5分钟或30分钟的粒度,等)时,可对所述CDP日志进行遍历来确定上述PiT实例的时间粒度的可被移出块版本。如果所述粒度被设为每5分钟且在同一5分钟间隔内存在块的多于一个版本,在所述5分钟间隔内的最近版本会被保留而其它版本会被删除。应所述理解,所述压缩可在后台进程中执行且可应用于较旧PiT实例。
图6显示一流程图,用来说明根据本公开的持续数据保护方法600所执行的步骤。所述方法600可用来为虚拟卷提供持续数据保护。步骤602可以概念地将所述虚拟卷划分为多个相同大小的块。步骤604可在第一指定时间保存所述虚拟卷的内容和禁止对所述虚拟卷的直接写访问。步骤606可在所述第一指定时间为所述虚拟卷创建第一PiT实例。
所述第一PiT实例可包括一第一PTVV,其被配置用以存储所述第一指定时间后对虚拟卷修改,其中在所述第一PTVV中存储的数据被禁止重写。所述第一PiT实例可以也包括一第一重新分配表,所述第一重新分配表包括所述虚拟卷的多个块中每一个的入口。所述第一重新分配表可被配置用以提供到所述虚拟卷多个块中每一个的最近版本的读访问。所述第一PiT实例可进一步包括一第一CDP日志,所述第一CDP日志被构形用以提供存储在所述第一PTVV中的块的历史版本的读访问。
步骤608可以在所述虚拟卷的多个块中的一个被修改时更新所述第一PTVV。可以预料,可在一第二指定时间保存所述第一PiT实例,而且可以创建另外的PiT实例以替换所述第一PiT实例以保留持续修改。
图7显示一流程图,用来说明根据本公开的恢复方法700所执行的步骤。可使用所述方法700来为虚拟卷创建一恢复实例。步骤702可接收用户指定的恢复时间。步骤704可识别一PiT实例,所述PiT实例具有早于所述恢复时间的最近创建时间。步骤706可将所述识别的PiT实例的重新分配表拷贝到所述恢复实例的重新分配表。步骤708基于所述恢复时间的CDP日志更新所述恢复实例的重新分配表。
应注意到,按照本说明书教导,计算机领域的技术人员可以看出,通过使用编写程序的常见通用数字计算机将容易实现根据本发明的上述实施例。基于本公开的教导,软件领域的技术人员可以看出,熟练程序员会轻松编制好合适的软件编码。
应所述理解,本发明可通过软件包的形式容易进行实现。这样的软件包可以是计算机程序产品,其使用计算机可读存储介质,包括已存储的计算机代码,用来对计算机编程来执行本发明所公开的功能和步骤。所述计算机可读介质可包括但不限于:任意类型的常见软盘、光盘、CD-ROM、磁盘、硬盘、磁光盘、ROM、RAM、EPROM、EEPROM、磁卡或光卡、或任意其它可存储电子指令的合适媒体。
应所述理解上述公开方法中的步骤的指定顺序或层次是示例方法的例子。应当理解,基于设计偏好,所述方法中的步骤的指定顺序或层次可以重新排列,而仍在本公开的主题精神内。所附方法权利要求以样本顺序呈现了不同步骤的要素,并不必意味着仅限于所呈现的指定次序或层次。
应当相信,通过前述将理解本公开和许多其伴随的优点,显而易见,其组成的形式、结构和布置可以进行不同的变化,而不脱离本公开的范围和精神或不牺牲所有其物质优点。这里以前所述的形式只是示例说明,下列权利要求的目的是包含和包括此类变化。

Claims (16)

1.一种为虚拟卷提供持续数据保护的方法,包括:
将所述虚拟卷划分为多个相同大小的块;
在一第一指定时间保存所述虚拟卷的内容并禁止对所述虚拟卷直接写访问;
在所述第一指定时间为所述虚拟卷创建一第一时间点实例,所述第一时间点实例包括:
一第一时间点临时虚拟卷,其被配置用以存储所述第一指定时间后对所述虚拟卷的修改,其中存储在所述第一时间点临时虚拟卷中的数据被禁止重写;
一第一重新分配表,其包括所述虚拟卷的所述多个块中每一个的入口,所述第一重新分配表被配置用以提供所述虚拟卷的所述多个块中每一个的最近版本的读访问;和
一第一持续数据保护日志,其被配置用以提供存储在所述第一时间点临时虚拟卷中的块的历史版本的读访问;以及
当修改所述虚拟卷的所述多个块中的一个块时更新所述第一时间点实例,
其中当修改所述虚拟卷的所述多个块中的一个块时更新所述第一时间点实例进一步包括:
接收被修改的所述块的修改内容;
将所述修改内容存入所述第一时间点临时虚拟卷中而没有对所述第一时间点临时虚拟卷中存储的现有块进行重写;
在所述第一重新分配表中查找对应于被修改的所述块的入口;
确定对应于被修改的所述块的所述入口是否被标记为已分配;
在对应于被修改的所述块的所述入口没有被标记为已分配时更新所述第一重新分配表,进一步包括:
将对应于被修改的所述块的所述入口与存储在所述第一时间点临时虚拟卷中的所述修改内容相关联;和
将对应于被修改的所述块的所述入口标记为已分配;以及
当对应于被修改的所述块的所述入口被标记为已分配时,更新所述持续数据保护日志和所述第一重新分配表,进一步包括:
在所述持续数据保护日志中创建一日志入口并将所述日志入口与被修改的所述块在接收所述修改内容之前的历史内容相关联;和
将对应于被修改的所述块的所述入口与存储在所述第一时间点临时虚拟卷中的所述修改内容相关联。
2.如权利要求1所述的方法,进一步包括:
在所述第一指定时间后的一第二指定时间保存所述第一时间点实例的内容并禁止对所述第一时间点实例直接写访问;
在所述第二指定时间为所述虚拟卷创建一第二时间点实例,所述第二时间点实例包括:
一第二时间点临时虚拟卷,其被配置用以存储所述第二指定时间后对所述虚拟卷的修改,其中存储在所述第二时间点临时虚拟卷中的数据被禁止重写;
一第二重新分配表,其包括所述虚拟卷的所述多个块中每一个的入口,所述第二重新分配表被配置用以提供所述虚拟卷的所述多个块中每一个的最近版本的读访问;和
一第二持续数据保护日志,其被配置用以提供存储在所述第二时间点临时虚拟卷中的块的历史版本的读访问;以及
当修改所述虚拟卷的所述多个块中的一个块时更新所述第二时间点实例。
3.如权利要求2所述的方法,其中当修改所述虚拟卷的所述多个块中的一个块时更新所述第二时间点实例进一步包括:
接收被修改的所述块的修改内容;
将所述修改内容存入所述第二时间点临时虚拟卷中而没有对存储在所述第二时间点临时虚拟卷中的现有块进行重写;
在所述第二重新分配表中查找对应于被修改的所述块的入口;
确定对应于被修改的所述块的所述入口是否被标记为已分配;
在对应于被修改的所述块的所述入口没有被标记为已分配时,更新所述第二重新分配表,进一步包括:
将对应于被修改的所述块的所述入口与存储在所述第二时间点临时虚拟卷中的所述修改内容相关联;和
将对应于被修改的所述块的所述入口标记为已分配;以及
当对应于被修改的所述块的所述入口被标记为已分配时,更新所述第二持续数据保护日志和所述第二重新分配表,进一步包括:
在所述第二持续数据保护日志中创建一日志入口并将所述日志入口与被修改的所述块在接收所述修改内容之前的历史内容相关联;和
将对应于被修改的所述块的所述入口与存储在所述第二时间点临时虚拟卷中的所述修改内容相关联。
4.如权利要求1所述的方法,进一步包括:
接收一粒度定义;以及
基于所述粒度定义压缩一时间点实例的一时间点临时虚拟卷中存储的块。
5.如权利要求1所述的方法,进一步包括:
移去一指定时间点实例;以及
将所述指定时间点实例的一时间点临时虚拟卷整合到先前时间点或所述虚拟卷中的至少一个。
6.如权利要求1所述的方法,其中对所述虚拟卷的修改发生在当执行对所述虚拟卷中的所述多个块中一个块的写操作时。
7.如权利要求1所述的方法,其中使用按需请求或预定时间间隔中的至少一个来指定所述第一和第二指定时间中的至少一个。
8.一种为虚拟卷提供持续数据保护的系统,包括:
用于将所述虚拟卷划分为多个相同大小的块的装置;
用于在一第一指定时间保存所述虚拟卷的内容并禁止对所述虚拟卷直接写访问的装置;
用于在所述第一指定时间为所述虚拟卷创建一第一时间点实例的装置,所述第一时间点实例包括:
一第一时间点临时虚拟卷,其被配置用以存储所述第一指定时间后对所述虚拟卷的修改,其中存储在所述第一时间点临时虚拟卷中的数据被禁止重写;
一第一重新分配表,其包括所述虚拟卷的所述多个块中每一个的入口,所述第一重新分配表被配置用以提供所述虚拟卷的所述多个块中每一个的最近版本的读访问;和
一第一持续数据保护日志,其被配置用以提供存储在所述第一时间点临时虚拟卷中的块的历史版本的读访问;以及
用于当修改所述虚拟卷的所述多个块中的一个块时更新所述第一时间点实例的装置,
其中用于当修改所述虚拟卷的所述多个块中的一个块时更新所述第一时间点实例的装置进一步包括:
用于接收被修改的所述块的修改内容的装置;
用于将所述修改内容存入所述第一时间点临时虚拟卷中而没有对存储在所述第一时间点临时虚拟卷中的现有块进行重写的装置;
用于在所述第一重新分配表中查找对应于被修改的所述块的入口的装置;
用于确定对应于被修改的所述块的所述入口是否被标记为已分配的装置;
用于在对应于被修改的所述块的所述入口没有被标记为已分配时更新所述第一重新分配表的装置,进一步包括:
用于将对应于被修改的所述块的所述入口与存储在所述第一时间点临时虚拟卷中的所述修改内容相关联的装置;和
用于将对应于被修改的所述块的所述入口标记为已分配的装置;以及
用于当对应于被修改的所述块的所述入口被标记为已分配时更新所述持续数据保护日志和所述第一重新分配表的装置,进一步包括:
用于在所述持续数据保护日志中创建一日志入口并将所述日志入口与被修改的所述块在接收所述修改内容之前的历史内容相关联的装置;和
用于将对应于被修改的所述块的入口与存储在所述第一时间点临时虚拟卷中的所述修改内容相关联的装置。
9.如权利要求8所述的系统,进一步包括:
用于在所述第一指定时间后的一第二指定时间保存所述第一时间点实例的内容并禁止对所述第一时间点实例直接写访问的装置;
用于在所述第二指定时间为所述虚拟卷创建一第二时间点实例的装置,所述第二时间点实例包括:
一第二时间点临时虚拟卷,其被配置用以存储所述第二指定时间后对所述虚拟卷的修改,其中存储在所述第二时间点临时虚拟卷中的数据被禁止重写;
一第二重新分配表,其包括所述虚拟卷的所述多个块中每一个的入口,所述第二重新分配表被配置用以提供所述虚拟卷的所述多个块中每一个的最近版本的读访问;和
一第二持续数据保护日志,其被配置用以提供存储在所述第二时间点临时虚拟卷中的块的历史版本的读访问;以及
用于当修改所述虚拟卷的所述多个块中的一个块时更新所述第二时间点实例的装置。
10.如权利要求9所述的系统,其中用于当修改所述虚拟卷的所述多个块中的一个块时更新所述第二时间点实例的装置进一步包括:
用于接收被修改的所述块的所述修改内容的装置;
用于将所述修改内容存入所述第二时间点临时虚拟卷中而没有对存储在所述第二时间点临时虚拟卷中的现有块进行重写的装置;
用于在所述第二重新分配表中查找对应于被修改的所述块的入口的装置;
用于确定对应于被修改的所述块的所述入口是否被标记为已分配的装置;
用于在对应于被修改的所述块的所述入口没有被标记为已分配时更新所述第二重新分配表的装置,进一步包括:
用于将对应于被修改的所述块的所述入口与存储在所述第二时间点临时虚拟卷中的所述修改内容相关联的装置;和
用于将对应于被修改的所述块的所述入口标记为已分配的装置;以及
用于当对应于被修改的所述块的所述入口被标记为已分配时更新所述第二持续数据保护日志和所述第二重新分配表的装置,进一步包括:
用于在所述第二持续数据保护日志中创建一日志入口并将所述日志入口与被修改的所述块在接收所述修改内容之前的历史内容相关联的装置;和
用于将对应于被修改的所述块的所述入口与存储在所述第二时间点临时虚拟卷中的所述修改内容相关联的装置。
11.如权利要求8所述的系统,进一步包括:
用于接收一粒度定义的装置;以及
用于基于所述粒度定义压缩存储在一时间点实例的一时间点临时虚拟卷中的块的装置。
12.如权利要求8所述的系统,进一步包括:
用于移去一指定时间点实例的装置;以及
用于将所述指定时间点实例的一时间点临时虚拟卷整合到先前时间点或所述虚拟卷中至少之一的装置。
13.如权利要求8所述的系统,其中对所述虚拟卷的修改发生在当执行对所述虚拟卷中的所述多个块中一个块的写操作时。
14.如权利要求8所述的系统,其中使用按需请求或预定时间间隔中的至少一个来指定所述第一和第二指定时间中的至少一个。
15.如权利要求8所述的系统,进一步包括:
用于接收一恢复时间的装置;
用于识别一时间点实例的装置,所述时间点实例具有在所述恢复时间之前的最近创建时间;
用于将一识别的时间点实例的一重新分配表与一恢复实例的一重新分配表相关联的装置;以及
用于基于所述识别的时间点实例的一持续数据保护日志和所述恢复时间更新所述恢复实例的所述重新分配表的装置。
16.如权利要求15所述的系统,其中用于基于所述识别的时间点实例的一持续数据保护日志和所述恢复时间更新所述恢复实例的所述重新分配表的装置进一步包括:
用于在所述持续数据保护日志中识别至少一个为所述虚拟卷的一特定块创建的日志入口的装置;
用于在所述至少一个为所述特定块创建的日志入口中识别具有在所述恢复时间之前的最近创建时间的恢复日志入口的装置;
用于在所述恢复实例的所述重新分配表中查找所述特定块的一入口的装置;
用于将在所述重新分配表中所述特定块的所述入口与一个与所述恢复日志入口相关联的块版本相关联的装置。
CN201010181734.6A 2009-09-01 2010-05-25 使用写时分配快照以实现持续数据保护的方法 Expired - Fee Related CN102004681B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/551,593 US8225146B2 (en) 2009-09-01 2009-09-01 Method for implementing continuous data protection utilizing allocate-on-write snapshots
US12/551,593 2009-09-01

Publications (2)

Publication Number Publication Date
CN102004681A CN102004681A (zh) 2011-04-06
CN102004681B true CN102004681B (zh) 2014-09-24

Family

ID=43087058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010181734.6A Expired - Fee Related CN102004681B (zh) 2009-09-01 2010-05-25 使用写时分配快照以实现持续数据保护的方法

Country Status (6)

Country Link
US (1) US8225146B2 (zh)
EP (1) EP2290544B1 (zh)
JP (1) JP5172892B2 (zh)
KR (1) KR101268643B1 (zh)
CN (1) CN102004681B (zh)
TW (1) TWI396973B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225146B2 (en) 2009-09-01 2012-07-17 Lsi Corporation Method for implementing continuous data protection utilizing allocate-on-write snapshots
CN102339321A (zh) * 2011-11-09 2012-02-01 上海盛霄云计算技术有限公司 具有版本控制的网络文件系统及方法
WO2013097229A1 (zh) * 2011-12-31 2013-07-04 华为技术有限公司 易失性存储设备持久化过程中的数据更新方法及装置
KR101460452B1 (ko) * 2012-09-25 2014-11-12 주식회사 티엘아이 하이버네이션 기반 스냅샷 이미지 생성 장치 및 방법
JP5963324B2 (ja) 2014-08-11 2016-08-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム
US9558078B2 (en) * 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
CN104978279A (zh) * 2014-12-30 2015-10-14 宁波江东圣阳软件有限公司 一种基于数据块的持续数据保护方法
CN106547641B (zh) * 2015-09-17 2020-04-10 南京壹进制信息科技有限公司 一种基于卷的cdp备份方法
RU2609727C1 (ru) * 2015-09-24 2017-02-02 Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Ростовский Государственный Университет Путей Сообщения" Способ определения удаленности места повреждения контактной сети (варианты)
CN107357928B (zh) * 2017-07-26 2020-09-18 苏州浪潮智能科技有限公司 一种实现存储快照的方法和系统
CN107797888A (zh) * 2017-11-06 2018-03-13 长沙曙通信息科技有限公司 一种持续数据保护系统数据回滚实现方法
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
US11042503B1 (en) * 2017-11-22 2021-06-22 Amazon Technologies, Inc. Continuous data protection and restoration
CN108255645A (zh) * 2018-01-08 2018-07-06 长沙曙通信息科技有限公司 一种持续数据保护系统数据回滚实现方法
CN109445986A (zh) * 2018-09-30 2019-03-08 南京壹进制信息技术股份有限公司 一种备份数据集挂载方法和备份数据集快速恢复、挂载系统
CN112445805A (zh) * 2019-08-29 2021-03-05 北京国双科技有限公司 一种数据的查询方法及装置
CN111949252B (zh) * 2020-07-23 2023-09-08 网易(杭州)网络有限公司 一种数据处理方法、装置和电子设备
KR20240009187A (ko) * 2022-07-13 2024-01-22 쿠팡 주식회사 인스턴스 관리 방법 및 이를 위한 전자 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212531B1 (en) * 1998-01-13 2001-04-03 International Business Machines Corporation Method for implementing point-in-time copy using a snapshot function
US6732125B1 (en) * 2000-09-08 2004-05-04 Storage Technology Corporation Self archiving log structured volume with intrinsic data protection
CN101122876A (zh) * 2006-08-09 2008-02-13 国际商业机器公司 带集成式连续数据保护和远程副本的存储管理系统和方法
US7383381B1 (en) * 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US7406488B2 (en) 2004-02-04 2008-07-29 Netapp Method and system for maintaining data in a continuous data protection system
US7653800B2 (en) 2005-08-03 2010-01-26 International Business Machines Corporation Continuous data protection
US7836266B2 (en) 2005-09-19 2010-11-16 International Business Machines Corporation Managing snapshot history in a data storage system
JP4749112B2 (ja) * 2005-10-07 2011-08-17 株式会社日立製作所 記憶制御システム及び方法
EP1974296B8 (en) 2005-12-19 2016-09-21 Commvault Systems, Inc. Systems and methods for performing data replication
US20070245107A1 (en) 2006-04-14 2007-10-18 Hitachi, Ltd. System and method for processing a plurality kinds of event markers of a continuous data protection
US7769723B2 (en) 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
JP5124989B2 (ja) * 2006-05-26 2013-01-23 日本電気株式会社 ストレージシステム及びデータ保護方法とプログラム
US20080027998A1 (en) * 2006-07-27 2008-01-31 Hitachi, Ltd. Method and apparatus of continuous data protection for NAS
US20080091744A1 (en) 2006-10-11 2008-04-17 Hidehisa Shitomi Method and apparatus for indexing and searching data in a storage system
US7711712B2 (en) 2007-03-12 2010-05-04 Hitachi, Ltd. System and method for managing consistency among volumes based on application information
JP4906562B2 (ja) * 2007-04-02 2012-03-28 株式会社日立製作所 ストレージ装置及びボリューム復元方法
US20080281876A1 (en) 2007-05-10 2008-11-13 Hitachi, Ltd. Methods and apparatus to recover data and configuration of storage system
JP4972457B2 (ja) 2007-05-11 2012-07-11 株式会社日立製作所 記憶制御装置、記憶制御装置の制御方法及び情報処理システム
US9032154B2 (en) * 2007-12-13 2015-05-12 Sandisk Technologies Inc. Integration of secure data transfer applications for generic IO devices
US8825758B2 (en) * 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8225146B2 (en) 2009-09-01 2012-07-17 Lsi Corporation Method for implementing continuous data protection utilizing allocate-on-write snapshots

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212531B1 (en) * 1998-01-13 2001-04-03 International Business Machines Corporation Method for implementing point-in-time copy using a snapshot function
US6732125B1 (en) * 2000-09-08 2004-05-04 Storage Technology Corporation Self archiving log structured volume with intrinsic data protection
US7383381B1 (en) * 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
CN101122876A (zh) * 2006-08-09 2008-02-13 国际商业机器公司 带集成式连续数据保护和远程副本的存储管理系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2008-257364A 2008.10.23

Also Published As

Publication number Publication date
KR20110025053A (ko) 2011-03-09
CN102004681A (zh) 2011-04-06
US8225146B2 (en) 2012-07-17
KR101268643B1 (ko) 2013-05-29
TWI396973B (zh) 2013-05-21
EP2290544B1 (en) 2013-03-27
US20110055624A1 (en) 2011-03-03
JP2011054153A (ja) 2011-03-17
EP2290544A1 (en) 2011-03-02
TW201109926A (en) 2011-03-16
JP5172892B2 (ja) 2013-03-27

Similar Documents

Publication Publication Date Title
CN102004681B (zh) 使用写时分配快照以实现持续数据保护的方法
US8150851B2 (en) Data processing apparatus and method of processing data
US6983351B2 (en) System and method to guarantee overwrite of expired data in a virtual tape server
EP2780796B1 (en) Method of and system for merging, storing and retrieving incremental backup data
CA2207735C (en) Storage of computer data
US10360182B2 (en) Recovering data lost in data de-duplication system
US8296264B1 (en) Method and system for file-level continuous data protection
US7472238B1 (en) Systems and methods for recovering electronic information from a storage medium
CN1331063C (zh) 基于数据卷快照的在线数据备份方法
US10528520B2 (en) Snapshot management using heatmaps in a large capacity disk environment
EP2955633B1 (en) Data erasing method and device for flash memory
US7849257B1 (en) Method and apparatus for storing and retrieving data
US8280858B2 (en) Storage pool scrubbing with concurrent snapshots
US20090216973A1 (en) Computer system, storage subsystem, and data management method
CN101201724B (zh) 数据存储装置以及重布置数据的方法
US20190278482A1 (en) Data storage device backup
KR20180002259A (ko) 계층적 플래시 변환 레이어 구조 및 그 설계 방법
US20230237020A1 (en) Container-based erasure coding
US20230083104A1 (en) Efficiently Deleting Snapshots in a Log-Structured File System (LFS)-Based Storage System
CN104915265B (zh) 数据备份方法和电子设备
JPH09152983A (ja) フラッシュメモリに内在するファイルシステムにおけるリエントラントガーベジコレクション処理
US11455255B1 (en) Read performance of log-structured file system (LFS)-based storage systems that support copy-on-write (COW) snapshotting

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160721

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Milpitas, California, USA

Patentee before: LSI Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181022

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Singapore Singapore

Patentee before: Avago Technologies General IP (Singapore) Pte. Ltd.

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