Patent ID: 7941406

Claim:
A method implemented and residing in a non-transitory computer-readable medium, comprising: taking a snapshot of a volume by freezing writes to existing blocks having data for the volume; receiving a write request for a particular block number associated with the existing blocks after the snapshot is taken, the particular block number maps to one of the existing blocks that was frozen, the write request changing some of the data on that frozen existing block; adding an offset to the particular block number to acquire a different block number from those block numbers that are associated with the existing blocks; processing the write request within the offset at the different block number and managing the snapshot by mapping requests to the particular block number to the different block number maintained outside the snapshot, the different block number set aside and reserved on a same volume that holds the snapshot; maintaining a configurable number of free blocks between each existing block, wherein each free block is empty before the snapshot is taken, and wherein at least one of the free blocks is identified by the offset and used to process the write request after the snapshot is taken; and further comprising, serially grouping each existing block with the configurable number of the free blocks within the volume.