Patent ID: 7007044

Claim:
A method comprising: in response to a loss of communication with a secondary storage device, entering a first state; in response to resumption of communication with the secondary storage device, entering as second state; while in the first state, in response to data being written to an original extent on a primary storage device to form a modified extent, updating a dirty extent map to indicate that the extent has been written to; while in the second state, transferring to the secondary storage device contents of extents which the dirty extent map indicates have been written to; while in the second state, in response to having transferred to the secondary storage device contents of all extents which the dirty extent map indicates have been written to, entering a third state; while in the third state, relaying to the secondary storage device write commands issued to the primary storage device; while in the second state, relaying to the secondary storage device write commands issued to the primary storage device; wherein relaying, to the secondary storage device and while in the second state, write commands issued to the primary storage device includes relaying the write commands to a reconciliation process; utilizing said dirty extent map to identify modified extents that have been written to; executing said reconciliation process to reconcile said modified extent with said original extent for all identified modified extents until identified modified extents identified by said dirty extent map have been reconciled, said reconciliation process using said dirty extent map to identify extents that need to be reconciled; and in response to entering the third state, sending a synchronization signal to the secondary storage device, said synchronization signal being sent at the end of said reconciliation process.