The present invention relates to the field of data communications. More particularly, embodiments of the present invention relate to mechanisms for handling unit attentions of devices to/from which data is communicated on a network.
Businesses, governmental organizations and other entities are increasingly saving large volumes data necessary for daily operations. In order to provide proper protection of data for business and legal purposes (e.g., to ensure quick recovery of data in the event of a disaster or to comply with document retention requirements), entities often back up data to a physical media, such as magnetic tapes, on a regular basis. Traditional backup systems placed an application server, backup server, source device, destination device and a local area network (“LAN”) in the data path of backup operations. Under these systems, the LANs were becoming overburdened by the amount of data being copied and often the backup window was too short to achieve a complete backup of data. Many entities have now implemented Storage Area Networks (“SAN”) to relieve much of the burden of mass data storage and backup from the LAN, freeing the LAN for more immediate data storage and manipulation operations.
Many SANs utilize a Fibre Channel-to-SCSI architecture in which SCSI storage devices are connected to Fibre Channel-to-SCSI routers. This allows data to be transferred across the SAN with the speed of Fibre Channel while using well defined SCSI commands. The T10/99-143r1, “Working Draft SCSI Extended Copy Command” (the “99-143r1 Draft”) and NCITS T10 SPC-2 (SCSI Primary Commands-2) (“SPC-2”) provide a mechanism for computer backup application to delegate actual data movement to third party devices known as “copy managers” or “data movers”. The copy managers typically reside in devices, on the Fibre Channel SAN, allowing for “serverless”, “third party copy”, or “server free” copy operations to occur.
Serverless backup architectures typically depend on a “third party copy” device implementing a Data Mover or Copy Manager module on the SAN that manages and controls the transfer of disk blocks and meta data from a source device to a destination device without requiring that all the data pass through a backup server. In current systems, the backup server issues a command for data backup, usually the extended copy command, to the third party copy device and then removes itself from the data path. The third party copy device, in turn, forwards the appropriate instructions to the source and destination devices and data is transferred from the source device to the third party copy device to the destination device. In this manner, only the source, destination and third party copy devices are involved in data backup after the extended copy command is issued. A dedicated backup server is no longer needed, thereby freeing up valuable CPU and memory resources and supporting server consolidation.
One shortcoming of prior art third party copy schemes is handling unit attention conditions. Unit attention conditions are conditions sent out by a target device to inform a host device of the target's status. In general, a target will issue a unit attention condition if it undergoes some change in status of which hosts on the network should be aware. For example, a SCSI target may want to inform all hosts communicating with it that it has been rebooted, has gone off-line and has come back on-line or has undergone some other change in status.
Before a read/write operation is sent to a target device, the unit attention conditions for that device must be cleared on behalf of the device issuing the read/write operation. In third party copy systems, the copy manager, rather than the host originally issuing an extended copy command, issues the read/write operations to the target devices (i.e., source and destination devices) of the extended copy command. Therefore, unit attentions must be cleared on behalf of the copy manager. SPC-2 provides a mechanism by which a host issuing an extended copy command can clear unit attentions on behalf of the copy manager through a Verify Device Operation segment descriptor in the extended copy command. The Verify Device Operation segment can specify issuance of “Test Unit Ready” (“tur”) command to clear unit attentions on behalf of the copy manager (via a “tur” bit in the segment descriptor).
Many hosts, however, do not fully utilize SPC-2 or, instead, issue the extended copy command according to the 99-143r1 Draft. The 99-143r1 Draft does not include a mechanism for clearing unit attentions on behalf of a copy manager. Instead, the unit attentions are only cleared on behalf of the host originally issuing the extended copy commands. The target devices of the extended copy command, however, may see the copy manager as a different initiator and deny read/write requests from the copy manager. Furthermore, even devices that support SPC-2 may not clear unit attentions for the copy manager because they are not programmed to utilize the Verify Device Operation segment with the “tur” bit.
The inability to clear unit attentions on behalf of the copy manager leads to inefficiencies in backup and restore operations, particularly restore operations from streaming target devices. As illustrated in
For restore operations in which data is restored from a streaming source device to a random access device, the inefficiencies are even more pronounced. As illustrated in
Embodiments of the present invention provide a system and method of handling unit attentions that eliminates, or at least substantially reduces, the shortcomings of prior art systems and methods for dealing with unit attentions. More particularly, embodiments of the present invention provide a copy manager that can issue unit attention clearing commands to source and destination devices listed in an extended copy command.
One embodiment of the present invention can include, at a third party copy device, receiving an extended copy command indicating a source device and a destination device, issuing a first unit attention clearing command to the source device, issuing at least one read command to the source device, receiving data from the source device in response to the at least one read command; issuing a second unit attention clearing command to the destination device, and issuing at least one write command to the destination device to write the data received from the source device to the destination device.
Another embodiment of the present invention can include a third party copy device comprising a processor, one or more interfaces, each interface configured to couple the third party copy to a data transport medium, and a computer readable medium (e.g., RAM, ROM, hard disk drive, optical storage medium, Flash memory or other computer readable medium known in the art) containing computer instructions executable by the processor. The computer instructions can be executable to receive an extended copy command from a host device to copy data from the source device to the destination device, issue a first unit attention clearing command to a source device, issue at least one read command to the source device, receive data from the source device in response to the at least one read command, issue a second unit attention clearing command to a destination device and issue at least one write command to the destination device to write the data received from the source device to the destination device.
Embodiments of the present invention provide an advantage over prior art systems and methods for unit attention handling by reducing the number of times an extended copy command must be retried for backup operations because of outstanding unit attentions.
Embodiments of the present invention provide another advantage over prior art systems for unit attention handling by reducing the need to manually reset storage devices and restart restore operations because of outstanding unit attentions at a destination device when the source device has moved.
Embodiments of the present invention provide yet another advantage by increasing the performance of SANs by reducing the number of extended copy commands that must be issued and retried on the SAN.
A more complete understanding of the present invention and the advantages thereof may be acquired by referring to the following description, taken in conjunction with the accompanying drawings in which like reference numbers indicate like features and wherein:
Preferred embodiments of the invention are illustrated in the FIGURES, like numerals being used to refer to like and corresponding parts of the various drawings.
Embodiments of the present invention provide a system and method for handling unit attentions during execution of an extended copy command. According to one embodiment of the present invention, a copy manager can receive an extended copy command issued by a host. The copy manager can determine a source device and a destination device from the extended copy command and can send a command, such as a test unit ready (“tur”) command, to the source and destination devices to clear unit attentions. Because the copy manager issues the “tur” commands (or other unit attention clearing command)to the source and destination device, the source and destination devices will clear the unit attentions for the copy manager so that the copy manager can issue read/write commands to source and destination devices.
In the embodiment of
Host 20 is capable of accessing the other components of the network via the corresponding Fibre Channel interconnects. Particularly, host 20 is capable of accessing router 12 to delegate to it the management of copy tasks involving other network components, such as tape drive 16 and hard disk drive 18. This is accomplished through the use of extended copy commands issued by host 20 to router 12. Router 12 executes these extended copy commands, reading data from one of the network devices and writing (copying) the data to another one of the components.
The use of extended copy commands allows host 20 to use its own processing power on tasks other than the mere movement of data between network components. For example, it is possible for host 20 to back up hard disk drive 18 to tape drive 16 (a potentially lengthy process) by issuing one or more corresponding extended copy commands to router 12. Router 12 can then copy the backup data from the hard disk drive to the tape drive without the intervention of host 20. Similarly, host 20 can issue one or more extended copy commands to restore data from the tape drive 16 to the hard disk drive 18.
Referring to
The target descriptors 42 describe the target devices which will be involved in the extended copy task. The target devices typically include the source device (i.e., the device from which data will be read) and the destination device (i.e., the device to which the data will be written). The destination target device is typically a tape library, but may be another storage device, such as a tape drive, optical library or other device known in the art. The source target device is typically a hard disk drive, but may also be another storage device, such as a hard tape drive, optical library or other device known in the art. The host is typically a Solaris box, a Windows 2000 server, or other device capable of issuing an extended copy command. The source, destination and host devices may, however, be any of a number of different devices. The router or other box in which the present invention is implemented may also vary from one embodiment to another. These devices may have different characteristics, such as the maximum amount of memory which is (or may be) available for transferring data using extended copy commands.
The segment descriptors 43 describe the types of operations that will be performed, as well as the amount of data that will be transferred. For example, a segment descriptor may indicate that block data will be read from a hard disk drive and written to a tape drive (both of which are referenced by the target descriptors). The segment descriptors may describe backup operations, restore operations, block-to-block operations, or other data storage operations. A preferred embodiment is an SPC-2 implementation which supports 8448 segment descriptors or a 99-143r1 Draft implementation. Each of the segment descriptors can move up to 32 MB of data. Thus, a very large amount of data may potentially be moved through a single extended copy command.
Inline data 44 (which may also be referred to as metadata) may or may not be present. Inline data 44 is provided by the host application to describe the operations that will be done. This information may later be used, for example, to enable the backed up data to be restored from the tape to the disk. It should be noted that the SPC-2 standard also allows the use of embedded data segment descriptors to serve the same purpose as inline data segment descriptors.
According to one embodiment of the present invention, when the extended copy command is executed, the copy manager identifies the target-devices and goes through the segment descriptors sequentially. For each of the segment descriptors, the copy manager builds corresponding read commands to be issued to the source device and write commands to be issued to the destination device. When these read and write commands are issued to the respective devices, they serve to transfer data from the source device to the destination device. Data may not be written to the destination device at the same rate at which it is read from the source device. For example, data may be read from a disk in chunks of 256 kB and then be written to a tape in chunks of 64 kB. Internal buffers (e.g., 16 kB buffers) can be used to buffer data until the copy manager is ready to send data to the destination device.
By issuing unit attention clearing commands, such as the “tur” command, to the source and destination device, the copy manager can ensure that unit attentions are cleared on behalf of the copy manager. Because the source and destination device see the router at which the copy manager is located as the host (i.e., the initiator of the read/write commands), the source and destination devices will clear unit attentions and process read/write or other commands received from the router.
In the example of
At step 60, the copy manager can receive an extended copy command and can determine the source and destination devices for the extended copy command (step 61). The copy manager, at step 62, can construct a unit attention clearing command, such as a “tur” command, and, at step 64, can send the unit attention clearing command to the source device. At step 66, the copy manager can construct read commands and, at step 68, can send the commands to the destination device. The copy manager can receive and buffer data at step 70. The copy manager, at step 72, can construct a second unit attention clearing command and, at step 74, send it to the destination device. At step 76, the copy manager can construct write commands and, at step 78, send the write commands and data received from the source device to the destination device. Steps 60-78 can be arbitrarily repeated for each extended copy command processed by the copy manager.
In the example of
It should be noted that, according to one embodiment of the present invention, a copy manager can optionally perform the process of
A buffer 84 provides memory work space and is connected to both controller 80 and to controller 82. A supervisor unit 86 is connected to controller 80, controller 82 and buffer 84. Supervisor unit 86 comprises a microprocessor for controlling operation of the storage router, handling mapping and security access and executing the third party copy command as, for example, described in
Supervisor unit 86 processes the data in buffer 84 as represented by supervisor processing 93. This processing can include mapping between the first transport medium and the second transport medium, applying access controls and routing functions. For example, supervisor unit 86 can map between Fibre Channel and SCSI, Fibre Channel and Fibre Channel, Fibre Channel and iSCSI or other protocols. A DMA interface 94 then pulls data from buffer 84 and places it into a buffer 96. A second protocol unit 98 pulls data from buffer 96 and communicates the data on the second transport medium (e.g., the SCSI bus). Data flow in the reverse direction, from the second transport medium to the first transport medium, is accomplished in a reverse manner.
In the example of
In part, the storage router enables a migration path to Fibre Channel based, serial SCSI networks by providing connectivity for legacy SCSI bus devices. The storage router can be attached to a Fibre Channel Arbitrated Loop and a SCSI bus to support a number of SCSI devices. Using configuration settings, the storage router can make the SCSI bus devices available on the Fibre Channel network as FCP logical units. Once the configuration is defined, operation of the storage router is transparent to application clients. In this manner, the storage router can form an integral part of the migration to new Fibre Channel based networks while providing a means to continue using legacy SCSI devices.
In one implementation (not shown), the storage router can be a rack mount or free standing device with an internal power supply. The storage router can have a Fibre Channel and SCSI port, and a standard, detachable power cord can be used, the FC connector can be an optical Small Form Factor (“SFF”) connector, and the SCSI connector can be a VHDCI type. Additional modular jacks can be provided for a serial port and a 802.3 10BaseT port, i.e. twisted pair Ethernet, for management access. The SCSI port of the storage router an support SCSI direct and sequential access target devices and can support SCSI initiators, as well. The Fibre Channel port can interface to SCSI-3 FCP enabled devices and initiators or other Fibre Channel devices.
To accomplish its functionality, one implementation of the storage router uses: a Fibre Channel interface based on the Agilent XL2 2 Gb/s Fibre Channel controller and an optical SFF transceiver; a PMCS RM7000A processor, incorporating independent data and program memory spaces, and associated logic required to implement a stand alone processing system; and a serial port for debug and system configuration. Further, this implementation includes a SCSI interface supporting Ultra-2 based on the SYMBIOS 53C8xx series SCSI controllers, and an operating system based upon the WIND RIVERS SYSTEMS VXWORKS kernel. In addition, the storage router includes software as required to control functions of the various elements, execute the extended copy command, generate commands and provide appropriate translations between the FC and SCSI protocols.
Although the present invention has been described in detail herein with reference to the illustrated embodiments, it should be understood that the description is by way of example only and is not to be construed in a limiting sense. It is to be further understood, therefore, that numerous changes in the details of the embodiment of this invention and additional embodiments of this invention will be apparent, and may be made by, persons of ordinary skill in the art having reference to this description. It is contemplated that all such changes and additional embodiments are within scope of the invention as claimed below.