Patent ID: 7484051
Filing Date: 2009-01-27
Classification: G06F,Y10S

Abstract:
1. An apparatus for reliably updating a data group in a data replication environment, the apparatus comprising: a receive module comprising executable code stored on a storage device, executable by a processor, and configured to receive an updated data group sent from a first storage medium to a second storage medium in a read-before-write operation; a copy module comprising executable code stored on the storage device, executable by the processor, and configured to copy data from a previous data group stored on the second storage medium into memory; a comparison module comprising executable code stored on the storage device, executable by the processor, and configured to compare the updated data group with the previous data group using an exclusive or (XOR) command, store differences as a comparison file, and compress the comparison file; a write module comprising executable code stored on the storage device, executable by the processor, and configured to write the updated data group to the second storage medium; a communication module comprising executable code stored on the storage device, executable by the processor, and configured to inform a peer controller prior to writing the updated data group to the second storage medium, communicate the comparison file and the updated data group to the peer controller and synchronize the updated data group with the peer controller, and inform the peer controller that the updated data group is written to the second storage medium, the peer controller configured to complete the read-before-write operation in case of a failure and discard the updated data group upon being informed that the updated data group was written to the second storage medium; an undo module comprising executable code stored on the storage device, executable by the processor, and configured to a redo module comprising executable code stored on the storage device, executable by the processor, and configured to return the restored previous data group to an updated state by applying the XOR command to the recovered previous data group and the comparison file.