Claims
- 1. A method of snapshot operation for a data storage system with a first host that communicates with a cache memory, a source VLUN, and a target VLUN, comprising:
generating first metadata to locate first snapshot data and to indicate when the first snapshot data is in the target VLUN; and generating second metadata to locate second snapshot data and to indicate when the second snapshot data is in the target VLUN, wherein the first and second metadata locate the same data in the target VLUN.
- 2. The method of claim 1, wherein generating the first metadata includes generating a first log file pointer to locate first snapshot data in the target VLUN.
- 3. The method of claim 2, wherein generating the first metadata includes changing a first bitmap to indicate first snapshot data has migrated to the target VLUN.
- 4. The method of claim 1, wherein generating the second metadata includes generating a second log file pointer to locate second snapshot data in the target VLUN.
- 5. The method of claim 4, wherein generating the second metadata includes changing a second bitmap to indicate second snapshot data has migrated to the target VLUN.
- 6. A snapshot system for a data storage system including a first host that communicates with a cache memory, a source VLUN, a target VLUN, and metadata, comprising:
a source VLUN for active data; a target VLUN to store migrated snapshot data; first metadata to indicate when and to locate where the first snapshot data is in the target VLUN; and second metadata to indicate when and to locate where second snapshot data is in the target VLUN wherein the first metadata and the second metadata to indicate and locate the same snapshot data in the target VLUN.
- 7. The snapshot system of claim 6, wherein the first metadata includes a first log file pointer to locate the first snapshot data in the target VLUN and the second metadata includes a second log file pointer to locate the second snapshot data in the target VLUN.
- 8. The snapshot system of claim 6, wherein the first metadata includes a first bitmap to indicate when the first snapshot data has migrated to the target VLUN and a first log file to locate the first snapshot data in the target VLUN, and the second metadata includes a second bitmap to indicate when the second snapshot data has migrated to the target VLUN and a second log file to locate the second snapshot data in the target VLUN.
- 9. The snapshot system of claim 6, wherein the first bitmap and the second bitmap indicate that the first snapshot data and the second snapshot data have migrated to the target VLUN.
- 10. The snapshot system of claim 6, wherein the first log file and the second log file locate the first snapshot data and the second snapshot data that have migrated to the target VLUN.
- 11. The snapshot system of claim 6, wherein the first metadata and the second metadata indicate snapshot data remain in the source VLUN.
- 12. The snapshot system of claim 6, wherein the first metadata indicates that the original data of the first snapshot is in the target VLUN and the second metadata indicates that the original data of the second snapshot is in the source VLUN.
- 13. The snapshot system of claim 6, wherein the first log file and the second log file each include a pointer identifying the same data location in the target VLUN.
- 14. A method of destaging of data to maintain data consistency of original data between a cache memory and a target VLUN of a data storage system, comprising:
reading the bitmaps for all of the snapshots into a first host memory; reading the log files for all of the snapshots into the first host memory; searching the bitmaps to identify snapshots that require original data to be destaged; destaging the original data to an available location in the target VLUN; updating each log file associated with the identified bitmaps by adding pointers to the original data located in the target VLUN; and updating each associated bitmap to indicate completion of the destage operation to the target VLUN.
- 15. The method of claim 14, further comprising searching the bitmaps for the presence of original data in the target VLUN, determining the next available target address for the next destage operation, checking the cache memory to see if other original dirty data needs to be destaged to the target VLUN and if so, identifying additional snapshots requiring original data to be destaged and if not, writing updated bitmaps and log files to the target VLUN.
- 16. The method of claim 14, further comprising writing the log file and the bitmap to the target VLUN, removing the dirty data designation for the destaged data still in cache and completing the target destage operation.
- 17. A method of snapshot operation in a data storage system in a first host that communicates with a cache memory, a source VLUN, a target VLUN, first metadata, and second metadata, comprising:
receiving requests from an application to modify data in the cache memory; writing the modified data to the cache memory; destaging the original data to the target VLUN to preserve the original data of a first snapshot and a second snapshot; and updating the first and second metadata to locate the original data in the target VLUN.
- 18. The method of claim 17, further comprising destaging the first and second metadata to the target VLUN.
- 19. The method of claim 17, further comprising updating the first and second metadata to indicate the presence of the destaged original data in the target VLUN.
- 20. The method of claim 19, further comprising destaging the first and second metadata to the target VLUN.
- 21. The method of claim 17, further comprising destaging the modified data in the cache memory to the source VLUN to maintain data consistency.
- 22. A method of snapshot operation in a data storage system in a first host that communicates with a cache memory, a source VLUN, a target VLUN, a plurality of bitmaps, and a plurality of log files, comprising:
receiving requests from an application to modify data in the cache memory; writing the modified data to the cache memory; destaging the original data to the target VLUN to preserve the original data of a first snapshot and a second snapshot; adding a pointer in a first log file to locate the original data in the target VLUN; updating a first bitmap to indicate the presence of the destaged original data in the target VLUN; adding a pointer to the original data in a second log file to locate the original data in the target VLUN; and updating a second bitmap to indicate the presence of the original data in the target VLUN.
- 23. The method of claim 22, further comprising destaging the modified data in the cache memory to the source VLUN to maintain consistency.
- 24. The method of claim 22, further comprising destaging the first and second bitmaps and the first and second log files to the target VLUN.
- 25. A method of an error recovery process in a data storage system wherein a first host verifies that original dirty data has or has not been destaged to the target VLUN, comprising:
(a) reading a bitmap, wherein if the bitmap contains a 0 in a bit position representing the original dirty data in cache memory, destaging the data to the target VLUN, and wherein if the bitmap contains a 1 in a bit position representing the presence of associated original data in the target VLUN, not destaging the data; (b) removing the dirty data designation for the destaged data; and (c) repeating the steps (a) and (b) until all of the original dirty data is destaged.
Parent Case Info
[0001] This application incorporates herein by reference U.S. application Ser. No. 10/354,797 (Attorney Docket No. Pillar 709) entitled, Methods and Systems of Host Caching, filed on Jan. 29, 2003 and U.S. application Ser. No. 10/440,347 (Attorney Docket No. Pillar 713) entitled, Methods and Systems of Cache Memory Management and Snapshot Operations, filed on May 16, 2003.