The present invention relates to external storage devices for storing data in a computer system and to their integrated system, and more particularly to remote copy techniques for mirroring data between remote external storage devices (disk subsystems) without involving an upper hierarchical apparatus or host computer, by interconnecting remote external storage devices and other remote external storage devices. The disk subsystem is herein intended to mean a control unit for controlling data transfer to and from an upper hierarchical apparatus and a storage device having disks for storing data or a storage device having an internal buffer.
External storage systems incorporating a so-called remote copy function have already been in practical use, in which data is mirrored and stored in disk subsystems of a main center and a remote center.
Such prior art has various issues to be solved because the remote copy function is realized by involving host computers.
“Synchronous Type and Asynchronous Type”
The remote copy function is mainly classified into two types, a synchronous type and an asynchronous type.
The synchronous type executes the following process sequence. When a disk subsystem is instructed by a host computer (upper hierarchical apparatus) of a main center to renew (write) data and if the disk subsystem is assigned the remote copy function, a renewal process completion notice is issued to the host computer of the main center only after the instructed data renewal (write) is completed for a corresponding disk subsystem in a remote center. A time delay (transmission time and the like) is generated in accordance with a geographical distance between the main center and remote center and the performance of a data transmission line therebetween. If the transmission time of the synchronous type is taken into consideration, several tens Km is a practical limit of a distance to a remote site.
In the synchronous type, the data contents in disk subsystems in the main and remote centers are always consistent from a macro viewpoint. Therefore, even if the function of the main center is lost by accidents or the like, the data contents immediately before the accidents are perfectly retained in the disk subsystems of the remote center and the process can be resumed quickly at the remote center. The term “always consistent from the macro viewpoint” means that during the execution of the synchronous type function, although the data contents may be different in terms of a process time (·sec, msec) of magnetic disk devices and electronic circuits, the data contents are always the same at the time of data renewal completion. This is because the renewal process at the main center cannot be completed unless the renewal data is completely reflected upon the remote center. Therefore, in some cases, particularly if a distance between the main and remote centers is long and the data transmission line is congested, the access performance to a disk subsystem in the main center is considerably degraded.
In contrast, the asynchronous type executes the following process sequence. When a disk subsystem is instructed by a host computer of a main center to renew (write) data and even if this data is to be remotely copied, a renewal process completion notice is issued to the host computer of the main center immediately after the data renewal process for the disk subsystem in the main center is completed, to thereafter execute the data renewal (reflection) of the disk subsystem in the remote center, asynchronously with the data renewal in the main center. Since the data renewal is completed in a process time required by the main center, there is no transmission delay time or the like to be caused by storing the data in the remote center.
In the asynchronous type, the data contents in a disk subsystem of the remote center are not always consistent with those in the main center. Therefore, if the function of the main center is lost by accidents or the like, the data still not reflected upon the remote center is lost. However, an access performance of a disk subsystem in the main center can be maintained at the level when the remote copy function is not executed.
In order to back up data so as not to be lost by natural disasters such as earthquakes, it is necessary to set the distance between the main and remote centers to about 100 km to several tens km. Although it is possible to use a high speed communication line, for example, of a 100 Mbit/sec to 300 Mbit/sec class for the remote copy function, an expansive line subscription fee is incurred upon a customer of the disk subsystem, and this approach is not economically suitable.
“Order Integrity”
There is another problem different from the above-described issue of the data transmission time. Namely, if the remote center backs up the data of a plurality of disk subsystems of the main center, there occurs an issue (order integrity) that disk subsystems are required to be in one-to-one correspondence. In asynchronous remote copy, it is inevitable that reflection of renewal data in the remote center is delayed from the time when an actual renewal process is executed in the main center. However, the order of renewal in the remote center is required to be the same as that in the main center.
A database or the like is generally constituted of a main body of the database and various log and control information directly associated with the main body. When data is renewed, not only the database main body but also the log and control information is renewed to maintain the system integrity. Therefore, if the renewal order is not kept, the integrity of information regarding the renewal order is also lost, and at the worst the whole of the database may be destructed.
“Involvement of Host Computer”
In the asynchronous remote copy under general environments where the main and remote centers have a plurality of disk subsystems, when the host computer instructs the disk subsystem to renew data, it is common that the host computer adds renewal order information such as a time stamp to the data to make the corresponding disk subsystem in the remote center execute a renewal data reflection process in accordance with the added information.
According to the remote copy function disclosed, for example, in the publication of JP-A-6-290125 (U.S. Pat. No. 5,446,871), generation and supply of renewal order information and a renewal data reflection process based upon this information are realized through the cooperation between the operating system of a host computer in a main center and its disk subsystems and the operating system of a host computer in a remote center and its disk subsystems.
This prior art can realize the asynchronous remote copy function while ensuring the renewal order between main and remote centers. With this prior art, however, both the upper level software and a disk subsystem are required to have the mechanism for realizing the remote copy function, and also they are required to operate in cooperation. Since new custom software is required to be incorporated, a user is necessary to perform works such as software incorporation, setting and check, and modification of system designs to be caused by an increased CPU load. Incorporation of this conventional function is, therefore, associated with some obstacles such as a predetermined work period for such preparation and a cost therefor.
If the asynchronous remote copy function is executed when the capacity of the communication line to a remote center is not sufficient, renewal data not reflected upon the remote center increases.
It is an object of the present invention to realize an asynchronous type remote copy function capable of ensuring a renewal order and data integrity and facilitating its incorporation with less performance degradation of a main center, by using only the function of a disk subsystem without incorporating new software.
It is another object of the present invention to realize a remote copy function without incurring an expensive line subscription fee upon a customer of a disk subsystem, by applying an asynchronous type remote copy function to the disk subsystem capable of storing a large amount of data.
Each of a main center and a remote center is provided with a disk subsystem serving as a gateway (hereinafter called a gateway subsystem) which is connected to a data transmission line. All disk subsystems in both the centers to which a remote copy is executed, are connected to the corresponding gateway subsystem of each center.
A volume of the disk subsystem in the main center to be remotely copied and a desired volume of the gateway subsystem in the main center are coupled by a synchronous type remote function to mirror data. If a system process time delay or the like can be neglected between the volume of the disk subsystem in the main center to be remotely copied and the volume of the gateway subsystem in the main center, data consistency can be retained.
Data is mirrored between volumes of the gateway subsystems of the main and remote centers through asynchronous remote copy. In this case, the gateway subsystem of the main center sends renewal data to the gateway subsystem of the remote center in accordance with the renewal order of volumes of disk subsystems of the main center, whereas the gateway subsystem of the remote center reflects the renewal data upon corresponding volumes of the remote center in accordance with the reception order of the renewal data.
Data is mirrored between the volume of the gateway subsystem of the remote center and the volume of each disk subsystem through synchronous remote copy. Data same as from a macro viewpoint is always stored in the volume of the gateway subsystem of the remote center and in the volume of the disk subsystem to be remotely copied.
The gateway subsystem stores data in the volume to be remotely copied, in a buffer memory of the gateway subsystem. Since the gateway subsystem has the buffer memory, generally an area for storing data in the gateway subsystem is not necessarily required. However, if there is an available area in the gateway subsystem, this area can be utilized for data transfer via the transmission line, depending upon the capacity of the transmission line.
With the above-described configuration, it is possible to mirror data between a plurality of disk subsystems of the main center and a plurality of disk subsystems of the remote center, by using the functions of the disk subsystems, while the data renewal order is retained. Reflection of renewal data upon the remote center can be performed asynchronously with the data renewal process at each disk subsystem of the main center. It is therefore possible to provide a disaster resistant back-up system of high performance and easy incorporation. Depending upon the communication capacity of the transmission line, the storage area of the subsystem can be utilized so that a burden of a line subscription fee of a customer can be reduced.
An embodiment of the invention applied to a general computer system will be described with reference to the accompanying drawings.
One or a plurality of disk subsystems in a main center and one or a plurality of disk subsystems in a remote center are interconnected via gateway subsystems without involving the host computers, to realize a remote copy system for mirroring data between both the centers.
In the main center 12 shown in
The gateway subsystem 7 is provided in the remote center 13 and connected via an interface cable 6 to the gateway subsystem 5 of the main center 12. The interface cable 6 is connectable to a general communication line. In this embodiment, therefore, the interface cable 6 is intended to include such a function.
When the host computer 1 issues a data write request to a disk subsystem 3-1 or the like, the disk subsystem 3-1 or the like writes the data in its buffer memory. Synchronously with this timing the disk subsystem 3-1 or the like issues a data write request to the gateway subsystem 5.
Upon reception of this write request, the gateway subsystem 5 writes the data in its buffer memory. Asynchronously with the data write in the buffer memory of the gateway subsystem 5, the gateway subsystem 5 issues a data write request to the gateway subsystem 7 at the remote site. It is essential to use a gateway subsystem 5 irrespective of how many disk subsystems 3-1 to 3-n are used.
The gateway subsystem 7 stores data supplied from the gateway subsystem 5 in its buffer memory, in the order of data write requests. It is essential to use a gateway subsystem 7.
Disk subsystems 9-1, 9-2, . . . , 9-n are connected via interface cables 8 to the gateway subsystem 7. When a data write request is issued from the main center 12 to the gateway subsystem 7, synchronously with this timing the gateway subsystem 7 writes the data therein and in the disk subsystem 9-1.
Remote copy is therefore executed by sequentially issuing a write request to a subsystem and then to the next subsystem. When a data write request is issued from the host computer 1 to one or a plurality of disk subsystems 3-1 to 3-n, the same data is loaded in one or a plurality of disk subsystems 9-1 to 9-n of the remote center 13. Arrows shown in
In the remote center 13, the host computer 11 is connected via interface cables 10 to the disk subsystems 9-1 to 9-n, and is a central processing unit which executes data reference and renewal relative to the disk subsystem 9-1 or the like. When the host computer 1 of the main center 12 cannot provide its intrinsic functions because of disasters, system failures or the like, the host computer 11 can operate as an alternative to the host computer 1. In addition, the host computer 11 can execute a process different from that of the host computer 1 of the main center 12 by using data stored in the disk subsystem 9-1 or the like, independently from the operation of the host computer 1. However, if the host computer 11 does not execute a process by using the disk subsystem 9-1, this host computer 11 is unnecessary.
The outline of the data mirroring method and operation according to the embodiment of this invention will be described with reference to
A volume, a data set and a disk subsystem which store data to be mirrored are preselected by an administrator. The relation between the volume, data set and disk subsystem in which the data is stored and a volume, a data set and a disk subsystem which store a copy of the data, is preset to the disk subsystems by the administrator from the host computers.
In other words, a write destination of data to be copied is determined sequentially between respective disk subsystems described above. For example, when data is written in a volume of the disk subsystem 3-1, it is set in such a manner that in which volume of the gateway subsystem 5 the data is written from the disk subsystem 3-1, then in which volume of the gateway subsystem 7 the data is written from the gateway subsystem 5, lastly in which volume of the disk subsystem 9-1 the data is written from the gateway subsystem 7. Such settings are provided for each disk subsystem including the gateway disk subsystem.
For such settings, the serial number and volume of each disk subsystem are used. For example, a volume A of the disk subsystem 3-1 is set to a volume B of the gateway subsystem 5, the volume B of the gateway subsystem 5 is set to a volume C of the gateway subsystem 7, and the volume C of the gateway subsystem 7 is set to a volume D of the disk subsystem 9-1. In this manner, the data written in the volume A of the disk subsystem 3-1 is copied to the volume D of the disk subsystem 9-1. This setting is conducted for all volumes.
Such preselect and preset may be effected by using a console or a service processor without using the host computer, if the disk subsystem can be connected to or provided with its console or service processor. The flow chart shown in
For such preset, a specific address indicating the volume or disk subsystem may be designated, or the volume or disk subsystem in an arbitrary address range may be selected by using a control program in the disk subsystem. Path setting and pair setting are used as an example of initial setting (
The further description will be given with reference to the accompanying drawings.
As the host computer 1 (
Upon reception of the write command, the gateway subsystem 5 executes a process corresponding to the write command (204). After the gateway subsystem completes a data load process for loading the data in its buffer memory, it notifies a process completion to the disk subsystem 3-1, 3-2, . . . , 3-2 (211). A write command number is assigned to each write command in the order of the process completion (205), and at the timing determined basing upon the processing capability of the gateway subsystem 5, the write command assigned the write command number is issued to the gateway subsystem 7 (213) in the order of the write command number (206).
Under the conditions that the disk subsystem 3-1, 3-2, . . . , 3-n completes a process for the write command issued from the host computer 1, i.e., complete a data load process for loading the data therein, and receives a write process completion notice from the gateway subsystem 5 (212) (221), the disk subsystem supplies a write command process completion notice to the host computer 1 (222).
The gateway subsystem 7 (213) confirms, from the write command numbers assigned to respective write commands issued from the gateway subsystem 5 (212), whether the write commands have been received in the order of the assigned write command numbers. Therefore, the gateway subsystem executes the processes corresponding to the write commands, i.e., executes a data load process (301) for loading the data in its buffer memory. Thereafter, a write command corresponding to the loaded data is issued to the corresponding disk subsystem 9 (311) (302). Upon reception of the write command issued from the gateway subsystem 7, the disk subsystem 9 (311) executes a process corresponding to the write command, i.e., executes a data load process for loading the data therein (303).
After the disk subsystem 9-1, 9-2, . . . , 9-n (311) completes the process corresponding to the write command, i.e., completes the data load process for loading the data in its buffer memory, it supplies a process completion notice to the gateway subsystem 7 (321). Under the conditions that the gateway subsystem 7 (213) completes the data load process for loading the data therein and receives the write process completion notice from the disk subsystem 9-1, 9-2, . . . , 9-n, the gateway subsystem 7 supplies a process completion notice for the write command to the gateway subsystem 5 (322).
According to the present invention, data written by the host computer 1 is mirrored between the disk subsystem 3-1, 3-2, . . . , 3-n and the gateway subsystem 5 and is maintained consistent from a macro viewpoint. At this time, the gateway subsystem 5 adds information (serial number) to the data in order to hold the renewal order.
Data is mirrored between the gateway subsystems 5 and 7 through asynchronous remote copy while the renewal order is ensured. Synchronously with the data renewal by the gateway subsystem 7, the disk subsystem 9-1, 9-2, . . . , 9-n renews the data. These operations are all realized by only the functions of the disk subsystem including a disk subsystem having the gateway function so that any load is not applied to the processing performance of the host computer.
The operation of the remote computer system which uses a buffer area of each gateway subsystem when the communication capacity of the transmission line is not sufficient, will be described with reference to
The gateway subsystem 5 has: an interface control unit 11 for data (including information) transfer to and from the disk subsystem 3-1 or the like and the gateway subsystem 7; a data buffer 12 for temporarily storing the data; a magnetic disk drive 13 as a storage medium for storing the data; a control memory for storing remote copy status information (as to which volume of which disk subsystem is written to which volume of the gateway subsystem 5, as to which volume of the gateway subsystem 5 is written in which volume of the gateway subsystem, and the like); a microprocessor 14 for controlling transfer of these data; a service processor panel 15 allowing a user to set how the remote copy is executed; and a disk array subsystem control unit 17 for controlling these components. In this example, although the data buffer 12 is provided at the gateway subsystem 12, this data buffer 12 is not necessary if a cache memory capable of performing a similar function to the data buffer 12 is provided, because the cache memory can function as the data buffer 12. In this specification, therefore, the data buffer 12 is intended to be inclusive of such a cache memory. Also in this example, although the control memory 16 is provided at the gateway subsystem 5, this control memory 16 is not necessary if a remote copy control information storage unit capable of performing a similar function to the control memory 16 is provided, because the remote copy information storage unit can function as the control memory 16. In this specification, therefore, the control memory 16 is intended to be inclusive of such a remote copy information storage unit.
As described so far, according to the present invention, an asynchronous type remote copy system can be realized which can ensure the data renewal order and data integrity by using the functions of disk subsystems without incorporating new software and which is easy to be incorporated and free from degradation of the process performance of the main center.
A storage area of the subsystem can be used depending upon the communication capacity of the transmission line so that a burden of a line subscription fee of a customer can be reduced.
Number | Date | Country | Kind |
---|---|---|---|
11-117670 | Apr 1999 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4875159 | Cary et al. | Oct 1989 | A |
5133065 | Cheffetz et al. | Jul 1992 | A |
5155845 | Beal et al. | Oct 1992 | A |
5257352 | Yamamoto et al. | Oct 1993 | A |
5375232 | Legvold et al. | Dec 1994 | A |
5379418 | Shimazaki et al. | Jan 1995 | A |
5390327 | Lubbers et al. | Feb 1995 | A |
5446871 | Shomler et al. | Aug 1995 | A |
5537533 | Staheli et al. | Jul 1996 | A |
5544347 | Yanai et al. | Aug 1996 | A |
5555371 | Duyanovich et al. | Sep 1996 | A |
5577222 | Micka et al. | Nov 1996 | A |
5592618 | Micka et al. | Jan 1997 | A |
5615329 | Kern et al. | Mar 1997 | A |
5623599 | Shomler | Apr 1997 | A |
5657440 | Micka et al. | Aug 1997 | A |
5720029 | Kern et al. | Feb 1998 | A |
5742792 | Yanai et al. | Apr 1998 | A |
5745753 | Mosher, Jr. | Apr 1998 | A |
5799141 | Galipeau et al. | Aug 1998 | A |
5845328 | Maya et al. | Dec 1998 | A |
5870537 | Kern et al. | Feb 1999 | A |
5893140 | Vahalia et al. | Apr 1999 | A |
5937414 | Souder et al. | Aug 1999 | A |
5949970 | Sipple et al. | Sep 1999 | A |
6044444 | Ofek | Mar 2000 | A |
6052799 | Li et al. | Apr 2000 | A |
6131148 | West et al. | Oct 2000 | A |
6157991 | Arnon | Dec 2000 | A |
6161165 | Solomon et al. | Dec 2000 | A |
6173293 | Thekkath et al. | Jan 2001 | B1 |
6178521 | Filgate | Jan 2001 | B1 |
6182166 | Shklarsky et al. | Jan 2001 | B1 |
6185659 | Milillo et al. | Feb 2001 | B1 |
6260124 | Crockett et al. | Jul 2001 | B1 |
6282610 | Bergsten | Aug 2001 | B1 |
6324654 | Wahl et al. | Nov 2001 | B1 |
6408370 | Yamamoto et al. | Jun 2002 | B2 |
6415373 | Peters et al. | Jul 2002 | B1 |
6446175 | West et al. | Sep 2002 | B1 |
6535967 | Milillo et al. | Mar 2003 | B1 |
6535994 | Kedem | Mar 2003 | B1 |
6539462 | Martinage et al. | Mar 2003 | B1 |
20010010070 | Crockett et al. | Jul 2001 | A1 |
20030182526 | Mikkelsen et al. | Sep 2003 | A1 |
Number | Date | Country |
---|---|---|
0617362 | Sep 1994 | EP |
0671666 | Sep 1995 | EP |
0672885 | Sep 1995 | EP |
0724223 | Jul 1996 | EP |
0902370 | Mar 1999 | EP |
A-6-290125 | Oct 1994 | JP |
09-325917 | Dec 1997 | JP |
11-85408 | Mar 1999 | JP |
9400816 | Jan 1994 | WO |
9820419 | May 1998 | WO |