U.S. patent application number 11/454860 was filed with the patent office on 2007-10-18 for dual writing device and its control method.
Invention is credited to Masaaki Hosouchi, Nobuhiro Maki, Kenichi Oyamada, Kazuhiko Watanabe.
Application Number | 20070245106 11/454860 |
Document ID | / |
Family ID | 38606203 |
Filed Date | 2007-10-18 |
United States Patent
Application |
20070245106 |
Kind Code |
A1 |
Maki; Nobuhiro ; et
al. |
October 18, 2007 |
Dual writing device and its control method
Abstract
A first storage system sets a storage area of a first disk drive
as a first volume, and misrepresents an identifier of the storage
system and an identifier of the first volume. A second storage
system sets a storage area of a second disk drive as a second
volume, and misrepresents an identifier of the storage system and
an identifier of the second volume. The first storage system copies
data of the first volume in the second volume. The second storage
system copies data of the second volume in the first volume. A
management computer determines whether there is a match between the
data of the first volume and the data of the second volume. When it
is determined that there is not match, the host computer accesses
only one of the first volume and the second volume that stores the
latest data.
Inventors: |
Maki; Nobuhiro; (Yokohama,
JP) ; Oyamada; Kenichi; (Yokohama, JP) ;
Watanabe; Kazuhiko; (Yokohama, JP) ; Hosouchi;
Masaaki; (Zama, JP) |
Correspondence
Address: |
ANTONELLI, TERRY, STOUT & KRAUS, LLP
1300 NORTH SEVENTEENTH STREET, SUITE 1800
ARLINGTON
VA
22209-3873
US
|
Family ID: |
38606203 |
Appl. No.: |
11/454860 |
Filed: |
June 19, 2006 |
Current U.S.
Class: |
711/162 ;
711/112; 711/E12.019; 711/E12.04; 714/E11.103 |
Current CPC
Class: |
G06F 11/2079 20130101;
G06F 11/2069 20130101; G06F 12/0866 20130101 |
Class at
Publication: |
711/162 ;
711/112 |
International
Class: |
G06F 12/16 20060101
G06F012/16; G06F 12/00 20060101 G06F012/00 |
Foreign Application Data
Date |
Code |
Application Number |
Apr 18, 2006 |
JP |
2006-114236 |
Claims
1. A computer system, comprising: one or more first storage
systems; one or more second storage systems; one or more host
computers connected to the first storage system and to the second
storage system through a network; and a management computer capable
of accessing the first storage system, the second storage system,
and the host computers, wherein: the first storage system includes:
a first interface connected to the network; a first processor
connected to the first interface, a first memory connected to the
first processor; and a first disk drive for storing data requested
to be written by the host computer; the first storage system sets a
storage area of the first disk drive as one or more first volume;
the first storage system misrepresents an identifier of the storage
system and an identifier of the first volume to the host computer;
the first storage system provides the set first volume to the host
computer, the second storage system includes: a second interface
connected to the network; a second processor connected to the
second interface; a second memory connected to the second
processor; and a second disk drive for storing data requested to be
written by the host computer; the second storage system sets a
storage area of the second disk drive as one or more second volume;
the second storage system misrepresents an identifier of the
storage system and an identifier of the second volume as being
identical to those misrepresented by the first storage system to
the host computer; the second storage system provides the set
second volume to the host computer; the management computer
includes: a third interface externally connected; a third processor
connected to the third interface; and a third memory connected to
the third processor; the host computer includes: a fourth interface
connected to the network; a fourth processor connected to the
fourth interface; and a fourth memory connected to the fourth
processor; the first processor copies data of the first volume in
the second volume; the second processor copies data of the second
volume in the first volume; the third processor determines whether
there is a match between the data of the first volume and the data
of the second volume; and if it is determined that there is no
match, the fourth processor accesses only one of the first volume
and the second volume that stores the latest data.
2. The computer system according to claim 1, wherein: the third
processor specifies one of the first volume and the second volume
that is a copying destination in the copying process of the first
processor or the second processor; the third processor gives the
fourth processor an instruction for suspending access to the
specified volume of the copying destination; and the fourth
processor, upon reception of the instruction for suspending access,
suspends the access to the volume of the copying destination to
thereby access only one of the first volume and the second volume
that stores the latest data.
3. The computer system according to claim 1, wherein the fourth
processor suspends access to one of the first volume and the second
volume when instructed to suspend copying process of the first
processor or the second processor.
4. The computer system according to claim 1, wherein upon detecting
a failure occurring in the copying process of the volume, the first
processor gives the fourth processor an instruction for suspending
access to one of the first volume and the second volume.
5. An access control method for a computer system, the computer
system including: one or more first storage systems; one or more
second storage systems; one or more host computers connected to the
first storage systems and to the second storage systems through a
network; and a management computer capable of accessing the first
storage systems, the second storage systems, and the host
computers, the first storage system including: a first interface
connected to the network; a first processor connected to the first
interface; a first memory connected to the first processor; and a
first disk drive for storing data requested to be written by the
host computer, the second storage system including: a second
interface connected to the network; a second processor connected to
the second interface; a second memory connected to the second
processor; and a second disk drive for storing data requested to be
written by the host computer, the management computer including: a
third interface externally connected; a third processor connected
to the third interface; and a third memory connected to the third
processor, the host computer including: a fourth interface
connected to the network; a fourth processor connected to the
fourth interface; and a fourth memory connected to the fourth
processor, the access control method comprising the steps of:
setting a storage area of the first disk drive as one or more first
volumes; misrepresenting an identifier of the storage system and an
identifier of the first volume to the host computer; providing the
set first volume to the host computer; setting a storage area of
the second disk drive as one or more second volumes;
misrepresenting an identifier of the storage system and an
identifier of the second volume as being identical to those
misrepresented by the first storage system to the host computer;
providing the set second volume to the host computer; copying data
of the first volume in the second volume; copying data of the
second volume in the first volume; determining whether there is a
match between the data of the first volume and the data of the
second volume; and accessing only one of the first volume and the
second volume that stores the latest data when it is determined
there is no match.
6. The access control method according to claim 5, further
comprising the step of specifying one of the first volume and the
second volume that is a copying destination in the copying step,
wherein the step of accessing only one of the volumes that stores
the latest data comprises suspending access to the specified volume
of the copying destination.
7. The access control method according to claim 5, further
comprising the step of suspending access to one of the first volume
and the second volume, upon reception of an instruction for
suspending the process of the copying step.
8. The access control method according to claim 5, further
comprising the step of instructing to suspend access to one of the
first volume and the second volume, upon detection of a failure
occurring in the process of the copying step.
9. A management computer, comprising: an interface capable of
accessing one or more first storage systems, one or more second
storage systems, and one or more host computers connected to the
first and second storage systems through a network; a processor
connected to the interface; and a memory connected to the
processor, wherein: the first storage system includes a first disk
drive for storing data requested to be written by the host
computer; the first storage system sets a storage area of the first
disk drive as one or more first volume; the first storage system
misrepresents an identifier of the storage system and an identifier
of the first volume to the host computer; the first storage system
provides the set first volume to the host computer; the second
storage system includes a second disk drive for storing data
requested to be written by the host computer; the second storage
system sets a storage area of the second disk drive as one or more
second volume; the second storage system misrepresents an
identifier of the storage system and an identifier of the second
volume as being identical to those misrepresented by the first
storage system to the host computer; the second storage system
provides the set second volume to the host computer; the first
storage system copies data of the first volume in the second
volume; the second storage system copies data of the second volume
in the first volume; the processor determines whether there is a
match between the data of the first volume and the data of the
second volume; and the processor gives the host computer an
instruction for accessing only one of the first volume and second
volume that stores the latest data when it is determined that there
is no match.
10. The management computer according to claim 9, wherein: the
processor specifies which one of the first volume and second volume
is a copying destination in the copying process of one of the first
processor and the second processor; and the processor gives the
host computer an instruction for suspending access to the specified
volume of the copying destination to thereby instruct the host
computer to access only one of the volumes that stores the latest
data.
11. A computer system, comprising: one or more storage systems; one
or more first misrepresentation devices connected to the storage
system; one or more second misrepresentation devices connected to
the storage system; one or more host computers connected to the
first misrepresentation device and the second misrepresentation
device through a network; and a management computer capable of
accessing the first misrepresentation device, the second
misrepresentation device, and the host computers, wherein: the
storage system includes: a first interface connected to the first
misrepresentation device and the second misrepresentation device; a
first processor connected to the first interface; a first memory
connected to the first processor; and a first disk drive for
storing data requested to be written by the host computer; the
storage system provides a storage area of the first disk drive as
one or more first volume to the first misrepresentation device and
the second misrepresentation device; the first misrepresentation
device includes: a second interface connected to the network; a
second processor connected to the second interface; a second memory
connected to the second processor; and a first cache memory for
temporarily storing data stored in the provided first volume; the
first misrepresentation device misrepresents an identifier of the
storage system and an identifier of the provided first volume; the
first misrepresentation device provides the provided first volume
to the host computer; the second misrepresentation device includes:
a third interface externally connected; a third processor connected
to the third interface; a third memory connected to the third
processor; and a second cache memory for temporarily storing data
stored in the provided first volume; the second misrepresentation
device misrepresents an identifier of the storage system and an
identifier of the provided first volume; the second
misrepresentation device provides the provided first volume to the
host computer; the management computer includes: a fourth interface
externally connected; a fourth processor connected to the fourth
interface; and a fourth memory connected to the fourth processor;
the host computer includes: a fifth interface connected to the
network; a fifth processor connected to the fifth interface; and a
fifth memory connected to the fifth processor; the second processor
copies data of the first cache memory in the second cache memory;
the third processor copies data of the second cache memory in the
first cache memory; the fourth processor determines whether there
is a match between the data of the first cache memory and the data
of the second cache memory; and when it is determined that there is
no match, the fifth processor accesses only one of the first cache
memory and the second cache memory that stores the latest data.
12. The computer system according to claim 11, wherein: the fourth
processor specifies which one of the first cache memory and the
second cache memory is a copying destination in the copying process
of one of the second processor and the third processor; and the
fourth processor gives the fifth processor an instruction for
suspending access to the specified cache memory of the copying
destination; and the fifth processor, upon reception of the
instruction for suspending access, suspends access to the cache
memory of the copying destination to thereby access only one of the
first cache memory and the second cache memory that stores the
latest data.
13. The computer system according to claim 1 1, wherein when
instructed to suspend the copying process of the second processor
or the third processor, the fifth processor suspends access to one
of the first cache memory and the second cache memory.
14. The computer system according to claim 11, wherein upon
detection of a failure occurring in the copying process of the
volume, the second processor gives the fifth processor an
instruction for suspending accessing to one of the first cache
memory and second cache memory.
Description
CLAIM OF PRIORITY
[0001] The present application claims priority from Japanese patent
application P2006-114236 filed on Apr. 18, 2006, the content of
which is hereby incorporated by reference into this
application.
BACKGROUND
[0002] This invention relates to a computer system equipped with a
first storage system, a second storage system, a host computer, and
a management computer, and to a technology for writing data in the
first storage system and in the second storage system.
[0003] In recent years, data used in a computer system of a company
or the like has been growing in importance. Thus, a data protection
technology is applied to the computer system. The data protection
technology is for recovering data in a faulty computer system. For
example, the data protection technology includes a remote copying
technology.
[0004] An example of the remote copying technology is disclosed in
JP 2005-18506 A. According to the remote copying technology, a
first storage system stores data received from a host computer. The
first storage system transmits data received from the host computer
to a second storage system arranged at a physically separated
place. The second storage system stores the data received from the
first storage system. Even when a fault occurs, the computer system
to which the remote copying technology is applied can recover from
the fault within a relatively short time. To be specific, the
computer system to which the remote copying technology is applied
recovers from the fault by using the data stored in the second
storage system.
[0005] An identification control technology of a plurality of
volumes is disclosed in JP 2000-330924 A. A host computer
identifies two different volumes accessed through two different
paths as identical volumes. Accordingly, even when a fault occurs
in one of the paths, the host computer can access data by using the
other path.
SUMMARY
[0006] When one of the remote copying technology and the
identification control technology of the plurality of volumes is
used to write identical data in the two storage systems in a
computer system, the following problems occur in the computer
system.
[0007] In the computer system adopting the remote copying
technology, remote copying is carried out between the two storage
systems. Accordingly, the host computer cannot read the latest data
when it accesses the storage system of a copying destination during
the remote copying.
[0008] In the computer system adopting the identification control
technology of the plurality of volumes, the host computer
discretely accesses the two volumes identified as identical
volumes. Therefore, it is impossible to maintain data consistency
of the two volumes identified as identical volumes.
[0009] This invention has been made in view of the foregoing
problems, and has an object to provide a computer system in which
the latest data can be accessed regardless of which one of the two
storage systems is accessed.
[0010] According to an exemplary embodiment of this invention,
there is provided a computer system, comprising: one or more first
storage systems; one or more second storage systems; one or more
host computers connected to the first storage system and to the
second storage system through a network; and a management computer
capable of accessing the first storage system, the second storage
system, and the host computers, wherein: the first storage system
includes: a first interface connected to the network; a first
processor connected to the first interface, a first memory
connected to the first processor; and a first disk drive for
storing data requested to be written by the host computer; the
first storage system sets a storage area of the first disk drive as
one or more first volume; the first storage system misrepresents an
identifier of the storage system and an identifier of the first
volume to the host computer; the first storage system provides the
set first volume to the host computer, the second storage system
includes: a second interface connected to the network; a second
processor connected to the second interface; a second memory
connected to the second processor; and a second disk drive for
storing data requested to be written by the host computer; the
second storage system sets a storage area of the second disk drive
as one or more second volume; the second storage system
misrepresents an identifier of the storage system and an identifier
of the second volume as being identical to those misrepresented by
the first storage system to the host computer; the second storage
system provides the set second volume to the host computer; the
management computer includes: a third interface externally
connected; a third processor connected to the third interface; and
a third memory connected to the third processor; the host computer
includes: a fourth interface connected to the network; a fourth
processor connected to the fourth interface; and a fourth memory
connected to the fourth processor; the first processor copies data
of the first volume in the second volume; the second processor
copies data of the second volume in the first volume; the third
processor determines whether there is a match between the data of
the first volume and the data of the second volume; and if it is
determined that there is no match, the fourth processor accesses
only one of the first volume and the second volume that stores the
latest data.
[0011] According to the representative aspect of this invention,
the host computer can obtain the latest data by accessing either
one of the two storage systems.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The present invention can be appreciated by the description
which follows in conjunction with the following figures,
wherein:
[0013] FIG. 1 is a block diagram showing a configuration of a
computer system according to a first embodiment of this
invention;
[0014] FIG. 2 is an explanatory diagram showing an ID
misrepresentation process performed by the storage system according
to the first embodiment of this invention;
[0015] FIG. 3 is an explanatory diagram showing the bi-directional
synchronous copy process performed by the storage systems according
to the first embodiment of this invention;
[0016] FIG. 4 is an explanatory diagram showing a volume access
control process performed by the storage system according to the
first embodiment of this invention;
[0017] FIG. 5 is a diagram showing a structure of the ID
misrepresentation management table stored in the management
computer according to the first embodiment of this invention;
[0018] FIG. 6 is a diagram showing a structure of the copy
information table stored in the management computer according to
the first embodiment of this invention;
[0019] FIG. 7 is a diagram showing a structure of the storage
information table stored in the management computer according to
the first embodiment of this invention;
[0020] FIG. 8 is a diagram showing a structure of the path group
management table stored in the management computer according to the
first embodiment of this invention;
[0021] FIG. 9 is a diagram showing a structure of the path
definition table stored in the host computer according to the first
embodiment of this invention;
[0022] FIG. 10 is a diagram showing a structure of the copy pair
management information stored in the storage system according to
the first embodiment of this invention;
[0023] FIG. 11 is a diagram showing a structure of the volume
management information stored in the storage system according to
the first embodiment of this invention;
[0024] FIG. 12 is a diagram showing a structure of the ID
misrepresentation management information stored in the storage
system according to the first embodiment of this invention;
[0025] FIG. 13 is an explanatory diagram of an I/O request
according to the first embodiment of this invention;
[0026] FIG. 14 is an explanatory diagram showing the data transfer
frame according to the first embodiment of this invention;
[0027] FIG. 15 is a flowchart showing an initial setting process of
the computer system according to the first embodiment of this
invention;
[0028] FIG. 16 is a flowchart showing the initial copy process
executed by the storage system according to the first embodiment of
this invention;
[0029] FIG. 17 is a flowchart of a bi-directional synchronous copy
process executed by the storage system according to the first
embodiment of this invention;
[0030] FIG. 18 is a flowchart showing the first access control
process before the completion of the initial copy executed by the
management computer according to the first embodiment of this
invention;
[0031] FIG. 19 is a flowchart showing the second access control
process before the completion of the initial copy executed by the
management computer according to the first embodiment of this
invention;
[0032] FIG. 20 is a flowchart showing the access control process
when bi-directional synchronous copy is suspended based on an
instruction from the management computer according to the first
embodiment of this invention;
[0033] FIG. 21 is a flowchart showing the access control process
when bi-directional synchronous copy is resumed based on the
instruction from the management computer according to the first
embodiment of this invention;
[0034] FIG. 22 is a flowchart showing the access control process
when the bi-directional synchronous copy is suspended based on the
instruction from the storage system according to the first
embodiment of this invention;
[0035] FIG. 23 is a flowchart showing an I/O request process
executed by the storage system according to the second embodiment
of this invention;
[0036] FIG. 24 is a block diagram showing a configuration of a
computer system according to the third embodiment of this
invention;
[0037] FIG. 25 is an explanatory diagram of the external volume
conversion table and the external storage information table
according to the third embodiment of this invention;
[0038] FIG. 26 is a flowchart of a bi-directional cache copy
process executed by the storage system according to the third
embodiment of this invention; and
[0039] FIG. 27 is a flowchart showing a data destaging process
executed by the storage system according to the third embodiment of
this invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0040] The preferred embodiments of this invention will be
described below with reference to the drawings.
First Embodiment
[0041] FIG. 1 is a block diagram showing a configuration of a
computer system according to a first embodiment of this
invention.
[0042] The computer system includes a management computer 100, a
host computer 200, a storage system 300, and a management terminal
1600.
[0043] There are one management computer 100 and one host computer
200 shown in the drawing, but the numbers thereof are not limited
to one. Two storage systems 300 are shown, but the number thereof
is not limited to two.
[0044] The management computer 100, the host computer 200, the
storage system 300, and the management terminal 1600 are
interconnected through a data communication line 510. The host
computer 200 is connected to the storage system 300 and the
management terminal 1600 through a device control line 550.
[0045] The management computer 100 includes a memory 110, a
processor 120, and an I/O processing unit 130. The memory 110, the
processor 120, and the I/O processing unit 130 are interconnected
through an internal network (not shown).
[0046] The processor 120 performs various processes by executing
programs stored in the memory 110. For example, the processor 120
transmits an I/O request to the storage system 300 to thereby
control remote copying executed by the storage system 300. The I/O
request includes a writing request, a reading request, and a
remote-copying control request. The I/O request will be described
below in detail with reference to FIG. 13.
[0047] The memory 110 stores the programs to be executed by the
processor 120, and information or the like to be required by the
processor 120. To be specific, the memory 110 stores an ID
misrepresentation management table 111, a storage management
program 112, a copy information table 113, a storage information
table 114, and a path group management table 117. The memory 110
may further store an operating system (OS) and an application
program (AP).
[0048] The storage management program 112 manages the storage
system 300 connected through the device control line 550.
[0049] The ID misrepresentation management table 111 contains
information for managing a logical volume in which a storage ID and
a logical volume ID are misrepresented. The ID misrepresentation
management table 111 will be described below in detail with
reference to FIG. 5. The logical volume of the misrepresented
storage ID and logical volume ID will be described below in detail
with reference to FIG. 2.
[0050] The copy information table 113 contains information for
managing a configuration and a status of a bi-directional
synchronous copy. Accordingly, the memory 110 stores copy
information tables 113 as many as the bi-directional synchronous
copies managed by the management computer 100. The copy information
table 113 will be described below in detail with reference to FIG.
6. The bi-directional synchronous copy will be described below in
detail with reference to FIG. 3.
[0051] The storage information table 114 contains information
regarding the storage system 300 managed by the management computer
100. The storage information table 114 will be described below in
detail with reference to FIG. 7.
[0052] The path group management table 117 contains information for
managing a path, over which the host computer 200 accesses a
logical volume of the storage system 300. The path group management
table 117 will be described below in detail with reference to FIG.
8.
[0053] The I/O processing unit 130 is an interface connected to the
host computer 200 and to the storage system 300 through the data
communication line 510.
[0054] The host computer 200 includes a memory 210, a processor
220, and an I/O processing unit 230.
[0055] The memory 210, the processor 220, and the I/O processing
unit 230 are interconnected through an internal network (not
shown).
[0056] The processor 220 performs various processes by executing
programs stored in the memory 210. For example, the processor 220
transmits an I/O request to the storage system 300 to thereby
access a logical volume supplied from the storage system 300.
[0057] The memory 210 stores the programs to be executed by the
processor 220, and information or the like to be required by the
processor 220. To be specific, the memory 210 stores an application
program (AP) 211, an OS 212, an agent program 213, a path control
program 214, and a path definition table 215.
[0058] The AP 211 executes various processes. For example, the AP
211 provides a database function or a WEB server function. The OS
212 controls the entire process of the host computer 200.
[0059] The agent program 213 receives an instruction from the
management computer 100. The path control program 214 controls a
path used for accessing the logical volume of the storage system
300. The path control program 214 controls the path by referring to
the path definition table 215.
[0060] The path definition table 215 contains information regarding
the path used for accessing the logical volume of the storage
system 300. The path definition table 215 will be described below
in detail with reference to FIG. 9.
[0061] The I/O processing unit 230 is an interface connected to the
management computer 100 and to the storage system 300 through the
data communication line 510. To be specific, the I/O processing
unit 230 transmits an I/O request to the storage system 300.
[0062] The storage system 300 includes a storage controller 1000
and a disk drive 1500.
[0063] The disk drive 1500 stores data requested to be written by
the host computer 200.
[0064] The storage controller 1000 controls the entire storage
system 300. To be specific, the storage controller 1000 controls
data writing in the disk drive 1500 and data reading from the disk
drive 1500. The storage controller 1000 supplies a storage area of
the disk drive 1500 as one or more logical volumes to the host
computer 200. At this time, the storage controller 1000
misrepresents a storage ID and a logical volume ID to supply a
logical volume to the host computer 200.
[0065] The storage controller 1000 includes a cache memory 1100, a
shared memory 1200, an I/O controller 1300, and a disk controller
1400.
[0066] The cache memory 1100, the shared memory 1200, the I/O
controller 1300, and the disk controller 1400 are interconnected
through an internal network (not shown).
[0067] The cache memory 1100 temporarily stores data written in the
disk drive 1500 and data read from the disk drive 1500.
[0068] The disk controller 1400 controls the data writing in the
disk drive 1500 and the data reading from the disk drive 1500.
[0069] The I/O controller 1300 includes a processor 1310, an I/O
transmission/reception unit 1320, and a memory 1330. The processor
1310, the I/O transmission/reception unit 1320, and the memory 1330
are interconnected through an internal network (not shown).
[0070] The I/O transmission/reception unit 1320 is an interface
connected to the management computer 100, the host computer 200,
and the other storage system 300 through the data communication
line 510. To be specific, the I/O transmission/reception unit 1320
receives the I/O request from the management computer 100 or from
the host computer 200. The I/O transmission/reception unit 1320
transmits the data read from the disk drive 1500 to the management
computer 100 or the host computer 200. Further, the I/O
transmission/reception unit 1320 transmits/receives data exchanged
between the storage systems 300.
[0071] The processor 1310 performs various processes by executing
programs stored in the memory 1330 or the shaped memory 1200. To be
specific, the processor 1310 processes the I/O request received by
the I/O transmission/reception unit 1320.
[0072] The memory 1330 stores the programs to be executed by the
processor 1310, and information or the like to be required by the
processor 1310.
[0073] The shared memory 1200 stores the programs to be executed by
the processor 1310, and information or the like to be required by
the processor 1310. The shared memory 1200 stores programs to be
executed by the disk controller 1400, and information or the like
to be required by the disk controller 1400. To be specific, the
shared memory 1200 stores copy pair management information 1210, an
ID misrepresentation program 1220, a copy process program 1230,
volume management information 1250, ID misrepresentation management
information 1270, and an input/output process program 1290.
[0074] The copy pair management information 1210 is for managing a
copy pair including the logical volume supplied from the storage
system 300. The copy pair is constituted of two logical volumes
targeted for bi-directional synchronous copy. The bi-directional
synchronous copy will be described below in detail with reference
to FIG. 3. The copy pair management information 1210 will be
described below in detail with reference to FIG. 10.
[0075] The ID misrepresentation program 1220 misrepresents a
storage ID and a logical volume ID, and supplies a logical volume
to the host computer 200. The copy process program 1230 executes
initial copy and bi-directional synchronous copy. The input/output
process program 1290 processes the I/O request received by the I/O
transmission/reception unit 1320.
[0076] The volume management information 1250 is for managing the
logical volume supplied from the storage system 300. The volume
management information 1250 will be described below in detail with
reference to FIG. 11.
[0077] The ID misrepresentation management information 1270 is for
misrepresenting the storage ID and the logical volume ID when the
logical volume is supplied to the host computer 200. The ID
misrepresentation management information 1270 will be described
below in detail with reference to FIG. 12.
[0078] The management terminal 1600 is connected to the storage
controller 1000 disposed in the storage system 300. The management
terminal 1600 is a computer equipped with a processor, a memory,
and an interface. The management terminal 1600 transmits
information input by a system user to the storage controller 1000
of the storage system 300.
[0079] Next, an outline of a process according to the first
embodiment of this invention will be described.
[0080] FIG. 2 is an explanatory diagram showing an ID
misrepresentation process performed by the storage system 300
according to the first embodiment of this invention.
[0081] The storage system 300 misrepresents a storage ID and a
logical volume ID to supply a logical volume to the host computer
200.
[0082] For example, a storage system 300A supplies a logical volume
1001 as logical volume identified by a logical volume ID "Vol3" in
a virtual storage system identified by a storage ID "SN-c" to the
host computer 200.
[0083] A storage system 300B supplies a logical volume 1002 as a
logical volume identified by a logical volume ID "Vol3" in a
virtual storage system identified by a storage ID "SN-c" to the
host computer 200.
[0084] The host computer 200 accesses the logical volume 1001 of
the storage system 300A by using a path 500A. The host computer 200
accesses the logical volume 1002 of the storage system 300B by
using a path 500B.
[0085] The host computer 200 identifies a logical volume based on a
storage ID and a logical volume ID. Accordingly, the host computer
200 identifies the logical volume 1001 of the storage system 300A
and the logical volume 1002 of the storage system 300B as identical
logical volumes.
[0086] As an example, description will be made of a case where the
host computer 200 accesses the logical volume identified by the
logical volume ID "Vol3" in the virtual storage system identified
by the storage ID "SN-c".
[0087] In this case, the host computer 200 accesses the logical
volume by equally using the path 500A and the path 500B. In other
words, the host computer 200 equally accesses the logical volume
1001 of the storage system 300A and the logical volume 1002 of the
storage system 300B.
[0088] However, when data is written in one logical volume by using
a plurality of paths, the host computer 200 does not write any
subsequent data until writing of one data is completed.
[0089] FIG. 3 is an explanatory diagram showing the bi-directional
synchronous copy process performed by the storage systems 300
according to the first embodiment of this invention.
[0090] Each of the storage systems 300 executes bi-directional
synchronous copy upon writing of data requested to be written by
the host computer 200 in a logical volume. Accordingly, the storage
systems 300 have consistency of data stored in two logical volumes
identified as identical logical volumes by the host computer
200.
[0091] As an example, description will be made of a case where the
host computer 200 transmits a writing request 501 to the storage
system 300A through the path 500A. The writing request 501 requests
writing of data in the logical volume 1001 of the storage system
300A.
[0092] The storage system 300A receives the writing request 501
from the host computer 200. Then, the storage system 300A writes
write data contained in the received writing request 501 in the
logical volume 1001.
[0093] The storage system 300A copies in synchronization the write
data 502 contained in the writing request 501 in the logical volume
1002 of the storage system 300B.
[0094] Here, the synchronous copying process performed by the
storage system 300A will be described. The storage system 300A
remote-copies the write data 502 contained in the writing request
501 in the logical volume 1002 of the storage system 300B. To be
specific, the storage system 300A executes remote-copying by
transmitting a data transfer frame containing the write data 502.
The data transfer frame will be described below in detail with
reference to FIG. 14. Upon completion of the remote-copying of the
write data 502, the storage system 300A notifies the host computer
200 of the completion of processing the writing request 501.
[0095] Next, description will be made of a case where the host
computer 200 transmits a writing request to the storage system 300B
through the path 500B. The writing request requests data writing in
the logical volume 1002 of the storage system 300B.
[0096] The storage system 300B receives the writing request from
the host computer 200. Then, the storage system 300B writes write
data contained in the received writing request in the logical
volume 1002. Further, the storage system 300B remote-copies the
write data contained in the writing request in the logical volume
1001 of the storage system 300A. Upon completion of the
remote-copying of the write data, the storage system 300B notifies
the host computer 200 of the completion of processing the writing
request.
[0097] Thus, the storage system 300A and the storage system 300B
execute the bi-directional synchronous copy upon reception of the
data writing requests. The synchronous copying executed in two-way
is bi-directional synchronous copy.
[0098] As a result, the data stored in the logical volume 1001 of
the storage system 300A matches the data stored in the logical
volume 1002 of the storage system 300B.
[0099] According to this embodiment, the host computer 200 does not
transmit a next writing request 503 to the storage system 300
unless notification of the completion of processing the writing
request 501 is given. In other words, the host computer 200
sequentially issues writing requests with respect to one logical
volume. Thus, the host computer 200 can maintain the sequence of
data writing in the identical logical volumes.
[0100] In other words, the host computer 200 does not
simultaneously access the two logical volumes identified as
identical logical volumes. In this explanatory diagram, the host
computer 200 does not simultaneously access the logical volume 1001
of the storage system 300A and the logical volume 1002 of the
storage system 300B.
[0101] As described above, according to this embodiment, the host
computer 200 accesses a logical volume by using a plurality of
paths 500. Hence, the host computer 200 can obtain the same data
regardless of which one of the plurality of paths 500 is used for
accessing the logical volume.
[0102] On the other hand, when bi-directional synchronous copy is
not executed, the data stored in the logical volume 1001 of the
storage system 300A does not match the data stored in the logical
volume 1002 of the storage system 300B. In this case, data obtained
by the host computer 200 varies depending on a path used for
accessing the logical volume.
[0103] FIG. 4 is an explanatory diagram showing a volume access
control process performed by the storage system 300 according to
the first embodiment of this invention.
[0104] According to this embodiment, the host computer 200 executes
volume access control so as to always access the latest data alone.
To be specific, when pieces of data of two logical volumes
identified as identical logical volumes do not match each other,
the host computer 200 accesses only one of the logical volumes that
stores the latest data.
[0105] Three situations are conceivable where pieces of data in two
logical volumes identified as identical logical volumes do not
match each other.
[0106] The first situation occurs in the process of initial copy.
The initial copy is a process executed immediately after a running
start of the computer system in which bi-directional synchronous
copy is executed. To be specific, the storage system 300 initially
copies data of a logical volume being run in a logical volume of
the other storage system 300. The initial copy process will be
described below in detail with reference to FIG. 16.
[0107] During the initial copy, the host computer 200 suspends
access to a logical volume of a copying destination (secondary
volume). To be specific, the host computer 200 deactivates a path
used for accessing the secondary volume by using a path control
program 214, for not all the data is reflected in the secondary
volume.
[0108] In this explanatory diagram, the storage system 300A
initially copies data stored in a logical volume (primary volume)
1001 in a logical volume (secondary volume) 1002 of the storage
system 300B.
[0109] During the initial copy, the host computer 200 suspends
access to the logical volume 1002 of the storage system 300B. To be
specific, the host computer 200 deactivates the path 500B used for
accessing the logical volume 1002.
[0110] Accordingly, during the initial copy, the host computer 200
accesses the logical volume 1001 of the storage system 300A by
using the path 500A which is not deactivated. In other words, the
host computer 200 can access the latest date even during the
initial copy.
[0111] A second situation occurs in the process of suspending
bi-directional synchronous copy in accordance with an instruction
from the management computer 100. The management computer 100 gives
the host computer 200 an instruction for suspending access to one
of the two logical volumes identified as identical logical volumes
before giving the storage system 300 an instruction for suspending
bi-directional synchronous copy.
[0112] Then, the host computer 200 suspends access to a requested
logical volume. To be specific, the host computer 200 deactivates a
path used for accessing the logical volume by using the path
control program 214.
[0113] Subsequently, the management computer 100 gives the storage
system 300 an instruction for suspending bi-directional synchronous
copy. Upon reception of the instruction, the storage system 300
suspends the bi-directional synchronous copy.
[0114] Thus, the host computer 200 can access the latest data even
when the bi-directional synchronous copy is suspended based on the
instruction given by the management computer 100.
[0115] A third situation occurs when a fault occurs in the process
of the bi-directional synchronous copy. It is presumed that a fault
including a line trouble occurs during the bi-directional
synchronous copy executed by the storage system 300.
[0116] The storage system 300 detects the fault. The storage system
300 that supplies one of the two logical volumes identified as
identical logical volumes requests the host computer 200 to suspend
access to the logical volumes. To be specific, upon reception of an
I/O request for the logical volume, the storage system 300 notifies
the host computer 200 of the path fault.
[0117] Upon reception of the notification of the path fault, the
host computer 200 accesses the logical volume by using any path
other than the fault-notified path.
[0118] Thus, the host computer 200 can access the latest data even
when a fault occurs during the bi-directional synchronous copy.
[0119] FIG. 5 is a diagram showing a structure of the ID
misrepresentation management table 111 stored in the management
computer 100 according to the first embodiment of this
invention.
[0120] The ID misrepresentation management table 111 contains copy
information 1111, copy status information 1112, and ID
misrepresentation information.
[0121] The copy information 1111 includes a copy type and copy
option information.
[0122] The copy type indicates which one of synchronous copying,
asynchronous copying, bi-directional synchronous copy, and
bi-directional asynchronous copy is executed for the logical volume
managed by the ID misrepresentation management table 111. In this
embodiment, the synchronous copying is stored as the copy type.
[0123] The copy option information indicates whether it is possible
to write data in a logical volume identified by a secondary volume
ID 1116 during suspension of the bi-directional synchronous copy.
The suspension of the bi-directional synchronous copy means
suspension of the bi-directional synchronous copy based on an
instruction given by the management computer 100.
[0124] The copy status information 1112 indicates a current copying
status in the logical volume managed by the ID misrepresentation
management table 111. To be specific, the copy status information
1112 indicates which one of an initial copy status, a suspension
status, a pair status, and an abnormal status corresponds to the
copying status in the logical volume.
[0125] If the initial copy status is stored in the copy status
information 1112, initial copy is being executed from a logical
volume identified by a primary volume ID 1114 to a logical volume
identified by a secondary volume ID 1116.
[0126] If the suspension status is stored in the copy status
information 1112, the storage system 300 suspends the
bi-directional synchronous copy. Thus, data of the logical volume
identified by the primary volume ID 1114 does not match data of the
logical volume identified by the secondary volume ID 1116.
[0127] If the pair status is stored in the copy status information
1112, data stored in the logical volume identified by the primary
volume ID 1114 and data stored in the logical volume identified by
the secondary volume ID 1116 are identical.
[0128] If the abnormal status is stored in the copy status
information 1112, there is a fault in the line, the disk drive, or
the like. Accordingly, the storage systems 300 cannot execute
bi-directional synchronous copy.
[0129] The ID misrepresentation information includes a primary
storage ID 1113, a primary volume ID 1114, a secondary storage ID
1115, a secondary volume ID 1116, a storage ID 1117 supplied to a
host, and a volume ID 1118 supplied to the host.
[0130] The primary storage ID 1113 is a unique identifier of a
storage system (primary storage system) 300 which supplies a
logical volume of a copying source in initial copy. The primary
volume ID 1114 is a unique identifier of the logical volume
(primary volume) of the copying source in the initial copy.
[0131] The secondary storage ID 1115 is a unique identifier of a
storage system (secondary storage system) 300 which supplies a
logical volume of a copying destination in the initial copy. The
secondary volume ID 1116 is a unique identifier of the logical
volume (secondary volume) of the copying destination in the initial
copy.
[0132] The storage ID 1117 supplied to the host is an identifier
which enables the host computer 200 to identify the storage system
30 equipped with a primary volume and the storage system 30
equipped with a secondary volume.
[0133] The storage system 300 identified by the primary storage ID
1113 misrepresents its own identifier as the storage ID 1117
supplied to the host, and supplies the misrepresented identifier to
the host computer 200. Similarly, the storage system 300 identified
by the secondary storage ID 1115 misrepresents its own identifier
as the storage ID 1117 supplied to the host, and supplies the
misrepresented identifier to the host computer 200.
[0134] Accordingly, the host computer 200 identifies the storage
system 300 having the logical volume identified by the primary
volume ID 1114 and the storage system 300 having the logical volume
identified by the secondary volume ID 1116, based on the storage ID
1117 supplied to the host.
[0135] The volume ID 1118 supplied to the host is an identifier
which enables the host computer 200 to identify the primary volume
and the secondary volume.
[0136] The storage system 300 identified by the primary storage ID
1113 misrepresents an identifier of the logical volume identified
by the primary volume ID 1114 as the volume ID 1118 supplied to the
host, and supplies the logical volume to the host computer 200.
Similarly, the storage system 300 identified by the secondary
storage ID 1115 misrepresents an identifier of the logical volume
identified by the secondary volume ID 1115 as the volume ID 1118
supplied to the host, and supplies the logical volume to the host
computer 200.
[0137] Accordingly, the host computer 200 identifies the logical
volume identified by the primary volume ID 114 and the logical
volume identified by the secondary volume ID 1116, based on the
volume ID 1118 supplied to the host. As a result, the host computer
200 identifies the logical volumes identified by the primary volume
ID 1114 and the secondary volume ID 1116 as being identical.
[0138] FIG. 6 is a diagram showing a structure of the copy
information table 113 stored in the management computer 100
according to the first embodiment of this invention.
[0139] The copy information table 113 contains copy information
1131, copy status information 1132, and copy configuration
information.
[0140] The copy information 1131 includes a copy type and copy
option information. The copy type indicates which one of
synchronous copying and asynchronous copying corresponds to the
copying managed by the copy information table 113 is. The copy
option information indicates whether it is possible to write data
in the secondary volume during suspension of the bi-directional
synchronous copy. The suspension of the bi-directional synchronous
copy means suspension of the bi-directional synchronous copy based
on an instruction given by the management computer.
[0141] The copy status information 1132 indicates a current copying
status in the logical volume managed by the copy information table
113. To be specific, the copy status information 1132 indicates
which one of an initial copy status, a suspension status, a pair
status, and an abnormal status corresponds to the copying status
managed by the copy information table 113.
[0142] The copy configuration information includes a primary
storage ID 1133, a primary volume ID 1134, a secondary storage ID
1135, and a secondary volume ID 1136.
[0143] The primary storage ID, 1133 is a unique identifier of a
storage system (primary storage system) 300 which supplies a
logical volume of a copying source in initial copy. The primary
volume ID 1134 is a unique identifier of the logical volume
(primary volume) of the copying source in the initial copy.
[0144] The secondary storage ID 1135 is a unique identifier of a
storage system (secondary storage system) 300 which supplies a
logical volume of a copying destination in the initial copy. The
secondary volume ID 1136 is a unique identifier of the logical
volume (secondary volume) of the copying destination in the initial
copy.
[0145] FIG. 7 is a diagram showing a structure of the storage
information table 114 stored in the management computer 100
according to the first embodiment of this invention.
[0146] The storage information table 114 contains a storage ID 1141
and a logical volume ID 1142.
[0147] The storage ID 1141 is a unique identifier of a storage
system 300 managed by the management computer 100. The logical
volume ID 1142 is a unique identifier of the logical volume
supplied by the storage system 300 identified by storage ID
1141.
[0148] FIG. 8 is a diagram showing a structure of the path group
management table 117 stored in the management computer 100
according to the first embodiment of this invention.
[0149] The path group management table 117 contains information
regarding a primary path group and information regarding a
secondary path group.
[0150] The information regarding the primary path group contains a
primary path status 1171 and a primary path ID 1172.
[0151] The primary path ID 1172 is a unique identifier of a path
(primary path) used for accessing a primary volume. The primary
path status 1171 is a status of a path identified by the primary
path ID 1172. To be specific, the primary path status 1171
indicates whether a primary volume can be accessed or not by using
the path identified by the primary path ID 1172.
[0152] The information regarding the secondary path group contains
a secondary path status 1173 and a secondary path ID 1174.
[0153] The secondary path ID 1174 is a unique identifier of a path
(secondary path) used for accessing a secondary volume. The
secondary path status 1173 is a status of a path identified by the
secondary path ID 1174. To be specific, the secondary path status
1173 indicates whether a secondary volume can be accessed or not by
using the path identified by the secondary path ID 1174.
[0154] FIG. 9 is a diagram showing a structure of the path
definition table 215 stored in the host computer 200 according to
the first embodiment of this invention.
[0155] The path definition table 215 contains a storage ID 2151, a
logical volume ID 2152, a path ID 2153, and a valid bit 2154.
[0156] The storage ID 2151 is a unique identifier of a storage
system 300 that can be accessed by the host computer 200. The
storage ID 2151 stores a storage ID misrepresented by the storage
system 300.
[0157] The logical volume ID 2152 is a unique identifier of a
logical volume supplied by the host computer 200 identified by the
storage ID 2151. The logical volume ID 2152 stores a volume ID
misrepresented by the storage system 300 and supplied to the
host.
[0158] The path ID 2153 is a unique identifier of a path used for
accessing the logical volume identified by the logical volume ID
2152. The valid bit 2154 indicates whether a path identified by a
path ID 2153 of a relevant record is valid or not. In other words,
the valid bit 2154 indicates whether the path identified by the
path ID 2153 of the record is deactivateed or not.
[0159] FIG. 10 is a diagram showing a structure of the copy pair
management information 1210 stored in the storage system 300
according to the first embodiment of this invention.
[0160] The copy pair management information 1210 contains a logical
volume ID 12101, copy status information 12102, a copy target
storage ID 12103, a copy target volume ID 12104, a copy pair ID
12106, a copy group ID 12106, and a copy type 12107.
[0161] The logical volume ID 12101 is a unique identifier of a
logical volume supplied by the storage system 300 which stores the
copy pair management information 1210.
[0162] The copy status information 12102 indicates a current copy
status for the logical volume identified by the logical volume ID
12101. To be specific, the copy status information 12101 indicates
which one of a primary volume, a secondary volume, initial copy,
suspension, and an abnormality corresponds to the logical volume
identified by the logical volume ID 12101.
[0163] The copy target volume ID 12104 is a unique identifier of a
logical volume making a copy pair with the logical volume
identified by the logical volume ID 12101. In other words, the copy
target volume ID 12104 is a unique identifier of a logical volume
of a copying destination or a copying source of data stored in the
logical volume identified by the logical volume ID 12101.
[0164] The copy target storage ID 12103 is a unique identifier of a
storage system 300 which supplies the logical volume making the
copy pair with the logical volume identified by the logical volume
ID 12101. In other words, the copy target storage ID 12103 is a
unique identifier of the storage system 300 which supplies the
logical volume identified by the copy target volume ID 12104.
[0165] The copy pair ID 12105 is a unique identifier of the copy
pair which includes the logical volume identified by the logical
volume ID 12101 and the logical volume identified by the copy
target volume ID 12104.
[0166] The copy group ID 12106 is a unique identifier of a copy
group to which the copy pair identified by the copy pair ID 12105
belongs. The storage system 300 manages a copy group which includes
one or more copy pairs. Accordingly, the management computer 100
can designate a copy group to instruct suspension, resumption or
releasing of the operation of the bi-directional synchronous
copy.
[0167] The copy type 12107 is a copy type executed by the copy pair
identified by the copy pair ID 12105. To be specific, the copy type
12107 stores one selected from synchronous copying, asynchronous
copying, bi-directional synchronous copy, and bi-directional
asynchronous copy. The copy type 12107 of this embodiment stores
bi-directional synchronous copy.
[0168] FIG. 11 is a diagram showing a structure of the volume
management information 1250 stored in the storage system 300
according to the first embodiment of this invention.
[0169] The volume management information 1250 contains a logical
volume ID 12501, volume status information 12502, a capacity 12503,
a copy pair ID 12504, a copy group ID 12505, and a
misrepresentation bit 12506.
[0170] The logical volume ID 12101 is a unique identifier of a
logical volume supplied by the storage system 300 which stores the
volume management information 1250.
[0171] The volume status information 12502 indicates a current copy
status for the logical volume identified by the logical volume ID
12501. To be specific, the volume status information 12502 stores
one selected from primary volume, secondary volume, normal,
abnormal, ID misrepresent, and unused.
[0172] If the logical volume identified by the logical volume ID
12501 is a primary volume, "primary volume" is stored in the volume
status information 12502. If the logical volume identified by the
logical volume ID 12501 is a secondary volume, "secondary volume"
is stored in the volume status information 12502.
[0173] If the host computer 200 can normally access the logical
volume identified by the logical volume ID 12501, "normal" is
stored in the volume status information 12502. If the host computer
200 cannot normally access the logical volume identified by the
logical volume ID 12501, "abnormal" is stored in the volume status
information 12502. For example, when a fault occurs in the disk
drive 1500, in the initial copy, in the bi-directional synchronous
copy, or the like, "abnormal" is stored in the volume status
information 12502.
[0174] If the storage ID and the logical volume ID of the logical
volume identified by the logical volume ID 12501 are
misrepresented, "ID misrepresent" is stored in the volume status
information 12502.
[0175] If no data is stored in the logical volume identified by the
logical volume ID 12501, "unused" is stored in the volume status
information 12502.
[0176] A capacity 12503 is a capacity of the logical volume
identified by the logical volume ID 12501. The copy pair ID 12504
is a unique identifier of a copy pair including the logical volume
identified by the logical volume ID 12501.
[0177] The group ID 12505 is a unique identifier of a copy pair
identified by the copy pair ID 12504.
[0178] The misrepresentation bit 12506 indicates whether the
storage ID and the logical volume ID are misrepresented or not when
the logical volume identified by the logical volume ID 12501 is
supplied.
[0179] FIG. 12 is a diagram showing a structure of the ID
misrepresentation management information 1270 stored in the storage
system 300 according to the first embodiment of this invention.
[0180] The ID misrepresentation information 1270 contains a storage
ID 12701 supplied to the host, a volume ID 12702 supplied to the
host, and a logical volume ID 12703.
[0181] The storage ID 12701 supplied to the host is an identifier
which enables the host computer 200 to identify the storage system
300. In other words, the storage system 300 misrepresents its
identifier to the storage ID 12701 supplied to the host, and
supplies a logical volume to the host computer 200. Thus, the host
computer 200 identifies the storage system 300 based on the storage
ID 12701 supplied to the host.
[0182] The logical volume ID 12703 is a unique identifier of a
logical volume supplied by the storage system 300.
[0183] The volume ID 12704 supplied to the host is an identifier
which enables the host computer 200 to identify a logical volume
identified by a logical volume ID 12703 of a relevant record. In
other words, the storage system 300 misrepresents an identifier of
the logical volume to the volume ID 12704 supplied to the host, and
supplies the logical volume to the host computer 200. Accordingly,
the host computer 200 identifies the logical volume based on the
volume ID 12702 supplied to the host.
[0184] FIG. 13 is an explanatory diagram of an I/O request 7300
according to the first embodiment of this invention.
[0185] The I/O request 7300 is issued by the management computer
100 or the host computer 200.
[0186] The I/O request 7300 contains an address 73001, contents of
instruction 73002, a serial number 73003, a group ID 73004, and an
option 73005.
[0187] The address 73001 stores an identifier of a storage system
300 which becomes a transmission destination of the I/O request
7300, and an identifier of a logical volume. According to this
embodiment, the address 73001 stores a storage ID supplied to the
host, and a volume ID supplied to the host.
[0188] The contents of instruction 73002 are contents of a process
instructed by the I/O request 7300. For example, the contents of
instruction 73002 include a control instruction of remote-copying,
or a data access instruction. To be specific, stored as a control
instruction of remote-copying in the contents of instruction 73002
are a start, suspension, resumption, releasing, status acquisition,
or the like. Stored as a data access instruction in the contents of
instruction 73002 are writing or reading.
[0189] The serial number 73003 indicates the order in which the I/O
requests 7300 were issued. Thus, the serial number 73003 is decided
by the management computer 100 or the host computer 200 which is an
issuance source of the I/O request 7300.
[0190] The group 73004 is a unique identifier of a copy group which
is a target of processing to be performed by the I/O request
7300.
[0191] The option 73005 stores copy configuration information,
option information for assisting the I/O request 7300, data
requested to be written by the I/O request 7300, or the like. The
copy configuration information contains a copy type, a storage ID
of a copying destination, a logical volume ID of a copying
destination, a storage ID of a copying source, and a logical volume
ID of a copying source, and the like.
[0192] FIG. 14 is an explanatory diagram showing the data transfer
frame 1240 according to the first embodiment of this invention.
[0193] The storage system 300 having a logical volume of a copying
source transmits the data transfer frame 1240 to the storage system
300 having a logical volume of a copying destination. The storage
system 300 executes initial copy and synchronous copying by
transmitting/receiving the data transfer frame 1240. To be
specific, the data transfer frame 1240 contains a logical volume ID
12401, a block address 12402, a transfer data length 12403,
transfer data 12404, a serial number 12405, and a transfer
destination storage ID 12406.
[0194] The logical volume ID 12401 is a unique identifier of a
logical volume which stores the transfer data 12404 contained in
the transfer frame 1240. In other words, the logical volume ID
12401 is a unique identifier of a logical volume which becomes a
copying destination of the transfer data 12404 contained in the
transfer frame 1240.
[0195] The block address 12402 is a unique identifier of a block
which stores the transfer data 12404 contained in the transfer
frame 1240. The transfer data length 12403 is a size of the
transfer data 12404 contained in the transfer frame 1240.
[0196] The transfer data 12404 is data transferred by the data
transfer frame 1240. The serial number 12405 indicates the order in
which the transfer frames 1240 were created.
[0197] The transfer destination storage ID 12406 is a unique
identifier of the storage system 300 which becomes a transmission
destination of the transfer frame 1240.
[0198] FIG. 15 is a flowchart showing an initial setting process of
the computer system according to the first embodiment of this
invention.
[0199] A user inputs an instruction of ID misrepresentation of a
logical volume which is a bi-directional synchronous copy operation
target to the management terminal 1600. At this time, the user
designates a logical volume ID of the logical volume which is the
bi-directional synchronous copy operation target. Additionally, the
user designates a storage ID supplied to the host and a volume ID
supplied to the host which are used when the logical volume is
supplied. Then, an ID misrepresentation request containing the
logical volume ID, the storage ID supplied to the host, and the
volume ID supplied to the host, which have been designated, are
transmitted by the management terminal 1600 to the storage
controller 1000 of the storage system 300.
[0200] The storage controller 1000 receives the ID
misrepresentation request from the management terminal 1600. Then,
the storage controller 1000 extracts, from the received ID
misrepresentation request, the logical volume ID, the storage ID
supplied to the host, and the volume ID supplied to the host.
[0201] Next, the storage controller 1000 updates the ID
misrepresentation management information 12703 based on the
extracted information. To be specific, the extracted storage ID
supplied to the host is stored in the storage ID 12701 supplied to
the host in the ID misrepresentation management information 1270,
by the storage controller 1000. Then, the extracted volume ID
supplied to the host is stored in the volume ID 12702 supplied to
the host in the ID misrepresentation management information 1270,
by the storage controller 1000. Further, the extracted logical
volume ID is stored in the logical volume ID 12703 of the ID
misrepresentation management-information 1270, by the storage
controller 1000.
[0202] Subsequently, the storage controller 1000 misrepresents the
ID of the logical volume by executing an ID misrepresentation
program 1220 (5000). Thus, the host computer 200 can access the
logical volume by using the storage ID supplied to the host and the
volume ID supplied to the host. However, at this point in time, the
storage controller 1000 prohibits the host computer 200 from
accessing the ID-misrepresented logical volume.
[0203] According to this embodiment, the same storage ID supplied
to the host and the same volume ID supplied to the host are given
to the two logical volumes which become bi-directional synchronous
copy targets. Thus, the host computer 200 recognizes the two
logical volumes of the bi-directional synchronous copy targets as
one logical volume.
[0204] Next, the user inputs a bi-directional synchronous copy
definition to the management computer 100. The bi-directional
synchronous copy definition is information stored in the copy
information table 113. To be specific, the bi-directional
synchronous copy definition contains a copy type, a primary storage
ID, a primary volume ID, a secondary storage ID, and a secondary
volume ID. Then, the management computer 100 creates a copy
information table 113 based on the input bi-directional synchronous
copy definition (5010).
[0205] According to this embodiment, the management computer 100
stores the bi-directional synchronous copy in copy information 1131
of the copy information table 113. Then an identifier of a logical
volume (primary volume) of a copying source in initial copy is
stored in a primary volume ID 1134 of the copy information table
113 by the management computer 100. The primary volume stores the
latest data during the initial copy. A unique identifier of the
storage system (primary storage system) 300 which supplies a
logical volume identified by the primary volume ID 1134 is stored
in a primary storage ID 1133 of the copy information table 113 by
the management computer 100.
[0206] Next, an identifier of a logical volume (secondary volume)
of a copying destination in the initial copy is stored in a
secondary volume ID 1136 of the copy information table 113 by the
management computer 100. A unique identifier of the storage system
(secondary storage system) 300 which supplies a logical volume
identified by the secondary volume ID 1136 is stored in a secondary
storage ID 1135 of the copy information table 113 by the management
computer 100.
[0207] Next, the user inputs a path definition to the management
computer 100. The path definition is information stored in the path
group management table 117. The management computer 100 creates a
path group management table 117 based on the input path definition
(5020).
[0208] To be specific, an identifier of a path (primary path) used
for accessing a primary volume is stored in a primary path ID 1172
of the path group management table 117 by the management computer
100. The management computer 100 stores "access prohibited" in a
primary path status 1171 of the path group management table 117 as
access to the primary volume is not permitted at this time.
[0209] An identifier of a path (secondary path) used for accessing
a secondary volume is stored in a secondary path ID 1174 of the
path group management table 117 by the management computer 100. The
management computer 100 stores "access prohibited" in a secondary
path status 1173 of the path group management table 117 as access
to the secondary volume is not permitted at this time.
[0210] Next, the management computer 100 transmits an I/O request
7300 for instructing a start of bi-directional synchronous copy to
the primary storage system 300 identified by the primary storage ID
1133 of the copy information table 113 (5030). An option 73005 of
the I/O request 7300 stores copy configuration information. The
copy configuration information contains a copy type, a storage ID
of a copying destination, a logical volume ID of the copying
destination, a storage ID of a copying source, a logical volume of
a copying source, and copy group ID to which a copy pair
belongs.
[0211] In this case, the copy type is bi-directional synchronous
copy. The storage ID of the copying destination is an identifier of
the secondary storage system 300. The logical volume ID of the
copying destination is an identifier of the secondary volume. The
storage ID of the copying source is an identifier of the primary
storage system 300. The logical volume ID of the copying source is
an identifier of the primary volume.
[0212] Upon reception of the I/O request 7300 for instructing a
start of bi-directional synchronous copy, the primary storage
system 300 starts an initial copy process. The initial copy process
executed by the storage system 300 will be described below in
detail with reference to FIG. 16.
[0213] Then, the host computer finishes the initial setting
process.
[0214] FIG. 16 is a flowchart showing the initial copy process
executed by the storage system 300 according to the first
embodiment of this invention.
[0215] Upon reception of the I/O request for instructing a start of
bi-directional synchronous copy, the I/O controller 1300 of the
primary storage system 300 starts an initial copy process.
[0216] First, the I/O controller 1300 of the primary storage system
300 extracts copy configuration information from the option 73005
of the received I/O request 7300 (7000).
[0217] Then, the I/O controller 1300 of the primary storage system
300 creates copy pair management information 1210 based on the
extracted copy configuration information (7010).
[0218] To be specific, the I/O controller 1300 of the primary
storage system 300 stores "ongoing initial copy" in copy status
information 1202 of the copy pair management information 1210. The
I/O controller 1300 of the primary storage system 300 stores a
logical volume ID of a copying source contained in the extracted
copy configuration information in a logical volume ID 12101 of the
copy pair management information 1210.
[0219] Next, a storage ID of a copying destination contained in the
extracted copy configuration information is stored in a copy target
storage ID 12103 of the copy pair management information 1210 by
the I/O controller 1300 of the primary storage system 300. A
logical volume of the copying destination contained in the
extracted copy configuration information is stored in a copy target
volume ID 12104 of the copy pair management information 1210 by the
I/O controller 1300 of the primary storage system 300.
[0220] The I/O controller 1300 of the primary storage system 300
stores a unique value in a copy pair ID 12105 of the copy pair
management information 1210. A copy group ID contained in the
extracted copy configuration information is stored in a copy group
ID 12106 of the copy pair management information 1210 by the I/O
controller 1300 of the primary storage system 300. A copy type
contained in the extracted copy configuration information is stored
in a copy type 12107 of the copy pair management information 1210
by the I/O controller 1300 of the primary storage system 300.
[0221] Next, the I/O controller 1300 of the primary storage system
300 instructs a start of an initial copy process to a disk
controller 1400 of the primary storage system 300 (7020).
[0222] Then, the disk controller 1400 of the primary storage system
300 reads data from a logical volume identified by the logical
volume ID 12101 of the copy pair management information 1210. The
disk controller 1400 of the primary storage system 300 stores the
read data in a cache memory 1100 (7030).
[0223] The disk controller 1400 of the primary storage system 300
notifies the I/O controller 1300 of the primary storage system 300
of an address of a block from which the data has been read, a data
length of the read data, and an address in the cache memory in
which the data has been stored.
[0224] Then, the I/O controller 1300 of the primary storage system
300 creates a data transfer frame 1240 (shown in FIG. 14) based on
the information notified by the disk controller 1400 of the primary
storage system 300 and on the copy pair management information
1210.
[0225] To be specific, the I/O controller 1300 of the primary
storage system 300 stores a copy target storage ID 12103 of the
copy pair management information 1210 in a logical volume ID 12401
of the data transfer frame 1240. Then, the block address notified
by the disk controller 1400 is stored in a block address 12402 of
the data transfer frame 1240 by the I/O controller 1300 of the
primary storage system 300.
[0226] Next, the data length notified by the disk controller 1400
is stored in a transfer data length 12403 of the data transfer
frame 1240 by the I/O controller 1300 of the primary storage system
300. Then, a part or all of the data stored in the cache memory
1100 is stored in transfer data 12404 of the data transfer frame
1240 by the I/O controller 1300 of the primary storage system
300.
[0227] The I/O controller 1300 of the primary storage system 300
stores a creating sequence of the data transfer frames 1240 in the
initial copy in the serial number 12405 of the data transfer frame
1240. The I/O controller 1300 of the primary storage system 300
stores the copy target storage ID 12103 of the copy pair management
information 1210 in the transfer destination storage ID 12406 of
the data transfer frame 1240.
[0228] The I/O controller 1300 of the primary storage system 300
transmits the created data transfer frame 1240 to the secondary
storage system 300 (7040).
[0229] Then, the I/O controller 1300 of the secondary storage
system 300 receives the data transfer frame 1240. The I/O
controller 1300 of the secondary storage system 300 generates copy
pair management information 1210 based on the received data
transfer frame 1240 or the like (7050).
[0230] To be specific, the I/O controller 1300 of the secondary
storage system 300 stores a logical volume ID 12401 of the received
data transfer frame 1240 in the logical volume ID 12101 of the copy
pair management information 1210. The I/O controller 1300 of the
secondary storage system 300 stores "ongoing initial copy" in the
copy status information 12102 of the copy pair management
information 1210.
[0231] The I/O controller 1300 of the secondary storage system 300
stores an identifier of the primary storage system 300 which is a
transmission source of the received data transfer frame 1240 in the
copy target storage ID 12103 of the copy pair management
information 1210. The I/O controller 1300 of the secondary storage
system 300 stores an identifier of a primary volume in which the
transfer data 12404 of the data transfer frame 1240 is stored in
the copy target volume ID 12104 of the copy pair management
information 1210.
[0232] The I/O controller 1300 of the secondary storage system 300
stores "bi-directional synchronous copy" in the copy type 12107 of
the copy pair management information 1210.
[0233] The I/O controller 1300 of the secondary storage system 300
writes the transfer data 12404 of the data transfer fame 1240 in a
logical volume identified by the logical volume ID 12401 of the
data transfer frame 1240 (7060).
[0234] The primary storage system 300 and the secondary storage
system 300 store all data of the primary volume in the secondary
volume by repeatedly executing the steps 7030 to 7060.
[0235] Then, the primary storage system 300 and the secondary
storage system 300 finish the initial copy process. Upon the end of
the initial copy, the primary storage system 300 stores "primary
volume" in the copy status information 12102 of the copy pair
management information 1210. The secondary storage system 300
stores "secondary volume" in the copy status information 12102 of
the copy pair management information 1210.
[0236] FIG. 17 is a flowchart of a bi-directional synchronous copy
process executed by the storage system 300 according to the first
embodiment of this invention.
[0237] Upon the end of the initial copy process, the storage system
300 starts a bi-directional synchronous copy operation. In other
words, the storage system 300 starts the bi-directional synchronous
copy operation after data of the primary volume and the secondary
volume match each other.
[0238] To be specific, upon reception of a writing request after
the end of the initial copy process, the storage system 300
executes the bi-directional synchronous copy process. For example,
after writing of data in the primary volume, the primary storage
system 300 writes the write data in the secondary volume.
Similarly, after writing of data in the secondary volume, the
secondary storage system 300 writes the write data in the primary
volume.
[0239] It should be noted that for the bi-directional synchronous
copy process, one storage system 300 can be a copying source or a
copying destination. According to this embodiment, the storage
system 300 that has received the I/O request from the host computer
200 is set as a storage system 300 of a copying source. Another
storage system 300 is then set as a storage system 300 of a copying
destination.
[0240] The storage system 300 of the copying source receives the
I/O request 7300. The I/O request 7300 is a writing request. Then,
the storage system 300 of the copying source extracts data (write
data) requested to be written from the option 73005 of the I/O
request 7300. The storage system 300 of the copying source extracts
a storage ID supplied to the host and a volume ID supplied to the
host from the address 73001 of the I/O request 7300.
[0241] The storage system 300 of the copying source specifies a
logical volume in which the data is requested to be written.
[0242] To be specific, the storage system 300 of the copying source
selects ID misrepresentation management information 1270 in which
the extracted storage ID supplied to the host matches the storage
ID 12701 supplied to the host in the ID misrepresentation
management information 1270. The storage system 300 of the copying
source selects a record in which the extracted volume ID supplied
to the host matches the volume ID 12703 supplied to the host from
the selected ID misrepresentation management information 1270.
[0243] The storage system 300 of the copying source extracts a
logical volume ID 12703 from the selected record. The storage
system 300 of the copying source specifies a logical volume
identified by the extracted logical volume ID 12703 as a logical
volume in which the data is requested to be written.
[0244] The storage system of the copying source writes the
extracted write data in the logical volume identified by the
extracted logical volume ID 12703.
[0245] The storage system 300 of the copying source creates the
data transfer frame 1240 (7250).
[0246] To be specific, the storage system 300 of the copying source
selects the copy pair management information 1210 in which the
extracted logical volume ID 12703 matches the logical volume ID
12101 of the copy pair management information 1210. The storage
system 300 of the copying source extracts the copy target storage
ID 12103 and the copy target volume ID 12104 from the selected copy
pair management information 1210.
[0247] The storage system 300 of the copying source stores the
extracted copy target volume ID 12104 in the logical volume ID
12401 of the data transfer frame 1240. The storage system 300 of
the copying source stores an address of a block in which the write
data has been stored in the block address 12402 of the data
transfer frame 1240.
[0248] The storage system 300 of the copying source stores a size
of the write data in a transfer data length 12403 of the data
transfer frame 1240. The storage system 300 of the copying source
stores a part or all of the write data in the transfer data 12404
of the data transfer frame 1240.
[0249] The storage system 300 of the copying source stores the
order in which the transfer frames 1240 were created, in the
bi-directional synchronous copy in the serial number 12405 of the
data transfer frame 1240. The storage system 300 of the copying
source stores the extracted copy target storage ID 12103 in the
transfer destination storage ID 12406 of the data transfer frame
1240.
[0250] The storage system 300 of the copying source transmits the
created data transfer frame 1240 to the storage system 300 of the
copying destination (7260).
[0251] The storage system 300 of the copying destination receives
the data transfer frame 1240. The storage system 300 of the copying
destination writes transfer data 12404 of the data transfer frame
1240 in a logical volume identified by the logical volume ID 12401
of the data transfer frame 1240 (7270).
[0252] Then, the storage system 300 finishes the bi-directional
synchronous copy for one I/O request.
[0253] Next, an access control process to the logical volume by the
management computer 100 will be described.
[0254] First, an access control process before completion of the
initial copy will be described. The management computer 100
controls access to the logical volume by using one of a first
access control process (FIG. 18) and a second access control
process (FIG. 19) before the completion of the initial copy.
[0255] FIG. 18 is a flowchart showing the first access control
process before the completion of the initial copy executed by the
management computer 100 according to the first embodiment of this
invention.
[0256] First, the management computer 100 instructs validation of
the primary path to the host computer 200 before the I/O request
7300 for instructing the start of bi-directional synchronous copy
is transmitted (before execution of step 5030 of FIG. 15) (5100).
In other words, the management computer 100 permits access only to
the primary volume.
[0257] The host computer 200 selects a record in which an
identifier of the primary path instructed to be validated matches a
path ID 2153 of the path definition table 215 from the path
definition table 215. The host computer 200 stores a value
indicating that the path is valid in a valid bit 2154 of the
selected record. Accordingly, the host computer 200 validates the
primary path.
[0258] Then, the management computer 100 stores "access permitted"
in the primary path status 1171 of the path group management table
117.
[0259] The management computer 100 transmits the I/O request 7300
for instructing the start of the bi-directional synchronous
copy.
[0260] Then, the management computer 100 transmits the I/O request
7300 for obtaining copy status information to the primary storage
system 300. The primary storage system 300 receives the I/O request
7300 for obtaining the copy status information. Then, the primary
storage system 300 extracts copy status information 12102 from the
copy pair management information 1210. The primary storage system
300 transmits the extracted copy status information 12102 to the
management computer 100.
[0261] The management computer 100 receives the copy status
information 12102 (5110). The management computer 100 judges
whether or not the initial copy of the storage system 300 has been
completed (5120). To be specific, if there is "ongoing initial
copy" stored in the received copy status information 12102, the
management computer 100 judges that the initial copy has not been
completed. On the other hand, if there is no "ongoing initial copy"
stored in the received copy status information 12102 ("primary
volume" has been stored), the management computer 100 judges that
the initial copy has been completed.
[0262] If the initial copy has not been completed, data of the
primary volume and that of the secondary volume do not match each
other. Thus, the management computer 100 stands by until the
initial copy is completed. The management computer 100 returns to
the step 5110.
[0263] On the other hand, if the initial copy has been completed,
data of the primary volume and that of the secondary volume match
each other. Thus, the management computer 100 instructs validation
of a secondary path to the host computer 200 (5130). In other
words, after the completion of the initial copy, the management
computer 100 permits access to the secondary volume.
[0264] The host computer 200 selects a record in which an
identifier of the secondary path instructed to be validated matches
a path ID 2153 of the path definition table 215 from the path
definition table 215. The host computer 200 stores a value
indicating that the path is valid in the valid bit 2154 of the
selected record. Accordingly, the host computer 200 validates the
secondary path.
[0265] Then, the management computer 100 stores "access permitted"
in a secondary path status 1173 of the path group management table
117. The management computer 100 finishes the first access control
process before the completion of the initial copy.
[0266] As described above, the management computer 100 validates
the primary path alone before the completion of the initial copy.
In other words, access only to the primary volume is permitted
before the completion of the initial copy. After the completion of
the initial copy, the management computer 100 validates the
secondary path. In other words, after the completion of the initial
copy, the management computer 100 permits access to the secondary
volume.
[0267] According to the first access control process before the
completion of the initial copy, the host computer 200 can access
the logical volume even during the initial copy. Thus, the host
computer 200 can execute AP 211 promptly.
[0268] FIG. 19 is a flowchart showing the second access control
process before the completion of the initial copy executed by the
management computer 100 according to the first embodiment of this
invention.
[0269] Upon transmission of the I/O request 7300 for instructing
the start of bi-directional synchronous copy in the step 5030 of
FIG. 15, the management computer 100 executes the second access
control process before the completion of the initial copy.
[0270] First, the management computer 100 transmits the I/O request
7300 for obtaining copy status information to the primary storage
system 300. The primary storage system 300 receives the I/O request
7300 for obtaining the copy status information. Then, the primary
storage system 300 extracts copy status information 12102 from the
copy pair management information 1210. The primary storage system
300 transmits the extracted copy status information 12102 to the
management computer 100.
[0271] The management computer 100 receives the copy status
information 12102 (5210). The management computer 100 then judges
whether or not the initial copy of the storage system 300 has been
completed (5220). To be specific, if there is "ongoing initial
copy" stored in the received copy status information 12102, the
management computer 100 judges that the initial copy has not been
completed. On the other hand, if there is no "ongoing initial copy"
stored in the received copy status information 12102 ("primary
volume" has been stored), the management computer 100 judges that
the initial copy has been completed.
[0272] If the initial copy has not been completed, data of the
primary volume and that of the secondary volume do not match each
other. Thus, the management computer 100 stands by until the
initial copy is completed. The management computer 100 returns to
the step 5210.
[0273] On the other hand, if the initial copy is completed, data of
the primary volume and that of the secondary volume match each
other. Thus, the management computer 100 instructs validation of
the primary path and the secondary path to the host computer 200
(5230). In other words, after the completion of the initial copy,
the management computer 100 permits access to the primary volume
and the secondary volume.
[0274] The host computer 200 selects a record in which an
identifier of the primary path instructed to be validated matches
the path ID 2153 of the path definition table 215 from the path
definition table 215. The host computer 200 stores a value
indicating that the path is valid in the valid bit 2154 of the
selected record. Accordingly, the host computer 200 validates the
primary path.
[0275] Similarly, the host computer 200 selects a record in which
an identifier of the secondary path instructed to be validated
matches the path ID 2153 of the path definition table 215 from the
path definition table 215. The host computer 200 stores a value
indicating that the path is valid in the valid bit 2154 of the
selected record. Accordingly, the host computer 200 validates the
secondary path.
[0276] Then, the management computer 100 stores "access permitted"
in the primary path status 1171 and the secondary path status 1173
of the path group management table 117. The management computer 100
finishes the second access control process before the completion of
the initial copy.
[0277] As described above, the management computer 100 deactivates
the primary path and the secondary path before the completion of
the initial copy. In other words, access to the primary volume and
the secondary volume is prohibited until the completion of the
initial copy. After the completion of the initial copy, the
management computer 100 validates the primary path and the
secondary path. In other words, after the completion of the initial
copy, the management computer 100 permits access to the primary
volume and the secondary volume.
[0278] Next, an access control process when bi-directional
synchronous copy is suspended or resumed will be described.
[0279] FIG. 20 is a flowchart showing the access control process
when bi-directional synchronous copy is suspended based on an
instruction from the management computer 100 according to the first
embodiment of this invention.
[0280] When it is necessary to suspend the bi-directional
synchronous copy, the management computer 100 instructs
invalidation of a secondary path to the host computer 200 (5300).
In other words, the management computer 100 inhibits access to the
secondary volume. This is because when bi-directional synchronous
copy is suspended, data of the primary volume and that of the
secondary volume no longer match each other.
[0281] The host computer 200 receives the instruction to invalidate
the secondary path. Then, the host computer 200 selects a record in
which an identifier of the secondary path instructed to be
invalidated matches the path ID 2153 of the path definition table
215 from the path definition table 215. The host computer 200
stores a value indicating that the path is invalid in the valid bit
2154 of the selected record. Accordingly, the host computer 200
invalidates the secondary path.
[0282] The management computer 100 stores "access inhibited" in the
secondary path status 1173 of the path group management table
117.
[0283] The management computer 100 transmits the I/O request 7300
for suspending the bi-directional synchronous copy to the primary
storage system 300. Accordingly, the management computer 300
instructs suspension of the bi-directional synchronous copy to the
primary storage system 300 (5310).
[0284] Upon reception of the instruction, the primary storage
system 300 suspends the bi-directional synchronous copy. Then, the
primary storage system 300 stores "suspending" in the copy status
information 1202 of the copy pair management information 1210.
[0285] The management computer 100 finishes the access control
process during suspension of the bi-directional synchronous copy
based on the instruction from the management computer 100.
[0286] As described above, during suspension of the bi-directional
copy, the management computer 100 instructs invalidation of the
secondary path to the host computer 200. In other words, during
suspension of the bi-directional synchronous copy, the management
computer 100 inhibits access to the secondary volume.
[0287] It should be noted that the management computer 100 may
instruct invalidation of the primary path instead of the secondary
path during suspension of the bi-directional synchronous copy. In
other words, when it is necessary to suspend the bi-directional
synchronous copy, the management computer 100 instructs
invalidation of one of the primary path and the secondary path to
the host computer 200.
[0288] FIG. 21 is a flowchart showing the access control process
when bi-directional synchronous copy is resumed based on the
instruction from the management computer 100 according to the first
embodiment of this invention.
[0289] When it is necessary to resume the suspended bi-directional
synchronous copy, the management computer 100 transmits the I/O
request 7300 for resuming the bi-directional synchronous copy to
the primary storage system 300. Accordingly, the management
computer 100 instructs resumption of the bi-directional synchronous
copy to the primary storage system 300 (5400).
[0290] Upon reception of the resumption instruction, the primary
storage system 300 resumes the suspended bi-directional synchronous
copy. Then, the primary storage system 300 stores "primary volume"
in the copy status information 12102 of the copy pair management
information 1210. Accordingly, data of the primary volume and that
of the secondary volume match each other.
[0291] Next, the management computer 100 instructs validation of
the secondary path to the host computer 200 (5410). In other words,
the management computer 100 permits access to the secondary
volume.
[0292] The host computer 200 selects a record in which an
identifier of the secondary path instructed to be validated matches
the path ID 2153 of the path definition table 215 from the path
definition table 215. The host computer 200 stores a value
indicating that the path is valid in the valid bit 2154 of the
selected record. Accordingly, the host computer 200 validates the
secondary path.
[0293] Then, the management computer 100 stores "access permitted"
in the secondary path status 1173 of the path group management
table 117. The management computer 100 finishes the access control
process when resuming the bi-directional synchronous copy.
[0294] As described above, after the resumption of the
bi-directional synchronous copy, the management computer 100
instructs validation of the secondary path to the host computer
200. In other words, after the resumption of the bi-directional
synchronous copy, the management computer 100 permits access to the
primary volume and the secondary volume.
[0295] When the primary path is invalidated during suspension of
the bi-directional synchronous copy, the management computer 100
instructs validation of the primary path instead of the secondary
path. In other words, the management computer 100 instructs
validation of the path invalidated during suspension of the
bi-directional synchronous copy to the host computer 200.
[0296] FIG. 22 is a flowchart showing the access control process
when the bi-directional synchronous copy is suspended based on the
instruction from the storage system 300 according to the first
embodiment of this invention.
[0297] When a fault occurs in the line for connecting the secondary
storage system 300 and the primary storage system 300, the
secondary storage system 300 judges that it is necessary to suspend
the bi-directional synchronous copy. Then, the secondary storage
system 300 inhibits access from the host computer 200 to the
secondary volume (5500). This is because when the bi-directional
synchronous copy is suspended, the data of the primary volume and
that of the secondary volume no longer match each other.
[0298] To be specific, the secondary storage system 300 selects
volume management information 1250 in which "secondary volume" is
stored in the volume status information 12502. Then, the secondary
storage system 300 selects the volume management information 1250
having a value indicating misrepresentation stored in the
misrepresentation bit 12506 from the selected volume management
information 1250.
[0299] Accordingly, the secondary storage system 300 specifies the
logical volume identified by the logical volume ID 12101 of the
selected volume management information 1250 as the secondary
volume.
[0300] The secondary storage system 300 stores "abnormal" in the
volume status information 12502 of the selected management
information 1250. Accordingly, the secondary storage system 300
inhibits access to the specified secondary volume.
[0301] Then, the primary storage system 300 suspends the
bi-directional synchronous copy (5510). The primary storage system
300 stores "abnormal" in the copy status information 12102 of the
copy pair management information 1210.
[0302] The primary storage system 300 and the secondary storage
system 300 finish the access control process during suspension of
the bi-directional synchronous copy.
[0303] As described above, the secondary storage system 300
inhibits access to the secondary volume during suspension of the
bi-directional synchronous copy.
[0304] During suspension of the bi-directional synchronous copy,
the primary storage system 300 may inhibit access to the primary
volume rather than the secondary storage system 300 inhibiting
access to the secondary volume.
[0305] According to this embodiment, the two storage systems 300
supply the logical volumes having identical ID's to the host
computer 200. The two storage systems 300 execute bi-directional
remote-copying between the logical volumes having the identical
ID's. Thus, the two storage systems 300 match the data of the
logical volumes having the identical ID's with each other.
[0306] The host computer 200 accesses the two logical volumes
having the identical ID's as one logical volume. Accordingly, the
host computer 200 can access the same data even when access is made
to any one of the two storage systems 300 which supply the logical
volumes having the identical ID's. Thus, it is possible to enhance
I/O processing performance of the host computer 200.
[0307] Even when a fault occurs in one of the two storage systems
300 which supply the logical volumes identified by the identical
ID's, the host computer 200 can access the storage system 300 in
which no fault has occurred. In other words, the host computer 200
can access the data even when one fault occurs in one of the
storage systems 300.
Second Embodiment
[0308] A computer system according to a second embodiment of this
invention executes bi-directional asynchronous copy.
[0309] A configuration of the computer system of the second
embodiment is similar to that of the computer system of the first
embodiment of FIG. 1, and thus description thereof will be omitted.
A process of the computer system of the second embodiment is
similar to that of the computer system of the first embodiment
except for a process of an I/O request. Thus, description of the
same process will be omitted.
[0310] It should be noted that the bi-directional asynchronous copy
is an asynchronous copy executed in two directions.
[0311] An asynchronous copying process of a storage system 300 will
be described. The storage system 300 of a copying source receives a
writing request. Immediately after the reception of the writing
request, the storage system 300 of the copying source notifies
completion of a process of the writing request to a host computer
200. Subsequently, the storage system 300 of the copying source
writes write data contained in the received writing request in a
logical volume. The storage system 300 of the copying source
remote-copies the write data contained in the writing request in a
logical volume of a storage system 300 of a copying
destination.
[0312] In other words, in the asynchronous copying, the storage
system 300 transmits the process completion of the writing request
to the host computer 200 without completing writing of data.
Accordingly, the asynchronous copying is suited to long-distance
remote-copying as it is not affected by writing time. However, data
consistency must be maintained in the asynchronous copying. To be
specific, the storage system 300 must read data according to an
issuing sequence of the I/O requests.
[0313] FIG. 23 is a flowchart showing an I/O request process
executed by the storage system 300 according to the second
embodiment of this invention.
[0314] The storage system 300 receives an I/O request 7300 from the
host computer 200. Then, the storage system 300 analyzes the
received I/O request 7300 (6000). To be specific, the storage
system 300 refers to contents of instruction 73002 of the I/O
request 7300 for judging a type of the I/O request 7300.
[0315] The storage system 300 judges whether the received I/O
request 7300 is a reading request or not (6010).
[0316] If the I/O request 7300 is a reading request, the storage
system 300 judges whether or not a process of an I/O request 7300
issued from the host computer 200 before the received I/O request
7300 has been completed (6020).
[0317] To be specific, the storage system 300 extracts a serial
number 73003 from the received I/O request 7300. Then, the storage
system 300 judges whether or not a process of an I/O request 7300
containing a serial number 70003 smaller than the extracted serial
number 73003 has been completed.
[0318] If the process of the previously issued I/O request 7300 has
not been completed, the storage system 300 stands by until the
process of the previously issued I/O request 7300 is completed.
[0319] On the other hand, if the process of the previously issued
I/O request 7300 has been completed, the storage system 300 reads
data requested by the received I/O request 7300 from a logical
volume or a cache memory 1100 (6070).
[0320] The storage system 300 transmits the read data to the host
computer 200 (6080). Then, the storage system 300 finishes the I/O
request process.
[0321] On the other hand, if the I/O request 7300 is not a reading
request, the storage system 300 judges whether the received I/O
request 7300 is a writing request or not (6030).
[0322] If the I/O request 7300 is a writing request, the storage
system 300 notifies a process completion of the I/O request 7300 to
the host computer 200. The storage system 300 writes write data
contained in the received I/O request 7300 in the logical volume of
the storage system 300. Further, the storage system 300
remote-copies the write data contained in the writing request in
the logical volume of the storage system 300 of a copying
destination (6050). Then, the storage system 300 finishes the I/O
request process.
[0323] On the other hand, if the I/O request 7300 is not a writing
request, the I/O request 7300 is a remote-copy control request or
the like. Thus, the storage system 300 executes a process for the
I/O request 7300 (6060). Then, the storage system 300 finishes the
I/O request process.
[0324] According to this embodiment, even when the computer system
adopts the bi-directional asynchronous copy for operation, the host
computer 200 can access identical data even when access is made to
any one of the two storage systems 300 which supply logical volumes
having identical ID's.
Third Embodiment
[0325] According to a third embodiment, a storage system 300
misrepresents an ID of a logical volume supplied from another
storage system for supplying it to a host computer 200. The storage
system 300 executes remote-copying between cache memories 1100.
[0326] FIG. 24 is a block diagram showing a configuration of a
computer system according to the third embodiment of this
invention.
[0327] The computer system of the third embodiment includes a
management computer 100, a host computer 200, a storage system 300,
an external storage system 400, and a management terminal 1600.
[0328] The management computer 100, the host computer 200, and the
management terminal 1600 are similar to those of the computer
system of the first embodiment, and thus description thereof will
be omitted.
[0329] The external storage system 400 includes a storage
controller 4100 and a disk drive 4500.
[0330] The storage controller 4100 controls the entire external
storage system 400. To be specific, the storage controller 4100
supplies a storage area of the disk drive 4500 as one or more
logical volumes to the storage system 300. The storage controller
4100 includes a disk controller 4400.
[0331] The disk controller 4400 controls writing of data in the
disk drive 4500 and reading of data from the disk drive 4500.
[0332] The storage system 300 is similar in configuration to the
storage system of the computer system of the first embodiment.
Further, the storage system 300 stores an external volume
conversion table 1410 and an external storage information table
1420 in a shared memory 1200.
[0333] The external volume conversion table 1410 and the external
storage information table 1420 show correspondence between a
logical volume supplied to the host computer 200 by misrepresenting
an ID and a logical volume of the external storage system 400. It
should be noted that the external volume conversion table 1410 and
the external storage information table 1420 will be described below
in detail with reference to FIG. 25.
[0334] The storage system 300 supplies the logical volume (external
volume) supplied from the external storage system 400 to the host
computer 200 by misrepresenting a storage ID and a logical volume
ID. In this case, the two storage systems 300 misrepresent
identical external volumes to identical storage ID's and identical
logical volume ID's.
[0335] Thus, the host computer 200 recognizes the external volumes
as one logical volume. In other words, the host computer 200 can
access the same external volume even when access is made from any
one of the storage systems 300.
[0336] According to the third embodiment, the storage system 300
executes remote-copying in two directions not between external
volumes but between the cache memories 1100. This is because the
number of external volumes supplied to the two storage systems 300
is actually one. Thus, according to the third embodiment, an
initial copy process is not necessary. According to this
embodiment, bi-directional copy between the cache memories 1100 is
called bi-directional cache copying.
[0337] An access control process of the third embodiment is similar
to the access control process of the first embodiment shown in
FIGS. 20 to 22. Thus, description thereof will be omitted.
[0338] It should be noted that the computer system of the third
embodiment may include a misrepresentation device in place of the
storage system 300. The misrepresentation device is similar to the
storage system 300 except that no disk drive 1500 is provided.
[0339] FIG. 25 is an explanatory diagram of the external volume
conversion table 1410 and the external storage information table
1420 according to the third embodiment of this invention.
[0340] The external volume conversion table 1410 contains a header
1411 and a body 1412.
[0341] The header 1411 is information misrepresented when the
external volume is supplied to the host computer 200. To be
specific, the header 1411 stores a volume ID supplied to the host,
a volume capacity supplied to the host, or the like.
[0342] The volume ID supplied to the host is an identifier which
enables the host computer 200 to uniquely identify the external
volume. The volume capacity supplied to the host is a capacity of
the external volume identified by the volume ID supplied to the
host.
[0343] The body 1412 contains a logical block address (LBA), a
pointer to the external storage table, and an offset address.
[0344] The LBA indicates a position of a block in the external
volume identified by the volume ID supplied to the host. The
pointer to the external storage table indicates an external storage
information table 1420 corresponding to a block to which the LBA is
assigned. The offset address is a start address of the external
volume.
[0345] The external storage information table 1420 contains an
external storage ID, a port ID, an external volume ID, and
attribute information.
[0346] The external storage ID is a unique identifier of the
external storage system 400. The port ID is a unique identifier of
an I/O port of the external storage system 400. The external volume
ID is a unique identifier of the logical volume supplied from the
external storage system 400. The attribute information indicates
attributes of the external storage system. For example, the
attribute information stores a RAID level or the like of the
external storage system 400.
[0347] Next, ID misrepresentation of the external volume by the
disk controller 1400 of the storage system 300 will be
described.
[0348] The disk controller 1400 receives an I/O request 7300 from
the host computer 200. Then, the disk controller 1400 extracts an
address 73001 from the received I/O request 7300. The disk
controller 1400 judges whether or not the extracted address 7300
and the host-supplied volume ID contained in the header 1411 of the
external volume conversion table 1410 match each other.
[0349] If the address 7300 does not match the volume ID supplied to
the host, the I/O request 7300 requests access to the disk drive
1500. Accordingly, the disk controller 1400 executes the same
process as that of the first embodiment.
[0350] On the other hand, if the address 7300 matches the volume ID
supplied to the host, the I/O request 7300 requests access to the
external volume. Thus, the disk controller 1400 changes the address
73001 of the received I/O request 7300.
[0351] To be specific, the disk controller 1400 extracts the LBA of
a block to which access is requested by the I/O request 7300 from
contents of instruction 7302 of the received I/O request 7300.
Then, the disk controller 1400 selects a record in which the
extracted LBA matches the LBA of the body 1412 from the external
volume conversion table 1410. The disk controller 1400 specifies an
external storage information table 1420 corresponding to the
extracted LBA based on a pointer of the selected record.
[0352] The disk controller 1400 extracts an external storage ID and
an external volume ID from the specified external storage
information table 1420. The disk controller 1400 stores the
extracted external storage ID and the extracted external volume ID
in the address 73001 of the received I/O request 7300.
[0353] Thus, the disk controller 1400 changes the address 73001 of
the received I/O request 7300. Then, the disk controller 1400
transmits the I/O request 7300 of the changed address 73001 to the
external storage system 400.
[0354] FIG. 26 is a flowchart of a bi-directional cache copy
process executed by the storage system 300 according to the third
embodiment of this invention.
[0355] For the bi-directional synchronous cache copy process, one
storage system 300 can be a copying source or a copying
destination. According to this embodiment, the storage system 300
that has received the I/O request from the host computer 200 is set
as a storage system 300 of a copying source. Another storage system
300 is set as a storage system 300 of a copying destination.
[0356] The storage system 300 of the copying source receives the
I/O request 7300 from the host computer 200. The I/O request 7300
is a writing request to the external volume. Then, the storage
system 300 of the copying source extracts data (write data)
requested to be written from the option 73005 of the received I/O
request 7300.
[0357] The storage system 300 of the copying source stores the
extracted write data in the cache memory 1100 provided in the
storage system 300 of the copying source.
[0358] The storage system 300 of the copying source creates a data
transfer frame 1240 (7310). The storage system 300 of the copying
source transmits the created data transfer frame 1240 to the
storage system 300 of the copying destination (7320).
[0359] The storage system 300 of the copying destination receives
the data transfer frame 1240. The storage system 300 of the copying
destination stores a transfer data 12404 of the data transfer frame
1240 in the cache memory 1100 provided in the storage system 300 of
the copying destination (7330).
[0360] Then, the storage system 300 finishes the bi-directional
cache copying for one I/O request 7300.
[0361] It should be noted that the storage system 300 destages data
in the external volume of the external storage system 400 when data
is deleted from the cache memory 1100. In this status, the storage
systems 300 of the copying source and the copying destination both
destage the data deleted from the cache memory 1100 in the external
volume.
[0362] This does not affect data consistency but increases load on
the external storage system 400.
[0363] Accordingly, only one of the storage systems 300 of the
copying source and the copying destination may destage data deleted
from the cache memory 1100 in the external volume.
[0364] In this case, the storage system 300 stores a bit (dirty
bit) indicating a necessity of destaging the data stored in the
cache memory 1100 in the external volume. Further, the storage
system 300 includes functions for invalidating the dirty bit stored
in the storage system 300, and a function for instructing
invalidation of the dirty bit stored in another storage system
300.
[0365] After one of the storage systems 300 of the copying source
and the copying destination destages the data deleted from the
cache memory 1100 in the external volume, unnecessity of destaging
the data is instructed to the other storage system 300 (destage
nonexecution storage system) 300.
[0366] FIG. 27 is a flowchart showing a data destaging process
executed by the storage system 300 according to the third
embodiment of this invention.
[0367] In the data destaging process, one storage system 300 can be
a destage execution storage system 300, or a destage nonexecution
storage system 300.
[0368] When deleting data from the cache memory 1100, the destage
execution storage system 300 destages the deleted data in the
external volume supplied to the external storage system 400
(7350).
[0369] The destage execution storage system 300 instructs
invalidation of a dirty bit of the data to the destage nonexecution
storage system 300 (7360).
[0370] Then, the destage nonexecution storage system 300
invalidates the dirty bit of the data (7380). Accordingly, the
destage nonexecution storage system 300 does not destage the
deleted data in the external volume when deleting the data from the
cache memory 1100.
[0371] According to the third embodiment, the two storage systems
300 remote-copy the data of the cache memory 1100 in two
directions. Accordingly, consistency of data stored in the cache
memories 1100 disposed in the storage systems 300 is maintained.
Hence, the host computer 200 can obtain the same data even when
accessing an external volume from any one of the storage systems
300.
[0372] According to the third embodiment, loads on an I/O
transmission/reception unit 1320 of the storage system 300 are
dispersed. Thus, I/O performance of the host computer 200 can be
enhanced.
[0373] Furthermore, according to the third embodiment, the two
storage systems 300 remote-copy the data of the cache memory in two
directions. Thus, even when the host computer 200 distributes and
transmits the I/O request to the two storage systems 300, a high
cache hit rate can be maintained. The cache hit rate is a
probability of storage of data requested by the host computer 200
in the cache memory.
[0374] While the present invention has been described in detail and
pictorially in the accompanying drawings, the present invention is
not limited to such detail but covers various obvious modifications
and equivalent arrangements, which fall within the purview of the
appended claims.
* * * * *