Snapshots of file systems in data storage systems
First Claim
1. A method of snapshot management in a data storage system that maintains multiple snapshot versions and an active file system, comprising:
- (a) maintaining an index table that contains an entry for each snapshot and the active file system, wherein the index table entry includes one or more attributes selected from a group of attributes comprising a version number, an image state, a time stamp, a root block pointer, and an image name; and
(b) maintaining a space map block entry (b, e), wherein b and e represent index table entries, b indicates a first snapshot that uses the first block, and e indicates a last snapshot that uses the first block. (c) allocating a second block;
(d) writing the data in the second block;
(e) updating any other blocks that pointed to the first block to point to the second block;
(f) repeating the steps (c) through (e) for updating other blocks; and
(g) reading the associated space map block to determine if the first block is only used for the active file system and if so, updating the first block.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to methods and systems of snapshot management of a file system in a data storage system. To represent the snapshots, the invention maintains pointers to the root block pointer of each snapshot. When the active file system is modified, this invention avoids overwriting any blocks used by previous snapshots by allocating new blocks for the modified blocks. When the invention needs to put an established block in a new location, it must update a parent block to point to the new location. The update to the parent block may then require allocating a new block for the new parent block and so forth. Parts of the file system not modified since a snapshot remain in place. The amount of space required to represent snapshots scales with the fraction of the file system that users modify. To maintain snapshot integrity, this invention keeps track of the first and last snapshots that use each block in space map blocks spread throughout the file system data space. When users delete snapshots, this invention may use a background process to find blocks no longer used by any snapshot and makes them available for future use.
97 Citations
1 Claim
-
1. A method of snapshot management in a data storage system that maintains multiple snapshot versions and an active file system, comprising:
-
(a) maintaining an index table that contains an entry for each snapshot and the active file system, wherein the index table entry includes one or more attributes selected from a group of attributes comprising a version number, an image state, a time stamp, a root block pointer, and an image name; and
(b) maintaining a space map block entry (b, e), wherein b and e represent index table entries, b indicates a first snapshot that uses the first block, and e indicates a last snapshot that uses the first block. (c) allocating a second block;
(d) writing the data in the second block;
(e) updating any other blocks that pointed to the first block to point to the second block;
(f) repeating the steps (c) through (e) for updating other blocks; and
(g) reading the associated space map block to determine if the first block is only used for the active file system and if so, updating the first block.
-
Specification