Patent ID: 7284019

Claim:
An apparatus to back up data, the apparatus comprising: a snapshot module comprising executable code stored on a storage device, executed by a processor, and configured create an on-write data structure configured to receive a write record for a write to a data block in a data set of an active data storage device, the write record comprising a data block identifier, and to record the write record for the write to the data block of the data set in the on-write data structure; a backup module comprising executable code stored on the storage device, executed by the processor, and configured to copy the data set to a backup data storage device configured to retrieve and store a plurality of data blocks as a full data set backup and copy a first differential time stamp and the data block indicated by the data block identifier of the recorded write record to the backup data storage device as a first differential data set backup, wherein the data set remains accessible while copied, and direct the snapshot module to clear the write record of the on-write data structure subsequent to copying the first differential data set backup to the backup data storage device and wherein the first differential data set backup is configured as a first incremental data set backup and the first differential time stamp is configured as a first incremental time stamp, and the backup module is further configured to copy a second incremental time stamp and the data block indicated by the identifier of a write record recorded subsequent to the first incremental data set backup to the backup data storage device as a second incremental data set backup; and a restore module comprising executable code stored on the storage device, executed by the processor, and configured to recover the data set responsive to receiving a restore command comprising a data set identifier and a target time value, wherein if the data set identifier indicates the data set, the restore module is configured to copy the full data set backup to a target data storage device and if the target time value is subsequent to or equivalent to the first differential time stamp to copy each data block of the first differential data set backup to the target data storage device overlaying the corresponding data block of the full data set backup.