Patent ID: 8533410

Claim:
A method for operating a computer data storage system, comprising: apportioning storage space of the storage system into a plurality of regions, wherein each region represents a contiguous range of file block numbers of the storage space, the region configured to store file system data and snapshot data associated with a different sequential portion of a data container; configuring an indirect block, stored as an initial block within the region, to maintain metadata that describes the file system data and the snapshot data associated with the different sequential portion of the data container stored in the region; enabling a file block number to disk block number mapping by the indirect block for the region; keeping track of accounting information for the region by the indirect block, wherein the accounting information includes whether a previous version of a block in the region is utilized in a snapshot and is maintained and not overwritten; receiving a write operation directed to the block, wherein the write operation is associated with a new version of the block; and in response to receiving the write operation directed to the block, writing the new version of the block to a free block in the region, based on the indirect block indicating that the previous version of the block in the region is utilized in the snapshot and is maintained and not overwritten.