Management of file system snapshots
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 a space map block entry (b, e), wherein b and e represent index table entries, b indicates a first snapshot that uses a first block, and e indicates a last snapshot that uses the first block; and
(b) maintaining a snapspace matrix that counts the occurrences of (b, e) for every space map block entry.
2 Assignments
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.
-
Citations
16 Claims
-
1. A method of snapshot management in a data storage system that maintains multiple snapshot versions and an active file system, comprising:
-
(a) maintaining a space map block entry (b, e), wherein b and e represent index table entries, b indicates a first snapshot that uses a first block, and e indicates a last snapshot that uses the first block; and
(b) maintaining a snapspace matrix that counts the occurrences of (b, e) for every space map block entry. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A snapshot management system including a processor for maintaining multiple snapshot versions and an active file system, comprising:
-
an index table that contains an entry for each snapshot and the active file system;
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; and
a usable space for storing the snapshot versions and the active file system. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A snapshot management system that maintains multiple snapshot versions and an active file system, comprising:
-
means for maintaining an index table that contains an entry for each snapshot and the active file system; and
means for maintaining 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. - View Dependent Claims (13, 14, 15, 16)
-
Specification