Patent attributes
A method for efficiently maintaining snapshot instances. To maintain the state of snapshot instances, the snapshot copies the data needed to be protected into free space on the same volume. In order to identify whether a block is free, a snapshot record is created for each block on a volume to record write operations on the block. With these snapshot records, the allocation status of blocks on a volume can quickly be identified. Free space allocation is then accomplished by allocating free space via the file-system provided interface and identifying it with snapshot records. With this mechanism, snapshot software can allocate free space to store snapshot metadata and “copy-to-write” data dynamically.