Patent ID: 7761741

Claim:
A method for data recovery in a data storage system comprising: receiving I/O requests from a host machine, the I/O requests being directed to a production volume, the I/O requests including write requests; producing an original snapshot of the production volume, the original snapshot representative of a first data state of the production volume; servicing the write requests, including performing write operations on the production volume to produce an updated production volume, the updated production volume having a second data state; storing a plurality of first journal entries, each first journal entry corresponding to one of the write requests and containing data in the production volume that is to be overwritten by the write request; performing a recovery operation comprising steps of: applying one or more first journal entries to the original snapshot to produce an updated snapshot, the updated snapshot having a third data state that is a data state of the production volume at a point in time between the first data state and the second data state; and restoring the third data state on the production volume based on the updated snapshot by copying the updated snapshot to the production volume to the third data state so that the data recovery can be performed on the production volume in the third data state; and performing a re-recovery operation comprising steps of: making a copy of the copy of the original snapshot to produce a second copy of the original snapshot; applying the one or more first journal entries to the second copy of the original snapshot to produce a second updated snapshot; and copying the second updated snapshot to the production volume to restore the production volume to the third data state.