Storage system, device and method using copy-on-write for synchronous remote copy
First Claim
1. A storage system, comprising a primary disk subsystem having a disk drive provided for normal operation, a first file server that controls input and output of data to/from the primary disk subsystem, a secondary disk subsystem having a disk drive that stores a duplicate of data stored in the primary disk subsystem, a second file server that controls input and output of data to/from the secondary disk subsystem, and a communications line that connects the primary disk subsystem and the secondary disk subsystem,the primary disk subsystem comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary disk subsystem,the secondary disk subsystem comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary disk subsystem,the first file server and the second file server each comprising a host input/output control module that sends and receives data and a control signal to/from a host, a disk input/output control module that transfers data and a control signal between the primary disk subsystem and secondary disk subsystem, a cache memory that temporarily stores data sent and received to/from the host input/output control module and the disk input/output control module, a CPU that controls operations of the first file server and second file server by executing a control program, and a memory where the control program is stored,wherein:
- the first data transfer module collectively sends update data to be written into the primary volume, an update address in the primary volume where the update data is to be written, differential data stored at the update address in the primary volume, and management information including a storage address in the first differential volume for the differential data, to the second data transfer module;
the second data transfer module;
stores the update data sent from the first data transfer module to an update address in the secondary volume;
stores the differential data sent from the first data transfer module to the second differential volume;
updates the second management information holding module based on the management information sent from the first data transfer module; and
then informs completion of data updating to the first data transfer module; and
the first data transfer module;
when the information of completion of the data updating is received from the second data transfer module;
stores the update data to the update address in the primary volume;
stores the differential data stored at the update address in the primary volume, into the storage address of the first differential volume; and
updates the first management information holding module.
1 Assignment
0 Petitions
Accused Products
Abstract
A first data transfer module sends update data to be written into a primary volume to a second data transfer module; the second data transfer module stores the update data into a secondary volume, stores differential data written to a storage address for the update data in the secondary volume into a second differential volume, updates a second management information holding module, and then informs completion of the data updating to the first data transfer module; and the first data transfer module stores the update data to an update address in the primary volume when the information of completion of the data updating is received from the second data transfer module, stores the differential data into a first differential volume, and updates a first management information holding module.
37 Citations
13 Claims
-
1. A storage system, comprising a primary disk subsystem having a disk drive provided for normal operation, a first file server that controls input and output of data to/from the primary disk subsystem, a secondary disk subsystem having a disk drive that stores a duplicate of data stored in the primary disk subsystem, a second file server that controls input and output of data to/from the secondary disk subsystem, and a communications line that connects the primary disk subsystem and the secondary disk subsystem,
the primary disk subsystem comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary disk subsystem, the secondary disk subsystem comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary disk subsystem, the first file server and the second file server each comprising a host input/output control module that sends and receives data and a control signal to/from a host, a disk input/output control module that transfers data and a control signal between the primary disk subsystem and secondary disk subsystem, a cache memory that temporarily stores data sent and received to/from the host input/output control module and the disk input/output control module, a CPU that controls operations of the first file server and second file server by executing a control program, and a memory where the control program is stored, wherein: -
the first data transfer module collectively sends update data to be written into the primary volume, an update address in the primary volume where the update data is to be written, differential data stored at the update address in the primary volume, and management information including a storage address in the first differential volume for the differential data, to the second data transfer module; the second data transfer module; stores the update data sent from the first data transfer module to an update address in the secondary volume; stores the differential data sent from the first data transfer module to the second differential volume; updates the second management information holding module based on the management information sent from the first data transfer module; and then informs completion of data updating to the first data transfer module; and the first data transfer module; when the information of completion of the data updating is received from the second data transfer module; stores the update data to the update address in the primary volume; stores the differential data stored at the update address in the primary volume, into the storage address of the first differential volume; and
updates the first management information holding module.
-
-
2. A storage system, comprising a primary disk subsystem having a disk drive provided for normal operation, a secondary disk subsystem having a disk drive that stores a duplicate of data stored in the primary disk subsystem, and a communications line that connects the primary disk subsystem and the secondary disk subsystem,
the primary disk subsystem comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary disk subsystem, the secondary disk subsystem comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary disk subsystem, wherein the first data transfer module collectively sends update data to be written into the primary volume, an update address in the primary volume where the update data is to be written, the differential data stored at the update address in the primary volume, and management information including the storage address in the first differential volume for the differential data, to the second data transfer module; - and
the second data transfer module; stores the update data sent from the first data transfer module to an update address in the secondary volume; stores the differential data sent from the first data transfer module into the second differential volume; updates the second management information holding module based on the management information sent from the first data transfer module; and then informs completion of data updating to the first data transfer module, and the first data transfer module; when the information of completion of the data updating is received from the second data transfer module, stores the update data to the undated address in the primary volume; stores the differential data stored at the update address in the primary volume, into the storage address of the first differential volume; and updates the first management information holding module. - View Dependent Claims (3, 4)
- and
-
5. A storage system, comprising a primary disk subsystem having a disk drive provided for normal operation, a secondary disk subsystem having a disk drive that stores a duplicate of data stored in the primary disk subsystem, and a communications line that connects the primary disk subsystem and the secondary disk subsystem,
the primary disk subsystem comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary disk subsystem, the secondary disk subsystem comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary disk subsystem, wherein: -
the first data transfer module sends update data to be written into the primary volume to the second data transfer module; the second data transfer module; stores the update data in the secondary volume; stores the differential data stored at the update address in the secondary volume, into the second differential volume; updates the second management information holding module; and then informs completion of data updating to the first data transfer module; and the first data transfer module; when the information of completion of the data updating is received from the second data transfer module, stores the update data to the update address in the primary volume; stores the differential data stored at the update address in the primary volume, into the first differential volume; updates the first management information holding module; judges a load status of the communications line, and as the result of judgment, when a load on the communications line is small, collectively sends the update data to be written into the primary volume, the update address in the primary volume where the update data is to be written, the differential data stored at the update address in the primary volume, and the management information including a storage address in the first differential volume for the differential data, to the second data transfer module; the second data transfer module; compares the differential data sent from the first data transfer module and the differential data stored in the update address in the second differential volume; as a result of the comparison, when the differential data sent from the first data transfer module matches the differential data stored at the update address in the second differential volume, stores the update data sent from the first data transfer module to the update address in the secondary volume; stores the differential data sent from the first data transfer module into the second differential volume; compares the management information sent from the first data transfer module and management information generated based on a storage address where the differential data is to be stored in the second differential volume; as a result of the comparison, when the management information sent from the first data transfer module matches the management information generated based on the storage address where the differential data is to be stored in the second differential volume, updates the second management information holding module based on the management information sent from the first data transfer module; and then informs completion of the data updating to the first data transfer module; and the first data transfer module, upon receiving the information of completion of the data updating from the second data transfer module; stores the update data to the update address in the primary volume; stores the differential data stored at the update address in the primary volume into the first differential volume; and updates the first management information holding module.
-
-
6. A storage device used in a storage system comprising a primary storage device having a disk drive provided for normal operation, a secondary storage device having a disk drive that stores a duplicate of data stored in the primary storage device, and a communications line that connects the primary storage device and the secondary storage device,
the primary storage device comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary storage device, the secondary storage device comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary storage device, wherein the first data transfer module: -
sends update data to be written into the primary volume to the second data transfer module; stores the update data to an update address in the primary volume when information of completion is received from the second data transfer module; stores the differential data stored at the update address in the primary volume into the first differential volume; and updates the first management information holding module, wherein the first data transfer module collectively sends the update data to be written into the primary volume, the update address in the primary volume where the update data is to be written, the differential data stored at the update address in the primary volume, and the management information including a storage address in the first differential volume for the differential data, to the second data transfer module.
-
-
7. A storage device used in a storage system comprising a primary storage device having a disk drive provided for normal operation, a secondary storage device having a disk drive that stores a duplicate of data stored in the primary storage device, and a communications line that connects the primary storage device and the secondary storage device,
the primary storage device comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary storage device, the secondary storage device comprising a secondary volume that is arranged to store a duplicate of the data stored in the primary volume, a second differential volume that stores differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary storage device, wherein the first data transfer module: -
sends update data to be written into the primary volume to the second data transfer module; stores the update data to an update address in the primary volume when information of completion is received from the second data transfer module; stores the differential data stored at the update address in the primary volume into the first differential volume; and updates the first management information holding module, wherein the first data transfer module; judges a load status of the communications line; as the result of judgment, when a load on the communications line is great; sends the update data to be written into the primary volume and the update address where the update data is to be written, to the second data transfer module; when the information of completion of the data updating is received from the second data transfer module, stores the update data to the update address in the primary volume; stores the differential data stored at the update address in the primary volume into the first differential volume; and updates the first management information holding module.
-
-
8. A storage device used in a storage system comprising a primary storage device having a disk drive provided for normal operation, a secondary storage device having a disk drive that stores a duplicate of data stored in the primary storage device, and a communications line that connects the primary storage device and the secondary storage device,
the primary storage device comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary storage device, the secondary storage device comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary storage device, wherein the first data transfer module: -
sends update data to be written into the primary volume to the second data transfer module; stores the update data to an update address in the primary volume when information of completion is received from the second data transfer module; stores the differential data stored at the update address in the primary volume into the first differential volume; and updates the first management information holding module, wherein the first data transfer module; judges a load status of the communications line; as the result of judgment, when a load on the communications line is small; collectively sends the update data to be written into the primary volume, the update address in the primary volume where the update data is to be written, the differential data stored at the update address in the primary volume, and the management information including the storage address in the first differential volume for the differential data, to the second data transfer module; upon receiving information of completion of the data updating from the second data transfer module, stores the update data to the update address in the primary volume; stores the differential data stored at the update address in the primary value into the first differential volume; and updates the first management information holding module.
-
-
9. A storage device used by a storage system comprising a primary storage device having a disk drive provided for normal operation, a secondary storage device having a disk drive that stores a duplicate of data stored in the primary storage device, and a communications line that connects the primary storage device and the secondary storage device,
the primary storage device comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary storage device, the secondary storage device comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary storage device, wherein the second data transfer module: -
receives the update data sent from the first data transfer module to be written into the secondary volume; stores the update data into the secondary volume; stores the differential data written to the update address in the secondary volume, into the second differential volume; updates the second management information holding module; and then informs completion of the data updating to the primary storage device; and wherein the second data transfer module; receives from the first data transfer module a signal obtained by combining the update data to be written into the primary volume, the update address in the primary volume where the update data is to be written, the differential data stored at the update address in the primary volume, and the management information including a storage address in the first differential volume for the differential data; stores the received update data to the update address in the secondary volume; stores the received differential data into the second differential volume, updates the second management information holding module based on the received management information; and then informs completion of the data updating to the first data transfer module. - View Dependent Claims (10)
-
-
11. A storage device used by a storage system comprising a primary storage device having a disk drive provided for normal operation, a secondary storage device having a disk drive that stores a duplicate of data stored in the primary storage device, and a communications line that connects the primary storage device and the secondary storage device,
the primary storage device comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary storage device, the secondary storage device comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary storage device, wherein the second data transfer module: -
receives the update data sent from the first data transfer module to be written into the secondary volume; stores the update data into the secondary volume; stores the differential data written to the update address in the secondary volume, into the second differential volume; updates the second management information holding module; and then informs completion of the data updating to the primary storage device; and wherein the second data transfer module; when the first data transfer module judges that a load status on the communications line is great, receives the update data to be written into the primary volume and the update address where the update data is to be written from the first data transfer module; reads the differential data stored at the update address in the secondary volume and stores the differential data into the second differential volume; stores the received update data to the update address in the secondary volume; updates the second management information holding module based on the storage address where the differential data is to be stored into the second differential volume; and then informs completion of the data updating to the first data transfer module.
-
-
12. A storage device used by a storage system comprising a primary storage device having a disk drive provided for normal operation, a secondary storage device having a disk drive that stores a duplicate of data stored in the primary storage device, and a communications line that connects the primary storage device and the secondary storage device,
the primary storage device comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary storage device, the secondary storage device comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary storage device, wherein the second data transfer module: -
receives the update data sent from the first data transfer module to be written into the secondary volume; stores the update data into the secondary volume; stores the differential data written to the update address in the secondary volume, into the second differential volume; updates the second management information holding module; and then informs completion of the data updating to the primary storage device; and wherein the second data transfer module; when the first data transfer module judges that a load on the communications line is small, receives from the first data transfer module a signal obtained by combining the update data to be written into the primary volume, the update address where the update data is to be written, the differential data stored at the update address in the primary volume, and the management information including the storage address in the first differential volume for the differential data; compares the received differential data and the differential data stored at the update address in the secondary volume; as a result of the comparison, when the received differential data matches the differential data stored in the update address in the secondary volume; stores the update data sent from the first data transfer module to the update address in the secondary volume; stores the received differential data into the second differential volume; compares the received management information and management information generated based on the storage address where the differential data is to be stored in the second differential volume; as the result of comparison, when the received management information matches the management information generated based on the storage address where the differential data is to be stored in the second differential volume; updates the second management information holding module based on the management information sent from the first data transfer module; and then informs completion of the data updating to the first data transfer module.
-
-
13. A remote copy method used in a storage system comprising a primary disk subsystem having a disk drive provided for normal operation, a secondary disk subsystem having a disk drive that stores a duplicate of data stored in the primary disk subsystem, and a communications line that connects the primary disk subsystem and the secondary disk subsystem,
the primary disk subsystem comprising a primary volume where normal reading and writing are performed, a first differential volume that is arranged to store differential data of a snapshot of the primary volume, a first management information holding module that manages the differential data in the primary volume, and a first data transfer module that transfers data to the secondary disk subsystem, the secondary disk subsystem comprising a secondary volume that stores a duplicate of the data stored in the primary volume, a second differential volume that is arranged to store differential data of a snapshot of the secondary volume, a second management information holding module that manages the differential data in the secondary volume, and a second data transfer module that transfers data to the primary disk subsystem, the remote copy method comprising: -
a first step of controlling the first data transfer module to send the update data to be written into the primary volume to the second data transfer module; a second step of controlling the second data transfer module to; store the update data sent from the first data transfer module into the secondary volume; store the differential data written at an update address where the update data is to be stored in the secondary volume, into the second differential volume; update the second management information holding module; and
then inform the completion of data updating to the first data transfer module; anda third step of controlling the first data transfer module to; store the update data to the update address in the primary volume when information of completion is received from the second data transfer module; store the differential data stored at the update address in the primary volume, into the first differential volume; and update the first management information holding module; and the first step comprises controlling the first data transfer module to collectively send the update data to be written into the primary volume, the update address in the primary volume where the update data is to be written, the differential data stored at the update address in the primary volume, and the management information including a storage address in the first differential volume for the differential data, to the second data transfer module; and the second step comprises controlling the second data transfer module to;
compare the differential data sent from the first data transfer module and the differential data stored at the update address in the secondary volume;
store the update data sent from the first data transfer module to the update address in the secondary volume when the differential data sent from the first data transfer module matches the differential data stored at the update address in the secondary volume;
store the differential data sent from the first data transfer module into the second differential volume;
compare the management information sent from the first data transfer module and management information generated based on the storage address where the differential data is to be stored in the second differential volume;
update the second management information holding module based on the management information sent from the first data transfer module when the management information sent from the first data transfer module matches the management information generated based on the storage address where the differential data is to be stored in the second differential volume; and
then inform completion of the data updating to the first data transfer module.
-
Specification