WO2015132946A1 - Storage system and storage system control method - Google Patents

Storage system and storage system control method Download PDF

Info

Publication number
WO2015132946A1
WO2015132946A1 PCT/JP2014/055899 JP2014055899W WO2015132946A1 WO 2015132946 A1 WO2015132946 A1 WO 2015132946A1 JP 2014055899 W JP2014055899 W JP 2014055899W WO 2015132946 A1 WO2015132946 A1 WO 2015132946A1
Authority
WO
WIPO (PCT)
Prior art keywords
chunk
volume
storage device
migration
snapshot
Prior art date
Application number
PCT/JP2014/055899
Other languages
French (fr)
Japanese (ja)
Inventor
森 宣仁
智大 川口
アビシェク ジョーリ
山本 彰
匡人 仁科
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/055899 priority Critical patent/WO2015132946A1/en
Publication of WO2015132946A1 publication Critical patent/WO2015132946A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Definitions

  • the present invention relates to a storage system.
  • the storage device has a pool volume and a secondary volume that store the difference data between the primary volume and the primary volume.
  • the secondary volume has a function called a snapshot function in which each chunk refers to a primary volume or a chunk of a pool volume, thereby constituting a point-in-time copy of the primary volume.
  • Patent Document 1 when the migration source storage forms a snapshot, a plurality of data of the migration source primary volume and a plurality of data of the pool volume are sent to the migration destination storage in units of volumes, and the chunk of the secondary volume is also sent.
  • a technique for moving a volume adapted for a snapshot function to a transfer destination storage by sending position information of a chunk to be referenced in units of volumes is disclosed.
  • Patent Document 1 does not disclose executing a write from the host to the migration target volume during the migration of the volume to which the snapshot function is applied.
  • the snapshot configuration will be different between the migration source and the migration destination.
  • storage device virtualization technology has been developed that provides a host with one or more virtual storages across a plurality of storage devices without making the host aware of the physical configuration of the storage device.
  • an enterprise system is required to have a high availability of an operation rate of 99.999% (down for about 5 minutes per year).
  • a financial institution performs volume transfer using the snapshot function, if the volume cannot be written during the transition, the financial institution's service that is the basis of economic activity will be suspended. It will interfere with the economic activities of society as a whole. From this point, it is necessary to solve the above problem.
  • the present application includes a plurality of means for solving the above-described problems.
  • the storage system includes a first storage device and a second storage device.
  • the first storage device provides a snapshot configuration with the first primary volume, the first pool volume, and the first secondary volume.
  • the first primary volume includes a plurality of chunks.
  • the first pool volume includes a plurality of chunks and stores differential data of the first primary volume.
  • the first secondary volume is a replica of the first primary volume at a predetermined point in time, and includes a plurality of chunks each referring to either the first primary volume chunk or the first pool volume chunk.
  • the first storage device further manages reference destinations of the plurality of chunks of the first secondary volume.
  • the second storage device provides a snapshot configuration with the second primary volume, the second pool volume, and the second secondary volume.
  • the second primary volume includes a plurality of chunks.
  • the second pool volume includes a plurality of chunks and stores differential data of the second primary volume.
  • the second secondary volume is a replica of the second primary volume at a predetermined point in time, and includes a plurality of chunks each referring to either the second primary volume chunk or the second pool volume chunk.
  • the second storage device further manages the reference destinations of the plurality of chunks of the second secondary volume.
  • the first storage device migrates the snapshot configuration from the first storage device to the second storage device.
  • snapshot allocation information which is management information of the chunk to be migrated, is transmitted to the second storage device.
  • the present invention it is possible to execute writing and reading from a host while moving a volume to which a snapshot function is applied between storage apparatuses. As a result, it is possible to perform storage device replacement, load balancing, and redundancy while maintaining the snapshot function without host downtime.
  • FIG. 1 It is a figure which shows an example of a structure of snapshot PVOL, SVOL, and a pool in the 1st Embodiment of this invention. It is a figure which shows an example of the snapshot pair management information in the 1st Embodiment of this invention, snapshot PVOL management information, and snapshot SVOL management information. It is a figure which shows an example of the pool management information in the 1st Embodiment of this invention. It is a figure which shows an example of the movement copy pair management information in the 1st Embodiment of this invention. It is a figure which shows an example of the snapshot allocation information in the 1st Embodiment of this invention.
  • the processing may be described with the storage device as the subject. However, by executing the processing by the controller, the program, or the CPU of the storage device, the determined processing is appropriately performed with a storage resource (for example, a memory). ) And / or communication interface devices (for example, ports), the processing subject may be a program.
  • the program source may be a program distribution server or a storage medium, for example.
  • FIG. 1 is a diagram showing an outline of this embodiment.
  • a real volume 520 is set in the migration source storage apparatus 500A, and a snapshot function is applied to each real volume 520.
  • the real volume 520A is a snapshot PVOL (hereinafter sometimes simply referred to as PVOL), and data is actually stored in a plurality of chunks included in the PVOL.
  • the real volumes 520B and 520C are snapshot SVOLs (hereinafter sometimes simply referred to as SVOLs).
  • the SVOL manages PVOL data at a certain point as a difference. That is, the SVOL has information such as a pointer to a chunk in the pool 530 in which PVOL chunks and differential data are actually stored.
  • the migration destination storage apparatus 500B real volumes 520D, 520E, and 520F that are migration destinations of the respective real volumes 520 in the migration source storage apparatus 500A are set, and the snapshot function is applied similarly to the migration source storage. ing.
  • the volume of the migration source storage apparatus 500A may be referred to as a migration source VOL.
  • the real volume 520 of the migration destination storage apparatus 500B may be described as a migration destination VOL, a migration destination PVOL, and a migration destination SVOL.
  • the migration source storage apparatus 500A and the migration destination storage apparatus 500B execute the migration of the volume to which the snapshot function is applied by copying data and pointers from the migration source VOL to the migration destination VOL by the migration copy process described later.
  • the host computer 100 has a function of providing one or more virtual storage apparatuses 600 across a plurality of storage apparatuses 500 to the host without making the host computer 100 aware of the physical configuration of the storage apparatus.
  • the migration source VOL and the migration destination VOL belong to the same virtual storage apparatus 600, and corresponding volumes are set with the same virtual volume ID. That is, the same virtual volume ID is set for each of the real volumes 520A and 520D, 520B and 520E, 520C and 520F.
  • the virtual volume ID is a virtual identifier set separately from the identifier set for the real volume 520.
  • the storage apparatus 500 obtains an identifier calculated from the virtual storage ID that is the identifier of the virtual storage apparatus 600 and the virtual volume ID. respond. That is, the real volumes 520A and 520D, 520B and 520E, 520C and 520F respectively respond with the same identifier.
  • the alternate path software 111 recognizes the real volume 520 that responds with the same identifier as an alternate path to one virtual volume 601, and processes I / O (Input / Output) from the OS 110.
  • the host does not need to recognize the virtual storage apparatus 600 and the storage apparatuses 500A and 500B that constitute the virtual storage apparatus 600. Therefore, the storage apparatus 500 can be added, replaced, or reconfigured transparently to the host computer 100 without stopping the business.
  • the OS 110 can issue an I / O without distinguishing the migration source VOL and the migration destination VOL. Further, even if the migration source VOL is deleted when the migration is completed, the I / O can be issued to the migration destination VOL continuously, so that the operation of the OS 110 is not affected.
  • the migration copy is, for example, replacement from the migration source storage apparatus 500A to the migration destination storage apparatus 500B, load balancing by moving a part of the snapshot configuration of the migration source storage apparatus 500A to the migration destination storage apparatus 500B, and migration source storage apparatus This is performed for redundancy by duplicating the snapshot function between A and the migration destination storage apparatus B.
  • S0 to S7 show processing when the migration source storage apparatus 500A receives I / O from the host computer 100 during the migration copy process.
  • S0 Start moving copy processing for each chunk.
  • S1 A write is issued from the host computer 100 to the real volume 520A.
  • S2 The migration source storage apparatus 500A receives the write, and excludes the migration copy process for the write target address of the SVOL (real volume 520B) where the pointer is rewritten when the real volume 520A is updated. The address is a numerical value indicating the position of the chunk on the real volume 520.
  • S3 The migration source storage apparatus 500A executes data update by writing to the real volume 520A.
  • S4 The migration source storage apparatus 500A stores the data before the write in S3 in the pool 530, and changes the pointer of the SVOL (real volume 520B) to the storage destination address. Note that storing data in the pool 530 and changing the pointer (address) of the SVOL in this way may be referred to as saving.
  • S5 The migration source storage apparatus 500A transmits snapshot allocation information including information such as a write and a pointer of SVOL (real volume 520B).
  • S6 The migration destination storage apparatus 500B reflects the write and snapshot allocation information transmitted in S5.
  • S7 The migration destination storage apparatus 500B executes evacuation required as a result of the write in S6.
  • FIG. 2 is a block diagram showing an outline of the IT system configuration.
  • This system includes a host computer 100, a management server 200, and one or more storage devices 500, which are connected to each other via a LAN 400.
  • the storage apparatus 500 and the host computer 100 are connected to each other via the SAN 300.
  • a plurality of host computers may exist. In this case, the host computers may be connected to each other via a data transfer LAN in addition to the management LAN 400.
  • FIG. 3A shows the internal configuration of the host computer 100.
  • the host computer 100 includes one or more CPUs 101, one or more memories 102, one or more SAN interfaces 105, one or more LAN interfaces 106, and one or more storage devices 103, which are connected to each other by an internal bus. 107 is connected.
  • the host computer 100 is connected to the SAN switch 400 via the SAN interface 105.
  • the host computer 100 is connected to the LAN switch 400 via the LAN interface 106.
  • the storage device 103 is not necessarily provided. If not, the volume in the storage device 500 is used as a software storage area.
  • FIG. 3B shows the internal configuration of the management server 200.
  • the internal configuration of the management server 200 is the same as that of the host computer 100, but does not necessarily have a SAN interface.
  • the management server 200 is connected to the LAN switch 400 via the LAN interface 204.
  • FIG. 4 shows the internal configuration of the storage apparatus 500.
  • the storage apparatus 500 includes one or more controllers 540 and one or more physical disks 501.
  • the controller 540 includes one or more CPUs 506, one or more memories 508, one or more nonvolatile memories 505, one or more cache memories 507, one or more back-end interfaces 509, and one or more LAN interfaces 504.
  • One or more SAN interfaces 502 are connected to each other via an internal bus 541.
  • the controller 540 is connected to the physical disk 501 via the back end interface 509.
  • the storage apparatus 500 is connected to the management server 200 via the LAN interface 504.
  • the storage apparatus 500 is connected to the host computer 100 via the SAN interface 502.
  • the physical disk 501 is a SAS (Serial Attached SCSI System) disk, a SATA (Serial Advanced Technology) disk, or a SSD (Solid State) disk type.
  • the PVOL in the real volume 520 shown in FIG. 1 is an area composed of RAID (Redundant Arrays of Inexpensive Disks) using one or more physical disks 501 in many cases. You may implement by techniques, such as Thin Provisioning, which allocates an area
  • the SVOL is composed of references to PVOL or pool 530 chunk addresses.
  • the pool 530 is implemented as a RAID area composed of one or more physical disks 501 or a group of one or more real volumes 520 composed of RAID.
  • the controller 540 treats one or more chunks of the real volume 520 as serial numbers (addresses) so as to treat them as one volume.
  • the memory 508 stores a resource management program 550, a snapshot control program 551, and a migration copy control program 552, and the CPU 506 executes these programs.
  • the resource management program 550 manages the inclusion relationship between the virtual storage apparatus 600 and volumes by referring to and changing information such as virtual volume management information 610 and virtual storage box management information 700 described later.
  • the snapshot control program 551 refers to and changes information such as snapshot pair management information 800, snapshot PVOL management information 900, snapshot SVOL management information 1000, and pool management information 1100, which will be described later. In addition, processing related to snapshot control such as read and write processing is performed.
  • the migration copy control program 552 executes later-described migration copy processing by referring to and changing the migration copy pair management information 1200 described later and information related to the snapshot.
  • FIG. 5A shows an example of the virtual volume management information 610.
  • This information is information held by each storage device 500 and is mainly stored in the memory 508.
  • the real volume ID column 611 stores the identifier of the real volume 520.
  • the real volume ID is an identifier for specifying the real VOL 520 in the storage apparatus 500.
  • the resource group ID column 612 stores the identifier of the resource group to which the real volume 520 belongs.
  • the resource group is a unit for grouping the real volumes 520 and has a one-to-N relationship with a storage box described later.
  • the virtual volume ID column 613 stores the second identifier set for the real volume 520.
  • the virtual volume ID is an identifier associated with the real volume ID, and the storage apparatus 500 returns the virtual volume ID when requested by the host computer 100 for the identifier.
  • FIG. 5B shows an example of the virtual storage box management information 700.
  • This information is information held by each storage device 500.
  • the virtual storage box ID column stores the identifier of the virtual storage box.
  • the virtual storage box is a part for each storage device 500 of the virtual storage device 600. That is, the substance of the virtual storage device 600 is a set of virtual storage boxes in which the same virtual storage ID is set in each storage device 500.
  • the identifier of the virtual storage device 600 is stored in the virtual storage ID column 702.
  • the resource group ID column 703 stores resource group IDs belonging to the virtual storage box.
  • the real volume 520 can identify the virtual storage box and virtual storage device 600 to which the real volume 520 belongs by combining the virtual volume management information 610 and the virtual storage box management information 700.
  • FIG. 6 is a diagram showing the concept of the snapshot PVOL (real volume 520A), SVOL (real volumes 520B, 520C), and pool 530.
  • Each of the PVOL, SVOL, and pool is composed of one or more chunks. Data stored in each chunk of SVOL is managed by any one of PVOL reference, shared reference, and exclusive reference.
  • the PVOL reference refers to a chunk having the same address in the PVOL.
  • the shared reference refers to a chunk in the pool 530.
  • the storage apparatus 500 responds with the data of the chunk of the pool 530 referenced by the chunk of the SVOL.
  • An exclusive reference refers to a chunk in the pool 530, as in the case of a shared reference. Shared references and exclusive references are distinguished by the trigger of saving.
  • the storage apparatus 500 stores the old data before the write execution in the pool 530 for the chunk with the same address in the SVOL that references the PVOL, and then refers to it (pointer) Is changed to the address of the save destination pool.
  • the storage apparatus 500 when referring to data saved when a write occurs in PVOL, it is called a shared reference. This is because, in many cases, a plurality of SVOLs share the saved data.
  • the storage apparatus 500 stores the write data in an unallocated chunk 531 of the pool 530 and stores the write data as the reference destination of the chunk in the SVOL. Change to chunk.
  • the case of referring to data saved when a write occurs in the SVOL is referred to as an exclusive reference. This is because the saved data becomes data specific to the SVOL.
  • the transition between the PVOL reference, the shared reference, and the exclusive reference in the write opportunity is unidirectional, and the PVOL reference changes to the shared reference or the exclusive reference, and the shared reference to the exclusive reference, but there is no other transition.
  • FIG. 7A shows an example of the snapshot pair management information 800.
  • This information is information held by each storage device 500 and is mainly stored in the memory 508.
  • a snapshot pair is a set of PVOL and SVOL that constitute a snapshot.
  • One PVOL is composed of one or more SVOLs, each of which is a copy of the PVOL at a different point in time.
  • the snapshot pair ID column 801 stores snapshot pair identifiers.
  • the pair status column 802 stores the status of the snapshot pair.
  • the pair status is any one of PAIR, COPY, PSUS, and SMPL.
  • PAIR is a state in which PVOL and SVOL match. When the pair state is PAIR, all chunks of SVOL are PVOL references. That is, when a read is executed from the host computer 100, the PVOL and SVOL data match in all chunks.
  • writing to SVOL is prohibited. For example, when a write is issued from the host computer 100 to an SVOL whose pair status is PAIR, an error is returned.
  • COPY is a transient state during copying to transition to PAIR.
  • the pair state PSUS is a state in which the update itself is not reflected on either the PVOL or the SVOL while the pair relationship is maintained, and the PVOL and the SVOL are independent. That is, when a write occurs in PVOL, SVOL data is saved.
  • the pair status is SMPL, it indicates that PVOL and SVOL are not paired and the snapshot pair ID is not used.
  • the PVOL real volume ID column 803 stores the identifier of the PVOL real volume.
  • the SVOL real volume ID column 804 stores the identifier of the SVOL real volume.
  • the pool ID column 805 stores an identifier of the pool 530 for saving data.
  • the main object is to move the PSUS snapshot pair between the storage apparatuses 500. This is because in PAIR and COPY, the PVOL and SVOL data are completely the same, and no write to the SVOL occurs, so that the migration process can be realized by the process of moving the PSUS snapshot pair.
  • FIG. 7B shows an example of the snapshot PVOL management information 900.
  • This information is information held by each storage device 500 and is mainly stored in the memory 508.
  • the PVOL real volume ID column 901 the identifier of the PVOL real volume is registered.
  • the address column 902 the address of the PVOL chunk is registered.
  • the exclusive column 903 a value indicating whether the address is exclusive (yes) or not (no) is registered.
  • exclusive refers to prohibiting or restricting access to another chunk by another entity while the other entity is accessing the chunk so that a plurality of entities do not access a chunk at the same time.
  • FIG. 7 (c) shows an example of the snapshot SVOL management information 1000.
  • This information is information held by each storage device 500 and is mainly stored in the memory 508.
  • the SVOL real volume ID column 1001 the identifier of the SVOL real volume is registered.
  • the address column 1002 the address of the SVOL chunk is registered.
  • the reference type column 1003 a value indicating whether the chunk of the address is a PVOL reference, a shared reference, or an exclusive reference is registered.
  • the reference address column 1004 the address of the chunk of the pool 530 referred to by the chunk of the address is registered.
  • the reference address is “none”.
  • the exclusive column 1005 a value indicating whether the address is exclusive (yes) or not (no) is registered.
  • the real volume ID of the SVOL (shared partner VOL) that refers to the same address on the pool 530 when the reference type is shared reference is registered.
  • the shared partner VOL real volume ID column 1006 is “none”.
  • the shared reference is used, for example, when there is only one SVOL that forms a snapshot pair with the PVOL, “None” is given when there is no shared partner VOL.
  • FIG. 8 shows an example of the pool management information 1100.
  • This information is information held by each storage device 500 and is mainly stored in the memory 508.
  • the pool ID column 1101 the identifier of the pool 530 is registered.
  • the address column 1102 the address of the chunk of the pool 530 is registered.
  • the assigned column 1103 a value indicating whether or not the address is assigned to the SVOL (yes) or not (no) is registered.
  • FIG. 9 shows an example of the moving copy pair management information 1200.
  • This information is information held by each storage device 500 and is mainly stored in the memory 508.
  • the identifier of the moving copy pair is registered.
  • the pair status column 1202 a value of PAIR or COPY indicating the status of the moving copy pair is registered.
  • PAIR is a state in which a later-described move copy process has been completed for all addresses of the move copy pair, and the data of the move source VOL and the move destination VOL match.
  • COPY is a state that is not PAIR.
  • the migration source VOL real volume ID column the real volume ID of the migration source VOL in the migration copy pair and the identifier of the migration source storage apparatus 500A are registered.
  • the migration destination VOL real volume ID column the real volume ID of the migration destination VOL of the migration copy pair and the identifier of the migration destination storage apparatus 500B are registered.
  • the address column 1205 the addresses of the chunks of the migration source VOL and the migration destination VOL are registered.
  • the moving copy status column 1206 registers a value indicating whether or not the moving copy of the chunk at the address has been completed (incomplete).
  • FIG. 10 shows an example of the snapshot allocation information 1300.
  • This information is management information for each chunk that is generated for each chunk and is transmitted from the migration source storage apparatus 500A to the migration destination storage apparatus 500B during the migration copy for each chunk.
  • the migration destination VOL real volume ID column 1301 the real volume ID of the migration destination VOL is registered.
  • the address column 1302 the address of the chunk of the migration destination VOL is registered.
  • the reference type column 1303 a value indicating whether the reference is a PVOL reference, a shared reference, or an exclusive reference is registered.
  • the value of the reference type column 1303 is empty.
  • the sharing partner VOL real volume ID column 1304 the real volume IDs of the sharing partner VOL whose migration copy status is “complete” are registered.
  • the migration destination VOL is SVOL and is a PVOL reference or occupancy reference
  • the migration destination VOL is a PVOL
  • “None” is displayed. Even if the reference is shared, if there is no shared partner VOL, or if the migration copy status of any shared partner VOL is incomplete, data to be shared is not stored in the pool 530 of the migration destination storage apparatus 500B. Therefore, it becomes “None”.
  • the data presence / absence column 1305 a value indicating whether or not there is data in the data column 1306 is registered.
  • the data column 1306 stores the data of the chunk.
  • the data is stored under the condition that “the migration destination VOL is a PVOL”, or “the migration destination VOL is an SVOL and shared reference, and the value of the shared partner VOL real volume ID column 1304 is“ none ”. Or “move destination VOL is an exclusive reference in SVOL”.
  • FIG. 11 is a flowchart showing an example of the volume movement process. This processing is executed by the migration source storage 500A in the following description of each step, but may be executed by the management server 200.
  • the management server 200 executes each step by issuing an instruction to each storage device 500 and the host computer 100 via the LAN.
  • the storage apparatus 500 executes, it is executed by the migration copy control program 552 included in the storage apparatus 500.
  • Step 1401 A migration destination VOL that belongs to the virtual storage device 600 having the same virtual storage ID as the migration source VOL of the migration source storage device 500A and has the same virtual volume ID is created in the migration destination storage device 500B.
  • the snapshot pair management information 800, the snapshot PVOL management information 900, and the snapshot SVOL management information 1000 are updated between the migration source storage apparatus 500A and the migration destination storage apparatus 500B.
  • the migration source VOL is one PVOL and all SVOLs that form a snapshot pair with the PVOL. Accordingly, in this step, one or more destination VOLs are created.
  • a snapshot pair having the same configuration as that of the migration source storage apparatus 500A is set for the created migration destination VOL.
  • the pair state of the snapshot is PSUS.
  • a path is set for the migration destination VOL to the host.
  • Step 1402 A migration copy pair is set in the migration source VOL and the migration destination VOL. At this time, the pair status of the moving copy pair is COPY.
  • Step 1403 The migration copy process (described in FIG. 12) is executed.
  • Step 1404 Release the path to the host of the migration source VOL.
  • Step 1405 Release the moving copy pair.
  • “all SVOLs” is set, but “some SVOLs” may be set. In this case, only some SVOLs are moved to the migration destination storage apparatus 500B.
  • Such partial migration is effective, for example, when load distribution is performed between the migration source storage apparatus 500A and the migration destination storage apparatus 500B.
  • FIG. 12 shows an example of the migration copy process. It is a flowchart. This process is executed by the migration copy control program 552 of the migration source storage apparatus 500A.
  • Step 1501 With reference to the moving copy pair management information 1200, one of the moving copy pairs whose pair status is COPY is selected. The moving copy pair selected here is called a target pair. Step 1502: If the target pair is found, proceed to Step 1503. Otherwise, since all the moving copies have been completed, the process proceeds to step 1512 (end). Step 1503: Referring to the moving copy pair management information 1200, one address whose moving copy status is “incomplete” is selected from the addresses of the target pair. The address selected here is called a target address. In the following description, the word “address” may refer to the chunk indicated by the address unless there is a risk of misunderstanding.
  • Step 1504 Referring to the snapshot pair management information 800 and the moving copy pair management information 1200, if the target pair is a moving copy pair between snapshot PVOLs (YES), the process proceeds to step 1507. If it is a moving copy pair between snapshots SVOL (NO), the process proceeds to step 1505.
  • Step 1505 Referring to the moving copy pair management information 1200, if the target address of the PVOL that forms a snapshot pair with the volume (SVOL) of the target pair is in the moving copy state “completed”, the process proceeds to step 1507. If the moving copy status is “incomplete”, the process proceeds to step 1506.
  • Step 1506 If the moving copy state of the target address of PVOL is “incomplete”, it is necessary to execute the moving copy of the target address of PVOL first, so the target pair is changed to a moving copy pair between PVOLs. If the moving copy status of the PVOL referenced by the SVOL remains “incomplete” and a moving copy of the referenced SVOL is made first, the destination SVOL before the moving copy status becomes “completed” With reference to PVOL, there is a discrepancy in the snapshot configuration between the source and destination. Step 1506 makes it possible to prevent this discrepancy.
  • Step 1507 The exclusion of the target address of the migration source VOL is acquired. In all the subsequent processes including this process, exclusion is acquired only in the migration source VOL, and exclusion control is not performed in the migration destination VOL. As shown in step 2002 of FIG. 17 to be described later, when a write command for the migration destination VOL is received, the write command is transferred to the migration source storage apparatus. Therefore, if exclusive control is performed only on the migration source VOL, There is no discrepancy in the snapshot configuration between the source and destination VOLs.
  • Step 1508 If acquisition of exclusion is successful, the process proceeds to Step 1509. If unsuccessful, the process proceeds to step 1501.
  • Step 1509 The snapshot allocation information 1300 is transmitted to the migration destination storage apparatus 500B, and a process completion notification from the migration destination storage apparatus 500B is awaited.
  • the migration destination VOL real volume ID of the target pair is registered in the migration destination VOL real volume ID column 1301 of the snapshot allocation information 1300 based on the migration copy pair management information 1200.
  • a target address is registered in the address column 1302.
  • a reference type is registered based on the snapshot SVOL management information 1000. When the target pair is a moving copy pair between PVOLs, the reference type 1303 is empty.
  • the real volume ID of the shared partner VOL is registered based on the shared partner VOL real volume ID column 1006 of the snapshot SVOL management information 1000. Although it may not be registered depending on conditions such as the reference type, such conditions have already been described. The conditions for registering the data presence / absence column 1305 and the data column 1306 have also been described.
  • Step 1510 The moving copy status of the target address of the target pair in the moving copy pair management information 1200 is set to “complete”, and the exclusion is released.
  • Step 1511 If the moving copy status of all addresses of the target pair is “complete”, the pair status of the moving copy is changed to PAIR, and the process proceeds to Step 1501. Otherwise, nothing is done in this step, and the process proceeds to step 1501 in the same manner.
  • FIG. 13 is a flowchart showing an example of processing at the time of receiving snapshot allocation information from the migration source storage apparatus. This process is executed by the migration copy control program 552 of the migration destination storage apparatus 500B.
  • Step 1601 The snapshot allocation information 1300 transmitted at Step 1509 is received.
  • Step 1602 If the migration destination VOL indicated by the migration destination VOL real volume ID column 1301 of the snapshot allocation information 1300 is a snapshot PVOL (YES), the process proceeds to Step 1603. If it is a snapshot SVOL (NO), the process proceeds to step 1604.
  • Step 1603 The data of the target address (value of the address string 1302) of the migration destination VOL is updated with the data of the data string 1306. Since this step is a step for PVOL, there is no update related to the snapshot SVOL management information 1000 such as the reference type.
  • Step 1604 If the real volume ID of the shared partner VOL is stored in the shared partner VOL real volume ID column 1304 of the snapshot allocation information 1300 (YES), the process proceeds to Step 1606. If the real volume ID of the sharing partner VOL is not stored (NO), the process proceeds to step 1605.
  • Step 1605 The unassigned address of the pool 530 is searched, and the data in the data string 1306 is stored in the chunk of the found address. Further, the value of the reference type column 1003 of the snapshot SVOL management information 1000 of the migration destination VOL is updated with the value of the reference type column 1303 of the snapshot allocation information 1300. Further, the value of the reference address column 1004 is set as the address of the chunk of the pool 530 storing the data.
  • Step 1606 For the target address of the migration destination VOL, the values of the reference type column 1003 and the shared partner VOL real volume ID column 1006 of the snapshot SVOL management information 1000 are updated with the values of the columns having the same names in the snapshot allocation information 1300, respectively. . Similarly, for the target address of the migration destination VOL, the reference address column 1004 is updated with the value of the column of the same name in the snapshot SVOL management information 1000 of the sharing partner VOL. Further, for the target address of the sharing partner VOL, the value of the sharing partner VOL real volume ID column 1006 of the snapshot SVOL management information 1000 is updated with the value of the column of the same name in the snapshot allocation information 1300. As described above, when the sharing partner VOL exists, the processing is completed only by rewriting the snapshot SVOL management information 1000, and data transfer is not performed.
  • Step 1607 The migration copy status of the target address of the migration copy pair to which the migration destination VOL belongs is set to “complete”.
  • Step 1608 If the move copy status of all addresses is “complete” in step 1607, the pair status of the move copy pair is changed to PAIR. Otherwise, do nothing in this step.
  • Step 1609 A completion notification is transmitted to the migration source storage apparatus 500A.
  • the migration copy process is performed in units of chunks using the snapshot allocation information 1300 that is information in units of chunks, and exclusive acquisition at that time is also performed in units of chunks.
  • the I / O is acquired for chunks that are not related to the migration copy process even if they are included in the same volume by acquiring the exclusion in a finer unit. O can be accepted.
  • FIG. 14 is a flowchart showing an example of host write reception processing to the migration source VOL. This processing is executed by the snapshot control program 551 of the migration source storage apparatus 500A.
  • Step 1701 A write command for the migration source VOL is received from the host.
  • the source VOL may be either PVOL or SVOL. Further, the volume and address that are the write target are referred to as a target VOL (or write target VOL) and target address, respectively.
  • Step 1702 The exclusion of the target address of the write target VOL and the SVOL that shares data with the write target VOL is acquired.
  • SVOL that shares data with the write target VOL means “SVOL whose target address is a PVOL reference” when the write target VOL is PVOL, and about the target address when the write target VOL is SVOL. It is a sharing partner VOL. Note that when the target address of the write target VOL is a PVOL reference or exclusive reference, exclusion is acquired only for the write target VOL.
  • step 1702 Due to the exclusion in step 1702, during the write process, the migration copy process is no longer executed to the address to which the reference destination is changed by the write due to the write target address and the snapshot configuration. Thus, it is possible to prevent a difference in the snapshot configuration from occurring.
  • the target address of the write target VOL and the SVOL that shares data with the write target VOL has been acquired by moving copy, for example, does not proceed to step 1703 and execute step 1702 again? Return an error to the host.
  • Step 1703 Write is executed. That is, the data included in the write command is written to the target address of the target VOL.
  • the write target VOL is SVOL and the target address is a PVOL reference
  • an unallocated chunk of the pool 530 is searched, data is written to the found chunk, and the target address is updated with the address of the chunk of the found pool 530.
  • the target address is updated with the address of the chunk of the found pool 530.
  • the writing here is physically performed to the cache memory 507 first, and writing (destage) from the cache memory 507 to the physical disk 501 is executed asynchronously with this processing. This is a general storage apparatus process.
  • Step 1704 Data saving processing (described in FIG. 16) is executed.
  • Step 1705 If the moving copy state of the target address of the write target VOL is “completed”, the process proceeds to step 1706. If it is “incomplete”, the process proceeds to step 1709. When the migration copy status is “incomplete”, the write to the write target VOL of the migration source VOL is reflected in the migration destination VOL by the subsequent migration copy, and when the migration copy status is “complete”, the migration source VOL is written. The write to the target VOL is reflected on the destination VOL at step 1706.
  • Step 1706 The write command for the migration destination VOL that forms a migration copy pair with the write target VOL and the snapshot allocation information 1300 of the SVOL that acquired the exclusion in Step 1702 are transmitted to the migration destination storage apparatus 500B, and a completion notification is awaited.
  • the snapshot allocation information 1300 to be transmitted is not “snapshot allocation information 1300 of the SVOL acquired in step 1702” but “moving copy status of the target address in the SVOL acquired in step 1702 is incomplete.
  • the snapshot allocation information 1300 may be used.
  • the snapshot allocation information 1300 to be transmitted is the information before saving data in step 1704.
  • the change of the reference destination due to the saving caused by the write to the migration source VOL is reflected by the saving performed at the migration destination, so the snapshot allocation information 1300 to be transmitted may be the information before saving the data in step 1704. .
  • the migration copy is executed not only during the migration copy processing of FIGS. 12 and 13 but also when writing to the migration source.
  • Step 1707 The migration copy state of the target address of the SVOL that sent the snapshot allocation information 1300 in step 1706 is set to “complete”.
  • Step 1708 As a result of Step 1707, the pair status of the move copy pair in which the move copy status of all addresses is “complete” is set to PAIR.
  • Step 1709 The exclusion acquired in step 1702 is canceled.
  • Step 1710 Send completion (RSP) to the host.
  • FIG. 15 is a flowchart showing an example of processing at the time of receiving write and snapshot allocation information from the migration source storage apparatus 500A. This process is executed by the snapshot control program 551 of the migration destination storage apparatus 500B.
  • Step 1801 The write command and snapshot allocation information for the migration destination VOL (write target VOL) transmitted from the migration source storage apparatus 500A in Step 1706 are received.
  • Step 1802 Based on the snapshot allocation information 1300, the snapshot SVOL management information 1000 is updated. This update process is the same as the snapshot allocation information reception process (shown in FIG. 13). However, since the snapshot allocation information 1300 processed in this step includes information of a plurality of SVOLs, the snapshot allocation information reception process is executed for each.
  • Step 1803 For the SVOL updated in Step 1802, the migration copy state of the target address is set to “complete”.
  • Step 1804 As a result of Step 1803, the pair status of the move copy pair in which the move copy status of all addresses is “complete” is set to PAIR.
  • Step 1805 Write is executed.
  • Step 1806 Data saving processing (described in FIG. 16) is executed.
  • Step 1807 A completion notification is returned to the migration source storage apparatus 500A.
  • FIG. 16 is a flowchart showing an example of the data saving process. This process is executed by the snapshot control program 551 of the storage apparatus 500. Further, although this process is executed immediately after the write is executed, it may be executed asynchronously. That is, the data saving process may not be executed immediately after the write is executed (written to the cache memory 507), but may be executed when the destage is executed.
  • Step 1901 When the write target VOL is PVOL, the process proceeds to Step 1902. If the target VOL is an SVOL, the process proceeds to step 1905.
  • Step 1902 Among the SVOLs, a search is made for a target address whose reference type is a PVOL reference.
  • Step 1903 If at least one SVOL is found in Step 1902, an unallocated chunk is searched from the pool 530, and the data before the write execution of the target address is stored in the chunk. The address of the storage chunk is called the new address. If no SVOL is found, nothing is done in this step.
  • Step 1904 For the target address of the SVOL found in Step 1902, the reference type column 1003 of the snapshot SVOL management information 1000 is updated to the shared reference, and the reference address column 1004 is updated to the new address. Further, the value of the shared partner VOL real volume ID column 1006 is updated based on the found SVOL.
  • Step 1905 If the target address is a shared reference, go to Step 1906. If the target address is a PVOL reference or an exclusive reference, the process proceeds to step 1910.
  • Step 1906 For the target address of the write target VOL, the reference type column 1003 of the snapshot SVOL management information 1000 is set as an exclusive reference.
  • Step 1907 The sharing partner VOL is searched for the target address of the write target VOL. That is, the shared partner VOL real volume ID column 1006 of the snapshot SVOL management information 1000 is referred to.
  • Step 1908 If at least one shared partner VOL is found in Step 1907, an unallocated chunk is searched from the pool 530, and the data before write execution of the target address is stored in the chunk. The address of the storage chunk is called the new address. If no shared partner VOL is found, nothing is done in this step.
  • Step 1909 The reference address column 1004 of the snapshot SVOL management information 1000 is updated to a new address for the target address of the shared partner VOL found in Step 1907.
  • Step 1910 For the target address of the write target VOL, the reference type column 1003 of the snapshot SVOL management information 1000 is set as an exclusive reference. If it is already an exclusive reference, nothing is done in this step.
  • FIG. 17 is a flowchart showing an example of processing at the time of host write reception to the migration destination VOL. This process is executed by the snapshot control program 551 of the migration destination storage apparatus 500B.
  • Step 2001 Receive a write for the migration destination VOL from the host computer 100.
  • Step 2002 Transfer the write command to the migration source storage apparatus 500A and wait for the completion notification.
  • Step 2003 If the migration copy state of the target address of the write target VOL included in the completion notification is “complete”, the process proceeds to step 2004. If “incomplete”, the process proceeds to step 2009.
  • Step 2004 Update the snapshot SVOL management information 1000 based on the snapshot allocation information 1300 included in the completion notification.
  • This update process is the same as the snapshot allocation information reception process (shown in FIG. 13). However, since the snapshot allocation information 1300 processed in this step includes information of a plurality of SVOLs, the snapshot allocation information reception process is executed for each.
  • Step 2005 The migration copy status is set to “complete” for the target address of the SVOL updated in step 2004.
  • Step 2006 As a result of Step 2005, the pair status of the move copy pair in which the move copy status of all addresses is “complete” is set to PAIR.
  • Step 2007 Write is executed.
  • Step 2008 A data saving process is executed.
  • Step 2009 Send completion (RSP) to the host computer 100.
  • Step 2010 Send exclusive release to the migration source storage apparatus 500A.
  • FIG. 18 is a flowchart showing an example of processing upon receipt of a write from the migration destination storage apparatus 500B. This processing is executed by the migration source storage apparatus 500A.
  • Step 2101 A write command is received from the migration destination storage apparatus 500B.
  • Step 2102 The exclusion of the target address of the write target VOL and the SVOL sharing data with the write target VOL is acquired.
  • SVOL that shares data with the write target VOL means “SVOL whose target address is a PVOL reference” when the write target VOL is PVOL, and about the target address when the write target VOL is SVOL. It is a sharing partner VOL. Note that when the target address of the write target VOL is a PVOL reference or exclusive reference, exclusion is acquired only for the write target VOL.
  • Step 2103 Write is executed.
  • Step 2104 A data saving process is executed.
  • Step 2106 A completion notification is returned to the migration destination storage apparatus 500B, and an exclusive release instruction is awaited.
  • the completion notification to be transmitted includes “the migration copy state of the target address of the write target VOL is“ complete ”” and the snapshot allocation information 1300 of the SVOL that acquired the exclusion in step 2102. Note that the snapshot allocation information 1300 is information before execution of the data saving process in step 2104.
  • snapshot allocation information 1300 to be transmitted is not “snapshot allocation information 1300 of the SVOL that acquired the exclusion” but “snapshot allocation information 1300 of the target address that has not been moved and copied at the target address”. But you can.
  • Step 2107 The migration copy status is set to “complete” for the target address of the SVOL that has transmitted the snapshot allocation information 1300 in step 2106.
  • Step 2108 As a result of Step 2107, the pair status of the move copy pair in which the move copy status of all addresses is “completed” is set to PAIR.
  • the completion notification to be transmitted includes that “the migration copy state of the target address of the write target VOL is“ incomplete ””.
  • Step 2110 The acquired exclusion is released. This step is not executed until there is an exclusion release instruction from the migration destination storage apparatus 500B as described in step 2106 and step 2109.
  • FIG. 19 is a flowchart showing an example of processing upon receipt of a read to the migration source VOL. This process is executed by the snapshot control program 551 of the migration source storage apparatus 500A.
  • Step 2201 A read (sometimes referred to as a read command) is received from the host computer 100 or the migration destination storage apparatus 500B.
  • the volume and address to be read are called a read target VOL and a target address, respectively.
  • Step 2202 The exclusion of the target address of the read target VOL is acquired.
  • Step 2203: Read is executed. That is, the data stored in the target address of the read target VOL is read.
  • Step 2204 The exclusion acquired at step 2202 is canceled.
  • Step 2205 Send completion (RSP).
  • the RSP also includes read result data.
  • FIG. 20 is a flowchart showing an example of processing at the time of receiving a lead to the destination VOL. This process is executed by the snapshot control program 551 of the migration destination storage apparatus 500B.
  • Step 2301 A read is received from the host computer 100.
  • Step 2302 If the moving copy status of the target address of the read target VOL is “complete”, the process proceeds to step 2303. If it is “incomplete”, the process proceeds to step 2304.
  • the moving copy is performed in units of chunks using the snapshot allocation information 1300, and at this time, the exclusion is acquired in units of chunks.
  • the exclusion is acquired in units of chunks.
  • write data is written to the migration source volume to determine whether the migration copy of the write target address is complete, If the migration copy is complete, send the data related to the write request to the migration destination volume to reflect the write to the migration source in the migration destination, and if the migration copy is not complete, move the write data
  • the transmission to the movement source is reflected on the movement destination by the movement copy performed later, without transmitting it first.
  • the snapshot copy information 1300 is transmitted together with the write transmission from the migration source to the migration destination, so that the migration copy process is performed when writing to the migration source or the migration destination.
  • Both write processing and move copy processing acquire chunk exclusion. By performing a move copy of a chunk that has been locked by a write process, the number of times that a lock is acquired can be reduced compared to when a copy of a chunk is acquired again and a move copy is performed later. As a result, the processing time for moving copy can be shortened.
  • FIG. 21 to 27 A second embodiment according to the present invention will be described with reference to FIGS. 2 to 11, 13, 16, and 19 to 25.
  • FIG. 21 to 27 A second embodiment according to the present invention will be described with reference to FIGS. 2 to 11, 13, 16, and 19 to 25.
  • FIG. 21 to 27 A second embodiment according to the present invention will be described with reference to FIGS. 2 to 11, 13, 16, and 19 to 25.
  • FIG. 21 to 27 A second embodiment according to the present invention will be described with reference to FIGS. 2 to 11, 13, 16, and 19 to 25.
  • FIG. 21 to 27 which are differences from the first embodiment will be described.
  • FIG. 21 is a flowchart illustrating an example of the move copy process. This processing is executed by the migration source storage apparatus 500A. Step 2401: One moving copy pair whose pair status is COPY is selected. The moving copy pair selected here is called a target pair.
  • Step 2402 If the target pair is found, proceed to Step 2403. Otherwise, since all the moving copies have been completed, the process proceeds to step 2412 (end).
  • Step 2403 Select one address whose migration copy status is “incomplete” from the addresses of the target pair.
  • the address selected here is called a target address.
  • Step 2404 If the target pair is a moving copy pair between snapshot PVOLs (YES), the process proceeds to step 2407. If it is a moving copy pair between snapshots SVOL (NO), the process proceeds to step 2405.
  • Step 2405 If the target address of the PVOL that forms the snapshot pair with the volume (SVOL) of the target pair is in the migration copy state “completed”, the process proceeds to step 2407. If the moving copy status is “incomplete”, the process advances to step 2406.
  • Step 2406 When the moving copy state of the target address of PVOL is “incomplete”, it is necessary to execute the moving copy of the target address of PVOL first, so the target pair is changed to a moving copy pair between PVOLs.
  • Step 2407 The snapshot allocation information 1300 is transmitted to the migration destination storage apparatus 500B, and a process completion notification from the migration destination storage apparatus 500B is awaited.
  • the values registered in each column of the snapshot allocation information 1300 are the same as those in the first embodiment. If the method of executing the data saving process asynchronously with the write is taken, the target address of the related volume (if the target address of the target pair is a PVOL reference, the target address of the PVOL, the target before executing this step) If there is a shared partner VOL at the target address of the pair, the destage and data save processing of the shared partner VOL target address) is executed. Further, the destaging and data saving processing of the related volume is also executed immediately before detecting the difference in the snapshot allocation information 1300 in step 2408.
  • Step 2408 The snapshot allocation information 1300 transmitted in step 2407 is compared with the snapshot allocation information 1300 based on the latest information of the migration source storage apparatus 500A at the time of execution of this step. If there is a difference, the process returns to step 2407. If they are the same, the process proceeds to step 2409. In this step, while the snapshot allocation information 1300 is being transmitted to the migration destination storage apparatus 500B in step 2407, the data and management information of the target address of the target pair in the migration source storage apparatus 500A are written and saved by the data saving process. If changed, execute to detect and correct the change.
  • Step 1607 and Step 1608 are omitted. Note that the change of the migration copy status in the migration destination storage apparatus 500B is executed in step 2411.
  • Step 2408 is repeated until there is no difference between the snapshot configuration of the migration source address and the migration destination address in step 2408. Therefore, during the migration copy process, the migration copy process target address and the snapshot copy configuration target address are changed. Even if a write process occurs at an address related to, it is possible to prevent the snapshot configuration from being different between the source address and the destination address. Further, as in the first embodiment, by acquiring exclusion for each chunk and performing a moving copy using the snapshot allocation information 1300 that is information in units of chunks, I / O to a chunk unrelated to the moving copy can be performed. Can be accepted.
  • Step 2409 The migration copy state of the target address of the target pair is set to “complete”.
  • Step 2410 If the moving copy status of all addresses of the target pair is “complete”, the pair status of the moving copy is changed to PAIR, and the processing proceeds to step 2411. Otherwise, nothing is done in this step, and the process proceeds to step 2411 in the same manner.
  • Step 2411 The migration copy status and the pair status change in Step 2409 and Step 2410 are transmitted to the migration destination storage apparatus 500B. That is, the migration destination storage apparatus 500B is notified to set the migration copy status of the target address of the target pair to “complete”. If the moving copy status of all addresses is “completed”, a notification is also made to set the moving copy pair status to PAIR. Note that the processing of the migration destination storage apparatus 500B that has received this notification merely updates the migration copy pair management information 1200, and therefore the flowchart is omitted.
  • FIG. 22 is a flowchart showing an example of processing at the time of host write reception to the migration source VOL. This processing is executed by the migration source storage apparatus 500A.
  • Step 2501 A write command for the migration source VOL is received from the host.
  • the source VOL may be either PVOL or SVOL.
  • the volume and address that are the write target are referred to as a target VOL (or write target VOL) and target address, respectively.
  • Step 2502 If the write target VOL is PVOL, or “the write target VOL is SVOL and the target address is an exclusive reference”, the process proceeds to Step 2503. Otherwise (in SVOL, the target address is a PVOL reference or shared reference), the process proceeds to step 2504. Step 2503: The exclusion of the target address of the write target VOL is acquired. Step 2504: If the target address of the write target VOL is a PVOL reference, the process proceeds to Step 2505. In the case of shared reference, the process proceeds to step 2506.
  • Step 2505 The exclusion of the target address of the write target VOL and “PVOL that forms a snapshot pair with the write target VOL” is acquired.
  • Step 2506 The exclusion of the target address of the write target VOL and the “volume that is the shared partner VOL for the target address of the write target VOL” is acquired.
  • the exclusive acquisition in steps 2502 to 2506 is different from the exclusive acquisition in step 1702 of the first embodiment.
  • the PVOL and the SVOL that refers to the PVOL in the first embodiment, when the PVOL is written, the PVOL and the SVOL are exclusive, and when the SVOL is written, the SVOL is exclusive.
  • the second embodiment when there is a write in the PVOL, the exclusion of the PVOL is acquired.
  • the exclusion of the PVOL referred to as the SVOL is acquired.
  • Step 2507 Write is executed.
  • Step 2508 Data saving processing (described in FIG. 16) is executed.
  • Step 2509 If the migration copy status of the target address of the write target VOL is “completed”, the process proceeds to step 2510. If “incomplete”, the process proceeds to step 2511.
  • Step 2510 A write command for the migration destination VOL that forms a migration copy pair with the write target VOL is transmitted to the migration destination storage apparatus 500B, and a completion notification is awaited.
  • Step 2511 The acquired exclusion is released.
  • Step 2512 Send completion (RSP) to the host.
  • RSP Send completion
  • FIG. 23 is a flowchart showing an example of processing upon receipt of a write from the migration source storage apparatus. This processing is executed by the migration destination storage apparatus 500B.
  • Step 2601 The write command for the migration destination VOL (write target VOL) transmitted from the migration source storage apparatus 500A in step 2510 is received.
  • Step 2602 Write is executed.
  • Step 2603 Data saving processing (described in FIG. 16) is executed.
  • Step 2604 Send completion (RSP) to the migration source storage apparatus 500A.
  • FIG. 24 is a flowchart showing an example of processing upon receipt of a host write to the migration destination VOL. This processing is executed by the migration destination storage apparatus 500B.
  • Step 2701 A write for the migration destination VOL is received from the host computer 100.
  • Step 2702 The write command is transferred to the migration source storage apparatus 500A, and a completion notification is awaited.
  • Step 2704 Write is executed.
  • Step 2705 Data saving processing is executed.
  • Step 2706 Send completion (RSP) to the host computer 100.
  • Step 2707 An exclusion release is transmitted to the migration source storage apparatus 500A.
  • FIG. 25 is a flowchart showing an example of processing upon receipt of a write from the migration destination storage apparatus 500B. This processing is executed by the migration source storage apparatus 500A.
  • Step 2801 A write command is received from the migration destination storage apparatus 500B.
  • Step 2802 to Step 2806 Steps for obtaining exclusion, but since the processing is the same as Step 2502 to Step 2506 in FIG.
  • Step 2807 Write is executed.
  • Step 2808 Data saving processing is executed.
  • Step 2809 If the migration copy status of the target address of the write target VOL is “completed”, the process proceeds to step 2810. If “incomplete”, the process proceeds to step 2811.
  • Step 2810 A completion notification is returned to the migration destination storage apparatus 500B, and an exclusive release instruction is awaited. Note that the completion notification to be transmitted includes “the migration copy state of the target address of the write target VOL is“ complete ””.
  • Step 2811 A completion notification is returned to the migration destination storage apparatus 500B, and an exclusive release instruction is awaited.
  • the completion notification to be transmitted includes that “the migration copy state of the target address of the write target VOL is“ incomplete ””.
  • Step 2812 The acquired exclusion is released. This step is not executed until there is an exclusion release instruction from the migration destination storage apparatus 500B as described in step 2810 and step 2811.
  • the second embodiment does not acquire the exclusion of the target address of the moving copy at the time of the moving copy process, and instead takes a snapshot until there is no difference in the snapshot configuration between the target pairs of the moving copy.
  • the transmission of the allocation information 1300 is repeated. Therefore, the write to the target address of the moving copy is not delayed due to exclusion by the moving copy, and the snapshot allocation information is used when the write command is transferred from the source VOL to the destination VOL when writing to the source. 1300 is not transmitted. Therefore, the load during the write process is reduced as compared with the first embodiment.
  • the exclusive acquisition at the time of writing to the movement source has a higher write performance to the PVOL than the first embodiment.
  • FIG. 2 A third embodiment according to the present invention will be described with reference to FIGS. 2 to 9, 11, 16, 16, 19, 20, 23, and 26 to 29.
  • FIG. The main difference between the present embodiment and the first and second embodiments lies in the moving copy processing method.
  • the snapshot VOL is migrated by transmitting the snapshot allocation information 1300 including chunk data and pointers of the migration source VOL from the migration source storage to the migration destination storage. Executed.
  • the migration of the snapshot VOL is executed by transmitting the chunk data of the migration source VOL as a write command from the migration source storage apparatus 500A to the migration destination storage apparatus 500B.
  • This processing method eliminates the need for processing for interpreting the snapshot allocation information 1300 in the migration destination storage apparatus 500B as compared with the first and second embodiments.
  • the migration destination storage apparatus 500B has a basic function as a storage apparatus, that is, a function for processing a write from the host and a snapshot function, the snapshot VOL can be migrated.
  • the order of the target VOLs of the migration copy process is not particularly considered. In the present embodiment, it is necessary to perform the process of reproducing in the migration destination storage apparatus 500B in order from the older generation SVOL. Therefore, there is a limitation on the processing order.
  • FIG. 26 is a flowchart showing an example of the moving copy process. This processing is executed by the migration source storage apparatus 500A.
  • the difference data managed by the migration source SVOL (all data of the SVOL in the oldest generation SVOL) is of the old generation Are sequentially written in the destination PVOL.
  • the pair status of the snapshot pair of the migration destination SVOL corresponding to the generation is changed.
  • Step 2901 From the copy copy pair whose pair status is COPY, select the copy source with the oldest snapshot generation (oldest generation) of the transfer source VOL.
  • the moving copy pair selected here is called a target pair.
  • PVOL is selected as the latest generation.
  • the snapshot generation is an order when one or more snapshot pairs of a certain PVOL are arranged in the order of changing to PSUS.
  • the oldest snapshot pair that changed to PSUS is the oldest generation, and the latest generation is arranged in the order of change to PSUS.
  • Information about this generation is held as a generation number in the snapshot pair management information 800, for example.
  • This generation number is incremented (incremented) every time a snapshot pair changes to PSUS, and is registered as the generation number of the snapshot pair. That is, the smaller the generation number, the older the generation and the larger the generation number, the new generation.
  • Step 2902 If the target pair is found, proceed to Step 2903. Otherwise, all moving copies have been completed, and the process proceeds to step 2912 (end).
  • Step 2903 From the addresses of the target pair, one address whose migration copy status is “incomplete” is selected. The address selected here is called a target address.
  • Step 2904 Acquire exclusion of the target address.
  • Step 2905 If exclusive acquisition is successful in step 2904, the flow proceeds to step 2906. If unsuccessful, the process proceeds to step 2903.
  • Step 2906 It is detected whether there is a difference between the data of the target address of the target pair as compared to the previous generation (previous generation). If there is a difference, the process proceeds to step 2907. If there is no difference, the process proceeds to Step 2908. If the previous generation does not exist, the address is processed as if there is a difference.
  • Step 2907 A write command of the target address data (difference data) is transmitted to the destination PVOL, and the process is awaited. Thereby, the data of the target address of the transfer source VOL of the target pair matches the target address of the transfer destination PVOL.
  • Step 2908 The moving copy status of the target address of the target pair is set to “complete”.
  • Step 2909 If the moving copy status of all addresses of the target pair is “complete”, the pair status of the moving copy is changed to PAIR, and the process proceeds to step 2910. Otherwise, nothing is done in this step, and the process proceeds to step 2910 in the same manner.
  • Step 2910 If the pair status of the moving copy pair is PAIR as a result of Step 2909, the pair status of the moving copy of the target pair is set to PAIR, and the pair status of the snapshot of the moving destination SVOL is set to PSUS. Notify you to change.
  • the target pair is a PVOL pair, only the notification for changing the pair status of the migration copy of the target pair to PAIR is transmitted, and the notification for changing the snapshot pair status to PSUS is omitted. Note that the processing of the migration destination storage apparatus 500B that has received this notification merely updates the migration copy pair management information 1200 and the snapshot SVOL management information 1000, and therefore the flowchart is omitted.
  • Step 2911 The acquired exclusion is released.
  • FIG. 27 is a flowchart showing an example of processing upon receipt of a host write to the migration source VOL.
  • This processing is executed by the migration source storage apparatus 500A.
  • the migration copy of the write target VOL is completed (becomes PAIR)
  • a write command is transmitted to the migration destination VOL that forms a migration copy pair with the write target VOL
  • the migration source VOL Match the data of the destination VOL. If the migration copy of the write target VOL has not been completed and the migration copy status of the target address is “complete”, the write is transferred to the migration destination PVOL because it is before the PSUS transition in the migration copy process, and the migration source VOL And the data of the destination PVOL are matched. If the migration copy of the write target VOL has not been completed and the migration copy status of the target address is “incomplete”, the write is not transferred to the migration destination storage apparatus 500B.
  • each step will be described.
  • Step 3001 A write command for the migration source VOL is received from the host.
  • the source VOL may be either PVOL or SVOL.
  • the volume and address that are the write target are referred to as a target VOL (or write target VOL) and target address, respectively.
  • Step 3002 to Step 3006 In these steps, an appropriate range of exclusion is acquired. Details are omitted because they are the same as steps 2502 to 2506.
  • Step 3007 Write is executed.
  • Step 3008 The data saving process (described in FIG. 16) is executed.
  • Step 3009 If the pair status of the migration copy of the write target VOL is PAIR, the process proceeds to Step 3012. In this case, if the write target VOL is SVOL, the snapshot pair of the corresponding migration destination SVOL is PSUS. Otherwise, go to step 3010. In this case, if the write target VOL is SVOL, the snapshot pair of the corresponding movement destination SVOL is PAIR.
  • Step 3010 If the moving copy status of the target address of the write target VOL is “complete”, the process proceeds to step 3011. If “incomplete”, the process proceeds to step 3013. This is because in the case of “incomplete”, the write to the migration source can be reflected in the migration destination by the migration copy process to be executed later on the target address of the write target VOL.
  • Step 3011 A write command is transmitted to the movement destination PVOL, and the process is awaited.
  • the migration destination storage apparatus 500B that has received the write command executes the write reception process shown in FIG.
  • Step 3012 A write command is transmitted to the movement destination VOL and the process is completed.
  • the migration destination storage apparatus 500B that has received the write command executes the write reception process shown in FIG. Note that the difference between this step and step 3011 is that the transmission target of the write command is “a migration destination VOL that forms a migration copy pair with a write target VOL” or “a migration destination PVOL that forms a snapshot pair with the migration destination VOL”. .
  • the transmission target of the write command is “a migration destination VOL that forms a migration copy pair with a write target VOL” or “a migration destination PVOL that forms a snapshot pair with the migration destination VOL”.
  • the write target VOL is SVOL
  • the snapshot pair of the corresponding destination SVOL is PSUS. Therefore, in order to reflect the write at the movement source on the movement destination, it is only necessary to transmit a write command to “the movement destination VOL that forms a movement copy pair with the write target VOL”.
  • the write target VOL is SVOL in step 3011
  • the snapshot pair of the corresponding destination SVOL is PAIR. Therefore, in order to reflect the write at the movement source on the movement destination, a write command may be transmitted to “the movement destination PVOL that forms a snapshot pair with the movement destination VOL”.
  • the write command transmission target is the destination PVOL.
  • Step 3013 The acquired exclusion is released.
  • Step 3014 Send completion (RSP) to the host.
  • RSS Send completion
  • FIG. 28 is a flowchart showing an example of processing upon receipt of a host write to the migration destination VOL. This processing is executed by the migration destination storage apparatus 500B.
  • Step 3101 A write for the migration destination VOL is received from the host computer 100.
  • Step 3102 The write command is transferred to the migration source storage apparatus 500A, and a completion notification is awaited.
  • Step 3104 Write is executed.
  • Step 3105 Data saving processing is executed.
  • Step 3106 Send completion (RSP) to the host computer 100.
  • Step 3107 An exclusive release is transmitted to the migration source storage apparatus 500A.
  • FIG. 29 is a flowchart illustrating an example of processing upon receipt of a write from the migration destination storage apparatus. This processing is executed by the migration source storage apparatus 500A.
  • Step 3201 A write command is received from the migration destination storage apparatus 500B.
  • Step 3202 to Step 3206 Steps for obtaining exclusion, but since the processing is the same as Step 2502 to Step 2506, description thereof will be omitted.
  • Step 3209 If the pair status of the migration copy of the write target VOL is PAIR, the process proceeds to Step 3212. In this case, writing to the destination VOL is performed in step 2104 in FIG. Otherwise, go to step 3210. In this case, if the write target VOL is SVOL, the snapshot pair of the corresponding movement destination SVOL is PAIR.
  • Step 3210 If the moving copy status of the target address of the write target VOL is “complete”, the process proceeds to step 3211. If “incomplete”, the process proceeds to step 3212. This is because in the case of “incomplete”, the write to the migration source can be reflected in the migration destination by the migration copy process to be executed later on the target address of the write target VOL.
  • Step 3211 A write command is transmitted to the destination PVOL, and the process is awaited.
  • the write target VOL is SVOL
  • the snapshot pair of the corresponding destination SVOL is PAIR. Therefore, in order to reflect the write at the movement source on the movement destination, a write command may be transmitted to the movement destination PVOL.
  • the migration destination storage apparatus 500B that has received the write command executes the write reception process shown in FIG.
  • Step 3212 A completion notification is returned to the migration destination storage apparatus 500B, and an exclusive release instruction is awaited.
  • Step 3213 The acquired exclusion is released. This step is not executed until there is an exclusion release instruction from the migration destination storage apparatus 500B as described in step 3212.
  • the migration copy process is executed by a write command. Therefore, the migration destination storage apparatus 500B has basic functions as a storage apparatus, that is, a function for processing a write from the host and a snapshot function. Thus, the snapshot VOL can be moved.
  • the snapshot VOL can be moved.
  • the write process during the migration copy process whether the pair status of the migration copy of the write target VOL is PAIR or not.
  • write to the PVOL at the destination or write to the SVOL Decide what to do.
  • the usefulness of the present invention is that the migration source snapshot configuration can be transferred to the migration destination while maintaining the snapshot configuration without stopping I / O from the host.
  • the technology for migrating a normal volume while accepting I / O is applied to the migration of a snapshot configuration.
  • not only the difference data but also all the data constituting each SVOL is copied from the migration source to the migration destination for the SVOLs of all generations constituting the replication of the PVOL by chunk reference to the PVOL and the pool volume.
  • the SVOL generation is as large as 1000 generations, a full copy, which is a copy of all data constituting this volume, takes a lot of time.
  • the technology of the present invention makes it possible to accept I / O from the host during the migration while performing the migration from the migration source of the snapshot configuration to the migration destination in a short time without performing the above-described full copy.
  • To reduce the time for moving copy for example, when moving copy is for replacement purposes, it is possible to reduce the maintenance cost of the old device that is the moving source, or to operate the new device that is the moving destination device early.
  • the present invention can also be characterized by the following viewpoints, for example.
  • the storage system includes a first storage device and a second storage device.
  • the first storage device provides a snapshot configuration with the first primary volume, the first pool volume, and the first secondary volume.
  • the first primary volume includes a plurality of chunks, and has a first real volume ID and a first virtual volume ID associated with the first real volume ID.
  • the first pool volume includes a plurality of chunks and stores differential data of the first primary volume.
  • the first secondary volume is a replica of the first primary volume at a predetermined point in time, and includes a plurality of chunks each referring to either the first primary volume chunk or the first pool volume chunk, 2 real volume IDs and a second virtual volume ID associated with the second real volume.
  • the first storage device further manages the reference destinations of the plurality of chunks of the first secondary volume, and upon receiving an identifier request for the first primary volume, responds with the first virtual volume ID, When the request for the identifier for the secondary volume is received, the second virtual volume ID is returned.
  • the second storage device provides a snapshot configuration with the second primary volume, the second pool volume, and the second secondary volume.
  • the second primary volume includes a plurality of chunks and has a third real volume ID and a first virtual volume ID associated with the third real volume ID.
  • the second pool volume includes a plurality of chunks and stores differential data of the second primary volume.
  • the second secondary volume is a replica of the second primary volume at a predetermined point in time and includes a plurality of chunks each referring to either the second primary volume chunk or the second pool volume chunk, 4 real volume IDs and a second virtual volume ID associated with the fourth real volume ID.
  • the second storage device further manages the reference destinations of the plurality of chunks of the second secondary volume, and upon receiving an identifier request for the second primary volume, responds with the first virtual volume ID, When the request for the identifier for the secondary volume is received, the second virtual volume ID is returned.
  • the first storage device migrates the snapshot configuration from the first storage device to the second storage device. At this time, when the first chunk of the first secondary volume refers to the second chunk of the first primary volume, the first chunk is migrated after the second chunk is migrated.
  • a storage system characterized by that.

Abstract

When a volume to which a snapshot configuration is applied is migrated from a movement-source storage to a movement-destination storage, a problem of discrepancy in snapshot configuration between the movement source and the movement destination may be caused upon accepting a write from a host. According to the present invention, in order to solve the problem, during migration of a snapshot configuration, an exclusive of a chunk to be migrated is acquired, and snapshot allocate information, which is management information for the chunk to be transitioned, is transmitted to the movement-destination storage. Upon reception of a write request from an higher-level device, an exclusive of a first chunk relating to the write request and a second chunk related to the chunk relating to the write request by the snapshot configuration is acquired, and a write process relating to the write request is executed.

Description

ストレージシステム及びストレージシステムの制御方法Storage system and storage system control method
 本発明はストレージシステムに関する。 The present invention relates to a storage system.
 ストレージ装置が正ボリュームと正ボリュームの差分のデータを格納するプールボリュームと副ボリュームとを持ち、正ボリュームに対する更新があると、正ボリュームの更新前のデータをプールボリュームに退避する。そして、副ボリュームはそれぞれのチャンクが正ボリュームまたはプールボリュームのチャンクを参照することによって、正ボリュームのある時点の複製を構成するスナップショット機能という機能がある。 The storage device has a pool volume and a secondary volume that store the difference data between the primary volume and the primary volume. When there is an update to the primary volume, the data before the update of the primary volume is saved to the pool volume. The secondary volume has a function called a snapshot function in which each chunk refers to a primary volume or a chunk of a pool volume, thereby constituting a point-in-time copy of the primary volume.
 特許文献1には移動元ストレージがスナップショットを構成する際、移動先ストレージに、移動元の正ボリュームの複数のデータと、プールボリュームの複数のデータをボリューム単位で送るとともに、副ボリュームのチャンクが参照するチャンクの位置情報をボリューム単位で送ることで、移動先ストレージにスナップショット機能を適応したボリュームを移動する技術が開示されている。 In Patent Document 1, when the migration source storage forms a snapshot, a plurality of data of the migration source primary volume and a plurality of data of the pool volume are sent to the migration destination storage in units of volumes, and the chunk of the secondary volume is also sent. A technique for moving a volume adapted for a snapshot function to a transfer destination storage by sending position information of a chunk to be referenced in units of volumes is disclosed.
米国特許公開公報第2013/0297899号US Patent Publication No. 2013/0297899
 しかし、特許文献1では、スナップショット機能を適用したボリュームの移動中に、移動対象のボリュームへのホストからのライトを実行することは開示していない。移動元ストレージのスナップショット構成を移動先ストレージにコピーする際、ホストからライトを受け付けると移動元と移動先でスナップショット構成に食い違いが起きてしまうという問題が発生する。特に、近年では、ホストにストレージ装置の物理構成を意識させず、複数のストレージ装置に跨った1以上の仮想ストレージをホストに提供するストレージ装置の仮想化技術が発展してきている。ホスト透過でボリュームを移行する際、ボリュームの移動中にホストからのライトを受け付けるニーズは高まっており、この点からも上記の問題を解決する必要がある。 However, Patent Document 1 does not disclose executing a write from the host to the migration target volume during the migration of the volume to which the snapshot function is applied. When copying the snapshot configuration of the migration source storage to the migration destination storage, there is a problem that if the write is received from the host, the snapshot configuration will be different between the migration source and the migration destination. In particular, in recent years, storage device virtualization technology has been developed that provides a host with one or more virtual storages across a plurality of storage devices without making the host aware of the physical configuration of the storage device. When migrating a volume by host transparency, there is an increasing need to accept a write from the host during the movement of the volume, and it is necessary to solve the above problem also in this respect.
 また、エンタープライズ向けのシステムにおいては、稼働率99.999%(年間5分程度の停止)という高い可用性が要求される。例えばスナップショット機能を適用したボリュームの移行を金融機関が行うことを想定した際、移行の間にボリュームへのライトを実行出来ないとすると、経済活動の基礎となる金融機関のサービスが停止することになり、社会全体の経済活動を妨げることになってしまう。この点からも上記の問題を解決する必要がある。 In addition, an enterprise system is required to have a high availability of an operation rate of 99.999% (down for about 5 minutes per year). For example, assuming that a financial institution performs volume transfer using the snapshot function, if the volume cannot be written during the transition, the financial institution's service that is the basis of economic activity will be suspended. It will interfere with the economic activities of society as a whole. From this point, it is necessary to solve the above problem.
 上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。 In order to solve the above problems, for example, the configuration described in the claims is adopted.
 本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば以下のストレージシステムである。
ストレージシステムは第1のストレージ装置と第2のストレージ装置とを備える。第1のストレージ装置は、第1の正ボリューム、第1のプールボリューム、第1の副ボリュームでスナップショット構成を提供する。第1の正ボリュームは複数のチャンクを含む。第1のプールボリュームは複数のチャンクを含み、第1の正ボリュームの差分データを格納する。第1の副ボリュームは第1の正ボリュームの所定の時点の複製であり、それぞれが第1の正ボリュームのチャンクまたは第1のプールボリュームのチャンクのいずれかを参照する複数のチャンクを含む。第1のストレージ装置は、さらに、第1の副ボリュームの複数のチャンクの参照先を管理する。第2のストレージ装置は、第2の正ボリューム、第2のプールボリューム、第2の副ボリュームでスナップショット構成を提供する。第2の正ボリュームは複数のチャンクを含む。第2のプールボリュームは複数のチャンクを含み、第2の正ボリュームの差分データを格納する。第2の副ボリュームは第2の正ボリュームの所定の時点の複製であり、それぞれが第2の正ボリュームのチャンクまたは第2のプールボリュームのチャンクのいずれかを参照する複数のチャンクを含む。第2のストレージ装置は、さらに、第2の副ボリュームの複数のチャンクの参照先を管理する。第1のストレージ装置は、スナップショット構成を第1のストレージ装置から第2のストレージ装置に移行する。その際、移行の対象となるチャンクの排他を取得し、移行の対象となるチャンクの管理情報であるスナップショット割当情報を前記第2のストレージ装置に送信する。そして、上位装置からライト要求を受信すると、ライト要求に係る第1のチャンクと、ライト要求に係るチャンクと前記参照により関連する第2のチャンクと、の排他を取得し、当該ライト要求に係るライト処理を実行する。
The present application includes a plurality of means for solving the above-described problems. For example, the following storage system is used.
The storage system includes a first storage device and a second storage device. The first storage device provides a snapshot configuration with the first primary volume, the first pool volume, and the first secondary volume. The first primary volume includes a plurality of chunks. The first pool volume includes a plurality of chunks and stores differential data of the first primary volume. The first secondary volume is a replica of the first primary volume at a predetermined point in time, and includes a plurality of chunks each referring to either the first primary volume chunk or the first pool volume chunk. The first storage device further manages reference destinations of the plurality of chunks of the first secondary volume. The second storage device provides a snapshot configuration with the second primary volume, the second pool volume, and the second secondary volume. The second primary volume includes a plurality of chunks. The second pool volume includes a plurality of chunks and stores differential data of the second primary volume. The second secondary volume is a replica of the second primary volume at a predetermined point in time, and includes a plurality of chunks each referring to either the second primary volume chunk or the second pool volume chunk. The second storage device further manages the reference destinations of the plurality of chunks of the second secondary volume. The first storage device migrates the snapshot configuration from the first storage device to the second storage device. At that time, the exclusion of the chunk to be migrated is acquired, and snapshot allocation information, which is management information of the chunk to be migrated, is transmitted to the second storage device. When a write request is received from the host device, the exclusive of the first chunk related to the write request, the chunk related to the write request, and the second chunk related by the reference is acquired, and the write request related to the write request is acquired. Execute the process.
 本発明の一実施形態によれば、スナップショット機能を適用したボリュームをストレージ装置間で移動しつつ、ホストからのライト及びリードを実行できる。これにより、ホストのダウンタイムなしで、スナップショット機能を維持したままストレージ装置のリプレースや負荷分散や冗長化が実施可能となる。 According to an embodiment of the present invention, it is possible to execute writing and reading from a host while moving a volume to which a snapshot function is applied between storage apparatuses. As a result, it is possible to perform storage device replacement, load balancing, and redundancy while maintaining the snapshot function without host downtime.
本発明の第1の実施形態におけるスナップショットボリュームの移動処理の一例を示す概念図である。It is a conceptual diagram which shows an example of the movement process of the snapshot volume in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるITシステム構成の一例を示す図である。It is a figure which shows an example of the IT system structure in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるホスト計算機及び管理サーバのシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration | structure of the host computer and management server in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるストレージ装置のシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration | structure of the storage apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態における仮想ボリューム管理情報及び仮想ストレージボックス管理情報の一例を示す図である。It is a figure which shows an example of the virtual volume management information and virtual storage box management information in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるスナップショットPVOL、SVOL及びプールの構成の一例を示す図である。It is a figure which shows an example of a structure of snapshot PVOL, SVOL, and a pool in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるスナップショットペア管理情報、スナップショットPVOL管理情報及びスナップショットSVOL管理情報の一例を示す図である。It is a figure which shows an example of the snapshot pair management information in the 1st Embodiment of this invention, snapshot PVOL management information, and snapshot SVOL management information. 本発明の第1の実施形態におけるプール管理情報の一例を示す図である。It is a figure which shows an example of the pool management information in the 1st Embodiment of this invention. 本発明の第1の実施形態における移動コピーペア管理情報の一例を示す図である。It is a figure which shows an example of the movement copy pair management information in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるスナップショット割当情報の一例を示す図である。It is a figure which shows an example of the snapshot allocation information in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるボリューム移動処理の一例を示すフローチャートである。It is a flowchart which shows an example of the volume movement process in the 1st Embodiment of this invention. 本発明の第1の実施形態における移動コピー処理の一例を示すフローチャートである。It is a flowchart which shows an example of the movement copy process in the 1st Embodiment of this invention. 本発明の第1の実施形態における移動元ストレージ装置からのスナップショット割当情報受信時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the snapshot allocation information reception from the migration source storage apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態における移動元VOLへのホストライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the host write reception to the movement origin VOL in the 1st Embodiment of this invention. 本発明の第1の実施形態における移動元ストレージ装置からのライト及びスナップショット割当情報受信時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the write and snapshot allocation information reception from the migration source storage apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるデータ退避処理の一例を示すフローチャートである。It is a flowchart which shows an example of the data saving process in the 1st Embodiment of this invention. 本発明の第1の実施形態における移動先VOLへのホストライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the host write reception to the movement destination VOL in the 1st Embodiment of this invention. 本発明の第1の実施形態における移動先ストレージ装置からのライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the write reception from the migration destination storage apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態における移動元VOLへのリード受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the read reception to the movement origin VOL in the 1st Embodiment of this invention. 本発明の第1の実施形態における移動先VOLへのホストリード受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the host read reception to the movement destination VOL in the 1st Embodiment of this invention. 本発明の第2の実施形態における移動コピー処理の一例を示すフローチャートである。It is a flowchart which shows an example of the movement copy process in the 2nd Embodiment of this invention. 本発明の第2の実施形態における移動元VOLへのホストライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the host write reception to the movement origin VOL in the 2nd Embodiment of this invention. 本発明の第2の実施形態における移動元ストレージ装置からのライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the write reception from the movement origin storage apparatus in the 2nd Embodiment of this invention. 本発明の第2の実施形態における移動先VOLへのホストライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the host write reception to the movement destination VOL in the 2nd Embodiment of this invention. 本発明の第2の実施形態における移動先ストレージ装置からのライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the write reception from the migration destination storage apparatus in the 2nd Embodiment of this invention. 本発明の第3の実施形態における移動コピー処理の一例を示すフローチャートである。It is a flowchart which shows an example of the movement copy process in the 3rd Embodiment of this invention. 本発明の第3の実施形態における移動元VOLへのホストライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of host write reception to the movement origin VOL in the 3rd Embodiment of this invention. 本発明の第3の実施形態における移動先VOLへのホストライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the host write reception to the movement destination VOL in the 3rd Embodiment of this invention. 本発明の第3の実施形態における移動先ストレージ装置からのライト受領時処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process at the time of the write reception from the migration destination storage apparatus in the 3rd Embodiment of this invention.
 以下、添付図面に基づいて、本発明の実施形態を説明する。なお、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、また実施例で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。また、以下の説明では、ストレージ装置を主語として処理を説明する場合があるが、コントローラ、プログラム、またはストレージ装置が有するCPUによって実行することで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェースデバイス(例えばポート)を用いながら行うため、処理の主語がプログラムとされても良い。また、プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。 Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. The embodiments described below do not limit the invention according to the claims, and all the elements and combinations described in the embodiments are not necessarily essential to the solution of the invention. Absent. In the following description, the processing may be described with the storage device as the subject. However, by executing the processing by the controller, the program, or the CPU of the storage device, the determined processing is appropriately performed with a storage resource (for example, a memory). ) And / or communication interface devices (for example, ports), the processing subject may be a program. The program source may be a program distribution server or a storage medium, for example.
 図1から図20に基づいて、本発明に従う第一の実施例について説明する。 A first embodiment according to the present invention will be described with reference to FIGS.
 図1は本実施例の概略を示す図である。移動元ストレージ装置500Aには、実ボリューム520が設定されており、各実ボリューム520にはスナップショット機能が適用されている。実ボリューム520AはスナップショットPVOL(以下、単にPVOLと呼ぶこともある)であり、PVOLに含まれる複数のチャンクには実際にデータが格納される。実ボリューム520B及び520CはスナップショットSVOL(以下、単にSVOLと呼ぶこともある)である。SVOLは、ある時点のPVOLのデータを差分として管理する。つまり、SVOLは、PVOLのチャンクや差分のデータが実際に格納されているプール530内のチャンクへのポインタといった情報を持つ。 FIG. 1 is a diagram showing an outline of this embodiment. A real volume 520 is set in the migration source storage apparatus 500A, and a snapshot function is applied to each real volume 520. The real volume 520A is a snapshot PVOL (hereinafter sometimes simply referred to as PVOL), and data is actually stored in a plurality of chunks included in the PVOL. The real volumes 520B and 520C are snapshot SVOLs (hereinafter sometimes simply referred to as SVOLs). The SVOL manages PVOL data at a certain point as a difference. That is, the SVOL has information such as a pointer to a chunk in the pool 530 in which PVOL chunks and differential data are actually stored.
 移動先ストレージ装置500Bには、移動元ストレージ装置500A内の各実ボリューム520の移動先となる実ボリューム520D、520E及び520Fが設定されており、さらに移動元ストレージと同様にスナップショット機能が適用されている。以下、移動元ストレージ装置500Aのボリュームを移動元VOLと呼ぶことがある。また、PVOLとSVOLを区別する場合には移動元PVOL、移動元SVOLとそれぞれ呼ぶことがある。同様に、移動先ストレージ装置500Bの実ボリューム520を移動先VOL、移動先PVOL、移動先SVOLと記載することがある。 In the migration destination storage apparatus 500B, real volumes 520D, 520E, and 520F that are migration destinations of the respective real volumes 520 in the migration source storage apparatus 500A are set, and the snapshot function is applied similarly to the migration source storage. ing. Hereinafter, the volume of the migration source storage apparatus 500A may be referred to as a migration source VOL. Also, when distinguishing PVOL and SVOL, they may be referred to as migration source PVOL and migration source SVOL, respectively. Similarly, the real volume 520 of the migration destination storage apparatus 500B may be described as a migration destination VOL, a migration destination PVOL, and a migration destination SVOL.
 移動元ストレージ装置500A及び移動先ストレージ装置500Bは、後述の移動コピー処理により、移動元VOLから移動先VOLへデータ及びポインタのコピーを行うことで、スナップショット機能の適用されたボリュームの移動を実行する。ホスト計算機100にストレージ装置の物理構成を意識させず、複数のストレージ装置500に跨った1以上の仮想ストレージ装置600をホストに提供する機能がある。
移動元VOLと移動先VOLは、同じ仮想ストレージ装置600に属し、さらに対応するボリューム同士は、同じ仮想ボリュームIDを設定されている。すなわち、実ボリューム520Aと520D、520Bと520E、520Cと520Fにはそれぞれ同じ仮想ボリュームIDが設定されている。仮想ボリュームIDとは、実ボリューム520に設定された識別子とは別に設定される仮想的な識別子である。
The migration source storage apparatus 500A and the migration destination storage apparatus 500B execute the migration of the volume to which the snapshot function is applied by copying data and pointers from the migration source VOL to the migration destination VOL by the migration copy process described later. To do. The host computer 100 has a function of providing one or more virtual storage apparatuses 600 across a plurality of storage apparatuses 500 to the host without making the host computer 100 aware of the physical configuration of the storage apparatus.
The migration source VOL and the migration destination VOL belong to the same virtual storage apparatus 600, and corresponding volumes are set with the same virtual volume ID. That is, the same virtual volume ID is set for each of the real volumes 520A and 520D, 520B and 520E, 520C and 520F. The virtual volume ID is a virtual identifier set separately from the identifier set for the real volume 520.
 ストレージ装置500は、ホスト計算機100上の交替パスソフト111から実ボリューム520に対して識別子を要求されると、仮想ストレージ装置600の識別子である仮想ストレージID、及び仮想ボリュームIDから計算される識別子を応答する。すなわち、実ボリューム520Aと520D、520Bと520E、520Cと520Fは、それぞれ同一の識別子を応答することになる。交替パスソフト111は、同一の識別子を応答する実ボリューム520を、一つの仮想ボリューム601への交替パスであると認識し、OS110からのI/O(Input/Output)を処理する。 When the alternate path software 111 on the host computer 100 requests an identifier for the real volume 520, the storage apparatus 500 obtains an identifier calculated from the virtual storage ID that is the identifier of the virtual storage apparatus 600 and the virtual volume ID. respond. That is, the real volumes 520A and 520D, 520B and 520E, 520C and 520F respectively respond with the same identifier. The alternate path software 111 recognizes the real volume 520 that responds with the same identifier as an alternate path to one virtual volume 601, and processes I / O (Input / Output) from the OS 110.
 このような仮想ストレージ環境下では、ホストは仮想ストレージ装置600を認識し、仮想ストレージ装置600を構成するストレージ装置500A及び500Bを認識しなくてよい。そのため、ホスト計算機100に透過的に、業務停止することなくストレージ装置500の増設、リプレース、構成変更を行うことが出来る。
これにより、移動コピー処理中にOS110は移動元VOLと移動先VOLを区別することなくI/Oを発行可能である。また、移動が完了した際などに移動元VOLを削除しても、移動先VOLに継続してI/Oを発行可能であるため、OS110の動作には影響がない。
Under such a virtual storage environment, the host does not need to recognize the virtual storage apparatus 600 and the storage apparatuses 500A and 500B that constitute the virtual storage apparatus 600. Therefore, the storage apparatus 500 can be added, replaced, or reconfigured transparently to the host computer 100 without stopping the business.
Thus, during the migration copy process, the OS 110 can issue an I / O without distinguishing the migration source VOL and the migration destination VOL. Further, even if the migration source VOL is deleted when the migration is completed, the I / O can be issued to the migration destination VOL continuously, so that the operation of the OS 110 is not affected.
 移動コピーは、例えば、移動元ストレージ装置500Aから移動先ストレージ装置500Bへのリプレース、移動元ストレージ装置500Aの一部のスナップショット構成を移動先ストレージ装置500Bに移すことによる負荷分散、移動元ストレージ装置Aと移動先ストレージ装置Bでスナップショット機能を二重化することによる冗長化のために行う。 The migration copy is, for example, replacement from the migration source storage apparatus 500A to the migration destination storage apparatus 500B, load balancing by moving a part of the snapshot configuration of the migration source storage apparatus 500A to the migration destination storage apparatus 500B, and migration source storage apparatus This is performed for redundancy by duplicating the snapshot function between A and the migration destination storage apparatus B.
 移動コピー処理中に、移動元ストレージ装置500Aがホスト計算機100からI/Oを受領した場合の処理をS0からS7に示す。
S0:チャンクごとに移動コピー処理を開始。
S1:ホスト計算機100から実ボリューム520Aに対してライトが発行される。
S2:移動元ストレージ装置500Aは当該ライトを受領し、実ボリューム520Aの更新時にポインタの書換えが発生するSVOL(実ボリューム520B)のライト対象のアドレスについて、移動コピー処理を排他する。なお、アドレスとは、実ボリューム520上のチャンクの位置を示す数値である。
S3:移動元ストレージ装置500Aは実ボリューム520Aにライトによるデータ更新を実行する。
S4:移動元ストレージ装置500AはS3でのライト実行前のデータをプール530に格納し、SVOL(実ボリューム520B)のポインタを当該格納先のアドレスに変更する。なお、このように、プール530にデータを格納し、SVOLのポインタ(アドレス)を変更することを退避と呼ぶことがある。
S5:移動元ストレージ装置500Aはライト及びSVOL(実ボリューム520B)のポインタといった情報を含むスナップショット割当情報を送信する。
S6:移動先ストレージ装置500BはS5にて送信されたライト及びスナップショット割当情報を反映する。
S7:移動先ストレージ装置500BはS6のライトの結果必要となる退避を実行する。
S0 to S7 show processing when the migration source storage apparatus 500A receives I / O from the host computer 100 during the migration copy process.
S0: Start moving copy processing for each chunk.
S1: A write is issued from the host computer 100 to the real volume 520A.
S2: The migration source storage apparatus 500A receives the write, and excludes the migration copy process for the write target address of the SVOL (real volume 520B) where the pointer is rewritten when the real volume 520A is updated. The address is a numerical value indicating the position of the chunk on the real volume 520.
S3: The migration source storage apparatus 500A executes data update by writing to the real volume 520A.
S4: The migration source storage apparatus 500A stores the data before the write in S3 in the pool 530, and changes the pointer of the SVOL (real volume 520B) to the storage destination address. Note that storing data in the pool 530 and changing the pointer (address) of the SVOL in this way may be referred to as saving.
S5: The migration source storage apparatus 500A transmits snapshot allocation information including information such as a write and a pointer of SVOL (real volume 520B).
S6: The migration destination storage apparatus 500B reflects the write and snapshot allocation information transmitted in S5.
S7: The migration destination storage apparatus 500B executes evacuation required as a result of the write in S6.
 図2はITシステム構成の概要を示すブロック図である。本システムは、ホスト計算機100、管理サーバ200、一つ以上のストレージ装置500から構成され、互いにLAN400で接続されている。またストレージ装置500とホスト計算機100は互いにSAN300で接続されている。なお、ホスト計算機は複数存在してもよく、その場合は管理用のLAN400に加えてデータ転送用のLANでホスト計算機が互いに接続されていてもよい。 FIG. 2 is a block diagram showing an outline of the IT system configuration. This system includes a host computer 100, a management server 200, and one or more storage devices 500, which are connected to each other via a LAN 400. The storage apparatus 500 and the host computer 100 are connected to each other via the SAN 300. A plurality of host computers may exist. In this case, the host computers may be connected to each other via a data transfer LAN in addition to the management LAN 400.
 図3(a)はホスト計算機100の内部構成を示したものである。ホスト計算機100は、一つ以上のCPU101、一つ以上のメモリ102、一つ以上のSANインタフェース105、一つ以上のLANインタフェース106、一つ以上のストレージデバイス103で構成され、それらは互いに内部バス107で接続されている。ホスト計算機100はSANインタフェース105を介してSANスイッチ400と接続されている。またホスト計算機100はLANインタフェース106を介してLANスイッチ400に接続されている。なお、ストレージデバイス103は必ずしも備えなくてもよい。備えない場合は、ストレージ装置500内のボリュームをソフトウェアの記憶領域として用いる。 FIG. 3A shows the internal configuration of the host computer 100. The host computer 100 includes one or more CPUs 101, one or more memories 102, one or more SAN interfaces 105, one or more LAN interfaces 106, and one or more storage devices 103, which are connected to each other by an internal bus. 107 is connected. The host computer 100 is connected to the SAN switch 400 via the SAN interface 105. The host computer 100 is connected to the LAN switch 400 via the LAN interface 106. Note that the storage device 103 is not necessarily provided. If not, the volume in the storage device 500 is used as a software storage area.
 図3(b)は管理サーバ200の内部構成を示したものである。管理サーバ200の内部構成はホスト計算機100と同様だが、必ずしもSANインタフェースを備えていない。管理サーバ200はLANインタフェース204を介して、LANスイッチ400と接続されている。 FIG. 3B shows the internal configuration of the management server 200. The internal configuration of the management server 200 is the same as that of the host computer 100, but does not necessarily have a SAN interface. The management server 200 is connected to the LAN switch 400 via the LAN interface 204.
 図4はストレージ装置500の内部構成を示したものである。ストレージ装置500は一つ以上のコントローラ540および一つ以上の物理ディスク501で構成される。コントローラ540は、一つ以上のCPU506、一つ以上のメモリ508、一つ以上の不揮発性メモリ505、一つ以上のキャッシュメモリ507、一つ以上のバックエンドインターフェース509、一つ以上のLANインタフェース504、一つ以上のSANインタフェース502で構成され、それらは相互に内部バス541で接続されている。コントローラ540はバックエンドインターフェース509を介して物理ディスク501と接続されている。 FIG. 4 shows the internal configuration of the storage apparatus 500. The storage apparatus 500 includes one or more controllers 540 and one or more physical disks 501. The controller 540 includes one or more CPUs 506, one or more memories 508, one or more nonvolatile memories 505, one or more cache memories 507, one or more back-end interfaces 509, and one or more LAN interfaces 504. , One or more SAN interfaces 502 are connected to each other via an internal bus 541. The controller 540 is connected to the physical disk 501 via the back end interface 509.
 また、ストレージ装置500はLANインタフェース504を介して管理サーバ200と接続されている。また、ストレージ装置500はSANインタフェース502を介してホスト計算機100と接続されている。また、物理ディスク501はSAS(Serial Attached SCSI(Small Computer System Interface))ディスク、SATA(Serial Advanced Technology Attachment)ディスク、SSD(Solid State Drive)といった複数の種別のディスクから構成されていてもよい。なお、図1にて示した実ボリューム520のうちPVOLは、多くの場合、一つ以上の物理ディスク501を使用してRAID(Redundunt Arrays of Inexpensive Disks)で構成された領域だが、例えばデータ書込み時に動的に領域を割り当てるThin Provisioningといった技術により実装してもよい。 In addition, the storage apparatus 500 is connected to the management server 200 via the LAN interface 504. The storage apparatus 500 is connected to the host computer 100 via the SAN interface 502. In addition, the physical disk 501 is a SAS (Serial Attached SCSI System) disk, a SATA (Serial Advanced Technology) disk, or a SSD (Solid State) disk type. Note that the PVOL in the real volume 520 shown in FIG. 1 is an area composed of RAID (Redundant Arrays of Inexpensive Disks) using one or more physical disks 501 in many cases. You may implement by techniques, such as Thin Provisioning, which allocates an area | region dynamically.
 また、SVOLは、PVOLまたはプール530のチャンクのアドレスへの参照で構成される。プール530は、一つ以上の物理ディスク501で構成されたRAIDの領域、あるいはRAIDで構成された一つ以上の実ボリューム520のグループとして実装される。 Also, the SVOL is composed of references to PVOL or pool 530 chunk addresses. The pool 530 is implemented as a RAID area composed of one or more physical disks 501 or a group of one or more real volumes 520 composed of RAID.
 後者の場合は、コントローラ540が、一つ以上の実ボリューム520のチャンクに通し番号(アドレス)を付けることで、一つのボリュームのように扱う。また、メモリ508にはリソース管理プログラム550、スナップショット制御プログラム551、移動コピー制御プログラム552が格納されており、CPU506がこれらのプログラムを実行する。リソース管理プログラム550は、後述の仮想ボリューム管理情報610や仮想ストレージボックス管理情報700といった情報の参照及び変更を行うことで、仮想ストレージ装置600とボリュームの包含関係などを管理する。 In the latter case, the controller 540 treats one or more chunks of the real volume 520 as serial numbers (addresses) so as to treat them as one volume. The memory 508 stores a resource management program 550, a snapshot control program 551, and a migration copy control program 552, and the CPU 506 executes these programs. The resource management program 550 manages the inclusion relationship between the virtual storage apparatus 600 and volumes by referring to and changing information such as virtual volume management information 610 and virtual storage box management information 700 described later.
 また、スナップショット制御プログラム551は、後述のスナップショットペア管理情報800、スナップショットPVOL管理情報900、スナップショットSVOL管理情報1000、プール管理情報1100といった情報の参照及び変更を行うことで、データ退避処理及びリード、ライトの処理といったスナップショットの制御にかかる処理を行う。移動コピー制御プログラム552は、後述の移動コピーペア管理情報1200及びスナップショットに関する情報の参照及び変更を行うことで、後述の移動コピー処理を実行する。 Further, the snapshot control program 551 refers to and changes information such as snapshot pair management information 800, snapshot PVOL management information 900, snapshot SVOL management information 1000, and pool management information 1100, which will be described later. In addition, processing related to snapshot control such as read and write processing is performed. The migration copy control program 552 executes later-described migration copy processing by referring to and changing the migration copy pair management information 1200 described later and information related to the snapshot.
 図5(a)は仮想ボリューム管理情報610の一例を示したものである。この情報は、各ストレージ装置500が保持する情報であり、主にメモリ508に格納される。実ボリュームID列611には、実ボリューム520の識別子が格納される。実ボリュームIDはストレージ装置500内で実VOL520を特定するための識別子である。リソースグループID列612には、実ボリューム520が所属するリソースグループの識別子が格納される。なお、リソースグループとは、実ボリューム520をグループ分けするための単位であり、後述のストレージボックスと1対Nの関係にある。 FIG. 5A shows an example of the virtual volume management information 610. This information is information held by each storage device 500 and is mainly stored in the memory 508. The real volume ID column 611 stores the identifier of the real volume 520. The real volume ID is an identifier for specifying the real VOL 520 in the storage apparatus 500. The resource group ID column 612 stores the identifier of the resource group to which the real volume 520 belongs. The resource group is a unit for grouping the real volumes 520 and has a one-to-N relationship with a storage box described later.
 リソースグループは、例えばアクセス可能なユーザを設定することで、特定のユーザのみが当該リソースグループ内の実ボリューム520を扱え、他のユーザのアクセスを禁止するといったアクセス制御を実現することができる。仮想ボリュームID列613は、実ボリューム520に設定された第二の識別子が格納される。仮想ボリュームIDとは実ボリュームIDと対応付けられた識別子であり、ストレージ装置500はホスト計算機100から識別子を要求されると、仮想ボリュームIDを返す。 For example, by setting an accessible user in the resource group, it is possible to realize access control in which only a specific user can handle the real volume 520 in the resource group and prohibit access by other users. The virtual volume ID column 613 stores the second identifier set for the real volume 520. The virtual volume ID is an identifier associated with the real volume ID, and the storage apparatus 500 returns the virtual volume ID when requested by the host computer 100 for the identifier.
 図5(b)は仮想ストレージボックス管理情報700の一例を示したものである。この情報は、各ストレージ装置500が保持する情報である。仮想ストレージボックスID列には、仮想ストレージボックスの識別子が格納される。仮想ストレージボックスとは、仮想ストレージ装置600のストレージ装置500毎の部分である。つまり、仮想ストレージ装置600の実体は、各ストレージ装置500で同一の仮想ストレージIDを設定された仮想ストレージボックスの集合である。 FIG. 5B shows an example of the virtual storage box management information 700. This information is information held by each storage device 500. The virtual storage box ID column stores the identifier of the virtual storage box. The virtual storage box is a part for each storage device 500 of the virtual storage device 600. That is, the substance of the virtual storage device 600 is a set of virtual storage boxes in which the same virtual storage ID is set in each storage device 500.
 仮想ストレージID列702には、仮想ストレージ装置600の識別子が格納される。リソースグループID列703には、仮想ストレージボックスに所属するリソースグループIDが格納される。実ボリューム520は、仮想ボリューム管理情報610及び仮想ストレージボックス管理情報700を組み合わせることで、所属する仮想ストレージボックスや仮想ストレージ装置600を特定できる。 In the virtual storage ID column 702, the identifier of the virtual storage device 600 is stored. The resource group ID column 703 stores resource group IDs belonging to the virtual storage box. The real volume 520 can identify the virtual storage box and virtual storage device 600 to which the real volume 520 belongs by combining the virtual volume management information 610 and the virtual storage box management information 700.
 図6はスナップショットPVOL(実ボリューム520A)、SVOL(実ボリューム520B、520C)及びプール530の概念を示す図である。PVOL、SVOL、プールは、いずれも一つ以上のチャンクからなる。SVOLの各チャンクに格納されたデータは、PVOL参照、共有参照、占有参照のいずれかにより管理される。PVOL参照とは、PVOLの同一アドレスのチャンクを参照するものである。ホスト計算機100からSVOLのPVOL参照のチャンクにリードが発行された場合、ストレージ装置500は、PVOLの同一アドレスのチャンクのデータを応答する。 FIG. 6 is a diagram showing the concept of the snapshot PVOL (real volume 520A), SVOL ( real volumes 520B, 520C), and pool 530. Each of the PVOL, SVOL, and pool is composed of one or more chunks. Data stored in each chunk of SVOL is managed by any one of PVOL reference, shared reference, and exclusive reference. The PVOL reference refers to a chunk having the same address in the PVOL. When a read is issued from the host computer 100 to the SVOL PVOL reference chunk, the storage apparatus 500 responds with the data of the chunk of the same address in the PVOL.
 共有参照とは、プール530のチャンクを参照するものである。ホスト計算機100からSVOLの共有参照のチャンクにリードが発行された場合、ストレージ装置500は、SVOLの当該チャンクが参照するプール530のチャンクのデータを応答する。占有参照とは、共有参照と同様に、プール530のチャンクを参照するものである。共有参照と占有参照は、退避の発生した契機によって区別される。PVOLのあるチャンクにライトが発生した場合、ストレージ装置500は、SVOLのうち同一アドレスのチャンクがPVOL参照のものについて、ライト実行前の古いデータをプール530へ格納したうえで、参照先(ポインタ)を退避先のプールのアドレスに変更する。 The shared reference refers to a chunk in the pool 530. When a read is issued from the host computer 100 to a shared reference chunk of the SVOL, the storage apparatus 500 responds with the data of the chunk of the pool 530 referenced by the chunk of the SVOL. An exclusive reference refers to a chunk in the pool 530, as in the case of a shared reference. Shared references and exclusive references are distinguished by the trigger of saving. When a write occurs in a chunk with a PVOL, the storage apparatus 500 stores the old data before the write execution in the pool 530 for the chunk with the same address in the SVOL that references the PVOL, and then refers to it (pointer) Is changed to the address of the save destination pool.
 このように、PVOLにライトが発生した契機で退避されたデータを参照している場合は、それを共有参照と呼ぶ。この理由は、多くの場合、複数のSVOLが退避されたデータを共有しているためである。一方、SVOLのあるチャンクにライトが発生した場合、ストレージ装置500は、ライトのデータをプール530の未割当のチャンク531に格納したうえで、SVOLの当該チャンクの参照先をライトデータが格納されたチャンクに変更する。このように、SVOLにライトが発生した契機で退避されたデータを参照する場合を占有参照と呼ぶ。これは、退避されたデータが当該SVOLに固有のデータとなるためである。なお、ライト契機でのPVOL参照、共有参照及び占有参照間の遷移は一方向であり、PVOL参照から共有参照または占有参照、共有参照から占有参照へ遷移するが、それ以外の遷移はない。 In this way, when referring to data saved when a write occurs in PVOL, it is called a shared reference. This is because, in many cases, a plurality of SVOLs share the saved data. On the other hand, when a write occurs in a chunk having an SVOL, the storage apparatus 500 stores the write data in an unallocated chunk 531 of the pool 530 and stores the write data as the reference destination of the chunk in the SVOL. Change to chunk. In this way, the case of referring to data saved when a write occurs in the SVOL is referred to as an exclusive reference. This is because the saved data becomes data specific to the SVOL. The transition between the PVOL reference, the shared reference, and the exclusive reference in the write opportunity is unidirectional, and the PVOL reference changes to the shared reference or the exclusive reference, and the shared reference to the exclusive reference, but there is no other transition.
 図7(a)は、スナップショットペア管理情報800の一例を示したものである。この情報は、各ストレージ装置500が保持する情報であり、主にメモリ508に格納される。スナップショットペアとは、スナップショットを構成するPVOLとSVOLの組である。一つのPVOLに、それぞれが異なる時点でのPVOLの複製である一つ以上のSVOLが構成される。スナップショットペアID列801は、スナップショットペアの識別子が格納される。ペア状態列802には、スナップショットペアの状態が格納される。ペア状態は、PAIR、COPY、PSUS、SMPLのいずれかである。PAIRとはPVOLとSVOLが一致している状態であり、ペア状態がPAIRの場合、SVOLの全てのチャンクはPVOL参照である。つまり、ホスト計算機100からリードを実行した際に、PVOLとSVOLのデータは全チャンクで一致する。 FIG. 7A shows an example of the snapshot pair management information 800. This information is information held by each storage device 500 and is mainly stored in the memory 508. A snapshot pair is a set of PVOL and SVOL that constitute a snapshot. One PVOL is composed of one or more SVOLs, each of which is a copy of the PVOL at a different point in time. The snapshot pair ID column 801 stores snapshot pair identifiers. The pair status column 802 stores the status of the snapshot pair. The pair status is any one of PAIR, COPY, PSUS, and SMPL. PAIR is a state in which PVOL and SVOL match. When the pair state is PAIR, all chunks of SVOL are PVOL references. That is, when a read is executed from the host computer 100, the PVOL and SVOL data match in all chunks.
 また、PAIRの場合、SVOLへのライトは禁止される。例えば、ホスト計算機100からペア状態がPAIRのSVOLにライトが発行された場合はエラーを応答する。COPYは、PAIRへ遷移するためのコピー中の過渡状態である。PAIRと同じく、SVOLへのライトは禁止される。ペア状態PSUSとは、ペアの関係は保持したまま、PVOL、SVOLのどちらに対して更新があっても、他方にその更新自体を反映させない状態であり、PVOLとSVOLは独立している。つまり、PVOLにライトが発生した場合、SVOLのデータの退避が実行される。 In the case of PAIR, writing to SVOL is prohibited. For example, when a write is issued from the host computer 100 to an SVOL whose pair status is PAIR, an error is returned. COPY is a transient state during copying to transition to PAIR. As with PAIR, writing to SVOL is prohibited. The pair state PSUS is a state in which the update itself is not reflected on either the PVOL or the SVOL while the pair relationship is maintained, and the PVOL and the SVOL are independent. That is, when a write occurs in PVOL, SVOL data is saved.
 また、SVOLへのライトも許可される。ペア状態がSMPLの場合は、PVOLとSVOLはペアを組んでおらず、当該スナップショットペアIDが使用されていないことを示す。PVOL実ボリュームID列803には、PVOLの実ボリュームの識別子が格納される。SVOL実ボリュームID列804には、SVOLの実ボリュームの識別子が格納される。プールID列805には、データを退避するプール530の識別子が格納される。 Also, writing to SVOL is permitted. When the pair status is SMPL, it indicates that PVOL and SVOL are not paired and the snapshot pair ID is not used. The PVOL real volume ID column 803 stores the identifier of the PVOL real volume. The SVOL real volume ID column 804 stores the identifier of the SVOL real volume. The pool ID column 805 stores an identifier of the pool 530 for saving data.
 なお、PVOLの実ボリュームIDが同じ場合、通常は同一のプール530を使用する。この理由は、プールが異なるとSVOL間で退避したデータを共有することができず、容量の使用効率や、退避の際の処理速度が落ちるためである。なお、本実施例では、PSUSのスナップショットペアのストレージ装置500間での移動を主な対象とする。この理由は、PAIRやCOPYにおいては、PVOLとSVOLのデータが完全に一致し、SVOLへのライトが発生しないため、移動処理がPSUSのスナップショットペアを移動する処理で実現できるためである。 If the PVOL real volume ID is the same, the same pool 530 is normally used. This is because if the pools are different, the saved data cannot be shared between the SVOLs, and the capacity use efficiency and the processing speed during the saving are reduced. In this embodiment, the main object is to move the PSUS snapshot pair between the storage apparatuses 500. This is because in PAIR and COPY, the PVOL and SVOL data are completely the same, and no write to the SVOL occurs, so that the migration process can be realized by the process of moving the PSUS snapshot pair.
 図7(b)は、スナップショットPVOL管理情報900の一例を示したものである。この情報は、各ストレージ装置500が保持する情報であり、主にメモリ508に格納される。PVOL実ボリュームID列901には、PVOLの実ボリュームの識別子が登録される。アドレス列902には、PVOLのチャンクのアドレスが登録される。排他列903には、当該アドレスが排他されている(yes)か否(no)かを示す値が登録される。ここで排他とは、複数の主体があるチャンクに同時にアクセスしないように、ある主体がそのチャンクにアクセスしている間、別の主体のそのチャンクへのアクセスを禁止、または制限することである。 FIG. 7B shows an example of the snapshot PVOL management information 900. This information is information held by each storage device 500 and is mainly stored in the memory 508. In the PVOL real volume ID column 901, the identifier of the PVOL real volume is registered. In the address column 902, the address of the PVOL chunk is registered. In the exclusive column 903, a value indicating whether the address is exclusive (yes) or not (no) is registered. Here, “exclusive” refers to prohibiting or restricting access to another chunk by another entity while the other entity is accessing the chunk so that a plurality of entities do not access a chunk at the same time.
 図7(c)は、スナップショットSVOL管理情報1000の一例を示したものである。この情報は、各ストレージ装置500が保持する情報であり、主にメモリ508に格納される。SVOL実ボリュームID列1001には、SVOLの実ボリュームの識別子が登録される。アドレス列1002には、SVOLのチャンクのアドレスが登録される。参照種別列1003には、当該アドレスのチャンクがPVOL参照、共有参照、占有参照のいずれであるかを示す値が登録される。参照アドレス列1004には、当該アドレスのチャンクが参照するプール530のチャンクのアドレスが登録される。なお、PVOL参照の場合は、参照先のアドレスは必ずPVOLの同一アドレスとなるため、参照アドレスは「なし」となる。排他列1005には当該アドレスが排他されている(yes)か否(no)かを示す値が登録される。 FIG. 7 (c) shows an example of the snapshot SVOL management information 1000. This information is information held by each storage device 500 and is mainly stored in the memory 508. In the SVOL real volume ID column 1001, the identifier of the SVOL real volume is registered. In the address column 1002, the address of the SVOL chunk is registered. In the reference type column 1003, a value indicating whether the chunk of the address is a PVOL reference, a shared reference, or an exclusive reference is registered. In the reference address column 1004, the address of the chunk of the pool 530 referred to by the chunk of the address is registered. In the case of PVOL reference, since the reference destination address is always the same address of the PVOL, the reference address is “none”. In the exclusive column 1005, a value indicating whether the address is exclusive (yes) or not (no) is registered.
 共有相手VOL実ボリュームID列1006には、参照種別が共有参照の場合に、プール530上の同一アドレスを参照するSVOL(共有相手VOL)の実ボリュームIDが登録される。PVOL参照、占有参照の場合、共有相手VOL実ボリュームID列1006は「なし」となる。また、共有参照であっても、例えばPVOLとスナップショットペアを組むSVOLが一つしかない場合など、共有相手VOLが存在しない場合は「なし」となる。 In the shared partner VOL real volume ID column 1006, the real volume ID of the SVOL (shared partner VOL) that refers to the same address on the pool 530 when the reference type is shared reference is registered. In the case of PVOL reference and exclusive reference, the shared partner VOL real volume ID column 1006 is “none”. In addition, even if the shared reference is used, for example, when there is only one SVOL that forms a snapshot pair with the PVOL, “None” is given when there is no shared partner VOL.
 図8は、プール管理情報1100の一例を示したものである。この情報は、各ストレージ装置500が保持する情報であり、主にメモリ508に格納される。プールID列1101には、プール530の識別子が登録される。アドレス列1102には、プール530のチャンクのアドレスが登録される。割当済み列1103には、当該アドレスがSVOLに対して割当済み(yes)か否(no)かを示す値が登録される。 FIG. 8 shows an example of the pool management information 1100. This information is information held by each storage device 500 and is mainly stored in the memory 508. In the pool ID column 1101, the identifier of the pool 530 is registered. In the address column 1102, the address of the chunk of the pool 530 is registered. In the assigned column 1103, a value indicating whether or not the address is assigned to the SVOL (yes) or not (no) is registered.
 図9は、移動コピーペア管理情報1200の一例を示したものである。この情報は、各ストレージ装置500が保持する情報であり、主にメモリ508に格納される。移動コピーペアID列1201には、移動コピーペアの識別子が登録される。ペア状態列1202には、移動コピーペアの状態を示すPAIRまたはCOPYの値が登録される。PAIRは、後述の移動コピー処理が当該移動コピーペアの全アドレスについて完了した状態であり、移動元VOLと移動先VOLのデータが一致している。COPYは、PAIRでない状態である。 FIG. 9 shows an example of the moving copy pair management information 1200. This information is information held by each storage device 500 and is mainly stored in the memory 508. In the moving copy pair ID column 1201, the identifier of the moving copy pair is registered. In the pair status column 1202, a value of PAIR or COPY indicating the status of the moving copy pair is registered. PAIR is a state in which a later-described move copy process has been completed for all addresses of the move copy pair, and the data of the move source VOL and the move destination VOL match. COPY is a state that is not PAIR.
 移動元VOL実ボリュームID列には、移動コピーペアのうち移動元VOLの実ボリュームID及び移動元ストレージ装置500Aの識別子が登録される。移動先VOL実ボリュームID列には、移動コピーペアのうち移動先VOLの実ボリュームID及び移動先ストレージ装置500Bの識別子が登録される。アドレス列1205には、移動元VOL及び移動先VOLのチャンクのアドレスが登録される。移動コピー状態列1206には、当該アドレスのチャンクの移動コピーが完了したか否(未完)かの値が登録される。 In the migration source VOL real volume ID column, the real volume ID of the migration source VOL in the migration copy pair and the identifier of the migration source storage apparatus 500A are registered. In the migration destination VOL real volume ID column, the real volume ID of the migration destination VOL of the migration copy pair and the identifier of the migration destination storage apparatus 500B are registered. In the address column 1205, the addresses of the chunks of the migration source VOL and the migration destination VOL are registered. The moving copy status column 1206 registers a value indicating whether or not the moving copy of the chunk at the address has been completed (incomplete).
 図10は、スナップショット割当情報1300の一例を示したものである。この情報は、チャンクごとに生成され、チャンクごとの移動コピーの際に移動元ストレージ装置500Aから移動先ストレージ装置500Bに送信されるチャンクごとの管理情報である。移動先VOL実ボリュームID列1301には、移動先VOLの実ボリュームIDが登録される。アドレス列1302には、移動先VOLのチャンクのアドレスが登録される。参照種別列1303には、PVOL参照、共有参照、占有参照のいずれであるかを示す値が登録される。移動先VOLがPVOLの場合、参照種別列1303の値は空となる。共有相手VOL実ボリュームID列1304には、共有相手VOLのうち、当該アドレスの移動コピー状態が「完了」のものの実ボリュームIDが登録される。 FIG. 10 shows an example of the snapshot allocation information 1300. This information is management information for each chunk that is generated for each chunk and is transmitted from the migration source storage apparatus 500A to the migration destination storage apparatus 500B during the migration copy for each chunk. In the migration destination VOL real volume ID column 1301, the real volume ID of the migration destination VOL is registered. In the address column 1302, the address of the chunk of the migration destination VOL is registered. In the reference type column 1303, a value indicating whether the reference is a PVOL reference, a shared reference, or an exclusive reference is registered. When the migration destination VOL is PVOL, the value of the reference type column 1303 is empty. In the sharing partner VOL real volume ID column 1304, the real volume IDs of the sharing partner VOL whose migration copy status is “complete” are registered.
 移動先VOLがSVOLでPVOL参照または占有参照の場合、及び移動先VOLがPVOLの場合は「なし」となる。また、共有参照であっても、共有相手VOLがない場合、またはどの共有相手VOLの移動コピー状態も未完である場合は、移動先ストレージ装置500Bのプール530に共有すべきデータが格納されていないため「なし」となる。データ有無列1305には、データ列1306にデータがあるか否かの値が登録される。データ列1306には、当該チャンクのデータが格納される。なお、データが格納される条件は、「移動先VOLがPVOLであること」、または「移動先VOLがSVOLで共有参照、かつ共有相手VOL実ボリュームID列1304の値が「なし」であること」、または「移動先VOLがSVOLで占有参照であること」である。 When the migration destination VOL is SVOL and is a PVOL reference or occupancy reference, and when the migration destination VOL is a PVOL, “None” is displayed. Even if the reference is shared, if there is no shared partner VOL, or if the migration copy status of any shared partner VOL is incomplete, data to be shared is not stored in the pool 530 of the migration destination storage apparatus 500B. Therefore, it becomes “None”. In the data presence / absence column 1305, a value indicating whether or not there is data in the data column 1306 is registered. The data column 1306 stores the data of the chunk. The data is stored under the condition that “the migration destination VOL is a PVOL”, or “the migration destination VOL is an SVOL and shared reference, and the value of the shared partner VOL real volume ID column 1304 is“ none ”. Or “move destination VOL is an exclusive reference in SVOL”.
 図11は、ボリューム移動処理の一例を示すフローチャートである。本処理を実行するのは以降の各ステップの説明においては移動元ストレージ500Aだが、管理サーバ200が実行してもよい。管理サーバ200が実行する場合、管理サーバ200は、LANを経由して各ストレージ装置500及びホスト計算機100に指示を出すことで、各ステップを実行する。ストレージ装置500が実行する場合には、ストレージ装置500に含まれる、移動コピー制御プログラム552によって実行される。 FIG. 11 is a flowchart showing an example of the volume movement process. This processing is executed by the migration source storage 500A in the following description of each step, but may be executed by the management server 200. When executed by the management server 200, the management server 200 executes each step by issuing an instruction to each storage device 500 and the host computer 100 via the LAN. When the storage apparatus 500 executes, it is executed by the migration copy control program 552 included in the storage apparatus 500.
 ステップ1401:移動先ストレージ装置500Bに、移動元ストレージ装置500Aの移動元VOLと同じ仮想ストレージIDの仮想ストレージ装置600に属し、かつ同じ仮想ボリュームIDを持つ移動先VOLを作成する。その際、移動元ストレージ装置500Aと移動先ストレージ装置500Bとで、スナップショットペア管理情報800、スナップショットPVOL管理情報900、スナップショットSVOL管理情報1000を更新する。なお、移動元VOLは、一つのPVOL、及び当該PVOLとスナップショットペアを組む全てのSVOLである。従って、このステップでは一つ以上の移動先VOLを作成することになる。さらに、作成した移動先VOLに対して、移動元ストレージ装置500Aと同じ構成のスナップショットペアを設定する。このとき、スナップショットのペア状態はPSUSである。また、移動先VOLをホストに対してパス設定する。 Step 1401: A migration destination VOL that belongs to the virtual storage device 600 having the same virtual storage ID as the migration source VOL of the migration source storage device 500A and has the same virtual volume ID is created in the migration destination storage device 500B. At this time, the snapshot pair management information 800, the snapshot PVOL management information 900, and the snapshot SVOL management information 1000 are updated between the migration source storage apparatus 500A and the migration destination storage apparatus 500B. Note that the migration source VOL is one PVOL and all SVOLs that form a snapshot pair with the PVOL. Accordingly, in this step, one or more destination VOLs are created. Further, a snapshot pair having the same configuration as that of the migration source storage apparatus 500A is set for the created migration destination VOL. At this time, the pair state of the snapshot is PSUS. Also, a path is set for the migration destination VOL to the host.
 ステップ1402:移動元VOLと移動先VOLに移動コピーペアを設定する。このとき、移動コピーペアのペア状態はCOPYとなる。
ステップ1403:移動コピー処理(図12記載)を実行する。
ステップ1404:移動元VOLのホストへのパスを解除する。
ステップ1405:移動コピーペアを解除する。
なお、ステップ1401で「全てのSVOL」としたが「一部のSVOL」としてもよい。この場合、一部のSVOLのみ移動先ストレージ装置500Bに移動することになる。このような部分的な移動は、例えば移動元ストレージ装置500Aと移動先ストレージ装置500Bとで負荷分散を行う際に有効である。
Step 1402: A migration copy pair is set in the migration source VOL and the migration destination VOL. At this time, the pair status of the moving copy pair is COPY.
Step 1403: The migration copy process (described in FIG. 12) is executed.
Step 1404: Release the path to the host of the migration source VOL.
Step 1405: Release the moving copy pair.
In step 1401, “all SVOLs” is set, but “some SVOLs” may be set. In this case, only some SVOLs are moved to the migration destination storage apparatus 500B. Such partial migration is effective, for example, when load distribution is performed between the migration source storage apparatus 500A and the migration destination storage apparatus 500B.
 なお、移動したSVOLについては、本フローチャート終了後、移動元ストレージ装置500Aから削除することができる。一方、PVOLは、移動元ストレージ装置500Aと移動先ストレージ装置500Bの両方でスナップショットペアを維持するために、両ストレージ装置500に残す必要がある。また、移動コピーを二重化のために実行する場合には、移動元ストレージ装置500AにPVOLとSVOLを両方残す必要があるため、S1404、S1405は不要となる
 図12は、移動コピー処理の一例を示すフローチャートである。本処理を実行するのは移動元ストレージ装置500Aの移動コピー制御プログラム552である。
The moved SVOL can be deleted from the migration source storage apparatus 500A after the end of this flowchart. On the other hand, the PVOL needs to remain in both storage apparatuses 500 in order to maintain the snapshot pair in both the migration source storage apparatus 500A and the migration destination storage apparatus 500B. Further, when the migration copy is executed for duplication, both the PVOL and the SVOL must be left in the migration source storage apparatus 500A, so S1404 and S1405 are not required. FIG. 12 shows an example of the migration copy process. It is a flowchart. This process is executed by the migration copy control program 552 of the migration source storage apparatus 500A.
 ステップ1501:移動コピーペア管理情報1200を参照し、移動コピーペアのうち、ペア状態がCOPYのものを一つ選択する。ここで選択した移動コピーペアを対象ペアと呼ぶ。
ステップ1502:対象ペアが見つかった場合、ステップ1503に進む。さもなければ、全ての移動コピーを完了したことになるため、ステップ1512(終了)に進む。
ステップ1503:移動コピーペア管理情報1200を参照し、対象ペアのアドレスのうち、移動コピー状態が「未完」のアドレスを一つ選択する。ここで選択したアドレスを対象アドレスと呼ぶ。なお、以降の説明において、誤解の恐れがない限りは「アドレス」という単語で、そのアドレスが示すチャンクのことを指す場合がある。
Step 1501: With reference to the moving copy pair management information 1200, one of the moving copy pairs whose pair status is COPY is selected. The moving copy pair selected here is called a target pair.
Step 1502: If the target pair is found, proceed to Step 1503. Otherwise, since all the moving copies have been completed, the process proceeds to step 1512 (end).
Step 1503: Referring to the moving copy pair management information 1200, one address whose moving copy status is “incomplete” is selected from the addresses of the target pair. The address selected here is called a target address. In the following description, the word “address” may refer to the chunk indicated by the address unless there is a risk of misunderstanding.
 ステップ1504:スナップショットペア管理情報800と移動コピーペア管理情報1200を参照し、対象ペアが、スナップショットPVOL同士の移動コピーペアである場合(YES)は、ステップ1507に進む。スナップショットSVOL同士の移動コピーペアである場合(NO)は、ステップ1505に進む。
ステップ1505:移動コピーペア管理情報1200を参照し、対象ペアのボリューム(SVOL)とスナップショットペアを組むPVOLの対象アドレスが、移動コピー状態「完了」である場合は、ステップ1507に進む。移動コピー状態が「未完」の場合はステップ1506に進む。
Step 1504: Referring to the snapshot pair management information 800 and the moving copy pair management information 1200, if the target pair is a moving copy pair between snapshot PVOLs (YES), the process proceeds to step 1507. If it is a moving copy pair between snapshots SVOL (NO), the process proceeds to step 1505.
Step 1505: Referring to the moving copy pair management information 1200, if the target address of the PVOL that forms a snapshot pair with the volume (SVOL) of the target pair is in the moving copy state “completed”, the process proceeds to step 1507. If the moving copy status is “incomplete”, the process proceeds to step 1506.
 ステップ1506:PVOLの対象アドレスの移動コピー状態が「未完」の場合は、先にPVOLの対象アドレスの移動コピーを実行する必要があるため、対象ペアをPVOL同士の移動コピーペアに変更する。SVOLに参照されているPVOLの移動コピー状態が「未完」のまま、先に、参照しているSVOLの移動コピーをしてしまうと、移動先のSVOLが移動コピー状態「完了」になる前のPVOLを参照し、移動元と移動先でスナップショット構成に食い違いが起きてしまう。ステップ1506により、この食い違いを防ぐことが可能となる。 Step 1506: If the moving copy state of the target address of PVOL is “incomplete”, it is necessary to execute the moving copy of the target address of PVOL first, so the target pair is changed to a moving copy pair between PVOLs. If the moving copy status of the PVOL referenced by the SVOL remains “incomplete” and a moving copy of the referenced SVOL is made first, the destination SVOL before the moving copy status becomes “completed” With reference to PVOL, there is a discrepancy in the snapshot configuration between the source and destination. Step 1506 makes it possible to prevent this discrepancy.
 ステップ1507:移動元VOLの対象アドレスの排他を取得する。なお、本処理含め、以降の処理全てにおいて、移動元VOLでのみ排他を取得し、移動先VOLでは排他制御は行わない。後に説明する図17のステップ2002にあるように、移動先VOLに対するライトコマンドを受領した際には、移動元ストレージ装置にライトコマンドを転送するため、移動元VOLでのみ排他制御を行えば、移動元と移動先のVOLでスナップショット構成に食い違いが起きることはない。
ステップ1508:排他の取得が成功した場合、ステップ1509に進む。失敗した場合、ステップ1501に進む。
Step 1507: The exclusion of the target address of the migration source VOL is acquired. In all the subsequent processes including this process, exclusion is acquired only in the migration source VOL, and exclusion control is not performed in the migration destination VOL. As shown in step 2002 of FIG. 17 to be described later, when a write command for the migration destination VOL is received, the write command is transferred to the migration source storage apparatus. Therefore, if exclusive control is performed only on the migration source VOL, There is no discrepancy in the snapshot configuration between the source and destination VOLs.
Step 1508: If acquisition of exclusion is successful, the process proceeds to Step 1509. If unsuccessful, the process proceeds to step 1501.
 ステップ1509:スナップショット割当情報1300を移動先ストレージ装置500Bに送信し、移動先ストレージ装置500Bからの処理完了通知を待つ。なお、スナップショット割当情報1300の移動先VOL実ボリュームID列1301には、移動コピーペア管理情報1200に基づき、対象ペアの移動先VOL実ボリュームIDが登録される。アドレス列1302には、対象アドレスが登録される。参照種別1303には、スナップショットSVOL管理情報1000に基づき、参照種別が登録される。対象ペアがPVOL同士の移動コピーペアの場合は、参照種別1303は空となる。共有相手VOL実ボリュームID列1304には、スナップショットSVOL管理情報1000の共有相手VOL実ボリュームID列1006に基づいて、共有相手VOLの実ボリュームIDが登録される。参照種別等の条件によって登録されない場合があるが、その条件については記載済みである。また、データ有無列1305、及びデータ列1306が登録される条件についても記載済みである。 Step 1509: The snapshot allocation information 1300 is transmitted to the migration destination storage apparatus 500B, and a process completion notification from the migration destination storage apparatus 500B is awaited. Note that the migration destination VOL real volume ID of the target pair is registered in the migration destination VOL real volume ID column 1301 of the snapshot allocation information 1300 based on the migration copy pair management information 1200. A target address is registered in the address column 1302. In the reference type 1303, a reference type is registered based on the snapshot SVOL management information 1000. When the target pair is a moving copy pair between PVOLs, the reference type 1303 is empty. In the shared partner VOL real volume ID column 1304, the real volume ID of the shared partner VOL is registered based on the shared partner VOL real volume ID column 1006 of the snapshot SVOL management information 1000. Although it may not be registered depending on conditions such as the reference type, such conditions have already been described. The conditions for registering the data presence / absence column 1305 and the data column 1306 have also been described.
 ステップ1510:移動コピーペア管理情報1200の対象ペアの対象アドレスの移動コピー状態を「完了」にし、排他を解除する。
ステップ1511:対象ペアの全アドレスの移動コピー状態が「完了」であれば、移動コピーのペア状態をPAIRに変更し、ステップ1501に進む。さもなければ本ステップでは何もせず、同様にステップ1501に進む。
Step 1510: The moving copy status of the target address of the target pair in the moving copy pair management information 1200 is set to “complete”, and the exclusion is released.
Step 1511: If the moving copy status of all addresses of the target pair is “complete”, the pair status of the moving copy is changed to PAIR, and the process proceeds to Step 1501. Otherwise, nothing is done in this step, and the process proceeds to step 1501 in the same manner.
 図13は、移動元ストレージ装置からのスナップショット割当情報受信時処理の一例を示すフローチャートである。本処理を実行するのは移動先ストレージ装置500Bの移動コピー制御プログラム552である。 FIG. 13 is a flowchart showing an example of processing at the time of receiving snapshot allocation information from the migration source storage apparatus. This process is executed by the migration copy control program 552 of the migration destination storage apparatus 500B.
 ステップ1601:ステップ1509で送信されたスナップショット割当情報1300を受信する。
ステップ1602:スナップショット割当情報1300の移動先VOL実ボリュームID列1301が示す移動先VOLが、スナップショットPVOLである場合(YES)、ステップ1603に進む。スナップショットSVOLである場合(NO)、ステップ1604に進む。
ステップ1603:移動先VOLの対象アドレス(アドレス列1302の値)のデータを、データ列1306のデータで更新する。なお、本ステップはPVOLを対象としたステップのため、参照種別等のスナップショットSVOL管理情報1000に関する更新はない。
Step 1601: The snapshot allocation information 1300 transmitted at Step 1509 is received.
Step 1602: If the migration destination VOL indicated by the migration destination VOL real volume ID column 1301 of the snapshot allocation information 1300 is a snapshot PVOL (YES), the process proceeds to Step 1603. If it is a snapshot SVOL (NO), the process proceeds to step 1604.
Step 1603: The data of the target address (value of the address string 1302) of the migration destination VOL is updated with the data of the data string 1306. Since this step is a step for PVOL, there is no update related to the snapshot SVOL management information 1000 such as the reference type.
 ステップ1604:スナップショット割当情報1300の共有相手VOL実ボリュームID列1304に共有相手VOLの実ボリュームIDが格納されている場合(YES)は、ステップ1606に進む。共有相手VOLの実ボリュームIDが格納されていない場合(NO)は、ステップ1605に進む。
ステップ1605:プール530の未割当のアドレスを検索し、見つかったアドレスのチャンクにデータ列1306のデータを格納する。さらに、移動先VOLのスナップショットSVOL管理情報1000の参照種別列1003の値を、スナップショット割当情報1300の参照種別列1303の値で更新する。また、参照アドレス列1004の値を、データを格納したプール530のチャンクのアドレスとする。
Step 1604: If the real volume ID of the shared partner VOL is stored in the shared partner VOL real volume ID column 1304 of the snapshot allocation information 1300 (YES), the process proceeds to Step 1606. If the real volume ID of the sharing partner VOL is not stored (NO), the process proceeds to step 1605.
Step 1605: The unassigned address of the pool 530 is searched, and the data in the data string 1306 is stored in the chunk of the found address. Further, the value of the reference type column 1003 of the snapshot SVOL management information 1000 of the migration destination VOL is updated with the value of the reference type column 1303 of the snapshot allocation information 1300. Further, the value of the reference address column 1004 is set as the address of the chunk of the pool 530 storing the data.
 ステップ1606:移動先VOLの対象アドレスについて、スナップショットSVOL管理情報1000の参照種別列1003及び共有相手VOL実ボリュームID列1006の値を、スナップショット割当情報1300のそれぞれ同名の列の値で更新する。また、同じく移動先VOLの対象アドレスについて、参照アドレス列1004を、共有相手VOLのスナップショットSVOL管理情報1000の同名の列の値で更新する。また、共有相手VOLの対象アドレスについて、スナップショットSVOL管理情報1000の共有相手VOL実ボリュームID列1006の値を、スナップショット割当情報1300の同名の列の値で更新する。このように、共有相手VOLが存在する場合は、スナップショットSVOL管理情報1000の書換えのみで処理が完了し、データの転送を伴わない。 Step 1606: For the target address of the migration destination VOL, the values of the reference type column 1003 and the shared partner VOL real volume ID column 1006 of the snapshot SVOL management information 1000 are updated with the values of the columns having the same names in the snapshot allocation information 1300, respectively. . Similarly, for the target address of the migration destination VOL, the reference address column 1004 is updated with the value of the column of the same name in the snapshot SVOL management information 1000 of the sharing partner VOL. Further, for the target address of the sharing partner VOL, the value of the sharing partner VOL real volume ID column 1006 of the snapshot SVOL management information 1000 is updated with the value of the column of the same name in the snapshot allocation information 1300. As described above, when the sharing partner VOL exists, the processing is completed only by rewriting the snapshot SVOL management information 1000, and data transfer is not performed.
 ステップ1607:移動先VOLが属する移動コピーペアの対象アドレスの移動コピー状態を「完了」にする。
ステップ1608:ステップ1607で全アドレスの移動コピー状態が「完了」となれば、移動コピーペアのペア状態をPAIRに変更する。それ以外の場合、本ステップでは何もしない。
ステップ1609:移動元ストレージ装置500Aに完了通知を送信する。
このように、移動コピー処理はチャンク単位の情報であるスナップショット割当情報1300によってチャンク単位で行われ、その際の排他取得もチャンク単位で行われる。ボリュームごとに移動コピー処理を行い、ボリュームごとに排他を取得する場合よりも、細かい単位で排他を取得することで、同じボリュームに含まれていても、移動コピー処理と無関係のチャンクにはI/Oを受け付けることが可能となる。
Step 1607: The migration copy status of the target address of the migration copy pair to which the migration destination VOL belongs is set to “complete”.
Step 1608: If the move copy status of all addresses is “complete” in step 1607, the pair status of the move copy pair is changed to PAIR. Otherwise, do nothing in this step.
Step 1609: A completion notification is transmitted to the migration source storage apparatus 500A.
As described above, the migration copy process is performed in units of chunks using the snapshot allocation information 1300 that is information in units of chunks, and exclusive acquisition at that time is also performed in units of chunks. Compared to the case where the migration copy process is performed for each volume and the exclusion is acquired for each volume, the I / O is acquired for chunks that are not related to the migration copy process even if they are included in the same volume by acquiring the exclusion in a finer unit. O can be accepted.
 図14は、移動元VOLへのホストライト受領時処理の一例を示すフローチャートである。本処理を実行するのは移動元ストレージ装置500Aのスナップショット制御プログラム551である
 ステップ1701:ホストから移動元VOLに対するライトコマンドを受領する。移動元VOLはPVOLとSVOLいずれであってもよい。また、ライトの対象となったボリューム及びアドレスを、それぞれ対象VOL(またはライト対象VOL)、対象アドレスと呼ぶ。
FIG. 14 is a flowchart showing an example of host write reception processing to the migration source VOL. This processing is executed by the snapshot control program 551 of the migration source storage apparatus 500A. Step 1701: A write command for the migration source VOL is received from the host. The source VOL may be either PVOL or SVOL. Further, the volume and address that are the write target are referred to as a target VOL (or write target VOL) and target address, respectively.
 ステップ1702:ライト対象VOL及び当該ライト対象VOLとデータを共有するSVOLの、対象アドレスの排他を取得する。ここで「当該ライト対象VOLとデータを共有するSVOL」とは、ライト対象VOLがPVOLの場合は「対象アドレスがPVOL参照であるようなSVOL」、ライト対象VOLがSVOLの場合は対象アドレスについての共有相手VOLのことである。なお、ライト対象VOLの対象アドレスがPVOL参照または占有参照の場合は、排他を取得するのはライト対象VOLについてのみとなる。 Step 1702: The exclusion of the target address of the write target VOL and the SVOL that shares data with the write target VOL is acquired. Here, “SVOL that shares data with the write target VOL” means “SVOL whose target address is a PVOL reference” when the write target VOL is PVOL, and about the target address when the write target VOL is SVOL. It is a sharing partner VOL. Note that when the target address of the write target VOL is a PVOL reference or exclusive reference, exclusion is acquired only for the write target VOL.
 ステップ1702での排他により、ライト処理中に、ライト対象のアドレスとスナップショット構成によりライトによって参照先が変更されるアドレスに移動コピー処理が実行されることがなくなるため、移動元と移動先のボリュームでスナップショット構成に食い違いが発生することを防ぐことが出来る。ここで、当該ライト対象VOL及び当該ライト対象VOLとデータを共有するSVOLの、対象アドレスが、移動コピーにより排他を取得されている場合は、例えばステップ1703に進まず、ステップ1702を再度実行するか、ホストにエラーを返す。 Due to the exclusion in step 1702, during the write process, the migration copy process is no longer executed to the address to which the reference destination is changed by the write due to the write target address and the snapshot configuration. Thus, it is possible to prevent a difference in the snapshot configuration from occurring. Here, if the target address of the write target VOL and the SVOL that shares data with the write target VOL has been acquired by moving copy, for example, does not proceed to step 1703 and execute step 1702 again? Return an error to the host.
 ステップ1703:ライトを実行する。つまり、ライトコマンドに含まれるデータを、対象VOLの対象アドレスに書き込む。ライト対象VOLがSVOLかつ対象アドレスがPVOL参照の場合、プール530の未割当のチャンクを検索し、見つかったチャンクにデータを書き込み、対象アドレスを見つかったプール530のチャンクのアドレスで更新する。それ以外の場合は、対象アドレスにはチャンクが割り当たっているため、当該チャンクにデータを書き込む。なお、ここでの書き込みは物理的にはまずキャッシュメモリ507に対して行い、キャッシュメモリ507から物理ディスク501への書き込み(デステージ)は本処理とは非同期的に実行する。これは一般的なストレージ装置の処理である。 Step 1703: Write is executed. That is, the data included in the write command is written to the target address of the target VOL. When the write target VOL is SVOL and the target address is a PVOL reference, an unallocated chunk of the pool 530 is searched, data is written to the found chunk, and the target address is updated with the address of the chunk of the found pool 530. In other cases, since a chunk is assigned to the target address, data is written to the chunk. Note that the writing here is physically performed to the cache memory 507 first, and writing (destage) from the cache memory 507 to the physical disk 501 is executed asynchronously with this processing. This is a general storage apparatus process.
 ステップ1704:データ退避処理(図16記載)を実行する。 Step 1704: Data saving processing (described in FIG. 16) is executed.
 ステップ1705:ライト対象VOLの対象アドレスの移動コピー状態が「完了」の場合、ステップ1706に進む。「未完」の場合はステップ1709に進む。移動コピー状態が「未完」の場合には移動元VOLのライト対象VOLに対するライトは、その後の移動コピーによって移動先VOLに反映させ、移動コピー状態が「完了」の場合には移動元VOLのライト対象VOLに対するライトをステップ1706によって移動先VOLに反映させる。 Step 1705: If the moving copy state of the target address of the write target VOL is “completed”, the process proceeds to step 1706. If it is “incomplete”, the process proceeds to step 1709. When the migration copy status is “incomplete”, the write to the write target VOL of the migration source VOL is reflected in the migration destination VOL by the subsequent migration copy, and when the migration copy status is “complete”, the migration source VOL is written. The write to the target VOL is reflected on the destination VOL at step 1706.
 ステップ1706:移動先ストレージ装置500Bに、ライト対象VOLと移動コピーペアを組む移動先VOLに対するライトコマンド、及びステップ1702で排他を取得したSVOLのスナップショット割当情報1300を送信し、完了通知を待つ。なお、送信するスナップショット割当情報1300は「ステップ1702で排他を取得したSVOLのスナップショット割当情報1300」ではなく「ステップ1702で排他を取得したSVOLのうち、対象アドレスの移動コピー状態が未完のもののスナップショット割当情報1300」としてもよい。 Step 1706: The write command for the migration destination VOL that forms a migration copy pair with the write target VOL and the snapshot allocation information 1300 of the SVOL that acquired the exclusion in Step 1702 are transmitted to the migration destination storage apparatus 500B, and a completion notification is awaited. It should be noted that the snapshot allocation information 1300 to be transmitted is not “snapshot allocation information 1300 of the SVOL acquired in step 1702” but “moving copy status of the target address in the SVOL acquired in step 1702 is incomplete. The snapshot allocation information 1300 ”may be used.
 また、送信するスナップショット割当情報1300は、ステップ1704によりデータを退避する前のものを送信する。移動元VOLに対するライトによって生じた退避による参照先の変更等は、移動先で行われる退避によって反映されるため、送信するスナップショット割当情報1300は、ステップ1704によりデータを退避する前のものでよい。また、スナップショット割当情報1300をライトコマンドとともに送信することで、移動コピーを図12、図13の移動コピー処理だけでなく、移動元へのライトの際にも実行する。 Also, the snapshot allocation information 1300 to be transmitted is the information before saving data in step 1704. The change of the reference destination due to the saving caused by the write to the migration source VOL is reflected by the saving performed at the migration destination, so the snapshot allocation information 1300 to be transmitted may be the information before saving the data in step 1704. . Further, by transmitting the snapshot allocation information 1300 together with the write command, the migration copy is executed not only during the migration copy processing of FIGS. 12 and 13 but also when writing to the migration source.
 ステップ1707:ステップ1706でスナップショット割当情報1300を送信したSVOLの対象アドレスの移動コピー状態を「完了」にする。
ステップ1708:ステップ1707の結果、全アドレスの移動コピー状態が「完了」となった移動コピーペアのペア状態をPAIRにする。
ステップ1709:ステップ1702で取得した排他を解除する。
ステップ1710:ホストに完了(RSP)を送信する。
Step 1707: The migration copy state of the target address of the SVOL that sent the snapshot allocation information 1300 in step 1706 is set to “complete”.
Step 1708: As a result of Step 1707, the pair status of the move copy pair in which the move copy status of all addresses is “complete” is set to PAIR.
Step 1709: The exclusion acquired in step 1702 is canceled.
Step 1710: Send completion (RSP) to the host.
 図15は移動元ストレージ装置500Aからのライト及びスナップショット割当情報受信時処理の一例を示すフローチャートである。本処理を実行するのは移動先ストレージ装置500Bのスナップショット制御プログラム551である。 FIG. 15 is a flowchart showing an example of processing at the time of receiving write and snapshot allocation information from the migration source storage apparatus 500A. This process is executed by the snapshot control program 551 of the migration destination storage apparatus 500B.
 ステップ1801:ステップ1706で移動元ストレージ装置500Aから送信された、移動先VOL(ライト対象VOL)に対するライトコマンド及びスナップショット割当情報を受信する。 Step 1801: The write command and snapshot allocation information for the migration destination VOL (write target VOL) transmitted from the migration source storage apparatus 500A in Step 1706 are received.
 ステップ1802:スナップショット割当情報1300に基づいて、スナップショットSVOL管理情報1000を更新する。なお、この更新処理はスナップショット割当情報受信時処理(図13記載)と同様である。ただし、本ステップで処理するスナップショット割当情報1300には、複数のSVOLの情報が含まれているため、各々についてスナップショット割当情報受信時処理を実行する。 Step 1802: Based on the snapshot allocation information 1300, the snapshot SVOL management information 1000 is updated. This update process is the same as the snapshot allocation information reception process (shown in FIG. 13). However, since the snapshot allocation information 1300 processed in this step includes information of a plurality of SVOLs, the snapshot allocation information reception process is executed for each.
 ステップ1803:ステップ1802で更新したSVOLについて、対象アドレスの移動コピー状態を「完了」にする。
ステップ1804:ステップ1803の結果、全アドレスの移動コピー状態が「完了」になった移動コピーペアのペア状態をPAIRにする。
ステップ1805:ライトを実行する。
ステップ1806:データ退避処理(図16記載)を実行する。
ステップ1807:移動元ストレージ装置500Aに完了通知を応答する。
Step 1803: For the SVOL updated in Step 1802, the migration copy state of the target address is set to “complete”.
Step 1804: As a result of Step 1803, the pair status of the move copy pair in which the move copy status of all addresses is “complete” is set to PAIR.
Step 1805: Write is executed.
Step 1806: Data saving processing (described in FIG. 16) is executed.
Step 1807: A completion notification is returned to the migration source storage apparatus 500A.
 図16は、データ退避処理の一例を示すフローチャートである。本処理を実行するのはストレージ装置500のスナップショット制御プログラム551である。また、本処理はライトを実行した直後に実行されるが、非同期的に実行してもよい。すなわち、ライトを実行(キャッシュメモリ507に書き込み)した直後にはデータ退避処理を実行せず、デステージを実行する際に実行してもよい。 FIG. 16 is a flowchart showing an example of the data saving process. This process is executed by the snapshot control program 551 of the storage apparatus 500. Further, although this process is executed immediately after the write is executed, it may be executed asynchronously. That is, the data saving process may not be executed immediately after the write is executed (written to the cache memory 507), but may be executed when the destage is executed.
 ステップ1901:ライト対象VOLがPVOLの場合、ステップ1902に進む。対象VOLがSVOLの場合、ステップ1905に進む。
ステップ1902:SVOLのうち、対象アドレスの参照種別がPVOL参照のものを検索する。
Step 1901: When the write target VOL is PVOL, the process proceeds to Step 1902. If the target VOL is an SVOL, the process proceeds to step 1905.
Step 1902: Among the SVOLs, a search is made for a target address whose reference type is a PVOL reference.
 ステップ1903:ステップ1902で一つでもSVOLが見つかった場合、プール530から未割当のチャンクを検索し、当該チャンクに対象アドレスのライト実行前のデータを格納する。格納先のチャンクのアドレスを新アドレスと呼ぶ。なお、SVOLが一つも見つからなかった場合、本ステップでは何もしない。 Step 1903: If at least one SVOL is found in Step 1902, an unallocated chunk is searched from the pool 530, and the data before the write execution of the target address is stored in the chunk. The address of the storage chunk is called the new address. If no SVOL is found, nothing is done in this step.
 ステップ1904:ステップ1902で見つけたSVOLの対象アドレスについて、スナップショットSVOL管理情報1000の参照種別列1003を共有参照、参照アドレス列1004を新アドレスに更新する。また、共有相手VOL実ボリュームID列1006の値を、見つけたSVOLに基づき更新する。 Step 1904: For the target address of the SVOL found in Step 1902, the reference type column 1003 of the snapshot SVOL management information 1000 is updated to the shared reference, and the reference address column 1004 is updated to the new address. Further, the value of the shared partner VOL real volume ID column 1006 is updated based on the found SVOL.
 ステップ1905:対象アドレスが共有参照である場合、ステップ1906に進む。対象アドレスがPVOL参照または占有参照である場合、ステップ1910に進む。
ステップ1906:ライト対象VOLの対象アドレスについて、スナップショットSVOL管理情報1000の参照種別列1003を占有参照にする。
ステップ1907:ライト対象VOLの対象アドレスについて、共有相手VOLを検索する。つまり、スナップショットSVOL管理情報1000の共有相手VOL実ボリュームID列1006を参照する。
Step 1905: If the target address is a shared reference, go to Step 1906. If the target address is a PVOL reference or an exclusive reference, the process proceeds to step 1910.
Step 1906: For the target address of the write target VOL, the reference type column 1003 of the snapshot SVOL management information 1000 is set as an exclusive reference.
Step 1907: The sharing partner VOL is searched for the target address of the write target VOL. That is, the shared partner VOL real volume ID column 1006 of the snapshot SVOL management information 1000 is referred to.
 ステップ1908:ステップ1907で一つでも共有相手VOLが見つかった場合、プール530から未割当のチャンクを検索し、当該チャンクに対象アドレスのライト実行前のデータを格納する。格納先のチャンクのアドレスを新アドレスと呼ぶ。なお、共有相手VOLが一つも見つからなかった場合、本ステップでは何もしない。
ステップ1909:ステップ1907で見つけた共有相手VOLの対象アドレスについて、スナップショットSVOL管理情報1000の参照アドレス列1004を新アドレスに更新する。
Step 1908: If at least one shared partner VOL is found in Step 1907, an unallocated chunk is searched from the pool 530, and the data before write execution of the target address is stored in the chunk. The address of the storage chunk is called the new address. If no shared partner VOL is found, nothing is done in this step.
Step 1909: The reference address column 1004 of the snapshot SVOL management information 1000 is updated to a new address for the target address of the shared partner VOL found in Step 1907.
 ステップ1910:ライト対象VOLの対象アドレスについて、スナップショットSVOL管理情報1000の参照種別列1003を占有参照にする。なお、すでに占有参照となっている場合は本ステップでは何もしない。 Step 1910: For the target address of the write target VOL, the reference type column 1003 of the snapshot SVOL management information 1000 is set as an exclusive reference. If it is already an exclusive reference, nothing is done in this step.
 図17は、移動先VOLへのホストライト受領時処理の一例を示すフローチャートである。本処理を実行するのは、移動先ストレージ装置500Bのスナップショット制御プログラム551である。 FIG. 17 is a flowchart showing an example of processing at the time of host write reception to the migration destination VOL. This process is executed by the snapshot control program 551 of the migration destination storage apparatus 500B.
 ステップ2001:ホスト計算機100から、移動先VOLに対するライトを受領する。
ステップ2002:移動元ストレージ装置500Aにライトコマンドを転送し、完了通知を待つ。
ステップ2003:完了通知に含まれるライト対象VOLの対象アドレスの移動コピー状態が「完了」の場合、ステップ2004に進む。「未完」の場合、ステップ2009に進む。
Step 2001: Receive a write for the migration destination VOL from the host computer 100.
Step 2002: Transfer the write command to the migration source storage apparatus 500A and wait for the completion notification.
Step 2003: If the migration copy state of the target address of the write target VOL included in the completion notification is “complete”, the process proceeds to step 2004. If “incomplete”, the process proceeds to step 2009.
 ステップ2004:完了通知に含まれるスナップショット割当情報1300に基づいて、スナップショットSVOL管理情報1000を更新する。なお、この更新処理はスナップショット割当情報受信時処理(図13記載)と同様である。ただし、本ステップで処理するスナップショット割当情報1300には、複数のSVOLの情報が含まれているため、各々についてスナップショット割当情報受信時処理を実行する。 Step 2004: Update the snapshot SVOL management information 1000 based on the snapshot allocation information 1300 included in the completion notification. This update process is the same as the snapshot allocation information reception process (shown in FIG. 13). However, since the snapshot allocation information 1300 processed in this step includes information of a plurality of SVOLs, the snapshot allocation information reception process is executed for each.
 ステップ2005:ステップ2004で更新したSVOLの対象アドレスについて、移動コピー状態を「完了」にする。
ステップ2006:ステップ2005の結果、全アドレスの移動コピー状態が「完了」になった移動コピーペアのペア状態をPAIRにする。
Step 2005: The migration copy status is set to “complete” for the target address of the SVOL updated in step 2004.
Step 2006: As a result of Step 2005, the pair status of the move copy pair in which the move copy status of all addresses is “complete” is set to PAIR.
 ステップ2007:ライトを実行する。
ステップ2008:データ退避処理を実行する。
ステップ2009:ホスト計算機100に完了(RSP)を送信する。
ステップ2010:移動元ストレージ装置500Aに排他解除を送信する。
Step 2007: Write is executed.
Step 2008: A data saving process is executed.
Step 2009: Send completion (RSP) to the host computer 100.
Step 2010: Send exclusive release to the migration source storage apparatus 500A.
 図18は、移動先ストレージ装置500Bからのライト受領時処理の一例を示すフローチャートである。本処理を実行するのは、移動元ストレージ装置500Aである。 FIG. 18 is a flowchart showing an example of processing upon receipt of a write from the migration destination storage apparatus 500B. This processing is executed by the migration source storage apparatus 500A.
 ステップ2101:移動先ストレージ装置500Bからライトコマンドを受信する。
ステップ2102:ライト対象VOL及び当該ライト対象VOLとデータを共有するSVOLの、対象アドレスの排他を取得する。ここで「当該ライト対象VOLとデータを共有するSVOL」とは、ライト対象VOLがPVOLの場合は「対象アドレスがPVOL参照であるようなSVOL」、ライト対象VOLがSVOLの場合は対象アドレスについての共有相手VOLのことである。なお、ライト対象VOLの対象アドレスがPVOL参照または占有参照の場合は、排他を取得するのはライト対象VOLについてのみとなる。
Step 2101: A write command is received from the migration destination storage apparatus 500B.
Step 2102: The exclusion of the target address of the write target VOL and the SVOL sharing data with the write target VOL is acquired. Here, “SVOL that shares data with the write target VOL” means “SVOL whose target address is a PVOL reference” when the write target VOL is PVOL, and about the target address when the write target VOL is SVOL. It is a sharing partner VOL. Note that when the target address of the write target VOL is a PVOL reference or exclusive reference, exclusion is acquired only for the write target VOL.
 ステップ2103:ライトを実行する。
ステップ2104:データ退避処理を実行する。
ステップ2105:ライト対象VOLの対象アドレスの移動コピー状態が「完了」の場合、ステップ2106に進む。「未完」の場合ステップ2109に進む。
Step 2103: Write is executed.
Step 2104: A data saving process is executed.
Step 2105: If the migration copy status of the target address of the write target VOL is “complete”, the process proceeds to step 2106. If “incomplete”, the process proceeds to step 2109.
 ステップ2106:移動先ストレージ装置500Bに、完了通知を応答し、排他解除の指示を待つ。なお、送信する完了通知には、「ライト対象VOLの対象アドレスの移動コピー状態が「完了」である」こと、及びステップ2102で排他を取得したSVOLのスナップショット割当情報1300が含まれる。なお、スナップショット割当情報1300は、ステップ2104のデータ退避処理実行前のものである。 Step 2106: A completion notification is returned to the migration destination storage apparatus 500B, and an exclusive release instruction is awaited. The completion notification to be transmitted includes “the migration copy state of the target address of the write target VOL is“ complete ”” and the snapshot allocation information 1300 of the SVOL that acquired the exclusion in step 2102. Note that the snapshot allocation information 1300 is information before execution of the data saving process in step 2104.
 また、送信するスナップショット割当情報1300は「排他を取得したSVOLのスナップショット割当情報1300」ではなく「排他を取得したSVOLのうち、対象アドレスの移動コピー状態が未完のもののスナップショット割当情報1300」でもよい。 Further, the snapshot allocation information 1300 to be transmitted is not “snapshot allocation information 1300 of the SVOL that acquired the exclusion” but “snapshot allocation information 1300 of the target address that has not been moved and copied at the target address”. But you can.
 ステップ2107:ステップ2106でスナップショット割当情報1300を送信したSVOLの対象アドレスについて、移動コピー状態を「完了」にする。 Step 2107: The migration copy status is set to “complete” for the target address of the SVOL that has transmitted the snapshot allocation information 1300 in step 2106.
 ステップ2108:ステップ2107の結果、全アドレスの移動コピー状態が「完了」になった移動コピーペアのペア状態をPAIRにする
 ステップ2109:移動先ストレージ装置500Bに、完了通知を応答し、排他解除の指示を待つ。なお、送信する完了通知には、「ライト対象VOLの対象アドレスの移動コピー状態が「未完」である」ことが含まれる。
Step 2108: As a result of Step 2107, the pair status of the move copy pair in which the move copy status of all addresses is “completed” is set to PAIR. Step 2109: A completion notification is returned to the migration destination storage apparatus 500B, and the exclusive release is released. Wait for instructions. The completion notification to be transmitted includes that “the migration copy state of the target address of the write target VOL is“ incomplete ””.
 ステップ2110:取得していた排他を解除する。本ステップは、ステップ2106及びステップ2109に記載の通り、移動先ストレージ装置500Bからの排他解除指示があるまで実行されない。 Step 2110: The acquired exclusion is released. This step is not executed until there is an exclusion release instruction from the migration destination storage apparatus 500B as described in step 2106 and step 2109.
 図17及び図18で示した処理により、移動先でライト要求を受け付けても、スナップショット構成に食い違いが起きることなくライトを実行することが可能となる。 17 and 18, even if a write request is received at the movement destination, it becomes possible to execute the write without causing a discrepancy in the snapshot configuration.
 図19は、移動元VOLへのリード受領時処理の一例を示すフローチャートである。本処理を実行するのは、移動元ストレージ装置500Aのスナップショット制御プログラム551である。 FIG. 19 is a flowchart showing an example of processing upon receipt of a read to the migration source VOL. This process is executed by the snapshot control program 551 of the migration source storage apparatus 500A.
 ステップ2201:ホスト計算機100又は移動先ストレージ装置500Bからリード(リードコマンドと呼ぶこともある)を受信する。リードの対象となるボリューム及びアドレスを、それぞれリード対象VOL、対象アドレスと呼ぶ。
ステップ2202:リード対象VOLの対象アドレスの排他を取得する。
ステップ2203:リードを実行する。つまり、リード対象VOLの対象アドレスに格納されたデータを読み出す。
ステップ2204:ステップ2202で取得した排他を解除する。
ステップ2205:完了(RSP)を送信する。RSPにはリード結果のデータも含まれる。
Step 2201: A read (sometimes referred to as a read command) is received from the host computer 100 or the migration destination storage apparatus 500B. The volume and address to be read are called a read target VOL and a target address, respectively.
Step 2202: The exclusion of the target address of the read target VOL is acquired.
Step 2203: Read is executed. That is, the data stored in the target address of the read target VOL is read.
Step 2204: The exclusion acquired at step 2202 is canceled.
Step 2205: Send completion (RSP). The RSP also includes read result data.
 図20は、移動先VOLへのリード受領時処理の一例を示すフローチャートである。本処理を実行するのは、移動先ストレージ装置500Bのスナップショット制御プログラム551である。 FIG. 20 is a flowchart showing an example of processing at the time of receiving a lead to the destination VOL. This process is executed by the snapshot control program 551 of the migration destination storage apparatus 500B.
 ステップ2301:ホスト計算機100からリードを受信する。
ステップ2302:リード対象VOLの対象アドレスの移動コピー状態が「完了」の場合、ステップ2303に進む。「未完」の場合、ステップ2304に進む。
ステップ2303:リードを実行する。
ステップ2304:移動元ストレージ装置500Aにリードを転送し、RSPを待つ。応答されるRSPには、リード結果のデータが含まれる。
ステップ2305:ホストにRSPを送信する。RSPには、リード結果のデータが含まれる。
Step 2301: A read is received from the host computer 100.
Step 2302: If the moving copy status of the target address of the read target VOL is “complete”, the process proceeds to step 2303. If it is “incomplete”, the process proceeds to step 2304.
Step 2303: Read is executed.
Step 2304: Read is transferred to the migration source storage apparatus 500A and waits for RSP. The RSP that is responded includes the data of the read result.
Step 2305: Send RSP to the host. The RSP includes read result data.
 このように、実施例1では移動コピーをスナップショット割当情報1300によってチャンク単位で行い、その際に、チャンク単位で排他を取得する。これにより、移動コピー処理と関係しないチャンクには引き続きI/Oを受け付けることが可能となる。そして、移動コピーの移動元または移動先のボリュームにホストからのライトがあった際、移動元のボリュームにライトデータを書き込み、ライト対象のアドレスの移動コピーが完了しているか否かを判定し、移動コピーが完了している場合には移動先のボリュームへライト要求に係るデータを送信して移動元へのライトを移動先に反映させ、移動コピーが未完である場合にはライトのデータを移動先に送信せず、後に行われる移動コピーにより移動元へのライトを移動先に反映させる。 As described above, in the first embodiment, the moving copy is performed in units of chunks using the snapshot allocation information 1300, and at this time, the exclusion is acquired in units of chunks. As a result, it is possible to continue to accept I / O for chunks not related to the moving copy process. Then, when there is a write from the host to the migration source or migration destination volume of the migration copy, write data is written to the migration source volume to determine whether the migration copy of the write target address is complete, If the migration copy is complete, send the data related to the write request to the migration destination volume to reflect the write to the migration source in the migration destination, and if the migration copy is not complete, move the write data The transmission to the movement source is reflected on the movement destination by the movement copy performed later, without transmitting it first.
 これにより、移動コピーが完了した移動コピーペアにもライトが反映されるため、移動コピーが完了した移動コピーペアにおいて、移動元と移動先でスナップショット構成に食い違いが起きるのを防ぐことが出来る。また、移動コピー対象のアドレスと、ライト対象アドレスと、スナップショット構成によりライト対象アドレスと関係するアドレスと、の排他を取得することで、移動コピーの際にライトを受け付けても、移動元と移動先でスナップショット構成が食い違うことを防ぐことが出来きる。 As a result, since the write is also reflected in the moving copy pair for which the moving copy has been completed, it is possible to prevent a difference in the snapshot configuration between the moving source and the moving destination in the moving copy pair for which the moving copy has been completed. Also, by acquiring the exclusive of the address of the move copy target, the write target address, and the address related to the write target address by the snapshot configuration, even if the write is accepted during the move copy, the move source and move It is possible to prevent the snapshot configuration from being different from the previous one.
 これにより、ホストのダウンタイムなしで、スナップショット機能を維持したままストレージ装置のリプレースが実施可能となる。その他としては、移動元から移動先へのライト送信に併せて、スナップショット割当情報1300を送信することで、移動元又は移動先へのライトの際に移動コピー処理を行うことである。ライト処理と移動コピー処理はともにチャンクの排他を取得する。ライト処理によって排他を取得したチャンクの移動コピーをそのライト処理を契機に行うことで、後に再度そのチャンクの排他を取得して移動コピーを行う場合に比べ、排他を取得する回数を減らすことが可能となり、結果として移動コピーの処理時間を短くすることが出来る。 This enables storage devices to be replaced while maintaining the snapshot function without host downtime. In addition, the snapshot copy information 1300 is transmitted together with the write transmission from the migration source to the migration destination, so that the migration copy process is performed when writing to the migration source or the migration destination. Both write processing and move copy processing acquire chunk exclusion. By performing a move copy of a chunk that has been locked by a write process, the number of times that a lock is acquired can be reduced compared to when a copy of a chunk is acquired again and a move copy is performed later. As a result, the processing time for moving copy can be shortened.
 図2から図11、図13、図16、図19から図25に基づき、本発明に従う第二の実施例について説明する。なお、本実施例と実施例1の違いは移動コピー処理において、対象アドレスの排他を取得しないことである。これにより、移動コピー処理が移動元VOL及び移動先VOLのライト性能/リード性能に与える影響を小さくすることができる。また、PVOLへのライトが発生した際の移動元ストレージ装置500Aでの排他取得は、実施例1と比べて細かい範囲で実施する。これにより、PVOLのライト性能/リード性能が実施例1と比べて向上する。以下、実施例1との差分である図21から図27の説明を記載する。 A second embodiment according to the present invention will be described with reference to FIGS. 2 to 11, 13, 16, and 19 to 25. FIG. The difference between the present embodiment and the first embodiment is that the exclusion of the target address is not acquired in the moving copy process. As a result, the influence of the migration copy process on the write performance / read performance of the migration source VOL and the migration destination VOL can be reduced. Further, exclusive acquisition in the migration source storage apparatus 500A when a write to the PVOL occurs is performed in a smaller range than in the first embodiment. Thereby, the write performance / read performance of PVOL is improved as compared with the first embodiment. Hereinafter, descriptions of FIGS. 21 to 27 which are differences from the first embodiment will be described.
 図21は、移動コピー処理の一例を示すフローチャートである。本処理を実行するのは移動元ストレージ装置500Aである。
ステップ2401:移動コピーペアのうち、ペア状態がCOPYのものを一つ選択する。ここで選択した移動コピーペアを対象ペアと呼ぶ。
FIG. 21 is a flowchart illustrating an example of the move copy process. This processing is executed by the migration source storage apparatus 500A.
Step 2401: One moving copy pair whose pair status is COPY is selected. The moving copy pair selected here is called a target pair.
 ステップ2402:対象ペアが見つかった場合、ステップ2403に進む。さもなければ、全ての移動コピーを完了したことになるため、ステップ2412(終了)に進む。 Step 2402: If the target pair is found, proceed to Step 2403. Otherwise, since all the moving copies have been completed, the process proceeds to step 2412 (end).
 ステップ2403:対象ペアのアドレスのうち、移動コピー状態が「未完」のアドレスを一つ選択する。ここで選択したアドレスを対象アドレスと呼ぶ。 Step 2403: Select one address whose migration copy status is “incomplete” from the addresses of the target pair. The address selected here is called a target address.
 ステップ2404:対象ペアが、スナップショットPVOL同士の移動コピーペアである場合(YES)は、ステップ2407に進む。スナップショットSVOL同士の移動コピーペアである場合(NO)は、ステップ2405に進む。 Step 2404: If the target pair is a moving copy pair between snapshot PVOLs (YES), the process proceeds to step 2407. If it is a moving copy pair between snapshots SVOL (NO), the process proceeds to step 2405.
 ステップ2405:対象ペアのボリューム(SVOL)とスナップショットペアを組むPVOLの対象アドレスが、移動コピー状態「完了」である場合は、ステップ2407に進む。移動コピー状態が「未完」の場合はステップ2406に進む。 Step 2405: If the target address of the PVOL that forms the snapshot pair with the volume (SVOL) of the target pair is in the migration copy state “completed”, the process proceeds to step 2407. If the moving copy status is “incomplete”, the process advances to step 2406.
 ステップ2406:PVOLの対象アドレスの移動コピー状態が「未完」の場合は、先にPVOLの対象アドレスの移動コピーを実行する必要があるため、対象ペアをPVOL同士の移動コピーペアに変更する。 Step 2406: When the moving copy state of the target address of PVOL is “incomplete”, it is necessary to execute the moving copy of the target address of PVOL first, so the target pair is changed to a moving copy pair between PVOLs.
 ステップ2407:スナップショット割当情報1300を移動先ストレージ装置500Bに送信し、移動先ストレージ装置500Bからの処理完了通知を待つ。なお、スナップショット割当情報1300の各列に登録される値については、実施例1の場合と同じである。また、データ退避処理をライトと非同期に実行する方法を取っている場合は、本ステップ実行前に、関連するボリュームの対象アドレス(対象ペアの対象アドレスがPVOL参照であればPVOLの対象アドレス、対象ペアの対象アドレスに共有相手VOLがあれば共有相手VOLの対象アドレス)のデステージ及びデータ退避処理を実行する。また、この関連するボリュームのデステージ及びデータ退避処理は、ステップ2408でスナップショット割当情報1300の差異を検出する直前にも実行する。 Step 2407: The snapshot allocation information 1300 is transmitted to the migration destination storage apparatus 500B, and a process completion notification from the migration destination storage apparatus 500B is awaited. The values registered in each column of the snapshot allocation information 1300 are the same as those in the first embodiment. If the method of executing the data saving process asynchronously with the write is taken, the target address of the related volume (if the target address of the target pair is a PVOL reference, the target address of the PVOL, the target before executing this step) If there is a shared partner VOL at the target address of the pair, the destage and data save processing of the shared partner VOL target address) is executed. Further, the destaging and data saving processing of the related volume is also executed immediately before detecting the difference in the snapshot allocation information 1300 in step 2408.
 ステップ2408:ステップ2407で送信したスナップショット割当情報1300と、本ステップ実行時の移動元ストレージ装置500Aの最新情報に基づくスナップショット割当情報1300とを比較し、差異があればステップ2407に戻る。同一であればステップ2409に進む。このステップは、ステップ2407で移動先ストレージ装置500Bにスナップショット割当情報1300を送信している間に、移動元ストレージ装置500Aで対象ペアの対象アドレスのデータや管理情報が、ライトやデータ退避処理により変更された場合に、当該変更を検出し、修正するために実行する。 Step 2408: The snapshot allocation information 1300 transmitted in step 2407 is compared with the snapshot allocation information 1300 based on the latest information of the migration source storage apparatus 500A at the time of execution of this step. If there is a difference, the process returns to step 2407. If they are the same, the process proceeds to step 2409. In this step, while the snapshot allocation information 1300 is being transmitted to the migration destination storage apparatus 500B in step 2407, the data and management information of the target address of the target pair in the migration source storage apparatus 500A are written and saved by the data saving process. If changed, execute to detect and correct the change.
 同様の理由により、移動先ストレージ装置500Bではスナップショット割当情報1300を受信しても、移動コピー状態を「完了」にしてよいか判断することができないため、スナップショット割当情報受信時処理(図13記載)のうちステップ1607及びステップ1608は省略する。なお、移動先ストレージ装置500Bにおける移動コピー状態の変更は、ステップ2411により実行される。 For the same reason, even if the migration destination storage apparatus 500B receives the snapshot allocation information 1300, it cannot be determined whether the migration copy status should be “completed”. Step 1607 and Step 1608 are omitted. Note that the change of the migration copy status in the migration destination storage apparatus 500B is executed in step 2411.
 ステップ2408により、移動元のアドレスと移動先のアドレスのスナップショット構成に差異がなくなるまでステップ2407を繰り返すので、移動コピー処理中に移動コピー処理対象のアドレスやスナップショット構成により移動コピー処理対象のアドレスと関連するアドレスにライト処理が起きても、移動元と移動先のアドレスでスナップショット構成が食い違うことを防ぐことが出来る。また、実施例1と同様に、チャンクごとに排他を取得し、チャンク単位の情報であるスナップショット割当情報1300を用いて移動コピーを行うことで、移動コピーと無関係のチャンクへのI/Oを受け付けることが出来る。 Step 2408 is repeated until there is no difference between the snapshot configuration of the migration source address and the migration destination address in step 2408. Therefore, during the migration copy process, the migration copy process target address and the snapshot copy configuration target address are changed. Even if a write process occurs at an address related to, it is possible to prevent the snapshot configuration from being different between the source address and the destination address. Further, as in the first embodiment, by acquiring exclusion for each chunk and performing a moving copy using the snapshot allocation information 1300 that is information in units of chunks, I / O to a chunk unrelated to the moving copy can be performed. Can be accepted.
 ステップ2409:対象ペアの対象アドレスの移動コピー状態を「完了」にする。
ステップ2410:対象ペアの全アドレスの移動コピー状態が「完了」であれば、移動コピーのペア状態をPAIRに変更し、ステップ2411に進む。さもなければ本ステップでは何もせず、同様にステップ2411に進む。
Step 2409: The migration copy state of the target address of the target pair is set to “complete”.
Step 2410: If the moving copy status of all addresses of the target pair is “complete”, the pair status of the moving copy is changed to PAIR, and the processing proceeds to step 2411. Otherwise, nothing is done in this step, and the process proceeds to step 2411 in the same manner.
 ステップ2411:ステップ2409及びステップ2410での移動コピー状態及びペア状態の変更を、移動先ストレージ装置500Bに送信する。つまり、移動先ストレージ装置500Bに、対象ペアの対象アドレスの移動コピー状態を「完了」にするよう通知する。また、全アドレスの移動コピー状態が「完了」であれば、移動コピーのペア状態をPAIRにするよう、合わせて通知する。なお、この通知を受信した移動先ストレージ装置500Bの処理は、単に移動コピーペア管理情報1200を更新するだけであるため、フローチャートは省略する。 Step 2411: The migration copy status and the pair status change in Step 2409 and Step 2410 are transmitted to the migration destination storage apparatus 500B. That is, the migration destination storage apparatus 500B is notified to set the migration copy status of the target address of the target pair to “complete”. If the moving copy status of all addresses is “completed”, a notification is also made to set the moving copy pair status to PAIR. Note that the processing of the migration destination storage apparatus 500B that has received this notification merely updates the migration copy pair management information 1200, and therefore the flowchart is omitted.
 図22は、移動元VOLへのホストライト受領時処理の一例を示すフローチャートである。本処理を実行するのは移動元ストレージ装置500Aである。 FIG. 22 is a flowchart showing an example of processing at the time of host write reception to the migration source VOL. This processing is executed by the migration source storage apparatus 500A.
 ステップ2501:ホストから移動元VOLに対するライトコマンドを受領する。移動元VOLはPVOLとSVOLいずれであってもよい。また、ライトの対象となったボリューム及びアドレスを、それぞれ対象VOL(またはライト対象VOL)、対象アドレスと呼ぶ。 Step 2501: A write command for the migration source VOL is received from the host. The source VOL may be either PVOL or SVOL. Further, the volume and address that are the write target are referred to as a target VOL (or write target VOL) and target address, respectively.
 ステップ2502:ライト対象VOLがPVOL、または「ライト対象VOLがSVOLかつ対象アドレスが占有参照」の場合、ステップ2503に進む。それ以外(SVOLで対象アドレスがPVOL参照または共有参照)の場合、ステップ2504に進む。
ステップ2503:ライト対象VOLの対象アドレスの排他を取得する。
ステップ2504:ライト対象VOLの対象アドレスがPVOL参照の場合、ステップ2505に進む。共有参照の場合、ステップ2506に進む。
Step 2502: If the write target VOL is PVOL, or “the write target VOL is SVOL and the target address is an exclusive reference”, the process proceeds to Step 2503. Otherwise (in SVOL, the target address is a PVOL reference or shared reference), the process proceeds to step 2504.
Step 2503: The exclusion of the target address of the write target VOL is acquired.
Step 2504: If the target address of the write target VOL is a PVOL reference, the process proceeds to Step 2505. In the case of shared reference, the process proceeds to step 2506.
 ステップ2505:ライト対象VOL及び「ライト対象VOLとスナップショットペアを組むPVOL」の対象アドレスの排他を取得する。
ステップ2506:ライト対象VOL及び「ライト対象VOLの対象アドレスについて共有相手VOLであるボリューム」の対象アドレスの排他を取得する。
Step 2505: The exclusion of the target address of the write target VOL and “PVOL that forms a snapshot pair with the write target VOL” is acquired.
Step 2506: The exclusion of the target address of the write target VOL and the “volume that is the shared partner VOL for the target address of the write target VOL” is acquired.
 ステップ2502乃至2506の排他取得は実施例1のステップ1702の排他取得とは異なる。PVOLとそのPVOLを参照するSVOLにおいて、実施例1ではPVOLにライトがあった際、PVOLとSVOLの排他を取得し、SVOLにライトがあった際は、SVOLの排他を取得する。一方、実施例2では、PVOLにライトがあった際、PVOLの排他を取得し、SVOLにライトがあった際、SVOLと参照されているPVOLの排他を取得する。 The exclusive acquisition in steps 2502 to 2506 is different from the exclusive acquisition in step 1702 of the first embodiment. In the PVOL and the SVOL that refers to the PVOL, in the first embodiment, when the PVOL is written, the PVOL and the SVOL are exclusive, and when the SVOL is written, the SVOL is exclusive. On the other hand, in the second embodiment, when there is a write in the PVOL, the exclusion of the PVOL is acquired. When there is a write in the SVOL, the exclusion of the PVOL referred to as the SVOL is acquired.
 実施例1の排他ではSVOLへのライトの際にライト対象の排他しか取得しないため、SVOLへのライト性能を上げることができる。一方で、実施例2の排他では、PVOLへのライトの際にライト対象の排他しか取得しないため、PVOLへのライト性能を上げることができる。なお、実施例2において実施例1のステップ1702に記載した範囲で排他取得を用いても構わない。 In the exclusion of the first embodiment, only the exclusion of the write target is acquired when writing to the SVOL, so that the performance of writing to the SVOL can be improved. On the other hand, in the exclusion of the second embodiment, only the write target exclusion is acquired when writing to the PVOL, so that the performance of writing to the PVOL can be improved. In the second embodiment, exclusive acquisition may be used within the range described in step 1702 of the first embodiment.
 ステップ2507:ライトを実行する。
ステップ2508:データ退避処理(図16記載)を実行する。
ステップ2509:ライト対象VOLの対象アドレスの移動コピー状態が「完了」の場合、ステップ2510に進む。「未完」の場合はステップ2511に進む。
ステップ2510:移動先ストレージ装置500Bに、ライト対象VOLと移動コピーペアを組む移動先VOLに対するライトコマンドを送信し、完了通知を待つ。
ステップ2511:取得した排他を解除する。
ステップ2512:ホストに完了(RSP)を送信する。
Step 2507: Write is executed.
Step 2508: Data saving processing (described in FIG. 16) is executed.
Step 2509: If the migration copy status of the target address of the write target VOL is “completed”, the process proceeds to step 2510. If “incomplete”, the process proceeds to step 2511.
Step 2510: A write command for the migration destination VOL that forms a migration copy pair with the write target VOL is transmitted to the migration destination storage apparatus 500B, and a completion notification is awaited.
Step 2511: The acquired exclusion is released.
Step 2512: Send completion (RSP) to the host.
 図23は、移動元ストレージ装置からのライト受領時処理の一例を示すフローチャートである。本処理を実行するのは、移動先ストレージ装置500Bである。 FIG. 23 is a flowchart showing an example of processing upon receipt of a write from the migration source storage apparatus. This processing is executed by the migration destination storage apparatus 500B.
 ステップ2601:ステップ2510で移動元ストレージ装置500Aから送信された、移動先VOL(ライト対象VOL)に対するライトコマンドを受信する。
ステップ2602:ライトを実行する。
ステップ2603:データ退避処理(図16記載)を実行する。
ステップ2604:移動元ストレージ装置500Aに完了(RSP)を送信する。
Step 2601: The write command for the migration destination VOL (write target VOL) transmitted from the migration source storage apparatus 500A in step 2510 is received.
Step 2602: Write is executed.
Step 2603: Data saving processing (described in FIG. 16) is executed.
Step 2604: Send completion (RSP) to the migration source storage apparatus 500A.
 図24は、移動先VOLへのホストライト受領時処理の一例を示すフローチャートである。本処理を実行するのは、移動先ストレージ装置500Bである。 FIG. 24 is a flowchart showing an example of processing upon receipt of a host write to the migration destination VOL. This processing is executed by the migration destination storage apparatus 500B.
 ステップ2701:ホスト計算機100から、移動先VOLに対するライトを受領する。
ステップ2702:移動元ストレージ装置500Aにライトコマンドを転送し、完了通知を待つ。
ステップ2703:完了通知に含まれるライト対象VOLの対象アドレスの移動コピー状態が「完了」の場合、ステップ2704に進む。「未完」の場合、ステップ2706に進む。
Step 2701: A write for the migration destination VOL is received from the host computer 100.
Step 2702: The write command is transferred to the migration source storage apparatus 500A, and a completion notification is awaited.
Step 2703: If the migration copy status of the target address of the write target VOL included in the completion notification is “complete”, the process proceeds to step 2704. If it is “incomplete”, the process proceeds to step 2706.
 ステップ2704:ライトを実行する。
ステップ2705:データ退避処理を実行する。
ステップ2706:ホスト計算機100に完了(RSP)を送信する。
ステップ2707:移動元ストレージ装置500Aに排他解除を送信する。
Step 2704: Write is executed.
Step 2705: Data saving processing is executed.
Step 2706: Send completion (RSP) to the host computer 100.
Step 2707: An exclusion release is transmitted to the migration source storage apparatus 500A.
 図25は、移動先ストレージ装置500Bからのライト受領時処理の一例を示すフローチャートである。本処理を実行するのは、移動元ストレージ装置500Aである。 FIG. 25 is a flowchart showing an example of processing upon receipt of a write from the migration destination storage apparatus 500B. This processing is executed by the migration source storage apparatus 500A.
 ステップ2801:移動先ストレージ装置500Bからライトコマンドを受信する。
ステップ2802からステップ2806:排他を取得するステップだが、図22のステップ2502からステップ2506と同様の処理となるため説明を省略する。 
ステップ2807:ライトを実行する。
ステップ2808:データ退避処理を実行する。
Step 2801: A write command is received from the migration destination storage apparatus 500B.
Step 2802 to Step 2806: Steps for obtaining exclusion, but since the processing is the same as Step 2502 to Step 2506 in FIG.
Step 2807: Write is executed.
Step 2808: Data saving processing is executed.
 ステップ2809:ライト対象VOLの対象アドレスの移動コピー状態が「完了」の場合、ステップ2810に進む。「未完」の場合ステップ2811に進む。
ステップ2810:移動先ストレージ装置500Bに、完了通知を応答し、排他解除の指示を待つ。なお、送信する完了通知には、「ライト対象VOLの対象アドレスの移動コピー状態が「完了」である」ことが含まれる。
Step 2809: If the migration copy status of the target address of the write target VOL is “completed”, the process proceeds to step 2810. If “incomplete”, the process proceeds to step 2811.
Step 2810: A completion notification is returned to the migration destination storage apparatus 500B, and an exclusive release instruction is awaited. Note that the completion notification to be transmitted includes “the migration copy state of the target address of the write target VOL is“ complete ””.
 ステップ2811:移動先ストレージ装置500Bに、完了通知を応答し、排他解除の指示を待つ。なお、送信する完了通知には、「ライト対象VOLの対象アドレスの移動コピー状態が「未完」である」ことが含まれる。 Step 2811: A completion notification is returned to the migration destination storage apparatus 500B, and an exclusive release instruction is awaited. The completion notification to be transmitted includes that “the migration copy state of the target address of the write target VOL is“ incomplete ””.
 ステップ2812:取得していた排他を解除する。本ステップは、ステップ2810及びステップ2811に記載の通り、移動先ストレージ装置500Bからの排他解除指示があるまで実行されない。 Step 2812: The acquired exclusion is released. This step is not executed until there is an exclusion release instruction from the migration destination storage apparatus 500B as described in step 2810 and step 2811.
 実施例2では、実施例1と異なり、移動コピー処理の際に、移動コピーの対象アドレスの排他を取得せず、代わりに、移動コピーの対象ペア間でスナップショット構成に差異がなくなるまでスナップショット割当情報1300の送信を繰り返す。そのため、移動コピーの対象アドレスに対するライトが移動コピーによる排他によって遅延することがない、また、移動元へのライトの際、移動元VOLから移動先VOLへのライトコマンド転送する場合にスナップショット割当情報1300を送信しない。そのため、実施例1と比べライト処理の際の負荷が軽減する。その他としては、前述したように移動元へのライトの際の排他取得は、実施例1に比べ、PVOLへのライト性能が高くなる。 Unlike the first embodiment, the second embodiment does not acquire the exclusion of the target address of the moving copy at the time of the moving copy process, and instead takes a snapshot until there is no difference in the snapshot configuration between the target pairs of the moving copy. The transmission of the allocation information 1300 is repeated. Therefore, the write to the target address of the moving copy is not delayed due to exclusion by the moving copy, and the snapshot allocation information is used when the write command is transferred from the source VOL to the destination VOL when writing to the source. 1300 is not transmitted. Therefore, the load during the write process is reduced as compared with the first embodiment. In other cases, as described above, the exclusive acquisition at the time of writing to the movement source has a higher write performance to the PVOL than the first embodiment.
 図2から図9、図11、図16、図19、図20、図23、図26から図29に基づき、本発明に従う第三の実施例について説明する。なお、本実施例と、実施例1及び2との主な違いは移動コピー処理の方法にある。実施例1及び2においては、移動コピー処理において、移動元VOLのチャンクのデータ及びポインタ等を含むスナップショット割当情報1300を移動元ストレージから移動先ストレージに送信することで、スナップショットVOLの移動を実行した。 A third embodiment according to the present invention will be described with reference to FIGS. 2 to 9, 11, 16, 16, 19, 20, 23, and 26 to 29. FIG. The main difference between the present embodiment and the first and second embodiments lies in the moving copy processing method. In the first and second embodiments, in the migration copy process, the snapshot VOL is migrated by transmitting the snapshot allocation information 1300 including chunk data and pointers of the migration source VOL from the migration source storage to the migration destination storage. Executed.
 一方、本実施例においては、移動元ストレージ装置500Aから移動先ストレージ装置500Bに対して、移動元VOLのチャンクのデータを、ライトコマンドとして送信することにより、スナップショットVOLの移動を実行する。この処理方式により、実施例1及び2と比べて、移動先ストレージ装置500Bにはスナップショット割当情報1300を解釈するための処理が不要となる。 On the other hand, in the present embodiment, the migration of the snapshot VOL is executed by transmitting the chunk data of the migration source VOL as a write command from the migration source storage apparatus 500A to the migration destination storage apparatus 500B. This processing method eliminates the need for processing for interpreting the snapshot allocation information 1300 in the migration destination storage apparatus 500B as compared with the first and second embodiments.
 つまり、移動先ストレージ装置500Bはホストからのライトを処理する機能及びスナップショット機能という、ストレージ装置として基本的な機能を備えていればスナップショットVOLの移動が可能となる。ただし、実施例1及び2が移動コピー処理の対象VOLの順序を特に考慮しなかったことに対し、本実施例では古い世代のSVOLから順に、移動先ストレージ装置500Bに再現する処理を行う必要があるため、処理順序に制限がある。 That is, if the migration destination storage apparatus 500B has a basic function as a storage apparatus, that is, a function for processing a write from the host and a snapshot function, the snapshot VOL can be migrated. However, in the first and second embodiments, the order of the target VOLs of the migration copy process is not particularly considered. In the present embodiment, it is necessary to perform the process of reproducing in the migration destination storage apparatus 500B in order from the older generation SVOL. Therefore, there is a limitation on the processing order.
 また、実施例1及び2では、図11のステップ1401でスナップショットペアを設定する際に移動元VOLと同じPSUSに設定するが、本実施例では全てPAIRとし、移動コピー処理中でPSUSに遷移させる。以下、実施例1及び2との差分である図26から図29の説明を記載する。 In the first and second embodiments, when the snapshot pair is set in step 1401 of FIG. 11, the same PSUS as that of the migration source VOL is set. However, in this embodiment, all are set to PAIR, and the transition is made to PSUS during the migration copy process. Let Hereinafter, descriptions of FIGS. 26 to 29 which are differences from the first and second embodiments will be described.
 図26は、移動コピー処理の一例を示すフローチャートである。本処理を実行するのは、移動元ストレージ装置500Aである。 FIG. 26 is a flowchart showing an example of the moving copy process. This processing is executed by the migration source storage apparatus 500A.
 本処理では「1.最古世代の移動元SVOLの全データを移動先PVOLに書き込み、2.当該移動元SVOLに対応する移動先SVOLのスナップショットペアのペア状態をPSUSに遷移させることで、その後移動先PVOLに書き込みがあっても、当該移動元VOLと当該移動先SVOLのデータが一致したままになるようにし、3.最古世代より一つ若い世代の移動元SVOLについて最古世代SVOLとの差分データを移動先PVOLに書き込み、4.当該移動元SVOLに対応する移動先SVOLのスナップショットペアのペア状態をPSUSに遷移させることで、その後移動先PVOLに書き込みがあっても、当該移動元VOLと当該移動先SVOLのデータが一致したまになるようにする。5.以降、世代を一つずつ若くして3から4の処理を繰り返す」ことで全世代の移動を行う。 In this process, “1. Write all data of the migration source SVOL of the oldest generation to the migration destination PVOL, 2. Change the pair status of the snapshot pair of the migration destination SVOL corresponding to the migration source SVOL to PSUS, 3. After that, even if there is a write in the migration destination PVOL, the data of the migration source VOL and the migration destination SVOL remain the same. 3. For the migration source SVOL that is one younger than the oldest generation, the oldest generation SVOL 4. When the pair status of the snapshot pair of the migration destination SVOL corresponding to the migration source SVOL is changed to PSUS, even if the migration destination PVOL is subsequently written, 4. Make sure that the data of the migration source VOL and the migration destination SVOL match. Perform the movement of all generations in 3 repeats the processing of 4 from "that Te.
 つまり、移動先のすべてのSVOLのスナップショットペアのペア状態をPAIRにしてから、移動元のSVOLで管理される差分データ(最古世代のSVOLにおいてはそのSVOLの全データ)を古い世代のものから順に移動先のPVOLに書き込む。その際に、ある世代の差分データ(最古世代のSVOLにおいてはそのSVOLの全データ)の移動先PVOLへの書き込みが終了したら、その世代に対応する移動先SVOLのスナップショットペアのペア状態をPSUSにすることで、以降の移動コピーによる移動先PVOLへの書き込みによっても、その世代の移動元SVOLと移動先SVOLが一致したままになるようにし、移動先において古い世代から順に、移動元のスナップショット構成を再現していくのである。 In other words, after the pair status of all the SVOL snapshot pairs in the migration destination is set to PAIR, the difference data managed by the migration source SVOL (all data of the SVOL in the oldest generation SVOL) is of the old generation Are sequentially written in the destination PVOL. At that time, when writing of the difference data of a generation (all data of the SVOL in the oldest generation SVOL) to the migration destination PVOL is completed, the pair status of the snapshot pair of the migration destination SVOL corresponding to the generation is changed. By setting it to PSUS, even when writing to the destination PVOL by the subsequent migration copy, the source SVOL and the destination SVOL of the generation remain the same, and the source of the source in order from the oldest generation in the destination The snapshot configuration is reproduced.
 以下、図26の各ステップについて説明する。
ステップ2901:ペア状態がCOPYである移動コピーペアのうち、移動元VOLのスナップショットの世代が最も古いもの(最古世代)を選択する。ここで選択した移動コピーペアを対象ペアと呼ぶ。なお、PVOLは最新世代と見なして選択する。なお、スナップショットの世代とは、ある一つのPVOLの一つ以上のスナップショットペアをPSUSに変化した順に並べたときの順番である。
Hereinafter, each step of FIG. 26 will be described.
Step 2901: From the copy copy pair whose pair status is COPY, select the copy source with the oldest snapshot generation (oldest generation) of the transfer source VOL. The moving copy pair selected here is called a target pair. Note that PVOL is selected as the latest generation. The snapshot generation is an order when one or more snapshot pairs of a certain PVOL are arranged in the order of changing to PSUS.
 つまり、PSUSに変化したのが最も昔のスナップショットペアを最古世代として、PSUSに変化した順に最新世代まで並ぶ。この世代についての情報は、例えばスナップショットペア管理情報800に、世代番号として保持する。この世代番号は、あるスナップショットペアがPSUSに変化するたびに増分(インクリメント)されて、当該スナップショットペアの世代番号として登録される。すなわち、世代番号が小さいほど古い世代、大きいほど新しい世代となる。 That is, the oldest snapshot pair that changed to PSUS is the oldest generation, and the latest generation is arranged in the order of change to PSUS. Information about this generation is held as a generation number in the snapshot pair management information 800, for example. This generation number is incremented (incremented) every time a snapshot pair changes to PSUS, and is registered as the generation number of the snapshot pair. That is, the smaller the generation number, the older the generation and the larger the generation number, the new generation.
 ステップ2902:対象ペアが見つかった場合、ステップ2903に進む。さもなければ、全ての移動コピーを完了したことになるため、ステップ2912(終了)に進む。
ステップ2903:対象ペアのアドレスのうち、移動コピー状態が「未完」のアドレスを一つ選択する。ここで選択したアドレスを対象アドレスと呼ぶ。
Step 2902: If the target pair is found, proceed to Step 2903. Otherwise, all moving copies have been completed, and the process proceeds to step 2912 (end).
Step 2903: From the addresses of the target pair, one address whose migration copy status is “incomplete” is selected. The address selected here is called a target address.
 ステップ2904:対象アドレスの排他を取得する。
ステップ2905:ステップ2904で排他取得に成功した場合は、ステップ2906に進む。失敗した場合はステップ2903に進む。
ステップ2906:対象ペアの対象アドレスのデータが、一つ古い世代(前世代)と比べて差分があるか検出する。差分がある場合、ステップ2907に進む。差分がない場合、ステップ2908に進む。なお、前世代が存在しない場合、当該アドレスは差分があるものと見なして処理する。
Step 2904: Acquire exclusion of the target address.
Step 2905: If exclusive acquisition is successful in step 2904, the flow proceeds to step 2906. If unsuccessful, the process proceeds to step 2903.
Step 2906: It is detected whether there is a difference between the data of the target address of the target pair as compared to the previous generation (previous generation). If there is a difference, the process proceeds to step 2907. If there is no difference, the process proceeds to Step 2908. If the previous generation does not exist, the address is processed as if there is a difference.
 ステップ2907:移動先PVOLに対し、対象アドレスのデータ(差分データ)のライトコマンドを送信し、処理完了を待つ。これにより、対象ペアの移動元VOLと、移動先PVOLの対象アドレスのデータが一致する。 Step 2907: A write command of the target address data (difference data) is transmitted to the destination PVOL, and the process is awaited. Thereby, the data of the target address of the transfer source VOL of the target pair matches the target address of the transfer destination PVOL.
 ステップ2908:対象ペアの対象アドレスの移動コピー状態を「完了」にする。 Step 2908: The moving copy status of the target address of the target pair is set to “complete”.
 ステップ2909:対象ペアの全アドレスの移動コピー状態が「完了」であれば、移動コピーのペア状態をPAIRに変更し、ステップ2910に進む。さもなければ本ステップでは何もせず、同様にステップ2910に進む。 Step 2909: If the moving copy status of all addresses of the target pair is “complete”, the pair status of the moving copy is changed to PAIR, and the process proceeds to step 2910. Otherwise, nothing is done in this step, and the process proceeds to step 2910 in the same manner.
 ステップ2910:ステップ2909の結果、移動コピーペアのペア状態がPAIRであれば、移動先ストレージ装置500Bに、対象ペアの移動コピーのペア状態をPAIR、移動先SVOLのスナップショットのペア状態をPSUSに変更するよう通知する。なお、対象ペアがPVOLのペアの場合は、対象ペアの移動コピーのペア状態をPAIRに変更する通知のみ送信し、スナップショットのペア状態をPSUSに変更する通知は省略する。なお、この通知を受信した移動先ストレージ装置500Bの処理は、単に移動コピーペア管理情報1200及びスナップショットSVOL管理情報1000を更新するだけであるため、フローチャートは省略する。
ステップ2911:取得していた排他を解除する。
Step 2910: If the pair status of the moving copy pair is PAIR as a result of Step 2909, the pair status of the moving copy of the target pair is set to PAIR, and the pair status of the snapshot of the moving destination SVOL is set to PSUS. Notify you to change. When the target pair is a PVOL pair, only the notification for changing the pair status of the migration copy of the target pair to PAIR is transmitted, and the notification for changing the snapshot pair status to PSUS is omitted. Note that the processing of the migration destination storage apparatus 500B that has received this notification merely updates the migration copy pair management information 1200 and the snapshot SVOL management information 1000, and therefore the flowchart is omitted.
Step 2911: The acquired exclusion is released.
 図27は移動元VOLへのホストライト受領時処理の一例を示すフローチャートである。本処理を実行するのは移動元ストレージ装置500Aである。なお、おおまかな処理としては、ライト対象VOLの移動コピーが終了して(PAIRになって)いれば、ライト対象VOLと移動コピーペアを組む移動先VOLにライトコマンドを送信し、移動元VOLと移動先VOLのデータを一致させる。ライト対象VOLの移動コピーが終了しておらず、かつ対象アドレスの移動コピー状態が「完了」であれば、移動コピー処理でのPSUS遷移前なので、移動先PVOLにライトを転送し、移動元VOLと移動先PVOLのデータを一致させる。ライト対象VOLの移動コピーが終了しておらず、かつ対象アドレスの移動コピー状態が「未完」であれば、移動先ストレージ装置500Bにライトは転送しない。以下、各ステップについて説明する。 FIG. 27 is a flowchart showing an example of processing upon receipt of a host write to the migration source VOL. This processing is executed by the migration source storage apparatus 500A. As a rough process, if the migration copy of the write target VOL is completed (becomes PAIR), a write command is transmitted to the migration destination VOL that forms a migration copy pair with the write target VOL, and the migration source VOL Match the data of the destination VOL. If the migration copy of the write target VOL has not been completed and the migration copy status of the target address is “complete”, the write is transferred to the migration destination PVOL because it is before the PSUS transition in the migration copy process, and the migration source VOL And the data of the destination PVOL are matched. If the migration copy of the write target VOL has not been completed and the migration copy status of the target address is “incomplete”, the write is not transferred to the migration destination storage apparatus 500B. Hereinafter, each step will be described.
 ステップ3001:ホストから移動元VOLに対するライトコマンドを受領する。移動元VOLはPVOLとSVOLいずれであってもよい。また、ライトの対象となったボリューム及びアドレスを、それぞれ対象VOL(またはライト対象VOL)、対象アドレスと呼ぶ。 Step 3001: A write command for the migration source VOL is received from the host. The source VOL may be either PVOL or SVOL. Further, the volume and address that are the write target are referred to as a target VOL (or write target VOL) and target address, respectively.
 ステップ3002からステップ3006:これらのステップでは、適切な範囲の排他を取得する。ステップ2502からステップ2506と同じであるため、詳細は省略する。 Step 3002 to Step 3006: In these steps, an appropriate range of exclusion is acquired. Details are omitted because they are the same as steps 2502 to 2506.
 ステップ3007:ライトを実行する。 Step 3007: Write is executed.
 ステップ3008:データ退避処理(図16記載)を実行する。 Step 3008: The data saving process (described in FIG. 16) is executed.
 ステップ3009:ライト対象VOLの移動コピーのペア状態がPAIRの場合、ステップ3012に進む。この場合、ライト対象VOLがSVOLであれば、対応する移動先SVOLのスナップショットペアはPSUSになっている。それ以外の場合、ステップ3010に進む。この場合、ライト対象VOLがSVOLであれば、対応する移動先SVOLのスナップショットペアはPAIRになっている。 Step 3009: If the pair status of the migration copy of the write target VOL is PAIR, the process proceeds to Step 3012. In this case, if the write target VOL is SVOL, the snapshot pair of the corresponding migration destination SVOL is PSUS. Otherwise, go to step 3010. In this case, if the write target VOL is SVOL, the snapshot pair of the corresponding movement destination SVOL is PAIR.
 ステップ3010:ライト対象VOLの対象アドレスの移動コピー状態が「完了」の場合、ステップ3011に進む。「未完」の場合、ステップ3013に進む。「未完」の場合にはライト対象VOLの対象アドレスに対して後に実行される移動コピー処理によって、移動元へのライトを移動先に反映することが可能だからである。 Step 3010: If the moving copy status of the target address of the write target VOL is “complete”, the process proceeds to step 3011. If “incomplete”, the process proceeds to step 3013. This is because in the case of “incomplete”, the write to the migration source can be reflected in the migration destination by the migration copy process to be executed later on the target address of the write target VOL.
 ステップ3011:移動先PVOLにライトコマンドを送信し処理完了を待つ。ライトコマンドを受信した移動先ストレージ装置500Bは、図23に示すライト受領時処理を実行する。 Step 3011: A write command is transmitted to the movement destination PVOL, and the process is awaited. The migration destination storage apparatus 500B that has received the write command executes the write reception process shown in FIG.
 ステップ3012:移動先VOLにライトコマンドを送信し処理完了を待つ。ライトコマンドを受信した移動先ストレージ装置500Bは、図23に示すライト受領時処理を実行する。なお、本ステップとステップ3011の違いは、ライトコマンドの送信対象が「ライト対象VOLと移動コピーペアを組む移動先VOL」か「当該移動先VOLとスナップショットペアを組む移動先PVOL」かである。本ステップでは、ライト対象VOLがSVOLであれば、対応する移動先SVOLのスナップショットペアはPSUSになっている。よって、移動元でのライトを移動先に反映させるためには、「ライト対象VOLと移動コピーペアを組む移動先VOL」にライトコマンドを送信すればよい。一方で、ステップ3011ではライト対象VOLがSVOLであれば、対応する移動先SVOLのスナップショットペアはPAIRになっている。よって、移動元でのライトを移動先に反映させるためには、「当該移動先VOLとスナップショットペアを組む移動先PVOL」にライトコマンドを送信すればよい。なお、ライト対象VOLがPVOLの場合、どちらの場合でもライトコマンドの送信対象は移動先PVOLである。 Step 3012: A write command is transmitted to the movement destination VOL and the process is completed. The migration destination storage apparatus 500B that has received the write command executes the write reception process shown in FIG. Note that the difference between this step and step 3011 is that the transmission target of the write command is “a migration destination VOL that forms a migration copy pair with a write target VOL” or “a migration destination PVOL that forms a snapshot pair with the migration destination VOL”. . In this step, if the write target VOL is SVOL, the snapshot pair of the corresponding destination SVOL is PSUS. Therefore, in order to reflect the write at the movement source on the movement destination, it is only necessary to transmit a write command to “the movement destination VOL that forms a movement copy pair with the write target VOL”. On the other hand, if the write target VOL is SVOL in step 3011, the snapshot pair of the corresponding destination SVOL is PAIR. Therefore, in order to reflect the write at the movement source on the movement destination, a write command may be transmitted to “the movement destination PVOL that forms a snapshot pair with the movement destination VOL”. When the write target VOL is a PVOL, in either case, the write command transmission target is the destination PVOL.
 ステップ3013:取得していた排他を解除する。
ステップ3014:ホストに完了(RSP)を送信する。
Step 3013: The acquired exclusion is released.
Step 3014: Send completion (RSP) to the host.
 図28は、移動先VOLへのホストライト受領時処理の一例を示すフローチャートである。本処理を実行するのは、移動先ストレージ装置500Bである。 FIG. 28 is a flowchart showing an example of processing upon receipt of a host write to the migration destination VOL. This processing is executed by the migration destination storage apparatus 500B.
 ステップ3101:ホスト計算機100から、移動先VOLに対するライトを受領する。
ステップ3102:移動元ストレージ装置500Aにライトコマンドを転送し、完了通知を待つ。
ステップ3103:ライト対象VOLの移動コピーのペア状態がPAIRの場合、ステップ3104に進む。この場合、ライト対象VOLがSVOLであれば、当該SVOLのスナップショットペアはPSUSになっている。それ以外の場合、ステップ3106に進む。この場合、ライト対象VOLがSVOLであれば、当該SVOLのスナップショットペアはPAIRになっている。
Step 3101: A write for the migration destination VOL is received from the host computer 100.
Step 3102: The write command is transferred to the migration source storage apparatus 500A, and a completion notification is awaited.
Step 3103: If the pair status of the migration copy of the write target VOL is PAIR, the process proceeds to Step 3104. In this case, if the write target VOL is SVOL, the snapshot pair of the SVOL is PSUS. Otherwise, go to step 3106. In this case, if the write target VOL is an SVOL, the snapshot pair of the SVOL is PAIR.
 ステップ3104:ライトを実行する。
ステップ3105:データ退避処理を実行する。
ステップ3106:ホスト計算機100に完了(RSP)を送信する。
ステップ3107:移動元ストレージ装置500Aに排他解除を送信する。
図29は、移動先ストレージ装置からのライト受領時処理の一例を示すフローチャートである。本処理を実行するのは、移動元ストレージ装置500Aである。
Step 3104: Write is executed.
Step 3105: Data saving processing is executed.
Step 3106: Send completion (RSP) to the host computer 100.
Step 3107: An exclusive release is transmitted to the migration source storage apparatus 500A.
FIG. 29 is a flowchart illustrating an example of processing upon receipt of a write from the migration destination storage apparatus. This processing is executed by the migration source storage apparatus 500A.
 ステップ3201:移動先ストレージ装置500Bからライトコマンドを受信する。
ステップ3202からステップ3206:排他を取得するステップだが、ステップ2502からステップ2506と同様の処理となるため説明を省略する。 
ステップ3207:ライトを実行する。
ステップ3208:データ退避処理を実行する。
Step 3201: A write command is received from the migration destination storage apparatus 500B.
Step 3202 to Step 3206: Steps for obtaining exclusion, but since the processing is the same as Step 2502 to Step 2506, description thereof will be omitted.
Step 3207: Write is executed.
Step 3208: The data saving process is executed.
 ステップ3209:ライト対象VOLの移動コピーのペア状態がPAIRの場合、ステップ3212に進む。この場合、移動先VOLへのライトは図28のステップ2104によって行われる。それ以外の場合、ステップ3210に進む。この場合、ライト対象VOLがSVOLであれば、対応する移動先SVOLのスナップショットペアはPAIRになっている。 Step 3209: If the pair status of the migration copy of the write target VOL is PAIR, the process proceeds to Step 3212. In this case, writing to the destination VOL is performed in step 2104 in FIG. Otherwise, go to step 3210. In this case, if the write target VOL is SVOL, the snapshot pair of the corresponding movement destination SVOL is PAIR.
 ステップ3210:ライト対象VOLの対象アドレスの移動コピー状態が「完了」の場合、ステップ3211に進む。「未完」の場合、ステップ3212に進む。「未完」の場合にはライト対象VOLの対象アドレスに対して後に実行される移動コピー処理によって、移動元へのライトを移動先に反映することが可能だからである。 Step 3210: If the moving copy status of the target address of the write target VOL is “complete”, the process proceeds to step 3211. If “incomplete”, the process proceeds to step 3212. This is because in the case of “incomplete”, the write to the migration source can be reflected in the migration destination by the migration copy process to be executed later on the target address of the write target VOL.
 ステップ3211:移動先PVOLにライトコマンドを送信し、処理完了を待つ。本ステップではライト対象VOLがSVOLであれば、対応する移動先SVOLのスナップショットペアはPAIRになっている。よって、移動元でのライトを移動先に反映させるためには、移動先PVOLにライトコマンドを送信すればよい。ライトコマンドを受信した移動先ストレージ装置500Bは、図23に示すライト受領時処理を実行する。 Step 3211: A write command is transmitted to the destination PVOL, and the process is awaited. In this step, if the write target VOL is SVOL, the snapshot pair of the corresponding destination SVOL is PAIR. Therefore, in order to reflect the write at the movement source on the movement destination, a write command may be transmitted to the movement destination PVOL. The migration destination storage apparatus 500B that has received the write command executes the write reception process shown in FIG.
 ステップ3212:移動先ストレージ装置500Bに、完了通知を応答し、排他解除の指示を待つ。 Step 3212: A completion notification is returned to the migration destination storage apparatus 500B, and an exclusive release instruction is awaited.
 ステップ3213:取得していた排他を解除する。本ステップは、ステップ3212に記載の通り、移動先ストレージ装置500Bからの排他解除指示があるまで実行されない。 Step 3213: The acquired exclusion is released. This step is not executed until there is an exclusion release instruction from the migration destination storage apparatus 500B as described in step 3212.
 このように実施例3では、移動コピー処理をライトコマンドによって実行するため、移動先ストレージ装置500Bはホストからのライトを処理する機能及びスナップショット機能という、ストレージ装置として基本的な機能を備えていればスナップショットVOLの移動が可能となる。本実施例では移動先VOLのスナップショットペアを全てPAIRとし、移動コピー処理中でPSUSに遷移させるため、移動コピー処理中のライト処理では、ライト対象VOLの移動コピーのペア状態がPAIRか否かを判定することで、対応する移動先のVOLのスナップショットペアがPAIRかPSUSかを判定し、ライト対象VOLがSVOLであった場合に、移動先でPVOLにライトを実行するか、SVOLにライトを実行するかを決定している。 As described above, in the third embodiment, the migration copy process is executed by a write command. Therefore, the migration destination storage apparatus 500B has basic functions as a storage apparatus, that is, a function for processing a write from the host and a snapshot function. Thus, the snapshot VOL can be moved. In this embodiment, since all snapshot pairs of the migration destination VOL are set to PAIR and transition is made to PSUS during the migration copy process, in the write process during the migration copy process, whether the pair status of the migration copy of the write target VOL is PAIR or not. To determine whether the snapshot pair of the corresponding destination VOL is PAIR or PSUS, and if the write target VOL is SVOL, write to the PVOL at the destination or write to the SVOL Decide what to do.
 最後に、本発明の有用性を改めて述べる。本発明の有用性はホストからのI/O無停止で移動元のスナップショット構成をそのスナップショット構成を維持したまま移動先に移行出来ることである。仮に、I/Oを受け付けつつ通常のボリュームを移行する技術をスナップショット構成の移行に適応することを考える。この場合、PVOLとプールボリュームへのチャンク参照によってPVOLの複製を構成している全世代分のSVOLについて、差分のデータだけでなく、各SVOLを構成する全データを移動元から移動先にコピーする必要がある。SVOLの世代は1000世代にもなるため、このボリュームを構成する全データのコピーであるフルコピーには多くの時間を要してしまう。 Finally, the usefulness of the present invention will be described again. The usefulness of the present invention is that the migration source snapshot configuration can be transferred to the migration destination while maintaining the snapshot configuration without stopping I / O from the host. Suppose that the technology for migrating a normal volume while accepting I / O is applied to the migration of a snapshot configuration. In this case, not only the difference data but also all the data constituting each SVOL is copied from the migration source to the migration destination for the SVOLs of all generations constituting the replication of the PVOL by chunk reference to the PVOL and the pool volume. There is a need. Since the SVOL generation is as large as 1000 generations, a full copy, which is a copy of all data constituting this volume, takes a lot of time.
 本発明の技術によって、スナップショット構成の移動元から移動先への移行を、上述したフルコピーを行うことなく短時間で実施しつつ、移行中にホストからのI/Oを受け付けることが出来る。移動コピーの時間を短縮することには、例えば移動コピーがリプレースの目的であった場合には、移動元である古い装置の維持コストの削減や、移動先の装置である新しい装置の早期運用により、早期に性能向上や新機能の利用が可能となるといったメリットがある。よって、本発明によって初めて、上述した短時間での移動コピーによるメリットを保持しつつ、スナップショット機能を適用したボリューム移行中のI/O無停止という高い可用性を実現することが可能になるのである。 The technology of the present invention makes it possible to accept I / O from the host during the migration while performing the migration from the migration source of the snapshot configuration to the migration destination in a short time without performing the above-described full copy. To reduce the time for moving copy, for example, when moving copy is for replacement purposes, it is possible to reduce the maintenance cost of the old device that is the moving source, or to operate the new device that is the moving destination device early. There is an advantage that performance can be improved and new functions can be used at an early stage. Therefore, for the first time, the present invention makes it possible to achieve high availability of non-stop I / O during volume migration using the snapshot function while retaining the advantages of the above-described moving copy in a short time. .
 また、本発明は例えば以下のような観点によっても特徴づけられうる。
ストレージシステムは第1のストレージ装置と第2のストレージ装置とを備える。第1のストレージ装置は、第1の正ボリューム、第1のプールボリューム、第1の副ボリュームでスナップショット構成を提供する。第1の正ボリュームは複数のチャンクを含み、第1の実ボリュームIDと第1の実ボリュームIDに対応付けられた第1の仮想ボリュームIDとを持つ。第1のプールボリュームは複数のチャンクを含み、第1の正ボリュームの差分データを格納する。第1の副ボリュームは第1の正ボリュームの所定の時点の複製であり、それぞれが第1の正ボリュームのチャンクまたは第1のプールボリュームのチャンクのいずれかを参照する複数のチャンクを含み、第2の実ボリュームIDと第2の実ボリュームに対応付けられた第2の仮想ボリュームIDを持つ。第1のストレージ装置は、さらに、第1の副ボリュームの複数のチャンクの参照先を管理し、第1の正ボリュームに対する識別子の要求を受信すると第1の仮想ボリュームIDを応答し、第1の副ボリュームに対する識別子の要求を受信すると第2の仮想ボリュームIDを応答する。第2のストレージ装置は、第2の正ボリューム、第2のプールボリューム、第2の副ボリュームでスナップショット構成を提供する。第2の正ボリュームは複数のチャンクを含み、第3の実ボリュームIDと第3の実ボリュームIDに対応付けられた第1の仮想ボリュームIDとを持つ。第2のプールボリュームは複数のチャンクを含み、第2の正ボリュームの差分データを格納する。第2の副ボリュームは第2の正ボリュームの所定の時点の複製であり、それぞれが第2の正ボリュームのチャンクまたは第2のプールボリュームのチャンクのいずれかを参照する複数のチャンクを含み、第4の実ボリュームIDと第4の実ボリュームIDに対応付けられた第2の仮想ボリュームIDを持つ。第2のストレージ装置は、さらに、第2の副ボリュームの複数のチャンクの参照先を管理し、第2の正ボリュームに対する識別子の要求を受信すると第1の仮想ボリュームIDを応答し、第2の副ボリュームに対する識別子の要求を受信すると第2の仮想ボリュームIDを応答する。第1のストレージ装置は、スナップショット構成を第1のストレージ装置から第2のストレージ装置に移行する。その際、第1の副ボリュームの第1のチャンクが、第1の正ボリュームの第2のチャンクを参照している場合、第2のチャンクを移行した後に、第1のチャンクを移行する。ことを特徴とするストレージシステム。
The present invention can also be characterized by the following viewpoints, for example.
The storage system includes a first storage device and a second storage device. The first storage device provides a snapshot configuration with the first primary volume, the first pool volume, and the first secondary volume. The first primary volume includes a plurality of chunks, and has a first real volume ID and a first virtual volume ID associated with the first real volume ID. The first pool volume includes a plurality of chunks and stores differential data of the first primary volume. The first secondary volume is a replica of the first primary volume at a predetermined point in time, and includes a plurality of chunks each referring to either the first primary volume chunk or the first pool volume chunk, 2 real volume IDs and a second virtual volume ID associated with the second real volume. The first storage device further manages the reference destinations of the plurality of chunks of the first secondary volume, and upon receiving an identifier request for the first primary volume, responds with the first virtual volume ID, When the request for the identifier for the secondary volume is received, the second virtual volume ID is returned. The second storage device provides a snapshot configuration with the second primary volume, the second pool volume, and the second secondary volume. The second primary volume includes a plurality of chunks and has a third real volume ID and a first virtual volume ID associated with the third real volume ID. The second pool volume includes a plurality of chunks and stores differential data of the second primary volume. The second secondary volume is a replica of the second primary volume at a predetermined point in time and includes a plurality of chunks each referring to either the second primary volume chunk or the second pool volume chunk, 4 real volume IDs and a second virtual volume ID associated with the fourth real volume ID. The second storage device further manages the reference destinations of the plurality of chunks of the second secondary volume, and upon receiving an identifier request for the second primary volume, responds with the first virtual volume ID, When the request for the identifier for the secondary volume is received, the second virtual volume ID is returned. The first storage device migrates the snapshot configuration from the first storage device to the second storage device. At this time, when the first chunk of the first secondary volume refers to the second chunk of the first primary volume, the first chunk is migrated after the second chunk is migrated. A storage system characterized by that.
100 ホスト計算機
200 管理サーバ
500 ストレージ装置
520 実ボリューム
530 プール
600 仮想ストレージ装置
100 Host computer 200 Management server 500 Storage device 520 Real volume 530 Pool 600 Virtual storage device

Claims (12)

  1.  複数のチャンクを含む第1の正ボリュームと、
     複数のチャンクを含み、前記第1の正ボリュームの差分データを格納する第1のプールボリュームと、
     前記第1の正ボリュームの所定の時点の複製であり、それぞれが前記第1の正ボリュームのチャンクまたは前記第1のプールボリュームのチャンクのいずれかを参照する複数のチャンクを含む、第1の副ボリュームと、
     を有する第1のスナップショット構成を提供し、
     前記第1の副ボリュームの複数のチャンクの参照先を管理する、
     第1のストレージ装置と、
     複数のチャンクを含む第2の正ボリュームと、
     複数のチャンクを含み、前記第2の正ボリュームの差分データを格納する第2のプールボリュームと、
     前記第2の正ボリュームの所定の時点の複製であり、それぞれが前記第2の正ボリュームのチャンクまたは前記第2のプールボリュームのチャンクのいずれかを参照する複数のチャンクを含む、第2の副ボリュームと、
     を有する第2のスナップショット構成を提供し、
     前記第2の副ボリュームの複数のチャンクの参照先を管理する、
     第2のストレージ装置と、
     を備えるストレージシステムであって、
     前記第1のストレージ装置は、
    前記第1のスナップショット構成を前記第1のストレージ装置から前記第2のストレージ装置に移行するに際し、
     移行の対象となるチャンクの排他を取得し、移行の対象となるチャンクの管理情報であるスナップショット割当情報を前記第2のストレージ装置に送信し、
     前記移行中に、上位装置からライト要求を受信すると、
     当該ライト要求に係る第1のチャンクと、当該ライト要求に係るチャンクと前記参照により関連する第2のチャンクと、の排他を取得し、当該ライト要求に係るライト処理を実行する、
     ことを特徴とするストレージシステム。
    A first primary volume containing a plurality of chunks;
    A first pool volume that includes a plurality of chunks and stores differential data of the first primary volume;
    A first secondary volume that is a replica of the first primary volume at a predetermined time point, each including a plurality of chunks that refer to either the first primary volume chunk or the first pool volume chunk Volume,
    Providing a first snapshot configuration comprising:
    Managing reference destinations of the plurality of chunks of the first secondary volume;
    A first storage device;
    A second primary volume containing a plurality of chunks;
    A second pool volume that includes a plurality of chunks and stores differential data of the second primary volume;
    A second secondary volume that is a replica of the second primary volume at a predetermined time point, each including a plurality of chunks that refer to either the second primary volume chunk or the second pool volume chunk Volume,
    Providing a second snapshot configuration having:
    Managing reference destinations of the plurality of chunks of the second secondary volume;
    A second storage device;
    A storage system comprising:
    The first storage device
    When migrating the first snapshot configuration from the first storage device to the second storage device,
    Acquires the exclusion of the chunk to be migrated, and sends snapshot allocation information, which is management information of the chunk to be migrated, to the second storage device,
    During the transition, when receiving a write request from the host device,
    Acquiring exclusive of the first chunk related to the write request, the chunk related to the write request and the second chunk related by the reference, and executing the write processing related to the write request,
    A storage system characterized by that.
  2.  前記第1の副ボリュームのチャンクに係る前記スナップショット割当情報は、
     前記送信の先のボリュームを識別する情報と、前記送信の先のチャンクを識別する情報と、前記第1の副ボリュームのチャンクの前記参照の種別を示す情報と、第3の副ボリュームに含まれ、前記第1の副ボリュームのチャンクと同じ前記第1のプールボリュームのチャンクを参照し、移行が完了しているチャンクがある場合、前記第3の副ボリュームを識別する情報と、前記第3の副ボリュームがない場合、前記第1の副ボリュームのチャンク係るデータと、を含む、
     請求項1に記載のストレージシステム。
    The snapshot allocation information related to the chunk of the first secondary volume is:
    Included in the third secondary volume is information identifying the destination volume of the transmission, information identifying the destination chunk of transmission, information indicating the type of reference of the chunk of the first secondary volume, and , Referring to the same chunk of the first pool volume as the chunk of the first secondary volume, and if there is a chunk that has been migrated, information for identifying the third secondary volume, and the third If there is no secondary volume, the chunk data of the first secondary volume, and
    The storage system according to claim 1.
  3.  前記第1のストレージ装置は、
    当該ライト要求に係るデータを前記第1のチャンクに書き込み、前記第1のチャンクの移行が完了している場合、前記第2のストレージ装置に当該ライト要求に係るデータを送信し、前記第1のチャンクの移行が未完の場合、前記第2のストレージ装置に当該ライト要求に係るデータを送信しない、
     請求項1に記載のストレージシステム。
    The first storage device
    When the data related to the write request is written to the first chunk and the migration of the first chunk is completed, the data related to the write request is transmitted to the second storage device, and the first chunk If chunk migration is incomplete, data related to the write request is not transmitted to the second storage device.
    The storage system according to claim 1.
  4.  前記第1のストレージ装置は
     前記ライト要求に係るデータとあわせて、前記第2のチャンクの前記スナップショット割当情報を前記第2のストレージ装置に送信する、
     請求項3に記載のストレージシステム。
    The first storage device transmits the snapshot allocation information of the second chunk to the second storage device together with the data related to the write request.
    The storage system according to claim 3.
  5.  前記第2のストレージ装置は、
     前記上位装置からライト要求を受信すると、前記ライト要求を前記第1のストレージ装置に転送し、
     当該転送されたライト要求に係るチャンクの移行が完了している場合、前記ライト要求に係るデータを前記第2のストレージ装置の前記ライト要求に係るチャンクに書き込み、
     当該転送されたライト要求に係るチャンクの移行が未完である場合、前記ライト要求に係るデータを前記第2のストレージ装置の前記ライト要求に係るチャンクに書き込まない
     請求項1に記載のストレージシステム。
    The second storage device
    When a write request is received from the host device, the write request is transferred to the first storage device,
    When the transfer of the chunk related to the transferred write request has been completed, the data related to the write request is written to the chunk related to the write request of the second storage device,
    The storage system according to claim 1, wherein when the transfer of the chunk related to the transferred write request is incomplete, the data related to the write request is not written to the chunk related to the write request of the second storage device.
  6.  前記第2のストレージ装置は、
     前記上位装置からリード要求を受信すると、当該リード要求に係るチャンクの前記移行が完了している場合、前記第2のストレージ装置から当該要求に係るデータを読み出し、
     当該リード要求に係るチャンクの前記移行が未完の場合、前記リード要求を前記第1のストレージ装置に転送し、
     前記第1のストレージ装置は、前記第2のストレージ装置から当該転送されたリード要求を受信すると前記第1のストレージ装置から当該リード要求に係るデータを読み出し、前記第2のストレージ装置に送信する、
     請求項1に記載のストレージシステム。
    The second storage device
    When the read request is received from the higher-level device, if the migration of the chunk related to the read request is completed, the data related to the request is read from the second storage device,
    If the migration of the chunk related to the read request is incomplete, transfer the read request to the first storage device,
    When the first storage device receives the transferred read request from the second storage device, the first storage device reads data related to the read request from the first storage device, and transmits the data to the second storage device.
    The storage system according to claim 1.
  7. 複数のチャンクを含む第1の正ボリュームと、
     複数のチャンクを含み、前記第1の正ボリュームの差分データを格納する第1のプールボリュームと、
     前記第1の正ボリュームの所定の時点の複製であり、それぞれが前記第1の正ボリュームのチャンクまたは前記第1のプールボリュームのチャンクのいずれかを参照する複数のチャンクを含む、第1の副ボリュームと、
     を有する第1のスナップショット構成を提供し、
     前記第1の副ボリュームの複数のチャンクの参照先を管理する、
     第1のストレージ装置と、
     複数のチャンクを含む第2の正ボリュームと、
     複数のチャンクを含み、前記第2の正ボリュームの差分データを格納する第2のプールボリュームと、
     前記第2の正ボリュームの所定の時点の複製であり、それぞれが前記第2の正ボリュームのチャンクまたは前記第2のプールボリュームのチャンクのいずれかを参照する複数のチャンクを含む、第2の副ボリュームと、
     を有する第2のスナップショット構成を提供し、
     前記第2の副ボリュームの複数のチャンクの参照先を管理する、
     第2のストレージ装置と、
     を備えるストレージシステムの制御方法であって、
     前記第1のスナップショット構成を前記第1のストレージ装置から前記第2のストレージ装置に移行するに際し、
     移行の対象となるチャンクの排他を取得し、移行の対象となるチャンクの管理情報であるスナップショット割当情報を前記第2のストレージ装置に送信し、
     前記移行中に、上位装置からライト要求を受信すると、
     当該ライト要求に係る第1のチャンクと、当該ライト要求に係るチャンクと前記参照により関連する第2のチャンクと、の排他を取得し、当該ライト要求に係るライト処理を実行する、
     ことを特徴とするストレージシステムの制御方法。
    A first primary volume containing a plurality of chunks;
    A first pool volume that includes a plurality of chunks and stores differential data of the first primary volume;
    A first secondary volume that is a replica of the first primary volume at a predetermined time point, each including a plurality of chunks that refer to either the first primary volume chunk or the first pool volume chunk Volume,
    Providing a first snapshot configuration comprising:
    Managing reference destinations of the plurality of chunks of the first secondary volume;
    A first storage device;
    A second primary volume containing a plurality of chunks;
    A second pool volume that includes a plurality of chunks and stores differential data of the second primary volume;
    A second secondary volume that is a replica of the second primary volume at a predetermined time point, each including a plurality of chunks that refer to either the second primary volume chunk or the second pool volume chunk Volume,
    Providing a second snapshot configuration having:
    Managing reference destinations of the plurality of chunks of the second secondary volume;
    A second storage device;
    A storage system control method comprising:
    When migrating the first snapshot configuration from the first storage device to the second storage device,
    Acquires the exclusion of the chunk to be migrated, and sends snapshot allocation information, which is management information of the chunk to be migrated, to the second storage device,
    During the transition, when receiving a write request from the host device,
    Acquiring exclusive of the first chunk related to the write request, the chunk related to the write request and the second chunk related by the reference, and executing the write processing related to the write request,
    A storage system control method.
  8.  前記第1の副ボリュームのチャンクに係る前記スナップショット割当情報は、
     前記送信の先のボリュームを識別する情報と、前記送信の先のチャンクを識別する情報と、前記第1の副ボリュームのチャンクの前記参照の種別を示す情報と、第3の副ボリュームに含まれ、前記第1の副ボリュームのチャンクと同じ前記第1のプールボリュームのチャンクを参照し、移行が完了しているチャンクがある場合、前記第3の副ボリュームを識別する情報と、前記第3の副ボリュームがない場合、前記第1の副ボリュームのチャンク係るデータと、を含む、
     請求項7に記載のストレージシステムの制御方法。
    The snapshot allocation information related to the chunk of the first secondary volume is:
    Included in the third secondary volume is information identifying the destination volume of the transmission, information identifying the destination chunk of transmission, information indicating the type of reference of the chunk of the first secondary volume, and , Referring to the same chunk of the first pool volume as the chunk of the first secondary volume, and if there is a chunk that has been migrated, information for identifying the third secondary volume, and the third If there is no secondary volume, the chunk data of the first secondary volume, and
    The storage system control method according to claim 7.
  9.  当該ライト要求に係るデータを前記第1のチャンクに書き込み、前記第1のチャンクの移行が完了している場合、前記第2のストレージ装置に当該ライト要求に係るデータを送信し、前記第1のチャンクの移行が未完の場合、前記第2のストレージ装置に当該ライト要求に係るデータを送信しない、
     請求項7に記載のストレージシステムの制御方法。
    When the data related to the write request is written to the first chunk and the migration of the first chunk is completed, the data related to the write request is transmitted to the second storage device, and the first chunk If chunk migration is incomplete, data related to the write request is not transmitted to the second storage device.
    The storage system control method according to claim 7.
  10.  前記ライト要求に係るデータとあわせて、前記第2のチャンクの前記スナップショット割当情報を前記第2のストレージ装置に送信する、
     請求項9に記載のストレージシステムの制御方法。
    Along with the data relating to the write request, the snapshot allocation information of the second chunk is transmitted to the second storage device.
    The storage system control method according to claim 9.
  11.  前記上位装置から前記第2のストレージ装置へのライト要求を受信すると、前記ライト要求を前記第1のストレージ装置に転送し、
     当該転送されたライト要求に係るチャンクの移行が完了している場合、前記ライト要求に係るデータを前記第2のストレージ装置の前記ライト要求に係るチャンクに書き込み、
     当該転送されたライト要求に係るチャンクの移行が未完である場合、前記ライト要求に係るデータを前記第2のストレージ装置の前記ライト要求に係るチャンクに書き込まない、
    請求項7に記載のストレージシステムの制御方法。
    Upon receiving a write request from the host device to the second storage device, the write request is transferred to the first storage device,
    When the transfer of the chunk related to the transferred write request has been completed, the data related to the write request is written to the chunk related to the write request of the second storage device,
    If the transfer of the chunk related to the transferred write request is incomplete, the data related to the write request is not written to the chunk related to the write request of the second storage device.
    The storage system control method according to claim 7.
  12.  前記上位装置から前記第2のストレージ装置へのリード要求を受信すると、当該リード要求に係るチャンクの前記移行が完了している場合、前記第2のストレージ装置から当該要求に係るデータを読み出し、
     当該リード要求に係るチャンクの前記移行が未完の場合、前記リード要求を前記第1のストレージ装置に転送し、
     前記第1のストレージ装置が、前記第2のストレージ装置から当該転送されたリード要求を受信すると、前記第1のストレージ装置から当該リード要求に係るデータを読み出し、
    前記第2のストレージ装置に送信する、
     請求項7に記載のストレージシステムの制御方法。
    Upon receiving a read request from the host device to the second storage device, if the migration of the chunk related to the read request is completed, the data related to the request is read from the second storage device,
    If the migration of the chunk related to the read request is incomplete, transfer the read request to the first storage device,
    When the first storage device receives the read request transferred from the second storage device, the first storage device reads data related to the read request from the first storage device,
    Send to the second storage device,
    The storage system control method according to claim 7.
PCT/JP2014/055899 2014-03-07 2014-03-07 Storage system and storage system control method WO2015132946A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/055899 WO2015132946A1 (en) 2014-03-07 2014-03-07 Storage system and storage system control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/055899 WO2015132946A1 (en) 2014-03-07 2014-03-07 Storage system and storage system control method

Publications (1)

Publication Number Publication Date
WO2015132946A1 true WO2015132946A1 (en) 2015-09-11

Family

ID=54054781

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/055899 WO2015132946A1 (en) 2014-03-07 2014-03-07 Storage system and storage system control method

Country Status (1)

Country Link
WO (1) WO2015132946A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187608A (en) * 1998-12-24 2000-07-04 Hitachi Ltd Storage device sub-system
JP2004334434A (en) * 2003-05-06 2004-11-25 Hitachi Ltd Storage device system with two-way copying control function
JP2005182222A (en) * 2003-12-17 2005-07-07 Hitachi Ltd Remote copy system
JP2007249452A (en) * 2006-03-15 2007-09-27 Hitachi Ltd Storage system, data transfer method and server device
JP2010257095A (en) * 2009-04-23 2010-11-11 Hitachi Ltd Data migration system and data migration method
JP2013232174A (en) * 2012-05-01 2013-11-14 Hitachi Ltd Traffic reduction on data migration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187608A (en) * 1998-12-24 2000-07-04 Hitachi Ltd Storage device sub-system
JP2004334434A (en) * 2003-05-06 2004-11-25 Hitachi Ltd Storage device system with two-way copying control function
JP2005182222A (en) * 2003-12-17 2005-07-07 Hitachi Ltd Remote copy system
JP2007249452A (en) * 2006-03-15 2007-09-27 Hitachi Ltd Storage system, data transfer method and server device
JP2010257095A (en) * 2009-04-23 2010-11-11 Hitachi Ltd Data migration system and data migration method
JP2013232174A (en) * 2012-05-01 2013-11-14 Hitachi Ltd Traffic reduction on data migration

Similar Documents

Publication Publication Date Title
CN114341792B (en) Data partition switching between storage clusters
JP4927408B2 (en) Storage system and data restoration method thereof
US8443160B2 (en) Computer system and data migration method
US9292211B2 (en) Computer system and data migration method
JP5718533B1 (en) Storage system data migration method
JP6600698B2 (en) Computer system
JP6317524B2 (en) Storage system, computer system, and storage system control method
US10191685B2 (en) Storage system, storage device, and data transfer method
JP2007279845A (en) Storage system
US11644978B2 (en) Read and write load sharing in a storage array via partitioned ownership of data blocks
US20180267713A1 (en) Method and apparatus for defining storage infrastructure
US11543989B2 (en) Storage system and control method thereof
CN102012853A (en) Zero-copy snapshot method
US20170220249A1 (en) Systems and Methods to Maintain Consistent High Availability and Performance in Storage Area Networks
US10503440B2 (en) Computer system, and data migration method in computer system
US11740823B2 (en) Storage system and storage control method
JP6557785B2 (en) Computer system and storage device control method
US20190212937A1 (en) Storage system and storage control method
JP2022054132A (en) Compound storage system
JP6000391B2 (en) Storage system data migration method
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication
WO2015132946A1 (en) Storage system and storage system control method
JP2021033782A (en) Remote copy system
US11762574B2 (en) Backup system and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14884774

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14884774

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP