US7206961B1ExpiredUtility
Preserving snapshots during disk-based restore
Est. expirySep 30, 2022(expired)· nominal 20-yr term from priority
Y10S707/99953G06F 2201/84G06F 11/1469
82
PatentIndex Score
50
Cited by
24
References
14
Claims
Abstract
The present invention provides a method for providing snapshots of data at different times and for performing rollbacks to a selected snapshot that does not result in any subsequent snapshots being rendered unusable. The method includes a mapping mechanism wherein when a map entry for a block being written to for the first time during a session exists, then another map entry is created and all later sessions are applied to it. When a map entry for the block does not exist, a new map entry is provided and all prior sessions are applied to it.
Claims
exact text as granted — not AI-modified1. A method of performing non-destructive rollback comprising:
taking a first snapshot of a set of source logical unit blocks at a first time;
taking a second snapshot of the set of source logical unit blocks at a second time later than the first time, taking the first snapshot or taking the second snapshot comprises:
starting a session; and
performing a Copy on First Write (COFW) operation on data being written to for the first time during the session, performing the COFW operation comprises:
providing a map entry for a logical unit block being written to;
storing data contained in the logical unit block to a snapshot storage area; and
providing a pointer from the map entry to the data in the snapshot storage area;
performing a rollback to the first snapshot; and
preserving the second snapshot, the second snapshot may be used for a subsequent rollback;
wherein providing the map entry comprises determining if the map entry for the block being written to already exists and if the map entry does exist, producing another map entry configured to associate all later sessions to the another map entry.
2. The method of claim 1 , further comprising:
taking a third snapshot at a third time later than the second time; and
preserving the third snapshot prior to performing the rollback;
wherein the third snapshot may be used for the subsequent rollback.
3. The method of claim 1 , further comprising:
taking a third snapshot at a third time prior to the first time; and
preserving the third snapshot;
wherein the third snapshot may be used for the subsequent rollback.
4. The method of claim 1 wherein providing the map entry comprises if the map entry does not exist, producing a new map entry and associating prior sessions to the new map entry.
5. The method of claim 1 wherein providing the map entry comprises providing the map entry having at least one session associated with the map entry.
6. The method of claim 1 , further comprising taking additional snapshots between the first time and the second time.
7. The method of claim 6 , further comprising preserving the additional snapshots;
wherein the additional snapshots may be used for the subsequent rollback.
8. An article comprising a readable memory device that stores executable instructions for performing non-destructive rollback, the instructions causing the machine to:
take a first snapshot of a set of source logical unit blocks at a first time;
take a second snapshot of the set of source logical unit blocks at a second time later than the first time, the instructions causing the machine to take the first snapshot or the second snapshot comprises instructions causing the machine to:
start a session; and
perform a Copy on First Write (COFW) operation on data being written to for the first time during the session, the instructions causing the machine to perform the COFW comprises instructions causing the machine to:
provide a map entry for a logical unit block being written to;
store data contained in the logical unit block to a snapshot storage area; and
provide a pointer from the map entry to the data in the snapshot storage area;
perform a rollback from the first snapshot; and
preserve the second snapshot, the second snapshot may be used for a subsequent rollback;
wherein the instructions causing the machine to provide the map entry comprises instructions causing the machine to determine if the map entry for the block being written to already exists and if the map entry does exist, causing the machine to produce another map entry configured to associate all later sessions to the another map entry.
9. The article of claim 8 , further comprising instructions causing the machine to:
take a third snapshot at a third time later than the second time; and
preserve the third snapshot prior to performing the rollback;
wherein the third snapshot may be used for the subsequent rollback.
10. The article of claim 8 , further comprising instructions causing the machine to:
take a third snapshot at a third time prior to the first time; and
preserve the third snapshot;
wherein the third snapshot may be used for the subsequent rollback.
11. The article of claim 8 wherein the instructions causing the machine to provide the map entry comprises instructions causing the machine to, if the map entry does not exist, produce a new map entry and associating all prior sessions to the new map entry.
12. The article of claim 8 wherein the instructions causing the machine to provide the map entry comprises instructions causing the machine to provide the map entry having at least one session associated with the map entry.
13. The article of claim 8 , further comprising instructions causing the machine to take additional snapshots between the first time and the second time.
14. The article of claim 13 , further comprising instructions causing the machine to preserve the additional snapshots;
wherein the additional snapshot may be used for the subsequent rollback.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.