CN101784996A - 仿效存储系统 - Google Patents

仿效存储系统 Download PDF

Info

Publication number
CN101784996A
CN101784996A CN200880104416.0A CN200880104416A CN101784996A CN 101784996 A CN101784996 A CN 101784996A CN 200880104416 A CN200880104416 A CN 200880104416A CN 101784996 A CN101784996 A CN 101784996A
Authority
CN
China
Prior art keywords
data object
backup
data
backup data
metadata
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
Application number
CN200880104416.0A
Other languages
English (en)
Inventor
M·桑多菲
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.)
Sepaton Inc
Original Assignee
Sepaton Inc
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 Sepaton Inc filed Critical Sepaton Inc
Publication of CN101784996A publication Critical patent/CN101784996A/zh
Pending legal-status Critical Current

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/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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
    • 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
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

这项发明揭示一种用来把冗余数据从备份存储系统中除去的方法。在一个范例中,该方法可能包括识别第一备份数据对象,识别第二备份数据对象,检测第一备份数据对象的第一部分是第二备份数据对象的第二部分的副本,以及用指向第一部分的指针取代该第二部分。

Description

仿效存储系统
发明领域
本发明的诸方面涉及数据存储,更具体地说涉及用来模仿能提供全部数据备份的等价物的磁带存储系统使用现有的全部备份和后来逐渐增加的备份并准许用户从这样的备份恢复数据的装置和方法。
现有技术
许多计算机系统包括一个或多个主机和一个或多个储存主机所用数据的数据存储系统。这些主机和存储系统通常是使用网络(例如,光纤通道(Fibre Channel)网络、以太网网络或另一类型的通信网络)联网的。光纤通道是标准,它把基于信道的传输方案的速度和基于网络的传输方案的灵活性结合起来并且允许多个初启程序与多个目标在网络上通信,其中初启程序和目标可能是与网络耦合的任何装置。光纤通道通常是使用光纤电缆之类的快速传输媒体实现的,并因此是用于转移大量数据的存储系统网络的流行选择。
包括若干主机和备份存储系统的典型的网络计算机环境的范例展示在图1中。一个或多个应用服务器102经由局域网(LAN)103与众多用户计算机104耦合。应用服务器102和用户计算机104两者都可能被视为“主机”。应用服务器102经由存储区网络(SAN)108与一个或多个主存储装置106耦合。主存储装置106可能是,举例来说,可从诸如EMC公司、IBM公司之类的公司得到的磁盘阵列。作为替代,总线(未展示)或其它的网络链路可能提供应用服务器和主存储系统106之间的互连。总线和/或光纤通道网络连接可以使用规定在主机(例如,应用服务器102)和存储系统(s)106之间转移的数据包的格式的协议(例如,小部件系统连接(SCSI)协议)来操作。
人们将领会到图1举例说明的联网的计算机环境代表可能被,举例来说,大的财务机构或大公司使用的大系统。人们将理解许多联网的计算机环境不需要包括图1举例说明的所有的元素。举例来说,较小的联网计算机环境可能仅仅包括与存储系统直接或经由LAN连接的主机。除此之外,虽然图1举例说明分开的用户计算机104、应用服务器102和媒体服务器114,但是这些功能可能被结合到一个或多个计算机中。
除了主存储装置106之外,许多联网计算机环境包括至少一个次要的或备份存储系统110。备份存储系统110通常可能是磁带库,虽然可能使用其它大容量的、可靠的次存储系统。通常,这些次存储系统比主存储器装置慢,但是包括某种类型的可以被拆除和远距离储存的可拆除媒体(例如,磁带、磁盘或光盘)。
在列举的范例中,应用服务器102可能能够经由,举例来说,以太网或其它通信链路112直接与备份存储系统110通信。然而,这样的连接可能是相对缓慢的而且可能用尽资源,例如,处理器时间或网络带宽。因此,像列举的那样的系统可能包括一个或多个媒体服务器114,该媒体服务器可能使用,举例来说,光纤通道,在SAN 108和备份存储系统110之间提供通信链路115。
媒体服务器114可能运行某种软件,该软件包括控制在主机(例如,用户计算机104、媒体服务器114和/或应用服务器102)、主存储器装置106和备份存储系统110之间的数据转移的备份/还原应用程序。备份/还原应用程序的范例可从Veritas、Legato之类的公司得到。为了保护数据,在联网的计算机环境中来自各种不同的主机和/或主存储器装置的数据可能如同技术上已知的那样被定期地使用备份/还原应用程序备份到备份存储系统110之上。
当然,人们将领会到,依照前面的讨论,许多联网的计算机环境与图1列举的可仿效的联网计算机环境相比可能是比较小的而且可能包括较少的成分。所以,人们还将领会到媒体服务器114可能事实上与应用服务器102结合在单一的主机中,而且备份/还原应用程序可能是在与备份存储系统110(直接地或间接地,例如通过网络)耦合的任何主机上运行的。
典型的备份存储系统的一个范例是包括若干盒式磁带和至少一个磁带驱动器以及控制盒式磁带往磁带驱动器上装卸的机器人机制的磁带库。备份/还原应用程序把指令提供指向机器人机制,使特定的盒式磁带(例如,0001号磁带)定位,并且将该盒式磁带装进磁带驱动器,以便将数据写到该磁带上。备份/还原应用程序还控制往磁带上写数据的格式。通常,备份/还原应用程序可能使用SCSI指令或其它标准化指令指导机器人机制和控制磁带驱动器把数据写到磁带上和并且复原先前写在磁带上的数据。
传统的磁带库备份系统有许多问题,包括速度、可信度和固定的容量。许多大公司需要每星期备份数千兆字节的数据。然而,即使昂贵的高端磁带通常也只能以每秒30-40兆字节(30-40MB/s)(即大约每小时50千兆字节(50GB/hr))的速度读/写数据。因此,把一或二千兆字节的数据备份到磁带备份系统上可能至少花费10到20小时的连续数据转移时间。
除此之外,如果磁带跌落(这在典型的磁带库可能中相对地时常发生,因为人类操作员或机器人机制在搬动或装载操作期间可能将磁带跌落)或者如果磁带暴露在非理想的环境条件下(例如,在极端的温度或湿度条件下),大多数磁带制造商将不保证往磁带储存数据(或恢复来自磁带的数据)将是可能的。所以,需要十分小心地把磁带保存在受控的环境中。此外,复杂的磁带库的机器(包括机器人机制)维护费用是高昂的,而且个体盒式磁带式是相对地昂贵的而且寿命有限。
发明内容
本发明的实施方案提供一种备份存储系统,该备份存储系统克服或减轻传统磁带库系统的一些或全部问题,而且可能提供比传统的磁带库系统大的灵活性。
概括地说,本发明的各个方面和各个实施方案提供以随机存取为基础的存储系统,该存储系统仿效传统的磁带备份存储系统,以致备份/还原应用程序看到与实际的磁带库一样的装置和媒体的视野。本发明的存储系统使用软件和硬件仿效实际的磁带媒体并且用一个或多个随机存取的磁盘阵列替换它们,转化磁带格式,把线性的连续的数据转换成适合在磁盘上储存的数据。
依照本发明的一些方面和实施方案,提供一种用来将现有的备份数据组解码并把元数据(即,表现有关用户数据的信息的数据)储存在可搜寻的元数据高速缓冲存储器中的机制、一种允许针对文件或对象搜寻和/或查看元数据高速缓冲存储器的机制和一种用来经由网络连接从通过现有的备份政策和典型的备份软件实践储存的数据下载这些文件或对象的机制。用来通过现有的鉴别机制鉴别用户和用来以用户现在的证件为基础限制查看元数据高速缓冲存储器的机制可能也被包括在内。
本发明的各个方面和实施方案还准备把冗余数据从备份数据对象中除去。这个可能被称为“重复数据删除”的切除程序减少维持备份数据的副本所需要的存储能力并因此减少储存备份数据所需要的电子媒体的数量。依照本发明的至少一些方面,删除重复程序的实施方案通过使用元数据有效地利用计算机资源优化删除重复处理,下面将进一步讨论。
依照本发明的其它的方面和实施方案,提供用来在元数据高速缓冲存储器中实现多样的盒式磁带表达的逻辑合并的机制和用来适当地指向新合成的盒式磁带加标签和条形码以致它作为有效的数据组被备份/还原软件接受的机制。另外,依照本发明的进一步的方面和实施方案,提供用来储存代表合成盒式磁带的数据元素的多样的副本或用来只储存指向在元数据高速缓冲存储器中表现现有数据的指针的机制。
本发明的一个方面指向用来把冗余数据从备份存储系统中除去的方法,该方法包括识别第一备份数据对象;识别第二备份数据对象;检测第一备份数据对象的第一部分是第二备份数据对象的第二部分的副本;以及用指向第一部分的指针取代第二部分。
在该方法中,用指向第一部分的指针取代第二部分可能包括创建第二备份数据对象的副本,把第二部分排除在外,把指向第一部分的指针包括在内并且删除第二备份数据对象。
该方法可能还包括确认第二备份数据对象的副本代表与第二备份数据对象一样的数据。在该方法中,识别第二备份数据对象可能包括识别与第一备份数据对象相比最近被较少地备份的第二备份数据对象。在该方法中,识别第二备份数据对象可能包括识别与第一备份数据对象相比最近被较多地备份的第二备份数据对象。
该方法可能还包括识别数据对象元数据的至少一个特征。在该方法中,识别第一备份数据对象可能包括识别与有那至少一个特征的数据对象元数据相关联的第一备份数据对象。另外,在该方法中,识别第二备份数据对象可能包括识别与有那至少一个特征的数据对象元数据相关联的第二备份数据对象。
在该方法中,识别数据对象元数据的至少一个特征可能包括识别与第一备份数据对象相关联的主存储器的位置和识别与第二备份数据对象相关联的主存储器的位置。在该方法中,识别数据对象元数据的至少一个特征可能包括识别与第一备份数据对象相关联的软件应用程序和识别与第二备份数据对象相关联的软件应用程序。在该方法中,识别数据对象元数据的至少一个特征可能包括识别与第一备份数据对象相关联的备份政策和识别与第二备份数据对象相关联的备份政策。
在该方法中,识别数据对象元数据的至少一个特征可能包括识别当第一备份数据对象被备份的时候被储存的数据对象元数据的至少一个特征和识别当第二备份数据对象被备份的时候被储存的数据对象元数据的至少一个特征。在该方法中,检测第一备份数据对象的第一部分可能包括使用与第一备份数据对象相关联的元数据和与第二备份数据对象相关联的元数据检测第一备份数据对象的第一部分。在该方法中,使用元数据检测第一备份数据对象的第一部分可能包括使用储存在关系数据库中的元数据检测第一备份数据对象的第一部分。在该方法中,识别第一备份数据对象可能包括识别第一数据文件而识别第二备份数据对象可能包括识别第二数据文件。该方法可能是在栅格计算机环境中运行的。当数据未被备份到备份存储系统中的时候,该方法可能是在备份存储系统上运行的。
本发明的另一方面指向计算机易读的媒体,在该媒体上储存计算机易读的信号,这些信号定义一些指令,这些指令在被计算机执行时指导计算机识别第一备份数据对象,识别第二备份数据对象,检测作为第二备份数据对象的第二部分的副本的第一备份数据对象的第一部分,以及用指向该第一部分的指针代替该第二部分。
本发明的另一方面指向一种方法,该方法包括识别与软件应用程序相关联的第一数据对象,识别与软件应用程序相关联的第二数据对象,使用与软件应用程序相关联的数据分布图检测在第一数据对象和第二数据对象中冗余数据,以及用安排在第二数据对象中指向冗余数据的指针代替第一数据对象中的冗余数据。
本发明的另一方面指向一种计算机易读的媒体,在该媒体上存有计算机易读的信号,这些信号定义一些指令,这些指令被计算机执行的时候指导计算机识别与软件应用程序相关联的第一数据对象,识别与软件应用程序相关联的第二数据对象,使用与软件应用程序相关联的数据分布图检测在第一数据对象和第二数据对象两者中的冗余数据,以及用安排在第二数据对象中指向冗余数据的指针代替第一数据对象中的冗余数据。
本发明的另一方面指向某种系统,该系统包括储存将包括第一数据的第一备份数据对象和包括第二数据的第二备份数据对象包括在内的众多备份数据对象的备份存储媒体和配置成识别第二数据与第一数据的任何相同部分并且用指向第一数据的对应部分的指针代替第二数据的被识别部分的控制器。
在该系统中,控制器可能被进一步配置成通过创建第二数据对象把被识别部分排除在外而把指向第一数据的对应部分的指针包括在内的副本来取代第二数据对象的被识别部分。
本发明的另一方面指向一种方法,该方法包括识别数据对象元数据的至少一个特征,识别与有那至少一个特征的数据对象元数据相关联的第一备份数据对象,识别与有那至少一个特征的数据对象元数据相关联的第二备份数据对象,检测在第一备份数据对象和第二备份数据对象中的冗余数据,创建第二备份数据对象把冗余数据的至少一个例证排除在外的副本,其中该副本包括指向冗余数据的指针而不是冗余数据的被排除的至少一个例证,以及删除第二备份数据对象。
这些可仿效的方面和实施方案的另外一些方面、实施方案和利益将在下面详细地讨论。此外,人们将理解前面的信息和下面的详细描述仅仅是各种不同的方面和实施方案的说明性范例,而且倾向于提供用来理解有索赔要求的方面和实施方案的本性和特征的综述或架构。为了提供例证和进一步理解各种不同的方面和实施方案附图被包括在内,并且被并入,构成这份说明书的一部分。这些附图与本说明书的其余部分一起用来解释所描述的并有索赔要求的方面和实施方案的原则和操作。
附图说明
至少一个实施方案的各种不同的方面是参照附图在下面讨论的。在这些不打算依比例绘制的附图中,在各种不同的附图中举例说明的每个同一的或者几乎同一的成份是用相似的数字表示的。为了清楚起见,并非每个成份都被标注在每幅图画中。这些附图是为举例说明和解释准备的,不倾向于作为本发明的限度的定义。在这些附图中:
图1是包括备份存储系统的大规模网络计算机环境的一个范例的方框图;
图2是依照本发明的某些方面包括存储系统的联网计算机环境的一个实施方案的方框图;
图3是依照本发明的某些方面的存储系统的一个实施方案的方框图;
图4是依照本发明的某些方面举例说明存储系统的一个实施方案的虚拟布局的方框图;
图5是依照本发明的某些方面的系统文件的一个范例的示意图;
图6是依照本发明的某些方面的磁带目录结构的一个范例;
图7是依照本发明的某些方面描绘创建完整的综合性备份的方法的一个范例的图表;
图8是依照本发明的某些方面包括完整的综合性备份的一系列备份数据组的一个范例的示意图;
图9是元数据高速缓冲存储器结构的一个范例的图表;
图10是储存完整的综合性备份数据组的虚拟盒式磁带的一个范例的图表;
图11是储存完整的综合性备份数据组的虚拟盒式磁带的另一个范例的图表;
图12是依照本发明删除重复数据对象的方法的流程图;
图13A是两个备份数据对象的图表;
图13B是图13A所描绘的备份数据对象的删除重复的副本的图表;而
图13C是图13A所描绘的备份数据对象的删除重复的副本的另一个图表。
具体实施方式
现在将参照附图更详细地描述其各种不同的实施方案和方面。人们将领会到这项发明在其应用方面不局限于在下面的描述中陈述的和在附图中举例说明的各种成份的构造和安排的细节。本发明能够有其它实施方案和以各种不同的方式实践或实施。特定的落实范例在此仅仅是为了举例说明准备的,不倾向于作为限制。具体地说,结合任何一个或多个实施方案讨论的行为、元素和特征都不倾向于被排除在任何其它实施方案的相似的作用之外。另外,在此使用的措辞和术语是为了描述,不应该被视为限制。“包括”、“包含”、“有”、“包含”、“包括”及其在此的变化的使用意味着囊括其后列出的项目及其等同项目以及附加项目。
如同在此使用的那样,术语“主机”指的是能够与其它装置(例如,存储系统或其它的主机)通信的有至少一个处理器的任何计算机,例如,个人计算机、工作站,大型计算机、联网的客户机、服务器,等等。主机可能包括媒体服务器和应用服务器(如同先前参照图1描述的那样)以及用户计算机(它可能是用户工作站、个人计算机,主机,等等)。除此之外,在这份揭示之内,术语“联网的计算机环境”包括任何计算机环境,在该环境中众多主机以这样的方式与一个或多个共享的存储系统连接,以致该存储系统能与每一个主机通信。光纤通道是可能用于本发明的实施方案的通信网络的一个范例。然而,人们将领会到在此描述的网络不局限于光纤通道,而且各种不同的网络成份可以在代替或补充光纤通道的任何网络连接(例如,令牌环网(Token Ring)或以太网)上或在在不同的网络连接的组合上彼此通信。此外,本发明的各个方面也可能被用于总线拓扑,例如,SCSI或平行的SCSI。
依照本发明的各种不同的实施方案和方面,提供虚拟的可拆装的媒体库备份存储系统,该存储系统可能使用一个或多个磁盘阵列模仿以可拆装的媒体为基础的存储系统。使用本发明的实施方案,数据可以被备份到使用同样的备份/还原应用程序的磁盘阵列上,如同过去用来把数据备份到可拆装的媒体(例如,磁带、磁盘、光盘,等等)上,用户不必对现有的备份程序作任何修改或调整或者购买新的备份/还原应用程序。在本文详细描述的一个实施方案中,被仿效的可拆装媒体是磁带,而本发明的备份存储系统仿效包括磁带和在传统的磁带库系统中用来搬运磁带的机器人机制的磁带库系统。
可以使用本发明的实施方案备份和还原的数据可能被组织成各种不同的数据对象。这些数据对象可能包括可以将数据储存在其中的任何结构。可仿效的数据对象的非限制性目录包括位、字节、数据文件、数据块、数据目录、备份数据组和虚拟盒式磁带,下面将进一步讨论。虽然这个揭示大部份提及数据文件的备份和还原,但是本发明的实施方案可以操纵任何数据对象,而且人们将领会到术语“数据文件”与“数据对象”是可互换的。
依照本发明的某些方面的存储系统包括一起与运行备份/还原应用程序的主机和备份存储媒体接口的硬件和软件。该存储系统可能被设计成仿效磁带或其它类型的可移去存储媒体,以致备份/还原应用程序看到与实际的磁带库一样的装置和媒体的视野,而且被设计成把线性的连续的磁带格式的数据转换成适合储存在随机存取的磁盘上的数据。这样,本发明的存储系统可以提供增强的功能性(例如,允许用户寻找个别的备份用户文件,下面将讨论),不需要新的备份/还原应用软件或政策。
参照图2,以方框图形式举例说明包括依照本发明的某些方面的备份存储系统170的联网计算机环境的一个实施方案。如图所示,主机120经由网络连接121与存储系统170耦合。这个网络连接121可能是,举例来说,允许在主机120和存储系统170之间高速转移数据的光纤通道连接。人们将领会到主机120可能是或可能包括一个或多个应用服务器102(见图1)和/或媒体服务器114(见图1)而且可能使数据的备份能够来自该联网计算机环境中出现的任何计算机或来自主存储器装置106(见图1)。除此之外,一个或多个用户计算机136也可能经由另一个网络连接138(例如,以太网连接)与存储系统170耦合。依照下面的详细讨论,该存储系统可能使用户计算机136的用户能够看到和非必选地还原来自该存储系统的备份用户文件。
该存储系统包括备份存储媒体126,该存储媒体可能是,举例来说,一个或多个磁盘阵列,下面将更详细地讨论。备份存储媒体126为来自主机120的备份数据准备实际的存储空间。然而,存储系统170也可能包括仿效诸如磁带库之类的可拆装的媒体存储系统的软件和追加硬件,以致对在主机120上运行的备份/还原应用程序来说,好像数据正在往传统的可拆装的存储媒体上备份。因此,如图2所示,存储系统170可能包括“仿效媒体”134,该仿效媒体代表,举例来说,虚拟的或仿效的可拆装存储媒体,例如,磁带。这些“仿效媒体”134被存储系统软件和/或硬件呈现指向主机而且在主机120看来似乎是实际的存储媒体。在仿效媒体134和真实的备份存储媒体126之间进一步的接口可能是存储系统控制器(未展示)和开关网络132,后者接受来自主机120的数据并且把该数据储存到备份存储媒体126上,下面将更完全地详细讨论。这样,该存储系统对主机来说“仿效”传统的磁带存储系统120。
依照一个实施方案,该存储系统可能包括储存与从主机120备份到存储系统170上的用户数据有关的元数据的“逻辑元数据高速缓冲存储器”242。如同在此使用的那样,术语“元数据”指的是表现关于用户数据的信息和描述真实用户数据属性的数据。关于数据对象的元数据的可仿效的非限制性目录可能包括数据对象大小、数据对象在主存储器中的逻辑和/或实际位置、数据对象的创建日期、数据对象的最后修改日期、储存数据对象的备份策略名、数据对象的标识符(例如,名称或水印)和数据对象的数据类型,例如,与数据对象相关联的软件应用程序。逻辑元数据高速缓冲存储器242代表准许用户和/或软件应用程序随机地确定备份用户文件的位置,将用户文件相互比较以及以别的方式存取和操纵备份用户文件的可搜寻的数据集合。可以使用储存在逻辑元数据高速缓冲存储器242中的数据的软件应用程序的两个范例包括将更全面地讨论的合成完整备份应用程序240和用户端还原应用程序300。
简而言之,合成完整备份应用程序240能够利用一个现有的完整备份数据组和一个或多个增量备份数据组创建合成完整备份数据组。合成完整备份可能消除对定期(例如,每周)完成全部备份的需求,借此节省相当多的时间和网络资源。合成完整备份应用程序240的细节将在下面进一步描述。也将在下面更全面地详细描述的用户还原应用300使用户能够(例如,用户计算机136的操作员)浏览、定位、查看和/或还原来自存储系统170的先前备份的用户文件。
依照前面的讨论,存储系统170包括与主机120和备份存储媒体126接口的硬件和软件。同时,本发明的实施方案的硬件和软件可以这样仿效传统的磁带库备份系统,以致从主机120的观点看,数据似乎被备份到磁带上,但是事实上被备份到另一种存储媒体(例如,众多磁盘阵列)上,。
参照图3,以方框图的形式举例说明依照本发明的某些方面的存储系统170的一个实施方案。在一个范例中,存储系统170的硬件包括存储系统控制器122和把存储系统控制器122与备份存储媒体126连接起来的开关网络132。存储系统控制器122包括可以运行全部或一部分存储系统软件的处理器127(可能是单一的处理器或多样的处理器)和存储器129(例如,RAM、ROM、PROM、EEPROM、闪存存储器体或其组合,等等)。存储器129也可能用来储存与储存在备份存储媒体126上的数据有关的元数据。软件,包括实现本发明的实施方案的程序码,通常被储存在计算机易读的和/或可写入的诸如RAM、ROM、光盘、磁盘或磁带之类的非易失性记录媒体上,然后被复制到存储器129之中,然后它可能被处理器127运行。这样的程序码可能是用众多程序设计语言(例如,Java、Visual Basic、C、C#或C++、Tortran、Pascal、Eiffel、Basic、COBAL或其组合)编写的,因为本发明不受特定的程序设计语言限制。通常,在操作时,处理器127引起将数据(例如,实现本发明的实施方案的代码)从非易失性记录媒体读到另一种形式的存储器(例如,RAM)中,后者考虑到与非易失性记录媒体相比处理器能更快速地存取数据。
如图3所示,控制器122还包括一些端口适配器,这些适配器把控制器122与主机120和开关网络132连接在一起。如图所示,主机120经由端口适配器124a与存储系统耦合,该端口适配器可能是,举例来说,光纤通道端口适配器。经由存储系统控制器122,主机120把数据备份到备份存储媒体126上而且能还原来自备份存储媒体126的数据。
在列举的范例中,开关网络132可能包括一个或多个光纤通道开关128a、128b。存储系统控制器122包括众多使该存储系统控制器与光纤通道开关128a、128b耦合的光纤通道端口适配器124b和124c。借助光纤通道开关128a、128b,存储系统控制器122允许将数据备份到备份存储媒体126上。如图3所示,开关网络132可能进一步包括一个或多个经由以太网络端口适配器125a、125b与存储系统控制器122耦合的以太网络开关130a、130b。在一个范例中,存储系统控制器122进一步包括另一个以太网端口适配器125c,该端口适配器可能,举例来说,与局域网103耦合,使存储系统170能够如同下面讨论的那样与主机(例如,用户计算机)通信。
在图3举例说明的范例中,存储系统控制器122经由包括两个光纤通道开关和两个以太网开关的开关网络与备份存储媒体126耦合。在存储系统170内每个类型的开关至少提供两个消除了该系统中的任何单一故障点。换句话说,即使一个开关(例如,光纤通道开关128a)出现故障,该存储系统控制器122将仍然能够经由另一个开关与备份存储媒体126通信。这样的安排在可信度和速度方面可能是有利的。举例来说,依照前面的讨论,可信度是通过提供冗余的成份和消除单一故障点改善的。除此之外,在一些实施方案中,该存储系统控制器能够使用一些或全部光纤通道开关平行地把数据备份到备份存储媒体126上,借此增加总的备份速度。然而,人们将领会到既没有在该系统中每个类型的开关要有两个以上的需求,也没有该开关网络要包含光纤通道和以太网两种开关的需求。此外,在备份存储媒体126包含单一磁盘阵列的范例中,开关可能根本不是必需的。
依照前面的讨论,在一个实施方案中,备份存储媒体126可能包括一个或多个磁盘阵列。在一个优选的实施方案中,备份存储媒体126包括众多ATA或SATA磁盘。这样的磁盘是“现货供应”产品而且与来自诸如EMC、IBM之类的制造商的传统的存储器阵列产品相比可能是相对便宜的。此外,当人们分析可拆装媒体(例如,磁带)的费用和这样的媒体寿命有限这一事实的时候,这样的磁盘在费用方面与以传统磁带为基础的备份存储系统是相当的。除此之外,这样的磁盘能以实质上比磁带快的速度读/写数据。举例来说,在单一的光纤通道连接上,数据能以至少大约150MB/s(大约540GB/hr)的速度备份到磁盘上,这个速度明显地比磁带备份速度快(例如,快一个数量级)。除此之外,一些光纤通道连接可能是平行地实现的,借此进一步增加速度。依照本发明的实施方案,备份存储媒体可能是为实现许多种RAID(独立磁盘的冗余阵列)方案之中的任何一种RAID组织起来的。举例来说,在一个实施方案中,备份存储媒体可能实现RAID-5落实。
依照前面的讨论,本发明的实施方案使用磁盘阵列代替盒式磁带作为实际的备份存储媒体仿效传统的磁带库备份系统,借此提供“虚拟磁带库”。在传统的磁带库中会出现的实际的盒式磁带被在此称之为“虚拟盒式磁带”的东西代替。人们将领会到为了这份揭示,术语“虚拟磁带库”指的是可以以软件和/或实际硬件(例如,一个或多个磁盘阵列)实现的仿效磁带库。人们将进一步领会到,虽然这个讨论主要提到仿效磁带,但是该存储系统也可能仿效其它的存储媒体,例如,CD-ROM或DVD-ROM,而且术语”虚拟的盒式磁带”通常指的是仿效存储媒体,例如,仿效磁带或仿效CD。在一个实施方案中,虚拟的盒式磁带事实上对应于一个或多个硬盘。
因此,在一个实施方案中,软件接口是为仿效磁带库提供的,以致对备份/还原应用程序来说似乎数据正在备份到磁带上。然而,真实的磁带库已被一个或多个磁盘阵列代替,以致数据事实上正在备份到这些磁盘阵列上。人们将领会到其它类型的可拆装媒体存储系统可能被仿效,而且本发明不局限于仿效磁带库存储系统。现在将用下面的讨论解释包括在存储系统170之中的软件的各种不同的方面、特征和操作。
人们将领会到虽然该软件可能被描述为“包括”在存储系统170之中,而且可能被存储系统控制器122的处理器127运行(见图3),但是不要求所有的软件都在存储系统控制器122上运行。诸如合成完整备份应用程序和用户端还原应用程序之类的软件程序可能在主机和/或用户计算机上运行,而其一部分可能分布在所有的或一些存储系统控制器、主机和用户计算机上。因此,人们将领会到不要求存储系统控制器是所包含的物理实体,例如,计算机。存储系统170可能与驻留在诸如媒体服务器114或应用服务器102之类的主机上的软件通信。除此之外,该存储系统可能包含一些软件应用程序,这些程序可能在相同的或不同的主机上运行或驻留。此外,人们将领会到存储系统170不局限于离散的设备,虽然在一些实施方案中,存储系统170可能被体现为离散的设备。在一个范例中,存储系统170可能是作为代替传统的磁带库备份系统起“即插即用”作用(即,不需要对现有的备份程序和策略进行修改)的独立单元提供的。这样的存储系统单元也可能被用于联网的计算机环境,该环境包括提供冗余度或附加的存储能力的传统备份系统。在另一个实施方案中,存储系统116可能是在分布式计算机环境(例如,群集或栅格环境)中实现的。
与前面的讨论一样,依照一个实施方案,主机120(它可能是,举例来说,应用服务器102或媒体服务器114,见图1)可以经由将主机120与存储系统170耦合的网络链路(例如,光纤通道链路)121把数据备份到备份存储媒体126上。人们将领会到虽然下面的讨论将主要提及往仿效媒体上备份数据,但是那些原则也适用于还原来自该仿效媒体的备份数据。依照前面的讨论,主机120和仿效媒体134之间的数据流可能受备份/还原应用程序控制。从备份/还原应用程序的角度看,似乎是数据实际上被备份到仿效媒体的实际版本上。
参照图4,存储系统软件150可能包括一个或多个代表仿效媒体的合乎逻辑的抽象层而且在驻留在主机120和备份存储媒体126上的备份/还原应用程序140之间提供接口。软件150接受来自备份/还原应用程序140的磁带格式数据而且把该数据转换成适合储存在随机存取磁盘(例如,硬盘、光盘,等等)上的数据。在一个范例中,这个软件150是在存储系统控制器122的处理器127上运行的而且可能被储存在存储器129中(见图3)。
依照一个实施方案,软件150可能包括在此被称为虚拟磁带库(VTL)层142的层,该层可以提供磁带、磁带驱动器和用来在磁带驱动器之间来回转移磁带的机器人机制的SCSI仿效。备份/还原应用程序140可能使用,举例来说,SCSI指令与VTL 142通信(例如,把数据备份或写到仿效媒体上),如箭头144所示。因此,该VTL可以形成在其它的存储系统软件和硬件与该备份/还原应用程序之间的软件接口,从而把仿效存储媒体134(图2)呈现指向备份/还原应用程序和允许仿效媒体对备份/还原应用程序来说似乎是传统的可拆装的备份存储媒体。
在此称之为文件系统层146的第二软件层可以在仿效存储媒体(表现在VTL中)和实际的备份存储媒体126之间提供接口。在一个范例中,文件系统146充当迷你操作系统,使用,举例来说,SCSI指令与备份存储媒体126通信,如箭头148所示,从备份存储媒体126读数据/把数据写到备份存储媒体126上。
在一个实施方案中,VTL提供普通的磁带库支持和可能支持任何SCSI媒体变换器。仿效磁带装置可能包括但不限于:IBMLTO-1和LTO-2磁带装置、QUANTUM SuperDLT320磁带装置、QUANTUM P3000磁带库系统或STORAGETEK L180磁带库系统。在VTL内,当数据被储存的时候,每个虚拟的盒式磁带都是可以随着数据存入动态生长的文件。这与有固定大小的传统盒式磁带相反。一个或多个虚拟盒式磁带可能如同下面关于图5进一步描述的那样被储存在系统文件中。
图5举例说明在依照本发明的一个实施方案举例说明系统文件200的文件系统软件146内数据结构的一个范例。在这个实施方案中,系统文件200包括首部202和数据204。首部202可能包括识别储存在系统文件中的每个虚拟盒式磁带的信息。首部也可能包含这样的信息,例如,虚拟盒式磁带是否被写保护,虚拟盒式磁带的创建/修改日期,等等。在一个范例中,首部202包括唯一地识别每个虚拟盒式磁带和把每个虚拟盒式磁带与储存在该存储系统中的其它虚拟盒式磁带区分开的信息。举例来说,这个信息可能包括虚拟盒式磁带的名称和识别编号(对应于通常出现在实际磁带上便于机器人机制识别磁带的通行码)。首部202也可能包含附加信息,例如,每个虚拟盒式磁带的容量,最后的修改日期,等等。
依照本发明的一个实施方案,首部202的大小可能被优化,为的是反映被储存数据的类型(例如,代表来自一个或多个主机系统的数据备份的虚拟盒式磁带)和系统能追踪的这种截然不同的数据组(例如,虚拟盒式磁带)的数目。举例来说,通常备份到磁带存储系统上的数据通常是用代表很多系统和用户文件的较大的数据组表征的。因为该数据组是如此大,要追踪的离散的数据文件的数目可能是对应地小。因此,在一个实施方案中,首部202的大小可能是基于储存太多的数据无法有效地掌控(即,首部太大)和没有空间储存足够多的盒式磁带标识符(即,首部太小)之间的折中选定的。在一个可仿效的实施方案中,首部202利用系统文件200的头32MB。然而,人们将领会到首部202可能根据系统的需要和特征有不同的大小,而且人们可以根据系统的需要和容量为首部202选择不同的大小。
人们将领会到,从备份/还原应用程序的角度来看,虚拟盒式磁带是作为有所有相同属性和特征的实际盒式磁带出现的。换句话说,对备份还原应用程序来说,虚拟盒式磁带是作为连续写入的磁带出现的。然而,在一个优选的实施方案中,储存在虚拟盒式磁带中的数据不以连续的格式储存在备份存储媒体126上。而是,在虚拟盒式磁带看来似乎要写入的数据事实上是作为可随机存取的磁盘格式的数据储存在存储系统的文件中。元数据用来链接储存数据和虚拟盒式磁带,以便备份/还原应用程序能以盒式磁带的格式读写数据。
因此,在一个优选实施方案的综述中,用户和/或系统数据(在此称之为“文件数据”)被来自主机120的存储系统170接受和被储存在构成备份存储媒体126的磁盘阵列上。存储系统的软件150(见图4)和/或硬件把这个文件数据以系统文件的形式写到备份存储媒体126中,下面将更详细地描述。元数据在备份数据文件的时候被存储系统控制器提取,以便掌握被备份的用户/或系统文件的属性。举例来说,对于每个文件这样的元数据可能包括文件名、文件的创建日期或最后修改日期、与文件有关的任何加密信息、以及其它信息。除此之外,元数据可能是由存储系统针对每个文件产生的,它把文件和虚拟盒式磁带联系起来。使用这样的元数据,软件把盒式磁带的仿效过程提供指向主机;然而文件数据事实上没有按磁带格式储存,而是被储存在系统文件中,下面将讨论。把数据储存在系统文件中,并非以连续的盒式磁带格式,可能是有利的,因为它允许快速、有效、随机地存取个别文件,不需要为了寻找特定的文件从头到尾扫描连续的数据。
依照前面的讨论,依照一个实施方案,文件数据(即,用户和/或系统数据)作为系统文件被储存在备份存储媒体上,每个系统文件都包括首部和数据,数据是真实的用户和/或系统文件。每个系统文件200的首部202都包括磁带目录206,该磁带目录包含把链路用户和/或系统文件与虚拟盒式磁带联系起来的元数据。在此使用的术语“元数据”指的不是用户或系统文件数据,而是描述真实的用户和/或系统数据的属性的数据。依照一个范例,磁带目录可能降至字节水平定义数据在虚拟盒式磁带上的布局。
在一个实施方案中,磁带目录206有表格结构,如图6所示。该表格包括储存信息类型(例如,数据、文件标志(FM),等等)的列220、按字节计表示所用磁盘区段大小的列222和计算储存文件数据的磁盘区段的数目的列224。因此,磁带目录允许控制器随机地(与连续地相反)存取任何储存在备份存储媒体上的数据文件126。举例来说,参照图6,因为磁带目录指出文件226的数据从系统文件200的起点开始一个区段,所以可以很快地确定该数据文件226在虚拟磁带上的位置。这一个区段没有大小,因为它对应于文件标志(FM)。文件标志不储存在系统文件中,即,文件标志对应于零数据。磁带目录包括文件标志,因为它们被传统的磁带使用,因此备份/还原应用程序把文件标志连同数据文件一起写入并且期待在查看虚拟盒式磁带的时候能看到文件标志。所以,文件标志是在磁带目录中掌握的。然而,文件标志不代表任何数据并因此不储存在系统文件的数据段中。因此,文件226的数据从箭头205指出的系统文件的数据段的起点开始(见图5),而且在长度方面是1024个字节(即,大小为1024个字节的一个磁盘区段)。人们应该领会到其它的文件数据可能是按不同于1024个字节的区段大小储存的,取决于数据量,即,数据文件大小。举例来说,为了提高效率,较大的数据文件可能是用较大的磁盘区段储存的。
在一个范例中,磁带目录可能被包含在“文件描述符”中,该文件描述符与备份在存储系统上的每个数据文件相关联。文件描述符包含与储存在存储系统上的数据文件204有关的元数据。在一个实施方案中,文件描述符可能是依照标准化的格式(例如,大多数以UNIX为基础的系统使用的磁带存档(tar)格式)实现的。每个文件描述符可能包括诸如对应的用户文件名、用户文件的产生/修改日期、用户文件大小、有关用户文件的任何存取限制之类的信息。储存在文件描述符中的附加信息可能进一步包括描述利用哪种目录结构复制数据的信息。因此,文件描述符可能包含关于对应的数据文件的可搜寻的元数据,下面将更详细地讨论。
从备份/还原应用程序的角度看,任何虚拟盒式磁带都可能包含众多数据文件和对应的文件描述符。从存储系统软件的角度看,数据文件被储存在系统文件中,该系统文件可能与,举例来说,特定的备份任务链接。举例来说,一台主机在特定的时间运行的备份可能产生一份可能与一个或多个虚拟盒式磁带相对应的系统文件。虚拟盒式磁带因此可能有任何大小而且可能随着更多的用户文件被储存在虚拟盒式磁带上动态地生长。
再一次参照图2,依照前面的讨论,存储系统170可能包括合成完整备份软件应用程序240。在一个实施方案中,主机120把数据备份到仿效媒体134上,形成一个或多个虚拟盒式磁带。在一些计算机环境中,“完整备份”,即储存在网络中的主存储系统上的所有数据的备份副本(见到图1),可能是定期地(例如,每周)完成的。这个程序通常是非常冗长的,因为有大量的数据要复制。所以,在许多计算机环境中,称为增量备份的追加备份可能是在连贯的完整备份之间完成的,例如,每天。增量备份是只备份自从最后的备份被运行以来已经改变的数据(无论是增量还是完整的)的程序。通常,这个改变的数据是以文件为基础备份的,即使往往文件中的大部分数据尚未改变。因此,增量备份通常非常小,因此完成得比被完整备份快得多。人们将领会到虽然许多环境通常执行每周一次的完整备份并在该周期间执行每天的增量备份,但是没有使用这样的时间范围的需求。举例来说,特定的环境可能要求每天增量备份好几次。本发明的原则适用于使用完整备份(和非必选的增量备份)的任何环境,不管它们多久运行一次。
在完整备份程序期间,主机可能创建一个或多个包含组成众多数据文件的备份数据的虚拟盒式磁带。为了清楚起见,下面的讨论将假定完整备份只产生一个虚拟盒式磁带。然而,人们将领会到一完整备份可能产生不止一个虚拟盒式磁带,而且本发明的原则适用于任何虚拟盒式磁带数目。
依照一个实施方案,提供一种利用一个现有的完整备份数据组和一个或多个增量备份数据组创建合成的完整备份数据组的方法。这个方法可能消除对完成周期性(例如,每周)的完整备份的需要,借此节省用户相当多的时间和网络资源。此外,如同熟悉这项技术的人所知道的那样,以完整备份和一个或多个增量备份为基础还原数据可能是耗费时间的程序,因为,举例来说,如果文件的最新版本存在于增量备份之中,那么备份/还原应用程序通常将以最后的完整备份为基础还原该文件,然后应用来自增量备份的任何变化。所以,提供合成的完整备份可能有允许备份还原应用程序独自以合成的完整备份为基础较快地还原数据文件而不需要从完整备份和一个或多个增量备份起完成多样的还原的附加利益。人们将领会到在此使用的片语“最新版本”通常指的是数据文件的最新副本(即,保存数据文件的最近的时间),无论该文件是否有新的版本编号。术语“版本”在此通常用来表示可能以某种方式修改过的或可能已经被保存多次的同一文件的副本。
参照图7,举例说明合成完整备份程序的示意表达。主机120可能及时地在第一瞬间运行完整备份230,举例来说,在周末。然后主机120可能运行后来的增量备份232a、232b、232c、232d、232e,举例来说,在一周中的每个工作日。然后,存储系统170可能如同下面讨论的那样产生合成的完整备份数据组234。
依照一个实施方案,存储系统170可能包括在此称之为合成完整备份应用程序240的软件应用程序(见图3)。合成完整备份应用程序240可能在存储系统控制器122上运行(见图2)也可能在主机120上运行。合成完整备份应用程序包括创建合成的完整备份数据组234必不可少的软件指令和界面。在一个范例中,合成完整备份应用程序可能完成每个完整备份数据组230和增量备份数据组232的元数据表达的逻辑归并,产生包含合成的完整备份数据组234的新的虚拟盒式磁带。
举例来说,参照图8,现有的完整备份数据组可能包括用户文件F1、F2、F3和F4。第一增量备份数据组232可能包括用户文件F2′,F2的修改版本,和F3′F3的修改版本。第二增量备份数据组232b可能包括用户文件F1′,F1的修改版本,和F2″,F2的进一步修改版本,以及新的用户文件F5。所以,由完整备份数据组230和两个增量数据组232a和232b的逻辑归并形成的合成的完整备份数据组234包含每个用户文件F1、F2、F3、F4和F5的最新版本。所以,如图8所示,合成的完整备份数据组包含用户文件F1′、F2″、F3′、F4和F5。
再一次参照图3和图4,文件系统软件146可能产生逻辑元数据高速缓冲存储器242,该高速缓冲存储器储存与储存在仿效媒体134上的每个用户文件有关的元数据。人们将领会到逻辑元数据高速缓冲存储器并非必须是实际的数据高速缓冲存储器,而是可以改为是储存在存储媒体126上的可搜寻的数据集合。在另一个范例中,逻辑元数据高速缓冲存储器242能是作为数据库实现的。在元数据储存在数据库中的情况下,传统的数据库指令(例如,SQL指令)能用来完成完整备份数据组和一个或多个增量备份数据组的逻辑归并,产生合成的完整备份数据组。
在另一个实施方案中,一部分元数据可能储存在数据库中,而另一部分可能储存在存储系统文件中。举例来说,包括备份数据组名称和它包含的数据对象的备份数据组元数据可能被包括在传统的数据库之中,而数据对象特有的元数据,例如,在数据对象是数据文件的情况下,数据文件大小、安全信息和在主存储器中的位置,可能被包括在存储系统文件之中。以这种方式储存元数据使频繁查询的数据能灵活地从传统的数据库取回而且通过使不经常查询的数据较快地储存在存储系统文件中提高系统的可扩缩性。
依照前面的讨论,储存在仿效媒体134上的每个数据文件可能包括文件描述符,该文件描述符包含与数据文件有关的元数据,包括该文件在备份存储媒体126上的位置。在一个实施方案中,在主机120上运行的备份/还原应用程序把数据以流动磁带格式储存在仿效媒体134上。代表这种磁带格式的数据结构250的一个范例是用图9举例说明的。依照前面的讨论,系统文件数据结构包括可能包含关于数据文件的信息(例如,数据文件的文件描述符、文件的创建和/或修改日期、安全信息、据此搜寻文件的主系统目录结构、以及其它链接文件与虚拟盒式磁带的信息)的首部。这些首部与已经从主机、主存储系统备份(复制)的真实的用户和系统文件的数据254相关联。系统文件数据结构可能还非必选地包括补白(pads)256,该补白可以适当地使下一个首部对准区段边界。
如图9所示,在一个实施方案中,首部数据位于逻辑元数据高速缓冲存储器242中,允许快速搜索和随机存取另外的连续磁带数据格式。使用文件系统软件146在存储系统控制器122上实现的逻辑元数据高速缓冲存储器的使用允许把储存在仿效媒体134上的线性的且连续的磁带数据格式转变成储存在构成备份存储媒体126的实际磁盘上的随机存取数据格式。逻辑元数据高速缓冲存储器242储存首部,该首部包括数据文件的文件描述符、可以用来控制存取数据文件的安全信息(下面将更详细地讨论)和指出数据文件在虚拟盒式磁带和备份存储媒体126上的实际位置的指针257。在一个实施方案中,逻辑元数据高速缓冲存储器储存与备份在完整备份数据组230和每个增量数据组232中的所有的数据文件有关的数据。
依照一个实施方案,合成完整备份应用软件240使用储存在逻辑元数据高速缓冲存储器中的信息创建合成的完整备份数据组。然后,这个合成的完整备份数据组与用合成完整备份应用程序240创建的合成的虚拟盒式磁带链接。对备份/还原应用程序来说,合成的完整备份数据组似乎被储存在这个合成的虚拟盒式磁带上。依照前面的讨论,合成的完整备份数据组可能是通过完成现有的完整备份数据组和增量备份数据组的逻辑归并产生的。依照前面参照图8的讨论,这种逻辑归并可能包括比较包括在每个现有的完整备份数据组和增量备份数据组中的每个数据文件和创建每个用户文件的最新修改版本的合成物。
依照一个实施方案,合成的虚拟盒式磁带260包括指向数据文件在其它的虚拟盒式磁带(明确地说,包含现有的完整备份数据组和增量备份数据组的虚拟盒式磁带)上的位置的指针,如图10所示。考虑前面关于图8给出的范例,合成的虚拟盒式磁带260包括指针266,这些指针(用箭头268指出)指向用户文件F4在虚拟盒式磁带262上的现有完整备份数据组中的位置(因为现有的完整备份数据组包含F4的最新本)和指向,举例来说,用户文件F3′在虚拟盒式磁带264上的增量数据组232a中的位置。
合成的虚拟盒式磁带也包括目录270,该目录包含所有包含指针266所指数据的虚拟盒式磁带的识别号(和非必选的名称)。这个非独立的盒式磁带目录270可能对于记住真实的数据在哪里和防止非独立的虚拟盒式磁带被擦除是重要的。在这个实施方案中,合成的完整备份数据组不包含任何真实的用户文件,而是一组指出用户文件在备份存储媒体126上的位置的指针。所以,防止真实的用户文件(储存在其它的虚拟盒式磁带上)被删除可能是令人想要的。这可以部份地通过保存包含数据的虚拟盒式磁带的记录(非独立的盒式磁带目录270)和防止那些虚拟盒式磁带被盖写或删除得以实现。合成的虚拟盒式磁带可能还包括盒式磁带数据272,例如,合成虚拟盒式磁带的大小、它在备份存储媒体126上的位置,等等。除此之外,合成的虚拟盒式磁带可能有识别号和/或名称274。
依照另一个实施方案,合成的虚拟盒式磁带可能包括指针和实际储存的用户文件的组合。参照图11,在一个范例中,合成的虚拟盒式磁带包括指出在虚拟的盒式磁带262上数据文件(最新版本,依照上面参照图9的讨论)在现有的完整备份数据组230中的位置的指针266。如同箭头280指出的那样,合成的虚拟盒式磁带也可能包括包含从增量数据组232复制的真实数据文件的数据278。这样,增量备份数据组能在创建合成的完整备份数据组276之后被删除,借此节约存储空间。合成的虚拟盒式磁带是比较小的,因为它们包含的全部或部分是指针,而不是全部用户文件的副本。
人们将领会到合成的完整备份可能包括指针和存储文件数据的任何组合而且不局限于前面给出的范例。举例来说,合成的完整备份可能对于储存在特定的增量和/或完整备份上的一些文件包括指向数据文件的指针而且可能包括从其它现有的完整和/或增量备份复制的存储文件数据。依然作为替代,合成的完整备份可能是基于先前的完整备份和任何相关的增量备份产生的,它不包括任何指针而是包括从适当的完整和/或增量备份复制的真实文件数据的最新版本。
在一个实施方案中,合成完整备份应用软件可能包括使它能够针对每个现有完整备份数据组和增量备份数据组比较用户和系统文件元数据确定每个数据文件的最新版本位于哪里的差分算法。举例来说,差分算法可能用来在不同备份组的同一数据文件的不同版本之间比较创建和/或修改日期、版本号(如果适用)等等,选择该数据文件的最新版本。然而,用户可能时常打开用户文件并且实际上没有变更文件里面的任何数据就保存文件(借此改变它的修改数据)。所以,系统可能实现更先进的差分算法,该算法可能分析该系统或用户文件里面的数据,以确定数据事实上是否已经改变。这样的差分算法和其它类型的比较算法的变化可能是熟悉这项技术的人已知的。除此之外,依照上面的讨论,在以数据库格式储存元数据的情况下,诸如SQL指令之类的数据库命令也能用来完成逻辑归并。本发明可能应用任何这样的算法保证每个用户文件的最近或最新版本可以从所有被比较的现有备份组中选定,以便适当地创建合成的完整备份数据组。
熟悉这项技术的人应该领会到,合成完整备份应用程序使完整的备份数据组能够产生和变成可得的,不需要主机运行实际的完整备份。这不仅避免用把数据转移到备份存储系统的处理器内务操作给主机增加负担,而且在合成完整备份应用程序在存储系统上运行的实施方案中显著地减少网络带宽的利用。如图7所示,进一步合成的完整备份数据组可以使用最初合成的完整备份数据组234和后来的增量备份数据组236产生。这可以提供重要的时间利益,因为不频繁修改的文件或对象可能不被频繁地复制。相反,合成的完整备份数据组可以维持指针指向这些仅仅被复制一次的文件。
本发明的实施方案还包括运行从数据对象中除去冗余数据的程序的计算机系统。这样的冗余数据的去除技术上被称为“删除重复”数据。图12举例说明依照本发明的一个实施方案用来从数据对象中删除重复数据的范例程序1200。这个程序可以使用单一的备份存储系统或在分布式存储系统环境(例如,前面讨论过的栅格环境)内实现。
一般地说,管理程序1200的系统可能从头到尾挑选与一系列数据对象相关联的元数据以便识别那些将经历进一步删除重复程序步骤的数据对象,例如,有可能共享重复数据的数据对象。该系统可能检查被识别数据对象,以便进行另外的处理确定任何冗余数据的位置。此外,该系统可能构成指向一个冗余数据副本的被识别数据对象的副本,而且非必选地确认这些副本的完整性。为了恢复被冗余数据占据的存储能力,该系统可能删除最初识别的数据对象。包括在这个程序中的更多的关于那些特定行为的细节将下面讨论。
仍然参照图12,在步骤1202,删除重复数据程序1200开始。在步骤1204,该系统识别将会经历进一步删除重复处理的数据对象。在一个实施方案中,系统可能识别有可能包含冗余数据的数据对象。可能使用各种不同的方法和元数据进行这种识别。举例来说,在一个实施方案中,备份数据对象在主存储器的实际位置可能指出它可能有与另一个备份数据对象一致的数据。更具体地说,如果两个备份数据对象起源于同一主存储装置(例如,特定的服务器)那么这两个数据对象可能被确认为有可能包括冗余数据的副本。同样,在另一个实施方案中,如果两个数据对象是用一个特定的软件应用程序创建的,那两个数据对象可能被确认为可能有冗余数据。在另外一个实施方案中,不管数据对象是否作为完整或增量备份策略部份被储存都可能指出冗余数据的可能性。有可能包含重复数据的数据对象的确认通过使稀有的计算机资源(例如,CPU周期)能够集中在那些将从除去冗余数据获得最大利益的数据对象提高程序1200的总效率。
在另一个实施方案中,系统可能被配置成自动地根据与某些数据对象相关联的元数据把这些数据对象包括在进一步删除重复处理之内或将这些数据对象排除在进一步删除重复处理之外。举例来说,系统可能配置成把用特定的软件应用程序创建的数据对象包括在删除重复处理之中。同样,系统可能配置成把作为特定策略的一部份备份的数据对象包括在进一步的删除重复处理之中。反之,系统可能配置成把所有用特定的策略备份的数据对象和/或明确地命名的数据对象排除在进一步删除重复处理之外。这些配置选项使系统行为能够被调整到适合任何客户环境的特定需求,因此有利于系统的性能和可扩缩性。
在步骤1206,管理程序1200的系统确定冗余数据在被确认适合于进一步删除重复处理的数据对象中的位置。这项分析可能是通过使用元数据和/或通过检查被识别数据对象的真实内容完成的。在一个实施方案中,有相似的元数据的数据对象被假定包含相同的数据。举例来说,如果数据对象是数据文件而且两者有相同的名称、在主存储器和CRC中的实际位置、无用信息或在删除重复期间产生的一些其它元数据,那么那两个数据对象可能是作为冗余记录的。使用元数据识别冗余数据提供若干优势。因为可能只处理数据对象的元数据而不是数据对象的全部,所以使用元数据将提高效率。
在另一个实施方案中,数据对象可能被逐位进行比较,以便在在被这样记录之前保证冗余。虽然这种类型的比较可能是计算资源密集型的,但是它也提供强烈的保证,保证任何被确认为冗余数据事实上是完全冗余的。这种确定冗余的方法可能是有用的,举例来说,当处理完整性特别重要的数据对象(例如,财务信息)的时候。
在另外一个实施方案中,包括在数据对象之中的数据的一些部分被分析以确定整个对象的冗余。举例来说,某些软件应用程序可能把修改过的数据转移到在它们修改的数据对象里面的特定位置,例如在对象的始端或末端。因此,使用这个数据分配图,系统可以把它的删除重复处理集中在数据对象的更有可能是静态的那些部分上,借此提高系统效率。
本发明的实施方案可能使用这些技术的组合确定冗余数据的位置。更明确地说,系统可能基于像前面用来识别适合于进一步删除重复处理的数据对象的元数据那样的元数据把特定的技术指向特定的数据对象。这个元数据可能其中包括在主存储器中的位置、导致数据对象被备份的策略和与数据对象相关联的软件应用程序。与数据对象确认一样,关于重复数据的定位方式调节系统的能力提高系统的可扩缩性和性能。
在步骤1208,运行程序1200的系统可能产生先前识别的包括冗余数据的数据对象的删除重复副本。这些删除重复的副本可能包括微不足道的冗余数据或者甚至没有冗余数据。在一个实施方案中,被识别的数据对象可能包括,举例来说,虚拟的盒式磁带。在这个例证中,该系统可能产生一个或多个删除重复的虚拟盒式磁带,这些虚拟盒式磁带在被完全分辨的时候包括所有的包括在被识别的虚拟盒式磁带之中的数据。与前面讨论过的合成的虚拟盒式磁带一样,这些删除重复的虚拟盒式磁带可能包含数据对象和指向数据对象的指针。
在创建这些删除重复数据的副本期间,系统可能把被复制数据的副本储存在特定的数据对象内而且产生和/或修改在其它数据对象内的指针以便把被复制的数据储存在那些数据对象内。该系统在储存被复制的数据和指针的时候可能遵循各种不同的方法。在一个实施方案中,复制数据被收容在最古老的数据对象中,而识别该复制数据的位置的指针被储存在包括该复制数据的较年轻的数据对象中。这项技术上被称为逆向引用的技术是普通的,其中散列索引是为概述适合进行删除重复处理的数据对象建立的。
在另一个实施方案中,复制数据被收容在最年轻的数据对象中,而识别该复制数据的位置的指针被储存在包括该复制数据的较古老的数据对象中。这项技术可能被称为前向引用。前向引用提高数据还原性能,其中数据是从最后的备份还原的,因为指针的缩减间接引用是分辨所有包含在备份数据对象中的数据所需要的。由于当对主存储器来说必须还原数据的时候通常使用最近的(即最年轻的)备份这一事实,所以这个提高的性能是特别有益的。
图13A、、13B和13C举例说明前面描述过的前向和逆向引用。图13A展示删除重复处理之前的备份数据对象1302和1304。就这个例证的目的而言,请假定备份数据对象1302是在备份数据对象1304之前储存的。备份数据对象1302包括独特的数据部分1306和冗余数据部分131OA。备份数据对象1304包括独特的数据部分1308和冗余数据部分1310B。
图13B举例说明数据对象1302和1304在前向引用方案之下删除重复的副本。数据对象1304作为两者中较新近储存的数据对象包括冗余数据部分1310B的副本。数据对象1302作为两者中较早储存的数据对象包括指向冗余数据部分1310B的指针1312。因此,在创建删除重复的副本之后,较年轻的数据对象包括冗余数据的副本,而较古老的数据对象包括指向较年轻的数据对象中的冗余数据的指针。
图13C举例说明数据对象1302和1304在逆向引用方案之下删除重复的副本。数据对象1302作为两者中较早储存的数据对象包括冗余数据1310A的副本。数据对象1304作为两者中较新近储存的数据对象包括指向冗余数据部分1310A的指针1312。因此,在产生删除重复的副本之后,较古老的数据对象包括冗余数据的副本,而较年轻的数据对象包括指向较古老的数据对象中的冗余数据的指针。
在步骤1210,系统可能将删除重复的副本对照先前识别的数据对象进行比较,以保证数据完整性已经得到保护。这个比较可能需要数据对象指针的间接引用而且可能包括对该数据对象中包含的数据的逐位比较。在一个实施方案中,在完成这个完整性检查之后,系统可能交换识别删除重复的副本和它们各自先前识别的数据对象的指针以便删除重复的数据对象变成主要的数据对象而先前识别的数据对象可能在不破坏引用它的任何数据对象的完整性的情况下被删除。系统也可能对元数据进行其它的调整,以保证它正确地反映删除重复的副本的特征。
在步骤1212,先前识别的数据对象所利用的存储能力被回收,供其它的数据对象使用。在一个实施方案中,这可能是通过简单地删除先前识别的数据对象完成的。在步骤1214,程序1200结束。
程序1200描述优选的事件序列。在不脱离本发明的精神的情况下可以在程序1200中添加其它的行为或改变行为的次序。在一个具体化中,程序1200可能是针对备份存储系统中包含的每个数据对象运行的。在另一个实施方案中,系统可能针对备份存储系统中的某个数据对象子集运行程序1200。
程序1200可能是按要求运行的或作为一次性的或重新出现的程序确定时间的。程序1200的进一步的子集可能是在通过删除重复回收的空间将符合或超过特定的门限值的时候运行的。举例来说,在一个实施方案中,程序1200可能只有当删除重复将至少释放指定数目(例如,50)兆字节或指定百分比(例如,25%)被利用的备份存储能力的时候才运行。组成程序1200的行为当作为驱动计算行动的事件实现的时候可能是在分布式计算环境(例如,栅格环境)中运行的。
因此,简要地说,删除重复程序1200的实施方案可能减少维持备份数据的副本所需的存储能力并因此减少储存备份数据所需的电子媒体的数量。此外,删除重复程序1200的实施方案可能通过使用元数据优化删除重复处理有效地利用计算资源。最后,通过按前向引用方案储存删除重复的数据,删除重复能提高普遍使用的数据恢复功能性的性能。
如同前面参照图3讨论的那样,存储系统也可能包括被称为终端用户还原应用程序300的软件应用程序。因此,依照另一个实施方案,提供一种终端用户在没有IT职员干预和现有的备份/还原程序和/或策略不需要有任何改变的情况下定位和还原备份数据的方法。在典型的备份存储系统中,在主机120上运行的备份/还原应用程序受IT职员控制,而且没有IT职员的干预终端用户存取备份数据可能是不可能的或者是非常困难的。依照本发明的某些方面和实施方案,提供存储系统软件,该软件允许终端用户以备份存储媒体126经由,举例来说,基于网络的或其它的接口查找和还原他们的文件。
人们将领会到那,与合成完整备份应用程序240一样,终端用户还原应用程序300可能是在存储系统控制器122(见图2)上运行的也可能是在主机120上运行的。终端用户还原应用程序包括允许法定用户利用备份存储媒体126搜寻逻辑元数据高速缓冲存储器确定备份文件的位置和非必选地还原备份文件所需的软件指令和接口。
依照一个实施方案,提供包括在用户计算机136上安装和/或运行的用户界面的软件。该用户界面可能是允许用户确定文件在备份存储媒体上的位置的任何类型的界面。举例来说,用户界面可能是图形用户界面,可能是基于网络的界面或可能是本文界面。用户计算机经由网络连接138(它可能是,举例来说,以太网连接)与存储系统170耦合。通过这个网络连接138,用户计算机136的操作员能存取储存在存储系统170上的数据。
在一个范例中,终端用户还原应用程序300包括用户认证和/或授权特征。举例来说,用户可能被要求经由用户界面使用用户名和密码在用户计算机上登录。用户计算机可能把用户名称和密码传送给可以使用适当的用户认证机制确定该用户是否有权访问该存储系统的存储系统(例如,用户还原应用程序)。可能使用的用户认证机制的一些范例包括但不限于MICROSOFT的活动目录服务器,UNIX“黄页”服务器或轻型目录访问协议。登录/用户认证机制可能与终端用户还原应用程序通信,交换用户特权。举例来说,一些用户可能被允许只搜寻他们自已创建的或他们有特定的特权或被确认为拥有者的那些文件。其它的用户,例如,系统操作员或管理者可能被允许存取所有的备份文件,等等。
依照一个实施方案,终端用户还原应用程序使用逻辑元数据高速缓冲存储器获得关于备份存储媒体上的所有数据文件备份的信息。终端用户还原应用程序经由用户界面把按,举例来说,备份时间/日期、用户名、最初的用户计算机目录结构(该目录结构在备份文件的时候可能已经获得)或其它文件特征分类的用户文件的分层目录结构呈现给用户。在一个范例中,呈现给用户的目录结构可能依照对于那个用户被准许的特权改变。终端用户还原应用程序可能接受浏览请求(即,通过用户界面,用户可以浏览该目录结构确定所需文件的位置),或者用户可以用名称、日期等等寻找文件。
依照一个实施方案,用户可以还原来自存储系统的备份文件。举例来说,一旦用户依照前面的描述已经确定所需文件的位置,用户就可以经由网络连接138从存储系统下载文件。在一个范例中,这个下载程序可能是如同熟悉这项技术的人已知的那样以与任何基于网络的下载相似的方式实现的。
通过允许终端用户存取那些他们获准查看/下载的文件和通过准许这种通过用户界面的访问(例如,基于网络的技术),终端用户还原应用程序能使用户不需要改变任何备份策略或程序就能够寻找和还原他们自己的文件。
人们应该领会到虽然本发明的某些方面(例如,合成完整备份应用程序和用户还原应用程序)在此主要是按照软件描述的,但是人们应该领会到作为替代它们可能是在软件、硬件或固件或其任何组合中实现的。因此,举例来说,本发明的实施方案可能包含用电脑程序(即,众多指令)编码的至少部份地在存储系统的处理器上运行的时候实现前面详细描述的合成完整备份应用程序和/或终端用户还原应用程序的功能的任何计算机易读的媒体(例如,计算机存储器、软盘、光盘、磁带,等等)。
概括地说,本发明的某些实施方案和某些方面因此包括仿效传统的磁带备份系统但可以提供增强的功能性(例如,能够产生合成的备份和允许终端用户查看和还原备份文件)的存储系统和方法。然而,人们应该领会到本发明的各个方面可能用于备份计算机数据以外的应用。因为本发明的存储系统可以用来经济地储存巨量的数据而且所储存的数据能按硬盘存取时间随机地存取(与连续地存取相反),所以本发明的实施方案可以在传统的备份存储系统之外找到用途。举例来说,本发明的实施方案可以用来储存表现电影和音乐和随选录像或声音的宽广选择的视频和音频数据。
至此已经描述了这项发明的至少一个实施方案的若干方面,人们将领会到各种不同的变更、修改和改进对于熟悉这项技术的人将很容易发生。这样的变更、修改和改进倾向于成为这份揭示的一部份,而且倾向于在本发明的范围之内。因此,前面的描述和附图仅仅是作为范例。

Claims (20)

1.一种用来把冗余数据从备份存储系统中除去的方法,该方法包括:
识别数据对象元数据的至少一个特征;
识别与有那至少一个特征的数据对象元数据相关联的第一备份数据对象;
识别与有那至少一个特征的数据对象元数据相关联的第二备份数据对象;
检测是第二备份数据对象的第二部分的副本的第一备份数据对象的第一部分;以及
用指向该第一部分的指针取代该第二部分。
2.根据权利要求1的方法,其中识别数据对象元数据的至少一个特征包括:
识别在主存储器中与第一备份数据对象相关联的位置;以及
识别在主存储器中与第二备份数据对象相关联的位置。
3.根据权利要求1的方法,其中至少识别数据对象元数据的一个特征包括:
识别与一个软件申请相关联的第一笔备份数据对象;而且
识别与一个软件申请相关联的第二的备份数据对象。
4.根据权利要求3的方法,其中检测第一备份数据对象的第一部分包括至少部份地基于与软件应用程序相关联的数据分布图检测是第二备份数据对象的第二部分的副本的第一备份数据对象的第一部分。
5.根据权利要求1的方法,其中识别数据对象元数据的至少一个特征包括:
识别与第一备份数据对象相关联的备份政策;以及
识别与第二备份数据对象相关联的备份政策。
6.根据权利要求1的方法,其中识别数据对象元数据的至少一个特征包括:
识别当第一备份数据对象被备份的时候被储存的数据对象元数据的至少一个特征;以及
识别当第二备份数据对象被备份的时候被储存的数据对象元数据的至少一个特征。
7.根据权利要求1的方法,其中识别第一备份数据对象包括识别第一数据文件,识别第二备份数据对象包括识别第二数据文件。
8.根据权利要求1的方法,其中识别第二备份数据对象包括识别与第一备份数据对象相比最近被较少地备份的第二备份数据对象。
9.根据权利要求1的方法,其中识别第二备份数据对象包括识别与第一备份数据对象相比最近被较多地备份的第二备份数据对象。
10.根据权利要求1的方法,其中检测第一备份数据对象的第一部分包括使用与第一备份数据对象相关联的元数据和与第二备份数据对象相关联的元数据检测第一备份数据对象的第一部分。
11.根据权利要求10的方法,其中使用元数据检测第一备份数据对象的第一部分包括使用储存在关系数据库中的元数据检测第一备份数据对象的第一部分。
12.根据权利要求1的方法,其中用指向第一部分的指针取代第二部分包括:
创建第二备份数据对象的副本把第二部分排除在外并且把指向第一部分的指针包括在内;以及
删除第二备份数据对象。
13.根据权利要求12的方法,进一步包括确认第二备份数据对象的副本代表与第二备份数据对象相同的数据。
14.根据权利要求1到13之中的任何一项的方法,其中该方法是在栅格计算环境中运行的。
15.根据权利要求1到13之中任何一项的方法,其中该方法是当数据对备份存储系统来说未被备份的时候在备份存储系统上运行的。
16.一种有定义指令的计算机易读的信号储存在其上的计算机易读的媒体,这些指令作为计算机运行的结果指导计算机实现根据权利要求1到15的任何方法。
17.一种系统,其中包括:
储存众多备份数据对象的备份存储媒体,众多备份数据对象包括:
与元数据的至少一个特征相关联并且包括第一数据的第一备份数据对象;以及
与元数据那至少一个特征相关联并且包括第二数据的第二备份数据对象;以及
配置成使用元数据的那至少一个特征识别第一备份数据对象和第二备份数据对象,识别与第一数据的任何部分相同的第二数据的任何部分并且以指向第一数据的对应部分的指针取代第二数据的被识别部分的控制器。
18.根据权利要求17的系统,其中控制器被进一步配置成通过创建第二数据对象的副本把被识别的部分排除在外并且把指向第一数据的对应部分的指针包括在内来取代第二数据对象的被识别部分。
19.根据权利要求17的系统,其中第一备份数据对象是与第二备份数据对象相比最近被较多备份的。
20.一种用来把冗余数据从备份存储系统中除去的方法,该方法包括:
识别与软件应用程序相关联的第一数据对象;
识别与软件应用程序相关联的第二数据对象;
至少部份地基于与软件应用程序相关联的数据分布图检测在第一数据对象和第二数据对象中的冗余数据;以及
用安排在第二数据对象中指向冗余数据的指针取代第一数据对象中的冗余数据。
CN200880104416.0A 2007-06-29 2008-06-27 仿效存储系统 Pending CN101784996A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/771,245 US8938595B2 (en) 2003-08-05 2007-06-29 Emulated storage system
US11/771,245 2007-06-29
PCT/US2008/068528 WO2009006278A1 (en) 2007-06-29 2008-06-27 Emulated storage system

Publications (1)

Publication Number Publication Date
CN101784996A true CN101784996A (zh) 2010-07-21

Family

ID=38950497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880104416.0A Pending CN101784996A (zh) 2007-06-29 2008-06-27 仿效存储系统

Country Status (5)

Country Link
US (1) US8938595B2 (zh)
EP (1) EP2174225A4 (zh)
JP (1) JP2010532538A (zh)
CN (1) CN101784996A (zh)
WO (1) WO2009006278A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346695A (zh) * 2010-07-29 2012-02-08 财团法人工业技术研究院 渐进式备份的基于片段的高延展的去复本系统与方法
CN102647232A (zh) * 2012-03-29 2012-08-22 中兴通讯股份有限公司 一种同时接入多个业务的方法及装置
CN111033481A (zh) * 2017-08-31 2020-04-17 甲骨文国际公司 非易失性存储器上的直接映射的缓冲区高速缓存
CN113472609A (zh) * 2020-05-25 2021-10-01 汪永强 一种用于无线通信的数据重复发送标记系统
CN113806611A (zh) * 2020-06-17 2021-12-17 海信集团有限公司 一种存储搜索引擎结果的方法及设备

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8280926B2 (en) * 2003-08-05 2012-10-02 Sepaton, Inc. Scalable de-duplication mechanism
US8938595B2 (en) 2003-08-05 2015-01-20 Sepaton, Inc. Emulated storage system
EP1654659A4 (en) * 2003-08-05 2007-05-09 Sepaton Inc EMULATED STORAGE SYSTEM
US20050108486A1 (en) * 2003-08-05 2005-05-19 Miklos Sandorfi Emulated storage system supporting instant volume restore
US20080154989A1 (en) * 2006-12-21 2008-06-26 Boxicom, Inc. (Dba 3X Systems) Data backup system and method associated therewith
US7693877B1 (en) * 2007-03-23 2010-04-06 Network Appliance, Inc. Automated information lifecycle management system for network data storage
US8880797B2 (en) * 2007-09-05 2014-11-04 Emc Corporation De-duplication in a virtualized server environment
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
US8238549B2 (en) * 2008-12-05 2012-08-07 Smith Micro Software, Inc. Efficient full or partial duplicate fork detection and archiving
US7899850B2 (en) * 2008-02-22 2011-03-01 Bycast, Inc. Relational objects for the optimized management of fixed-content storage systems
US9098432B1 (en) * 2008-04-08 2015-08-04 Emc Corporation System and method for data deduplication of backup images
US8484162B2 (en) * 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8392791B2 (en) * 2008-08-08 2013-03-05 George Saliba Unified data protection and data de-duplication in a storage system
US8131687B2 (en) * 2008-11-13 2012-03-06 International Business Machines Corporation File system with internal deduplication and management of data blocks
US8291183B2 (en) * 2009-01-15 2012-10-16 Emc Corporation Assisted mainframe data de-duplication
US20100199065A1 (en) * 2009-02-04 2010-08-05 Hitachi, Ltd. Methods and apparatus for performing efficient data deduplication by metadata grouping
US8108638B2 (en) * 2009-02-06 2012-01-31 International Business Machines Corporation Backup of deduplicated data
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
US8204867B2 (en) * 2009-07-29 2012-06-19 International Business Machines Corporation Apparatus, system, and method for enhanced block-level deduplication
US8225060B2 (en) * 2009-10-16 2012-07-17 Leppard Andrew Data de-duplication by predicting the locations of sub-blocks within the repository
US8407189B2 (en) * 2009-11-25 2013-03-26 International Business Machines Corporation Finding and fixing stability problems in personal computer systems
US8447741B2 (en) * 2010-01-25 2013-05-21 Sepaton, Inc. System and method for providing data driven de-duplication services
US8578109B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US8364652B2 (en) 2010-09-30 2013-01-29 Commvault Systems, Inc. Content aligned block-based deduplication
US8682873B2 (en) 2010-12-01 2014-03-25 International Business Machines Corporation Efficient construction of synthetic backups within deduplication storage system
US20120150818A1 (en) 2010-12-14 2012-06-14 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
US8316057B2 (en) * 2010-12-17 2012-11-20 International Business Machines Corporation Restoring deduplicated data objects from sequential backup devices
US8688651B2 (en) 2011-01-25 2014-04-01 Sepaton, Inc. Dynamic deduplication
US8521705B2 (en) 2011-07-11 2013-08-27 Dell Products L.P. Accelerated deduplication
US20140164326A1 (en) * 2011-10-14 2014-06-12 Alastair M. Slater Performing a replication operation in response to movement of a virtual data container
US9218374B2 (en) 2012-06-13 2015-12-22 Commvault Systems, Inc. Collaborative restore in a networked storage system
US9633033B2 (en) 2013-01-11 2017-04-25 Commvault Systems, Inc. High availability distributed deduplicated storage system
US9619477B1 (en) * 2013-03-15 2017-04-11 Veritas Technologies Systems and methods for accelerating backup operations
US9766832B2 (en) 2013-03-15 2017-09-19 Hitachi Data Systems Corporation Systems and methods of locating redundant data using patterns of matching fingerprints
US9256611B2 (en) 2013-06-06 2016-02-09 Sepaton, Inc. System and method for multi-scale navigation of data
US9405479B1 (en) * 2013-08-26 2016-08-02 Western Digital Technologies, Inc. Faster file compression using sliding compression window and backward compound pointers
US9678973B2 (en) 2013-10-15 2017-06-13 Hitachi Data Systems Corporation Multi-node hybrid deduplication
US10545918B2 (en) 2013-11-22 2020-01-28 Orbis Technologies, Inc. Systems and computer implemented methods for semantic data compression
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US9633056B2 (en) 2014-03-17 2017-04-25 Commvault Systems, Inc. Maintaining a deduplication database
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US9928277B2 (en) * 2014-11-10 2018-03-27 International Business Machines Corporation Materialized query tables with shared data
US10241871B1 (en) * 2015-03-31 2019-03-26 Veritas Technologies Llc Fragmentation mitigation in synthetic full backups
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US20170192868A1 (en) 2015-12-30 2017-07-06 Commvault Systems, Inc. User interface for identifying a location of a failed secondary storage device
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10846024B2 (en) 2016-05-16 2020-11-24 Commvault Systems, Inc. Global de-duplication of virtual disks in a storage platform
US10795577B2 (en) 2016-05-16 2020-10-06 Commvault Systems, Inc. De-duplication of client-side data cache for virtual disks
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US10986183B2 (en) * 2018-05-02 2021-04-20 Hewlett Packard Enterprise Development Lp Data management in a network environment
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US11442896B2 (en) 2019-12-04 2022-09-13 Commvault Systems, Inc. Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management

Family Cites Families (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226141A (en) * 1989-07-14 1993-07-06 Touch Technologies, Inc. Variable capacity cache memory
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5276860A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data processor with improved backup storage
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5454098A (en) * 1992-09-28 1995-09-26 Conner Peripherals, Inc. Method of emulating access to a sequential access data storage device while actually using a random access storage device
SE500656C2 (sv) 1992-12-08 1994-08-01 Ellemtel Utvecklings Ab System för backuptagning i en distribuerad databas
WO1996025801A1 (en) * 1995-02-17 1996-08-22 Trustus Pty. Ltd. Method for partitioning a block of data into subblocks and for storing and communicating such subblocks
US5778395A (en) 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US5991862A (en) * 1996-12-30 1999-11-23 Sun Microsystems, Inc. Modified indirect addressing for file system
US6101472A (en) * 1997-04-16 2000-08-08 International Business Machines Corporation Data processing system and method for navigating a network using a voice command
US6098148A (en) * 1997-05-29 2000-08-01 International Business Machines Corporation Storage and access of data using volume trailer
US6389503B1 (en) 1997-08-04 2002-05-14 Exabyte Corporation Tape drive emulation by removable disk drive and media formatted therefor
US6070224A (en) * 1998-04-02 2000-05-30 Emc Corporation Virtual tape system
US6366986B1 (en) * 1998-06-30 2002-04-02 Emc Corporation Method and apparatus for differential backup in a computer storage system
US6317814B1 (en) * 1998-07-01 2001-11-13 Storage Technology Corporation Method for selectively storing redundant copies of virtual volume data on physical data storage cartridges
US6094605A (en) * 1998-07-06 2000-07-25 Storage Technology Corporation Virtual automated cartridge system
US6366987B1 (en) * 1998-08-13 2002-04-02 Emc Corporation Computer data storage physical backup and logical restore
GB2343768A (en) * 1998-08-17 2000-05-17 Connected Place Limited Merging a sequence of delta files
US6247024B1 (en) * 1998-09-25 2001-06-12 International Business Machines Corporation Method and system for performing deferred file removal in a file system
US6230190B1 (en) * 1998-10-09 2001-05-08 Openwave Systems Inc. Shared-everything file storage for clustered system
CN1092886C (zh) 1998-12-15 2002-10-16 华为技术有限公司 实现智能网业务管理点与具体业务无关的方法
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6615327B1 (en) * 1999-02-19 2003-09-02 Hitachi, Ltd. Method and system for backing up data of data processing devices including fixed length block format data conversion to variable length block format
US6477544B1 (en) * 1999-07-16 2002-11-05 Microsoft Corporation Single instance store for file systems
US6714952B2 (en) * 1999-11-10 2004-03-30 Emc Corporation Method for backup and restore of a multi-lingual network file server
US6647399B2 (en) * 1999-11-29 2003-11-11 International Business Machines Corporation Method, system, program, and data structures for naming full backup versions of files and related deltas of the full backup versions
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6779095B2 (en) * 2000-06-19 2004-08-17 Storage Technology Corporation Apparatus and method for instant copy of data using pointers to new and original data in a data location
US6954765B2 (en) * 2000-12-30 2005-10-11 Intel Corporation Updating a file in a fragmented file system
US20020124137A1 (en) * 2001-01-29 2002-09-05 Ulrich Thomas R. Enhancing disk array performance via variable parity based load balancing
US7093127B2 (en) * 2001-08-09 2006-08-15 Falconstor, Inc. System and method for computer storage security
US7058788B2 (en) * 2001-02-23 2006-06-06 Falconstor Software, Inc. Dynamic allocation of computer memory
US6715098B2 (en) * 2001-02-23 2004-03-30 Falconstor, Inc. System and method for fibrechannel fail-over through port spoofing
US6718352B1 (en) * 2001-03-20 2004-04-06 Emc Corporation Methods and apparatus for managing a data set stored on a data storage device
US7043727B2 (en) * 2001-06-08 2006-05-09 Micromuse Ltd. Method and system for efficient distribution of network event data
US7146524B2 (en) * 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
CA2458416A1 (en) 2001-08-31 2003-03-27 Arkivio, Inc. Techniques for restoring data based on contents and attributes of the data
EP1466246B1 (en) * 2001-11-23 2011-03-02 Commvault Systems, Inc. Selective data replication system and method
US20030105912A1 (en) * 2001-11-30 2003-06-05 Noren Gregory T. Space efficient backup technique in a storage system
US7024427B2 (en) * 2001-12-19 2006-04-04 Emc Corporation Virtual file system
US7120631B1 (en) * 2001-12-21 2006-10-10 Emc Corporation File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator
US6684308B2 (en) * 2002-01-31 2004-01-27 Mirapoint, Inc. Method and system for providing direct access recovery using seekable tape device
US7310654B2 (en) * 2002-01-31 2007-12-18 Mirapoint, Inc. Method and system for providing image incremental and disaster recovery
WO2004002044A2 (en) * 2002-02-01 2003-12-31 John Fairweather A system for exchanging binary data
US7216135B2 (en) * 2002-02-15 2007-05-08 International Business Machines Corporation File system for providing access to a snapshot dataset where disk address in the inode is equal to a ditto address for indicating that the disk address is invalid disk address
US6829617B2 (en) * 2002-02-15 2004-12-07 International Business Machines Corporation Providing a snapshot of a subset of a file system
US20030177149A1 (en) * 2002-03-18 2003-09-18 Coombs David Lawrence System and method for data backup
US7073038B2 (en) * 2002-05-22 2006-07-04 Storage Technology Corporation Apparatus and method for implementing dynamic structure level pointers
US6667700B1 (en) * 2002-10-30 2003-12-23 Nbt Technology, Inc. Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation
US7065619B1 (en) * 2002-12-20 2006-06-20 Data Domain, Inc. Efficient data storage system
US7055008B2 (en) * 2003-01-22 2006-05-30 Falconstor Software, Inc. System and method for backing up data
US7143251B1 (en) * 2003-06-30 2006-11-28 Data Domain, Inc. Data storage using identifiers
US7165145B2 (en) * 2003-07-02 2007-01-16 Falconstor Software, Inc. System and method to protect data stored in a storage system
US7127575B2 (en) * 2003-07-10 2006-10-24 Hitachi, Ltd. Offsite management using disk based tape library and vault system
US7155585B2 (en) * 2003-08-01 2006-12-26 Falconstor Software, Inc. Method and system for synchronizing storage system data
EP1654659A4 (en) 2003-08-05 2007-05-09 Sepaton Inc EMULATED STORAGE SYSTEM
US8280926B2 (en) * 2003-08-05 2012-10-02 Sepaton, Inc. Scalable de-duplication mechanism
US20050193235A1 (en) * 2003-08-05 2005-09-01 Miklos Sandorfi Emulated storage system
US8938595B2 (en) 2003-08-05 2015-01-20 Sepaton, Inc. Emulated storage system
US20050108486A1 (en) * 2003-08-05 2005-05-19 Miklos Sandorfi Emulated storage system supporting instant volume restore
US7373603B1 (en) * 2003-09-18 2008-05-13 Microsoft Corporation Method and system for providing data reference information
JP2007527572A (ja) 2003-09-30 2007-09-27 セパトン,インコーポレイテッド インスタントボリュームの復旧を支援するエミュレーティッドストレージシステム
US7146475B2 (en) * 2003-11-18 2006-12-05 Mainstar Software Corporation Data set level mirroring to accomplish a volume merge/migrate in a digital data storage system
US7181373B2 (en) * 2004-08-13 2007-02-20 Agilent Technologies, Inc. System and methods for navigating and visualizing multi-dimensional biological data
US7299376B2 (en) * 2004-08-25 2007-11-20 International Business Machines Corporation Apparatus, system, and method for verifying backup data
US8725705B2 (en) * 2004-09-15 2014-05-13 International Business Machines Corporation Systems and methods for searching of storage data with reduced bandwidth requirements
US7756833B2 (en) * 2004-09-22 2010-07-13 Microsoft Corporation Method and system for synthetic backup and restore
US7574409B2 (en) * 2004-11-04 2009-08-11 Vericept Corporation Method, apparatus, and system for clustering and classification
US7472242B1 (en) * 2006-02-14 2008-12-30 Network Appliance, Inc. Eliminating duplicate blocks during backup writes
US8165221B2 (en) * 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US8131682B2 (en) * 2006-05-11 2012-03-06 Hitachi, Ltd. System and method for replacing contents addressable storage
JP4749266B2 (ja) * 2006-07-27 2011-08-17 株式会社日立製作所 情報資源の重複を省いたバックアップ制御装置及び方法
US20080034017A1 (en) * 2006-08-04 2008-02-07 Dominic Giampaolo Links to a common item in a data structure
US7885972B2 (en) * 2006-10-30 2011-02-08 Execue, Inc. Domain independent system and method of automating data aggregation and presentation
US7853750B2 (en) * 2007-01-30 2010-12-14 Netapp, Inc. Method and an apparatus to store data patterns
TW200846211A (en) * 2007-05-17 2008-12-01 Sentec E & E Co Ltd External fuel vapor emission adjusting device for fuel tank
US8762345B2 (en) * 2007-05-31 2014-06-24 Netapp, Inc. System and method for accelerating anchor point detection
JP5090941B2 (ja) * 2008-01-29 2012-12-05 株式会社日立製作所 ストレージサブシステム及びストレージシステム
US8645333B2 (en) * 2008-05-29 2014-02-04 International Business Machines Corporation Method and apparatus to minimize metadata in de-duplication
US8527482B2 (en) * 2008-06-06 2013-09-03 Chrysalis Storage, Llc Method for reducing redundancy between two or more datasets
US20100088296A1 (en) * 2008-10-03 2010-04-08 Netapp, Inc. System and method for organizing data to facilitate data deduplication
US8370181B2 (en) * 2008-10-14 2013-02-05 Camstar Systems, Inc. System and method for supply chain data mining and analysis
US7733247B1 (en) * 2008-11-18 2010-06-08 International Business Machines Corporation Method and system for efficient data transmission with server side de-duplication
US9176978B2 (en) * 2009-02-05 2015-11-03 Roderick B. Wideman Classifying data for deduplication and storage
US9058298B2 (en) * 2009-07-16 2015-06-16 International Business Machines Corporation Integrated approach for deduplicating data in a distributed environment that involves a source and a target
EP2284726A1 (en) * 2009-07-27 2011-02-16 HTC Corporation Method and system for navigating data and computer program product using the method
EP2414926A1 (en) 2009-09-18 2012-02-08 Hitachi, Ltd. Storage system for eliminating duplicated data
US8121993B2 (en) * 2009-10-28 2012-02-21 Oracle America, Inc. Data sharing and recovery within a network of untrusted storage devices using data object fingerprinting
US8156306B1 (en) 2009-12-18 2012-04-10 Emc Corporation Systems and methods for using thin provisioning to reclaim space identified by data reduction processes
US8140821B1 (en) 2009-12-18 2012-03-20 Emc Corporation Efficient read/write algorithms and associated mapping for block-level data reduction processes
US8447741B2 (en) 2010-01-25 2013-05-21 Sepaton, Inc. System and method for providing data driven de-duplication services
US8340039B2 (en) * 2010-05-04 2012-12-25 International Business Machines Corporation Deduplicated data processing congestion control
US9401967B2 (en) * 2010-06-09 2016-07-26 Brocade Communications Systems, Inc. Inline wire speed deduplication system
EP2601642B1 (en) 2010-08-04 2018-06-13 Exxonmobil Upstream Research Company System and method for summarizing data on an unstructured grid
US8886613B2 (en) 2010-10-12 2014-11-11 Don Doerner Prioritizing data deduplication
US8849898B2 (en) 2010-12-09 2014-09-30 Jeffrey Vincent TOFANO Adaptive collaborative de-duplication
US9639543B2 (en) 2010-12-28 2017-05-02 Microsoft Technology Licensing, Llc Adaptive index for data deduplication
US8688651B2 (en) 2011-01-25 2014-04-01 Sepaton, Inc. Dynamic deduplication

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346695A (zh) * 2010-07-29 2012-02-08 财团法人工业技术研究院 渐进式备份的基于片段的高延展的去复本系统与方法
US8397080B2 (en) 2010-07-29 2013-03-12 Industrial Technology Research Institute Scalable segment-based data de-duplication system and method for incremental backups
CN102346695B (zh) * 2010-07-29 2014-01-08 财团法人工业技术研究院 渐进式备份的基于片段的高延展的去复本系统与方法
CN102647232A (zh) * 2012-03-29 2012-08-22 中兴通讯股份有限公司 一种同时接入多个业务的方法及装置
CN102647232B (zh) * 2012-03-29 2017-03-29 中兴通讯股份有限公司 一种同时接入多个业务的方法及装置
CN111033481A (zh) * 2017-08-31 2020-04-17 甲骨文国际公司 非易失性存储器上的直接映射的缓冲区高速缓存
CN111033481B (zh) * 2017-08-31 2023-10-27 甲骨文国际公司 非易失性存储器上的直接映射的缓冲区高速缓存
CN113472609A (zh) * 2020-05-25 2021-10-01 汪永强 一种用于无线通信的数据重复发送标记系统
CN113472609B (zh) * 2020-05-25 2024-03-19 汪永强 一种用于无线通信的数据重复发送标记系统
CN113806611A (zh) * 2020-06-17 2021-12-17 海信集团有限公司 一种存储搜索引擎结果的方法及设备

Also Published As

Publication number Publication date
US20080016131A1 (en) 2008-01-17
EP2174225A4 (en) 2011-06-15
JP2010532538A (ja) 2010-10-07
WO2009006278A1 (en) 2009-01-08
US8938595B2 (en) 2015-01-20
EP2174225A1 (en) 2010-04-14

Similar Documents

Publication Publication Date Title
CN101784996A (zh) 仿效存储系统
KR100890573B1 (ko) 에뮬레이팅된 저장 시스템
US9483511B2 (en) Stubbing systems and methods in a data replication environment
US8352422B2 (en) Data restore systems and methods in a replication environment
US8725698B2 (en) Stub file prioritization in a data replication system
US7596713B2 (en) Fast backup storage and fast recovery of data (FBSRD)
US8370593B2 (en) Method and apparatus to manage groups for deduplication
CN101479944B (zh) 基于采样消除重复数据的系统和方法
EP0733235B1 (en) Incremental backup system
US20050108486A1 (en) Emulated storage system supporting instant volume restore
US8850142B2 (en) Enhanced virtual storage replication
US8825653B1 (en) Characterizing and modeling virtual synthetic backup workloads
CN101939737A (zh) 可扩展的重复数据删除机构
JP6271581B2 (ja) 仮想テープライブラリシステム
KR20060080239A (ko) 인스턴트 볼륨 복구를 지원하는 에뮬레이티드 스토리지시스템
JP2007527572A5 (zh)
JP4502748B2 (ja) デジタルアーカイブを保存するボリュームを管理するサーバ及び方法
WO2011123471A1 (en) Stubbing systems and methods in a data replication environment

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

Application publication date: 20100721