Claims
- 1. A method for applying changes back to an original copy of data to reduce an amount of data transferred, comprising:
maintaining a first indicator for each block of data in a first storage to indicate whether the block of data has been updated in the first storage since the block of data was last transferred to a second storage; maintaining a second indicator for each block of data in the second storage to indicate whether the block of data has been updated in the second storage since the block of data in the second storage was overwritten by a corresponding block of data in the first storage; and upon receiving a reverse restore operation,
transferring each block of data in the second storage for which a second indicator has been set to indicate that the block of data has been updated to the first storage; and transferring each block of data in the second storage that corresponds to a block of data in the first storage for which a first indicator has been set to indicate that the block of data in the first storage has been updated to the first storage.
- 2. The method of claim 1, further comprising:
designating the first storage as source storage; designating the second storage as target storage; and after receiving the reverse restore operation;
designating the first storage as target storage; and designating the second storage as source storage.
- 3. The method of claim 1, further comprising:
maintaining a third indicator for each block of data in the second storage to indicate whether a corresponding block of data in the first storage or a block of data in the second storage is to be retrieved for a stage operation.
- 4. The method of claim 3, further comprising:
after receiving the reverse restore operation, updating the third indicator for each block of data in the second storage based on the first indicator for the block of data in the first storage and the second indicator for the block of data in the second storage corresponding to the block of data in the first storage, wherein transferring data from the second storage to the first storage comprises transferring each block of data in the second storage for which a third indicator indicates that the block of data in the second storage is to be transferred to the first storage.
- 5. The method of claim 1, further comprising:
creating an incremental virtual copy relationship between a first portion of data and a second portion of data by performing an incremental virtual copy operation between the first portion of data and the second portion of data, wherein the first indicator and the second indicator are maintained for each block of data in the first portion of data and each block of data in the second portion of data in the incremental virtual copy relationship.
- 6. The method of claim 1, further comprising:
when a first block of data is updated, updating the first indicator for the first block of data to indicate that the first block of data has been updated.
- 7. The method of claim 1, further comprising:
when a second block of data is updated, updating the second indicator for the second block of data to indicate that the second block of data has been updated.
- 8. A method for copying data, comprising:
maintaining a first indicator for each source block of data to indicate whether the source block of data has been updated in source storage since the source block of data was last transferred to target storage; maintaining a second indicator for each target block of data in target storage to indicate whether the target block of data has been updated in target storage since the target block of data was overwritten by a corresponding source block of data; reversing an indication of which storage is to be treated as source storage and which storage is to be treated as target storage, wherein the source storage comprises new target storage and the target storage comprises new source storage, and wherein each source block of data is treated as a new target block of data and each target block of data is treated as a new source block of data; transferring to the new target storage each new source block of data for which a second indicator has been set to indicate that the new source block of data has been updated; and transferring to the new target storage each new source block of data that corresponds to a new target block of data for which a first indicator has been set to indicate that the new target block of data has been updated.
- 9. The method of claim 8, further comprising:
maintaining a third indicator for each target block of data to indicate whether the source block of data or a corresponding target block of data is to be retrieved for a stage operation.
- 10. The method of claim 9, further comprising:
treating the third indicator for each target block of data as an indicator for each new target block of data; and when a new source block of data has been copied to the new target storage, updating the third indicator for the new target block of data.
- 11. The method of claim 9, further comprising:
treating the third indicator for each target block of data as an indicator for each new target block of data; and updating the third indicator for each new target block of data corresponding to at least one of the first indicator and the second indicator, wherein transferring data from the new source storage to the new target storage comprises transferring each new source block of data for which a third indicator indicates that the new source block of data is to be transferred to the new target storage.
- 12. An article of manufacture for applying changes back to an original copy of data to reduce an amount of data transferred, wherein the article of manufacture causes operations, the operations comprising:
maintaining a first indicator for each block of data in a first storage to indicate whether the block of data has been updated in the first storage since the block of data was last transferred to a second storage; maintaining a second indicator for each block of data in the second storage to indicate whether the block of data has been updated in the second storage since the block of data in the second storage was overwritten by a corresponding block of data in the first storage; and upon receiving a reverse restore operation,
transferring each block of data in the second storage for which a second indicator has been set to indicate that the block of data has been updated to the first storage; and transferring each block of data in the second storage that corresponds to a block of data in the first storage for which a first indicator has been set to indicate that the block of data in the first storage has been updated to the first storage.
- 13. The article of manufacture of claim 12, the operations further comprising:
designating the first storage as source storage; designating the second storage as target storage; and after receiving the reverse restore operation,
designating the first storage as target storage; and designating the second storage as source storage.
- 14. The article of manufacture of claim 12, the operations further comprising:
maintaining a third indicator for each block of data in the second storage to indicate whether a corresponding block of data in the first storage or a block of data in the second storage is to be retrieved for a stage operation.
- 15. The article of manufacture of claim 14, the operations further comprising:
after receiving the reverse restore operation, updating the third indicator for each block of data in the second storage based on the first indicator for the block of data in the first storage and the second indicator for the block of data in the second storage corresponding to the block of data in the first storage, wherein transferring data from the second storage to the first storage comprises transferring each block of data in the second storage for which a third indicator indicates that the block of data in the second storage is to be transferred to the first storage.
- 16. The article of manufacture of claim 12, the operations further comprising:
creating an incremental virtual copy relationship between a first portion of data and a second portion of data by performing an incremental virtual copy operation between the first portion of data and the second portion of data, wherein the first indicator and the second indicator are maintained for each block of data in the first portion of data and each block of data in the second portion of data in the incremental virtual copy relationship.
- 17. The article of manufacture of claim 12, the operations further comprising:
when a first block of data is updated, updating the first indicator for the first block of data to indicate that the first block of data has been updated.
- 18. The article of manufacture of claim 12, the operations further comprising:
when a second block of data is updated, updating the second indicator for the second block of data to indicate that the second block of data has been updated.
- 19. An article of manufacture for copying data, wherein the article of manufacture causes operations, the operations comprising:
maintaining a first indicator for each source block of data to indicate whether the source block of data has been updated in source storage since the source block of data was last transferred to target storage; maintaining a second indicator for each target block of data in target storage to indicate whether the target block of data has been updated in target storage since the target block of data was overwritten by a corresponding source block of data; reversing an indication of which storage is to be treated as source storage and which storage is to be treated as target storage, wherein the source storage comprises new target storage and the target storage comprises new source storage, and wherein each source block of data is treated as a new target block of data and each target block of data is treated as a new source block of data; transferring to the new target storage each new source block of data for which a second indicator has been set to indicate that the new source block of data has been updated; and transferring to the new target storage each new source block of data that corresponds to a new target block of data for which a first indicator has been set to indicate that the new target block of data has been updated.
- 20. The article of manufacture of claim 19, the operations further comprising:
maintaining a third indicator for each target block of data to indicate whether the source block of data or a corresponding target block of data is to be retrieved for a stage operation.
- 21. The article of manufacture of claim 20, the operations further comprising:
treating the third indicator for each target block of data as an indicator for each new target block of data; and when a new source block of data has been copied to the new target storage, updating the third indicator for the new target block of data.
- 22. The article of manufacture of claim 20, the operations further comprising:
treating the third indicator for each target block of data as an indicator for each new target block of data; and updating the third indicator for each new target block of data corresponding to at least one of the first indicator and the second indicator, wherein transferring data from the new source storage to the new target storage comprises transferring each new source block of data for which a third indicator indicates that the new source block of data is to be transferred to the new target storage.
- 23. A system for applying changes back to an original copy of data to reduce an amount of data transferred, comprising:
means for maintaining a first indicator for each block of data in a first storage to indicate whether the block of data has been updated in the first storage since the block of data was last transferred to a second storage; means for maintaining a second indicator for each block of data in the second storage to indicate whether the block of data has been updated in the second storage since the block of data in the second storage was overwritten by a corresponding block of data in the first storage; and upon receiving a reverse restore operation,
means for transferring each block of data in the second storage for which a second indicator has been set to indicate that the block of data has been updated to the first storage; and means for transferring each block of data in the second storage that corresponds to a block of data in the first storage for which a first indicator has been set to indicate that the block of data in the first storage has been updated to the first storage.
- 24. The system of claim 23, further comprising:
means for designating the first storage as source storage; means for designating the second storage as target storage; and after receiving the reverse restore operation,
means for designating the first storage as target storage; and means for designating the second storage as source storage.
- 25. The system of claim 23, further comprising:
means for maintaining a third indicator for each block of data in the second storage to indicate whether a corresponding block of data in the first storage or a block of data in the second storage is to be retrieved for a stage operation.
- 26. The system of claim 25, further comprising:
means for, after receiving the reverse restore operation, updating the third indicator for each block of data in the second storage based on the first indicator for the block of data in the first storage and the second indicator for the block of data in the second storage corresponding to the block of data in the first storage, wherein transferring data from the second storage to the first storage comprises transferring each block of data in the second storage for which a third indicator indicates that the block of data in the second storage is to be transferred to the first storage.
- 27. The system of claim 23, further comprising:
means for creating an incremental virtual copy relationship between a first portion of data and a second portion of data by performing an incremental virtual copy operation between the first portion of data and the second portion of data, wherein the first indicator and the second indicator are maintained for each block of data in the first portion of data and each block of data in the second portion of data in the incremental virtual copy relationship.
- 28. The system of claim 23, further comprising:
when a first block of data is updated, means for updating the first indicator for the first block of data to indicate that the first block of data has been updated.
- 29. The system of claim 23, further comprising:
when a second block of data is updated, means for updating the second indicator for the second block of data to indicate that the second block of data has been updated.
- 30. A system for reducing an amount of data transferred and copying data, comprising:
means for maintaining a first indicator for each source block of data to indicate whether the source block of data has been updated in source storage since the source block of data was last transferred to target storage; means for maintaining a second indicator for each target block of data in target storage to indicate whether the target block of data has been updated in target storage since the target block of data was overwritten by a corresponding source block of data; means for reversing an indication of which storage is to be treated as source storage and which storage is to be treated as target storage, wherein the source storage comprises new target storage and the target storage comprises new source storage, and wherein each source block of data is treated as a new target block of data and each target block of data is treated as a new source block of data; means for transferring to the new target storage each new source block of data for which a second indicator has been set to indicate that the new source block of data has been updated; and means for transferring to the new target storage each new source block of data that corresponds to a new target block of data for which a first indicator has been set to indicate that the new target block of data has been updated.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to the following commonly assigned and co-pending United States Patent Applications:
[0002] United States Patent Application No. ______ entitled “METHOD, SYSTEM, AND PROGRAM FOR INCREMENTAL VIRTUAL COPY,” by S. Werner, et al., Docket No. TUC920030041US1; and
[0003] United States Patent Application No. ______ entitled “METHOD, SYSTEM, AND PROGRAM FOR RECOVERY OF A REVERSE RESTORE OPERATION,” by M. Sanchez, et al., Docket No. TUC920030034US1;
[0004] each of which is filed on the same date herewith, and which is incorporated by reference herein in its entirety.