US20040153614A1 - Tape storage emulation for open systems environments - Google Patents

Tape storage emulation for open systems environments Download PDF

Info

Publication number
US20040153614A1
US20040153614A1 US10/358,350 US35835003A US2004153614A1 US 20040153614 A1 US20040153614 A1 US 20040153614A1 US 35835003 A US35835003 A US 35835003A US 2004153614 A1 US2004153614 A1 US 2004153614A1
Authority
US
United States
Prior art keywords
tape
backup
data
server
command
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.)
Abandoned
Application number
US10/358,350
Inventor
Haim Bitner
Samuel Krikler
Shay Akirav
Shira Bash
Elena Drobchenko
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.)
International Business Machines Corp
Original Assignee
Diligent Technologies 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 Diligent Technologies Corp filed Critical Diligent Technologies Corp
Priority to US10/358,350 priority Critical patent/US20040153614A1/en
Assigned to DILIGENT TECHNOLOGIES reassignment DILIGENT TECHNOLOGIES ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AKIRAV, SHAY, BASH, SHIRA, BITNER, HAIM, DROBCHENKO, ELENA, KIRKLER, SAMUEL
Assigned to DILIGENT TECHNOLOGIES reassignment DILIGENT TECHNOLOGIES CORRECTIVE ASSIGNMENT TO CORRECT THE 2ND ASSIGNOR'S NAME, DOCUMENT PREVIOUSLY RECORDED ON REEL 014093 FRAME 0357. ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT OF THE ENTIRE INTEREST. Assignors: AKIRAV, SHAY, BASH, SHIRA, BITNER, HAIM, DROBCHENKO, ELENA, KRIKLER, SAMUEL
Priority to CN200480009136.3A priority patent/CN100547535C/en
Priority to EP04708242A priority patent/EP1593033B1/en
Priority to EP07075121.9A priority patent/EP1832970B1/en
Priority to AU2004211213A priority patent/AU2004211213A1/en
Priority to PCT/US2004/003303 priority patent/WO2004072961A2/en
Priority to JP2006503347A priority patent/JP4931581B2/en
Priority to DE602004009410T priority patent/DE602004009410T2/en
Priority to AT04708242T priority patent/ATE375545T1/en
Priority to CA2515448A priority patent/CA2515448C/en
Publication of US20040153614A1 publication Critical patent/US20040153614A1/en
Priority to US11/338,313 priority patent/US7853764B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DILIGENT TECHNOLOGIES CORPORATION
Priority to US12/870,536 priority patent/US8055870B2/en
Assigned to DILIGENT TECHNOLOGIES reassignment DILIGENT TECHNOLOGIES CORRECTIVE ASSIGNMENT TO CORRECT THE OMISSION OF THE SIGNATURE PAGE FOR ASSIGNORS 3,4 AND 5 PREVIOUSLY RECORDED ON REEL 014772 FRAME 0594. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: AKIRAV, SHAY, BASH, SHIRA, BITNER, HAIM, DROBCHENKO, ELENA, KRIKLER, SAMUEL
Abandoned 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
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox

Definitions

  • the present invention relates to systems and methods for emulating tape storage.
  • Data backup is an essential element of the data protection process in every organization. Historically it has involved sending a backup copy of the data to a tape storage device. Exponential data growth, a shrinking backup window, heterogeneous platforms and applications (an open systems environment), and rising downtime costs are some of the data storage challenges facing IT administrators today. As a result, data backup is now typically the number one storage problem for IT administrators.
  • a traditional backup system architecture 10 shown in FIG. 1, has a backup application residing on a backup server 14 and acting as the point of management and control for both the backup process and associated tape hardware.
  • Backup server 14 is typically disposed on a local area network (LAN) 16 , where it is connected to a plurality of local hosts (e.g., PC's and other servers (not shown) requiring data backup) and to a tape library 18 .
  • LAN local area network
  • a variety of different backup applications are now available from various vendors, each compatible with different operating systems, storage systems and applications. Integrating these various backup applications into an open systems environment, with heterogeneous hosts and heterogeneous tape storage systems, is a significant challenge.
  • disk-based cache an expensive form of temporary storage typically used for application data
  • disk-based library storage for data backup, this too being a more expensive alternative than tape storage.
  • disk storage has been central to data backup
  • applications storage i.e., primary storage
  • traditional disk arrays have been optimized for application storage performance.
  • These storage arrays include RAID architectures for data availability, redundant support systems for reliability of the full data array, wide band channels to support high throughput, and caching to reduce input/output (I/O) latency.
  • applications storage arrays are also designed with redundant components (including the disks themselves) that can be removed and replaced without interrupting systems operation (referred to as “hot swap” capability).
  • hot swap capability
  • FIG. 2 illustrates an enhanced backup architecture 20 which includes both disk and tape storage.
  • a plurality of hosts 21 e.g., computers
  • a plurality of servers 24 e.g., application server 25 , e-mail server 26 , web server 27 , and backup server 28 on which backup application 29 resides, are connected by a Storage Area Network (SAN) 30 , and to LAN 22 .
  • Data paths 32 , 34 , 35 exist between backup server 28 and each of disk library 38 , which serves as a target for backup data, and tape library 36 , which serves as a target for archive data.
  • SAN Storage Area Network
  • a virtual tape storage computer residing on a network has a front end connectable to a plurality of hosts, on which data storage backup application(s) reside, and a back end connectable to one or more disk storage devices.
  • the VT server is operable in an open systems environment which allows, as described herein, simultaneous connectivity to multiple heterogeneous backup hosts, e.g., with different operating systems and/or backup applications.
  • the hosts initiate data backup commands intended for tape storage devices, which commands are received by the VT server.
  • the VT server responds as if it were the intended tape storage device and then emulates the desired tape storage activity on the one or more disk storage devices.
  • a computer-implemented virtual tape storage system includes: a scalable front end connectible to a variable number of heterogeneous hosts in an open systems environment; a scalable back end connectible to a variable number of disk storage devices; and a target emulator and command converter which together accept tape storage commands from the hosts and implement the tape storage commands by emulating tape storage devices identified in the commands with the one or more of the disk storage devices.
  • a VT server receives and implements data storage commands and data sent by an initiator host; the commands and data are intended for a target tape storage device and are sent over a link or channel, such as a Fibre Channel (FC) connection.
  • a VT program residing on the VT server includes a device driver which transparently accepts initiator storage commands (e.g., SCSI commands) intended for specific target tape storage devices (e.g., identified by a logical address).
  • the VT program further includes a target emulator and a command converter which together confirm the validity of such storage commands and convert them to disk storage commands.
  • the backup data (from the initiator host) and data describing the emulated tape device are stored in the one or more disk storage devices.
  • a system for data backup including: a backup server and a virtual tape (VT) server connected in an open systems environment; the backup server including a backup application providing a single point of management and control for backup operations; and the VT server accepting and implementing backup commands received from the backup server, which implementation includes emulating one or more tape storage devices with one or more disk storage devices.
  • VT virtual tape
  • a method for performing backup operations including: providing a backup server and a virtual tape (VT) server in an open systems environment, the VT server receiving from the backup server commands for tape storage and the VT server responding by emulating the requested tape storage with storage on one or more physical disk storage devices; and providing streaming of data intended for tape storage directly from one or more hosts to the one or more physical disk storage devices without storing the data in an intermediate cache disk storage device.
  • VT virtual tape
  • a method of emulating a tape storage device includes: sending a backup command for a designated tape storage device from a host to a virtual tape server over a network channel in an open systems environment; the server accepting the command as if it were the designated tape storage device and translating the command into a command for a disk storage device; storing/retrieving a data component of the command on/from the disk storage device; and recording the storage location for the stored data as an emulated tape storage device.
  • a method for emulating tape storage including steps of: transparently accepting SCSI backup tape storage commands for designated tape storage devices from heterogeneous hosts over a network connection; storing data associated with the command(s) on a disk storage device; and recording a storage location for such data as an emulated tape storage device.
  • an apparatus for emulating tape storage including at least one memory having program instructions, and at least one processor configured to execute the program instructions to perform the operations of: transparently accepting SCSI backup tape storage commands for designated tape storage devices from heterogeneous hosts over a network connection; storing data associated with the commands on a disk storage device; and recording a storage location for such data as an emulated tape storage device.
  • an apparatus for emulating tape storage including: means for transparently accepting SCSI backup tape storage commands for designated tape storage devices from heterogeneous hosts over a network connection; means for storing data associated with the command(s) on a disk storage device; and means for recording a storage location for such data as an emulated tape storage device.
  • a computer-readable medium containing instructions for controlling a computer system to perform a method for emulating tape storage, the method including: transparently accepting SCSI backup tape storage commands from heterogeneous hosts over a network connection; storing data associated with the command(s) on a disk storage device, and recording a storage location for such data as an emulated tape storage device.
  • a computer program is provided with instructions for implementing a method, the method including: accepting initiator commands from heterogeneous hosts in an open systems environment for backing up and restoring data; and implementing as a target the initiator commands by emulating one or more tape devices with one or more disk storage devices.
  • FIG. 1 is a schematic diagram of a prior art backup system architecture including a backup application residing on a backup server;
  • FIG. 2 is a schematic diagram of a more elaborate prior art backup architecture which includes both disk and tape storage devices;
  • FIG. 3 is a schematic diagram of an implementation consistent with the invention which provides a virtual storage pool
  • FIG. 4 is a schematic diagram of a network architecture for an implementation consistent with the invention, including a Virtual Tape Library (VTL) server and Disk Library Unit (DLU);
  • VTL Virtual Tape Library
  • DLU Disk Library Unit
  • FIG. 5 is a schematic illustration of a network architecture for another implementation, having multiple Disk Library Units (DLUs);
  • DLUs Disk Library Units
  • FIG. 6 is a schematic diagram of a network architecture for another implementation, having both multiple VTL servers and multiple DLUs;
  • FIG. 7 is a schematic diagram of a network architecture for another implementation, including a local backup data site and an offsite archiving site;
  • FIG. 8 is a schematic diagram of a network architecture for another implementation, including a local site for storing backup data and a disaster recovery site for remote mirroring;
  • FIG. 9 is a schematic illustration of the hardware components of a VTL server according to an implementation consistent with the invention.
  • FIG. 10 is a corresponding software block diagram for the VTL server of FIG. 9;
  • FIG. 11 is a schematic illustration of a DLU system architecture for an implementation consistent with the invention.
  • FIG. 12 is an example of a DLU database device data structure according to one implementation consistent with the invention.
  • FIG. 13 is an example of a DLU cartridge device database structure according to one implementation consistent with the invention.
  • FIG. 14 illustrates a command sequence for a SCSI read command
  • FIG. 15 illustrates a command sequence for a SCSI write command.
  • FIG. 3 shows an open systems environment including a LAN network 40 connecting a plurality of mixed Unix and NT computer hosts 41 , 42 , 43 , 44 . These hosts are also connected to a Storage Area Network (SAN) 46 , which comprises a shared network of storage devices.
  • the SAN is connected to what is shown schematically as a “virtual storage pool” 48 .
  • This virtual storage pool includes disk-based storage devices and a system for utilizing the disk storage to emulate tape storage.
  • the pool can be integrated seamlessly into an open systems backup and recovery environment. By “integrated seamlessly” it is meant that no significant changes (special software or configuration) are required to the host backup applications, drivers or other components of the IT infrastructure, including the disk-based storage devices.
  • the virtual storage pool can be implemented (in one example) with at least one Virtual Tape Library (VTL) server, described below, which receives backup tape commands from heterogeneous hosts and is connectable to one or more disk storage devices for transparently creating virtual pools of tape storage in disparate systems. It allows users to emulate various vendors' tape devices in the same storage pool.
  • VTL Virtual Tape Library
  • tape device means a tape storage device such as a tape library, tape drive, or other tape-based storage apparatus. Specific examples include a QuantumTM DLT7000 tape drive, and an ATL P3000 automated tape library.
  • the VTL server allows multiple heterogeneous hosts, running different operating systems and different backup applications, to simultaneously connect to various vendors' disk devices.
  • Disk device means a disk storage device such as a disk drive or disk array.
  • Such disk devices are available from EMCTM, HPTM, IBMTM, etc., including ATA-based disk arrays (a new low-cost disk technology).
  • ATA-based disk arrays a new low-cost disk technology.
  • a specific example of a disk array is the EMC SymmetrixTM 5.5.
  • VTL server When a backup application host sends a backup command, addressed to a specific tape storage device, the VTL server replies to the host as though it (the VTL server) were the addressed tape storage device, and then emulates the requested tape operation with one or more of the disk devices. Based on communications with the VTL server, the host believes that the backup transaction has taken place on the addressed tape storage device.
  • multiple hosts may be running multiple vendors' operating systems (e.g., UNIX, Windows NT).
  • the hosts may also be running multiple vendors' backup applications (e.g., ArcServeTM, NetBackupTM, NetworkerTM, TSMTM).
  • a backup application provides tape management for backup and recovery functions.
  • FIG. 4 shows a plurality of hosts 50 connected by a Fibre Channel (FC) fabric 52 to a VTL server 54 ; the VTL server is in turn connected by Fibre Channel (FC) link 56 to an associated Disk Library Unit (DLU) 58 .
  • FC Fibre Channel
  • DLU Disk Library Unit
  • the “front end” 53 of the VTL server which is connected by the Fibre Channel fabric 52 to the plurality of hosts 50 , provides scalable connectivity to a plurality of host backup applications.
  • the “back end” 55 of the VTL server is connected to DLU 58 , which includes a plurality of disk-based storage devices or arrays 59 .
  • a plurality of hosts 70 are again connected by a FC fabric 72 to a VTL server 74 , but here the VTL server is connected on the back end by a plurality of Fibre Channels 76 and 78 to a plurality of DLUs 80 , 82 (here two).
  • the back end 75 of VTL Server 74 provides scalable connectivity and can utilize several DLU disk arrays in parallel.
  • a plurality of hosts 90 are connected by FC fabric 92 to a plurality of VTL servers 94 , 98 , 102 (here three), which in turn are connected by FC fabric 106 to a plurality of disk library units 108 , 110 (here two).
  • scalable connectivity is provided at both the front ends 93 , 97 , 101 of each respective VTL server to the plurality of hosts 90 , and at the back ends 95 , 99 , 103 of each respective VTL server to the plurality of DLUs 108 , 110 .
  • FIG. 1 These implementations illustrate what may be referred to as “virtual tape data storage”, among a variety of different hosts and a variety of different disk storage devices. This eliminates the need for dedicated drives, e.g. where a specific disk drive is allocated to a specific backup application host.
  • data from one or more hosts can be simultaneously streamed to one or more VTL servers, and on to one or more disk devices emulating one or more tape devices.
  • the VTL server provides a “virtual image” of a compatible tape storage device on its front end to the host(s).
  • the VTL server also appears to be a compatible host on its back end to the disk storage device(s).
  • data can be streamed directly from one or more hosts to the one or more physical storage disk drives or disk libraries.
  • directly it is meant that there is no intermediate hard disk array staging area, which additional storage system and step would tend to increase the cost and/or complexity of the system.
  • intermediate or second point of management and control added for backup operations there is no intermediate or second point of management and control added for backup operations. Rather, the backup application from the host continues to serve as a single point of management and control for backup operations.
  • backup operations includes both backup and recovery operations.
  • VTL server can run on a standard off-the-shelf server, such as an IntelTM-based Linux or UNIX server, e.g. DelTM 4600, and SunTM Solaris 5.8 servers.
  • a standard off-the-shelf server such as an IntelTM-based Linux or UNIX server, e.g. DelTM 4600, and SunTM Solaris 5.8 servers.
  • virtual tape servers used in the mainframe environment, sold for example by IBMTM and StorageTekTM, which do not replace the tape library storage but enhance their functionality by providing intermediate disk cache acting as buffer to the tape drives and providing additional management capability for the tape library storage systems.
  • the tape libraries are replaced by a Virtual Tape Library (VTL) unit which has a configurable number of virtual tape drives and virtual tape cartridges.
  • VTL Virtual Tape Library
  • the system can emulate both a Tape Library Unit (TLU) robotics and a configurable number of tape drive devices. It is configurable to meet a customer's needs, for example in regard to the number of virtual tape cartridges, virtual cartridge size, and protection level (RAID).
  • TLU Tape Library Unit
  • the VTL system includes a VTL server which emulates the tape drives and tape library units transparently.
  • the VTL virtual tape drives can self identify, through a SCSI command (described in further detail below), as a SCSI tape drive device (e.g., whose vendor ID is Quantum and product ID is DLT7000).
  • the VTL virtual tape library unit can self identify through a SCSI command as a SCSI tape library unit (e.g., whose vendor ID is Quantum and product ID is ATL P3000).
  • the VTL server appears to the host as the designated physical tape storage device.
  • a local site includes a VTL server 124 , 146 , respectively, and a disk library unit (DLU) 128 , 150 , respectively, which serve as a primary (although virtual) library for active backup data.
  • DLU disk library unit
  • a plurality of hosts 120 , 142 are connected by a FC fabric 122 , 144 to the VTL servers 124 , 146 (respectively), and the VTL servers 124 , 146 are connected via a FC 126 , 148 to the DLUs 128 , 150 (respectively). Where they differ is that in FIG.
  • a physical tape library unit (TLU) 130 is also connected via FC fabric 122 and functions as a data import/export device to allow off-site archiving of data (see arrow 134 ).
  • a backup application 121 in host 120 initiates and controls media duplication (see arrows 135 , 136 ) of data stored in the DLU 128 (the virtual storage pool) which is then sent to the TLU 130 for archiving.
  • the individual tape cartridges 131 in the TLU can then be physically removed (by robotics arm 133 ) and transported to an off-site location for off-site archiving (arrow 134 ).
  • Duplication is a common feature in open systems backup applications, such as VeritasTM NetBackup, LegatoTM NetWorker, etc.
  • a local site 140 includes VTL server 146 and DLU 150 as the primary (virtual) library for active backup data.
  • VTL server 146 and DLU 150 as the primary (virtual) library for active backup data.
  • DLU 150 Remote mirroring between the local and remote DLUs 168 and 150 (see arrow 170 ) is used to recover data from the disaster recovery site 160 that has been lost at the local site 140 .
  • FIGS. 9 - 10 illustrate a specific implementation of a VTL server acting as a disk-based tape emulation system 180 in an open systems environment, consistent with the invention.
  • FIG. 9 is a schematic illustration of the hardware components
  • FIG. 10 is a schematic illustration of the software components.
  • an NT (or Unix) host 182 is connected via Fibre Channel 184 to a front end 186 of a VTL server 188 .
  • a back end 192 of VTL server 188 is connected by a Fibre Channel 194 to a Disk Library Unit 196 .
  • Host 182 includes a backup application 183 which acts as an “initiator” in issuing a command to a “target” tape storage device.
  • This implementation utilizes the Fibre Channel Protocol (FCP) for SCSI, second version (hereinafter FCP-2), a draft proposed by the American National Standards Technical Committee T10, Project 1144D, Revision 8, Sep. 23, 2002 (available at www.t10.org).
  • This standard describes a frame format and protocol for transferring commands and data between a SCSI (Small Computer System Interface) initiator and target using the FC (Fibre Channel) transmission standards.
  • SCSI Small Computer System Interface
  • FC Fibre Channel
  • SCSI Small Computer System Interface
  • FC Fibre Channel
  • FCP-2 is part of the SCSI family of standards developed by T10 to facilitate the use of SCSI command sets for many different types of devices across many different types of physical interconnects.
  • the architectural model for the family of standards is set forth in NCITS Project 11570 , Information Technology—SCSI Architecture Model-2 (SAM 2).
  • Fibre Channel is implemented as a high-speed serial architecture that allows either optical or electrical connections at data rates from 265 Mbits up to 4 Gbits per second. Topologies supported by Fibre Channeling include point-to-point, fabric switched, and arbitrated loop. All FC connections use the same standard frame format and standard hierarchy of transmission units to transmit Information Units (lUs) that carry SCSI information.
  • LUs Information Units
  • Fibre Channel is logically a point-to-point serial data channel.
  • the architecture may be implemented with high-performance hardware that requires little real-time software management.
  • the FC protocol utilizes the multiplexing and shared bandwidth capabilities provided by various FC classes of service and provides options for reliable error detection and error recovery independent of the class of service.
  • FCP-2 defines a Fibre Channel mapping layer (FC-4) that uses the services defined by NCITS Project 1311D, “Fibre Channel Framing And Signaling Interface (FC-FS)”, to transmit SCSI command, data, and status information between a SCSI initiator and a SCSI target.
  • FC-FS Fibre Channel Framing And Signaling Interface
  • 3.1.16 device server An object within the logical unit that executes SCSI tasks and enforces the rules for task management.
  • FCP Exchange A SCSI I/O Operation for the Fibre Channel FC-2 layer.
  • the SCSI I/O Operation for Fibre Channel is contained in a Fibre Channel Exchange.
  • FCP I/O operation A SCSI I/O Operation for the Fibre Channel FC-4 layer, as defined in FCP-2.
  • FCP Port An N Port or NL Port that supports the SCSI Fibre Channel Protocol.
  • 3.1.27 Information Unit An organized collection of data specified by the Fibre Channel protocol to be transferred as a single Sequence by the Fibre Channel service interface.
  • initiator A SCSI device containing application clients that originate device service requests and task management functions to be processed by a target SCSI device.
  • the word “initiator” also refers to an FCP_Port using the Fibre Channel protocol to perform the SCSI initiator functions defined by SAM-2.
  • 3.1.31 logical unit A target resident entity that implements a device model and processes SCSI commands sent by an application client.
  • 3.1.32 logical unit number An encoded 64-bit identifier for a logical unit.
  • SCSI device A device that originates or services SCSI commands.
  • SCSI I/O operation An operation defined by a SCSI command, a series of linked SCSI commands or a task management function.
  • target A SCSI device that receives SCSI commands and directs such commands to one or more logical units for execution.
  • the word “target” also refers to an FCP_Port using the Fibre Channel protocol to perform the SCSI target functions defined by SAM-2.
  • FC-FS Fibre Channel physical layer
  • FCP_Ports Fibre Channel physical layer
  • a switching fabric allows communication among more than two FCP_Ports.
  • An arbitrated loop FC-AL is an alternative multiple port topology that allows communication between two ports on the loop, or between a port on the loop and a port on a switching fabric attached to the loop.
  • the FCP device and task management protocols define the mapping of SCSI functions, defined in SCSI Architecture Model-2 (SAM-2), to the Fibre Channel interface defined by FC-FS.
  • SAM-2 SCSI Architecture Model-2
  • the I/O operation defined by SAM-2 is mapped into a Fibre Channel exchange.
  • a Fibre Channel exchange carrying information for a SCSI I/O operation is an FCP exchange.
  • the request and response primitives of an I/O operation are mapped into Information Units (lUs) as shown in Table 1.
  • An application client begins an FCP I/O operation by invoking an Execute Command remote procedure call (see SAM-2).
  • the Execute Command call conveys a single request or a list of linked requests from the application client to the FCP service delivery subsystem. Each request contains all the information necessary for the execution of one SCSI command, including the local storage address and characteristics of data to be transferred by the command.
  • the FCP then performs the following actions using FC-FS services to perform the SCSI command.
  • the FCP_Port that is the initiator for the command starts an Exchange by sending an unsolicited command IU containing the FCP_CMND IU payload, including some command controls, addressing information, and the SCSI command descriptor block (CDB).
  • an unsolicited command IU containing the FCP_CMND IU payload, including some command controls, addressing information, and the SCSI command descriptor block (CDB).
  • CDB SCSI command descriptor block
  • the device server for the command When the device server for the command has completed the interpretation of the command, has determined that a write data transfer is required, and is prepared to request the data delivery service, it sends a data descriptor IU containing the FCP_XFER_RDY IU payload to the initiator to indicate which portion of the data is to be transferred.
  • the FCP_Port that is the initiator then transmits a solicited data IU to the target containing the FCP_DATA IU payload requested by the FCP_XFER_RDY IU.
  • the data delivery request and returning payloads continue until the data transfer requested by the SCSI command is complete.
  • the FCP_Port that is the target transmits a solicited data IU to the initiator containing the FCP_DATA IU payload. Data deliveries containing payloads continue until all data described by the SCSI command is transferred.
  • the device server transmits the Send Command Complete protocol service response (see SAM-2) by requesting the transmission of an IU containing the FCP_RSP IU payload. That payload contains the SCSI status and, if the SCSI status is CHECK CONDITION, the autosense data describing the condition.
  • the FCP_RSP IU indicates completion of the SCSI command. If no command linking, error recovery or confirmed completion is requested, the FCP_RSP IU is the final sequence of the Exchange. Other details of the protocol are available at www.t10.org.
  • driver 200 acts as a SCSI target and accepts the host (initiator) request (command).
  • driver 200 receives Fibre Channel frames containing an SCSI over FC (FCP) command (the FCP_CMND Information set).
  • FCP Fibre Channel frames containing an SCSI over FC (FCP) command (the FCP_CMND Information set).
  • Driver 200 stores the frames in memory 201 in VTL server 188 . Then driver 200 forwards the frames (containing the FCP command) to a target emulator 204 .
  • FCP Fibre Channel frames containing an SCSI over FC
  • the target emulator 204 receives the host request (command) and identifies itself as either a tape drive (SCSI stream device) or a tape library unit robotics (SCSI medium changer).
  • the target emulator software understands the content of and processes FCP commands. For this purpose, it needs to understand four fields in the FCP command, namely:
  • Read/Write here in the target emulator read and write mean “data in delivery service” or “data out delivery service”.
  • a SCSI command is addressed to a specific LUN (e.g., a specific tape device—tape drive or TLU robotics).
  • the target e.g., a TLU
  • the target emulator 204 checks to see if the tape device identified by the LUN in the command, exists.
  • the target emulator 204 also checks the command's write field, and if flagged, checks whether a buffer is available to hold data. If it is, the emulator 204 sends a transfer ready signal back to the host. It adds FCP details to the response, without specifying what type of storage is attached.
  • emulator 204 being aware of the format of the FCP_CMND information set, can access the memory 201 in which the command is stored and proceed to analyze it:
  • emulator 204 rejects the command by sending back (through driver 200 ) a response to the host 182 with an appropriate error code (this response is called FCP_RSP).
  • emulator 204 starts the data transfer (i.e., notifies host 182 that VTL server 188 is ready and the host can start sending the data to the VTL server).
  • the data is transferred to a specific buffer in memory 201 of the VTL server (there are two buffers assigned to each VTL virtual tape drive for this purpose).
  • emulator 204 (through a queue) forwards the FCP_CMD (and the buffer containing the data, if it was a “data-out” command) to tape/disk command converter 206 .
  • the command is next sent to converter 206 which converts the tape command to a disk command and creates a disk storage model.
  • the converter software knows how to store the data to disk, how to catalog what data is written where, and how to manage the disk.
  • Converter 206 will check the SCSI CDB opcode and execute the specific action/operation required by the opcode.
  • Converter 206 executes the action/operation either on its own, or by calling a function of the DLU 196 .
  • the DLU 196 is responsible for storing data to the disks and managing the status of the virtual tape library.
  • Each emulated tape drive and tape robotics will correspond with a different LUN.
  • the LUN in the address field of the FCP_CMD can be either for a stream device (tape drive) or a medium changer (tape robotics).
  • Converter 206 knows how to send commands to the disk in either tape device or robotics formats.
  • converter 206 sends a response via emulator 204 to the host 182 indicating the completion status (FCP_RSP).
  • FIG. 10 is the corresponding schematic software block diagram for VTL server 188 of FIG. 9.
  • a first block connected to input FC link 184 , is an FC driver block 220 which corresponds to device driver 200 in FIG. 9.
  • a second block is a FC-SCSI port block 222 , which provides the functionality of target emulator 204 .
  • a third block provides an emulated SCSI tape storage device 224 .
  • Block 224 may include several instances (one instance 226 per virtual tape drive or virtual robot) of VTL tape and robot objects, each having a different LUN, and comprises the tape storage model; it further includes a set 228 of associated DLU tape and robot objects, comprising the disk storage model.
  • Each VTL tape object 227 has a corresponding DLU tape object 229 in the disk storage model 228 .
  • each VTL robot object 230 has a corresponding DLU robot object 231 in the disk storage model.
  • the objects in the disk storage model 228 correspond to data which is then stored in the disk library unit 196 .
  • DLU 196 holds both the data received from host 182 , and the data describing the emulated tape device (see e.g., FIG. 11).
  • the lafter may comprise a database, such as relational table, stored in the DLU.
  • FIG. 11 A more specific implementation of a DLU system architecture for emulating a tape library unit (TLU) is shown in FIG. 11. This figure also illustrates the correlation of LUN identifiers 317 with VTL devices (tape drives 319 and TLU robotics 315 ).
  • a VTL 310 server (shown schematically) has two front-end ports, front-end port 0 ( 312 ) and front-end port 1 ( 314 ).
  • VTL server 310 has two back-end ports 316 , 318 connected by FC fabric 320 to DLU disk array 322 .
  • Disk array 322 includes a DLU database device 324 and multiple DLU cartridge devices 326 .
  • VTL server 310 has residing thereon VTL software 311 with a DLU model 313 of the emulated tape devices—virtual tape drives 319 and virtual TLU robotics 315 .
  • DLU model 313 manages the DLU disk array persistent storage, which includes:
  • DLU robotics, bins, import/export slots, and tape drives emulates the TLU robotics and a configurable number of tape drive devices; the DLU virtual tape drives provide “sequential access” to random access devices (DLU cartridge devices 326 ).
  • DLU database device 324 contains configuration information for all elements in the virtual tape library emulated by the DLU. It further contains the status of all such elements in the virtual tape library, namely:
  • bins slots that hold the virtual cartridges
  • the information in DLU database device 324 is updated each time there is a command that changes the status of one or more elements in the virtual tape library. For example, an SCSI Move command sent to the DLU robot ( 315 in DLU model 313 ) asks the robot to move a cartridge from a bin to a tape drive ( 319 in DLU model 313 ); this changes the status of the respective bin and the status of the respective tape drive, which status changes will be made in the DLU database device 324 .
  • DLU database device 324 of this example has a data structure 330 illustrated in FIG. 12, with the following fields:
  • configuration information 332 which includes: number of robots;
  • robot mailbox 334 which contains the information and status of the robot; there is one entry for each configured robot (normally, there is only one configured robot);
  • bin mailbox 336 which contains the information and status of the bin; for example, the bin may be full or empty; if full, the label of the virtual cartridge that occupies the bin is provided; there are as many entries as there are configured bins;
  • tape mailbox 338 contains the information and status of the tape drive; for example, the tape drive may be full or empty; if full, the label of the virtual cartridge that occupies the tape drive is provided; there are as many entries as configured tape drives;
  • import/export mailbox 340 which contains the information and status of the import/export slot; there are as many entries as configured slots;
  • share mailbox 342 which contains the information of the VTL server connected to the DLU disk array; there is one entry for each VTL server attached to the DLU disk array.
  • DLU disk array 322 includes one or more DLU virtual cartridges 326 .
  • Each virtual cartridge contains:
  • some configuration information such as the virtual cartridge label, the virtual cartridge barcode, etc.
  • DLU cartridge device 326 (see FIG. 11) of this example has a data structure 350 illustrated in FIG. 13, with the following fields:
  • DLU virtual cartridge 352 which contains configuration information such as the label, barcode, etc.;
  • DLU virtual cartridge directory 354 [0132]
  • the current directory position 353 in field 354 and the current data position 355 in field 356 record the current status of the cartridge and provide a sequential access method to the DLU cartridge device 326 .
  • a 32K SCSI Write command may be implemented as follows:
  • the DLU will add an entry to the cartridge directory 354 in the position pointed to by the “current directory position” 353 .
  • This entry will state the size of the IO (e.g., 32K);
  • the DLU will write the 32K data sent in the Write command to the position pointed to by the “current data position” 355 ;
  • a SCSI Space command (“space backwards one block”), may be implemented as follows:
  • the content of the entry pointed to by the “current directory position” 353 is read (e.g., 32K);
  • FIG. 11 also illustrates the assignment of one VTL front-end FC port ( 312 , 314 ) to one or more VTL devices (VTL tape 319 and/or VTL robot 315 ). It further illustrates “visible LUNs” 317 associated with each VTL device (e.g., LUN 0 and LUN 1 associated with port 0 , and LUN 4 and LUN 1 associated with port 1 ).
  • Front-end ports 312 , 314 and visible LUNs 317 are defined in a VTL configuration file: vtl.cfg. Almost all SCSI commands are addressed to a specific LUN. Commands that are not addressed to a specific LUN are handled by the front-end port itself (“target collector”); an example is a report LUN. SCSI commands can be classified as: data-in commands (e.g., read); data-out commands (e.g., write); and no data commands (e.g., rewind).
  • data-in commands e.g., read
  • data-out commands e.g., write
  • no data commands e.g., rewind
  • FIG. 14 illustrates a timing sequence for forwarding and execution of a SCSI data-in command for the read operation.
  • the host sends a FCP_CMD command to the target collector ( 222 in FIG. 10); it is forwarded to the VTL device ( 226 in FIG. 10), and then to the DLU device ( 228 in FIG. 10).
  • DLU device 228 executes the command, by reading data from the physical DLU disk array ( 196 in FIG. 10).
  • the read data is transmitted back to VTL device 226 , and is included in a FCP_DATA response generated by VTL device 226 and forwarded via target collector 222 back to the host.
  • VTL device 226 also generates a FCP_RSP response which is sent back to the host.
  • FIG. 15 illustrates a timing sequence for a SCSI write command.
  • the host issues a FCP_CMD (a SCSI write) command, followed by FCP_DATA (the data transfer), which are sent to target collector 222 of the VTL server.
  • the target collector forwards the data to VTL device 226 , which in reply sends a FCP_RSP response back to the host.
  • VTL device 226 forwards the data to DLU device 228 , which in turn forwards the data to physical DLU disk array 196 .
  • FIG. 15 further illustrates a dual buffer mechanism which enables the VTL software to manage commands on both its front-end (connected to the hosts) and back-end (connected to disk storage) simultaneously. While the back-end is busy writing to the disk, the front-end can process the next write command (see dotted arrow with FCP_CMD command in FIG. 15).

Abstract

A Virtual Tape (VT) server residing on a network is connectible on its front end to a plurality of heterogeneous backup hosts, with different operating systems and/or backup applications, and on its back end to one or more disk storage devices in an open systems environment. The VT server responds to tape storage commands sent by the backup host as if it were the intended tape storage device and then emulates the desired tape storage activity on the one or more disk storage devices. In a described implementation, the host and server act as SCSI initiator and target and communicate over a Fibre Channel connection.

Description

    TECHNICAL FIELD
  • The present invention relates to systems and methods for emulating tape storage. [0001]
  • BACKGROUND
  • Data backup is an essential element of the data protection process in every organization. Historically it has involved sending a backup copy of the data to a tape storage device. Exponential data growth, a shrinking backup window, heterogeneous platforms and applications (an open systems environment), and rising downtime costs are some of the data storage challenges facing IT administrators today. As a result, data backup is now typically the number one storage problem for IT administrators. [0002]
  • A traditional [0003] backup system architecture 10, shown in FIG. 1, has a backup application residing on a backup server 14 and acting as the point of management and control for both the backup process and associated tape hardware. Backup server 14 is typically disposed on a local area network (LAN) 16, where it is connected to a plurality of local hosts (e.g., PC's and other servers (not shown) requiring data backup) and to a tape library 18. However, a variety of different backup applications are now available from various vendors, each compatible with different operating systems, storage systems and applications. Integrating these various backup applications into an open systems environment, with heterogeneous hosts and heterogeneous tape storage systems, is a significant challenge.
  • Apart from the difficulties of integrating the different systems, backup and recovery from tape is itself an inherently labor-intensive, complex and error prone process. The success rate for tape backup varies between 95 and 99%; for tape recovery, a less frequent but very critical operation, it is even lower. The operational costs related to tape backup and recovery management keep rising as the complexity of the system and the amount of data increase. [0004]
  • As a result of these problems, new data protection schemes have been proposed. One approach is to integrate disk-based cache (an expensive form of temporary storage typically used for application data) to improve backup performance and reduce recovery time. Another approach is to utilize disk-based library storage for data backup, this too being a more expensive alternative than tape storage. Some systems emulate a tape storage device with a disk storage device. In one such emulation system, commonly used in a mainframe (dedicated host and storage device) environment, tape requests are intercepted in the host server and converted to disk requests so that an unmodified magnetic disk storage device can emulate (act as a virtual) magnetic tape storage device. [0005]
  • While solving some of the problems of traditional tape-based backup and recovery methods, these new approaches have generated problems of their own. Many of these new approaches do not integrate seamlessly into the variety of existing backup applications and procedures of open systems environments. Some approaches require new systems hardware, as well as software. Others are too expensive, requiring additional disk space in primary (expensive, high performance) storage disk arrays. Furthermore, many of these approaches do not consolidate the backup data procedures, but rather are niche solutions suited to only a portion of the data handled by a data center. [0006]
  • Whereas tape storage has been central to data backup, disk storage has been central to applications storage (i.e., primary storage), which requires more immediate access to data. Thus, traditional disk arrays have been optimized for application storage performance. These storage arrays include RAID architectures for data availability, redundant support systems for reliability of the full data array, wide band channels to support high throughput, and caching to reduce input/output (I/O) latency. Because of their criticality to systems operation, applications storage arrays are also designed with redundant components (including the disks themselves) that can be removed and replaced without interrupting systems operation (referred to as “hot swap” capability). As a result of their increased complexity, application storage arrays typically cost at least ten times the amount of raw disk space. [0007]
  • For most data protection applications, and specifically for backup, many of these design complexities are not required. Additionally, while application storage systems must be designed so that the full data array is available at all times, most data protection applications require only a small fraction (e.g., ten percent or less) of the data to be active at any time. [0008]
  • FIG. 2 illustrates an enhanced [0009] backup architecture 20 which includes both disk and tape storage. In this schematic drawing, a plurality of hosts 21 (e.g., computers) are connected by a LAN 22. A plurality of servers 24, e.g., application server 25, e-mail server 26, web server 27, and backup server 28 on which backup application 29 resides, are connected by a Storage Area Network (SAN) 30, and to LAN 22. Data paths 32, 34, 35 exist between backup server 28 and each of disk library 38, which serves as a target for backup data, and tape library 36, which serves as a target for archive data. Systems of this type have been implemented ad hoc to reduce backup times and/or to increase the confidence and completion (success rate) of backup within a given backup window. However, the ability to scale such an architecture is limited, particularly in open systems environments which include a variety of different vendors' equipment.
  • Thus, there is a need to provide a backup data protection system having a more cost-effective combination of some (and preferably all) of the following characteristics: capacity; performance; availability; cost; compatibility; simplicity; and scalability. [0010]
  • SUMMARY
  • Various system and method implementations consistent with the invention, a virtual tape storage computer (a VT server) residing on a network has a front end connectable to a plurality of hosts, on which data storage backup application(s) reside, and a back end connectable to one or more disk storage devices. The VT server is operable in an open systems environment which allows, as described herein, simultaneous connectivity to multiple heterogeneous backup hosts, e.g., with different operating systems and/or backup applications. The hosts initiate data backup commands intended for tape storage devices, which commands are received by the VT server. The VT server responds as if it were the intended tape storage device and then emulates the desired tape storage activity on the one or more disk storage devices. [0011]
  • In one such implementation, a computer-implemented virtual tape storage system includes: a scalable front end connectible to a variable number of heterogeneous hosts in an open systems environment; a scalable back end connectible to a variable number of disk storage devices; and a target emulator and command converter which together accept tape storage commands from the hosts and implement the tape storage commands by emulating tape storage devices identified in the commands with the one or more of the disk storage devices. [0012]
  • In another implementation, a VT server receives and implements data storage commands and data sent by an initiator host; the commands and data are intended for a target tape storage device and are sent over a link or channel, such as a Fibre Channel (FC) connection. A VT program residing on the VT server includes a device driver which transparently accepts initiator storage commands (e.g., SCSI commands) intended for specific target tape storage devices (e.g., identified by a logical address). The VT program further includes a target emulator and a command converter which together confirm the validity of such storage commands and convert them to disk storage commands. Finally, the backup data (from the initiator host) and data describing the emulated tape device are stored in the one or more disk storage devices. [0013]
  • In another implementation, a system is provided for data backup including: a backup server and a virtual tape (VT) server connected in an open systems environment; the backup server including a backup application providing a single point of management and control for backup operations; and the VT server accepting and implementing backup commands received from the backup server, which implementation includes emulating one or more tape storage devices with one or more disk storage devices. [0014]
  • In another implementation, a method is provided for performing backup operations including: providing a backup server and a virtual tape (VT) server in an open systems environment, the VT server receiving from the backup server commands for tape storage and the VT server responding by emulating the requested tape storage with storage on one or more physical disk storage devices; and providing streaming of data intended for tape storage directly from one or more hosts to the one or more physical disk storage devices without storing the data in an intermediate cache disk storage device. [0015]
  • In another implementation, a method of emulating a tape storage device includes: sending a backup command for a designated tape storage device from a host to a virtual tape server over a network channel in an open systems environment; the server accepting the command as if it were the designated tape storage device and translating the command into a command for a disk storage device; storing/retrieving a data component of the command on/from the disk storage device; and recording the storage location for the stored data as an emulated tape storage device. [0016]
  • In another implementation, a method is provided for emulating tape storage including steps of: transparently accepting SCSI backup tape storage commands for designated tape storage devices from heterogeneous hosts over a network connection; storing data associated with the command(s) on a disk storage device; and recording a storage location for such data as an emulated tape storage device. [0017]
  • In another implementation, an apparatus is provided for emulating tape storage including at least one memory having program instructions, and at least one processor configured to execute the program instructions to perform the operations of: transparently accepting SCSI backup tape storage commands for designated tape storage devices from heterogeneous hosts over a network connection; storing data associated with the commands on a disk storage device; and recording a storage location for such data as an emulated tape storage device. [0018]
  • In another implementation, an apparatus is provided for emulating tape storage including: means for transparently accepting SCSI backup tape storage commands for designated tape storage devices from heterogeneous hosts over a network connection; means for storing data associated with the command(s) on a disk storage device; and means for recording a storage location for such data as an emulated tape storage device. [0019]
  • In another implementation, a computer-readable medium is provided containing instructions for controlling a computer system to perform a method for emulating tape storage, the method including: transparently accepting SCSI backup tape storage commands from heterogeneous hosts over a network connection; storing data associated with the command(s) on a disk storage device, and recording a storage location for such data as an emulated tape storage device. [0020]
  • In another implementation, a computer program is provided with instructions for implementing a method, the method including: accepting initiator commands from heterogeneous hosts in an open systems environment for backing up and restoring data; and implementing as a target the initiator commands by emulating one or more tape devices with one or more disk storage devices. [0021]
  • In the various implementations described in this application, the order of method steps or arrangement of apparatus elements provided is not limiting unless specifically designated as such.[0022]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram of a prior art backup system architecture including a backup application residing on a backup server; [0023]
  • FIG. 2 is a schematic diagram of a more elaborate prior art backup architecture which includes both disk and tape storage devices; [0024]
  • FIG. 3 is a schematic diagram of an implementation consistent with the invention which provides a virtual storage pool; [0025]
  • FIG. 4 is a schematic diagram of a network architecture for an implementation consistent with the invention, including a Virtual Tape Library (VTL) server and Disk Library Unit (DLU); [0026]
  • FIG. 5 is a schematic illustration of a network architecture for another implementation, having multiple Disk Library Units (DLUs); [0027]
  • FIG. 6 is a schematic diagram of a network architecture for another implementation, having both multiple VTL servers and multiple DLUs; [0028]
  • FIG. 7 is a schematic diagram of a network architecture for another implementation, including a local backup data site and an offsite archiving site; [0029]
  • FIG. 8 is a schematic diagram of a network architecture for another implementation, including a local site for storing backup data and a disaster recovery site for remote mirroring; [0030]
  • FIG. 9 is a schematic illustration of the hardware components of a VTL server according to an implementation consistent with the invention; [0031]
  • FIG. 10 is a corresponding software block diagram for the VTL server of FIG. 9; [0032]
  • FIG. 11 is a schematic illustration of a DLU system architecture for an implementation consistent with the invention; [0033]
  • FIG. 12 is an example of a DLU database device data structure according to one implementation consistent with the invention; [0034]
  • FIG. 13 is an example of a DLU cartridge device database structure according to one implementation consistent with the invention; [0035]
  • FIG. 14 illustrates a command sequence for a SCSI read command; and [0036]
  • FIG. 15 illustrates a command sequence for a SCSI write command.[0037]
  • DETAILED DESCRIPTION
  • Various implementations consistent with the invention will now be described. These methods and systems, which illustrate the invention, provide different combinations of benefits, for example in regard to capacity, performance, availability, cost, compatibility, simplicity and scalability. [0038]
  • According to one implementation, FIG. 3 shows an open systems environment including a [0039] LAN network 40 connecting a plurality of mixed Unix and NT computer hosts 41, 42, 43, 44. These hosts are also connected to a Storage Area Network (SAN) 46, which comprises a shared network of storage devices. The SAN is connected to what is shown schematically as a “virtual storage pool” 48. This virtual storage pool includes disk-based storage devices and a system for utilizing the disk storage to emulate tape storage. The pool can be integrated seamlessly into an open systems backup and recovery environment. By “integrated seamlessly” it is meant that no significant changes (special software or configuration) are required to the host backup applications, drivers or other components of the IT infrastructure, including the disk-based storage devices.
  • The virtual storage pool can be implemented (in one example) with at least one Virtual Tape Library (VTL) server, described below, which receives backup tape commands from heterogeneous hosts and is connectable to one or more disk storage devices for transparently creating virtual pools of tape storage in disparate systems. It allows users to emulate various vendors' tape devices in the same storage pool. As used herein, tape device means a tape storage device such as a tape library, tape drive, or other tape-based storage apparatus. Specific examples include a Quantum™ DLT7000 tape drive, and an ATL P3000 automated tape library. [0040]
  • The VTL server allows multiple heterogeneous hosts, running different operating systems and different backup applications, to simultaneously connect to various vendors' disk devices. Disk device means a disk storage device such as a disk drive or disk array. Such disk devices are available from EMC™, HP™, IBM™, etc., including ATA-based disk arrays (a new low-cost disk technology). A specific example of a disk array is the EMC Symmetrix™ 5.5. [0041]
  • When a backup application host sends a backup command, addressed to a specific tape storage device, the VTL server replies to the host as though it (the VTL server) were the addressed tape storage device, and then emulates the requested tape operation with one or more of the disk devices. Based on communications with the VTL server, the host believes that the backup transaction has taken place on the addressed tape storage device. [0042]
  • In this open systems environment, multiple hosts may be running multiple vendors' operating systems (e.g., UNIX, Windows NT). The hosts may also be running multiple vendors' backup applications (e.g., ArcServe™, NetBackup™, Networker™, TSM™). As used herein, a backup application provides tape management for backup and recovery functions. [0043]
  • A more specific implementation of the virtual storage pool is illustrated in FIG. 4. FIG. 4 shows a plurality of [0044] hosts 50 connected by a Fibre Channel (FC) fabric 52 to a VTL server 54; the VTL server is in turn connected by Fibre Channel (FC) link 56 to an associated Disk Library Unit (DLU) 58. The “front end” 53 of the VTL server, which is connected by the Fibre Channel fabric 52 to the plurality of hosts 50, provides scalable connectivity to a plurality of host backup applications. The “back end” 55 of the VTL server is connected to DLU 58, which includes a plurality of disk-based storage devices or arrays 59.
  • In another implementation, illustrated in FIG. 5, a plurality of [0045] hosts 70 are again connected by a FC fabric 72 to a VTL server 74, but here the VTL server is connected on the back end by a plurality of Fibre Channels 76 and 78 to a plurality of DLUs 80, 82 (here two). In this example, the back end 75 of VTL Server 74 provides scalable connectivity and can utilize several DLU disk arrays in parallel.
  • In yet a further implementation, shown in FIG. 6, a plurality of [0046] hosts 90 are connected by FC fabric 92 to a plurality of VTL servers 94, 98, 102 (here three), which in turn are connected by FC fabric 106 to a plurality of disk library units 108, 110 (here two). In this example, scalable connectivity is provided at both the front ends 93, 97, 101 of each respective VTL server to the plurality of hosts 90, and at the back ends 95, 99, 103 of each respective VTL server to the plurality of DLUs 108, 110.
  • These implementations illustrate what may be referred to as “virtual tape data storage”, among a variety of different hosts and a variety of different disk storage devices. This eliminates the need for dedicated drives, e.g. where a specific disk drive is allocated to a specific backup application host. In this example, data from one or more hosts can be simultaneously streamed to one or more VTL servers, and on to one or more disk devices emulating one or more tape devices. [0047]
  • In these examples, the VTL server provides a “virtual image” of a compatible tape storage device on its front end to the host(s). The VTL server also appears to be a compatible host on its back end to the disk storage device(s). [0048]
  • In these examples, data can be streamed directly from one or more hosts to the one or more physical storage disk drives or disk libraries. By “directly”, it is meant that there is no intermediate hard disk array staging area, which additional storage system and step would tend to increase the cost and/or complexity of the system. Furthermore, there is no intermediate or second point of management and control added for backup operations. Rather, the backup application from the host continues to serve as a single point of management and control for backup operations. As used herein, backup operations includes both backup and recovery operations. [0049]
  • Furthermore, the implementations described above do not require additional disk space in primary (expensive, high performance) storage disk arrays. [0050]
  • Another benefit is that the VTL server can run on a standard off-the-shelf server, such as an Intel™-based Linux or UNIX server, e.g. Del™ 4600, and Sun™ Solaris 5.8 servers. [0051]
  • The implementations described above are distinguishable from the prior art which utilizes hard disk array staging areas to improve backup performance and reduce time to data recovery. These prior art systems offload the actual backup transaction from the tape libraries onto the staging area, placing the backup data in, for example, RAID cache, to be transferred over to a tape library at a later specified time. Thus, instead of writing the data directly from the host to the storage device, they write the data to a high-speed RAID cache disk, wherein the data can later be written to another storage device at a time completely independent of the data being backed up, i.e., not within the backup window. [0052]
  • Also distinguishable are virtual tape servers used in the mainframe environment, sold for example by IBM™ and StorageTek™, which do not replace the tape library storage but enhance their functionality by providing intermediate disk cache acting as buffer to the tape drives and providing additional management capability for the tape library storage systems. [0053]
  • Instead, in one implementation consistent with the invention, the tape libraries are replaced by a Virtual Tape Library (VTL) unit which has a configurable number of virtual tape drives and virtual tape cartridges. The system can emulate both a Tape Library Unit (TLU) robotics and a configurable number of tape drive devices. It is configurable to meet a customer's needs, for example in regard to the number of virtual tape cartridges, virtual cartridge size, and protection level (RAID). [0054]
  • Furthermore, the VTL system includes a VTL server which emulates the tape drives and tape library units transparently. The VTL virtual tape drives can self identify, through a SCSI command (described in further detail below), as a SCSI tape drive device (e.g., whose vendor ID is Quantum and product ID is DLT7000). Similarly, the VTL virtual tape library unit can self identify through a SCSI command as a SCSI tape library unit (e.g., whose vendor ID is Quantum and product ID is ATL P3000). Thus, the VTL server appears to the host as the designated physical tape storage device. [0055]
  • Other implementations are illustrated in FIGS. 7 and 8. In both of these implementations, a local site includes a [0056] VTL server 124, 146, respectively, and a disk library unit (DLU) 128, 150, respectively, which serve as a primary (although virtual) library for active backup data. In both cases, a plurality of hosts 120, 142 are connected by a FC fabric 122, 144 to the VTL servers 124, 146 (respectively), and the VTL servers 124, 146 are connected via a FC 126, 148 to the DLUs 128, 150 (respectively). Where they differ is that in FIG. 7, a physical tape library unit (TLU) 130 is also connected via FC fabric 122 and functions as a data import/export device to allow off-site archiving of data (see arrow 134). A backup application 121 in host 120 initiates and controls media duplication (see arrows 135, 136) of data stored in the DLU 128 (the virtual storage pool) which is then sent to the TLU 130 for archiving. The individual tape cartridges 131 in the TLU can then be physically removed (by robotics arm 133) and transported to an off-site location for off-site archiving (arrow 134). Duplication is a common feature in open systems backup applications, such as Veritas™ NetBackup, Legato™ NetWorker, etc.
  • In FIG. 8, a [0057] local site 140 includes VTL server 146 and DLU 150 as the primary (virtual) library for active backup data. At a remote disaster recovery site 160, there is provided another VTL server 166 connected by FC fabric 164 to a plurality of hosts 162, and by FC link 167 to DLU 168. Remote mirroring between the local and remote DLUs 168 and 150 (see arrow 170) is used to recover data from the disaster recovery site 160 that has been lost at the local site 140.
  • FIGS. [0058] 9-10 illustrate a specific implementation of a VTL server acting as a disk-based tape emulation system 180 in an open systems environment, consistent with the invention. FIG. 9 is a schematic illustration of the hardware components, while FIG. 10 is a schematic illustration of the software components.
  • As shown in FIG. 9, an NT (or Unix) [0059] host 182 is connected via Fibre Channel 184 to a front end 186 of a VTL server 188. A back end 192 of VTL server 188 is connected by a Fibre Channel 194 to a Disk Library Unit 196. Host 182 includes a backup application 183 which acts as an “initiator” in issuing a command to a “target” tape storage device. This implementation utilizes the Fibre Channel Protocol (FCP) for SCSI, second version (hereinafter FCP-2), a draft proposed by the American National Standards Technical Committee T10, Project 1144D, Revision 8, Sep. 23, 2002 (available at www.t10.org). This standard describes a frame format and protocol for transferring commands and data between a SCSI (Small Computer System Interface) initiator and target using the FC (Fibre Channel) transmission standards. Before discussing further the implementation of FIGS. 9-10, a short summary of the SCSI and FC standards is provided.
  • The Small Computer System Interface (SCSI) command set is widely used today for a variety of device types. The transmission of SCSI commands across Fibre Channel links allows the large body of SCSI application and driver software to be used in the Fibre Channel (FC) environment. [0060]
  • FCP-2 is part of the SCSI family of standards developed by T10 to facilitate the use of SCSI command sets for many different types of devices across many different types of physical interconnects. The architectural model for the family of standards is set forth in NCITS Project [0061] 11570, Information Technology—SCSI Architecture Model-2 (SAM 2).
  • Fibre Channel (FC) is implemented as a high-speed serial architecture that allows either optical or electrical connections at data rates from 265 Mbits up to 4 Gbits per second. Topologies supported by Fibre Channeling include point-to-point, fabric switched, and arbitrated loop. All FC connections use the same standard frame format and standard hierarchy of transmission units to transmit Information Units (lUs) that carry SCSI information. [0062]
  • Fibre Channel (FC) is logically a point-to-point serial data channel. The architecture may be implemented with high-performance hardware that requires little real-time software management. The FC protocol utilizes the multiplexing and shared bandwidth capabilities provided by various FC classes of service and provides options for reliable error detection and error recovery independent of the class of service. [0063]
  • FCP-2 defines a Fibre Channel mapping layer (FC-4) that uses the services defined by NCITS Project 1311D, “Fibre Channel Framing And Signaling Interface (FC-FS)”, to transmit SCSI command, data, and status information between a SCSI initiator and a SCSI target. The following definitions from FCP-2 are relevant: [0064]
  • 3.1.6 application client: An object that is the source of SCSI commands. [0065]
  • 3.1.9 command: A request describing a unit of work to be performed by a device server. [0066]
  • 3.1.12 data in delivery service: A confirmed service used by the device server to request the transfer of data to the application client. [0067]
  • 3.1.13 data out delivery service: A confirmed service used by the device server to request the transfer of data from the application client. [0068]
  • 3.1.16 device server: An object within the logical unit that executes SCSI tasks and enforces the rules for task management. [0069]
  • 3.1.20 FCP Exchange: A SCSI I/O Operation for the Fibre Channel FC-2 layer. The SCSI I/O Operation for Fibre Channel is contained in a Fibre Channel Exchange. [0070]
  • 3.1.21 FCP I/O operation: A SCSI I/O Operation for the Fibre Channel FC-4 layer, as defined in FCP-2. [0071]
  • 3.1.22 FCP Port: An N Port or NL Port that supports the SCSI Fibre Channel Protocol. [0072]
  • 3.1.27 Information Unit: An organized collection of data specified by the Fibre Channel protocol to be transferred as a single Sequence by the Fibre Channel service interface. [0073]
  • 3.1.28 initiator: A SCSI device containing application clients that originate device service requests and task management functions to be processed by a target SCSI device. In this standard, the word “initiator” also refers to an FCP_Port using the Fibre Channel protocol to perform the SCSI initiator functions defined by SAM-2. [0074]
  • 3.1.31 logical unit: A target resident entity that implements a device model and processes SCSI commands sent by an application client. [0075]
  • 3.1.32 logical unit number: An encoded 64-bit identifier for a logical unit. [0076]
  • 3.1.54 SCSI device: A device that originates or services SCSI commands. [0077]
  • 3.1.55 SCSI I/O operation: An operation defined by a SCSI command, a series of linked SCSI commands or a task management function. [0078]
  • 3.1.58 target: A SCSI device that receives SCSI commands and directs such commands to one or more logical units for execution. In this standard, the word “target” also refers to an FCP_Port using the Fibre Channel protocol to perform the SCSI target functions defined by SAM-2. [0079]
  • 3.1.60 task: An object within the logical unit representing the work associated with a command or group of linked commands. [0080]
  • The Fibre Channel physical layer (FG-2 layer) described by FC-FS performs those functions required to transfer data from one port to another (referred to as FCP_Ports). A switching fabric allows communication among more than two FCP_Ports. An arbitrated loop (FC-AL) is an alternative multiple port topology that allows communication between two ports on the loop, or between a port on the loop and a port on a switching fabric attached to the loop. [0081]
  • The FCP device and task management protocols define the mapping of SCSI functions, defined in SCSI Architecture Model-2 (SAM-2), to the Fibre Channel interface defined by FC-FS. The I/O operation defined by SAM-2 is mapped into a Fibre Channel exchange. A Fibre Channel exchange carrying information for a SCSI I/O operation is an FCP exchange. The request and response primitives of an I/O operation are mapped into Information Units (lUs) as shown in Table 1. [0082]
    TABLE 1
    SCSI and Fibre Channel protocol functions
    SCSI function FCP equivalent
    I/O operation Exchange
    Protocol Service Request and Response Sequence
    Send SCSI Command Request Unsolicited command IU
    (FCP_CMND)
    Data delivery request Data descriptor IU
    (FCP_XFER_RDY)
    Data delivery action Solicited data IU (FCP_DATA)
    Send Command Complete Response Command status IU (FCP_RSP)
    REQ/ACK for Command Complete Confirmation IU (FCP_CONF)
  • An application client begins an FCP I/O operation by invoking an Execute Command remote procedure call (see SAM-2). The Execute Command call conveys a single request or a list of linked requests from the application client to the FCP service delivery subsystem. Each request contains all the information necessary for the execution of one SCSI command, including the local storage address and characteristics of data to be transferred by the command. The FCP then performs the following actions using FC-FS services to perform the SCSI command. [0083]
  • The FCP_Port that is the initiator for the command starts an Exchange by sending an unsolicited command IU containing the FCP_CMND IU payload, including some command controls, addressing information, and the SCSI command descriptor block (CDB). [0084]
  • When the device server for the command has completed the interpretation of the command, has determined that a write data transfer is required, and is prepared to request the data delivery service, it sends a data descriptor IU containing the FCP_XFER_RDY IU payload to the initiator to indicate which portion of the data is to be transferred. The FCP_Port that is the initiator then transmits a solicited data IU to the target containing the FCP_DATA IU payload requested by the FCP_XFER_RDY IU. The data delivery request and returning payloads continue until the data transfer requested by the SCSI command is complete. [0085]
  • Alternatively, when the device server for the command has completed the interpretation of the command and has determined that a read data transfer is required, the FCP_Port that is the target transmits a solicited data IU to the initiator containing the FCP_DATA IU payload. Data deliveries containing payloads continue until all data described by the SCSI command is transferred. [0086]
  • After all the data has been transferred, the device server transmits the Send Command Complete protocol service response (see SAM-2) by requesting the transmission of an IU containing the FCP_RSP IU payload. That payload contains the SCSI status and, if the SCSI status is CHECK CONDITION, the autosense data describing the condition. The FCP_RSP IU indicates completion of the SCSI command. If no command linking, error recovery or confirmed completion is requested, the FCP_RSP IU is the final sequence of the Exchange. Other details of the protocol are available at www.t10.org. [0087]
  • Referring back again to FIG. 9, at the [0088] front end 186 of VTL server 188 there is a device driver 200 which acts as a SCSI target and accepts the host (initiator) request (command). Thus, driver 200 receives Fibre Channel frames containing an SCSI over FC (FCP) command (the FCP_CMND Information set). Driver 200 stores the frames in memory 201 in VTL server 188. Then driver 200 forwards the frames (containing the FCP command) to a target emulator 204.
  • The [0089] target emulator 204 receives the host request (command) and identifies itself as either a tape drive (SCSI stream device) or a tape library unit robotics (SCSI medium changer). The target emulator software understands the content of and processes FCP commands. For this purpose, it needs to understand four fields in the FCP command, namely:
  • Opcode [0090]
  • Logical Unit Number (LUN) [0091]
  • Read/Write (here in the target emulator read and write mean “data in delivery service” or “data out delivery service”) [0092]
  • Command/Task Management [0093]
  • In this context a SCSI command is addressed to a specific LUN (e.g., a specific tape device—tape drive or TLU robotics). The target (e.g., a TLU) may be the front end for a plurality of LUNs. In contrast, a SCSI task management command is intended for the entire target. The [0094] target emulator 204 checks to see if the tape device identified by the LUN in the command, exists. The target emulator 204 also checks the command's write field, and if flagged, checks whether a buffer is available to hold data. If it is, the emulator 204 sends a transfer ready signal back to the host. It adds FCP details to the response, without specifying what type of storage is attached.
  • More specifically, [0095] emulator 204, being aware of the format of the FCP_CMND information set, can access the memory 201 in which the command is stored and proceed to analyze it:
  • It checks the “SCSI CDB opcode” and verifies that it is a valid opcode. [0096]
  • It checks the LUN (which identifies a specific virtual tape drive device or a virtual tape library robotics) and verifies that it exists. [0097]
  • If the opcode is illegal, or there is no virtual device (tape drive or robotics) associated with the LUN, [0098] emulator 204 rejects the command by sending back (through driver 200) a response to the host 182 with an appropriate error code (this response is called FCP_RSP).
  • If the opcode is legal, and there is a virtual device associated with the command: [0099]
  • If the command is a “data-out” command, meaning the hosts are sending (writing) data to the VTL server, [0100] emulator 204 starts the data transfer (i.e., notifies host 182 that VTL server 188 is ready and the host can start sending the data to the VTL server). The data is transferred to a specific buffer in memory 201 of the VTL server (there are two buffers assigned to each VTL virtual tape drive for this purpose).
  • If it is not a “data-out” command, or if it is a “data-out” command and all of the data has already been transferred to the VTL, emulator [0101] 204 (through a queue) forwards the FCP_CMD (and the buffer containing the data, if it was a “data-out” command) to tape/disk command converter 206.
  • Thus, the command is next sent to [0102] converter 206 which converts the tape command to a disk command and creates a disk storage model. The converter software knows how to store the data to disk, how to catalog what data is written where, and how to manage the disk.
  • [0103] Converter 206 will check the SCSI CDB opcode and execute the specific action/operation required by the opcode. Converter 206 executes the action/operation either on its own, or by calling a function of the DLU 196. The DLU 196 is responsible for storing data to the disks and managing the status of the virtual tape library. Each emulated tape drive and tape robotics will correspond with a different LUN. Thus, the LUN in the address field of the FCP_CMD can be either for a stream device (tape drive) or a medium changer (tape robotics). Converter 206 knows how to send commands to the disk in either tape device or robotics formats.
  • Once the required action/operation is complete, [0104] converter 206 sends a response via emulator 204 to the host 182 indicating the completion status (FCP_RSP).
  • FIG. 10 is the corresponding schematic software block diagram for [0105] VTL server 188 of FIG. 9. A first block, connected to input FC link 184, is an FC driver block 220 which corresponds to device driver 200 in FIG. 9. A second block is a FC-SCSI port block 222, which provides the functionality of target emulator 204. A third block provides an emulated SCSI tape storage device 224. Block 224 may include several instances (one instance 226 per virtual tape drive or virtual robot) of VTL tape and robot objects, each having a different LUN, and comprises the tape storage model; it further includes a set 228 of associated DLU tape and robot objects, comprising the disk storage model. Each VTL tape object 227 has a corresponding DLU tape object 229 in the disk storage model 228. Similarly, each VTL robot object 230 has a corresponding DLU robot object 231 in the disk storage model. The objects in the disk storage model 228 correspond to data which is then stored in the disk library unit 196. DLU 196 holds both the data received from host 182, and the data describing the emulated tape device (see e.g., FIG. 11). The lafter may comprise a database, such as relational table, stored in the DLU. A more detailed description of one particular DLU system architecture follows.
  • A more specific implementation of a DLU system architecture for emulating a tape library unit (TLU) is shown in FIG. 11. This figure also illustrates the correlation of [0106] LUN identifiers 317 with VTL devices (tape drives 319 and TLU robotics 315).
  • A [0107] VTL 310 server (shown schematically) has two front-end ports, front-end port 0 (312) and front-end port 1 (314). VTL server 310 has two back- end ports 316, 318 connected by FC fabric 320 to DLU disk array 322. Disk array 322 includes a DLU database device 324 and multiple DLU cartridge devices 326.
  • [0108] VTL server 310 has residing thereon VTL software 311 with a DLU model 313 of the emulated tape devices—virtual tape drives 319 and virtual TLU robotics 315. DLU model 313 manages the DLU disk array persistent storage, which includes:
  • DLU cartridges; and [0109]
  • DLU robotics, bins, import/export slots, and tape drives. [0110] DLU 322 emulates the TLU robotics and a configurable number of tape drive devices; the DLU virtual tape drives provide “sequential access” to random access devices (DLU cartridge devices 326).
  • [0111] DLU database device 324 contains configuration information for all elements in the virtual tape library emulated by the DLU. It further contains the status of all such elements in the virtual tape library, namely:
  • robot; [0112]
  • bins (slots that hold the virtual cartridges); [0113]
  • tape drives; [0114]
  • import/export slots; and [0115]
  • shared boxes, which allow two or more VTL servers to be attached to the same DLU disk array. [0116]
  • The information in [0117] DLU database device 324 is updated each time there is a command that changes the status of one or more elements in the virtual tape library. For example, an SCSI Move command sent to the DLU robot (315 in DLU model 313) asks the robot to move a cartridge from a bin to a tape drive (319 in DLU model 313); this changes the status of the respective bin and the status of the respective tape drive, which status changes will be made in the DLU database device 324.
  • [0118] DLU database device 324 of this example has a data structure 330 illustrated in FIG. 12, with the following fields:
  • [0119] configuration information 332, which includes: number of robots;
  • number of bins; number of tape drives; number of import/export slots; number of shared boxes; virtual cartridges information; [0120]
  • [0121] robot mailbox 334, which contains the information and status of the robot; there is one entry for each configured robot (normally, there is only one configured robot);
  • [0122] bin mailbox 336, which contains the information and status of the bin; for example, the bin may be full or empty; if full, the label of the virtual cartridge that occupies the bin is provided; there are as many entries as there are configured bins;
  • [0123] tape mailbox 338, contains the information and status of the tape drive; for example, the tape drive may be full or empty; if full, the label of the virtual cartridge that occupies the tape drive is provided; there are as many entries as configured tape drives;
  • import/[0124] export mailbox 340, which contains the information and status of the import/export slot; there are as many entries as configured slots;
  • [0125] share mailbox 342, which contains the information of the VTL server connected to the DLU disk array; there is one entry for each VTL server attached to the DLU disk array.
  • DLU disk array [0126] 322 (see FIG. 11) includes one or more DLU virtual cartridges 326. Each virtual cartridge contains:
  • some configuration information, such as the virtual cartridge label, the virtual cartridge barcode, etc.; [0127]
  • the data written by the user; [0128]
  • the cartridge directory that describes the data that has been written to the cartridge and the current position of the cartridge. [0129]
  • DLU cartridge device [0130] 326 (see FIG. 11) of this example has a data structure 350 illustrated in FIG. 13, with the following fields:
  • DLU [0131] virtual cartridge 352, which contains configuration information such as the label, barcode, etc.;
  • DLU [0132] virtual cartridge directory 354;
  • DLU virtual [0133] cartridge user data 356;
  • [0134] early warning indication 358;
  • end of [0135] media indication 360.
  • The [0136] current directory position 353 in field 354 and the current data position 355 in field 356 record the current status of the cartridge and provide a sequential access method to the DLU cartridge device 326.
  • For example, a 32K SCSI Write command may be implemented as follows: [0137]
  • the DLU will add an entry to the [0138] cartridge directory 354 in the position pointed to by the “current directory position” 353. This entry will state the size of the IO (e.g., 32K);
  • the “current directory position” [0139] 353 will be moved forward by one entry;
  • the DLU will write the 32K data sent in the Write command to the position pointed to by the “current data position” [0140] 355;
  • the “current data position” [0141] 355 will be moved forward by 32K;
  • if the “early warning indication” [0142] 358 or the “end of media indication” 360 are reached while writing the data, the respective indication is sent back in the response to the write command (in the FCP_RSP).
  • As another example, a SCSI Space command (“space backwards one block”), may be implemented as follows: [0143]
  • the “current directory position” [0144] 353 is moved back one entry;
  • the content of the entry pointed to by the “current directory position” [0145] 353 is read (e.g., 32K);
  • the “current data position” [0146] 353 is moved back according to the value read in the directory entry (32K).
  • FIG. 11 also illustrates the assignment of one VTL front-end FC port ([0147] 312, 314) to one or more VTL devices (VTL tape 319 and/or VTL robot 315). It further illustrates “visible LUNs” 317 associated with each VTL device (e.g., LUN0 and LUN1 associated with port 0, and LUN4 and LUN1 associated with port1).
  • Front-[0148] end ports 312, 314 and visible LUNs 317 are defined in a VTL configuration file: vtl.cfg. Almost all SCSI commands are addressed to a specific LUN. Commands that are not addressed to a specific LUN are handled by the front-end port itself (“target collector”); an example is a report LUN. SCSI commands can be classified as: data-in commands (e.g., read); data-out commands (e.g., write); and no data commands (e.g., rewind).
  • FIG. 14 illustrates a timing sequence for forwarding and execution of a SCSI data-in command for the read operation. The host sends a FCP_CMD command to the target collector ([0149] 222 in FIG. 10); it is forwarded to the VTL device (226 in FIG. 10), and then to the DLU device (228 in FIG. 10). DLU device 228 executes the command, by reading data from the physical DLU disk array (196 in FIG. 10). The read data is transmitted back to VTL device 226, and is included in a FCP_DATA response generated by VTL device 226 and forwarded via target collector 222 back to the host. VTL device 226 also generates a FCP_RSP response which is sent back to the host.
  • FIG. 15 illustrates a timing sequence for a SCSI write command. The host issues a FCP_CMD (a SCSI write) command, followed by FCP_DATA (the data transfer), which are sent to target [0150] collector 222 of the VTL server. The target collector forwards the data to VTL device 226, which in reply sends a FCP_RSP response back to the host. VTL device 226 forwards the data to DLU device 228, which in turn forwards the data to physical DLU disk array 196.
  • FIG. 15 further illustrates a dual buffer mechanism which enables the VTL software to manage commands on both its front-end (connected to the hosts) and back-end (connected to disk storage) simultaneously. While the back-end is busy writing to the disk, the front-end can process the next write command (see dotted arrow with FCP_CMD command in FIG. 15). [0151]
  • Other implementations consistent with the invention will be apparent to those skilled in the art from consideration of the specification and practice of the implementations disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope of the invention being indicated by the following claims. [0152]

Claims (27)

1. A method for storing backup data comprising:
a virtual tape (VT) server residing on a network and connectable to one or more disk storage devices and simultaneously connectable to multiple heterogeneous backup hosts in an open systems environment, wherein the VT server receives initiator tape storage commands sent by the hosts;
at least one backup host sending an initiator tape storage command for a target tape storage device, and wherein the VT server:
transparently accepts the initiator tape storage command and responds as if it were the target device; and
emulates the target device by converting the initiator tape storage command to a disk storage command for implementing the command with the one or more disk storage devices.
2. A computer-implemented virtual tape storage system comprising:
a scalable front end connectable to a variable number of heterogeneous hosts in an open systems environment;
a scalable back end connectable to a variable number of disk storage devices; and
a target emulator and command converter which together accept tape storage commands from the hosts and implement the tape storage commands by emulating tape storage devices identified in the commands with the one or more disk storage devices.
3. The system of claim 2, wherein the tape storage commands are Small Computer System Interface (SCSI) commands.
4. The system of claim 3, wherein the SCSI commands are adapted for Fibre Channel (FC) transmission.
5. The system of claim 2, wherein the tape storage devices comprise one or more of a tape library and a tape drive.
6. The system of claim 2, wherein the one or more disk storage devices comprise one or more of a disk drive and a disk array.
7. The system of claim 2, wherein the hosts include multiple operating systems comprising Unix and Windows.
8. The system of claim 2, wherein at least one of the hosts has a backup application which issues the tape storage commands and serves as a single point of management and control for backup operations.
9. The system of claim 2, wherein the system resides on a virtual tape (VT) server.
10. The system of claim 9, wherein the VT server accepts SCSI tape storage commands.
11. The system of claim 9, wherein the VT server includes a model describing the emulated tape devices.
12. The system of claim 11, wherein the model describes a tape library including robotics and tape cartridges.
13. The system of claim 11, wherein the model includes tape objects and robot objects.
14. The system of claim 9, wherein the VT server acts as a SCSI target.
15. The system of claim 14, wherein the target emulator identifies itself as either a SCSI stream device or a SCSI medium changer.
16. The system of claim 15, wherein the VT server receives SCSI tape storage commands addressed to tape storage devices with logical unit numbers (LUNs).
17. The system of claim 2, further comprising emulation data describing the emulated tape devices.
18. The system of claim 17, wherein the emulation data has a data structure including one or more of the following fields: configuration information, robot mailbox, bin mailbox, tape mailbox, import/export mailbox, and share mailbox.
19. The system of claim 17, wherein the emulation data has a data structure including one or more of the following fields: configuration information, cartridge directory, and cartridge data.
20. A computer-readable medium containing computer-readable instructions enabling a computer to perform a method comprising:
accepting tape storage commands from heterogeneous hosts over channel network connections in a manner transparent to the hosts;
upon receipt of a tape storage command:
recording a storage location for an emulated tape storage device; and
storing data associated with the command on a disk storage device.
21. A method of emulating a tape storage device comprising:
receiving a backup command for a designated tape storage device from a host at a virtual tape server over a network channel in an open systems environment;
the server accepting the command as the designated tape storage device and translating the backup command into a command for a disk storage device;
storing a data component of the backup command on the disk storage device pursuant to the translated command; and
recording a storage location for the stored data as an emulated tape storage device.
22. A virtual tape library comprising software running on a computer including instructions for:
accepting a request for a tape storage device from a host over an open systems environment network;
processing the request for the tape storage device, wherein the request contains data or requests data at a tape cartridge logical address; and
storing/retrieving the data on/from a disk storage device at a recorded location which corresponds to the logical address.
23. A system for storing backup data comprising:
a plurality of heterogeneous backup hosts with backup applications connected, in an open systems environment, to a virtual tape (VT) server by a Fibre Channel connection;
one or more physical disk storage devices connected to the VT server;
the VT server including a VT program which:
transparently accepts and responds to host backup initiator storage commands intended for target tape storage devices identified by a logical address;
converts the tape storage commands to disk storage commands to enable storage of backup data and of emulation data describing the identified tape storage devices on the one or more physical disk storage devices.
24. A computer program with instructions for implementing a method, the method comprising:
accepting initiator commands from heterogeneous hosts in an open systems environment for backing up and restoring data; and
implementing as a target the initiator commands by emulating one or more tape devices with a pool of disk storage devices.
25. A system for data backup comprising:
a backup server and a virtual tape (VT) server connected in an open systems environment;
the backup server including a backup application providing a single point of management for backup operations; and
the VT server accepting and implementing backup management requests received from the backup server which include emulating one or more tape drive or tape library devices with one or more disk storage devices.
26. A method for performing backup operations comprising:
providing a backup server and a virtual tape (VT) server in an open systems environment;
streaming data directly from a host to a physical disk storage device via the VT server without storing the data in intermediate cache storage.
27. The system of claim 26, wherein the VT server and disk storage device serve as primary storage for active backup data, and a physical tape storage device serves as secondary storage for the backup data.
US10/358,350 2003-02-05 2003-02-05 Tape storage emulation for open systems environments Abandoned US20040153614A1 (en)

Priority Applications (12)

Application Number Priority Date Filing Date Title
US10/358,350 US20040153614A1 (en) 2003-02-05 2003-02-05 Tape storage emulation for open systems environments
CA2515448A CA2515448C (en) 2003-02-05 2004-02-04 Tape storage emulation for open systems environments
EP04708242A EP1593033B1 (en) 2003-02-05 2004-02-04 Tape storage emulation for open systems environments
PCT/US2004/003303 WO2004072961A2 (en) 2003-02-05 2004-02-04 Tape storage emulation for open systems environments
AT04708242T ATE375545T1 (en) 2003-02-05 2004-02-04 TAPE STORAGE EMULATION FOR OPEN SYSTEM ENVIRONMENTS
EP07075121.9A EP1832970B1 (en) 2003-02-05 2004-02-04 Tape storage emulation for open systems environments
AU2004211213A AU2004211213A1 (en) 2003-02-05 2004-02-04 Tape storage emulation for open systems environments
CN200480009136.3A CN100547535C (en) 2003-02-05 2004-02-04 The tape storage emulation system and method that is used for open system environment
JP2006503347A JP4931581B2 (en) 2003-02-05 2004-02-04 Tape storage emulation for open systems environments
DE602004009410T DE602004009410T2 (en) 2003-02-05 2004-02-04 BAND MEMORY EMULATION FOR OPEN SYSTEM ENVIRONMENTS
US11/338,313 US7853764B2 (en) 2003-02-05 2006-01-23 Tape storage emulation for open systems environments
US12/870,536 US8055870B2 (en) 2003-02-05 2010-08-27 Tape storage emulation for open systems environments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/358,350 US20040153614A1 (en) 2003-02-05 2003-02-05 Tape storage emulation for open systems environments

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/338,313 Continuation US7853764B2 (en) 2003-02-05 2006-01-23 Tape storage emulation for open systems environments

Publications (1)

Publication Number Publication Date
US20040153614A1 true US20040153614A1 (en) 2004-08-05

Family

ID=32771173

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/358,350 Abandoned US20040153614A1 (en) 2003-02-05 2003-02-05 Tape storage emulation for open systems environments
US11/338,313 Expired - Fee Related US7853764B2 (en) 2003-02-05 2006-01-23 Tape storage emulation for open systems environments
US12/870,536 Expired - Fee Related US8055870B2 (en) 2003-02-05 2010-08-27 Tape storage emulation for open systems environments

Family Applications After (2)

Application Number Title Priority Date Filing Date
US11/338,313 Expired - Fee Related US7853764B2 (en) 2003-02-05 2006-01-23 Tape storage emulation for open systems environments
US12/870,536 Expired - Fee Related US8055870B2 (en) 2003-02-05 2010-08-27 Tape storage emulation for open systems environments

Country Status (9)

Country Link
US (3) US20040153614A1 (en)
EP (2) EP1593033B1 (en)
JP (1) JP4931581B2 (en)
CN (1) CN100547535C (en)
AT (1) ATE375545T1 (en)
AU (1) AU2004211213A1 (en)
CA (1) CA2515448C (en)
DE (1) DE602004009410T2 (en)
WO (1) WO2004072961A2 (en)

Cited By (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148458A1 (en) * 2003-01-27 2004-07-29 Michiaki Sekine Method and system for tape management
US20040181388A1 (en) * 2003-03-11 2004-09-16 Yung Yip System having tape drive emulator and data tape cartridge housing carrying multiple disk drives
US20040260967A1 (en) * 2003-06-05 2004-12-23 Copan Systems, Inc. Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems
US20050010730A1 (en) * 2003-07-10 2005-01-13 Hitachi, Ltd. Offsite management using disk based tape library and vault system
US20050021524A1 (en) * 2003-05-14 2005-01-27 Oliver Jack K. System and method of managing backup media in a computing environment
US20050050169A1 (en) * 2003-08-25 2005-03-03 Basham Robert Beverley Apparatus, system, and method for communicating control messages between a first device and a second device
US20050060618A1 (en) * 2003-09-11 2005-03-17 Copan Systems, Inc. Method and system for proactive drive replacement for high availability storage systems
US20050080992A1 (en) * 2002-12-17 2005-04-14 Barry Massey Apparatus and method for virtualizing data storage media, such as for use in a data storage library providing resource virtualization
US20050114598A1 (en) * 2003-11-24 2005-05-26 Copan Systems, Inc. Method and system for accessing plurality of storage devices
US20050120264A1 (en) * 2003-11-28 2005-06-02 Azuma Kano Disk array system and method for controlling disk array system
US20050149672A1 (en) * 2003-05-22 2005-07-07 Katsuyoshi Suzuki Disk array apparatus and method for controlling the same
US20050210304A1 (en) * 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
US20060047905A1 (en) * 2004-08-30 2006-03-02 Matze John E Tape emulating disk based storage system and method with automatically resized emulated tape capacity
US20060075283A1 (en) * 2004-09-30 2006-04-06 Copan Systems, Inc. Method and apparatus for just in time RAID spare drive pool management
US20060090098A1 (en) * 2003-09-11 2006-04-27 Copan Systems, Inc. Proactive data reliability in a power-managed storage system
US20060123208A1 (en) * 2004-12-06 2006-06-08 Johnson R B Data center virtual tape off-site disaster recovery planning and implementation system
US20060126209A1 (en) * 2004-12-14 2006-06-15 Spectra Logic Corporation Variable media tape-based storage system
WO2006090412A2 (en) * 2005-02-24 2006-08-31 Monish Shah A data storage system and a method for its operation
US20060200506A1 (en) * 2005-02-17 2006-09-07 Dennis Desimone Data protection systems with multiple site replication
US20060259680A1 (en) * 2005-05-11 2006-11-16 Cisco Technology, Inc. Virtualization engine load balancing
US7162604B1 (en) * 2002-10-08 2007-01-09 Ultera Systems, Inc. Multi-user virtual tape system
US20070022240A1 (en) * 2005-07-22 2007-01-25 International Business Machines Corporation Method of assigning virtual import/export element addresses
US20070067555A1 (en) * 2005-09-19 2007-03-22 Spectra Logic Corporation Virtual interchangeable storage device
US20070070535A1 (en) * 2005-09-27 2007-03-29 Fujitsu Limited Storage system and component replacement processing method thereof
US20070079048A1 (en) * 2005-09-30 2007-04-05 Spectra Logic Corporation Random access storage system capable of performing storage operations intended for alternative storage devices
US20070083355A1 (en) * 2005-10-12 2007-04-12 Storage Appliance Corporation Data backup devices and methods for backing up data
US20070143096A1 (en) * 2005-10-12 2007-06-21 Storage Appliance Corporation Data backup system including a data protection component
US20070143097A1 (en) * 2005-10-12 2007-06-21 Storage Appliance Corporation Systems and methods for selectively copying embedded data files
US20070162271A1 (en) * 2005-10-12 2007-07-12 Storage Appliance Corporation Systems and methods for selecting and printing data files from a backup system
US20070220316A1 (en) * 2002-09-03 2007-09-20 Copan Systems, Inc. Method and Apparatus for Power-Efficient High-Capacity Scalable Storage System
US20070260815A1 (en) * 2002-09-03 2007-11-08 Copan Systems Background processing of data in a storage system
US20080028008A1 (en) * 2006-07-31 2008-01-31 Storage Appliance Corporation Optical disc initiated data backup
GB2440561A (en) * 2006-07-28 2008-02-06 Hewlett Packard Development Co Data storage system
CN100377065C (en) * 2006-04-19 2008-03-26 华中科技大学 Super large capacity virtual magnetic disk storage system
US20080082453A1 (en) * 2006-10-02 2008-04-03 Storage Appliance Corporation Methods for bundling credits with electronic devices and systems for implementing the same
US20080126446A1 (en) * 2006-11-27 2008-05-29 Storage Appliance Corporation Systems and methods for backing up user settings
US20080183934A1 (en) * 2004-12-14 2008-07-31 Spectra Logic Corporation Optional mobile media storage system
US20080243466A1 (en) * 2005-10-12 2008-10-02 Storage Appliance Corporation Systems and methods for converting a media player into a backup device
US20080301365A1 (en) * 2003-05-22 2008-12-04 Hiromi Matsushige Storage unit and circuit for shaping communication signal
US20090030955A1 (en) * 2007-06-11 2009-01-29 Storage Appliance Corporation Automated data backup with graceful shutdown for vista-based system
US20090031298A1 (en) * 2007-06-11 2009-01-29 Jeffrey Brunet System and method for automated installation and/or launch of software
US20090063794A1 (en) * 2007-08-30 2009-03-05 International Business Machines Corporation Method and system for enhanced data storage management
US20090228456A1 (en) * 2004-09-15 2009-09-10 International Business Machines Corporation Systems and Methods for Efficient Data Searching, Storage and Reduction
US20090240877A1 (en) * 2008-03-19 2009-09-24 Fujitsu Limited Virtual tape device and method for controlling the same
US20090300279A1 (en) * 2008-05-28 2009-12-03 Computer Associates Think, Inc. Signature Based Method for Sending Packets to Remote Systems
US7671485B2 (en) 2003-12-25 2010-03-02 Hitachi, Ltd. Storage system
US7698532B1 (en) * 2003-06-26 2010-04-13 Symantec Operating Corporation Method and apparatus for tape library emulation
US20100169560A1 (en) * 2005-10-12 2010-07-01 Jeffrey Brunet Methods for Selectively Copying Data Files to Networked Storage and Devices for Initiating the Same
US7813913B2 (en) 2005-10-12 2010-10-12 Storage Appliance Corporation Emulation component for data backup applications
US7823010B2 (en) 2004-02-04 2010-10-26 Hitachi, Ltd. Anomaly notification control in disk array
US7844445B2 (en) 2005-10-12 2010-11-30 Storage Appliance Corporation Automatic connection to an online service provider from a backup system
US7925680B1 (en) * 2004-07-21 2011-04-12 Oracle America, Inc. System and method for processing data management files in a virtual storage environment
US7954099B2 (en) 2006-05-17 2011-05-31 International Business Machines Corporation Demultiplexing grouped events into virtual event queues while in two levels of virtualization
US8024172B2 (en) * 2002-12-09 2011-09-20 Netapp, Inc. Method and system for emulating tape libraries
US20110264877A1 (en) * 2009-06-04 2011-10-27 Takashi Amano Storage subsystem and its data processing method, and computer system
US8195444B2 (en) 2005-10-12 2012-06-05 Storage Appliance Corporation Systems and methods for automated diagnosis and repair of storage devices
CN102543164A (en) * 2011-12-29 2012-07-04 北京控制工程研究所 Spacecraft DSP chip data protection method
CN102609486A (en) * 2012-01-20 2012-07-25 无锡众志和达存储技术有限公司 Data reading/writing acceleration method of Linux file system
US20120233292A1 (en) * 2009-12-18 2012-09-13 International Business Machines Corporation Handling of data transfer in a lan-free environment
US20120290807A1 (en) * 2011-05-11 2012-11-15 International Business Machines Corporation Changing ownership of cartridges
US8413137B2 (en) 2010-02-04 2013-04-02 Storage Appliance Corporation Automated network backup peripheral device and method
US9009742B1 (en) * 2013-05-10 2015-04-14 Emc Corporation VTL adaptive commit
US9063842B1 (en) * 2013-05-10 2015-06-23 Emc Corporation Technique for integrating VTL tape pools with MTree quotas
US20160034200A1 (en) * 2009-09-22 2016-02-04 Emc Corporation Performance improvement of a capacity optimized storage system using a performance segment storage system and a segment storage system
US9361189B2 (en) 2011-05-02 2016-06-07 International Business Machines Corporation Optimizing disaster recovery systems during takeover operations
US9436591B1 (en) 2013-09-30 2016-09-06 Emc Corporation Out-of-band file transfers between a host and virtual tape server
US9582207B1 (en) * 2015-01-01 2017-02-28 EMC IP Holding Company LLC Queued parallel processing of block handling for virtual tape control units
US20170220363A1 (en) * 2016-01-28 2017-08-03 Paul Francis Gorlinsky Mainframe system tape image data exchange between mainframe emulator system
US10095444B1 (en) * 2014-03-28 2018-10-09 EMC IP Holding Company LLC Tape emulation alternate data path
US10263826B1 (en) * 2013-09-30 2019-04-16 EMC IP Holding Company LLC Method of initiating execution of mainframe jobs from a virtual tape server
CN110198331A (en) * 2018-03-28 2019-09-03 腾讯科技(上海)有限公司 A kind of method and system of synchrodata
US11520486B2 (en) * 2019-11-19 2022-12-06 EMC IP Holding Company LLC Using a smart network interface controller with storage systems

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059423A1 (en) * 2004-09-13 2006-03-16 Stefan Lehmann Apparatus, system, and method for creating customized workflow documentation
US20060288057A1 (en) * 2005-06-15 2006-12-21 Ian Collins Portable data backup appliance
US20070091746A1 (en) * 2005-10-12 2007-04-26 Storage Appliance Corporation Optical disc for simplified data backup
US8681788B2 (en) * 2006-04-26 2014-03-25 Dell Products L.P. Accelerating NDMP based virtual tape library operations
US8069257B1 (en) * 2006-05-15 2011-11-29 American Megatrends, Inc. Universal serial bus system interface for intelligent platform management interface communications
US7571293B1 (en) * 2006-06-22 2009-08-04 Emc Corporation Emulation of point-in-time data copying operations
US8065133B1 (en) * 2006-06-30 2011-11-22 Sanblaze Technology, Inc. Method for testing a storage network including port level data handling
JP4844319B2 (en) * 2006-09-22 2011-12-28 富士通株式会社 Virtual tape library device sharing method, virtual tape library device, and program
JP4792361B2 (en) * 2006-09-27 2011-10-12 富士通株式会社 Response device, response method, and response program
US7620765B1 (en) * 2006-12-15 2009-11-17 Symantec Operating Corporation Method to delete partial virtual tape volumes
US20080172487A1 (en) * 2007-01-03 2008-07-17 Storage Appliance Corporation Systems and methods for providing targeted marketing
US20080226082A1 (en) * 2007-03-12 2008-09-18 Storage Appliance Corporation Systems and methods for secure data backup
JP4983474B2 (en) * 2007-08-10 2012-07-25 富士通株式会社 Virtual library apparatus, virtual library system, and logical volume copying method for virtual library apparatus.
JP4918940B2 (en) * 2007-09-28 2012-04-18 富士通株式会社 Primary center virtual tape device, secondary center virtual tape device, virtual library system, and virtual tape control method
US7913119B2 (en) * 2007-10-25 2011-03-22 Her Majesty the Queen in right of Canada, as represented by the minister of public safety Method and device for verifying integrity of data acquisition pathways
US7836030B2 (en) * 2007-11-13 2010-11-16 International Business Machines Corporation Data library optimization
WO2010070727A1 (en) * 2008-12-16 2010-06-24 富士通株式会社 Virtual tape device, and program and method for copying virtual tape data
CN101815078B (en) * 2009-02-24 2013-10-02 无锡众志和达存储技术股份有限公司 Embedded type virtual tape library parallel memory system
CA2756679C (en) 2009-03-31 2016-07-05 Commvault Systems, Inc. Information management systems and methods for heterogeneous data sources
US8250299B2 (en) * 2009-05-20 2012-08-21 International Business Machines Corporation Multi-host concurrent writing to magnetic tape
US11256529B2 (en) 2010-03-17 2022-02-22 Zerto Ltd. Methods and apparatus for providing hypervisor level data services for server virtualization
US10649799B2 (en) * 2010-03-17 2020-05-12 Zerto Ltd. Hypervisor virtual server system, and method for providing data services within a hypervisor virtual server system
US9158653B2 (en) * 2010-03-21 2015-10-13 Hewlett-Packard Development Company, L.P. Determining impact of virtual storage backup jobs
US9165015B2 (en) * 2010-07-29 2015-10-20 International Business Machines Corporation Scalable and user friendly file virtualization for hierarchical storage
US9009724B2 (en) 2010-09-24 2015-04-14 Hewlett-Packard Development Company, L.P. Load balancing data access in virtualized storage nodes
US8595430B2 (en) * 2010-09-30 2013-11-26 International Business Machines Corporation Managing a virtual tape library domain and providing ownership of scratch erased volumes to VTL nodes
US8392754B2 (en) * 2010-10-11 2013-03-05 International Business Machines Corporation Disaster recovery production takeover
US8479041B2 (en) 2010-10-13 2013-07-02 International Business Machines Corporation Disaster recovery failback
US8751858B2 (en) 2011-05-20 2014-06-10 International Business Machines Corporation System, method, and computer program product for physical drive failure identification, prevention, and minimization of firmware revisions
EP2729876B1 (en) * 2011-10-14 2016-06-01 Hewlett-Packard Development Company, L.P. Performing a replication operation in response to movement of a virtual data container
GB2496597B (en) * 2011-11-14 2017-10-04 Bio-Check(Uk) Ltd Cartridge for containing a sample
CN102521072B (en) * 2011-11-25 2013-09-11 华为数字技术(成都)有限公司 Virtual tape library equipment and data recovery method
US8977827B1 (en) 2012-05-31 2015-03-10 Kip Cr P1 Lp System, method and computer program product for recovering stub files
US9634522B2 (en) 2012-09-19 2017-04-25 International Business Machines Corporation Power grid data monitoring and control
CN103780634B (en) * 2012-10-17 2017-02-22 华为技术有限公司 Data interaction method and data interaction device
CN103049224B (en) * 2012-12-28 2015-12-23 华为技术有限公司 By the methods, devices and systems of data importing physical tape
US9110599B1 (en) * 2013-05-10 2015-08-18 Emc Corporation Thin provisioning of VTL tape pools with MTree logical quotas
CN103605587A (en) * 2013-11-20 2014-02-26 上海爱数软件有限公司 Tape library data backup and filing method
US9240209B1 (en) 2014-09-30 2016-01-19 International Business Machines Corporation Pass-through tape access in a disk storage environment
US9715418B2 (en) 2014-12-02 2017-07-25 International Business Machines Corporation Performance problem detection in arrays of similar hardware
CN108008914B (en) * 2016-10-27 2019-09-13 华为技术有限公司 The method, apparatus and ARM equipment of disk management in a kind of ARM equipment
US10095422B2 (en) * 2016-10-28 2018-10-09 Veritas Technologies, LLC Systems and methods for allocating input/output bandwidth in storage systems
CN107220007B (en) * 2017-06-14 2018-04-20 湖北第二师范学院 A kind of VTL system and method based on blue-ray storage equipment
CN109032838B (en) * 2018-06-28 2022-07-15 上海爱数信息技术股份有限公司 Automatic verification method for consistency of backup and recovery data of virtual machine
CN111240900B (en) * 2019-05-23 2020-11-24 北京天华星航科技有限公司 Data backup method based on virtual tape library
US11340818B2 (en) * 2019-07-26 2022-05-24 EMC IP Holding Company LLC Migrating virtual tapes between different virtual tape storages without host involvement

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297124A (en) * 1992-04-24 1994-03-22 Miltope Corporation Tape drive emulation system for a disk drive
US5438674A (en) * 1988-04-05 1995-08-01 Data/Ware Development, Inc. Optical disk system emulating magnetic tape units
US5909700A (en) * 1996-12-23 1999-06-01 Emc Corporation Back-up data storage facility incorporating filtering to select data items to be backed up
US5913215A (en) * 1996-04-09 1999-06-15 Seymour I. Rubinstein Browse by prompted keyword phrases with an improved method for obtaining an initial document set
US6070224A (en) * 1998-04-02 2000-05-30 Emc Corporation Virtual tape system
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6397308B1 (en) * 1998-12-31 2002-05-28 Emc Corporation Apparatus and method for differential backup and restoration of data in a computer storage system
US6496791B1 (en) * 1997-07-09 2002-12-17 Neville Yates Interfaces for an open systems server providing tape drive emulation
US6596791B2 (en) * 1998-07-21 2003-07-22 Alpenstock Holdings Limited Polymer complexes of glucuronoglucanes
US20040004811A1 (en) * 2002-07-08 2004-01-08 Kazumi Shimada Apparatus, method and system for a problem solving support, and a medium storing a program therefor
US20040024919A1 (en) * 2002-08-02 2004-02-05 Alacritus, Inc. Protectable data storage system and a method of protecting and/or managing a data storage system
US20040034811A1 (en) * 2002-08-14 2004-02-19 Alacritus, Inc. Method and system for copying backup data
US20040044705A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Optimized disk repository for the storage and retrieval of mostly sequential data
US20040044706A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Method and system for providing a file system overlay
US20040044863A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Method of importing data from a physical data storage device into a virtual tape library
US20040044842A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. System and method for exporting a virtual tape
US6785744B2 (en) * 2001-08-08 2004-08-31 International Business Machines Corporation Mapping SCSI medium changer commands to mainframe-compatible perform library function commands
US6834324B1 (en) * 2000-04-10 2004-12-21 Storage Technology Corporation System and method for virtual tape volumes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3618552B2 (en) * 1998-06-30 2005-02-09 富士通株式会社 Storage device
US6324497B1 (en) * 1998-07-15 2001-11-27 Sutmyn Storage Corporation Tape drive emulation system including tape library interface
US6490548B1 (en) * 1999-05-14 2002-12-03 Paterra, Inc. Multilingual electronic transfer dictionary containing topical codes and method of use
JP3714046B2 (en) * 1999-07-23 2005-11-09 株式会社日立製作所 Virtual tape storage
US6304798B1 (en) * 1999-11-29 2001-10-16 Storage Technology Corporation Automated data storage library with wireless robotic positioning system
US20020188592A1 (en) 2001-06-11 2002-12-12 Storage Technology Corporation Outboard data storage management system and method
US6745212B2 (en) * 2001-06-27 2004-06-01 International Business Machines Corporation Preferential caching of uncopied logical volumes in an IBM peer-to-peer virtual tape server
US7200546B1 (en) * 2002-09-05 2007-04-03 Ultera Systems, Inc. Tape storage emulator
US8024172B2 (en) * 2002-12-09 2011-09-20 Netapp, Inc. Method and system for emulating tape libraries

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438674A (en) * 1988-04-05 1995-08-01 Data/Ware Development, Inc. Optical disk system emulating magnetic tape units
US5297124A (en) * 1992-04-24 1994-03-22 Miltope Corporation Tape drive emulation system for a disk drive
US5913215A (en) * 1996-04-09 1999-06-15 Seymour I. Rubinstein Browse by prompted keyword phrases with an improved method for obtaining an initial document set
US5909700A (en) * 1996-12-23 1999-06-01 Emc Corporation Back-up data storage facility incorporating filtering to select data items to be backed up
US6496791B1 (en) * 1997-07-09 2002-12-17 Neville Yates Interfaces for an open systems server providing tape drive emulation
US6070224A (en) * 1998-04-02 2000-05-30 Emc Corporation Virtual tape system
US6341329B1 (en) * 1998-04-02 2002-01-22 Emc Corporation Virtual tape system
US6596791B2 (en) * 1998-07-21 2003-07-22 Alpenstock Holdings Limited Polymer complexes of glucuronoglucanes
US6397308B1 (en) * 1998-12-31 2002-05-28 Emc Corporation Apparatus and method for differential backup and restoration of data in a computer storage system
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6834324B1 (en) * 2000-04-10 2004-12-21 Storage Technology Corporation System and method for virtual tape volumes
US6785744B2 (en) * 2001-08-08 2004-08-31 International Business Machines Corporation Mapping SCSI medium changer commands to mainframe-compatible perform library function commands
US20040004811A1 (en) * 2002-07-08 2004-01-08 Kazumi Shimada Apparatus, method and system for a problem solving support, and a medium storing a program therefor
US20040024919A1 (en) * 2002-08-02 2004-02-05 Alacritus, Inc. Protectable data storage system and a method of protecting and/or managing a data storage system
US20040034811A1 (en) * 2002-08-14 2004-02-19 Alacritus, Inc. Method and system for copying backup data
US20040044863A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Method of importing data from a physical data storage device into a virtual tape library
US20040044842A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. System and method for exporting a virtual tape
US20040044706A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Method and system for providing a file system overlay
US20040044705A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Optimized disk repository for the storage and retrieval of mostly sequential data

Cited By (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220316A1 (en) * 2002-09-03 2007-09-20 Copan Systems, Inc. Method and Apparatus for Power-Efficient High-Capacity Scalable Storage System
US20070260815A1 (en) * 2002-09-03 2007-11-08 Copan Systems Background processing of data in a storage system
US7380060B2 (en) 2002-09-03 2008-05-27 Copan Systems, Inc. Background processing of data in a storage system
US7162604B1 (en) * 2002-10-08 2007-01-09 Ultera Systems, Inc. Multi-user virtual tape system
US8024172B2 (en) * 2002-12-09 2011-09-20 Netapp, Inc. Method and system for emulating tape libraries
US7743205B2 (en) * 2002-12-17 2010-06-22 Quantum Corporation Apparatus and method for virtualizing data storage media, such as for use in a data storage library providing resource virtualization
US20050080992A1 (en) * 2002-12-17 2005-04-14 Barry Massey Apparatus and method for virtualizing data storage media, such as for use in a data storage library providing resource virtualization
US7007129B2 (en) 2003-01-27 2006-02-28 Hitachi, Ltd. Tape management method by which a virtual tape file emulated on a disk drive is copied between disk drives
US20040148458A1 (en) * 2003-01-27 2004-07-29 Michiaki Sekine Method and system for tape management
US20040181388A1 (en) * 2003-03-11 2004-09-16 Yung Yip System having tape drive emulator and data tape cartridge housing carrying multiple disk drives
US20050021524A1 (en) * 2003-05-14 2005-01-27 Oliver Jack K. System and method of managing backup media in a computing environment
US8151046B2 (en) 2003-05-22 2012-04-03 Hitachi, Ltd. Disk array apparatus and method for controlling the same
US8200898B2 (en) 2003-05-22 2012-06-12 Hitachi, Ltd. Storage apparatus and method for controlling the same
US20050149672A1 (en) * 2003-05-22 2005-07-07 Katsuyoshi Suzuki Disk array apparatus and method for controlling the same
US7685362B2 (en) 2003-05-22 2010-03-23 Hitachi, Ltd. Storage unit and circuit for shaping communication signal
US20080301365A1 (en) * 2003-05-22 2008-12-04 Hiromi Matsushige Storage unit and circuit for shaping communication signal
US8429342B2 (en) 2003-05-22 2013-04-23 Hitachi, Ltd. Drive apparatus and method for controlling the same
US7434097B2 (en) 2003-06-05 2008-10-07 Copan System, Inc. Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems
US20040260967A1 (en) * 2003-06-05 2004-12-23 Copan Systems, Inc. Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems
US20050210304A1 (en) * 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
US7698532B1 (en) * 2003-06-26 2010-04-13 Symantec Operating Corporation Method and apparatus for tape library emulation
US7631157B2 (en) 2003-07-10 2009-12-08 Hitachi, Ltd. Offsite management using disk based tape library and vault system
US7996635B2 (en) 2003-07-10 2011-08-09 Hitachi, Ltd. Offsite management using disk based tape library and vault system
US7127575B2 (en) * 2003-07-10 2006-10-24 Hitachi, Ltd. Offsite management using disk based tape library and vault system
US20070136519A1 (en) * 2003-07-10 2007-06-14 Hitachi, Ltd. Offsite management using disk based tape library and vault system
US20050010730A1 (en) * 2003-07-10 2005-01-13 Hitachi, Ltd. Offsite management using disk based tape library and vault system
US20100049924A1 (en) * 2003-07-10 2010-02-25 Hitachi, Ltd. Offsite management using disk based tape library and vault system
US20090292798A1 (en) * 2003-08-25 2009-11-26 Robert Beverley Basham Apparatus, system, and method for communicating control messages between a first device and a second device
US7779110B2 (en) 2003-08-25 2010-08-17 International Business Machines Corporation Apparatus, system, and method for communicating control messages between a first device and a second device
US20050050169A1 (en) * 2003-08-25 2005-03-03 Basham Robert Beverley Apparatus, system, and method for communicating control messages between a first device and a second device
US7409442B2 (en) * 2003-08-25 2008-08-05 International Business Machines Corporation Method for communicating control messages between a first device and a second device
US20050060618A1 (en) * 2003-09-11 2005-03-17 Copan Systems, Inc. Method and system for proactive drive replacement for high availability storage systems
US7373559B2 (en) 2003-09-11 2008-05-13 Copan Systems, Inc. Method and system for proactive drive replacement for high availability storage systems
US20060090098A1 (en) * 2003-09-11 2006-04-27 Copan Systems, Inc. Proactive data reliability in a power-managed storage system
US7266668B2 (en) * 2003-11-24 2007-09-04 Copan Systems Inc. Method and system for accessing a plurality of storage devices
US20050114598A1 (en) * 2003-11-24 2005-05-26 Copan Systems, Inc. Method and system for accessing plurality of storage devices
US20050120263A1 (en) * 2003-11-28 2005-06-02 Azuma Kano Disk array system and method for controlling disk array system
US8468300B2 (en) 2003-11-28 2013-06-18 Hitachi, Ltd. Storage system having plural controllers and an expansion housing with drive units
US20050117468A1 (en) * 2003-11-28 2005-06-02 Azuma Kano Disk array system and method of controlling disk array system
US20050117462A1 (en) * 2003-11-28 2005-06-02 Azuma Kano Disk array system and method for controlling disk array system
US20050154942A1 (en) * 2003-11-28 2005-07-14 Azuma Kano Disk array system and method for controlling disk array system
US20050120264A1 (en) * 2003-11-28 2005-06-02 Azuma Kano Disk array system and method for controlling disk array system
US7865665B2 (en) 2003-11-28 2011-01-04 Hitachi, Ltd. Storage system for checking data coincidence between a cache memory and a disk drive
US7671485B2 (en) 2003-12-25 2010-03-02 Hitachi, Ltd. Storage system
US8365013B2 (en) 2004-02-04 2013-01-29 Hitachi, Ltd. Anomaly notification control in disk array
US7823010B2 (en) 2004-02-04 2010-10-26 Hitachi, Ltd. Anomaly notification control in disk array
US8015442B2 (en) 2004-02-04 2011-09-06 Hitachi, Ltd. Anomaly notification control in disk array
US7925680B1 (en) * 2004-07-21 2011-04-12 Oracle America, Inc. System and method for processing data management files in a virtual storage environment
WO2006026223A3 (en) * 2004-08-30 2006-06-29 Overland Storage Inc Tape emulating disk based storage and method with automatically resized emulated tape capacity
US20100250229A1 (en) * 2004-08-30 2010-09-30 Overland Storage, Inc. Tape emulating disk based storage system and method with automatically resized emulated tape capacity
US7761284B2 (en) * 2004-08-30 2010-07-20 Overland Storage, Inc. Tape emulating disk based storage system and method with automatically resized emulated tape capacity
US8731897B2 (en) 2004-08-30 2014-05-20 Overland Storage, Inc. Tape emulating disk based storage system and method with automatically resized emulated tape capacity
US20060143376A1 (en) * 2004-08-30 2006-06-29 Matze John E Tape emulating disk based storage system and method
US7444465B2 (en) 2004-08-30 2008-10-28 Overland Storage, Inc. Tape emulating disk based storage system and method
US20060047905A1 (en) * 2004-08-30 2006-03-02 Matze John E Tape emulating disk based storage system and method with automatically resized emulated tape capacity
US10168962B2 (en) 2004-08-30 2019-01-01 Overland Storage, Inc. Tape emulating disk based storage system and method with automatically resized emulated tape capacity
US20080244318A1 (en) * 2004-09-08 2008-10-02 Copan Systems Method and system for proactive drive replacement for high availability storage systems
US7908526B2 (en) 2004-09-08 2011-03-15 Silicon Graphics International Method and system for proactive drive replacement for high availability storage systems
US20060053338A1 (en) * 2004-09-08 2006-03-09 Copan Systems, Inc. Method and system for disk drive exercise and maintenance of high-availability storage systems
US8275755B2 (en) 2004-09-15 2012-09-25 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US20090228454A1 (en) * 2004-09-15 2009-09-10 International Business Machines Corporation Systems and Methods for Efficient Data Searching, Storage and Reduction
US9430486B2 (en) 2004-09-15 2016-08-30 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US9400796B2 (en) 2004-09-15 2016-07-26 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US20090228453A1 (en) * 2004-09-15 2009-09-10 International Business Machines Corporation Systems and Methods for Efficient Data Searching, Storage and Reduction
US20090228534A1 (en) * 2004-09-15 2009-09-10 Inernational Business Machines Corporation Systems and Methods for Efficient Data Searching, Storage and Reduction
US8275782B2 (en) 2004-09-15 2012-09-25 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US20090234855A1 (en) * 2004-09-15 2009-09-17 International Business Machines Corporation Systems and Methods for Efficient Data Searching, Storage and Reduction
US10282257B2 (en) 2004-09-15 2019-05-07 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US20090234821A1 (en) * 2004-09-15 2009-09-17 International Business Machines Corporation Systems and Methods for Efficient Data Searching, Storage and Reduction
US10649854B2 (en) 2004-09-15 2020-05-12 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US9378211B2 (en) 2004-09-15 2016-06-28 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US8275756B2 (en) 2004-09-15 2012-09-25 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US20090228455A1 (en) * 2004-09-15 2009-09-10 International Business Machines Corporation Systems and Methods for Efficient Data Searching, Storage and Reduction
US20090228456A1 (en) * 2004-09-15 2009-09-10 International Business Machines Corporation Systems and Methods for Efficient Data Searching, Storage and Reduction
US20060075283A1 (en) * 2004-09-30 2006-04-06 Copan Systems, Inc. Method and apparatus for just in time RAID spare drive pool management
US7434090B2 (en) 2004-09-30 2008-10-07 Copan System, Inc. Method and apparatus for just in time RAID spare drive pool management
EP1669872A2 (en) * 2004-12-06 2006-06-14 R. Brent Johnson Data center virtual tape off-site disaster recovery planning and implementation system
US7802126B2 (en) * 2004-12-06 2010-09-21 Johnson R Brent Data center virtual tape off-site disaster recovery planning and implementation system
US20080148097A1 (en) * 2004-12-06 2008-06-19 Johnson R Brent Data center virtual tape off-site disaster recovery planning and implementation system
US7631213B2 (en) 2004-12-06 2009-12-08 Johnson R Brent Data center virtual tape off-site disaster recovery planning and implementation system
EP1669872A3 (en) * 2004-12-06 2007-07-04 R. Brent Johnson Data center virtual tape off-site disaster recovery planning and implementation system
US20060123208A1 (en) * 2004-12-06 2006-06-08 Johnson R B Data center virtual tape off-site disaster recovery planning and implementation system
US7450331B2 (en) 2004-12-14 2008-11-11 Spectra Logic Corporation Variable mobile media storage system
US7414807B2 (en) 2004-12-14 2008-08-19 Spectra Logic Corporation Variable mobile media storage system
US20080183934A1 (en) * 2004-12-14 2008-07-31 Spectra Logic Corporation Optional mobile media storage system
US20070183075A1 (en) * 2004-12-14 2007-08-09 Spectra Logic Corporation Variable mobile media storage system
US7253983B2 (en) 2004-12-14 2007-08-07 Spectra Logic Corporation Variable media tape-based storage system
US20070035869A1 (en) * 2004-12-14 2007-02-15 Spectra Logic Corporation Variable mobile media storage system
US20060126209A1 (en) * 2004-12-14 2006-06-15 Spectra Logic Corporation Variable media tape-based storage system
US20130013858A1 (en) * 2005-02-17 2013-01-10 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
US8122191B2 (en) * 2005-02-17 2012-02-21 Overland Storage, Inc. Data protection systems with multiple site replication
US20140289464A1 (en) * 2005-02-17 2014-09-25 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
US11782607B2 (en) 2005-02-17 2023-10-10 Overland Storage, Inc. Data protection with multiple site replication
US11775180B2 (en) * 2005-02-17 2023-10-03 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
US8751759B2 (en) * 2005-02-17 2014-06-10 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
US8386705B2 (en) 2005-02-17 2013-02-26 Overland Storage, Inc. Data protection systems with multiple site replication
US9671965B2 (en) 2005-02-17 2017-06-06 Overland Storage, Inc. Data protection with multiple site replication
US8291160B2 (en) * 2005-02-17 2012-10-16 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
US20220197516A1 (en) * 2005-02-17 2022-06-23 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
US9846548B2 (en) 2005-02-17 2017-12-19 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
US20060200623A1 (en) * 2005-02-17 2006-09-07 Victoria Gonzalez Tape library emulation with automatic configuration and data retention
US11209991B2 (en) 2005-02-17 2021-12-28 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
US20060200506A1 (en) * 2005-02-17 2006-09-07 Dennis Desimone Data protection systems with multiple site replication
US11199978B2 (en) 2005-02-17 2021-12-14 Overland Storage, Inc. Data protection with multiple site replication
US10402105B2 (en) 2005-02-17 2019-09-03 Overland Storage, Inc. Data protection with multiple site replication
US10540105B2 (en) 2005-02-17 2020-01-21 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
WO2006090412A2 (en) * 2005-02-24 2006-08-31 Monish Shah A data storage system and a method for its operation
WO2006090412A3 (en) * 2005-02-24 2006-12-14 Monish Shah A data storage system and a method for its operation
WO2006124432A3 (en) * 2005-05-11 2007-11-01 Cisco Tech Inc Virtualization engine load balancing
US7581056B2 (en) * 2005-05-11 2009-08-25 Cisco Technology, Inc. Load balancing using distributed front end and back end virtualization engines
US20060259680A1 (en) * 2005-05-11 2006-11-16 Cisco Technology, Inc. Virtualization engine load balancing
US7647469B2 (en) * 2005-07-22 2010-01-12 International Business Machines Corporation Method of assigning virtual import/export element addresses
US20070022240A1 (en) * 2005-07-22 2007-01-25 International Business Machines Corporation Method of assigning virtual import/export element addresses
US8843725B2 (en) * 2005-09-19 2014-09-23 Spectra Logic Corporation Virtual interchangeable storage device
US20070067555A1 (en) * 2005-09-19 2007-03-22 Spectra Logic Corporation Virtual interchangeable storage device
US20070070535A1 (en) * 2005-09-27 2007-03-29 Fujitsu Limited Storage system and component replacement processing method thereof
US7523289B2 (en) * 2005-09-30 2009-04-21 Spectra Logic Corporation Random access storage system capable of performing storage operations intended for alternative storage devices
US20070079048A1 (en) * 2005-09-30 2007-04-05 Spectra Logic Corporation Random access storage system capable of performing storage operations intended for alternative storage devices
US20070162271A1 (en) * 2005-10-12 2007-07-12 Storage Appliance Corporation Systems and methods for selecting and printing data files from a backup system
US20070143096A1 (en) * 2005-10-12 2007-06-21 Storage Appliance Corporation Data backup system including a data protection component
US8069271B2 (en) 2005-10-12 2011-11-29 Storage Appliance Corporation Systems and methods for converting a media player into a backup device
US20070083355A1 (en) * 2005-10-12 2007-04-12 Storage Appliance Corporation Data backup devices and methods for backing up data
US20070143097A1 (en) * 2005-10-12 2007-06-21 Storage Appliance Corporation Systems and methods for selectively copying embedded data files
US7818160B2 (en) 2005-10-12 2010-10-19 Storage Appliance Corporation Data backup devices and methods for backing up data
US7813913B2 (en) 2005-10-12 2010-10-12 Storage Appliance Corporation Emulation component for data backup applications
US20080243466A1 (en) * 2005-10-12 2008-10-02 Storage Appliance Corporation Systems and methods for converting a media player into a backup device
US20100169560A1 (en) * 2005-10-12 2010-07-01 Jeffrey Brunet Methods for Selectively Copying Data Files to Networked Storage and Devices for Initiating the Same
US7822595B2 (en) * 2005-10-12 2010-10-26 Storage Appliance Corporation Systems and methods for selectively copying embedded data files
US7899662B2 (en) 2005-10-12 2011-03-01 Storage Appliance Corporation Data backup system including a data protection component
US7844445B2 (en) 2005-10-12 2010-11-30 Storage Appliance Corporation Automatic connection to an online service provider from a backup system
US8195444B2 (en) 2005-10-12 2012-06-05 Storage Appliance Corporation Systems and methods for automated diagnosis and repair of storage devices
CN100377065C (en) * 2006-04-19 2008-03-26 华中科技大学 Super large capacity virtual magnetic disk storage system
US7954099B2 (en) 2006-05-17 2011-05-31 International Business Machines Corporation Demultiplexing grouped events into virtual event queues while in two levels of virtualization
GB2440561B (en) * 2006-07-28 2011-03-30 Hewlett Packard Development Co Data storage system
GB2440561A (en) * 2006-07-28 2008-02-06 Hewlett Packard Development Co Data storage system
US20080028008A1 (en) * 2006-07-31 2008-01-31 Storage Appliance Corporation Optical disc initiated data backup
US20080082453A1 (en) * 2006-10-02 2008-04-03 Storage Appliance Corporation Methods for bundling credits with electronic devices and systems for implementing the same
US20080126446A1 (en) * 2006-11-27 2008-05-29 Storage Appliance Corporation Systems and methods for backing up user settings
US20090031298A1 (en) * 2007-06-11 2009-01-29 Jeffrey Brunet System and method for automated installation and/or launch of software
US20090030955A1 (en) * 2007-06-11 2009-01-29 Storage Appliance Corporation Automated data backup with graceful shutdown for vista-based system
US20090063794A1 (en) * 2007-08-30 2009-03-05 International Business Machines Corporation Method and system for enhanced data storage management
US20090240877A1 (en) * 2008-03-19 2009-09-24 Fujitsu Limited Virtual tape device and method for controlling the same
US20090300279A1 (en) * 2008-05-28 2009-12-03 Computer Associates Think, Inc. Signature Based Method for Sending Packets to Remote Systems
US20110264877A1 (en) * 2009-06-04 2011-10-27 Takashi Amano Storage subsystem and its data processing method, and computer system
US8214611B2 (en) * 2009-06-04 2012-07-03 Hitachi, Ltd. Storage subsystem and its data processing method, and computer system
US20160034200A1 (en) * 2009-09-22 2016-02-04 Emc Corporation Performance improvement of a capacity optimized storage system using a performance segment storage system and a segment storage system
US10013167B2 (en) * 2009-09-22 2018-07-03 EMC IP Holding Company LLC Performance improvement of a capacity optimized storage system using a performance segment storage system and a segment storage system
US9288267B2 (en) 2009-12-18 2016-03-15 International Business Machines Corporation Handling of data transfer in a LAN-free environment
US9794344B2 (en) 2009-12-18 2017-10-17 International Business Machines Corporation Handling of data transfer in a LAN-free environment
US9122640B2 (en) * 2009-12-18 2015-09-01 International Business Machines Corporation Handling of data transfer in a LAN-free environment
US20120233292A1 (en) * 2009-12-18 2012-09-13 International Business Machines Corporation Handling of data transfer in a lan-free environment
US8413137B2 (en) 2010-02-04 2013-04-02 Storage Appliance Corporation Automated network backup peripheral device and method
US9983964B2 (en) 2011-05-02 2018-05-29 International Business Machines Corporation Optimizing disaster recovery systems during takeover operations
US9361189B2 (en) 2011-05-02 2016-06-07 International Business Machines Corporation Optimizing disaster recovery systems during takeover operations
US20120290807A1 (en) * 2011-05-11 2012-11-15 International Business Machines Corporation Changing ownership of cartridges
US8892830B2 (en) 2011-05-11 2014-11-18 International Business Machines Corporation Changing ownership of cartridges
US8850139B2 (en) * 2011-05-11 2014-09-30 International Business Machines Corporation Changing ownership of cartridges
CN102543164A (en) * 2011-12-29 2012-07-04 北京控制工程研究所 Spacecraft DSP chip data protection method
CN102609486A (en) * 2012-01-20 2012-07-25 无锡众志和达存储技术有限公司 Data reading/writing acceleration method of Linux file system
US9600354B1 (en) 2013-05-10 2017-03-21 EMC IP Holding Company LLC VTL adaptive commit
US9009742B1 (en) * 2013-05-10 2015-04-14 Emc Corporation VTL adaptive commit
US9063842B1 (en) * 2013-05-10 2015-06-23 Emc Corporation Technique for integrating VTL tape pools with MTree quotas
US9436591B1 (en) 2013-09-30 2016-09-06 Emc Corporation Out-of-band file transfers between a host and virtual tape server
US10263826B1 (en) * 2013-09-30 2019-04-16 EMC IP Holding Company LLC Method of initiating execution of mainframe jobs from a virtual tape server
US10095444B1 (en) * 2014-03-28 2018-10-09 EMC IP Holding Company LLC Tape emulation alternate data path
US9582207B1 (en) * 2015-01-01 2017-02-28 EMC IP Holding Company LLC Queued parallel processing of block handling for virtual tape control units
US20170220363A1 (en) * 2016-01-28 2017-08-03 Paul Francis Gorlinsky Mainframe system tape image data exchange between mainframe emulator system
CN110198331A (en) * 2018-03-28 2019-09-03 腾讯科技(上海)有限公司 A kind of method and system of synchrodata
US11520486B2 (en) * 2019-11-19 2022-12-06 EMC IP Holding Company LLC Using a smart network interface controller with storage systems

Also Published As

Publication number Publication date
EP1832970B1 (en) 2014-12-24
ATE375545T1 (en) 2007-10-15
US20110004727A1 (en) 2011-01-06
DE602004009410D1 (en) 2007-11-22
AU2004211213A1 (en) 2004-08-26
JP2006518517A (en) 2006-08-10
EP1593033B1 (en) 2007-10-10
WO2004072961A3 (en) 2005-05-26
EP1832970A1 (en) 2007-09-12
CN100547535C (en) 2009-10-07
US20060123189A1 (en) 2006-06-08
US8055870B2 (en) 2011-11-08
CA2515448C (en) 2011-11-22
CA2515448A1 (en) 2004-08-26
JP4931581B2 (en) 2012-05-16
US7853764B2 (en) 2010-12-14
EP1593033A2 (en) 2005-11-09
WO2004072961A2 (en) 2004-08-26
DE602004009410T2 (en) 2008-01-17
CN1781072A (en) 2006-05-31

Similar Documents

Publication Publication Date Title
US7853764B2 (en) Tape storage emulation for open systems environments
US7334100B2 (en) Storage system and data backup method for the same
US8725854B2 (en) Methods and apparatus for implementing virtualization of storage within a storage area network
US6880062B1 (en) Data mover mechanism to achieve SAN RAID at wire speed
JP5026283B2 (en) Collaborative shared storage architecture
US20090228651A1 (en) Mirroring Mechanisms For Storage Area Networks and Network Based Virtualization
AU2003238219A1 (en) Methods and apparatus for implementing virtualization of storage within a storage area network
JP2007141216A (en) System, method and apparatus for multiple-protocol-accessible osd storage subsystem
US7237056B2 (en) Tape mirror interface
US20090112877A1 (en) System and Method for Communicating Data in a Storage Network
US20110271065A1 (en) Storage system front end with protocol translation
US7016982B2 (en) Virtual controller with SCSI extended copy command
US20090144463A1 (en) System and Method for Input/Output Communication
US20230325102A1 (en) Methods for handling storage devices with different zone sizes and devices thereof
WO2005115108A2 (en) System and method for unit attention handling
JP2006085401A (en) Storage device and packet size control method of storage device
Liu An alternative scalable storage system

Legal Events

Date Code Title Description
AS Assignment

Owner name: DILIGENT TECHNOLOGIES, MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BITNER, HAIM;KIRKLER, SAMUEL;AKIRAV, SHAY;AND OTHERS;REEL/FRAME:014093/0357

Effective date: 20030514

AS Assignment

Owner name: DILIGENT TECHNOLOGIES, MASSACHUSETTS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE 2ND ASSIGNOR'S NAME, DOCUMENT PREVIOUSLY RECORDED ON REEL 014093 FRAME 0357;ASSIGNORS:BITNER, HAIM;KRIKLER, SAMUEL;AKIRAV, SHAY;AND OTHERS;REEL/FRAME:014772/0594

Effective date: 20030514

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DILIGENT TECHNOLOGIES CORPORATION;REEL/FRAME:022364/0722

Effective date: 20080418

AS Assignment

Owner name: DILIGENT TECHNOLOGIES, MASSACHUSETTS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE OMISSION OF THE SIGNATURE PAGE FOR ASSIGNORS 3,4 AND 5 PREVIOUSLY RECORDED ON REEL 014772 FRAME 0594. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:BITNER, HAIM;KRIKLER, SAMUEL;AKIRAV, SHAY;AND OTHERS;REEL/FRAME:054373/0509

Effective date: 20030514