Claims
- 1. A method performed by a storage device, comprising:
(a) initializing a data management system storing indicators for managing accessing of one or more virtual storage dataspaces corresponding to a first real data storage dataspace of at least the storage device; (b) responding to one or more first triggers by replicating one or more data portions from the first real storage dataspace to a corresponding one of the virtual storage dataspaces; (c) responding to one or more second triggers by moving at least one of the replicated data portions from the one or more virtual storage dataspaces to a second real storage dataspace; and (d) modifying the data management system to indicate at least one of the replicating and moving.
- 2. A method according to claim 1, wherein the storage device comprises a multiple access storage device including a primary real volume (“primary volume”), a secondary real volume (“secondary volume”) and means for copying a primary volume portion of the primary volume to the secondary volume.
- 3. A method acccording to claim 2, wherein the first and second real volumes are a same secondary volume of the multiple access storage device.
- 4. A method according to claim 1, wherein the data management system comprises a virtual volume manager and a volume data management structure.
- 5. A method according to claim 1, wherein at least one of the initializing and the responding to the one or more first triggers further comprises allocating a virtual storage dataspace and storing a timestamp corresponding to at least one of the allocating and the replicating.
- 6. A method according to claim 1, wherein the responding to the one or more second triggers further comprises, prior to the moving at least one of the replicated data portions, moving one or more second data portions from the first real storage dataspace to one or more of the virtual storage dataspaces.
- 7. A method according to claim 1, wherein the responding to one or more first triggers comprises responding to a virtual storage dataspace creation request by creating a corresponding virtual storage dataspace, and responding to one or more subsequent copied storage dataspace data write requests including data by replicating the data to the virtual storage dataspace.
- 8. A method according to claim 1, wherein the managing accessing includes allocating at least one of: a virtual storage dataspace having a same size as the first real storage dataspace; a virtual storage dataspace storing a replicated data portion as one or more extents; and a virtual volume storing replicated data portion within one or more logs.
- 9. A method according to claim 8, wherein the one or more first triggers includes a request to write data to a real storage dataspace, and the allocating is conducted prior to the request to write data.
- 10. A method according to claim 8, wherein the managing accessing comprises storing, within a log, a virtual storage dataspace creation indicator including a timestamp corresponding to a time of virtual storage dataspace creation, and a write entry including a segment identifier and a replicated data segment.
- 11. A storage device comprising:
a virtual volume engine for responding to one or more first triggers by replicating one or more data portions from a first real storage dataspace to a corresponding one more virtual storage dataspaces, and for responding to one or more second triggers by moving at least one of the replicated data portions from the one or more virtual storage dataspaces to a second real storage dataspace; and a data management system for initializing storage indicators indicating accessing of the one or more virtual storage dataspaces, and for modifying the indicators to indicate at least one of the replicating and moving.
- 12. A storage device according to claim 11, wherein the storage device comprises a multiple access storage device including a primary volume, a secondary secondary volume and means for copying a primary volume portion of the primary volume to the secondary volume.
- 13. A storage device acccording to claim 12, wherein the first and second real volumes are a same secondary volume of the multiple access storage device.
- 14. A storage device according to claim 11, wherein at least one of the initializing and the responding to the one or more first triggers further comprises allocating a virtual storage dataspace and storing a timestamp corresponding to at least one of the allocating and the replicating.
- 15. A storage device according to claim 11, wherein the responding to the one or more second triggers further comprises, prior to the moving at least one of the replicated data portions, moving one or more second data portions from the first real storage dataspace to one or more of the virtual storage dataspaces.
- 16. A storage device according to claim 11, wherein the responding to one or more first triggers comprises responding to a virtual storage dataspace creation request by creating a corresponding virtual storage dataspace, and responding to one or more subsequent copied storage dataspace data write requests including data by replicating the data to the virtual storage dataspace.
- 17. A storage device according to claim 11, wherein the virtual volume engine allocates virtual storage dataspaces as at least one of: a virtual storage dataspace having a same size as the first real storage dataspace; a virtual storage dataspace storing a replicated data portion as one or more extents; and a virtual volume storing replicated data portion within one or more logs.
- 18. A storage device according to claim 17, wherein the one or more first triggers includes a request to write data to a real storage dataspace, and the virtual volume engine allocates virtual storage dataspaces prior to the request to write data.
- 19. A storage device according to claim 17, wherein the data management system stores, within a log, a virtual storage dataspace creation indicator including a timestamp corresponding to a time of virtual storage dataspace creation, and a write entry including a segment identifier and a replicated data segment.
- 20. A computer storing program for causing the computer to perform the steps of:
(a) initializing a data management system storing indicators for managing accessing of one or more virtual storage dataspaces corresponding to a first real data storage dataspace of at least the storage device; (b) responding to one or more first triggers by replicating one or more data portions from the first real storage dataspace to a corresponding one of the virtual storage dataspaces; (c) responding to one or more second triggers by moving at least one of the replicated data portions from the one or more virtual storage dataspaces to a second real storage dataspace; and (d) modifying the data management system to indicate at least one of the replicating and moving.
- 21. A method performed by a storage system, the method comprising the steps of:
providing a first volume and a second volume, the second volume being a replicated volume of the first volume; creating a copy of the second volume at a first point in time; updating the second volume in response to at least a write request; and restoring the second volume at the first point in time using the copy.
- 22. A method performed by a storage system having a first volume and a second volume, the second volume being a replicated volume of the first volume, the method comprising the steps of:
providing a third volume; if a first data change request is made to a first location in the second volume where no data change has been made since a first point in time, storing to the third volume the same data that is written at the first location; making data change to the first location in response to the first data change request; and restoring the second volume at the first point in time using data stored in the third volume.
- 23. A method according to claim 22, further comprising the steps of:
providing a fourth volume; if a data change request is made to a second location in the second volume where no data change has been made since a second point in time, the second point in time being after, storing to the forth volume the same data that is written at the second location; making a data change to the second location in response to the second data change request; and restoring the second volume at the second point in time using data stored in the fourth volume.
- 24. A method according to claim 23, wherein the first location is the same as the second location.
REFERENCES TO OTHER APPLICATIONS
[0001] This application hereby incorporates by reference co-pending application Ser. No. ______, entitled “Data Replication for Enterprise Applications”, filed on Jun. 12, 2003 by Shoji Kodama, et al.