Patent ID: 8572331

Claim:
A program of executable code stored on a non-transitory storage device and executed by a processor to perform operations to reliably update a data group in a read-before-write replication environment, the operations comprising: receiving at a storage controller separate from a first non-volatile storage medium an updated data group sent from the first non-volatile storage medium in a read-before-write operation, wherein the updated data group comprises unchanged data values and updated data values to replace previous data values; copying a previous data group stored on a second non-volatile storage medium separate from the first non-volatile storage medium into a controller memory of the storage controller; comparing the updated data group with the previous data group; wherein the updated data group is compared with the previous data group by applying an Exclusive OR (XOR) command; storing results of the comparison of the updated data group and the previous data group in a comparison file, the comparison file comprising the differences between updated data values in the updated data group and the previous data values in the previous data group; compressing the comparison file; communicating the comparison file and the updated data group to a peer controller; initiating a write process wherein the storage controller writes the updated data group to a t-he second non-volatile storage medium; and detecting a failure of the write process of the updated data group to the second nonvolatile storage medium, wherein the peer controller is configured to complete the read-before- write operation in place of the storage controller.