CN100354813C - 虚拟存储装置 - Google Patents

虚拟存储装置 Download PDF

Info

Publication number
CN100354813C
CN100354813C CNB038003775A CN03800377A CN100354813C CN 100354813 C CN100354813 C CN 100354813C CN B038003775 A CNB038003775 A CN B038003775A CN 03800377 A CN03800377 A CN 03800377A CN 100354813 C CN100354813 C CN 100354813C
Authority
CN
China
Prior art keywords
data
section
virtual
storage region
virtual storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB038003775A
Other languages
English (en)
Other versions
CN1788249A (zh
Inventor
纳坦·维什利茨科
哈伊姆·科佩洛维茨
哈纳·莫雷塞特
阿迪·奥弗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Publication of CN1788249A publication Critical patent/CN1788249A/zh
Application granted granted Critical
Publication of CN100354813C publication Critical patent/CN100354813C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • 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/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • 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
    • 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/99954Version management

Abstract

访问所存储的数据包括提供一具有一指针表的虚拟存储区,所述指针指向至少两个其他存储区的段,其中,虚拟存储区不包含数据段;响应于访问虚拟存储区的数据的请求,确定其他存储区的哪一特定区包含数据;并使用指针表访问其他存储区的特定区上的数据。访问所存储的数据还可包括将其他存储区的第一区与虚拟存储区关联,其中虚拟存储区代表其他存储区的第一区的数据的备份。访问所存储的数据还可包括,当虚拟存储区被初始与其他存储区的第一区关联时,使表的所有指针初始指向其他存储区的第一区的段。存储区可以是存储装置。段可以是磁道。

Description

虚拟存储装置
技术背景
1.技术领域
本申请涉及计算机存储装置,特别是涉及提供存储在计算机存储装置上的数据的一部分的备份的领域。
2.相关现有技术
主处理机系统使用存储装置可存储和检索数据,存储装置包含:多个主机接口单元(主机适配器)、磁盘驱动器、以及磁盘接口单元(磁盘适配器)。这样的存储装置由,例如,麻萨诸塞州霍普金顿的EMC有限公司提供,并在授权给Yanai等人的美国专利5,206,939、授权给Galtzur等人的美国专利5,778,394、授权给Vishlitzky等人的美国专利5,845,147以及授权给Ofek的美国专利5,857,208中公开。主机系统通过随存储装置提供的多个通道访问存储装置。主机系统通过存储装置的通道提供数据和访问控制信息,存储装置也通过这些通道提供数据给主机系统。主机系统不直接寻址存储装置的磁盘驱动器,而是更愿访问呈现给主机系统的多个逻辑卷。逻辑卷可以、也可不对应于实际的磁盘驱动器。
在一些实例中,想要提供一逻辑卷的备份,该备份接着被其他的进程访问。例如,在实际所存储的数据上测试新软件,可能会做一包含数据的逻辑卷的备份,与原始数据相对,该备份用于测试新软件。一旦测试完成,备份可被消除。从而新软件在不影响实际数据的情形下而在实际数据上得以测试。这就减少了因测试新软件和/或新功能而破坏实际数据的可能性。
进行这样的备份的一个困难在于:该备份要求与从其获得数据的逻辑卷一样多的存储空间,因为备份处理简单地创立了一包含原始卷的所有数据的新卷。此外,在一些实例中,原始卷与备份卷之间的差是最小的。因而,逻辑卷的这样的备份所需要的额外的存储空间使用得有点没有效率,因为其仅复制已经存在的数据。因此,需要提供一有效使用存储空间的拷贝数据的设备。
发明概述
根据本发明,访问所存储的数据包括:提供一具有指针表的虚拟存储区,所述指针指向至少两个其他存储区的段,其中虚拟存储区不包含数据段,响应于访问虚拟存储区的数据的请求,确定其他存储区的哪一特定区包含数据,并访问使用指针表的其他存储区的特定区上的数据。访问所存储的数据还可包括:将其他存储区的第一区与虚拟存储区关联,虚拟存储区代表其他存储区的第一区的数据的备份。访问所存储的数据还可包括:当虚拟存储区与其他存储区的第一区初始关联时,使得表的所有指针初始指向其他存储区的第一区的段。访问所存储的数据还可包括:响应于对其他存储区的第一区上的第一段的写,拷贝第一段的数据到其他存储区的第二区上的第二段并使得表指针的对应指针指向第二段。在从第一段拷贝数据到第二段之前,第二段应保持为不包含数据的空段。访问所存储的数据还可包括:保持一其他存储区的第二区的所有空段的双链表。访问所存储的数据还可包括:将数据指示器与其他存储区的第一区的段关联,用于特定段的数据指示器指示在其他存储区的第一区已经与虚拟存储区关联后,对特定段是否已执行写操作。访问所存储的数据还可包括:响应于对其他存储区的第一区上的第一段的写,以及数据指示器指示在其他存储区的第一区已经与虚拟存储区关联后还没有对第一段执行写操作,拷贝第一段的数据到其他存储区的第二区上的第二段,并使得表指针的对应指针指向第二段。访问所存储的数据还可包括:发送状态信息到一装置,该信息使得在从第一段拷贝数据到第二段后执行写操作。每一数据段可以是一数据磁道。每一存储区可以是存储装置。
进一步地根据本发明,访问所存储的数据包括:提供具有第一指针表的第一虚拟存储区,所述指针指向至少两个其他存储区的段,第一虚拟存储区不包含数据段,其他存储区的第一区与第一虚拟存储区关联,在这里第一虚拟存储区代表在时间的第一点上其他存储区的第一区的数据的备份;提供具有第二指针表的第二虚拟存储区,所述指针指向至少两个其他存储区的段,第二虚拟存储区不包含数据段,其他存储区的第一区与第二虚拟存储区关联,这里第一虚拟存储区代表在时间的第二点上其他存储区的第一区的数据的备份,响应于访问虚拟存储区之一的数据的请求,确定其他存储区的哪一特定区包含数据,使用指针表之一访问其他存储区的特定区上的数据。访问所存储的数据还可包括:在第一虚拟存储区初始与其他存储区的第一区关联时,使得第一表的所有指针初始指向其他存储区的第一区的段,且在第二虚拟存储区初始与其他存储区的第一区关联时,使得第二表的所有指针初始指向其他存储区的第一区的段。访问所存储的数据还可进一步包括:将第一数据指示器与其他存储区的第一区的段关联,在这里,用于第一其他存储区的特定段的第一数据指示器指示在其他存储区的第一区已经与第一虚拟存储区关联后,是否已向特定段执行写操作;将第二数据指示器与其他存储区的第一区的段关联,在这里,用于第一其他存储区的特定段的第二数据指示器指示:在其他存储区的第二区已经与第二虚拟存储区关联后,是否已向特定段执行写操作。访问所存储的数据也可包括:响应于向其他存储区的第一区上的第一段进行写,以及数据指示器指示在其他存储区的第一区已与第一虚拟存储区关联后还没有对第一段执行写操作,拷贝第一段的数据到其他存储区的第二区上的第二段,并使第一表的指针中的对应指针指向第二段。访问所存储的数据也可包括:响应于向其他存储区的第一区上的第一段进行写,以及数据指示器指示在其他存储区的第一区已与第一及第二虚拟存储区关联后还没有对第一段执行写操作,拷贝第一段的数据到其他存储区的第二区上的第二段,并使第一表的指针中的对应指针及第二表的指针中的对应指针指向第二段。访问所存储的数据也可包括:响应于对应第二段的第一虚拟存储区的写,从第二段拷贝数据到第三段。访问所存储的数据也可包括:使得第一表的指针中的对应指针指向第三段。访问所存储的数据也可包括:使得第二表的指针中的对应指针指向第三段。第一时间可与第二时间相同。第一时间也可不同于第二时间。每一数据段可以是一数据磁道。每一存储区可以是存储装置。
进一步根据本发明,一计算机程序产品包括:可执行编码提供具有指针表的虚拟存储区,所述指针指向至少两个其他存储区的段,虚拟存储区不包含数据段,可执行编码响应于访问虚拟存储区的数据的请求而确定其他存储区的哪一特定区包含数据,且可执行编码使用指针表访问其他存储区的特定区上的数据。计算机程序产品还可包括:可执行编码还将虚拟存储区与其他存储区的第一区关联,在这里,虚拟存储区代表其他存储区的第一区的数据的拷贝。计算机程序产品也可包括:当虚拟存储区初始与其他存储区的第一区关联时,可执行编码使得指针表的所有指针初始指向其他存储区的第一区的段。计算机程序产品还可进一步包括:响应于向其他存储区的第一区的第一段进行写,可执行编码拷贝第一段的数据到其他存储区的第二区上的第二段,并使表指针的对应指针指向第二段。计算机程序产品还可包括:可执行编码将数据指示器与其他存储区的第一区的段关联,在这里,用于特定段的数据指示器指示在其他存储区的第一区已经与虚拟存储区关联后,是否已向特定段执行写操作。计算机程序产品也可包括:响应于向其他存储区的第一区上的第一段进行写,以及数据指示器指示在其他存储区的第一区已与虚拟存储区关联后还没有对第一段执行写操作,可执行编码拷贝第一段的数据到其他存储区的第二区上的第二段,并使表指针的对应指针指向第二段。计算机程序产品也可包括:可执行编码发送状态信息给在从第一段拷贝数据到第二段之后使得写操作被执行的装置。每一数据段可以是一数据磁道。每一存储区可以是存储装置。
进一步地根据本发明,虚拟存储装置包括至少一用于将虚拟存储装置与标准存储装置关联的表,用于虚拟存储装置的数据段的存储器,在此,用于段的存储器的第一部分是标准存储装置的数据段,以及由至少一表提供的第一多个指针,在此至少部分指针指向对应于第一部分的标准存储装置的段。虚拟存储装置也可包括:用于段的存储器的第二部分,所述段包含不同于标准存储装置的映射于第二段的对应段上的数据的数据;以及由至少一表提供的第二多个指针,在此第二多个指针指向不同于标准存储装置的装置的段。每一第二部分的段可能包含标准存储装置的对应段上的数据的早先版本。每一数据段可以是一数据磁道。
附图简要说明
图1为与在此描述的系统连同使用的存储装置的简图。
图2为一存储器的简图,其示出了与在此描述的系统连同使用的不同逻辑卷。
图3为根据于此描述的系统,表示虚拟装置的使用的简图。
图4为根据于此描述的系统,表示多个虚拟装置的使用的简图。
图5示出了与于此描述的系统连同使用的装置表的简图。
图6为根据于此描述的系统,读与虚拟装置连同使用的表的流程图。
图7为根据于此描述的系统,向与虚拟装置连同使用的表写的流程图。
图8为根据于此描述的系统,更改虚拟装置表及建立虚拟装置的流程图。
图9为根据于此描述的系统,更改用于处理日志装置的磁道的数据结构的流程图。
图10为根据于此描述的系统,所执行的与读虚拟装置有关的步骤的流程图。
图11为根据于此描述的系统,由磁盘适配器执行的与向标准逻辑装置写有关的步骤的流程图,其中对该标准逻辑装置已建立一虚拟装置。
图12为根据于此描述的系统,由主机适配器执行的与向标准逻辑装置写有关的步骤的流程图,其中对该标准逻辑装置已建立一虚拟装置。
图13为根据于此描述的系统,所执行的与向虚拟装置写有关的步骤的流程图。
图14为所执行的与除去虚拟装置有关的步骤的流程图。
具体实施例
参见图1,存储装置30包括多个主机适配器(HA)32-34、多个磁盘适配器(DA)36-38、及多个磁盘驱动器42-44。磁盘驱动器42-44的每一个均连接到磁盘适配器36-38的对应适配器。存储装置30还包括一可被主机适配器32-34与磁盘适配器36-38访问的全局存储器46。存储装置30还包括一可访问全局存储器46的RDF适配器(RA)48。RA48可经由一数据链路52与一个或多个另外的远程存储装置(未示出)和/或一个或多个其他远程装置(未示出)进行通信。主机适配器32-34、磁盘适配器36-38、全局存储器46及RDF适配器48均连接到总线54,总线54提供来帮助其间的通信。
每一主机适配器32-34可连接到一个或多个访问存储装置30的主机(未示出)。主机读存储在磁盘驱动器42-44上的数据并写数据到磁盘驱动器42-44。全局存储器46包含一保存来自磁盘驱动器42-44的数据磁道的高速缓存,以及用于可被主机适配器32-34、磁盘驱动器36-38及RDF适配器48访问的表的存储器。注意,对于在此的讨论,数据块均被描述为一磁道或多磁道数据。然而,本领域的普通技术人员将感激,于此描述的系统可与任何适当增加的数据量或数据段一起工作,包括可能的不定增加的数据量和/或固定增加的数据量。
参看图2,所示出的存储装置30包括多个标准逻辑装置61-68。每一标准逻辑装置61-68可对应于可被一个或多个连接到存储装置30的主机访问的卷。每一标准逻辑装置61-68可以、也可不对应于一磁盘驱动器42-44。因而,例如,标准逻辑装置61可对应于磁盘驱动器42、可对应于磁盘驱动器42的一部分、或可对应于磁盘驱动42的一部分及磁盘驱动器43的一部分。对主机,每一标准逻辑装置61-68表现为磁盘存储器的一邻近块(contiguous block),即使每一标准逻辑装置61-68可、或不对应于磁盘驱动器42-44的实际邻近的物理存储器。
存储装置30也可包括多个虚拟装置71-74。对连接到存储装置30的主机,虚拟装置71-74表现为包含数据存储器的一邻近块的卷。虚拟装置71-74的每个可表示在一时间点上标准逻辑装置61-68之一的整体的备份、标准逻辑装置61-68之一的一部分、及标准逻辑装置61-68之一的整体及标准逻辑装置61-68之一的一部分的结合。然而,如在别处的更详细的描述那样,虚拟装置71-74不包含来自标准逻辑装置61-68的跟踪数据。作为替代,虚拟装置71-74的每个连接到一存贮部分或所有跟踪数据的日志装置76或日志装置78,如在别处的更详细的描述那样。虚拟装置71-74包含指向或标准逻辑装置61-68或日志装置76、78上的数据磁道的表。
虚拟装置71可表示一时间点上标准逻辑装置61的备份。如在别处的更详细的描述,虚拟装置71连接到日志装置76,日志装置76包含跟踪数据以使虚拟装置71对主机容易表现为一时间点上标准逻辑装置61的备份。对于一个以上的虚拟装置使用单个日志装置是可能的。因而,虚拟装置72-74被示出并连接到日志装置78。类似地,对于一个以上的虚拟装置代表时间点上的单个标准逻辑装置的多个备份也是可能的。因而,虚拟装置72、73被示出并作为时间点上标准逻辑装置64的备份。虚拟装置72、73可代表同一时间点标准逻辑装置64的备份,或者,做为选择,也可代表发生在不同时间的时间点上的标准逻辑装置64的备份。注意,仅部分标准逻辑装置61-68被示出并与虚拟装置71-74的对应装置关联,同时其他的标准逻辑装置61-68未被示出。
在一些实施例中,使用存储区代替存储装置实现在此描述的系统是可能的。因而,例如,虚拟装置71-74可以是虚拟存储区,标准逻辑装置61-68可以是标准逻辑区,及日志装置76、78可以是日志区。在一些例子中,这样的实现可允许混合逻辑/虚拟装置,其中,一单一逻辑装置的部分表现为标准逻辑装置,部分表现为虚拟装置,和/或部分表现为日志装置。因此,应该理解的是,在适当的例子中,对装置于此论述的基准也可应用于存储区,其可以、也可不与存储装置直接一致。
参考图3,该简图示出了标准逻辑装置82、虚拟装置84及日志装置86。如上所述,虚拟装置84可代表一时间点上所有或部分标准逻辑装置82的备份。连接到存储装置的访问虚拟装置84的主机可能已主机访问标准逻辑装置82同样的方式访问虚拟装置84。然而,虚拟装置84不包含任何来自标准逻辑装置82的跟踪数据。代替地,虚拟装置84包括多个指向或标准逻辑装置82或日志装置86上的磁道的表项目。
当虚拟装置被确立84(例如,当一时间点备份源自标准逻辑装置82时),虚拟装置84被创建并被提供以适当的表项目,这些表项目在确立时指向标准逻辑装置82的磁道。访问虚拟装置84以读取磁道的主机基于指向标准逻辑装置82的磁道的虚拟装置84的表项目,从标准逻辑装置82读取适当的磁道。
在虚拟装置84被建立后,主机写数据到标准逻辑装置82是可能的。在那种情况下,存储在标准逻辑装置82上的在前的数据被拷贝到日志装置86,且先前指向标准逻辑装置82的磁道的虚拟装置84的表项目改为指向日志装置86的新磁道。因而,访问虚拟装置84的主机或读取自虚拟装置84建立后还未变化的标准逻辑装置82的磁道,做为选择,也可读取在虚拟装置84建立后包含从标准逻辑装置82拷贝的数据的日志装置86的对应磁道。调整与读和写标准逻辑装置82及虚拟装置84有关的数据及指针将在此文的别处进行详细讨论。
在于此描述的实施例中,主机不直接访问日志装置86。即,日志装置86专门连同虚拟装置84(和在此文别处详细描述的其他虚拟装置)一起使用。此外,对于在此描述的实施例,标准逻辑装置82、虚拟装置84及日志装置86可在单个存储装置30上提供。当然,在分开的存储装置上提供不同的逻辑装置及日志装置也是可能的,分开的存储装置使用,例如,RDF协议或其他远程通信协议互连。此外,使一个或多个标准逻辑装置82、虚拟装置84和/或日志装置86的部分在适当互连的分开的存储装置上提供也是可能的。
参考图4,虚拟装置的使用的另一例子示出了一标准逻辑装置92、多个虚拟装置94-97及一日志装置98。在图4的例子中,虚拟装置94代表发生在上午10点这一时间点的标准逻辑装置92的备份。类似地,虚拟装置95代表中午12点标准逻辑装置92的备份,虚拟装置96代表下午2点标准逻辑装置92的备份,及虚拟装置97代表下午4点标准逻辑装置92的备份。注意,所有虚拟装置94-97可共享日志装置98。此外,对于虚拟装置94-97的一个以上的表项目或虚拟装置94-97的表项目的一子集,指向日志装置98的同样的磁道是可能的。例如,虚拟装置95和虚拟装置96被示出具有指向日志装置98的同一磁道的表项目。
在于此讨论的一实施例中,日志装置98及于此讨论的其他日志装置由一组由存储装置30管理的日志装置提供。在这种情况下,由于虚拟装置要求额外的日志装置磁道,虚拟装置使用日志装置合用机制可使得更多的日志装置存储区被创建。这种方式的合用存储装置资源在现有技术中是公知的。不使用合用技术的其他技术也可用于提供日志装置存储区。
参考图5,简图100图解了用于保持对装置信息的跟踪的表。第一表102对应于存储装置或存储装置的一元件所使用的所有装置,如HA和/或DA。表102包括多个对应于由存储装置(或存储装置的部分)使用的所有逻辑装置的逻辑装置项目106-108。表102中的项目包括对标准逻辑装置、虚拟装置、日志装置及其他类型的逻辑装置的描述。
表102的项目106-108中的每个对应于包含用于每一逻辑装置的信息的另一表。例如,项目107可对应于表112。表112包括一首部,首部包含附加信息。表112还包括用于逻辑装置的每一柱面的项目116-118。在于此公开的实施例中,逻辑装置可包含任何数量的柱面,取决于逻辑装置被怎样初始化。当然,在其他实施例中,逻辑装置可包含固定数量的柱面。
表112被示作包括一用于额外的磁道字节119的段。额外的磁道字节119以本文别处讨论的方式连同日志装置使用。在于此公开的实施例中,对日志装置的每一磁道有八个额外的磁道字节。对不是日志装置的装置,可以不用额外的磁道字节119。
每一柱面项目116-118对应于一磁道表。例如,项目117可对应于包括一首部124的磁道表122,首部124具有附加信息。磁道表122还包括用于每一磁道的项目126-128。在于此公开的实施例中,对于每一柱面有15个磁道。然而,对其他的实施例,对每一磁道,有不同数量的磁道甚至是变化数量的磁道也是可能的。对标准逻辑装置及日志装置,项目126-128的每一项目的信息包括一指向(或直接的、或间接的)存储装置30(或远程存储装置,如果系统是那样的结构)的磁盘驱动器42-44之一上的物理地址的指针。因而,磁道表122可用于将对应于表102、112、122的逻辑装置的逻辑地址定位至存储装置30的磁盘驱动器42-44上的物理地址。对虚拟装置,表122的项目126-128中的每一项目指向对应标准逻辑装置或对应日志装置的一磁道。然而,对其他的实施例,使用不同的机制是可能的,其中,表102、112、122仅用于包含跟踪数据的标准逻辑装置,而另一类型的表,如简单的磁道阵列,被虚拟装置使用以定位虚拟装置的磁道至对应的标准逻辑装置或日志装置的磁道。
日志装置的每一磁道或者是空闲的,意味着其未被虚拟装置使用或被分配,意味着磁道被一个或多个虚拟装置中的表项目指向。在于此公开的一实施例中,日志装置的磁道通过第一创建一日志装置的所有空闲磁道的双链表而被管理。用于双链表的指针由表112的额外磁道字节119提供,从而用于日志装置的额外磁道字节119包含8个用于日志装置的每一磁道的字节。对日志装置的空闲的每一磁道,额外的8个字节包括一指向日志装置的下一空闲磁道的向前的指针及一指向日志装置的前一空闲磁道的向后的指针。以这种方式使用双链表使访问日志装置的空闲磁道变得容易。
此外,如果日志装置的一磁道被分配(即,由一个或多个虚拟装置使用),用于磁道的对应的额外磁道字节119可被用于指回标准逻辑装置的对应磁道。因而,在虚拟装置被建立后,当向标准逻辑装置执行一写时,来自标准逻辑装置的数据被拷贝到日志装置的新磁道且对应于日志装置的新磁道的额外磁道字节转而指回从其拷贝数据的标准逻辑装置的磁道。使日志装置的每一磁道指回标准逻辑装置的对应磁道是有用的,例如,在数据恢复情况时。
此外,对于此公开的一实施例,用于对被分配的磁道每磁道额外8字节的指针与数据存储在一起。即,当日志装置的特定磁道被分配时,指回标准逻辑装置的指针与额外的磁道字节119存储在一起,此外,在日志装置的磁道上,指针与磁道数据本身一起存储。对CKD格式的磁道,额外的8字节可被存储在块零位(block zero)中。对于FBA格式的磁道,额外的8字节可被存储在追加在磁道末端上的附加的块中。在于此公开的实施例中,一块是512字节,一FBA磁道包含40块,当附加的块被追加时其增长为41块。不同的磁道格式被公开,例如,授权给Yanai等人的美国专利号5,206,939,在此其被组合于此用于参考。
图5的表102、112、122可存储在存储装置30的全局存储器46中。此外,对应于由特定主机访问的装置的表可存储在HA32-36的对应适配器的局部存储器中。此外,RA48和/或DA36-38也可使用和局部地存储表102、112、122的部分。
参考图6,流程图140图解,当主机从对应于可通过虚拟装置访问的磁道的装置表读取数据时所执行的步骤。即,流程图140图解获得关于磁道的信息,一用于虚拟装置的表项目指向该磁道。
处理在测试步骤142开始,如果感兴趣的磁道(即,对应于被读的表项目的磁道)在标准逻辑装置或日志装置上,则其被确定。其被确定是通过访问用于虚拟装置的装置表项目并确定用于感兴趣的磁道的表项目是否指向或标准逻辑装置或日志装置。如果在测试步骤142确定用于虚拟装置的表中的指针指向标准逻辑装置,接着,控制从步骤142转到步骤148,在步骤148感兴趣的表项目被读取。在步骤148之后,处理完成。
如果在测试步骤142确定对于感兴趣的磁道的用于虚拟装置的装置表中的指针指向日志装置,接着,控制从步骤142转移到步骤158,在步骤158感兴趣的日志表项目被读取。在步骤158之后,处理完成。
注意,在某些情况中,对数据的访问可被一标记或一锁控制以阻止有权同时使用数据的多进程。这在装置表正被读取或修改的情况特别有用。于此公开的系统期望用于控制多进程访问数据的多种机制中的任何一种,包括常规的软件和/或硬件锁的组合,也就是公知的“标记”或“信息量”。在一些情况下,访问数据的进程可能需要等待直到另一进程释放该数据。在一实施例中,硬件锁控制到软件锁(标记)的访问,因而进程首先获得硬件锁的控制、测试软件锁,接着,如果软件锁被清除,进程置位软件锁并接着释放硬件锁。如果该进程获得硬件锁并确定软件锁未被清除,该进程接下来释放硬件锁以使已经置位软件锁的进程在迟一点的时间可清除软件锁。进一步应注意,在某些情况下,首先读取对应于特定磁道的表项目、将磁道读进高速缓存插槽(如果磁道尚未在高速缓存中)、锁上高速缓存插槽、并接着重读对应的表项目是有用的。
参考图7,流程图170图解了连同写信息到装置表所执行的步骤,其中装置表用于一对应于标准逻辑装置或日志装置的虚拟装置。处理在第一步骤172开始,该步确定对应于被写的装置表项目的特定磁道是否在标准逻辑装置或日志装置上。如果确定感兴趣的特定磁道在标准逻辑装置上,控制从步骤172转到步骤178,在步骤178对应于被写的装置表项目的磁道被锁定。当当前进程正在修改对应于磁道的装置表项目时,在步骤178锁定磁道阻止了其他进程访问该磁道,并阻止修改对应的表项目。在步骤178之后是步骤182,写操作在该步被执行。在步骤182之后是步骤184,在该步磁道被解锁。在步骤184之后,处理完成。
如果在测试步骤172确定对应于用于虚拟装置的表项目的磁道被修改指向日志装置,控制从测试步骤172转到步骤194,在步骤194对应于被写的装置表的项目的日志装置的磁道被锁定。在步骤194之后是步骤196,写操作在该步被执行。在步骤196之后是步骤198,在该步磁道被解锁。在步骤198之后,处理完成。
参考图8,流程图210图解了所执行的与修改对应于虚拟装置的装置表有关的步骤。这可与图7的流程图170对比,图7图解了修改用于标准逻辑装置或日志装置的装置表,所述装置被用于虚拟装置的装置表的磁道的项目所指向。在流程图210中,用于虚拟装置的装置表被修改,与用于标准逻辑装置的装置表或用于日志装置的装置表成对比。
处理在第一步骤212开始,在该步确定对表的修改是否与建立虚拟装置相关联。正如此文别处讨论的那样,建立虚拟装置包括,在虚拟装置被创建后,使得虚拟装置可用于主机的访问。建立虚拟装置使得虚拟装置与标准逻辑装置相关联(从而,代表在建立时的时间点上标准逻辑装置的备份)。在与标准逻辑装置关联之前,虚拟装置没有被建立并不可由主机访问。在被建立后,虚拟装置可被主机访问。
在步骤2 12确定对表的修改与建立虚拟装置关联,接着控制从步骤212转到步骤214,在该步设置用于虚拟装置的装置锁以阻止其他进程访问该表。装置锁与此文别处讨论的高速缓存插槽锁相似。
在步骤214之后是步骤216,在该步虚拟装置表的指针被调整指向标准逻辑装置的磁道,且置位对应于被建立的虚拟装置的标准逻辑装置的每一磁道的保护位。在于此公开的实施例中,标准逻辑装置的每一磁道有16位可被置为保护位,一个用于每一虚拟装置被确立到标准逻辑装置。在一些实施例中,保护位可具有不与虚拟装置关联的用途。当用于标准逻辑装置的每一磁道的位可被置位时,建立的一个新虚拟装置在16位字段中可被分配一新数位位置。正如在此文别处详细讨论的那样,保护位被置位且其随后的向标准逻辑装置的写表明需要特殊的处理以提供确立到标准逻辑装置的虚拟装置。在此文别处对特殊处理进行了详细描述。还是在步骤216,对于虚拟装置的装置表的磁道项目被全部修改为指向标准逻辑装置的对应磁道。因而,当虚拟装置被首先确立时,虚拟装置的装置表的所有指针指向标准逻辑装置的磁道。
在步骤216之后是步骤217,在该步虚拟装置被设置为就绪状态,从而使得虚拟装置可被主机访问。在步骤217之后是步骤218,在该步虚拟装置被解锁,从而允许其他进程访问。在步骤218之后,处理完成。
如果测试步骤212确定虚拟装置尚未被确立(即,一些其他的操作正被执行),控制从测试步骤212转到步骤222以锁定对应于正被修改的虚拟装置的装置表的项目的磁道。注意,在步骤222锁定的磁道也可能是标准逻辑装置(如果虚拟装置的装置表中的所感兴趣的项目指向标准逻辑装置)上的磁道或日志装置(如果感兴趣的项目指向日志装置)的一磁道。在步骤222之后是步骤224,在该步对虚拟装置的装置表的修改被执行。在步骤224之后是步骤226,在该步磁道被解锁。在步骤226之后,处理完成。
参考图9,流程图230图解了所执行的与操作日志装置的磁道有关的步骤。如上所述,日志装置的磁道通过创建一空闲的日志装置的磁道(即,磁道可用于接受新数据)的双链表而得以维持。因而,如果需要一个或多个磁道连同对应的虚拟装置一起使用,则从双链表获得空闲的磁道,其被以常规方式修改以表明由虚拟装置所提供来使用的磁道不再空闲。相反地,如果一个或多个由一个或多个虚拟装置使用的磁道不再被需要,磁道被以常规方式送回到双链表,以表明磁道是空闲的。图9的流程图230图解了所执行的与控制操作磁道的多进程访问磁道(和磁道指针)有关的步骤。
处理开始于测试步骤232,在该步确定被执行的操作是否正修改空闲列表上的最适合的磁道。注意,仅修改空闲列表上的磁道,其通过,例如,将一空闲磁道从列表的一部分转移到另一部分或从一空闲列表转移到另一空闲列表(在多空闲列表的情况下)而实现修改,其不包括对对应于任何数据的磁道的修改。如果在测试步骤232确定被执行的修改不涉及空闲列表上的任何磁道,控制从步骤232转到步骤234,在该步磁道被锁定以阻止其他进程访问。
在步骤234之后或步骤232之后(如果未到达步骤234)是测试步骤236,在该步确定操作是否涉及单独分配的磁道。对于任何涉及单独分配的磁道的操作,则不必锁住空闲磁道的日志装置表。如果在步骤236确定被执行的操作没有操作单独分配的磁道,则控制从步骤236转到步骤238,在该步空闲磁道的日志装置表被锁住以阻止其他进程访问。在步骤238之后或步骤236之后(如果步骤238未被执行)是步骤242,在该步执行修改。
在步骤242之后是测试步骤244,其确定操作是否涉及单独分配的磁道。如果在测试步骤244确定被执行的修改不涉及单独分配的磁道,则控制从步骤244转到步骤246,在该步日志装置空闲表被解锁。在步骤246之后或步骤244之后(如果未到达步骤246)是测试步骤248,其确定被执行的操作是否正修改空闲表上的单独磁道。如果在步骤248确定被执行的操作正修改空闲表上的单独磁道,则控制从步骤248转到步骤252,在该步,在步骤234被锁住的磁道被解锁。在步骤252之后或步骤248之后(如果步骤252未被执行),处理结束。
参考图10,流程图280图解了所执行的与从虚拟装置读取数据有关的步骤。处理开始于测试步骤282,其确定对于虚拟装置的所感兴趣的磁道的装置表项目是否指向标准逻辑装置或执行日志装置。如果在步骤282确定表指向标准逻辑装置,则控制从步骤282转到步骤284,在该步磁道被从标准逻辑装置读取。在步骤284之后,处理结束。二选一地,如果在测试步骤282确定虚拟装置的装置表指向日志装置,则控制从步骤282转到步骤286,在该步感兴趣的磁道被从日志装置读取。在步骤286之后,处理结束。
注意,在一些情况下,在测试步骤282之前,可能先确定被读取的感兴趣的磁道已经在高速缓存存储器(全局存储器)中。在这种情况下,磁道可从高速缓存存储器获得,而无须执行步骤282、284、286中的任何步骤。
参考图11,流程图300图解了由DA执行的、与向标准逻辑装置的一磁道写有关的步骤,其中虚拟装置已在先前被确立到该标准逻辑装置。处理开始于第一步骤302,其确定用于被写在标准逻辑装置上的磁道的任何保护位是否已经被置位。如果在测试步骤302确定保护位未被置位,则控制从步骤302转到步骤304,在该步执行正常的写操作。即,在步骤304,数据被以常规方式写到标准逻辑装置,不用关心已在先前被确立到标准逻辑装置的虚拟装置的存在。在步骤304之后,处理结束。
如果在测试步骤302确定一个或多个保护位已经被置位在正被写的标准逻辑装置的磁道上,控制从步骤302转到步骤306,在该步获得日志装置的空闲磁道。日志装置的空闲磁道是需要的,以从标准逻辑装置的磁道拷贝数据。同样,如此文别处的更详细的描述,日志装置的空闲磁道可通过使用空闲磁道的双链表而被管理。因而,在步骤306,其可能通过来回移动日志装置的空闲磁道的列表并适当地修改指针以移动空闲磁道之一而获得空闲磁道。
在步骤306之后是步骤308,在该步,对对应于已在测试步骤302确定被置位的保护位的每一虚拟装置,虚拟装置的指针,其最初指向标准逻辑装置上的被写的磁道,在步骤308被修改指向在步骤306获得的日志装置的空闲磁道。如上所述,可能有一个以上虚拟装置被确立到标准逻辑装置。对已被确立到特定标准逻辑装置的每一虚拟装置,对标准逻辑装置的每一磁道,特殊的保护位将被置位。因此,在步骤308,用于对应于在步骤302检测到的置位保护位的所有虚拟装置的磁道指针均被改变。虚拟装置的装置表中的磁道指针被修改指向在步骤306获得的新磁道。
在步骤308之后是步骤312,在该步数据被从标准逻辑装置拷贝到在步骤306获得的日志装置上的新磁道上。在于此公开的一实施例中,拷贝数据可通过,从磁盘存储器移动数据到存储装置的全局存储器(例如,进入一高速缓存插槽)、接着置位一写未决指示器以使数据被拷贝到在步骤306获得的日志装置的磁道上。步骤312表示从正被写的标准逻辑装置的磁道拷贝数据到在步骤306获得的日志装置的新磁道。由于所有指针在步骤308均被修改,在磁道被写之前任何已确立到标准逻辑装置的虚拟装置现在均指向旧数据(即,当虚拟装置被确立时存在于标准逻辑装置的磁道上的数据)。同样要注意的,与拷贝磁道有关,标准逻辑装置磁道的保护位被拷贝到用于日志装置上的磁道的虚拟装置映射位,这在本文别处有详细阐述。
在步骤312之后是步骤314,在该步,在步骤306获得的日志装置的磁道被修改,从而表中的额外字节(另处讨论)  被调整指回正被写的标准逻辑装置的磁道。使日志装置的磁道指向对应的提供数据的标准逻辑装置的磁道在许多情况下都是有用的。例如,其在与数据恢复有关时有用。在步骤314之后是步骤316,在该步,正被写的标准逻辑装置的磁道的保护位被清除。在步骤316之后是步骤318,在该步状态被发送到HA。在步骤318之后,处理结束。
注意,一旦HA接收状态,HA可执行一正常的写操作,且在这种情况下,在测试步骤302,保护位将不被置位,因为保护位在步骤316被清除。执行写操作的HA看见在步骤302被置位的保护位并发送保护请求给适当的DA。HA接着可从DA断开并等待来自DA的、表明正常的写被执行的状态到达。当HA被断开并等待来自DA的状态时,DA可执行在流程图300中公开的步骤。这将在下面详细描述。
参考图12,流程图320图解了由HA执行的、与向标准逻辑装置写有关的步骤,其中一个或多个虚拟装置已被确立到该标准逻辑装置。处理开始于第一测试步骤322,其确定用于正被写的标准逻辑装置的磁道的保护位是否被置位。如果在测试步骤322确定没有保护位被置位,则控制从步骤322转到步骤324,在该步执行正常的写。在步骤324之后,处理结束。
如果在测试步骤322确定用于正被写的标准逻辑装置的磁道的一个或多个保护位被置位,控制从步骤322转到步骤326,在该步,HA发送一请求给DA表明用于磁道的保护位被置位。当DA接收在步骤326发送的请求时,DA执行在上面讨论的、在图11的流程图300中提出的操作。在步骤326之后是步骤328,在该步,HA从DA断开,以允许其他的进程和/或其他HA与DA一起执行操作。
在步骤328之后是步骤332,在该步,HA等待DA执行图11的流程图300中提出的操作并发送状态给HA以表明适当的步骤已被执行以处理已置位的保护位。在步骤332之后,处理转回步骤322,用于标准逻辑装置的磁道的保护位再次被测试。注意,在第二次反复上,期望正被写的标准逻辑装置的磁道的保护位已在步骤322被清除,因为DA应在执行流程图300的步骤时清除了保护位。当然,在DA清除保护位与步骤322被再次执行之间,新虚拟装置被确立到标准逻辑装置总是可能的。然而,通常所期望的是对标准逻辑装置的特定磁道的步骤322的第二次反复将确定所有保护位均被清除,且控制将从步骤322转到步骤324以执行一正常的写。
参考图13,流程图340图解了所执行的与向虚拟装置写有关的步骤。流程图340表示由HA及DA执行的步骤,因而可被提供为两个流程图,类似于图11的流程图300及图12的流程图320。然而,可由那些本领域普通技术人员理解的是,流程图340可表示类似于那些在流程图300、320中提出的、并在说明书的对应部分中描述的步骤的步骤的一部分。
处理开始于第一步骤342,其确定虚拟装置是否指向标准逻辑装置。如果“是”,则控制从测试步骤342转到步骤344,在该步获得日志装置的空闲磁道。在步骤344之后是步骤346,来自对应于被写的磁道的标准逻辑装置的数据被从标准逻辑装置拷贝到在步骤344获得的日志装置的磁道上。在步骤346之后是步骤348,在该步,用于磁道的虚拟装置指针被调整指向在步骤344获得的磁道。在步骤348之后是步骤352,对应于虚拟装置的保护位在标准逻辑装置的磁道数据中被清除,因而表明,当向标准逻辑装置的磁道写时,不需要任何代表虚拟装置的特殊处理。在步骤352之后是步骤354,在该步写被执行。在步骤354,被写的数据可以是被写到在步骤344获得的磁道的一磁道或一磁道的一部分。在步骤354之后,处理结束。如果数据对应于整个磁道,则可能排除步骤346(该步从标准逻辑装置的磁道拷贝数据到日志装置的新磁道),因为在步骤354写所有磁道的数据会盖写在步骤346拷贝的所有数据。
如果在测试步骤342确定用于被写的虚拟装置的磁道的指针没有指向标准逻辑装置,则控制从步骤342转到测试步骤356,其确定是否一个以上的虚拟装置已被确立到标准逻辑装置。如果没有,则控制从步骤356转到步骤358,在该步向日志装置的磁道执行一正常的写操作。如果在测试步骤356确定有一个以上的虚拟装置被确立到标准逻辑装置,则控制从步骤356转到步骤362,在该步从日志装置获得空闲磁道。
在步骤362之后是步骤364,对应于被写的虚拟装置的磁道的数据被拷贝到在步骤362获得的磁道。在步骤364之后是步骤366,虚拟装置指针被调整指向新磁道。在一实施例中,用于正被写的虚拟装置的指针被使得指向新磁道。供选择地,也可能不改变用于正被写的虚拟装置的指针,而是调整所有其他虚拟装置的所有指针指向在步骤366的磁道。
在步骤366之后是步骤368,在该步,对于日志装置的磁道的虚拟装置映射位被修改。对日志装置磁道,虚拟装置映射位可被用于表明哪些虚拟装置指向每一磁道,在一实施例中,有16个虚拟装置映射位且每位对应于一特定的虚拟装置。因而,在步骤356的测试可检查对于磁道的虚拟装置映射位。
在步骤368之后是步骤369,在该步执行写。注意,是否向在步骤362获得的磁道执行写或向由被写的虚拟装置最初指向的磁道执行写取决于在步骤366指针是怎样被调整的。然而,在所有情况下,数据被写到由正被写数据的虚拟装置所指向的磁道。在步骤369之后,处理结束。
参考图14,流程图370图解了所执行的与消除(即,除去)一虚拟装置有关的步骤。一旦虚拟装置已被确立并已用于其特定的目的,就可能想要消除虚拟装置。处理开始于第一步骤372,指针被设定指向虚拟装置的第一磁道。虚拟装置通过检查对应于虚拟装置的每一磁道而被消除。
在步骤372之后是步骤374,其确定正被检查的虚拟装置的磁道是否指向标准逻辑装置。如果是,则控制从步骤374转到步骤376以清除对应于被消除的虚拟装置的标准逻辑装置的磁道上的保护位。在步骤376之后是步骤378,为了通过检查下一磁道而连续处理,指针指向虚拟装置的下一磁道。在步骤378之后是步骤382,其确定处理是否结束(即,虚拟装置的所有磁道已经被处理)。如果没有,则控制从步骤382转回到上述的测试步骤374。
如果在测试步骤374确定被检查的虚拟装置的磁道没有指向标准逻辑装置,则控制从步骤374转到步骤384,在该步,对应于被消除的虚拟装置的日志装置的磁道上的虚拟装置映射位被清除。日志装置的每一磁道可有一组表明哪些虚拟装置使用日志装置的磁道的虚拟装置映射位。因而,在步骤384,对应于被消除的虚拟装置的虚拟装置映射位被清除。
在步骤384之后是测试步骤386,其确定在步骤384被清除的位是否是为磁道设定的虚拟装置映射位的最后一位。换言之,测试步骤386确定是否有其他的虚拟装置正使用日志装置上的磁道。如果在测试步骤386确定最后的虚拟装置映射位在步骤384已被清除(从而,没有其他虚拟装置使用该磁道),则控制从步骤386转到步骤388,在该步,日志装置的磁道被送回日志装置磁道的空闲列表,如此文别处所讨论的那样。在步骤388之后或在步骤386之后(如果确定在步骤384被清除的位不是日志装置的磁道的最后一位虚拟装置映射位)是步骤378,如上所述,虚拟装置的下一磁道被指向以用于随后的检查。一旦对应于虚拟装置的所有磁道已经被处理,与虚拟装置关联的表及其他数据结构也可被消除,尽管在一些实施例中,自虚拟装置的表及其他数据结构可被保持,只要在虚拟装置被解除确立后,虚拟装置还没有调整为可为主机使用。
在本发明结合不同的实施例被公开的同时,在其上的修改对那些本领域技术人员是显而易见的。因此,本发明的精神和范围在下述的权利要求中被提出。

Claims (9)

1、一种提供已存储数据的及时点备份的方法,包括
提供具有指针表的虚拟存储区,所述指针指向已存储数据的段及至少一其他存储区的段,其中,虚拟存储区不包含数据段;
响应于将新数据写到虚拟存储区的指针表的指针指向的已存储数据的段,在写之前将已存储数据的段复制到至少一其它存储区的段,使得虚拟存储区的指针指向至少一其它存储区的段,及将新数据写到已存储数据的段;
响应于访问虚拟存储区的数据的请求,确定其他存储区的哪一特定区包含数据;及
使用指针表访问其他存储区的特定区上的数据。
2、如权利要求1的方法,进一步包括:
将已存储的数据与虚拟存储区关联,其中虚拟存储区代表已存储数据的备份。
3、如权利要求2的方法,进一步包括:
当虚拟存储区被初始与已存储的数据关联时,使表的所有指针初始指向已存储的数据。
4、如权利要求1的方法,其中:在拷贝数据到至少一其它存储区的段之前,至少一其它存储区的段被保持为不包含数据的空闲段。
5、如权利要求3的方法,进一步包括:
将数据指示器与已存储数据的段进行关联,其中,特定段的数据指示器指出:在已存储的数据已与虚拟存储区关联后,是否已经对特定段执行写操作。
6、如权利要求1的方法,其中每一数据段是数据磁道。
7、如权利要求1的方法,其中每一存储区是存储装置。
8、一种对数据存储区中存储的数据进行及时点备份的方法,包括:
提供具有第一指针表的第一虚拟存储区,所述指针指向数据存储区的段及至少一其他存储区的段,其中,第一虚拟存储区不包含数据段;
响应于将新数据写到第一虚拟存储区的第一指针表的指针指向的数据存储区的段,在写之前将数据段复制到至少一其它存储区的段,使得第一虚拟存储区的指针指向至少一其它存储区的段,及将新数据写到数据存储区的段;
将数据存储区与第一虚拟存储区关联,其中第一虚拟存储区代表数据存储区的数据在第一时间点的备份;
提供具有第二指针表的第二虚拟存储区,所述指针指向数据存储区的段及至少一其他存储区的段,其中,第二虚拟存储区不包含数据段;
响应于将新数据写到第二虚拟存储区的第二指针表的指针指向的数据存储区的段,在写之前将数据段复制到至少一其它存储区的段,使得第二虚拟存储区的指针指向至少一其它存储区的段;
将数据存储区与第二虚拟存储区关联,其中第二虚拟存储区代表数据存储区的数据在第二时间点的备份;
响应于访问虚拟存储区之一的数据的请求,确定存储区的哪一特定区包含数据;及
使用指针表之一访问特定存储区上的数据。
9、如权利要求8的方法,进一步包括:
当第一虚拟存储区被初始与数据存储区关联时,使第一表的所有指针初始指向数据存储区的段;
当第二虚拟存储区被初始与数据存储区关联时,使第二表的所有指针初始指向数据存储区的段。
CNB038003775A 2002-04-10 2003-04-10 虚拟存储装置 Expired - Lifetime CN100354813C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/120,016 US7340489B2 (en) 2002-04-10 2002-04-10 Virtual storage devices
US10/120,016 2002-04-10

Publications (2)

Publication Number Publication Date
CN1788249A CN1788249A (zh) 2006-06-14
CN100354813C true CN100354813C (zh) 2007-12-12

Family

ID=28790016

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB038003783A Expired - Lifetime CN100380304C (zh) 2002-04-10 2003-04-10 虚拟存储装置
CNB038003775A Expired - Lifetime CN100354813C (zh) 2002-04-10 2003-04-10 虚拟存储装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB038003783A Expired - Lifetime CN100380304C (zh) 2002-04-10 2003-04-10 虚拟存储装置

Country Status (5)

Country Link
US (7) US7340489B2 (zh)
EP (1) EP1565809A2 (zh)
JP (1) JP2005532611A (zh)
CN (2) CN100380304C (zh)
WO (1) WO2003088045A2 (zh)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340489B2 (en) * 2002-04-10 2008-03-04 Emc Corporation Virtual storage devices
US20030225928A1 (en) * 2002-05-28 2003-12-04 Sun Microsystems, Inc. Method, system, and program for managing access to a device by device specific components and operating system specific components
DE10253174A1 (de) * 2002-11-14 2004-06-03 Siemens Ag Vorrichtung zur Entwicklung und/oder Konfiguration eines Automatisierungssystems
US7809693B2 (en) * 2003-02-10 2010-10-05 Netapp, Inc. System and method for restoring data on demand for instant volume restoration
US7577675B2 (en) * 2003-04-30 2009-08-18 Oracle International Corporation Determining a mapping of an object to storage layer components
US7552309B2 (en) 2005-05-06 2009-06-23 International Business Machines Corporation Data storage methods for hierarchical copies
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
JP2005190106A (ja) * 2003-12-25 2005-07-14 Hitachi Ltd 論理ボリュームを管理する記憶制御サブシステム
US7484210B2 (en) * 2004-02-17 2009-01-27 Intel Corporation Apparatus and method for a generic, extensible and efficient data manager for virtual peripheral component interconnect devices (VPCIDs)
US8959299B2 (en) 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
US20060174074A1 (en) * 2005-02-03 2006-08-03 International Business Machines Corporation Point-in-time copy operation
US7987158B2 (en) * 2005-02-09 2011-07-26 International Business Machines Corporation Method, system and article of manufacture for metadata replication and restoration
US7694088B1 (en) * 2005-03-31 2010-04-06 Symantec Operating Corporation System and method for efficient creation of aggregate backup images
US7689609B2 (en) * 2005-04-25 2010-03-30 Netapp, Inc. Architecture for supporting sparse volumes
US8055702B2 (en) * 2005-04-25 2011-11-08 Netapp, Inc. System and method for caching network file systems
US7549029B2 (en) 2005-05-06 2009-06-16 International Business Machines Corporation Methods for creating hierarchical copies
US7490213B2 (en) * 2005-05-06 2009-02-10 Xiv Ltd. Dynamic allocation of storage for hierarchical copies
US7836266B2 (en) * 2005-09-19 2010-11-16 International Business Machines Corporation Managing snapshot history in a data storage system
US7620938B2 (en) * 2005-10-31 2009-11-17 Microsoft Corporation Compressed program recording
US7664924B2 (en) * 2005-12-01 2010-02-16 Drive Sentry, Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US20100153671A1 (en) * 2005-12-01 2010-06-17 Drive Sentry Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US10503418B2 (en) 2005-12-01 2019-12-10 Drive Sentry Limited System and method to secure a computer system by selective control of write access to a data storage medium
US7805565B1 (en) 2005-12-23 2010-09-28 Oracle America, Inc. Virtualization metadata promotion
US8677087B2 (en) * 2006-01-03 2014-03-18 Emc Corporation Continuous backup of a storage device
US8046545B2 (en) * 2006-01-03 2011-10-25 Emc Corporation Continuous backup
US7415489B2 (en) * 2006-01-10 2008-08-19 International Business Machines Corporation Managing an archived file system
US8762418B1 (en) 2006-05-31 2014-06-24 Oracle America, Inc. Metadata that allows refiltering and data reclassification without accessing the data
JP4963892B2 (ja) * 2006-08-02 2012-06-27 株式会社日立製作所 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
WO2008036833A2 (en) * 2006-09-20 2008-03-27 Drive Sentry, Inc. Selective control of write access to a data storage medium
US7617372B1 (en) 2006-09-28 2009-11-10 Emc Corporation Avoiding copy on first write
US7321962B1 (en) * 2007-02-07 2008-01-22 Network Appliance, Inc. Technique for translating a hybrid virtual volume file system into a pure virtual file system data stream
US9152349B2 (en) 2007-03-23 2015-10-06 Emc Corporation Automated information life-cycle management with thin provisioning
US8489830B2 (en) * 2007-03-30 2013-07-16 Symantec Corporation Implementing read/write, multi-versioned file system on top of backup data
WO2008129792A1 (ja) * 2007-04-18 2008-10-30 Sony Computer Entertainment Inc. ゲームシステムおよびゲーム機
US7949637B1 (en) * 2007-06-27 2011-05-24 Emc Corporation Storage management for fine grained tiered storage with thin provisioning
US8775368B1 (en) 2007-06-27 2014-07-08 Emc Corporation Fine grained tiered storage with thin provisioning
US7822939B1 (en) 2007-09-25 2010-10-26 Emc Corporation Data de-duplication using thin provisioning
US8352431B1 (en) 2007-10-31 2013-01-08 Emc Corporation Fine-grain policy-based snapshots
US9817832B1 (en) 2007-10-31 2017-11-14 EMC IP Holding Company LLC Unified framework for policy-based metadata-driven storage services
US10089308B1 (en) 2008-09-30 2018-10-02 EMC IP Holding Company LLC Method for using redundant data elimination to accelerate storage system scanning
US8151069B1 (en) 2008-10-29 2012-04-03 Emc Corporation Multiprotection for snapsnots
JP5074351B2 (ja) * 2008-10-30 2012-11-14 株式会社日立製作所 システム構築方法及び管理サーバ
US8566549B1 (en) 2008-12-31 2013-10-22 Emc Corporation Synchronizing performance requirements across multiple storage platforms
US8281181B2 (en) * 2009-09-30 2012-10-02 Cleversafe, Inc. Method and apparatus for selectively active dispersed storage memory device utilization
US8150808B2 (en) * 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US20110113134A1 (en) 2009-11-09 2011-05-12 International Business Machines Corporation Server Access Processing System
US9106591B2 (en) 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US8433867B2 (en) * 2010-01-09 2013-04-30 International Business Machines Corporation Using the change-recording feature for point-in-time-copy technology to perform more effective backups
US8548944B2 (en) 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
GB2483081A (en) * 2010-08-25 2012-02-29 Sony Corp America Tamper resistance in media processing using an obfuscated buffer handle
US8707003B1 (en) 2010-09-29 2014-04-22 Emc Corporation Rate control for asynchronous data replication
US8468174B1 (en) 2010-11-30 2013-06-18 Jedidiah Yueh Interfacing with a virtual database system
US8468169B2 (en) * 2010-12-01 2013-06-18 Microsoft Corporation Hierarchical software locking
US8600943B1 (en) 2010-12-31 2013-12-03 Emc Corporation Porting replication relationships
US9110693B1 (en) 2011-02-17 2015-08-18 Emc Corporation VM mobility over distance
US8843714B1 (en) 2011-03-30 2014-09-23 Emc Corporation Write pacing simulation tool
US8751739B1 (en) 2011-03-31 2014-06-10 Emc Corporation Data device spares
JP5765123B2 (ja) * 2011-08-01 2015-08-19 富士通株式会社 通信装置、通信方法、通信プログラム及び通信システム
US9229758B2 (en) 2011-10-28 2016-01-05 International Business Machines Corporation Passive monitoring of virtual systems using extensible indexing
US9128901B1 (en) 2011-12-30 2015-09-08 Emc Corporation Continuous protection of data and storage management configuration
AU2012371253A1 (en) * 2012-03-01 2014-09-18 Siemens Aktiengesellschaft RFID transponder having a plurality of memory areas
JP5938968B2 (ja) * 2012-03-19 2016-06-22 富士通株式会社 情報処理装置、情報処理プログラム及び情報処理方法
US8788461B2 (en) 2012-10-04 2014-07-22 Delphix Corp. Creating validated database snapshots for provisioning virtual databases
US10346369B2 (en) 2012-10-11 2019-07-09 Delphix Corp. Retrieving point-in-time copies of a source database for creating virtual databases
CN103064761B (zh) * 2012-12-24 2016-12-28 华为技术有限公司 一种数据同步方法、设备和系统
US9015121B1 (en) 2013-01-15 2015-04-21 Emc Corporation Unified virtual machine and data storage snapshots
US9973215B1 (en) 2013-01-28 2018-05-15 EMC IP Holding Company LLC Controlled multipath data packet delivery with forward error correction
US9002798B1 (en) * 2013-02-11 2015-04-07 Symantec Corporation Systems and methods for remedying corrupt backup images of host devices
US8996460B1 (en) * 2013-03-14 2015-03-31 Emc Corporation Accessing an image in a continuous data protection using deduplication-based storage
US9424544B2 (en) * 2013-06-05 2016-08-23 International Business Machines Corporation Archival management of business processes in a cloud environment
US9304885B2 (en) * 2013-06-18 2016-04-05 International Business Machines Corporation Passive monitoring of virtual systems using agent-less, near-real-time indexing
KR101693683B1 (ko) 2013-07-09 2017-01-06 델픽스 코퍼레이션 가상 데이터베이스 되감기
US9436556B2 (en) 2013-07-09 2016-09-06 Delphix Corp. Customizable storage system for virtual databases
US10108685B2 (en) 2013-07-09 2018-10-23 Delphix Corp. Remote provisioning of virtual databases
US9218139B2 (en) 2013-08-16 2015-12-22 International Business Machines Corporation Minimally disruptive virtual machine snapshots
US10013701B2 (en) * 2013-10-09 2018-07-03 Selligent, Inc. System and method for managing message campaign data
US9665307B1 (en) * 2013-12-19 2017-05-30 EMC IP Holding Company LLC Incremental continuous data protection
US9645766B1 (en) 2014-03-28 2017-05-09 EMC IP Holding Company LLC Tape emulation alternate data path
US10530837B2 (en) 2014-04-10 2020-01-07 International Business Machines Corporation Always-on monitoring in the cloud
US10037204B2 (en) 2014-04-22 2018-07-31 Delphix Corp. Version control of applications
US10437783B1 (en) * 2014-09-25 2019-10-08 EMC IP Holding Company LLC Recover storage array using remote deduplication device
US9823973B1 (en) 2014-12-22 2017-11-21 EMC IP Holding Company LLC Creating consistent snapshots in a virtualized environment
US9600193B2 (en) 2015-02-04 2017-03-21 Delphix Corporation Replicating snapshots from a source storage system to a target storage system
US10083196B2 (en) 2015-02-04 2018-09-25 Delphix Corporation Creating secure virtual databases storing masked data
US9990366B2 (en) 2015-03-13 2018-06-05 Delphix Corporation Virtual partitions in virtual databases
CN105207811B (zh) * 2015-08-28 2021-08-13 青岛海尔智能家电科技有限公司 一种替换非AllJoyn设备的方法及装置
US9927980B1 (en) 2016-03-31 2018-03-27 EMC IP Holding Company LLC Accessing point in time versions of a logical device in connection with I/O operations
US10635542B1 (en) 2017-04-25 2020-04-28 EMC IP Holding Company LLC Support for prompt creation of target-less snapshots on a target logical device that has been linked to a target-less snapshot of a source logical device
US10579481B1 (en) 2018-01-31 2020-03-03 EMC IP Holding Company LLC Restoring data from a storage device to a cloud
US10853389B2 (en) 2018-05-02 2020-12-01 EMC IP Holding Company LLC Efficient snapshot activation
CN109240602B (zh) * 2018-08-06 2021-01-15 联想(北京)有限公司 数据存取方法
US10853208B2 (en) 2018-12-11 2020-12-01 EMC IP Holding Company LLC Transferring a writable data set to a cloud service that is separate from the writable data set and terminate a snapshot after transfer
US11379289B2 (en) 2019-10-08 2022-07-05 EMC IP Holding Company LLC Encryption detection
US11265374B2 (en) 2019-10-15 2022-03-01 EMC IP Holding Company LLC Cloud disaster recovery
US11100008B2 (en) 2019-11-01 2021-08-24 EMC IP Holding Company LLC Efficient memory usage for snapshots
US11347641B2 (en) 2019-11-01 2022-05-31 EMC IP Holding Company LLC Efficient memory usage for snapshots based on past memory usage
US11340795B2 (en) 2020-05-28 2022-05-24 EMC IP Holding Company LLC Snapshot metadata management
US11188425B1 (en) 2020-05-28 2021-11-30 EMC IP Holding Company LLC Snapshot metadata deduplication
US11481138B2 (en) 2020-09-30 2022-10-25 EMC IP Holding Company LLC Creating indentical snapshots
US11748327B2 (en) * 2021-01-29 2023-09-05 Snowflake Inc. Streams using persistent tables
US11513900B2 (en) 2021-04-22 2022-11-29 EMC IP Holding Company LLC Remote replication of snapshots taken while replication was inactive
US11893260B2 (en) 2021-04-22 2024-02-06 EMC IP Holding Company LLC Snapshot-based remote replication
US11755230B2 (en) 2021-04-22 2023-09-12 EMC IP Holding Company LLC Asynchronous remote replication of snapshots
US11709614B2 (en) 2021-07-23 2023-07-25 EMC IP Holding Company LLC Reducing write delays while taking snapshots
US20230098735A1 (en) * 2021-09-24 2023-03-30 Lemon Inc. Collaborative advertising mechanism

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241670A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated backup copy ordering in a time zero backup copy session
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6467680A (en) * 1987-09-09 1989-03-14 Hitachi Ltd Vector processor
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US5206939A (en) 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
JP2601586B2 (ja) * 1991-10-15 1997-04-16 富士通株式会社 配置要素の配置配線方法
ATE144567T1 (de) * 1992-02-21 1996-11-15 Voith Gmbh J M Auftragwerk zum auftragen von streichfarbe auf eine papierbahn
US5381539A (en) 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
ATE409907T1 (de) * 1993-06-03 2008-10-15 Network Appliance Inc Verfahren und vorrichtung zum beschreiben beliebiger bereiche eines dateisystems
US5689706A (en) * 1993-06-18 1997-11-18 Lucent Technologies Inc. Distributed systems with replicated files
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
JP3371044B2 (ja) * 1994-12-28 2003-01-27 株式会社日立製作所 ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
US5784698A (en) * 1995-12-05 1998-07-21 International Business Machines Corporation Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
US5845147A (en) 1996-03-19 1998-12-01 Emc Corporation Single lock command for an I/O storage system that performs both locking and I/O data operation
US5857208A (en) * 1996-05-31 1999-01-05 Emc Corporation Method and apparatus for performing point in time backup operation in a computer system
US5881311A (en) * 1996-06-05 1999-03-09 Fastor Technologies, Inc. Data storage subsystem with block based data management
US5778394A (en) 1996-12-23 1998-07-07 Emc Corporation Space reclamation system and method for use in connection with tape logging system
US5915264A (en) 1997-04-18 1999-06-22 Storage Technology Corporation System for providing write notification during data set copy
JPH117505A (ja) * 1997-06-17 1999-01-12 Fujitsu Ltd カード型記憶媒体
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
JP4128641B2 (ja) 1997-10-13 2008-07-30 株式会社東芝 データ退避方法
US6076148A (en) 1997-12-26 2000-06-13 Emc Corporation Mass storage subsystem and backup arrangement for digital data processing system which permits information to be backed up while host computer(s) continue(s) operating in connection with information stored on mass storage subsystem
US6192444B1 (en) 1998-01-05 2001-02-20 International Business Machines Corporation Method and system for providing additional addressable functional space on a disk for use with a virtual data storage subsystem
US6212531B1 (en) * 1998-01-13 2001-04-03 International Business Machines Corporation Method for implementing point-in-time copy using a snapshot function
US6408369B1 (en) * 1998-03-12 2002-06-18 Emc Corporation Internal copy for a storage controller
US6631477B1 (en) * 1998-03-13 2003-10-07 Emc Corporation Host system for mass storage business continuance volumes
US6105039A (en) * 1998-06-23 2000-08-15 Microsoft Corporation Generation and validation of reference handles
JP3618552B2 (ja) * 1998-06-30 2005-02-09 富士通株式会社 記憶装置
US6226759B1 (en) * 1998-09-28 2001-05-01 International Business Machines Corporation Method and apparatus for immediate data backup by duplicating pointers and freezing pointer/data counterparts
US6530035B1 (en) * 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
US6920537B2 (en) * 1998-12-31 2005-07-19 Emc Corporation Apparatus and methods for copying, backing up and restoring logical objects in a computer storage system by transferring blocks out of order or in parallel
US6529944B1 (en) * 1999-01-06 2003-03-04 Emc Corporation Host system for remote control of mass storage volumes using cascading commands
US6640278B1 (en) * 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
US6363385B1 (en) 1999-06-29 2002-03-26 Emc Corporation Method and apparatus for making independent data copies in a data processing system
US6574709B1 (en) * 1999-09-30 2003-06-03 International Business Machine Corporation System, apparatus, and method providing cache data mirroring to a data storage system
US6772302B1 (en) * 1999-11-12 2004-08-03 International Business Machines Corporation Virtual copy method for data spanning storage boundaries
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US6549992B1 (en) * 1999-12-02 2003-04-15 Emc Corporation Computer data storage backup with tape overflow control of disk caching of backup data stream
US6460054B1 (en) * 1999-12-16 2002-10-01 Adaptec, Inc. System and method for data storage archive bit update after snapshot backup
US6446176B1 (en) * 2000-03-09 2002-09-03 Storage Technology Corporation Method and system for transferring data between primary storage and secondary storage using a bridge volume and an internal snapshot copy of the data being transferred
US6779094B2 (en) * 2000-06-19 2004-08-17 Storage Technology Corporation Apparatus and method for instant copy of data by writing new data to an additional physical storage area
US6441767B1 (en) * 2000-11-29 2002-08-27 Raytheon Company Method and system for adjusting a threshold control in an analog-to-digital converter
US20020178162A1 (en) * 2001-01-29 2002-11-28 Ulrich Thomas R. Integrated distributed file system with variable parity groups
US7058788B2 (en) * 2001-02-23 2006-06-06 Falconstor Software, Inc. Dynamic allocation of computer memory
US6715050B2 (en) * 2001-05-31 2004-03-30 Oracle International Corporation Storage access keys
US20040139125A1 (en) * 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US7107430B2 (en) * 2001-06-19 2006-09-12 Massachusetts Institute Of Technology Mechanism to reduce the cost of forwarding pointer aliasing
US6877109B2 (en) * 2001-11-19 2005-04-05 Lsi Logic Corporation Method for the acceleration and simplification of file system logging techniques using storage device snapshots
US7072915B2 (en) * 2002-01-22 2006-07-04 International Business Machines Corporation Copy method supplementing outboard data copy with previously instituted copy-on-write logical snapshot to create duplicate consistent with source data as of designated time
US7085785B2 (en) * 2002-02-15 2006-08-01 International Business Machines Corporation Writable file system snapshot with ditto address feature
US7010553B2 (en) * 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
US7340489B2 (en) * 2002-04-10 2008-03-04 Emc Corporation Virtual storage devices
US7113945B1 (en) * 2002-04-10 2006-09-26 Emc Corporation Virtual storage device that uses volatile memory
US6857057B2 (en) * 2002-10-03 2005-02-15 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US6898685B2 (en) * 2003-03-25 2005-05-24 Emc Corporation Ordering data writes from a local storage device to a remote storage device
US7054883B2 (en) * 2003-12-01 2006-05-30 Emc Corporation Virtual ordered writes for multiple storage devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241670A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated backup copy ordering in a time zero backup copy session
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set

Also Published As

Publication number Publication date
US20030208463A1 (en) 2003-11-06
US20030195886A1 (en) 2003-10-16
WO2003088045A2 (en) 2003-10-23
JP2005532611A (ja) 2005-10-27
US20080109632A1 (en) 2008-05-08
US7266572B2 (en) 2007-09-04
CN1820243A (zh) 2006-08-16
US7249130B2 (en) 2007-07-24
US7340461B2 (en) 2008-03-04
US8032492B2 (en) 2011-10-04
US20030195864A1 (en) 2003-10-16
US20030196056A1 (en) 2003-10-16
CN100380304C (zh) 2008-04-09
CN1788249A (zh) 2006-06-14
WO2003088045A3 (en) 2005-06-30
US20030208462A1 (en) 2003-11-06
US20030195887A1 (en) 2003-10-16
US7340489B2 (en) 2008-03-04
EP1565809A2 (en) 2005-08-24

Similar Documents

Publication Publication Date Title
CN100354813C (zh) 虚拟存储装置
US7376651B2 (en) Virtual storage device that uses volatile memory
US7085901B2 (en) Storage apparatus and method for optimal snapshot transfer
US6587933B2 (en) Method, system, and program for discarding data in a storage system where updates to a primary storage device are shadowed in a secondary storage device
US7587564B2 (en) System, method and computer program product for managing data versions
US7577788B2 (en) Disk array apparatus and disk array apparatus control method
US8121978B2 (en) Database system providing improved methods for data replication
CN100356336C (zh) 用于增量虚拟复制的方法和系统
US6959369B1 (en) Method, system, and program for data backup
CN1746893B (zh) 事务文件系统
CN100440155C (zh) 用于创建虚拟数据拷贝的方法和系统
US7213116B2 (en) Method and apparatus for mirroring objects between storage systems
US6944726B2 (en) Distributed background track processing
US20080155198A1 (en) System, method and computer program product for managing data using a write-back cache unit
US7047390B2 (en) Method, system, and program for managing a relationship between one target volume and one source volume
US7447860B1 (en) System and method for managing data associated with copying and recovery procedures in a data storage environment
US5675767A (en) Method for verification and restoration of directories in CPU system managed store
US8327095B2 (en) Maintaining information of a relationship of target volumes comprising logical copies of a source volume
US7047378B2 (en) Method, system, and program for managing information on relationships between target volumes and source volumes when performing adding, withdrawing, and disaster recovery operations for the relationships
US7428558B2 (en) Persistent restore of virtual devices

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190904

Address after: Massachusetts

Patentee after: EMC Corp.

Address before: Massachusetts, USA

Patentee before: EMC Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20071212