Patent attributes
Techniques for providing high-performance writable snapshots in data storage systems are disclosed. The techniques include storing a set of snapshots containing changes to a data set over time in a set of allocation units containing a series of contiguous blocks. A set of metadata blocks in the allocation units is used to track a state of data stored in the series of contiguous blocks. Ownership of the allocation units by the snapshots is also tracked in a set of allocation unit mappings between the allocation units and a set of snapshot identifiers representing the snapshots. The allocation unit mappings and metadata blocks are then used to execute writes to the data set and free blocks in the snapshots.