Preserving snapshots during disk-based restore
First Claim
Patent Images
1. 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.
9 Assignments
0 Petitions
Accused Products
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.
70 Citations
14 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification