Patent ID: 8156080

Claim:
A method of maintaining a copy of at least one data volume in a computer system for at least one point in time, comprising: initiating creation of a first snapshot of a base volume; establishing a first repository for the first snapshot of the base volume; creating a modified region map, the modified region map including a bit representing each region of the base volume, each bit indicating whether any data in a region has changed; monitoring the base volume for write operations thereto; identifying a write operation to a first region of the base volume; determining whether the modified region map indicates that data has changed in the first region since initiation of the first snapshot; and prior to a write operation to the first region of the base volume, copying the first region of the base volume to the first repository in response to an indication by the modified region map that data in the first region has not been changed since initiation of the first snapshot; initiating creation of a second snapshot of the base volume; establishing a second repository for the second snapshot of the base volume; resetting the modified region map upon initiating the second snapshot; receiving a read request to the first snapshot for a particular region in the base volume; providing the particular region of the base volume that has changed from the first snapshot in the first repository in response to being changed after initiation of the first snapshot and prior to initiation of the second snapshot; providing the particular region of the base volume that has changed from the second snapshot in the second repository in response to being changed after initiation of the second snapshot; providing the particular region of the base volume from the base volume in response to the particular region not being changed.