Methods, systems, and computer program products for implementing single-node and cluster snapshots
First Claim
1. A computer assisted method of organizing a data structure for managing a computer storage device that contains a plurality of blocks, the method comprising:
- (a) initializing entries of the data structure to indicate that the blocks are shared between an origin and one or more snapshots;
(b) receiving a first request to modify a first portion of the storage device;
(c) identifying a first chunk that contains the first portion to be modified, wherein the first chunk includes at least one block;
(d) writing first metadata into an entry of the data structure to indicate that the first chunk is unshared; and
(e) allowing, after act (d), the first chunk to be modified.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer assisted method of organizing a data structure for managing a computer storage device that contains a plurality of blocks. The method comprises initializing entries of the data structure to indicate that the blocks are shared between an origin and one or more snapshots and receiving a first request to modify a first portion of the storage device. The method also includes identifying a first chunk that contains the first portion to be modified, wherein the first chunk includes at least one block and writing first metadata into an entry of the data structure to indicate that the first chunk is unshared. The method also includes allowing the first chunk to be modified. Similar systems and software products are also described.
142 Citations
26 Claims
-
1. A computer assisted method of organizing a data structure for managing a computer storage device that contains a plurality of blocks, the method comprising:
-
(a) initializing entries of the data structure to indicate that the blocks are shared between an origin and one or more snapshots;
(b) receiving a first request to modify a first portion of the storage device;
(c) identifying a first chunk that contains the first portion to be modified, wherein the first chunk includes at least one block;
(d) writing first metadata into an entry of the data structure to indicate that the first chunk is unshared; and
(e) allowing, after act (d), the first chunk to be modified. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer program product, residing on a computer readable medium, for use in organizing a data structure for managing a computer storage device that contains a plurality of blocks, said computer program product comprising instructions for causing a computer to:
-
(a) initialize entries of the data structure to indicate that the blocks are shared between an origin and one or more snapshots, wherein each entry is associated with a chunk that includes at least one block;
(b) modify data stored in the storage device;
(c) modify the entries for chunks based on whether the chunks are shared between the origin and the one or more snapshots after the storage device has been modified; and
(d) receive a first request to transfer a selected snapshot among the one or more snapshots to the origin. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A computing system for organizing a data structure for managing a computer storage device that contains a plurality of blocks, the system comprising:
-
a computer configured to run a server process, wherein the server process is configured to (a) initialize entries of the data structure to indicate that the blocks are shared between an origin and one or more snapshots;
(b) receive a first request to modify a first portion of the storage device;
(c) identify a first chunk that contains the first portion to be modified, wherein the first chunk includes at least one block;
(d) write first metadata into an entry of the data structure to indicate that the first chunk is unshared; and
(e) allow, after act (d), the first chunk to be modified. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification