Patent ID: 7734573

Claim:
A method for recovering one or more replicated data items, the method comprising: determining whether a log contains one or more entries indicating a corruption in a replicated data item, wherein the log is maintained at an application layer that is higher in a software hierarchy than a replicating logical device (RLDev) layer at which the replicated data item is recovered, and wherein determining whether the log contains one or more entries indicating a corruption in a replicated data item comprises performing a first scan of the log at the application layer and inferring an offset to determine whether an entry indicates a corruption in a replicated data item, wherein the log entries further contain a desired value of the replicated data item; recovering the replicated data item if the log contains any such entries by comparing a plurality of copies of the replicated data item to identify a corrupted copy of the replicated data item and an uncorrupted copy of the replicated data item and replacing the corrupted copy of the replicated data item with the uncorrupted copy of the replicated data item; reconciling a replicated data item at the (RLDev) layer in the software hierarchy by comparing the plurality of copies of the replicated data item to identify the corrupted copy of the replicated data item if a determination is made that a failure occurred during the operation; performing a second scan of the log at the application layer to recover data associated with the application layer; and recovering the data associated with the application layer based on the second scan of the log.