Continuous data reduction for highly available synchronous mirrors
First Claim
1. A method of remote mirroring of data between a first data storage system and a second data storage system, the second data storage system being remote from the first data storage system and linked to the first data storage system for transfer of remote copy data from the first data storage system to the second data storage system, the first data storage system including a first data processor and a first non-transitory computer-readable storage medium, the second data storage system including a second data processor and a second non-transitory computer readable storage medium, said method comprising the first data processor executing a first set of computer instructions stored in the first non-transitory computer-readable storage medium, and the second data processor executing a second set of computer instructions stored in the second non-transitory computer-readable storage medium, to perform the steps of:
- (a) maintaining secondary storage in the second data storage system as a remote mirror of primary storage in the first data storage system as a host computer writes data to the primary storage in the first data storage system, the secondary storage being maintained in a synchronous mode in which the first data storage system returns an acknowledgement of completion of a write operation to the host computer when the second data storage system has returned an acknowledgement of receipt of remote copy data of the write operation;
(b) the first data storage system performing data reduction upon the remote copy data prior to transmitting the remote copy data in a reduced form from the first data storage system to the second data storage system; and
(c) the second data storage system returning the acknowledgement of receipt of the remote copy data to the first data storage system upon receipt of the remote copy data in the reduced form, and later reversing the data reduction upon the remote copy data in the reduced form to produce data written to the secondary storage to maintain the secondary storage as the remote mirror of the primary storage;
wherein step (b) includes performing data reduction upon the remote copy data by finding that the remote copy data includes a copy of a block of data that was previously transmitted from the first data storage system to the second data storage system, and replacing the copy of the block of data with a pointer to the block of data that was previously transmitted from the first data storage system to the second data storage system; and
wherein step (b) further includes searching a block index to find that the remote copy data includes said copy of a block of data that was previously transmitted from the first data storage system to the second data storage system.
9 Assignments
0 Petitions
Accused Products
Abstract
In a synchronous remote mirroring system, as a host computer writes data to primary storage in a primary data storage system, remote copy data is transferred from the primary data storage system to a secondary storage system in which secondary storage is maintained as a remote mirror of the primary storage. The primary data storage system performs data reduction upon the remote copy data prior to transmitting the remote copy data in a reduced to the secondary data storage system. The secondary data storage system returns an acknowledgement of receipt of the remote copy data upon receipt of the remote copy data in the reduced form, and later reverses the data reduction upon the remote copy data in the reduced form to produce data written to the secondary storage to maintain the secondary storage as the remote mirror of the primary storage.
33 Citations
10 Claims
-
1. A method of remote mirroring of data between a first data storage system and a second data storage system, the second data storage system being remote from the first data storage system and linked to the first data storage system for transfer of remote copy data from the first data storage system to the second data storage system, the first data storage system including a first data processor and a first non-transitory computer-readable storage medium, the second data storage system including a second data processor and a second non-transitory computer readable storage medium, said method comprising the first data processor executing a first set of computer instructions stored in the first non-transitory computer-readable storage medium, and the second data processor executing a second set of computer instructions stored in the second non-transitory computer-readable storage medium, to perform the steps of:
-
(a) maintaining secondary storage in the second data storage system as a remote mirror of primary storage in the first data storage system as a host computer writes data to the primary storage in the first data storage system, the secondary storage being maintained in a synchronous mode in which the first data storage system returns an acknowledgement of completion of a write operation to the host computer when the second data storage system has returned an acknowledgement of receipt of remote copy data of the write operation; (b) the first data storage system performing data reduction upon the remote copy data prior to transmitting the remote copy data in a reduced form from the first data storage system to the second data storage system; and (c) the second data storage system returning the acknowledgement of receipt of the remote copy data to the first data storage system upon receipt of the remote copy data in the reduced form, and later reversing the data reduction upon the remote copy data in the reduced form to produce data written to the secondary storage to maintain the secondary storage as the remote mirror of the primary storage; wherein step (b) includes performing data reduction upon the remote copy data by finding that the remote copy data includes a copy of a block of data that was previously transmitted from the first data storage system to the second data storage system, and replacing the copy of the block of data with a pointer to the block of data that was previously transmitted from the first data storage system to the second data storage system; and wherein step (b) further includes searching a block index to find that the remote copy data includes said copy of a block of data that was previously transmitted from the first data storage system to the second data storage system. - View Dependent Claims (2, 3, 4)
-
-
5. A remote mirroring system comprising a first data storage system and a second data storage system, the second data storage system being remote from the first data storage system and linked to the first data storage system for transfer of remote copy data from the first data storage system to the second data storage system, the first data storage system including a first data processor and a first non-transitory computer-readable storage medium storing a first set of computer instructions, the second data storage system including a second data processor and a second non-transitory computer readable storage medium storing a second set of computer instructions, the first and second sets of computer instructions, when executed by the first and second data processors, respectively, performing the steps of:
-
(a) maintaining secondary storage in the second data storage system as a remote mirror of primary storage in the first data storage system as a host computer writes data to the primary storage in the first data storage system, the secondary storage being maintained in a synchronous mode in which the first data storage system returns an acknowledgement of completion of a write operation to the host computer when the second data storage system has returned an acknowledgement of receipt of remote copy data of the write operation; (b) the first data storage system performing data reduction upon the remote copy data prior to transmitting the remote copy data in a reduced form from the first data storage system to the second data storage system; and (c) the second data storage system returning the acknowledgement of receipt of the remote copy data to the first data storage system upon receipt of the remote copy data in the reduced form, and later reversing the data reduction upon the remote copy data in the reduced form to produce data written to the secondary storage to maintain the secondary storage as the remote mirror of the primary storage; wherein step (b) includes performing data reduction upon the remote copy data by finding that the remote copy data includes a copy of a block of data that was previously transmitted from the first data storage system to the second data storage system, and replacing the copy of the block of data with a pointer to the block of data that was previously transmitted from the first data storage system to the second data storage system; and wherein step (b) further includes searching a block index to find that the remote copy data includes said copy of a block of data that was previously transmitted from the first data storage system to the second data storage system. - View Dependent Claims (6, 7, 8)
-
-
9. A method of remote mirroring of data between a first data storage system and a second data storage system, the second data storage system being remote from the first data storage system and linked to the first data storage system for transfer of remote copy data from the first data storage system to the second data storage system, the first data storage system including a first data processor and a first non-transitory computer-readable storage medium, the second data storage system including a second data processor and a second non-transitory computer readable storage medium, said method comprising the first data processor executing a first set of computer instructions stored in the first non-transitory computer-readable storage medium, and the second data processor executing a second set of computer instructions stored in the second non-transitory computer-readable storage medium, to maintain secondary storage in the second data storage system as a remote mirror of primary storage in the first data storage system as a host computer writes data to the primary storage in the first data storage system, by performing the steps of:
-
(a) the first data storage system receiving a write request from a host computer, the write request specifying a write operation and specifying data to be written to the primary storage, and first data storage system responding to the write request from the host computer by performing data reduction upon the specified data to produce remote copy data in a reduced form, transmitting the remote copy data in the reduced form to the second data storage system, and writing the specified data to the primary storage; (b) the second data storage system receiving the remote copy data in the reduced form, and returning an acknowledgement of receipt of the remote copy data in the reduced form to the first data storage system upon receipt of the remote copy data in the reduced form, and later reversing the data reduction upon the remote copy data in the reduced form to produce data written to the secondary storage to maintain the secondary storage as the remote mirror of the primary storage; and (c) the first data storage system receiving the acknowledgement of receipt of the remote copy data in the reduced form from the second data storage system, and returning an acknowledgement of completion of a write operation to the host computer upon receipt of the acknowledgement of receipt of the remote copy data in the reduced form from the second data storage system; wherein the data reduction upon the specified data to produce the remote copy data in the reduced form includes searching a block index to find that the specified data includes a copy of a block of data that was previously transmitted from the first data storage system to the second data storage system, and in response to finding that the specified data includes a copy of a block of data that was previously transmitted from the first data storage system to the second data storage system, replacing the copy of the block of data with a pointer to the block of data that was previously transmitted from the first data storage system to the second data storage system; and the reversing of the data reduction upon the remote copy data in the reduced form to produce the data written to the secondary storage to maintain the secondary storage as the remote mirror of the primary storage includes using the pointer to the block of data that was previously transmitted from the first data storage system to the second data storage system to retrieve a copy of the block of data that was previously transmitted from the first data storage system to the second data storage system. - View Dependent Claims (10)
-
Specification