DATA REPLICATION METHOD AND APPARATUS

Abstract
A data storage system, device, and method are provided for replicating data between different data storage systems or appliances. More specifically, the present invention affords communications between heterogeneous data storage systems that potential employ different communication protocols. A bridging communication protocol is utilized by one or both storage systems in order to accommodate different communication protocols. Alternatively, a storage appliance connecting the data storage systems may employ the bridging communication protocol.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a functional block diagram depicting components of an electronic data system incorporating a source data storage system and a remote data storage system in accordance with embodiments of the present invention;



FIG. 2A is a block diagram depicting components of a data storage system in accordance with embodiments of the present invention;



FIG. 2B is a block diagram depicting components of a data storage system in accordance with other embodiments of the present invention;



FIG. 3A is a block diagram depicting components of a storage appliance in accordance with embodiments of the present invention;



FIG. 3B is a block diagram depicting components of a storage controller in accordance with embodiments of the present invention;



FIG. 4 is a flow chart depicting aspects of a data replication process in accordance with embodiments of the present invention;



FIG. 5 is a flow chart depicting aspects of a process for exchanging information between heterogeneous data storage systems in accordance with embodiments of the present invention; and



FIG. 6 depicts an exemplary data structure of a response to a destination storage system's query command in accordance with embodiments of the present invention.


Claims
  • 1. A method of reproducing data, comprising: sending a first command from an initiator storage system to a target storage system requesting the target storage system to take a snapshot of data stored on the target storage system;sending a second command from the initiator storage system to the target storage system requesting the target storage system to make the snapshot viewable to the initiator storage system; andcopying at least a portion of data from the viewable snapshot.
  • 2. The method of claim 1, further comprising: sending a third command from the initiator storage system to the target storage system requesting the target storage system to take a second snapshot of data stored on the target storage system;sending a fourth command from the initiator storage system to the target storage system requesting the target storage system to make the second snapshot viewable to the initiator storage system; andcopying at least a portion of data from the second viewable snapshot.
  • 3. The method of claim 2, further comprising: identifying at least one difference between the viewable snapshot and the second viewable snapshot;creating at least that outline the identified at least one difference; andupdating the copy of the snapshot from the viewable snapshot to the second viewable snapshot by optionally referencing the differences outlined in the list.
  • 4. The method of claim 2, wherein the third and fourth commands are sent a predetermined time after the first and second commands are sent.
  • 5. The method of claim 1, further comprising the initiator storage system taking a snapshot of the copied data.
  • 6. The method of claim 1, further comprising identifying when the snapshot was taken and time stamping the snapshot with the identified time.
  • 7. The method of claim 1, wherein at least one of the first and second command comprise a Small Computer Systems Interface (SCSI) command.
  • 8. An electronic data system, comprising: a target data storage system; andan initiator data storage system operable to send a first command to the target data storage system requesting the target data storage system to take a snapshot of data stored on the target data storage system, send a second command to the target data storage system requesting the target data storage system to make the snapshot viewable to the initiator data storage system, and copy at least a portion of data from the viewable snapshot.
  • 9. The system of claim 8, wherein the initiator data storage system is further operable to send a third command to the target data storage system requesting the target data storage system to take a second snapshot of data stored on the target data storage system, send a fourth command to the target data storage system requesting the target data storage system to make the second snapshot viewable to the initiator data storage system, and copy at least a portion of data from the second viewable snapshot.
  • 10. The system of claim 9, wherein the target data storage system is operable to identify at least one difference between the viewable snapshot and the second viewable snapshot, create a list that outlines the identified at least one difference, and present the list to the initiator data storage system, and wherein the initiator data storage system is operable to update the copy of the snapshot from the viewable snapshot to the second viewable snapshot.
  • 11. The system of claim 9, wherein the third and fourth commands are sent a predetermined time after the first and second commands are sent.
  • 12. The system of claim 8, wherein the target data storage system is further operable to identify when the snapshot was taken and time stamp the snapshot with the identified time.
  • 13. The system of claim 8, wherein the second command comprises a command to map the snapshot to a Logical Unit Numbers (LUN) and to make the LUN visible to the initiator data storage system.
  • 14. The system of claim 8, wherein the initiator data storage system is further operable to send a command to the target data storage system requesting the target data storage system to determine changes that have occurred since the previous snapshot was taken, send a command to the target data storage system requesting the target data storage system to make the changes visible to the initiator data storage system, and copy the changes that have occurred since the previous snapshot was taken.
  • 15. A device for use in conjunction with data storage, comprising: an interface for communicating with a target storage system; anda processor operable to generate a first command for transmission to the target storage system requesting the target storage system to take a snapshot of data stored on the target storage system, generate a second command for transmission to the target data storage system requesting the target data storage to make the snapshot viewable, and copy at least a portion of data from the viewable snapshot.
  • 16. The device of claim 15, wherein the processor is further operable to generate a third command for transmission to the target storage system requesting the target storage system to take a second snapshot of data stored on the target storage system, generate a fourth command for transmission to the target storage system requesting the target storage system to make the second snapshot, and copy at least a portion of data from the second viewable snapshot.
  • 17. The device of claim 16, wherein the processor is operable to use a list generated by the target storage system to update the copy of the snapshot, wherein the list outlines at least one difference between the snapshot and the second snapshot.
  • 18. The device of claim 16, wherein the third and fourth commands are sent a predetermined time after first and second commands are sent.
  • 19. The device of claim 15, wherein the processor if further operable to take a snapshot of the copied data.
  • 20. The device of claim 15, wherein the processor is further operable to generate a command for transmission to the target storage system requesting the target storage system to determine changes that have occurred since the previous snapshot was taken, generate a command for transmission the target storage system requesting the target storage system to make the changes visible, and update the copied data with the visible changes.
Provisional Applications (1)
Number Date Country
60771384 Feb 2006 US