CN101286165A - 多路并行现用文件系统 - Google Patents

多路并行现用文件系统 Download PDF

Info

Publication number
CN101286165A
CN101286165A CNA200810083037XA CN200810083037A CN101286165A CN 101286165 A CN101286165 A CN 101286165A CN A200810083037X A CNA200810083037X A CN A200810083037XA CN 200810083037 A CN200810083037 A CN 200810083037A CN 101286165 A CN101286165 A CN 101286165A
Authority
CN
China
Prior art keywords
file system
snapshot
active file
data
active
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
CNA200810083037XA
Other languages
English (en)
Other versions
CN101286165B (zh
Inventor
D·希茨
J·爱德华兹
B·路易斯
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.)
NetApp Inc
Original Assignee
Network Appliance 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29710381&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101286165(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Network Appliance Inc filed Critical Network Appliance Inc
Publication of CN101286165A publication Critical patent/CN101286165A/zh
Application granted granted Critical
Publication of CN101286165B publication Critical patent/CN101286165B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

本发明涉及多路并行现用文件系统。多个现用文件系统(100)的维护,其中每一现用文件系统初始访问与另一现用文件系统共享的数据(120),其中对每一现用文件系统的改动都不反映在其他现用文件系统中。当第二现用文件系统基于第一现用文件系统被创建时,该第一现用文件系统和第二现用文件系统初始共享数据。当对第一现用文件系统进行改动时,修改的数据被记录在第一现用文件系统中的不与第二现用文件系统共享的特定区域中。当对第二现用文件系统进行改动时,修改的数据被记录在第二现用文件系统中的不与第一现用文件系统共享的特定区域中。同样的,创建多个现用文件系统。

Description

多路并行现用文件系统
技术领域
本发明涉及一种多路并发可写文件系统。
背景技术
文件系统提供一个用于存储信息的结构,例如存储在如磁盘驱动器,CD-ROM驱动器等的存储装置中的应用程序,文件系统信息,其他数据等(以下统称为简单数据)。多数文件系统的一个问题是一旦文件系统由于未知原因被破坏,大量数据就会丢失。
为了避免类似的数据丢失,文件系统通常创建文件备份。创建文件系统的备份的一个非常有效的方法就是创建该文件系统的快照(snapshot)。快照是在一致性点状态时的文件系统的映像,在文件系统中的点是自相容的。如果其中存储的数据能构成一个有效的文件系统映像,则该文件系统是自相容的。
在某些文件系统中,例如随意可写文件系统分布(WAFL)文件系统,可以通过对文件系统中与数据组织有关的信息复制来创建该文件系统的快照。然后,只要数据本身保存在存储装置中,就可以通过快照对数据进行访问。这些文件系统中提供例如通过框图(block map)的机制来保存这些数据。
通常,快照是只读的。只读的快照可以用于调用之前的数据文本来修复文件系统中的损害。这些功能十分有用。但是,这些类型的快照并不能提供特定的其他可能有用的功能。
发明内容
如果快照也能够可写,以便用户可以修改快照,则这会更有利。这能够有多项好处:
使纠正快照中存储的错误条目成为可能。
使删除想要从文件系统中清除的资料成为可能。
使对文件系统中(或基于文件系统保持的数据)的“经验”文本做出改动成为可能。文件系统的“经验”文本是灾难性错误不能导致“真正”有效文本中数据丢失的文件系统的文本。
使操文件系统中的操作的倒置错误升级,或在有保护的情况下对文件系统某些程序或数据库的操作成为可能。
可写的快照实际上是另一个现用文件系统。因为该现用文件系统是基于来自与另一现用文件系统的数据的,对现用文件系统的经验性的修改和变化可以被制成可写快照,而不必冒对原始现用文件系统造成损害的风险。另外,由于快照可以通过仅对原始信息的复制和对现有数据的保存而创建,可写快照(例如,新建现用文件系统)可以利用少数系统资源而简单地创建。
这里描述的上述优点和其他优点由本发明的一个实施例提供,其中多个现用文件系统被维护,每个现用文件系统初始访问与另一个现用文件系统共享的数据,并且其中对每一个现用文件系统的变动都不会反映在其它现用文件系统中。
在优选实施例中,当一个第二现用文件系统基于一个第一现用文件系统被创建时,第一现用文件系统和第二现用文件系统初始共享数据。当改动发生在第一现用文件系统中时,修改后的数据被记录在第一现用文件系统中的不与第二现用文件系统共享的特定区域。当变动发生在第二现用文件系统中时,修改后的数据被记录在第二现用文件系统中的不与第一现用文件系统共享的特定区域。
更多的快照更适宜由多个现用文件系统中的任何一个创建,每一个快照在过去的一致性点处构成其各自的现用文件系统的映像。每个快照包括用于文件系统数据的一个完整的层次,与多个现用文件系统的现用文件系统数据分开并隔离。这些快照之一通过使该快照可写并从任意现用文件系统中切断指向新的现用文件系统的快照指针而被接着转换成一个新的文件系统。
本发明同样围绕包括用于执行上述操作指令的存储器及实现上述操作的存储系统。
简要说明的提供用于使本发明的本质能够被更快的理解。通过以下对优选实施例及相应的附图的说明能够对本发明的内容更为详尽的理解。
附图说明
图1说明了根据本发明的可以被转换成一现用文件系统的快照的创造。
图2说明了根据一个现用文件系统的快照的该现用文件系统的发散。
图3说明了图2中现用文件系统和快照之间的关系。
图4说明了根据本发明的能够被转换成一现用文件系统的快照的链。
图5说明了图4中现用文件系统和快照之间的关系。
图6说明了根据本发明已经被转换成一现用文件系统的快照。
图7说明了图6中现用文件系统、新现用文件系统及快照之间的关系。
图8说明了根据本发明能够转换成一现用文件系统的快照的一个更复杂的链。
图9说明了用于根据本发明被转换成一现用文件系统的快照之一的如图8所示的链。
图10说明了根据本发明多个现用文件系统和与其关联的快照之间的更多的可能关系。
图11说明了根据本发明包括多个现用文件系统的存储系统的框图。
图12说明了根据本发明被多路并行文件服务器使用的包括多路并行的现用文件系统的文件系统簇的框图。
具体实施方式
词典
以下对本发明涉及或关联到的术语进行说明。以下只是对这些术语进行举例说明,对其通常含义并未进行限定。
数据——通常指任何信息。谈到一个存储装置或一文件系统,任何存储在存储装置或文件系统中的数据,包括但是并非限定于应用程序和数据,多媒体数据,存储装置或文件系统中的组织数据,等等。
组织数据——通常,详细说明文件系统中其他数据的布局的数据。在一个随意可写文件系统分布(WAFL)设计中,组织数据包括一个根结点用于直接或间接(例如,通过其他结点)指向代表文件系统中全部文件的数据块。在WAFL设计中,所有数据包括组织数据(及根结点及其它结点)均被存储在数据块中。
结点——通常,指一个信息结点。在WAFL设计中,一个信息结点包括有关文件系统中其它数据块的数据。
自相容(在文件系统的范围内)——通常,当存储在一个文件系统中的数据(其包括有关该文件系统的组织的数据)构成一个有效的文件系统映像时,该文件系统称为自相容。
一致性点——通常,一个一性致点或指(a)文件系统自相容的时间,或指(b)在一致性点时的文件系统中保持的一组数据。
快照——通常,快照是在一致点时间时的文件系统中保持的数据的写记录。尽管,在一优选实施例中,每一个快照都是(a)以与现用文件系统类似的格式保持和(b)利用文件系统名条是可参考的,但本发明在此处没有对其中某一种情况做出特别限制。
现用文件系统——通常,现用文件系统指一组能够被访问和修改的数据。
文件系统层次——通常,文件系统层次或涉及(a)将数据组织成名字空间(namespace),或者(b)一组数据块及其互联,用于记录和访问信息,无论数据还是元数据均被保持在存储装置中。
如上所述,对这些术语的普通含义的说明并非对其进行限定,仅是举例说明。本发明的其他及进一步的应用,包括这些术语和概念的扩展,对本领域技术人员来说都是清楚的。本发明其它及进一步的应用均是本发明范围和精神的一部分,对本领域技术人员来说都是显而易见的。
快照和现用文件系统
图1说明了根据本发明的可以被转换成一现用文件系统的快照的创建。
图1中的文件系统100存在于一个或多个存储装置,例如硬盘驱动器,CD-ROM,或其他装置,在一个优选实施例中,文件系统100是一个WAFL系统,尽管并非必须是上述情况。
文件系统100包括根结点110和数据120,以及其他数据。文件系统100中的全部结点和数据优选的被存储在数据块中,尽管并非必须是上述情况。
根结点110存储文件系统100的部分组织数据。特别的,根结点110指向数据和其它结点以及依次指向存储在文件系统100所有信息的数据的其它数据。这样从根结点110开始就可以到达在文件系统100中存储的任意信息。
快照130由文件系统100形成。在图1中,快照130的元素由虚线示出,用于区别文件系统100中的其它元素。根据本发明的一个优选实施例,快照可以通过在文件系统100的一致性点时简单地复制根结点110到快照根结点140来形成。在一些实施例中,附加的组织数据可能也需要被复制。然后,只要由根结点110(及其它任意复制的组织数据)指向的所有数据和结点都被保存,快照根结点140将指向一个对文件系统100的有效复制。
快照根结点140被创建后,快照130和文件系统100实际上共享存储在一个或多个存储装置上的数据。因此,快照130优选的包括与文件系统100相同的存储在一个或多个存储装置中的物理数据120,如在图1中由环绕数据120周围的双实线和虚线边界示出。换句话说,快照和文件系统重叠。这样允许有效利用存储空间和其它系统资源快速地创建快照130。
文件系统100优选的包括用于指向文件系统100的快照的快照数据150。特别的,快照数据中的指针160优选的指向那些快照的根结点。
快照130优选的包括用于指向其它快照的快照数据170。然而,快照130的快照数据170能够和文件系统100的快照数据150区分开来,这是因为快照130优选的不指向它自己。上述区别在图1中由在文件系统100中切断快照数据150周围的快照130而示出。
优选的,根据本发明的每个文件系统的快照包括文件系统数据的一个完整的层次,与现用文件系统的现用文件系统数据分开并隔离。该层次包括在快照的根结点中,并且可能包含为快照复制的其它结点和数据中(未示出)。
对于快照,没有对文件系统层次的特殊要求以复制最初用于相关联的现用文件系统的名字空间。在一个优选实施例中,在快照根结点(和其它组织数据)中的文件名可以通过哈希代码或其它技术压缩,这样可以使为每个快照所必须存储的组织数据最小化。但是,在一个可替换实施例中,在一些优选的可能情况下,优先的以用户相对容易的阅读的形式,存储每个快照的原始名称空间和其它组织数据。这样有益于用户基于这种快照的备份和恢复操作。
图2说明了根据一个现用文件系统的快照的该现用文件系统的发散。
由于文件系统100是有效的,必须能够提供一个机制用于实现在文件系统中数据的变动。然而,为了保持快照130的完整性,快照根结点140指向的数据必须被保存。因此,例如当文件系统100中的数据120改变时,修改后的数据120’被存储在一个或多个存储装置中。文件系统100的根结点110和任何插进的结点以及组织数据被更新以便指向修改后的数据120’。此外,没有修改的数据120被存储在一个或多个存储装置中。快照根结点140继续指向该未修改的数据,从而保存快照130的完整性。
同样的,当数据从现用文件系统100中被删除时,指向该数据的指针从文件系统中去除。然而,如果数据本身包括在快照130中,则该数据将被保存。(当快照本身被去除时该数据实际被删除。)
在实际操作中,为文件系统100的多处改变而对根结点110、其它结点、以及数据的改变都在写入一个或多个存储装置前被存储。上述的改变被写入后,文件系统100自相容(也就是,在一致性点)。优选的,快照仅在该一致性点处进行。
根据本发明,快照130可以通过使快照可写的方式被转换成一个新的现用文件系统。为了修改可写快照130中的数据,修改的数据被写入一个或多个存储装置中。指向修改的数据的根结点140和任何插进的结点以及组织数据被更新。此外,如果数据仍包括在文件系统100中,则未改变的数据的复本被保存。这一处理实质上等同于当文件系统100被修改时,已存储的还未改变的数据只是根结点110指向的数据。
换句话说,当对第一现用文件系统(例如,文件系统100)改动时,修改的数据被记录在第一现用文件系统的中的不与第二现用文件系统(例如,可写快照130)共享的特定区域。同样的,当对第二现用文件系统改动时,修改的数据被记录在第二现用文件系统中的不与第一现用文件系统共享的特定区域。结果是,对第一现用文件系统的改动不反映在第二现用文件系统中,对第二现用文件系统的改动不反映在第一现用文件系统中。
被创建后,快照130基本上与文件系统100重叠。如果在创建快照后不久使其可写,则由可写快照构成的新的现用文件系统将初始与已存在的现用文件系统共享其几乎全部数据。结果是,本发明允许有效的利用例如处理时间及存储空间的资源来创建一个完整的新的现用文件系统。
存储改变的数据及保存未改变的数据的处理使文件系统100和快照130(无论是只读还是可写的)从一个向另一个发散。该发散通过减少文件系统100与快照130之间的重叠部分在图2中典型示出。
图3说明了图2中现用文件系统和快照之间的关系。这种类型的图示提供了在文件系统与其快照之间关系的简化视图。图3中,文件系统100指向快照130。另外,文件系统100与快照130都指向其他快照(未示出)。
图4说明了根据本发明的能够被转换成现用文件系统的快照的链。图中,第二快照180已从文件系统100中创建。由于在第二快照创建时,快照100仍指向快照130,所以快照180包括指向快照130的快照数据190。
快照130和快照180中的任一个或二者可以通过使其成为可写快照而被转换为现用文件系统。由于数据被写入现用文件系统(例如,文件系统100,可写快照130,或可写快照180)中的任意一个,文件系统会从一个向另一个发散。
图5说明了图4中现用文件系统和快照之间的关系。图5中,文件系统100指向快照130和快照180。同样的,快照180指向快照130,快照130依次指向另一个或多个快照。
图6说明了根据本发明已经被转换成一现用文件系统的快照。在该图中,通过使快照180成为可写快照,该快照180已被转换为现用文件系统180’。由于该新的现用文件系统可以被修改,它不再代表文件系统100的真实快照。作为结果,文件系统100的快照数据150中的指向快照180的快照指针已被切断,例如被删除。
图7说明了图6中现用文件系统、新的现用文件系统及快照之间的关系。图中,现用文件系统100指向快照130。同样的,现用文件系统180’也指向快照130。如上所述,文件系统100优选的不再包括指向快照180的快照指针。但是,文件系统100仍可包括指向文件系统180的指针,例如允许从一个文件统到另一个文件系统的遍历。该文件系统内部指针在图7中用虚线示出,以区别其它快照指针。
图8说明了根据本发明能够转换成一现用文件系统的快照一个更复杂的链。图8中,文件系统800为一现用文件系统。由该文件系统已经建立了4个快照。快照810为最早建立的,其次为快照820,再次为快照830,最后建立的为快照840。任意比快照810早建立的快照都已被删除,从而释放不再与其它任意快照或现用文件系统重叠的数据所占用的存储空间。快照810至快照840中的每一个都可以通过使其成为可写快照而转换为一现用文件系统。
图9说明了用于根据本发明被转换成一现用文件系统的快照的如图8所示的链。
图9中,快照830已被转换为现用文件系统830’,在现用文件系统830’中,数据可以被修改,增加,和删除。作为结果,文件系统800优选的不再指向快照830作为快照。现用文件系统830’可以继续指向快照810和快照820。
图10说明了根据本发明多个现用文件系统和与其关联的快照之间的更多的可能关系。
图10的上部与图9相符,除了增加的由现用文件系统创建的快照以外。由此,快照1000已由文件系统800创建,快照1010已由文件系统830’创建。此外,快照810已被删除,以释放一个或多个存储装置的空间。
现用文件系统800和现用文件系统830’均可追溯到一个公共快照820。然而,当那个快照被删除后,现用文件系统不再共享一个公共快照。这种情况涉及文件系统1020及快照1030至快照1050。这种配置说明,有可能依靠现用文件系统和与其关联的快照之间的链形成“森林”(也就是,非连接的树的集合),全部都在一存储装置或一组存储装置中。尽管事实上文件系统及其快照不再指向一公共快照,但这些快照与现用文件系统依然共享某些数据(也就是,重叠),从而保持本发明的功效。
如上所述,新的现用文件系统由快照创建,但是,本发明并未要求为了创建一新的现用文件系统而实际创建一个快照。相反,所需要的是沿在快照中已建立的结构的线建立结构,即沿在快照根结点中已建立的组织数据的线建立组织数据,和由该组织数据指向的数据的保存。
此外,本发明并不限制上述特定配置,相反,上述配置是举例说明了现用文件系统、快照及新的现用文件系统之间的一些可能的关系。其它配置也是可能的,并包括在本发明的范围内。
系统元素
图11说明了根据本发明包括多个现用文件系统的存储系统的框图。
系统1100包括了至少一个文件系统处理器1110(也就是,控制器)和至少一个存储装置1120,例如硬盘或CD-ROM驱动器。该系统优选包括一个与至少一个计算装置或网络连接的接口1130,用于接收和发送信息。在一个可选的实施例中,处理器1100为通过接口1130与存储系统相连的计算装置的处理器。
处理器1110在受程序和数据存储器的控制下执行与文件系统相关联的任务,如这里描述的,程序和数据存储器包括适当的软件,用于控制处理器1110执行对存储装置1120的操作(和可能控制存储装置1120以便与处理器1110协作)。
在一个优选实施例中,至少一个所述存储装置1120包括一个或多个根记录1140。每一个根记录1140包括指定在一个现用文件系统的文件系统层次中的根数据块(也就是,结点)的两个或多个(优选为两个)入口。如果只有一个现用文件系统,则优选的有一个所述根记录;如果有一个以上所述现用文件系统,则优选的有一个以上所述根记录。
如上所述,一个以上现用文件系统会存在于存储装置1120中。在所述情况中,文件系统的维护者(即,在程序控制下操作的处理器1110)优选的指定和有序的维护一个以上的根记录1140,用于每一个所述现用文件系统。
只读快照在存在于存储装置1120中。在这种情况下,从现用文件系统指向快照的指针和从快照指向其它快照的指针均存储在存储装置中,如上所述。
高可用性
图12说明了根据本发明包括被多路并行文件服务器使用的多路并行的现用文件系统的文件系统簇的框图。
一个文件系统簇包括多个文件系统处理器1200和一个或多个文件系统盘1210。在一个优选实施例中,每个所述处理器1200被设置作为文件服务器操作,能够接收文件服务器请求和做出文件服务器响应,例如使用公知的文件服务器协议。在一优选实施例中,一个或多个文件服务器盘1210包括多个这样的盘使得对于整个高可用性簇没有一个盘1210呈现单点故障。优选结合本发明使用的随意可写文件系统分布(WAFL)结合上述配置。
如上所述,多个处理器1200保存多个并行可写现用文件系统1210以及与这些并行可写现用文件系统关联的快照。现用文件系统和快照保存在相同的一组盘1220中。由此,该一组处理器1200和一组盘1220提供一个高可用性的簇,而不需要资源的实质复制。
可替换实施例
本发明可以通过创建和保存多个现用文件系统的方法,以及执行该方法的软件和/或硬件例如一个或多个存储装置,或者以其它不同实施例来实现。
如上所述,本发明的优选实施例已经通过优选的处理步骤及数据结构说明了。但是,本领域技术人员可以认识到,在研究了本申请后,本发明的实施例可以通过使用适应于在程序控制下的特殊处理步骤和数据结构的一个或多个通用处理器或专用处理器来实施。该特殊的处理步骤和数据结构可以以存储在存储器、传送至存储器或来自存储器(例如,固定的存储器例如DRAM,SRAM,硬盘,高速缓冲存储器等,以及可移动存储器例如软盘,CD-ROM,数据磁带等)的信息形式实现。该存储器包括处理器执行的指令(例如,直接可执行的目标代码,编译后执行的源代码,通过解释后可执行的代码),使用所述设备执行这里描述的优选处理步骤和数据结构不需要不适当的实验或者其它发明。
此外,尽管以上揭示了本发明的优选实施例,本领域技术人员在熟读本申请后能够理解,在不脱离本发明的内容,范围和精神的前提下,可以对本发明做出变化。

Claims (18)

1、一种操作多个现用文件系统的方法,包括:
产生多个现用文件系统中的第一现用文件系统的快照,其中该第一现用文件系统管理多个数据块,并且快照初始访问与第一现用文件系统共享的多个数据块;和
通过将快照设置为可写快照而将该快照转换到第二现用文件系统,其中在转换之后,对第一现用文件系统或者第二现用文件系统的改动不存储在多个数据块的任一个中。
2、如权利要求1所述方法,其中快照包括完整的文件系统层次,该完整的文件系统层次不与第一现用文件系统共享。
3、如权利要求1所述方法,还包括从多个现用文件系统中的一个形成多个快照,每个快照在过去的一个一致性点处形成其相应的现用文件系统的映像。
4、如权利要求3所述方法,其中多个快照中的每一个被设置成可写快照并且转换成新的现用文件系统。
5、如权利要求4所述方法,其中多个快照中的每一个在设置成可写快照之后被删除。
6、如权利要求1所述方法,其中第一现用文件系统包括指向快照的快照指针。
7、如权利要求1所述方法,其中第一现用文件系统包括指向第二现用文件系统的文件系统内部指针。
8、如权利要求6所述方法,还包括将快照指针从第一现用文件系统提供到第二现用文件系统。
9、如权利要求1所述方法,还包括使用哈希代码来压缩该快照。
10、一种存储系统,包括:
存储装置;
连接计算装置或网络的接口,用于接收和发送信息;和
用于控制存储装置和存储装置中的信息检索的控制器,该控制器在程序的控制下操作用于产生多个现用文件系统中的第一现用文件系统的快照,其中该第一现用文件系统管理多个数据块,并且快照初始访问与第一现用文件系统共享的多个数据块;和
通过将快照设置为可写快照而将该快照转换到第二现用文件系统,其中在转换之后,对第一现用文件系统或第二现用文件系统的改动不存储在多个数据块的任一个中。
11、如权利要求10所述的存储系统,其中快照包括完整的文件系统层次,该完整的文件系统层次不与第一现用文件系统共享。
12、如权利要求10所述的存储系统,其中控制器在程序的控制下操作以便从多个现用文件系统中的一个形成多个快照,每个快照在过去的一个一致性点处形成其相应的现用文件系统的映像。
13、如权利要求12所述存储系统,其中多个快照中的每一个被设置成可写快照并且转换成新的现用文件系统。
14、如权利要求13所述存储系统,其中多个快照中的每一个在设置成可写快照之后被删除。
15、如权利要求10所述存储系统,其中第一现用文件系统包括指向快照的快照指针。
16、如权利要求10所述存储系统,其中第一现用文件系统包括指向第二现用文件系统的文件系统内部指针。
17、如权利要求15所述存储系统,其中控制器在程序的控制下操作以便将快照指针从第一现用文件系统提供到第二现用文件系统。
18、如权利要求10所述存储系统,其中控制器在程序的控制下操作以便使用哈希代码来压缩该快照。
CN200810083037XA 2002-06-07 2003-06-03 多路并行现用文件系统 Expired - Lifetime CN101286165B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/165,188 2002-06-07
US10/165,188 US6857001B2 (en) 2002-06-07 2002-06-07 Multiple concurrent active file systems
US10/165188 2002-06-07

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB038131404A Division CN100388276C (zh) 2002-06-07 2003-06-03 多路并行现用文件系统

Publications (2)

Publication Number Publication Date
CN101286165A true CN101286165A (zh) 2008-10-15
CN101286165B CN101286165B (zh) 2012-11-14

Family

ID=29710381

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB038131404A Expired - Lifetime CN100388276C (zh) 2002-06-07 2003-06-03 多路并行现用文件系统
CN200810083037XA Expired - Lifetime CN101286165B (zh) 2002-06-07 2003-06-03 多路并行现用文件系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB038131404A Expired - Lifetime CN100388276C (zh) 2002-06-07 2003-06-03 多路并行现用文件系统

Country Status (9)

Country Link
US (3) US6857001B2 (zh)
EP (1) EP1535198B1 (zh)
JP (1) JP4620457B2 (zh)
CN (2) CN100388276C (zh)
AU (1) AU2003243379A1 (zh)
DE (1) DE60333648D1 (zh)
HK (1) HK1076321A1 (zh)
IL (1) IL165467A (zh)
WO (1) WO2003105026A1 (zh)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934251B2 (en) * 1999-12-02 2011-04-26 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6857001B2 (en) 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7200603B1 (en) * 2004-01-08 2007-04-03 Network Appliance, Inc. In a data storage server, for each subsets which does not contain compressed data after the compression, a predetermined value is stored in the corresponding entry of the corresponding compression group to indicate that corresponding data is compressed
US7343449B2 (en) * 2004-03-22 2008-03-11 Hitachi, Ltd. Storage subsystem and storage system
JP4439960B2 (ja) * 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
US7424574B1 (en) 2004-04-21 2008-09-09 Sun Microsystems, Inc. Method and apparatus for dynamic striping
US7415653B1 (en) 2004-04-21 2008-08-19 Sun Microsystems, Inc. Method and apparatus for vectored block-level checksum for file system data integrity
US7603568B1 (en) 2004-04-21 2009-10-13 Sun Microsystems, Inc. Method and apparatus for self-validating checksums in a file system
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
US7334094B2 (en) * 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7496586B1 (en) 2004-05-26 2009-02-24 Sun Microsystems, Inc. Method and apparatus for compressing data in a file system
US7412450B1 (en) 2004-05-26 2008-08-12 Sun Microsystems, Inc. Method and apparatus for identifying tampering of data in a file system
US7526622B1 (en) 2004-05-26 2009-04-28 Sun Microsystems, Inc. Method and system for detecting and correcting data errors using checksums and replication
US7533225B1 (en) 2004-08-17 2009-05-12 Sun Microsystems, Inc. Method and apparatus for enabling adaptive endianness
US7437528B1 (en) 2004-08-17 2008-10-14 Sun Microsystems, Inc. Gang blocks
JP4437432B2 (ja) * 2004-09-30 2010-03-24 株式会社日立製作所 計算機システム
US20060136508A1 (en) * 2004-12-16 2006-06-22 Sam Idicula Techniques for providing locks for file operations in a database management system
US7548918B2 (en) * 2004-12-16 2009-06-16 Oracle International Corporation Techniques for maintaining consistency for different requestors of files in a database management system
US7716260B2 (en) * 2004-12-16 2010-05-11 Oracle International Corporation Techniques for transaction semantics for a database server performing file operations
US7627574B2 (en) * 2004-12-16 2009-12-01 Oracle International Corporation Infrastructure for performing file operations by a database server
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
US7899795B1 (en) 2005-04-28 2011-03-01 Network Appliance, Inc. Method and system for recovering lost data volumes
US7552146B1 (en) * 2005-04-28 2009-06-23 Network Appliance, Inc. Method and apparatus for offline and online consistency checking of aggregates and flexible volumes
US7613743B1 (en) * 2005-06-10 2009-11-03 Apple Inc. Methods and apparatuses for data protection
US7809675B2 (en) * 2005-06-29 2010-10-05 Oracle International Corporation Sharing state information among a plurality of file operation servers
US8959125B2 (en) * 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US20070055710A1 (en) * 2005-09-06 2007-03-08 Reldata, Inc. BLOCK SNAPSHOTS OVER iSCSI
US7664791B1 (en) * 2005-10-26 2010-02-16 Netapp, Inc. Concurrent creation of persistent point-in-time images of multiple independent file systems
US20070112895A1 (en) * 2005-11-04 2007-05-17 Sun Microsystems, Inc. Block-based incremental backup
US20070106868A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Method and system for latency-directed block allocation
US7925827B2 (en) * 2005-11-04 2011-04-12 Oracle America, Inc. Method and system for dirty time logging
US7899989B2 (en) * 2005-11-04 2011-03-01 Oracle America, Inc. Method and system for using a block allocation policy
US7480684B2 (en) * 2005-11-04 2009-01-20 Sun Microsystems, Inc. Method and system for object allocation using fill counts
US7689877B2 (en) * 2005-11-04 2010-03-30 Sun Microsystems, Inc. Method and system using checksums to repair data
US7657671B2 (en) * 2005-11-04 2010-02-02 Sun Microsystems, Inc. Adaptive resilvering I/O scheduling
US7873799B2 (en) * 2005-11-04 2011-01-18 Oracle America, Inc. Method and system supporting per-file and per-block replication
US7716519B2 (en) * 2005-11-04 2010-05-11 Oracle America, Inc. Method and system for repairing partially damaged blocks
US7877554B2 (en) * 2005-11-04 2011-01-25 Oracle America, Inc. Method and system for block reallocation
US7743225B2 (en) * 2005-11-04 2010-06-22 Oracle America, Inc. Ditto blocks
US8495010B2 (en) * 2005-11-04 2013-07-23 Oracle America, Inc. Method and system for adaptive metadata replication
US7865673B2 (en) * 2005-11-04 2011-01-04 Oracle America, Inc. Multiple replication levels with pooled devices
US8635190B2 (en) * 2005-11-04 2014-01-21 Oracle America, Inc. Method and system for pruned resilvering using a dirty time log
US7716445B2 (en) * 2005-11-04 2010-05-11 Oracle America, Inc. Method and system for storing a sparse file using fill counts
US7596739B2 (en) * 2005-11-04 2009-09-29 Sun Microsystems, Inc. Method and system for data replication
US8549051B2 (en) * 2005-11-04 2013-10-01 Oracle America, Inc. Unlimited file system snapshots and clones
US7930495B2 (en) * 2005-11-04 2011-04-19 Oracle America, Inc. Method and system for dirty time log directed resilvering
US8938594B2 (en) * 2005-11-04 2015-01-20 Oracle America, Inc. Method and system for metadata-based resilvering
US7490096B2 (en) * 2005-11-04 2009-02-10 Sun Microsystems, Inc. Automatic intent log testing
US7610304B2 (en) * 2005-12-05 2009-10-27 Oracle International Corporation Techniques for performing file operations involving a link at a database management system
US7464116B2 (en) * 2005-12-28 2008-12-09 Network Appliance, Inc. Method and apparatus for cloning filesystems across computing systems
US7509467B2 (en) * 2006-01-13 2009-03-24 Hitachi, Ltd. Storage controller and data management method
JP4800056B2 (ja) * 2006-02-09 2011-10-26 株式会社日立製作所 ストレージシステム及びその制御方法
US20070179981A1 (en) * 2006-01-31 2007-08-02 International Business Machines Corporation Efficient data management in a cluster file system
US7788456B1 (en) 2006-02-16 2010-08-31 Network Appliance, Inc. Use of data images to allow release of unneeded data storage
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US20080034004A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler System for electronic backup
US7860839B2 (en) * 2006-08-04 2010-12-28 Apple Inc. Application-based backup-restore of electronic information
US9009115B2 (en) * 2006-08-04 2015-04-14 Apple Inc. Restoring electronic information
US7856424B2 (en) * 2006-08-04 2010-12-21 Apple Inc. User interface for backup management
US20080034017A1 (en) * 2006-08-04 2008-02-07 Dominic Giampaolo Links to a common item in a data structure
US20080034019A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler System for multi-device electronic backup
US8311988B2 (en) * 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information
US8166415B2 (en) 2006-08-04 2012-04-24 Apple Inc. User interface for backup management
US7853566B2 (en) 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups
US8370853B2 (en) * 2006-08-04 2013-02-05 Apple Inc. Event notification management
US7809688B2 (en) * 2006-08-04 2010-10-05 Apple Inc. Managing backup of content
US20080126442A1 (en) * 2006-08-04 2008-05-29 Pavel Cisler Architecture for back up and/or recovery of electronic data
US7853567B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Conflict resolution in recovery of electronic data
US7809687B2 (en) * 2006-08-04 2010-10-05 Apple Inc. Searching a backup archive
US8566503B2 (en) * 2006-08-25 2013-10-22 Qnx Software Systems Limited Multimedia filesystem having unified representation of content on diverse multimedia devices
US7840657B2 (en) * 2006-10-31 2010-11-23 Oracle America, Inc. Method and apparatus for power-managing storage devices in a storage pool
US7584229B2 (en) * 2006-10-31 2009-09-01 Sun Microsystems, Inc. Method and system for priority-based allocation in a storage pool
US7783847B2 (en) * 2006-10-31 2010-08-24 Oracle America Inc. Method and system for reallocating blocks in a storage pool
US8099392B2 (en) * 2007-06-08 2012-01-17 Apple Inc. Electronic backup of applications
US8429425B2 (en) * 2007-06-08 2013-04-23 Apple Inc. Electronic backup and restoration of encrypted data
EP2372553B1 (en) * 2007-06-08 2013-01-30 Apple Inc. Application-based backup-restore of electronic information
US20080307017A1 (en) * 2007-06-08 2008-12-11 Apple Inc. Searching and Restoring of Backups
US8745523B2 (en) * 2007-06-08 2014-06-03 Apple Inc. Deletion in electronic backups
US8468136B2 (en) * 2007-06-08 2013-06-18 Apple Inc. Efficient data backup
US8010900B2 (en) * 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US8307004B2 (en) 2007-06-08 2012-11-06 Apple Inc. Manipulating electronic backups
US8725965B2 (en) * 2007-06-08 2014-05-13 Apple Inc. System setup for electronic backup
US7844853B2 (en) * 2007-08-07 2010-11-30 International Business Machines Corporation Methods and apparatus for restoring a node state
US8484239B2 (en) 2007-08-29 2013-07-09 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus in a database system
US7792882B2 (en) * 2007-09-27 2010-09-07 Oracle America, Inc. Method and system for block allocation for hybrid drives
US8504904B2 (en) 2008-01-16 2013-08-06 Hitachi Data Systems Engineering UK Limited Validating objects in a data storage system
WO2009049023A2 (en) * 2007-10-12 2009-04-16 Bluearc Uk Limited Multi-way checkpoints in a data storage system
US9767120B2 (en) 2008-01-16 2017-09-19 Hitachi Data Systems Engineering UK Limited Multi-way checkpoints in a data storage system
US8112465B2 (en) 2007-10-12 2012-02-07 Bluearc Uk Limited System, device, and method for validating data structures in a storage system
US8095728B2 (en) * 2008-04-18 2012-01-10 Oracle America, Inc. Method and system for power aware I/O scheduling
US8112464B2 (en) * 2008-04-28 2012-02-07 Microsoft Corporation On-demand access to container file directories
US8321482B2 (en) * 2008-04-28 2012-11-27 Microsoft Corporation Selectively modifying files of a container file
US8037279B2 (en) * 2008-06-12 2011-10-11 Oracle America, Inc. Method and system for cross-domain data sharing
US8135907B2 (en) * 2008-06-30 2012-03-13 Oracle America, Inc. Method and system for managing wear-level aware file systems
US8732417B1 (en) * 2008-10-15 2014-05-20 Symantec Corporation Techniques for creating snapshots of a target system
US8370589B1 (en) * 2008-10-23 2013-02-05 Netapp, Inc. System and method for re-use of writeable PPIs
JP2010102479A (ja) 2008-10-23 2010-05-06 Hitachi Ltd 計算機システム、ストレージ装置及びデータ更新方法
US8260745B2 (en) * 2008-12-15 2012-09-04 At&T Intellectual Property I, L.P. Method and system for managing multiple instance subscriber records in unified messaging systems
US8099390B2 (en) * 2008-12-15 2012-01-17 At&T Intellectual Property I, L.P. Method and system for managing changes in organizational data in unified messaging systems
US8566362B2 (en) 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
US8793223B1 (en) 2009-02-09 2014-07-29 Netapp, Inc. Online data consistency checking in a network storage system with optional committal of remedial changes
JP5339432B2 (ja) * 2009-02-25 2013-11-13 日本電気株式会社 ストレージシステム
US8321645B2 (en) * 2009-04-29 2012-11-27 Netapp, Inc. Mechanisms for moving data in a hybrid aggregate
CN102460415A (zh) 2009-05-13 2012-05-16 惠普开发有限公司 用于虚拟盘版本控制的系统
US8032498B1 (en) 2009-06-29 2011-10-04 Emc Corporation Delegated reference count base file versioning
US8280858B2 (en) * 2009-06-29 2012-10-02 Oracle America, Inc. Storage pool scrubbing with concurrent snapshots
US8392386B2 (en) 2009-08-05 2013-03-05 International Business Machines Corporation Tracking file contents
US8161077B2 (en) * 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
EP2513797A4 (en) * 2009-12-14 2016-09-28 Daj Asparna Ltd REVISION CONTROL SYSTEM AND METHOD
US9106591B2 (en) 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US10564944B2 (en) 2010-01-07 2020-02-18 Microsoft Technology Licensing, Llc Efficient immutable syntax representation with incremental change
US8306950B2 (en) * 2010-08-26 2012-11-06 International Business Machines Corporation Managing data access requests after persistent snapshots
US8799231B2 (en) 2010-08-30 2014-08-05 Nasuni Corporation Versioned file system with fast restore
WO2012035575A1 (en) 2010-09-14 2012-03-22 Hitachi, Ltd. Method and device for eliminating patch duplication
EP2628100A4 (en) * 2010-10-12 2016-12-21 Nasuni Corp SHARED VERSION FILE SYSTEM
US9059898B2 (en) * 2010-12-07 2015-06-16 General Electric Company System and method for tracking configuration changes in enterprise product
WO2012081050A1 (en) 2010-12-14 2012-06-21 Hitachi, Ltd. Failure recovery method in information processing system and information processing system
US8943026B2 (en) 2011-01-14 2015-01-27 Apple Inc. Visual representation of a local backup
US8984029B2 (en) 2011-01-14 2015-03-17 Apple Inc. File system management
US8676763B2 (en) * 2011-02-08 2014-03-18 International Business Machines Corporation Remote data protection in a networked storage computing environment
US8527716B2 (en) 2011-09-20 2013-09-03 Hitachi, Ltd. Volume sharing method and storage system using the same
US8600939B2 (en) * 2011-10-24 2013-12-03 Oracle International Corporation Writable snapshots
CN102508744A (zh) * 2011-11-10 2012-06-20 浪潮电子信息产业股份有限公司 一种减少系统资源开销的快照实现方法
US10803028B2 (en) 2011-12-21 2020-10-13 Sybase, Inc. Multiphase approach to data availability
US20150193435A1 (en) * 2012-02-06 2015-07-09 Google Inc. Visualizing document revision history using layers
US20130326323A1 (en) 2012-05-30 2013-12-05 Google Inc. Systems and methods for displaying contextual revision history
US9582219B2 (en) 2013-03-12 2017-02-28 Netapp, Inc. Technique for rapidly converting between storage representations in a virtualized computing environment
US10216531B2 (en) 2014-05-12 2019-02-26 Netapp, Inc. Techniques for virtual machine shifting
US9841991B2 (en) 2014-05-12 2017-12-12 Netapp, Inc. Techniques for virtual machine migration
US10311153B2 (en) 2014-11-28 2019-06-04 Nasuni Corporation Versioned file system with global lock
CN104484471B (zh) * 2014-12-31 2017-09-15 天津南大通用数据技术股份有限公司 一种高性能数据存储引擎的实现方法
CN105893266B (zh) * 2015-01-04 2020-04-28 伊姆西Ip控股有限责任公司 用于重新使用文件系统的存储块的方法和装置
US9817592B1 (en) 2016-04-27 2017-11-14 Netapp, Inc. Using an intermediate virtual disk format for virtual disk conversion

Family Cites Families (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US19874A (en) * 1858-04-06 Improvement in cotton-seed planters
US44807A (en) * 1864-10-25 Improvement in machines for boring wagon-hubs
US19936A (en) * 1858-04-13 Improvement in track-clearers for mowing-machines
US83037A (en) * 1868-10-13 Improved composition for forming building-blocks, pavements, tiles
US49718A (en) * 1865-09-05 Improvement in breech-loading fire-arms
US59172A (en) * 1866-10-30 Improvement in pulleys
US22792A (en) * 1859-02-01 Oveachiwe foe makrufactubiiira wooden troughs
US7470A (en) * 1850-07-02 Engines
US5014192A (en) * 1985-05-06 1991-05-07 Motorola Computer X, Inc. System for locating a file in a logical ring by sequentially forwarding access request with file system name and file name
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4742450A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to share copy on write segment for mapped files
US5043871A (en) * 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery
US5109515A (en) 1987-09-28 1992-04-28 At&T Bell Laboratories User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services
US4875159A (en) * 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
JP2561696B2 (ja) * 1988-03-31 1996-12-11 三菱電機株式会社 ネットワークシステムにおける共用領域管理方法
US5043876A (en) * 1988-05-27 1991-08-27 International Business Machines Corporation N-level file shadowing and recovery in a shared file system
US5065354A (en) 1988-09-16 1991-11-12 Compaq Computer Corporation Queued posted-write disk write method with improved error handling
CA1323448C (en) * 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
US5144659A (en) * 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5182805A (en) * 1989-07-14 1993-01-26 Ncr Corporation Method and system for determining copy-on-write condition
US5163148A (en) * 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
US5088026A (en) * 1990-02-09 1992-02-11 International Business Machines Corporation Method for managing a data cache using virtual external storage addresses as arguments
IL97315A (en) * 1990-02-28 1994-10-07 Hughes Aircraft Co Multi-group signal processor
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5166939A (en) 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
US5230047A (en) 1990-04-16 1993-07-20 International Business Machines Corporation Method for balancing of distributed tree file structures in parallel computing systems to enable recovery after a failure
JPH0540682A (ja) 1990-06-08 1993-02-19 Internatl Business Mach Corp <Ibm> アトミシテイを有する記憶装置の高可用性耐故障再配置
CA2045799C (en) * 1990-07-11 1999-03-23 Kenneth L. Thompson File system with read/write and read only storage
US5210866A (en) * 1990-09-12 1993-05-11 Storage Technology Corporation Incremental disk backup system for a dynamically mapped data storage subsystem
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
US5255270A (en) * 1990-11-07 1993-10-19 Emc Corporation Method of assuring data write integrity on a data storage device
US5633999A (en) * 1990-11-07 1997-05-27 Nonstop Networks Limited Workstation-implemented data storage re-routing for server fault-tolerance on computer networks
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5287496A (en) * 1991-02-25 1994-02-15 International Business Machines Corporation Dynamic, finite versioning for concurrent transaction and query processing
US5379391A (en) * 1991-03-01 1995-01-03 Storage Technology Corporation Method and apparatus to access data records in a cache memory by multiple virtual addresses
US5369757A (en) * 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5367698A (en) * 1991-10-31 1994-11-22 Epoch Systems, Inc. Network file migration system
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
AU653670B2 (en) * 1992-03-10 1994-10-06 Data General Corporation Improvements for high availability disk arrays
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5410667A (en) * 1992-04-17 1995-04-25 Storage Technology Corporation Data record copy system for a disk drive array data storage subsystem
US5469562A (en) * 1992-06-26 1995-11-21 Digital Equipment Corporation Durable atomic storage update manager
US5315602A (en) * 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
EP0612015A1 (en) * 1993-02-16 1994-08-24 International Business Machines Corporation Improved disk array system having special parity groups for data blocks with high update activity
US5870764A (en) * 1993-05-12 1999-02-09 Apple Computer, Inc. Method of managing a data structure for concurrent serial and parallel revision of a work
US5455946A (en) * 1993-05-21 1995-10-03 International Business Machines Corporation Method and means for archiving modifiable pages in a log based transaction management system
EP1003103B1 (en) * 1993-06-03 2008-10-01 Network Appliance, Inc. Write anywhere file-system layout method and apparatus
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US5963962A (en) 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
JP3862274B2 (ja) 1993-06-03 2006-12-27 ネットワーク・アプライアンス・インコーポレイテッド Raidディスクサブシステムと統合されたファイルシステムのファイル割り当て方法
US6604118B2 (en) * 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
WO1994029795A1 (en) 1993-06-04 1994-12-22 Network Appliance Corporation A method for providing parity in a raid sub-system using a non-volatile memory
US5566297A (en) * 1994-06-16 1996-10-15 International Business Machines Corporation Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5649152A (en) * 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5604862A (en) * 1995-03-14 1997-02-18 Network Integrity, Inc. Continuously-snapshotted protection of computer files
US5675802A (en) 1995-03-31 1997-10-07 Pure Atria Corporation Version control system for geographically distributed software development
US5838964A (en) * 1995-06-26 1998-11-17 Gubser; David R. Dynamic numeric compression methods
US6006227A (en) * 1996-06-28 1999-12-21 Yale University Document stream operating system
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
AU6151598A (en) * 1997-02-11 1998-08-26 Connected Corporation File comparison for data backup and file synchronization
US5884328A (en) * 1997-08-29 1999-03-16 Tandem Computers, Inc. System and method for sychronizing a large database and its replica
US6067541A (en) * 1997-09-17 2000-05-23 Microsoft Corporation Monitoring document changes in a file system of documents with the document change information stored in a persistent log
US6006232A (en) * 1997-10-21 1999-12-21 At&T Corp. System and method for multirecord compression in a relational database
JP4363676B2 (ja) * 1997-10-31 2009-11-11 株式会社東芝 コンピュータシステム
US6101585A (en) * 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
DE19838628A1 (de) * 1998-08-26 2000-03-02 Ibm Erweiterte Chipkarten-Kommunikationsarchitektur und Verfahren zur Kommunikation zwischen Chipkartenanwendung und Datenträger
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) * 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6795966B1 (en) 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6574591B1 (en) 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6397307B2 (en) * 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
WO2001014991A2 (en) 1999-08-24 2001-03-01 Network Appliance, Inc. Scalable file server with highly available pairs
US6715034B1 (en) 1999-12-13 2004-03-30 Network Appliance, Inc. Switching file system request in a mass storage system
US6341341B1 (en) 1999-12-16 2002-01-22 Adaptec, Inc. System and method for disk control with snapshot feature including read-write snapshot half
JP2001282820A (ja) * 2000-01-25 2001-10-12 Sony Corp データ圧縮方法、検索方法、検索装置、データパケット信号および記録媒体
US6636879B1 (en) 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6654912B1 (en) 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes
US6636878B1 (en) * 2001-01-16 2003-10-21 Sun Microsystems, Inc. Mechanism for replicating and maintaining files in a spaced-efficient manner
US6829617B2 (en) 2002-02-15 2004-12-07 International Business Machines Corporation Providing a snapshot of a subset of a file system
US6857001B2 (en) * 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7714352B2 (en) 2006-02-09 2010-05-11 Nissan Motor Co., Ltd. Hetero junction semiconductor device

Also Published As

Publication number Publication date
US7962531B2 (en) 2011-06-14
CN101286165B (zh) 2012-11-14
JP4620457B2 (ja) 2011-01-26
IL165467A (en) 2010-06-30
US6857001B2 (en) 2005-02-15
EP1535198A1 (en) 2005-06-01
EP1535198B1 (en) 2010-08-04
US20100138394A1 (en) 2010-06-03
CN1662905A (zh) 2005-08-31
WO2003105026A1 (en) 2003-12-18
US20050182799A1 (en) 2005-08-18
US20030229656A1 (en) 2003-12-11
EP1535198A4 (en) 2007-05-16
DE60333648D1 (zh) 2010-09-16
US7685169B2 (en) 2010-03-23
AU2003243379A1 (en) 2003-12-22
HK1076321A1 (en) 2006-01-13
JP2005529410A (ja) 2005-09-29
CN100388276C (zh) 2008-05-14

Similar Documents

Publication Publication Date Title
CN100388276C (zh) 多路并行现用文件系统
US8667274B2 (en) System and method for WORM data storage
US5684991A (en) Modification metadata set, abstracted from database write requests
US7827146B1 (en) Storage system
US8151139B1 (en) Preventing data loss from restore overwrites
JP4157858B2 (ja) ストレージ・エリア・ネットワーク(san)ファイル・システムの並列高速バックアップ
US5659614A (en) Method and system for creating and storing a backup copy of file data stored on a computer
US7490207B2 (en) System and method for performing auxillary storage operations
US20130246726A1 (en) Method and device for a memory system
US8090925B2 (en) Storing data streams in memory based on upper and lower stream size thresholds
US20230376385A1 (en) Reducing bandwidth during synthetic restores from a deduplication file system
US8612717B2 (en) Storage system
US7668846B1 (en) Data reconstruction from shared update log
US7865472B1 (en) Methods and systems for restoring file systems
JP4390618B2 (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
US8886656B2 (en) Data processing
US10540329B2 (en) Dynamic data protection and distribution responsive to external information sources
CN114968671B (zh) 克隆卷的实现方法及装置
US11436108B1 (en) File system agnostic content retrieval from backups using disk extents
Sridharan et al. Data De-duplication Using Cuckoo Hashing in Cloud Storage
US8290993B2 (en) Data processing

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
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: NETAPP, Inc.

Address before: California, USA

Patentee before: NETWORK APPLIANCE, Inc.

CX01 Expiry of patent term

Granted publication date: 20121114

CX01 Expiry of patent term