Remote mirroring system, device, and method
First Claim
1. A method for synchronizing a plurality of data images in a computer system, the computer system comprising a master storage unit for maintaining a master image and at least one slave storage unit for maintaining at least one slave image, the method comprising:
- receiving a number of write requests identifying portions of the plurality of data images to be written to the master image and to the at least one slave image;
maintaining a log including a number of write entries identifying said portions of the plurality of data images;
subsequent to storing the write entries in the log, initiating write operations to the master image and to the at least one slave image for updating the identified portions of the plurality of data images such that the write operations can complete at different times and the write operation to the at least one slave image can complete prior to the write operation to the master image;
determining that there was a failure that may have caused said portions of the plurality of data images to become unsynchronized; and
copying said portions of the plurality of data images identified in the log from the master image to the at least one slave image following recovery from said failure, wherein;
said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had not been updated, if a write operation had completed in the at least one slave image but not in the master image;
said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had not been updated, if a write operation had completed in neither the at least one slave image nor the master image;
said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had been updated, if a write operation had completed in both the at least one slave image and the master image; and
said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had been updated, if a write operation had completed in the master image but not in the at least one slave image.
9 Assignments
0 Petitions
Accused Products
Abstract
In a remote mirroring system, device, and method, a master storage unit stores information in a log and uses the information from the log to quickly resynchronize slave images following a failure in the master storage unit. Upon receiving a write request from a host, the master storage unit stores a write entry in the log. The write entry includes information that identifies a portion of the slave images that may be unsychronized from the master image due to the write request. The master storage unit then proceeds to update the master image and the slave images. The log is preserved through the failure, such that the log is available to the master storage unit upon recovery from the failure. When the master storage unit is operational following the failure, the master storage unit resynchronizes the slave images to the master image by copying those portions of the master image indicated in the log to the slave images.
-
Citations
11 Claims
-
1. A method for synchronizing a plurality of data images in a computer system, the computer system comprising a master storage unit for maintaining a master image and at least one slave storage unit for maintaining at least one slave image, the method comprising:
-
receiving a number of write requests identifying portions of the plurality of data images to be written to the master image and to the at least one slave image;
maintaining a log including a number of write entries identifying said portions of the plurality of data images;
subsequent to storing the write entries in the log, initiating write operations to the master image and to the at least one slave image for updating the identified portions of the plurality of data images such that the write operations can complete at different times and the write operation to the at least one slave image can complete prior to the write operation to the master image;
determining that there was a failure that may have caused said portions of the plurality of data images to become unsynchronized; and
copying said portions of the plurality of data images identified in the log from the master image to the at least one slave image following recovery from said failure, wherein;
said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had not been updated, if a write operation had completed in the at least one slave image but not in the master image;
said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had not been updated, if a write operation had completed in neither the at least one slave image nor the master image;
said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had been updated, if a write operation had completed in both the at least one slave image and the master image; and
said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had been updated, if a write operation had completed in the master image but not in the at least one slave image. - View Dependent Claims (2, 3)
determining a convenient time to delete the unneeded write entries; and
deleting the unneeded write entries from the log at said convenient time.
-
-
4. An apparatus for synchronizing a plurality of data images in a computer system, the plurality of data images including a master image and at least one slave image, the apparatus comprising:
-
log maintenance logic operably coupled to receive a number of write requests identifying portions of the plurality of data images to be written to the master image and to the at least one slave image and to maintain a log including a number of write entries identifying said portions of the plurality of data images;
storage logic operably coupled to initiate write operations to the master image and to the at least one slave image for updating the identified portions of the plurality of data images such that the write operations can complete at different times and the write operation to the at least one slave image can complete prior to the write operation to the master image;
failure detection logic operably coupled to determine that there was a failure that may have caused said portions of the plurality of data images to become unsynchronized; and
synchronization logic operably coupled to copy said portions of the plurality of data images identified in the log from the master image to the at least one slave image following recovery from said failure, wherein;
said copying overwrites apportion of the at least one slave image that had been updated with a portion of the master image that had not been updated, if a write operation had completed in the at least one slave image but not in the master image, said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had not been updated, if a write operation had completed in neither the at least one slave image nor the master image;
said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had been updated if a write operation had completed in both the at least one slave image and the master image; and
said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had been updated, if a write operation had completed in the master image but not in the at least one slave image. - View Dependent Claims (5, 6)
-
-
7. A program product comprising a computer readable medium having embodied therein a computer program for synchronizing a plurality of data images in a computer system, the plurality of data images including a master image and at least one slave image, the apparatus comprising:
-
log maintenance logic programmed to receive a number of write requests identifying portions of the plurality of data images to be written to the master image and to the at least one slave image and to maintain a log including a number of write entries identifying said portions of the plurality of data images;
storage logic programmed to initiate write operations to the master image and to the at least one slave image for updating the identified portions of the plurality of data images such that the write operations can complete at different times and the write operation to the at least one slave image can complete prior to the write operation to the master image;
failure detection logic programmed to determine that there was a failure that may have caused said portions of the plurality of data images to become unsynchronized; and
synchronization logic programmed to copy said portions of the plurality of data images identified in the log from the master image to the at least one slave image following recovery from said failure, wherein;
said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had not been updated, if a write operation had completed in the at least one slave image but not in the master image;
said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had not been updated, if a write operation had completed in neither the at least one slave image nor the master image;
said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had been updated, if a write operation had completed in both the at least one slave image and the master image; and
said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had been updated, if a write operation had completed in the master image but not in the at least one slave image. - View Dependent Claims (8, 9)
-
-
10. A computer system comprising a master storage unit for maintaining a master image and at least one slave storage unit for maintaining at least one slave image, wherein:
-
the master storage unit is operably coupled to receive a number of write requests identifying portions of the plurality of data images to be written to the master image and to the at least one slave image;
maintain a log including a number of write entries identifying said portions of the plurality of data images;
initiate write operations to the master image and to the at least one slave image for updating the identified portions of the plurality of data images such that the write operations can complete at different times and the write operation to the at least one slave image can complete prior to the write operation to the master image;
determine that there was a failure that may have caused said portions of the plurality of data images to become unsynchronized; and
copy those portions of the master image identified in the log to the at least one slave storage unit following recovery from said failure, wherein;
said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had not been updated, if a write operation had completed in the at least one slave image but not in the master image;
said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had not been updated, if a write operation had completed in neither the at least one slave image nor the master image;
said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had been updated, if a write operation had completed in both the at least one slave image and the master image; and
said copying overwrites a portion of the at least one slave image that had not been updated with a portion of the master image that had been updated, if a write operation had completed in the master image but not in the at least one slave image; and
the at least one slave storage unit is operably coupled to update those portions of the at least one slave image copied from the master image in order to synchronize the at least one slave image with the master image.
-
-
11. A method for synchronizing a plurality of data images in a computer system, the computer system comprising a master storage unit for maintaining a master image and at least one slave storage unit for maintaining at least one slave image, the method comprising:
-
receiving a number of write requests identifying portions of the plurality of data images to be written to the master image and to the at least one slave image;
maintaining a log including a number of write entries identifying said portions of the plurality of data images;
subsequent to storing the write entries in the log, initiating write operations to the master image and to the at least one slave image for updating the identified portions of the plurality of data images such that the write operations can complete at different times and the write operation to the at least one slave image can complete prior to the write operation to the master image;
determining that there was a failure that may have caused said portions of the plurality of data images to become unsynchronized; and
copying said portions of the plurality of data images identified in the log from the master image to the at least one slave image following recovery from said failure without first checking if a portion of the slave image is different than a corresponding portion of the master image, wherein said copying overwrites a portion of the at least one slave image that had been updated with a portion of the master image that had not been updated, if a write operation had completed in the at least one slave image but not in the master image.
-
Specification