Method for reliably updating a data group in a read-before-write data replication environment using a comparison file
First Claim
1. 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.
0 Assignments
0 Petitions
Accused Products
Abstract
A method is disclosed for reliably updating a data group in a read-before-write data replication environment. The method reliably updates the data group by receiving an updated data group sent from a first storage medium to a second storage medium, comparing the updated data group with a previous data group previously existing on the second storage medium and writing the updated data group to the second storage medium. The read-before-write and differencing method disclosed maintain reliability by storing multiple copies of changes made to the second storage medium during and after the write process.
-
Citations
10 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for reliably updating a data group in a read-before-write replication environment, the method performed by executable code stored on a non-transitory storage device and executed by a processor and comprising:
-
receiving at a storage controller separate from a first non-volatile storage medium an updated data group sent from the first nonvolatile 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 into a controller memory of the storage controller; comparing the updated data group with the previous data group using an Exclusive OR (XOR) command; storing results of the comparison of the updated data group and the previous data group as 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; informing a peer controller prior to writing the updated data group to the second nonvolatile storage medium, the peer controller configured to complete the read-before write operation for the storage controller in case of failure; communicating the comparison file and the updated data group to the peer controller; synchronizing the updated data group to the peer controller; writing the updated data group to the second non-volatile storage medium; informing the peer controller that the updated data group is written to the second non-volatile storage medium; discarding the updated data group from the peer controller upon being informed that the updated data group was successfully written to the second non-volatile storage medium; detecting a system failure; reading the updated data group from the second non-volatile storage medium and the comparison file into the controller memory; recovering the previous data group from the updated data group and the comparison file using an XOR command; and writing the recovered previous data group to the second non-volatile storage medium. 14. - View Dependent Claims (9, 10)
-
Specification