Patent ID: 7743028

Claim:
A method for generating an incremental backup of a set of data blocks, the method comprising: taking a first snapshot of the set of data blocks; altering the first snapshot by deleting one or more files stored in a temporary storage location from the first snapshot, wherein the deleted files are associated with data blocks included in the first snapshot, and wherein the temporary storage location comprises a volume on a hard disk drive; wherein deleting one or more files associated with a first data block comprises: modifying a pointer in a second data block configured to point to the one or more files associated with the first data block, wherein the modified pointer is configured to not point to the one or more files associated with the first data block; and deallocating memory associated with the first data block; identifying which data blocks in the first snapshot have been altered as a result of deleting the one or more files from the first snapshot; performing a first backup of the set of data blocks using at least a portion of the first snapshot; taking a second snapshot of the set of data blocks subsequent to taking a first snapshot of the set of data blocks; identifying which data blocks of the set of data blocks have changed between the first and second snapshots; and calculating which of the set of data blocks in the second snapshot to back up in a second backup of the set of data blocks, wherein the second backup is an incremental backup and wherein the calculation is a function of at least the identity of which data blocks in the first snapshot have been altered during the deleting of the one or more files from the first snapshot, and wherein calculating which of the set of data blocks in the second snapshot to back up in the second backup is also a function of at least the identity of which data blocks of the set of data blocks have changed between the first and second snapshots.