US20170293444A1 - Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program - Google Patents
Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program Download PDFInfo
- Publication number
- US20170293444A1 US20170293444A1 US15/632,432 US201715632432A US2017293444A1 US 20170293444 A1 US20170293444 A1 US 20170293444A1 US 201715632432 A US201715632432 A US 201715632432A US 2017293444 A1 US2017293444 A1 US 2017293444A1
- Authority
- US
- United States
- Prior art keywords
- copy
- area
- transfer
- storage
- copy destination
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2082—Data synchronisation
Definitions
- the present invention relates to a storage controller, a storage system, and a non-transitory computer-readable storage medium having stored therein a control program.
- a data transfer process in a storage apparatus is performed by a server reading transfer data from a transfer source volume (storage area) and writing the read transfer data into a transfer destination volume (storage area).
- information processing apparatuses such as servers having an offloaded data transfer function for causing a storage apparatus to perform a transfer process of data stored in the storage apparatus are known.
- the offloaded data transfer function for example, there is an Offloaded Data Transfer (ODX) mounted in Windows (registered trademark) Server 2012 of Microsoft (registered trademark) Corp. According to the ODX, an ODX command issued from a server is received, and a storage apparatus performs a data transfer process as a main body.
- ODX Offloaded Data Transfer
- the storage apparatus completes the transfer at a moment and returns a response to an ODX command to the server, and, physically, the storage apparatus transfers transfer data on the background.
- the storage apparatus performs a so-called copy-on write/copy-on read operation in which, before a data access is made, transfer data of an update area relating to the data access is transferred.
- a snapshot is generated by the storage apparatus, and the transfer (copy) is viewed to be completed at a moment from the server.
- FIG. 29 is a diagram that illustrates an example of a data transfer process performed in a storage apparatus according to the ODX.
- a server as a host apparatus issues a populate token that represents the range (area) of a transfer source and a write using token that represents the range (area) of a transfer destination.
- the storage apparatus performs a transfer process based on the above-described command received from the host apparatus.
- ODX session a transfer process that is started (initiated) inside the storage apparatus
- ODX commands transfer commands
- a remote equivalent copy (REC) is known.
- the REC is a function for mirroring data between storage apparatuses (between casings).
- FIG. 30 is a diagram that illustrates an example of a data copy process between storage apparatuses according to the REC.
- an REC session is started (initiated) in accordance with a start (initiation) command from a host apparatus.
- a copy source volume (storage area) of the storage apparatus is in a copy processing state, and an equivalent process is performed in which the data of the copy source volume is copied to a copy destination volume (storage area) of another storage apparatus.
- the storage apparatuses of the copy destination/copy source do not perform a suspending process accompanied with a suspend command.
- the copy processing state and the equivalent state information changed in the copy source is reflected on the copy destination.
- the copy source and the copy destination are in a suspended state, and a snapshot (copy destination volume) is generated.
- a snapshot copy destination volume
- an update to the copy source is not reflected on the copy destination, and the host apparatus can access the copy destination volume.
- the host apparatus can continue the operation (failover) from the copy destination volume by issuing a suspend command to a copy destination storage device.
- a synchronous mode and a consistency mode are included.
- handling of write data relating to a write command at the time of receiving a write input/output (I/O) (write command) for a copy source volume from the host apparatus to the copy source storage apparatus differs.
- the synchronous mode is an operation mode in which, in a case where the copy source storage apparatus receives a write command, write data relating to the write command is copied to the copy destination volume using the function of the REC, and then, a response to the write command is returned.
- the copy source storage apparatus In the consistency mode, the copy source storage apparatus returns a response to the write command and then, stores the write data in a dedicated buffer (REC buffer).
- the write data stored in the REC buffer is gathered at the interval of several seconds and is transferred to the REC buffer of the copy destination storage apparatus, and the transferred write data is expanded in the copy destination volume from the REC buffer.
- the copy source storage apparatus since the copy source storage apparatus stores the write data in the REC buffer with the order of write commands being maintained, it is assured that all the write data up to a certain time point is reflected on the copy destination volume (protection of the order).
- transparent failover in storage apparatuses.
- mirroring is performed between storage apparatuses, and, in a case where one storage apparatus is damaged, automatic failover to the other storage apparatus is dynamically performed, and an access from the server is continued.
- transparent failover by maintaining a copy session in the same state in the storage apparatuses, a copy session after the failover is not manually reset, and, the copy session can be continued by a differential copy without re-performing an initial copy.
- FIG. 31 is a diagram that illustrates an example of a case where a copy source storage apparatus is broken down after a response to an ODX command in the copy source storage apparatus performing an REC.
- the copy source (storage apparatus) of the REC starts an ODX session (see arrow ( 2 )).
- the copy source returns a response to the ODX command (see arrow ( 3 )).
- physical transfer of transfer data relating to the ODX command has not been completed in the ODX session, and the copy source and the copy destination are in a non-equivalent state as physical data.
- the host apparatus issues a suspend command to the copy destination (storage apparatus) of the REC.
- the copy destination suspends an equivalent state being equivalent to the copy source (see arrow ( 5 - 2 )) and returns a response to the host apparatus (arrow ( 5 - 3 )).
- the host apparatus issues a read I/O (read command) to the copy destination to which data of the copy source has been copied according to the REC.
- a read instruction of the copy destination transfer data of the copy destination that corresponds to the transfer data of the copy source is also included.
- the copy destination reads the copy transfer data designated in the read command and responses to the host apparatus (see arrow ( 7 )).
- the copy of the transfer data to the copy destination according to the REC is also incomplete. Accordingly, even when an area designated in the read command of the copy destination is accessed, no copy destination transfer data is present, and accordingly, the reading operation fails or other data is read, and it is difficult to read the copy destination transfer data and to respond to the host apparatus.
- the above-described problem is not limited thereto.
- the above-described problem may similarly occur also in a case where at least the transfer destination of the transfer process is the volume of the copy source according to the inter-casing copy.
- the above-described problem may similarly occur in a case where the volume of the copy source is broken down also in the storage apparatus that makes a copy between casings (for example, the EC).
- the above-described problem may similarly occur also in a case where the storage area of the transfer source and the storage area of the transfer destination of the transfer process are areas of the same volume (in a case where data transfer is performed within the volume).
- a storage controller performing a copy process in which data stored in a copy source storage area including one or more storage volumes is copied to a copy destination storage area including one or more storage volumes corresponding to the copy source storage area.
- the storage controller includes a processor, wherein the processor: receives a transfer command for giving an instruction for transferring data stored in a first area of the copy source storage area to a second area of the copy source storage area from an information processing apparatus; starts a transfer process in which transfer data from the first area is read and is written into the second area in accordance with reception of the transfer command; and starts copying the transfer data into a corresponding area of the copy destination storage area that corresponds to the second area in the copy process together with the starting of the transfer process.
- FIG. 1 is a diagram that illustrates an example of the configuration of a storage system as an example of a first embodiment
- FIG. 2 is a diagram that illustrates an example of the appearance of a backup according to the storage system illustrated in FIG. 1 ;
- FIG. 3 is a diagram that illustrates an example of the hardware configuration of a storage apparatus illustrated in FIG. 1 ;
- FIG. 4 is a diagram that illustrates an example of the functional configuration of the storage system illustrated in FIG. 1 ;
- FIG. 5 is a flowchart that illustrates an example of the process in a case where a copy source storage apparatus illustrated in FIG. 4 receives an ODX command;
- FIG. 6 is a flowchart that illustrates an example of a synchronous transfer process illustrated in FIG. 5 ;
- FIG. 7 is a diagram that illustrates a synchronous transfer process in the case of a synchronous mode
- FIG. 8 is a diagram that illustrates a synchronous transfer process in the case of a consistency mode
- FIG. 9 is a flowchart that illustrates an example of an asynchronous transfer process illustrated in FIG. 5 ;
- FIG. 10 is a flowchart that illustrates an example of a physical transfer process illustrated in FIG. 9 ;
- FIG. 11 is a diagram that illustrates an asynchronous transfer process in the case of the synchronous mode
- FIG. 12 is a diagram that illustrates an asynchronous transfer mode in the case of the consistency mode
- FIG. 13 is a diagram that illustrates an example of the functional configuration of a copy source storage apparatus as an example of a second embodiment
- FIG. 14 is a diagram that illustrates an example of the configuration of a copy destination storage apparatus as an example of the second embodiment
- FIG. 15 is a diagram that illustrates an example of the process of an REC buffer management unit illustrated in FIG. 13 ;
- FIG. 16 is a flowchart that illustrates an example of the process in a case where the copy source storage apparatus illustrated in FIG. 13 receives an ODX command;
- FIG. 17 is a flowchart that illustrates an example of a copy destination asynchronous transfer process illustrated in FIG. 16 ;
- FIG. 18 is a flowchart that illustrates an example of a buffer transfer process illustrated in FIG. 17 ;
- FIG. 19 is a diagram that illustrates an asynchronous transfer process in the case of the synchronous mode
- FIG. 20 is a diagram that illustrates an asynchronous transfer process in the case of the consistency mode
- FIG. 21 is a flowchart that illustrates an example of the process in a case where the copy destination storage apparatus illustrated in FIG. 14 receives a read command;
- FIG. 22 is a diagram that illustrates a copy destination reading process in the case of the synchronous mode
- FIG. 23 is a diagram that illustrates a copy destination reading process in the case of the consistency mode
- FIG. 24 is a flowchart that illustrates an example of the process in a case where the copy source storage apparatus illustrated in FIG. 13 receives a write command;
- FIG. 25 is a diagram that illustrates a copy source writing process in the case of the synchronous mode
- FIG. 26 is a diagram that illustrates a copy source writing process in the case of the consistency mode
- FIG. 27 is a diagram that illustrates an example of the form of a backup according to the storage system illustrated in FIG. 1 ;
- FIG. 28 is a diagram that illustrates an example of the forms of a backup according to the storage system illustrated in FIG. 1 ;
- FIG. 29 is a diagram that illustrates an example of a data transfer process performed in a storage apparatus according to the ODX;
- FIG. 30 is a diagram that illustrates an example of a data copy process according to the REC between storage apparatuses.
- FIG. 31 is a diagram that illustrates an example of a case where a copy source storage apparatus is broken down after responding to an ODX command in a copy source storage apparatus performing the REC.
- FIG. 1 is a diagram that illustrates an example of the configuration of a storage system 10 as an example of a first embodiment
- FIG. 2 is a diagram that illustrates an example of the appearance of a backup according to the storage system 10 illustrated in FIG. 1 .
- the storage system 10 is connected to a host apparatus 2 , receives various requests from the host apparatus 2 , and performs various processes according to the requests.
- the host apparatus 2 is a host computer (high-level apparatus) connected to the storage system 10 and, for example, executes an operating system (OS) that supports an offloaded data transfer function (ODX) of Windows Server 2012 or the like.
- OS operating system
- ODX offloaded data transfer function
- Examples of the host apparatus 2 include various information processing apparatuses such as a personal computer (PC), a server, and a mainframe.
- the host apparatus 2 issues an ODX command (transfer command) and an EC/REC command (copy command) to the storage system 10 and issues a write (update)/read command and the like for volumes 5 a to 5 d .
- the EC/REC command there are a start (initiation) command, a suspend command, a resume command used for a transition from a suspended state to an equivalent state, and the like.
- the storage system 10 includes one or more (two in the case illustrated in FIG. 1 ) storage apparatuses 1 A and 1 B (in a case where the storage apparatuses 1 A and 1 B do not need to be discriminated from each other, one thereof will be simply referred to as a storage apparatus 1 ).
- the storage apparatus 1 A includes one or more (two in the case of FIG. 1 ) controller modules (CM) 3 A and a disk enclosure (hereinafter, referred to as a DE) 4 A.
- the storage apparatus 1 B includes one or more (two in the example illustrated in FIG. 1 ) CMs 3 B and a DE 4 B.
- CMs 3 A and 3 B do not need to be discriminated from each other
- DE 4 B one thereof will be simply referred to as a DE 4 .
- the DE 4 houses (manages) one or more (two in the case of FIG. 1 ) volumes 5 a and 5 b or 5 c and 5 d .
- volumes 5 a and 5 b or 5 c and 5 d are volumes 5 a and 5 b or 5 c and 5 d .
- the volume (a storage area or a storage volume) 5 is a unit in which a storage area is managed physically or logically as one continuous storage area by the host apparatus 2 or the CM 3 .
- a volume (storage area) of a copy source will be referred to as a copy source storage area 5 A
- a volume (storage area) of a copy destination will be referred to as a copy destination storage area 5 B.
- volumes 5 a and 5 b (at least a volume 5 b ) of the storage apparatus 1 A represent the copy source storage area 5 A
- volumes 5 c and 5 d (at least a volume 5 d ) of the storage apparatus 1 B represent the copy destination storage area 5 B.
- the copy source storage area 5 A (the volumes 5 a and 5 b ) and the copy destination storage area 5 B (the volumes 5 c and 5 d ) may be physical volumes or logical (virtual) volumes.
- the copy source storage area 5 A represents one or more physical or logical (virtual) volumes (first volume) out of a plurality of volumes realized by a storage apparatus 41 (see FIG. 3 ) included in the DE 4 A.
- the copy destination storage area 5 B represents one or more physical or logical (virtual) volumes (second volume) out of a plurality of volumes realized by the storage apparatus 41 included in the DE 4 B.
- the CM (storage controller) 3 is a computer (information processing apparatus) that is connected to the host apparatus 2 , the DE 4 , and the other CM 3 and manages resources of the storage apparatus 1 .
- the CM 3 performs various processes (a data transfer process, a data copy process, a data write/read process, and the like) for the DE 4 in accordance with requests from the host apparatus 2 and the other CM 3 .
- CM 3 will be described to receive an ODX command, an REC command (copy command), and a read/write command from the host apparatus 2 and perform processes according to the received commands.
- the CM 3 performs offloaded transfer in which data stored in the volume 5 a (first area) within the copy source storage area 5 A is read and is written into the volume 5 b (second area).
- the CM 3 in the REC session (copy process) started (initiated) in accordance with the REC command, the CM 3 (storage apparatus 1 ) makes a copy (between casings) between devices in which data stored in the copy source storage area 5 A is copied into the corresponding copy destination storage area 5 B.
- FIG. 3 is a diagram that illustrates an example of the hardware configuration of the storage apparatus 1 illustrated in FIG. 1 .
- the CM 3 is equipped with a central processing unit (CPU) 31 , a memory 32 , a channel adapter (CA) 33 , a remote adaptor (RA) 34 , and one or more (two in the case illustrated in FIG. 1 ) disk interfaces (DI) 35 .
- the CM 3 may be equipped with a storage unit 36 , an input/output unit 37 , a reading unit 38 , and a recording medium 39 a.
- the CPU 31 is an arithmetic processing unit (processor) that is connected to blocks 31 to 39 a disposed inside the CM 3 and performs various control processes and arithmetic operations.
- the CPU 31 realizes various functions of the CM 3 by executing programs (firmware) stored in the memory 32 , the storage unit 36 , the storage (recording) medium 39 a , the DE 4 , a read only memory (ROM) not illustrated in the figure, and the like.
- the processor is not limited to the CPU 31 but, an electronic circuit such as a micro processing unit (MPU) may be used as the processor.
- MPU micro processing unit
- the memory 32 is a storage apparatus such as a cache memory that stores various kinds of data and programs.
- the CPU 31 stores and expands data or a program in the memory 32 .
- the memory 32 temporarily stores a program used by the CPU 31 for serving as a storage controller, data to be written into the DE 4 from the host apparatus 2 , data read from the DE 4 to the host apparatus 2 or the other CM 3 , and the like.
- the memory 32 for example, there is a volatile memory such as a random access memory (RAM).
- the CA 33 is an adapter that is connected to the host apparatus 2 and controls interface with the host apparatus 2 and performs data communication with the host apparatus 2 .
- the RA 34 is a port that is connected to the RA 34 disposed inside the other storage apparatus 1 (CM 3 ) and controls interface with the other storage apparatus 1 and, for example, performs data communication with the other storage apparatus 1 .
- the DI 35 controls interface with the DE 4 housed in the storage system 10 and performs data communication with the DE 4 .
- the CA 33 , the RA 34 , and the DI 35 are collectively represented as an interface unit.
- the storage unit 36 is hardware that stores various kinds of data, programs, and the like.
- the storage unit 36 there are various devices including a magnetic disk device such as a hard disk drive (HDD), a semiconductor drive device such as a solid state drive (SSD), and a non-volatile memory such as a flash memory.
- a magnetic disk device such as a hard disk drive (HDD)
- a semiconductor drive device such as a solid state drive (SSD)
- SSD solid state drive
- non-volatile memory such as a flash memory.
- the input/output unit 37 includes at least one of an input device such as a mouse or a keyboard and an output device such as a display or a printer.
- the input/output unit 37 receives an operation instruction according to an operation of a supervisor or the like of the storage apparatus 1 through the input device and displays (outputs) a processing result acquired by the storage apparatus 1 , an alert, or the like to the output device.
- the storage medium 39 a is a storage apparatus such as a flash memory or a ROM and records various kinds of data and programs.
- the reading unit 38 is a device that reads out data or a program stored (recorded) in a computer-readable storage (recording) medium 39 b such as an optical disc or a universal serial bus (USB) memory.
- a computer-readable storage (recording) medium 39 b such as an optical disc or a universal serial bus (USB) memory.
- a control program realizing the function of the storage system 10 may be stored.
- the CPU 31 expands the control program input from the storage medium 39 a or input from the storage medium 39 b through the reading unit 38 in a memory device such as the memory 32 and executes the control program.
- the computer as the CM 3 realizes the function of the storage controller according to this embodiment by using the CPU 31 .
- the DE 4 includes one or more (two in the case illustrated in FIG. 3 ) storage apparatuses 41 .
- the storage apparatus 41 is any one of various devices including a magnetic disk device such as an HDD and a semiconductor drive device such as an SSD and is hardware storing various kinds of data, programs, and the like.
- the storage apparatus 41 realizes physical/logical volumes used as the copy source storage area 5 A and the copy destination storage area 5 B, as described above, through the management performed by the CM 3 .
- the above-described blocks 31 to 39 a are connected to a bus so as to be communicable with one another.
- the storage apparatuses 1 (RAs 34 ), the host apparatus 2 and the CA 33 , and the DI 35 and the DE 4 (storage apparatuses 41 ) are respectively connected so as to be communicable with each other through a LAN, a small computer system interface (SCSI), an InfiniBand (registered trademark), a fiber channel, or the like.
- SCSI small computer system interface
- InfiniBand registered trademark
- fiber channel or the like.
- the above-described hardware configuration of the storage apparatus 1 is merely an example. Accordingly, an increase/decrease in the hardware, division thereof, integration employing an arbitrary combination, or the like within the individual storage apparatus 1 , the CM 3 , or the DE 4 may be appropriately performed. In addition, the hardware of the CM 3 may be commonly used by a plurality of the CMs 3 in the storage apparatus 1 .
- the CM 3 of the copy source in a case where an ODX command is received in the equivalent state according to the REC, performs a physical data transfer process according to the ODX and a data copy process according to the REC before a response to the ODX command.
- the CM 3 of the copy source protects the equivalency of the copy source/copy destination according to the REC by performing an REC copy process in synchronization with a transfer process relating to the ODX command.
- the host apparatus 2 can restore the storage apparatus 1 A or the copy source storage area 5 A from the latest data stored in the copy destination storage area 5 B.
- the transfer source and the transfer destination (volumes 5 a and 5 b ) of the ODX session in the copy source storage area 5 A of the storage apparatus 1 A at least the transfer destination (volume 5 b ) may be the copy source of the REC session.
- the volume 5 d included in the copy destination storage area 5 B of the storage apparatus 1 B serves as the copy destination of the REC session.
- FIG. 4 is a diagram that illustrates an example of the functional configuration of the storage system 10 illustrated in FIG. 1 .
- the CM 3 has a configuration illustrated in the storage apparatus 1 A for the function of the storage apparatus 1 of the copy source of the REC session and has a configuration as illustrated in the storage apparatus 1 B for the function of the storage apparatus 1 of the copy destination of the REC session.
- the function of the storage system 10 relating to the ODX and the REC will be focused, and a case where the storage system 10 uses the synchronous mode out of copy modes of the REC and a case where the storage system 10 uses the consistency mode will be separately described.
- the CM 3 A of the copy source storage apparatus 1 A is equipped with: a host interface (I/F) controller 11 ; a session management unit 12 ; an REC buffer management unit 13 ; an REC buffer 13 a ; and an inter-device I/F controller 14 .
- I/F host interface
- the host I/F controller (command controller) 11 controls interface with the host apparatus 2 through the CA 33 and performs reception of various commands from the host apparatus 2 , transmission of responses to various commands to the host apparatus 2 , and the like. In addition, the host I/F controller 11 performs control according to a received command. Thus, the host I/F controller 11 is equipped with: a write/read command controller 11 a ; an ODX command controller 11 b ; and a copy command controller 11 c.
- the write/read command controller 11 a performs control relating to the write/read commands received from the host apparatus 2 .
- the write/read command controller 11 a instructs the DE 4 to write write data into the volume 5 b through the DI 35 .
- the write/read command controller 11 a instructs the session management unit 12 to copy the write data according to the REC into the copy destination (volume 5 d ).
- the ODX command controller 11 b performs control relating to the ODX command received from the host apparatus 2 .
- the ODX command controller 11 b instructs the session management unit 12 to start an ODX session.
- the ODX command controller 11 b transmits a response including information relating to transfer data (transferable data) transferred within a response time for the ODX command to the host apparatus 2 .
- transfer data transferable data
- the ODX command controller 11 b transmits a response to the host apparatus 2 .
- the copy command controller 11 c performs control relating to the REC command received from the host apparatus 2 .
- the copy command controller 11 c instructs the copy session management unit 12 b to start an REC session.
- the REC buffer management unit (buffer management unit) 13 manages the REC buffer 13 a used by the CM 3 A in the consistency mode of the REC.
- the REC buffer 13 a is realized by at least some areas of the storage area of the memory 32 .
- the REC buffer management unit 13 stores the transferable data in the REC buffer 13 a within the response time in accordance with start of the copy that is made by the copy session management unit 12 b .
- the REC buffer management unit 13 transmits (buffer transfer) the transferable data stored in the REC buffer 13 a to the storage apparatus 1 B at predetermined timing.
- the REC buffer management unit 13 stores the transferable data in the REC buffer 13 a in the transferred order. Then, the REC buffer management unit 13 transmits the data stored in the REC buffer 13 a to the storage apparatus 1 B at predetermined timing such as timing when the data stored in the REC buffer 13 a exceeds a predetermined size or at regular intervals.
- the REC buffer management unit 13 transmits the transferable data to the copy destination (volume 5 d ) not in synchronization with writing of the transferable data to the transfer destination (volume 5 b ) according to the ODX session.
- the REC buffer management unit 13 stores the transfer data written into the transfer destination (volume 5 b ) in accordance with the ODX session operating on the background in the REC buffer 13 a . Furthermore, in a case where the REC is in the equivalent state or in the copy processing state, the REC buffer management unit 13 stores update data updated in the copy source storage area 5 A in the REC buffer 13 a.
- the session management unit 12 manages sessions such as the ODX session and the REC session. In addition, the session management unit 12 stores management information used for managing the sessions in the memory 32 or the like and refers to or updates the management information.
- the session management unit 12 includes an ODX session management unit 12 a and a copy session management unit 12 b.
- the ODX session management unit (transfer processing unit) 12 a starts (initiates) an ODX session in which transfer data is read from the volume 5 a that is the transfer source and is written into the volume 5 b that is the transfer destination in accordance with reception of the ODX command.
- the ODX session management unit 12 a reads transferable data that is at least a part of transfer data that is transferable within a response time for a transfer command from the volume 5 a and writes the read data into the volume 5 b .
- information relating to the transferable data there is information of the size of a transferred block, an area (for example, an address) in which the transferable data is stored, and the like.
- the response time is a time that is predetermined in the specification of the ODX or by a supervisor of the host apparatus 2 or the storage system 10 or somebody else and, for example, is about several seconds.
- the ODX session management unit 12 a transfers transfer data in units of blocks in the ODX session that is in the equivalent state.
- the block is data (for example, a part of the transfer data) of a unitary size (for example, several Mbytes) out of the transfer data.
- the ODX session management unit 12 a determines whether or not the current time has arrived at a time limit of the response time. In a case where the current time has not arrived at the time limit, the ODX session management unit 12 a transfers the next block.
- the ODX session management unit 12 a stops the transfer of the block and notifies the ODX command controller 11 b of the information of the total size of blocks (transferable data) transferred in the ODX session or the like.
- the transfer data is executed on the background after the transmission of the response to the host apparatus 2 .
- the ODX session management unit 12 a transfers the transferable data out of the transfer data within the response time. Accordingly, the host I/F controller 11 can notify the host apparatus 2 of the transferable data of which the physical transfer according to the ODX has been assuredly completed.
- the host apparatus 2 When the ODX command controller 11 b returns the response to the host apparatus 2 , the host apparatus 2 issues a new ODX command.
- the new ODX command is used for giving an instruction for transferring the data stored in the area of the volume 5 a that has not been transferred by the ODX session management unit 12 a to the volume 5 b .
- the host apparatus 2 determines the areas (transfer ranges) of the transfer source and the transfer destination after update, which are included in the new ODX command, based on the information of the number of blocks and the like notified from the storage apparatus 1 A.
- the ODX session management unit 12 a repeats the transfer process for each transferable data described above based on the new ODX command that is issued from the host apparatus 2 every time when a response is returned.
- the ODX session management unit 12 a performs the process as illustrated in FIG. 31 .
- the ODX session management unit 12 a starts an ODX session in accordance with reception of an ODX command and transfers the transfer data on the background, and the ODX command controller 11 b returns a response indicating the start of the ODX session.
- the copy session management unit (copy processing unit) 12 b manages an REC session.
- the copy session management unit 12 b copies data of the copy source storage area 5 A into the corresponding copy destination storage area 5 B in the REC session (copy process).
- the copy session management unit 12 b starts copying the transfer data into the volume 5 d (corresponding area) of the copy destination storage area 5 B corresponding to the transfer destination (the volume 5 b of the copy source) of the ODX in the REC session (copy process) together with the start of the ODX session.
- the copy session management unit 12 b starts copying the transfer data in the REC session by being triggered upon the start of the ODX session (reception of an ODX command).
- the copy session management unit 12 b starts copying the transferable data into the volume 5 d in the start process of the copy.
- the copy started by the copy session management unit 12 b is performed as below depending on the copy mode of the REC in the equivalent state which is the synchronous mode or the consistency mode.
- the copy session management unit 12 b copies data that is transferable within the response time into the volume 5 d by using the function of the REC in the started copy.
- the ODX command controller 11 b transmits a response to the host apparatus 2 .
- the copy session management unit 12 b transfers the transferable data that is transferable to the volume 5 d to the REC buffer management unit 13 by using the function of the REC in the started copy and instructs the REC buffer management unit 13 to store the transferable data into the REC buffer 13 a .
- the transferable data stored in the REC buffer 13 a is transmitted to the volume 5 d at predetermined timing by the REC buffer management unit 13 .
- the ODX command controller 11 b transmits a response to the host apparatus 2 after completion of the ODX session of the transferable data for the transfer destination that is performed by the ODX session management unit 12 a and the storage of the transferable data into the REC buffer 13 a that is performed by the REC buffer management unit 13 .
- the copy session management unit 12 b waits (blocking control) for the process of changing the state to the suspended state until the buffer transfer of all the data stored in the REC buffer 13 a is performed.
- the inter-device I/F controller 14 controls interface with the storage apparatus 1 B through the RA 34 .
- the inter-device I/F controller 14 transmits information of data, a command, and the like relating to the REC session or the like transmitted from the copy session management unit 12 b or the REC buffer management unit 13 to the storage apparatus 1 B.
- the inter-device I/F controller 14 receives information of the response and the like relating to the REC session or the like from the storage apparatus 1 B and transfers the received information to the copy session management unit 12 b or the REC buffer management unit 13 .
- the ODX command controller 11 b returns a response to the host apparatus 2 . Accordingly, in the response to the host apparatus 2 , the synchronization (equivalent state) between the copy source storage area 5 A and the copy destination storage area 5 B can be reliably protected.
- the ODX command controller 11 b returns a response to the host apparatus 2 . Accordingly, in the response to the host apparatus 2 , the synchronization between the copy source storage area 5 A and the copy destination storage area 5 B can be protected at a level that is allowed in the consistency mode that is an asynchronous copy mode.
- the CM 3 B of the copy destination storage apparatus 1 B is equipped with: a host I/F controller 21 ; a session management unit 22 ; an REC buffer management unit 23 ; an REC buffer 23 a ; and an inter-device I/F controller 24 .
- the host I/F controller 21 controls interface with the host apparatus 2 through the CA 33 and has the same function as that of the host I/F controller 11 of the CM 3 A.
- the host I/F controller 21 instructs the session management unit 22 to stop the REC session.
- the REC buffer management unit 23 manages the REC buffer 23 a used by the CM 3 B in the consistency mode of the REC.
- the REC buffer 23 a is realized by at least some areas of the storage area of the memory 32 .
- the REC buffer management unit 23 stores data (transferable data) transmitted (buffer transfer) from the storage apparatus 1 A in the REC buffer 23 a .
- the REC buffer management unit 23 at predetermined timing that is the same as that of the REC buffer management unit 13 , reads the data stored in the REC buffer 23 a in units of blocks in the order of storage and transfers the read data to the session management unit 22 .
- the session management unit 22 manages a session such as the REC session.
- the session management unit 22 stores management information used for managing the session in the memory 32 or the like and refers to or updates the management information.
- the session management unit 22 instructs the DE 4 to write the data of the copy source storage area 5 A of the REC that is transmitted from the storage apparatus 1 B into the corresponding copy destination storage area 5 B.
- the session management unit 22 receives the data (transferable data) stored in the REC buffer 23 a from the REC buffer management unit 23 and instructs the DE 4 to write the received data into the copy destination storage area 5 B.
- the inter-device I/F controller 24 controls interface with the storage apparatus 1 A through the RA 34 .
- the inter-device I/F controller 24 transmits/receives information of data, a command, and the like relating to the REC session or the like to/from the storage apparatus 1 A.
- FIG. 5 is a flowchart that illustrates an example of the process in a case where the copy source storage apparatus 1 A illustrated in FIG. 4 receives an ODX command
- FIG. 6 is a flowchart that illustrates an example of a synchronous transfer process illustrated in FIG. 5
- FIG. 7 is a diagram that illustrates a synchronous transfer process in the case of the synchronous mode
- FIG. 8 is a diagram that illustrates a synchronous transfer process in the case of the consistency mode
- FIG. 9 is a flowchart that illustrates an example of the asynchronous transfer process illustrated in FIG. 5
- FIG. 10 is a flowchart that illustrates an example of a physical transfer process illustrated in FIG. 9
- FIG. 11 is a diagram that illustrates an asynchronous transfer process in the case of the synchronous mode
- FIG. 12 is a diagram that illustrates an asynchronous transfer process in the case of the consistency mode.
- Step S 1 when an ODX command is issued to the copy source storage apparatus 1 A by the host apparatus 2 , the ODX command is received by the ODX command controller 11 b in Step S 1 (see arrow ( 1 ) represented in FIGS. 7, 8, 11, and 12 ).
- the ODX command controller 11 b instructs the session management unit 12 to start an ODX session.
- the session management unit 12 determines whether or not the volume 5 b of the transfer destination according to the ODX is the copy source of the REC in Step S 2 and determines whether or not the REC is in the equivalent state in a case where the volume 5 b is the copy source in Step S 3 .
- Step S 4 Step S 11 to S 15 illustrated in FIG. 6 .
- Step S 5 when an ODX session is started on the background in accordance with the start of the asynchronous transfer process, the ODX session management unit 12 a returns a response to the ODX command to the host apparatus 2 through the ODX command controller 11 b in Step S 6 .
- Step S 4 the synchronous transfer process performed in Step S 4 will be described.
- Step S 11 physical transfer according to the ODX is performed for at least some blocks (a part of the transfer data) of the transfer data by the ODX session management unit 12 a in Step S 11 (see arrow ( 2 - 1 ) represented in FIGS. 7 and 8 ).
- the session management unit 12 determines whether or not the copy mode is the synchronous mode in Step S 12 .
- the copy session management unit 12 b copies the part of the transfer data read from the transfer source or written into the transfer destination to the copy destination of the REC in Step S 13 (see arrow ( 2 - 2 ) represented in FIG. 7 ).
- the copy mode is not the synchronous mode (No route of Step S 12 )
- the part of the transfer data read from the transfer source or written into the transfer destination is transferred to the REC buffer management unit 13 by the copy session management unit 12 b .
- the REC buffer management unit 13 stores the transferred part of the transfer data in the REC buffer 13 a in Step S 14 (see arrow ( 2 - 2 ) represented in FIG. 8 ).
- Step S 13 or S 14 the ODX session management unit 12 a determines whether the transfer process has been completed for the transfer range instructed in the ODX command or time-out occurs in Step S 15 . In a case where the transfer process has not been completed, and time-out does not occur (No route of Step S 15 ), the process proceeds to Step S 11 .
- Step S 6 the ODX command controller 11 b transmits a response to the ODX command to the host apparatus 2 (see arrow ( 3 ) represented in FIGS. 7 and 8 ). At this time, in the response, information relating to the number of blocks (transferable data) transferred until the completion of the transfer process or the time-out is included.
- buffer transfer of the data (the part of the transfer data or the transferable data) stored in the REC buffer 13 a is performed at predetermined timing by the REC buffer management unit 13 (see arrow ( 4 - 1 ) represented in FIG. 8 ).
- the data that is buffer-transferred and is stored in the REC buffer 23 a is read by the session management unit 22 through the REC buffer management unit 23 .
- the session management unit 22 copies the data stored in the REC buffer 23 a using the function of the REC into the copy destination volume 5 d (see arrow ( 4 - 2 ) represented in FIG. 8 ).
- the host apparatus 2 Based on the number of blocks included in the response, the host apparatus 2 issues a new ODX command to the copy source storage apparatus 1 A for a transfer area for which transfer has not been performed in accordance with the previous ODX command. In other words, when the number of blocks that have been transferred is received, the host apparatus 2 issues an ODX command designating the next transfer range starting from the following block address. In the storage system 10 , in this way, the above-described process is repeated until all the transfer data in the transfer range designated in the first ODX command is transferred (or is stored in the REC buffer 13 a ).
- Step S 5 the asynchronous transfer process started in Step S 5 represented in FIG. 5 will be described.
- the ODX session management unit 12 a in the asynchronous transfer process, the ODX session management unit 12 a generates an ODX session in Step S 21 (see arrow ( 2 ) represented in FIGS. 11 and 12 ). Then, the ODX session management unit 12 a starts physical transfer according to the ODX on the background in Step S 22 .
- the response to the ODX command in Step S 6 represented in FIG. 5 is transmitted by the ODX command controller 11 b to the host apparatus 2 when the process of Step S 22 is completed (see arrow ( 3 ) represented in FIGS. 11 and 12 ).
- Step S 23 Step S 31 to S 36 represented in FIG. 10 .
- the physical transfer according to the ODX is performed by the ODX session management unit 12 a in Step S 31 .
- the session management unit 12 determines whether or not the copy mode is the synchronous mode in Step S 32 .
- the copy session management unit 12 b copies the transfer data read from the transfer source or written into the transfer destination to the copy destination of the REC in Step S 33 .
- the copy mode is not the synchronous mode (No route of Step S 32 )
- the transfer data read from the transfer source or written into the transfer destination by the copy session management unit 12 b is transferred to the REC buffer management unit 13 .
- the REC buffer management unit 13 stores the transferred transfer data in the REC buffer 13 a in Step S 34 (see arrow ( 4 ) represented in FIG. 12 ).
- Step S 33 or S 34 the ODX session management unit 12 a determines whether or not the transfer process has been completed for the transfer range instructed in the ODX command in Step S 35 . In a case where the transfer process has not been completed (No route of Step S 35 ), the process proceeds to Step S 31 .
- Step S 35 the ODX session management unit 12 a removes the ODX session in Step S 36 .
- the data (transfer data) stored in the REC buffer 13 a is transferred at predetermined timing by the REC buffer management unit 13 (see arrow ( 5 - 1 ) represented in FIG. 12 ).
- the data that is buffer-transferred and is stored in the REC buffer 23 a is copied by the session management unit 22 to the volume 5 d using the function of the REC (see arrow ( 5 - 2 ) represented in FIG. 12 ).
- the copy session management unit 12 b causes the REC to transit to the equivalent state when copy of both the ODX session and the REC session is completed (see arrow ( 4 ) represented in FIG. 11 and arrow ( 6 ) represented in FIG. 12 ).
- An example of the configuration of the storage system 10 according to the second embodiment, the appearance of backup, and an example of hardware configuration of the storage apparatus 1 are basically the same as those illustrated in FIGS. 1 to 3 , and thus, duplicate description thereof will not be presented.
- both the transfer source and the transfer destination of the ODX are copy targets (copy sources) according to the REC. Since the ODX is used by a work volume capable of recognizing the host apparatus 2 , it is difficult to consider that only one of the transfer source and the transfer destination of the ODX is the REC target. Thus, such a requisite can be regarded to be satisfied in the operating environment of a general storage system 10 .
- data of the transfer source (volume 5 a ) of the ODX is present in the copy destination storage apparatus 1 B (volume 5 c ) of the REC. Accordingly, in the storage apparatus 1 A, the copy of the transfer data transferred to the transfer destination (volume 5 b ) of the ODX to the storage apparatus 1 B according to the REC can be omitted.
- the storage system 10 when an ODX command is received from the host apparatus 2 , the storage system 10 according to the second embodiment starts an ODX session, starts an ODX session also in the copy destination storage apparatus 1 B, and then, returns a response to the host apparatus 2 .
- the CM 3 A of the copy source starts an ODX session also in the copy destination of the REC in synchronization with the start of the ODX session, and thereby operating the same ODX session in both the copy source and the copy destination according to the REC, whereby the equivalency between the copy source and the copy destination is protected.
- the host apparatus 2 can restore the storage apparatus 1 A or the copy source storage area 5 A from data stored in the copy destination storage area 5 B.
- the copy source storage apparatus 1 A can return the response to the host apparatus 2 after the start of the ODX session. Accordingly, a delay in the response can be shortened than that of a case where the physical transfer according to the ODX and the physical copy according to the REC are performed to be synchronized with each other.
- the storage system 10 is premised on that both the transfer source and the transfer destination (volumes 5 a and 5 b ) of the ODX session in the copy source storage area 5 A of the storage apparatus 1 A are copy sources of the REC session.
- volumes 5 c and 5 d included in the copy destination storage area 5 B of the storage apparatus 1 B are copy destinations of the REC session.
- the volumes 5 c and 5 d are the transfer source and the transfer destination of the copy destination ODX session that is started in the copy destination.
- FIGS. 13 and 14 are diagrams that illustrate examples of the functional configuration of a copy source storage apparatus 1 A and a copy destination storage apparatus 1 B as examples of the second embodiment.
- the CM 3 has a configuration illustrated in the storage apparatus 1 A for the function of the storage apparatus 1 of the copy source of the REC session and, as illustrated in FIG. 14 , has a configuration as illustrated in the storage apparatus 1 B for the function of the storage apparatus 1 of the copy destination of the REC session.
- the function of the storage system 10 relating to the ODX and the REC will be focused, and a case where the storage system 10 uses the synchronous mode out of copy modes of the REC and a case where the storage system 10 uses the consistency mode will be separately described.
- FIGS. 13 and 14 blocks to which the same reference signs as those illustrated in FIG. 4 are assigned have the same functions as those of the blocks illustrated in FIG. 4 , and thus, duplicate description thereof will not be presented.
- the CM 3 A of the copy source storage apparatus 1 A is equipped with: a host I/F controller 11 ; a session management unit 12 ; an REC buffer management unit 13 ′; an REC buffer 13 a ; and an inter-device I/F controller 14 .
- the REC buffer 13 a and the inter-device I/F controller 14 are the same as those of the first embodiment.
- the host I/F controller (command controller) 11 is equipped with: a write/read command controller 11 a ′ and an ODX command controller 11 b ′, which are different from those of the first embodiment; and a copy command controller 11 c , which is the same as that of the first embodiment.
- the write/read command controller 11 a ′ performs control relating to the write/read commands received from the host apparatus 2 .
- the write/read command controller 11 a ′ instructs the DE 4 to write write data into the write destination (writing area) of the volume 5 b through the DI 35 .
- the write/read command controller 11 a ′ instructs the session management unit 12 to copy (start an ODX session in the copy destination CM 3 B) the write data according to the REC into the copy destination (volume 5 d ).
- the write/read command controller 11 a ′ may receive a write command for the transfer destination (volume 5 b ) for which writing of the transfer data is incomplete according to the ODX on the background from the host apparatus 2 .
- the write/read command controller 11 a ′ causes the ODX session management unit 12 a ′ to start physical transfer according to the ODX for the write destination before the writing of the write data and then writes the write data for the write destination (instructs the DE 4 to write the write data). Thereafter, the write/read command controller 11 a ′ causes the copy session management unit 12 b ′ to start copying the transfer data according to the ODX to the volume 5 d . In addition, the write/read command controller 11 a ′ causes the copy session management unit 12 b ′ to transmit the write data to the copy destination using the function of the REC and write the write data into the volume 5 b .
- the write/read command controller 11 a ′ returns a response to the host apparatus 2 . Accordingly, for the write destination, the order between the transfer data of the ODX and the write data can be protected, and the synchronization (equivalent state) between the copy source storage area 5 A and the copy destination storage area 5 B can be reliably protected.
- the ODX command controller 11 b ′ performs control relating to the ODX command received from the host apparatus 2 .
- the ODX command controller 11 b ′ instructs the session management unit 12 to start an ODX session.
- the ODX command controller 11 b ′ transmits a response to the ODX command to the host apparatus 2 .
- the REC buffer management unit (buffer management unit) 13 ′ manages the REC buffer (buffer) 13 a that is used by the CM 3 A in the consistency mode of the REC.
- the REC buffer management unit 13 ′ stores a copy destination transfer command in the REC buffer 13 a in accordance with start of the copy that is made by the copy session management unit 12 b ′.
- the REC buffer management unit 13 ′ transmits (buffer transfer) the copy destination transfer command stored in the REC buffer 13 a to the storage apparatus 1 B at predetermined timing that is the same as that of the REC buffer management unit 13 according to the first embodiment.
- the REC buffer management unit 13 ′ stores the copy destination transfer commands in the REC buffer 13 a in the order of the transfer.
- the REC buffer management unit 13 ′ transmits the copy destination transfer command to the copy destination (volume 5 d ) not in synchronization with writing of the transfer data to the transfer destination (volume 5 b ) according to the ODX session.
- the REC buffer management unit 13 ′ stores the transfer data written into the transfer destination (volume 5 b ) in accordance with the ODX session operating on the background in the REC buffer 13 a . Furthermore, in a case where the REC is in the equivalent state or in the copy processing state, the REC buffer management unit 13 ′ stores update data updated in the copy source storage area 5 A in the REC buffer 13 a.
- FIG. 15 is a diagram that illustrates an example of the process of the REC buffer management unit 13 ′ illustrated in FIG. 13 .
- the REC buffer management unit 13 ′ stores update data or copy destination transfer commands in a block of a predetermined size that is included in the REC buffer 13 a in order of the writing of update data or the issuance of the copy destination transfer commands.
- the REC buffer management unit 13 ′ switches to the next block and stores update data and copy destination transfer commands.
- the data stored inside the REC buffer 13 a that is transmitted to the copy destination through the buffer transfer according to the REC is copied to the volume 5 of copy destination for each block.
- the order of blocks is protected.
- a case will be considered in which transfer data relating to the ODX is written into an area A in a state in which update data of the area A is stored in a block of the REC buffer 13 a in the volume 5 of the transfer destination of the ODX.
- the REC buffer management unit 13 ′ stores a copy destination transfer command relating to the area A in the block.
- the REC buffer management unit 13 ′ refers to management information (not illustrated in the figure) used for managing the address of data stored in the block from the memory 32 or the like. Then, when it is determined that update data is stored in the same block based on the management information, the REC buffer management unit 13 ′ switches the target block to the next block (performs buffer switching) even when the block is not full and stores the copy destination transfer command in the block to which the switching has been made.
- the REC buffer management unit 13 ′ may perform the same process.
- the session management unit 12 includes an ODX session management unit 12 a ′ and a copy session management unit 12 b ′, which are different from those of the first embodiment.
- the ODX session management unit (transfer processing unit) 12 a ′ starts (initiates) an ODX session in which transfer data is read from the volume 5 a that is the transfer source and is written into the volume 5 b that is the transfer destination in accordance with reception of the ODX command.
- the ODX session management unit 12 a ′ starts an ODX session in accordance with reception of an ODX command and transmits the transfer data on the background.
- the copy session management unit (copy processing unit) 12 b ′ starts copying transfer data into the volume 5 d (corresponding area) of the copy destination storage area 5 B that corresponds to the transfer destination (the volume 5 b of the copy source) of the ODX in the REC session (copy process) together with the start of the ODX session.
- the copy session management unit 12 b ′ starts copying the transfer data in the REC session by being triggered upon the start (reception of an ODX command) of the ODX session.
- the copy session management unit 12 b ′ issues a copy destination transfer command in the start process of the copy.
- the copy destination transfer command is control information (ODX control information) used for starting an ODX session.
- ODX control information control information
- LBA logical block address
- the copy session management unit 12 b ′ may generate a copy destination transfer command by modifying an ODX command transmitted from the host apparatus 2 or may generate a command similar to the ODX command or an instruction used for communication between the storage apparatuses 1 as the copy destination transfer command.
- the ODX command controller 11 b ′ issues the copy destination transfer command used for giving an instruction for transferring copy destination transfer data corresponding to the transfer data to the copy destination (volume 5 d ) that corresponds to the transfer destination (volume 5 b ) of the ODX, which is stored in the copy destination (volume 5 c ) corresponding to the transfer source (volume 5 a ) of the ODX, to the copy destination.
- the copy started by the copy session management unit 12 b ′ is performed as below depending on the copy mode of the REC which is the synchronous mode or the consistency mode.
- the copy session management unit 12 b ′ transmits the issued copy destination transfer command to the other storage apparatus 1 B in the started copy using the function of the REC.
- the ODX command controller 11 b ′ transmits a response to the host apparatus 2 .
- the copy session management unit 12 b ′ transfers the generated copy destination transfer command to the REC buffer management unit 13 ′ in the started copy and instructs the REC buffer management unit 13 ′ to store the copy destination transfer command in the REC buffer 13 a .
- the copy destination transfer command stored in the REC buffer 13 a is transmitted by the REC buffer management unit 13 ′ to the storage apparatus 1 B at predetermined timing using the function of the REC.
- the ODX command controller 11 b ′ transmits a response to the host apparatus 2 .
- the ODX command controller 11 b ′ returns a response to the host apparatus 2 . Accordingly, in the response to the host apparatus 2 , the synchronization (equivalent state) between the copy source storage area 5 A and the copy destination storage area 5 B can be reliably protected.
- the ODX command controller 11 b ′ transmits a response to the host apparatus 2 . Accordingly, in the response to the host apparatus 2 , the synchronization between the copy source storage area 5 A and the copy destination storage area 5 B can be protected at a level allowed in the consistency mode that is an asynchronous copy mode.
- the CM 3 B of the copy destination storage apparatus 1 B is equipped with: a host I/F controller 21 ′; a session management unit 22 ; an REC buffer management unit 23 ′; an REC buffer 23 a ; and an inter-device I/F controller 24 ′.
- the REC buffer 23 a is the same as that of the first embodiment.
- the host I/F controller 21 ′ basically has the same function as that of the host I/F controller 21 according to the first embodiment. For example, when a suspend command of the REC is received from the host apparatus 2 , the host I/F controller 21 ′ instructs the session management unit 22 to stop the REC session.
- the host I/F controller 21 ′ receives a read command for the transfer destination (volume 5 d ) of the copy destination for which physical transfer of the ODX based on the copy destination transfer command is incomplete from the host apparatus 2 .
- the host I/F controller 21 ′ causes the session management unit 22 to start physical transfer according to the ODX to the reading source (reading area). More specifically, the host I/F controller 21 ′ causes the ODX session management unit 22 a ′ to write the copy destination transfer data to the reading source of the volume 5 d.
- the host I/F controller 21 ′ responses to the host apparatus 2 with read data relating to the read command. More specifically, the host I/F controller 21 ′ responses to the host apparatus 2 with the copy destination transfer data read from the transfer source (volume 5 c ) or written into the transfer destination (the reading source; the volume 5 d ).
- the REC buffer management unit 23 ′ manages the REC buffer 23 a used by the CM 3 B in the consistency mode of the REC.
- the REC buffer management unit 23 ′ stores data (copy destination transfer command) transmitted (buffer transfer) from the storage apparatus 1 A in the REC buffer 23 a .
- the REC buffer management unit 23 ′ at predetermined timing that is the same as that of the REC buffer management unit 13 ′, reads the data stored in the REC buffer 23 a in units of blocks in the order of storage and transfers the read data to the session management unit 22 .
- the session management unit 22 is basically the same as the session management unit 22 according to the first embodiment.
- the session management unit 22 manages sessions such as the ODX session and the REC session.
- the session management unit 22 instructs the DE 4 to write the data of the copy source storage area 5 A relating to the REC session that is transmitted from the storage apparatus 1 B into the corresponding copy destination storage area 5 B.
- the session management unit 22 includes an ODX session management unit 22 a′.
- the ODX session management unit (copy destination transfer processing unit) 22 a ′ starts a copy destination ODX session (copy destination transfer process) based on the copy destination transfer command received from the storage apparatus 1 A. More specifically, the ODX session management unit 22 a ′ starts (initiates) a copy destination ODX session in which copy destination transfer data is read from a transfer source (volume 5 c ) designated in the command and is written into a transfer destination (volume 5 d ) on the background.
- the ODX session management unit 22 a ′ receives a copy destination transfer command from the inter-device I/F controller 24 ′. Furthermore, in the case of the consistency mode, the ODX session management unit 22 a ′ receives the copy destination transfer command stored in the REC buffer 23 a from the REC buffer management unit 23 ′.
- the inter-device I/F controller 24 ′ is basically the same as the inter-device I/F controller 24 according to the first embodiment.
- the inter-device I/F controller 24 ′ receives write data for the transfer destination (volume 5 d ) of the ODX operating on the background from the storage apparatus 1 A.
- the inter-device I/F controller 24 ′ similar to the above-described write/read command controller 11 a ′, before writing the write data, causes the ODX session management unit 22 a ′ to start physical transfer according to the ODX for the write destination (writing area). Then, the inter-device I/F controller 24 ′ instructs the DE 4 to write the write data into the write destination. In this way, for the write destination, the order between the transfer data and the write data of the ODX can be protected, whereby the storage apparatuses 1 A and 1 B can be maintained in a correct equivalent state.
- FIG. 16 is a flowchart that illustrates an example of the process in a case where the copy source storage apparatus 1 A illustrated in FIG. 13 receives an ODX command
- FIG. 17 is a flowchart that illustrates an example of a copy destination asynchronous transfer process illustrated in FIG. 16
- FIG. 18 is a flowchart that illustrates an example of a buffer transfer process illustrated in FIG. 17
- FIG. 19 is a diagram that illustrates an asynchronous transfer process in the case of the synchronous mode
- FIG. 20 is a diagram that illustrates an asynchronous transfer process in the case of the consistency mode.
- FIGS. 16 to 18 The asynchronous transfer process illustrated in FIGS. 16 to 18 is the same as or approximately the same as the process described with reference to FIGS. 9 and 10 , and thus, duplicate description will not be presented in the following description.
- Step S 41 when an ODX command is issued to the copy source storage apparatus 1 A of the REC by the host apparatus 2 , the ODX command is received by the ODX command controller 11 b ′ in Step S 41 (see arrow ( 1 ) represented in FIGS. 19 and 20 ).
- the ODX command controller 11 b ′ instructs the session management unit 12 to start transfer process.
- the session management unit 12 determines whether or not the volume 5 b of the transfer destination according to the ODX is the copy source of the REC in Step S 42 and determines whether or not the REC is in the equivalent state in a case where the volume 5 b is the copy source in Step S 43 .
- Step S 44 when an ODX session is started on the background in accordance with the start of the asynchronous transfer process (see arrow ( 2 - 1 ) represented in FIGS. 19 and 20 ), the ODX session management unit 12 a ′ performs the next process of Step S 45 .
- Step S 45 the copy session management unit 12 b ′ starts an asynchronous transfer process of the copy destination storage apparatus 1 B (Steps S 51 to S 56 represented in FIG. 17 ).
- Step S 47 a response to the ODX command is returned to the host apparatus 2 in Step S 47 (see arrow ( 3 ) represented in FIGS. 19 and 20 ), and the process of the case where the copy source storage apparatus 1 A receives the ODX command is completed.
- Step S 46 the ODX session management unit 12 a ′ starts an asynchronous transfer process in Step S 46 .
- the process proceeds to Step S 47 .
- Step S 45 the copy destination asynchronous transfer process performed in Step S 45 will be described.
- the session management unit 12 determines whether or not the copy mode is the synchronous mode in Step S 51 .
- the copy session management unit 12 b ′ issues (generates) ODX control information (copy destination transfer command) used for giving an instruction for transferring copy destination transfer data from the copy destination volume 5 c to the copy destination volume 5 d.
- Step S 51 the issued ODX control information is transmitted to the storage apparatus 1 B through the inter-device I/F controller 14 by the copy session management unit 12 b ′ in Step S 52 .
- Step S 53 when an ODX session is started on the background in accordance with the start of the asynchronous transfer process (see arrow ( 2 - 2 ) represented in FIG. 19 ), the ODX session management unit 22 a ′ returns a response of the completion of the start of the ODX to the copy source storage apparatus 1 A in Step S 54 .
- the issued ODX control information is transferred to the REC buffer management unit 13 ′ by the copy session management unit 12 b ′.
- the transferred ODX control information is stored in the REC buffer 13 a in Step S 55 (see arrow ( 2 - 2 ) represented in FIG. 20 ).
- Step S 56 Step S 61 to S 69 represented in FIG. 18
- the copy destination asynchronous transfer process of a case where the copy source storage apparatus 1 A receives the ODX command in the case of the consistency mode is completed.
- the buffer transfer process illustrated in FIG. 18 is regularly started on the background by the REC buffer management unit 13 ′.
- the data (ODX control information) stored in the REC buffer 13 a is read by the REC buffer management unit 13 ′, and buffer transfer of the read data to the copy destination is performed in Step S 61 (see arrow ( 4 ) represented in FIG. 20 ).
- the data stored in the REC buffer 23 a through the buffer transfer is read by the session management unit 22 through the REC buffer management unit 23 ′ in Step S 62 (see arrow ( 5 - 1 ) represented in FIG. 20 ).
- the session management unit 22 determines whether or not the read data is the ODX control information in Step S 63 .
- Step S 64 when the ODX session is started on the background in accordance with the start of the asynchronous transfer process (see arrow ( 5 - 2 ) represented in FIG. 20 ), the ODX session management unit 22 a ′ performs the next process of Step S 68 .
- the session management unit 22 determines whether or not the volume 5 of the copy destination of the REC is the transfer destination according to the ODX in Step S 65 .
- the ODX session management unit 22 a ′ performs physical transfer of the copy destination transfer data from the transfer source (volume 5 c ) according to the existing ODX to the volume 5 d in Step S 66 .
- the inter-device I/F controller 24 ′ reflects the update data read from the REC buffer 13 a on the copy destination of the REC in Step S 67 , and the process proceeds to Step S 68 .
- Step S 68 the REC buffer management unit 23 ′ determines whether or not reading of the data from the REC buffer 23 a has been completed. In a case where the reading of the data has not been completed (No route of Step S 68 ), the process proceeds to Step S 62 . On the other hand, in a case where the reading of all the data stored in the REC buffer 23 a has been completed (Yes route of Step S 68 ), the REC buffer management unit 23 ′ notifies the copy source of the REC of the completion of the buffer transfer through the inter-device I/F controller 24 ′ in Step S 69 .
- FIG. 21 is a flowchart that illustrates an example of the process in a case where the copy destination storage apparatus 1 B illustrated in FIG. 14 receives a read command.
- FIG. 22 is a diagram that illustrates a copy destination reading process in the case of the synchronous mode
- FIG. 23 is a diagram that illustrates a copy destination reading process in the case of the consistency mode.
- the host apparatus 2 issues a suspend command to the copy destination, and the host I/F controller 21 ′ receives the suspend command (see arrow ( 1 - 1 ) represented in FIGS. 22 and 23 ).
- the session management unit 22 suspends the equivalent state with the copy source (see arrow ( 1 - 2 ) represented in FIGS. 22 and 23 ) and returns a response to the host apparatus 2 (see arrow ( 1 - 3 ) represented in FIGS. 22 and 23 ).
- the host apparatus 2 issues a read command to the copy destination.
- the session management unit 22 determines whether or not the reading source is the transfer destination of the ODX in Step S 72 .
- the ODX session management unit 22 a ′ performs physical transfer of the copy destination transfer data from the transfer source (volume 5 c ) according to the existing ODX to the volume 5 d in Step S 73 (see arrow ( 3 ) represented in FIGS. 22 and 23 ).
- the host I/F controller 21 ′ transmits a response including the copy destination transfer data relating to the read command to the host apparatus 2 in Step S 74 .
- the copy destination transfer data included in the response is data read from the volume 5 c in the transfer process of the ODX or data read from the volume 5 d for which the transfer process has been performed.
- Step S 74 as the read data responding to the host apparatus 2 , the host I/F controller 21 ′ may use the data read from the transfer source by the ODX session management unit 22 a ′ for writing the data into the transfer destination in Step S 73 .
- FIG. 24 is a flowchart that illustrates an example of the process in a case where the copy source storage apparatus 1 A illustrated in FIG. 13 receives a write command.
- FIG. 25 is a diagram that illustrates a copy source writing process in the case of the synchronous mode
- FIG. 26 is a diagram that illustrates a copy source writing process in the case of the consistency mode.
- the session management unit 12 determines whether the writing area is the transfer destination of the ODX using the ODX session management unit 12 a ′ in Step S 82 .
- the ODX session management unit 12 a ′ performs physical transfer of the transfer data from the transfer source (volume 5 a ) according to the existing ODX to the volume 5 b in Step S 83 (see arrow ( 2 ) represented in FIGS. 25 and 26 ).
- the write/read command controller 11 a ′ writes the write (update) data relating to the write command into the volume 5 b in Step S 84 (see arrow ( 3 ) represented in FIGS. 25 and 26 ).
- the copy session management unit 12 b ′ determines whether or not the copy mode is the synchronous mode in Step S 85 .
- the session management unit 12 transmits the write data to the storage apparatus 1 B through the inter-device I/F controller 14 for transmitting the write data according to the REC in Step S 86 (see arrow ( 4 ) represented in FIG. 25 ).
- the ODX session management unit 22 a ′ determines whether or not the volume 5 of the copy destination of the write data according to the REC is the transfer destination of the ODX in Step S 87 .
- the ODX session management unit 22 a ′ performs physical transfer of the copy destination transfer data from the transfer source (volume 5 c ) according to the existing ODX to the volume 5 d in Step S 88 (see arrow ( 5 ) represented in FIG. 25 ).
- the inter-device I/F controller 24 ′ writes the write data received in accordance with the REC into the volume 5 d in Step S 89 (see arrow ( 6 ) represented in FIG. 25 ).
- the inter-device I/F controller 24 ′ returns a response of the completion of the copy of the write data to the copy source storage apparatus 1 A of the REC in Step S 90 .
- the storage apparatus 1 A transmits a response to the write command to the host apparatus 2 using the write/read command controller 11 a ′ in Step S 91 (see arrow ( 7 ) represented in FIG. 25 ).
- the write/read command controller 11 a ′ transmits a response to the write command to the host apparatus 2 in Step S 92 (see arrow ( 4 ) in FIG. 26 ).
- the copy session management unit 12 b ′ transfers the write data to the REC buffer management unit 13 ′.
- the REC buffer management unit 13 ′ stores the transferred write data into the REC buffer 13 a in Step S 93 (see arrow ( 5 ) represented in FIG. 26 ).
- Step S 94 Step S 61 to S 69 represented in FIG. 18 .
- the REC buffer management unit 13 ′ reads the data (write data) stored in the REC buffer 13 a at predetermined timing and is buffer-transferred to the copy destination (see arrow ( 6 ) represented in FIG. 26 ). Furthermore, the session management unit 22 of the copy destination reads the write data that has been buffer-transferred through the REC buffer management unit 23 ′ from the REC buffer 23 a (see arrow ( 7 ) represented in FIG. 26 ).
- the physical transfer of the copy destination transfer data from the transfer source (volume 5 c ) according to the existing ODX to the transfer destination (volume 5 d ) of the ODX that is the copy destination of the write data is performed (see arrow ( 8 ) represented in FIG. 26 ).
- the inter-device I/F controller 24 ′ reflects the write data on the copy destination of the REC (see arrow ( 9 ) represented in FIG. 26 ).
- the functions of the copy source CM 3 A described above may be integrated or distributed in accordance with an arbitrary combination.
- the functions of the copy destination CM 3 B may be integrated or distributed in accordance with an arbitrary combination.
- the CM 3 may include the functions of both the CMs 3 A and 3 B such that CM 3 can respond to any one of the copy source and the copy destination.
- FIG. 2 While the above-described storage system 10 has been described to perform a backup illustrated in FIG. 2 , the present invention is not limited thereto, and, for example, a backup employing the form illustrated in FIG. 27 or 28 may be performed.
- FIGS. 27 and 28 are diagrams that illustrate examples of the form of a backup according to the storage system 10 illustrated in FIG. 1 .
- the storage system 10 may perform intra-casing copy such as an EC.
- the copy source storage area 5 A is one or more physical or logical volumes realized by the storage apparatus 41
- the copy destination storage area 5 B is another one or more physical or logical volumes realized by the storage apparatus 41 .
- one CM 3 A may manage the copy source storage area 5 A and the copy destination storage area 5 B.
- two CMs 3 A may respectively manage the copy source storage area 5 A and the copy destination storage area 5 B utilizing communication made through a direct memory access (DMA) port or the like.
- DMA direct memory access
- the ODX session management unit 12 a ′ may start a copy destination transfer process based on a copy destination transfer command issued by the copy session management unit 12 b′.
- the storage system 10 may perform the ODX within one volume. Also in such a case, the first or second embodiment described above may be applied to the storage system 10 .
- CM 3 storage controller
- All or some of the various functions of the CM 3 (storage controller) according to the first and second embodiments and modified examples thereof may be realized by executing a predetermined program (control program) using a computer (including a CPU, an information processing apparatus, and various terminals).
- the program is provided in a form being stored (recorded) in a (non-transitory) computer-readable storage (recording) medium (for example, the storage medium 39 b illustrated in FIG. 3 ) such as a flexible disk, a CD, a DVD, or a Blue-ray disc.
- a (non-transitory) computer-readable storage (recording) medium such as a flexible disk, a CD, a DVD, or a Blue-ray disc.
- the CD include a CD-ROM, a CD-R, and a CD-RW.
- examples of the DVD include a DVD-ROM, a DVD-RAM, a DVD-R, a DVD-RW, a DVD+R, and a DVD+RW.
- the program may be configured to be recoded in a storage apparatus (storage medium) such as a magnetic disk, an optical disc, a magneto-optical disk and be provided for a computer through a communication line from the storage apparatus.
- a copy source can be restored based on data stored in a copy destination even in a case where the copy source is broken down after reception of a transfer command for giving an instruction to perform a transfer process of data within a copy source storage area in a storage apparatus that performs a copy process for copying data from the copy source to a storage area of the copy destination.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A storage controller performing a copy process in which data stored in a copy source storage area is copied to a copy destination storage area, the storage controller includes a processor, wherein the processor receives a transfer command for giving an instruction for transferring data stored in a first area of the copy source storage area to a second area of the copy source storage area, starts a transfer process in which transfer data from the first area is read and is written into the second area in accordance with reception of the transfer command, and starts copying the transfer data into a corresponding area of the copy destination storage area that corresponds to the second area in the copy process together with the starting of the transfer process.
Description
- This application is a continuation of application Ser. No. 14/287,244, filed May 27, 2014, which is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2013-132591, filed on Jun. 25, 2013, the entire contents of which are incorporated herein by reference.
- The present invention relates to a storage controller, a storage system, and a non-transitory computer-readable storage medium having stored therein a control program.
- A data transfer process in a storage apparatus is performed by a server reading transfer data from a transfer source volume (storage area) and writing the read transfer data into a transfer destination volume (storage area).
- Recently, in order to suppress the load of a server or the congestion of a communication line, information processing apparatuses such as servers having an offloaded data transfer function for causing a storage apparatus to perform a transfer process of data stored in the storage apparatus are known. As the offloaded data transfer function, for example, there is an Offloaded Data Transfer (ODX) mounted in Windows (registered trademark) Server 2012 of Microsoft (registered trademark) Corp. According to the ODX, an ODX command issued from a server is received, and a storage apparatus performs a data transfer process as a main body.
- In the data transfer process according to the ODX, logically, the storage apparatus completes the transfer at a moment and returns a response to an ODX command to the server, and, physically, the storage apparatus transfers transfer data on the background. In addition, when a data access to an area of the transfer source/transfer destination of the ODX is made, the storage apparatus performs a so-called copy-on write/copy-on read operation in which, before a data access is made, transfer data of an update area relating to the data access is transferred. In this way, according to the ODX, a snapshot is generated by the storage apparatus, and the transfer (copy) is viewed to be completed at a moment from the server.
-
FIG. 29 is a diagram that illustrates an example of a data transfer process performed in a storage apparatus according to the ODX. As illustrated inFIG. 29 , when a file (data) stored in the storage apparatus is copied, a server as a host apparatus issues a populate token that represents the range (area) of a transfer source and a write using token that represents the range (area) of a transfer destination. The storage apparatus performs a transfer process based on the above-described command received from the host apparatus. - Hereinafter, a transfer process that is started (initiated) inside the storage apparatus will be referred to as an ODX session, and two commands including the populate token and the write using token issued from the host apparatus will be collectively referred to as ODX commands (transfer commands).
- Meanwhile, in a storage system including a plurality of storage apparatuses, as a technique for making a data backup, a remote equivalent copy (REC) is known. The REC is a function for mirroring data between storage apparatuses (between casings).
-
FIG. 30 is a diagram that illustrates an example of a data copy process between storage apparatuses according to the REC. According to the REC, an REC session is started (initiated) in accordance with a start (initiation) command from a host apparatus. In the REC session, a copy source volume (storage area) of the storage apparatus is in a copy processing state, and an equivalent process is performed in which the data of the copy source volume is copied to a copy destination volume (storage area) of another storage apparatus. During the copy process, since the copy destination volume has incomplete data, the storage apparatuses of the copy destination/copy source do not perform a suspending process accompanied with a suspend command. - In the copy processing state and the equivalent state, information changed in the copy source is reflected on the copy destination. In addition, in the equivalent state, when a suspend command is issued from the host apparatus, the copy source and the copy destination are in a suspended state, and a snapshot (copy destination volume) is generated. In the suspended state, an update to the copy source is not reflected on the copy destination, and the host apparatus can access the copy destination volume.
- In addition, in the REC, in a case where a copy source storage apparatus is damaged (broken down) in the equivalent state, the host apparatus can continue the operation (failover) from the copy destination volume by issuing a suspend command to a copy destination storage device.
- In copy modes supported by the REC, a synchronous mode and a consistency mode are included. Depending on such a copy mode, handling of write data relating to a write command at the time of receiving a write input/output (I/O) (write command) for a copy source volume from the host apparatus to the copy source storage apparatus differs.
- The synchronous mode is an operation mode in which, in a case where the copy source storage apparatus receives a write command, write data relating to the write command is copied to the copy destination volume using the function of the REC, and then, a response to the write command is returned.
- In the consistency mode, the copy source storage apparatus returns a response to the write command and then, stores the write data in a dedicated buffer (REC buffer). The write data stored in the REC buffer is gathered at the interval of several seconds and is transferred to the REC buffer of the copy destination storage apparatus, and the transferred write data is expanded in the copy destination volume from the REC buffer. In the consistency mode, since the copy source storage apparatus stores the write data in the REC buffer with the order of write commands being maintained, it is assured that all the write data up to a certain time point is reflected on the copy destination volume (protection of the order).
- In addition, an EC in which mirroring such as the REC is performed inside the storage apparatus (inside the casing) is known. In the copy modes supported by the EC, a synchronous mode is included.
- Furthermore, as another technology, there is a technology called transparent failover in storage apparatuses. According to this technology, mirroring is performed between storage apparatuses, and, in a case where one storage apparatus is damaged, automatic failover to the other storage apparatus is dynamically performed, and an access from the server is continued. According to the transparent failover, by maintaining a copy session in the same state in the storage apparatuses, a copy session after the failover is not manually reset, and, the copy session can be continued by a differential copy without re-performing an initial copy.
- As a related technology, a technology for optimizing a backup process in a case where copy data acquired from a copy source is dually backed up in a copy destination is known (for example, see Japanese Laid-open patent publication No. 2010-160764).
-
FIG. 31 is a diagram that illustrates an example of a case where a copy source storage apparatus is broken down after a response to an ODX command in the copy source storage apparatus performing an REC. As illustrated inFIG. 31 , when an ODX command is received from a host apparatus (see arrow (1)), the copy source (storage apparatus) of the REC starts an ODX session (see arrow (2)). Then, when logical transfer relating to the ODX command is completed, the copy source returns a response to the ODX command (see arrow (3)). At a time point when the copy source returns the response to the host apparatus, physical transfer of transfer data relating to the ODX command has not been completed in the ODX session, and the copy source and the copy destination are in a non-equivalent state as physical data. - At this time, a case will be considered in which a breakdown occurs in the copy source storage apparatus (see arrow (4)). In such a case, the host apparatus issues a suspend command to the copy destination (storage apparatus) of the REC. When the suspend command is received (see arrow (5-1)), the copy destination suspends an equivalent state being equivalent to the copy source (see arrow (5-2)) and returns a response to the host apparatus (arrow (5-3)).
- In order to restore the copy source, the host apparatus issues a read I/O (read command) to the copy destination to which data of the copy source has been copied according to the REC. At this time, in the read command, a read instruction of the copy destination transfer data of the copy destination that corresponds to the transfer data of the copy source is also included. When the read command is received (see arrow (6)), the copy destination reads the copy transfer data designated in the read command and responses to the host apparatus (see arrow (7)).
- However, since the transfer process according to the ODX is incomplete in the copy source, the copy of the transfer data to the copy destination according to the REC is also incomplete. Accordingly, even when an area designated in the read command of the copy destination is accessed, no copy destination transfer data is present, and accordingly, the reading operation fails or other data is read, and it is difficult to read the copy destination transfer data and to respond to the host apparatus.
- In this way, in the copy source storage apparatus that performs the REC, in a case where the copy source storage apparatus is broken down after responding to the ODX command, it is difficult to acquire copy transfer data from the copy destination storage apparatus by host apparatus. Accordingly, there is a problem in that it is difficult to restore the copy destination storage apparatus based on the latest data by the host apparatus.
- Until now, while both the volumes (storage areas) of the transfer source and the transfer destination of the transfer process (for example, the ODX) performed in the copy source storage apparatus have been described to be volumes of the copy source according to the copy between casings (for example, the REC), the above-described problem is not limited thereto. For example, the above-described problem may similarly occur also in a case where at least the transfer destination of the transfer process is the volume of the copy source according to the inter-casing copy. In addition, the above-described problem may similarly occur in a case where the volume of the copy source is broken down also in the storage apparatus that makes a copy between casings (for example, the EC). Furthermore, the above-described problem may similarly occur also in a case where the storage area of the transfer source and the storage area of the transfer destination of the transfer process are areas of the same volume (in a case where data transfer is performed within the volume).
- According to an aspect of the embodiments, a storage controller performing a copy process in which data stored in a copy source storage area including one or more storage volumes is copied to a copy destination storage area including one or more storage volumes corresponding to the copy source storage area. The storage controller includes a processor, wherein the processor: receives a transfer command for giving an instruction for transferring data stored in a first area of the copy source storage area to a second area of the copy source storage area from an information processing apparatus; starts a transfer process in which transfer data from the first area is read and is written into the second area in accordance with reception of the transfer command; and starts copying the transfer data into a corresponding area of the copy destination storage area that corresponds to the second area in the copy process together with the starting of the transfer process.
- The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
- It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
-
FIG. 1 is a diagram that illustrates an example of the configuration of a storage system as an example of a first embodiment; -
FIG. 2 is a diagram that illustrates an example of the appearance of a backup according to the storage system illustrated inFIG. 1 ; -
FIG. 3 is a diagram that illustrates an example of the hardware configuration of a storage apparatus illustrated inFIG. 1 ; -
FIG. 4 is a diagram that illustrates an example of the functional configuration of the storage system illustrated inFIG. 1 ; -
FIG. 5 is a flowchart that illustrates an example of the process in a case where a copy source storage apparatus illustrated inFIG. 4 receives an ODX command; -
FIG. 6 is a flowchart that illustrates an example of a synchronous transfer process illustrated inFIG. 5 ; -
FIG. 7 is a diagram that illustrates a synchronous transfer process in the case of a synchronous mode; -
FIG. 8 is a diagram that illustrates a synchronous transfer process in the case of a consistency mode; -
FIG. 9 is a flowchart that illustrates an example of an asynchronous transfer process illustrated inFIG. 5 ; -
FIG. 10 is a flowchart that illustrates an example of a physical transfer process illustrated inFIG. 9 ; -
FIG. 11 is a diagram that illustrates an asynchronous transfer process in the case of the synchronous mode; -
FIG. 12 is a diagram that illustrates an asynchronous transfer mode in the case of the consistency mode; -
FIG. 13 is a diagram that illustrates an example of the functional configuration of a copy source storage apparatus as an example of a second embodiment; -
FIG. 14 is a diagram that illustrates an example of the configuration of a copy destination storage apparatus as an example of the second embodiment; -
FIG. 15 is a diagram that illustrates an example of the process of an REC buffer management unit illustrated inFIG. 13 ; -
FIG. 16 is a flowchart that illustrates an example of the process in a case where the copy source storage apparatus illustrated inFIG. 13 receives an ODX command; -
FIG. 17 is a flowchart that illustrates an example of a copy destination asynchronous transfer process illustrated inFIG. 16 ; -
FIG. 18 is a flowchart that illustrates an example of a buffer transfer process illustrated inFIG. 17 ; -
FIG. 19 is a diagram that illustrates an asynchronous transfer process in the case of the synchronous mode; -
FIG. 20 is a diagram that illustrates an asynchronous transfer process in the case of the consistency mode; -
FIG. 21 is a flowchart that illustrates an example of the process in a case where the copy destination storage apparatus illustrated inFIG. 14 receives a read command; -
FIG. 22 is a diagram that illustrates a copy destination reading process in the case of the synchronous mode; -
FIG. 23 is a diagram that illustrates a copy destination reading process in the case of the consistency mode; -
FIG. 24 is a flowchart that illustrates an example of the process in a case where the copy source storage apparatus illustrated inFIG. 13 receives a write command; -
FIG. 25 is a diagram that illustrates a copy source writing process in the case of the synchronous mode; -
FIG. 26 is a diagram that illustrates a copy source writing process in the case of the consistency mode; -
FIG. 27 is a diagram that illustrates an example of the form of a backup according to the storage system illustrated inFIG. 1 ; -
FIG. 28 is a diagram that illustrates an example of the forms of a backup according to the storage system illustrated inFIG. 1 ; -
FIG. 29 is a diagram that illustrates an example of a data transfer process performed in a storage apparatus according to the ODX; -
FIG. 30 is a diagram that illustrates an example of a data copy process according to the REC between storage apparatuses; and -
FIG. 31 is a diagram that illustrates an example of a case where a copy source storage apparatus is broken down after responding to an ODX command in a copy source storage apparatus performing the REC. - Hereinafter, embodiments will be described with reference to the drawings.
-
FIG. 1 is a diagram that illustrates an example of the configuration of astorage system 10 as an example of a first embodiment, andFIG. 2 is a diagram that illustrates an example of the appearance of a backup according to thestorage system 10 illustrated inFIG. 1 . - As illustrated in
FIG. 1 , thestorage system 10 is connected to ahost apparatus 2, receives various requests from thehost apparatus 2, and performs various processes according to the requests. - The
host apparatus 2 is a host computer (high-level apparatus) connected to thestorage system 10 and, for example, executes an operating system (OS) that supports an offloaded data transfer function (ODX) of Windows Server 2012 or the like. Examples of thehost apparatus 2 include various information processing apparatuses such as a personal computer (PC), a server, and a mainframe. - The
host apparatus 2 issues an ODX command (transfer command) and an EC/REC command (copy command) to thestorage system 10 and issues a write (update)/read command and the like forvolumes 5 a to 5 d. As examples of the EC/REC command, there are a start (initiation) command, a suspend command, a resume command used for a transition from a suspended state to an equivalent state, and the like. - The
storage system 10 includes one or more (two in the case illustrated inFIG. 1 )storage apparatuses storage apparatuses - The
storage apparatus 1A includes one or more (two in the case ofFIG. 1 ) controller modules (CM) 3A and a disk enclosure (hereinafter, referred to as a DE) 4A. Thestorage apparatus 1B includes one or more (two in the example illustrated inFIG. 1 )CMs 3B and aDE 4B. Hereinafter, in a case where theCMs CM 3. In addition, in a case where theDEs DE 4. - The
DE 4 houses (manages) one or more (two in the case ofFIG. 1 )volumes volumes 5 a to 5 d do not need to be discriminated from one another, one thereof will be simply referred to as avolume 5. The volume (a storage area or a storage volume) 5 is a unit in which a storage area is managed physically or logically as one continuous storage area by thehost apparatus 2 or theCM 3. - Hereinafter, in an REC session, a volume (storage area) of a copy source will be referred to as a copy
source storage area 5A, and a volume (storage area) of a copy destination will be referred to as a copydestination storage area 5B. In the example illustrated inFIG. 2 ,volumes volume 5 b) of thestorage apparatus 1A represent the copysource storage area 5A, andvolumes volume 5 d) of thestorage apparatus 1B represent the copydestination storage area 5B. - Here, the copy
source storage area 5A (thevolumes destination storage area 5B (thevolumes - For example, the copy
source storage area 5A represents one or more physical or logical (virtual) volumes (first volume) out of a plurality of volumes realized by a storage apparatus 41 (seeFIG. 3 ) included in theDE 4A. Similarly, the copydestination storage area 5B represents one or more physical or logical (virtual) volumes (second volume) out of a plurality of volumes realized by thestorage apparatus 41 included in theDE 4B. - The CM (storage controller) 3 is a computer (information processing apparatus) that is connected to the
host apparatus 2, theDE 4, and theother CM 3 and manages resources of thestorage apparatus 1. TheCM 3 performs various processes (a data transfer process, a data copy process, a data write/read process, and the like) for theDE 4 in accordance with requests from thehost apparatus 2 and theother CM 3. - In the following description, the
CM 3 will be described to receive an ODX command, an REC command (copy command), and a read/write command from thehost apparatus 2 and perform processes according to the received commands. - As illustrated in
FIG. 2 , in an ODX session (transfer process) started (initiated) in accordance with the ODX command, theCM 3 performs offloaded transfer in which data stored in thevolume 5 a (first area) within the copysource storage area 5A is read and is written into thevolume 5 b (second area). In addition, as illustrated inFIG. 2 , in the REC session (copy process) started (initiated) in accordance with the REC command, the CM 3 (storage apparatus 1) makes a copy (between casings) between devices in which data stored in the copysource storage area 5A is copied into the corresponding copydestination storage area 5B. - Next, the hardware configuration of the
storage apparatus 1 will be described with reference toFIGS. 1 and 3 .FIG. 3 is a diagram that illustrates an example of the hardware configuration of thestorage apparatus 1 illustrated inFIG. 1 . - The
CM 3, as illustrated inFIGS. 1 and 3 , is equipped with a central processing unit (CPU) 31, amemory 32, a channel adapter (CA) 33, a remote adaptor (RA) 34, and one or more (two in the case illustrated inFIG. 1 ) disk interfaces (DI) 35. In addition, as illustrated inFIG. 3 , theCM 3 may be equipped with astorage unit 36, an input/output unit 37, areading unit 38, and arecording medium 39 a. - The
CPU 31 is an arithmetic processing unit (processor) that is connected toblocks 31 to 39 a disposed inside theCM 3 and performs various control processes and arithmetic operations. TheCPU 31 realizes various functions of theCM 3 by executing programs (firmware) stored in thememory 32, thestorage unit 36, the storage (recording) medium 39 a, theDE 4, a read only memory (ROM) not illustrated in the figure, and the like. Here, the processor is not limited to theCPU 31 but, an electronic circuit such as a micro processing unit (MPU) may be used as the processor. - The
memory 32 is a storage apparatus such as a cache memory that stores various kinds of data and programs. When a program is to be executed, theCPU 31 stores and expands data or a program in thememory 32. For example, thememory 32 temporarily stores a program used by theCPU 31 for serving as a storage controller, data to be written into theDE 4 from thehost apparatus 2, data read from theDE 4 to thehost apparatus 2 or theother CM 3, and the like. As thememory 32, for example, there is a volatile memory such as a random access memory (RAM). - The
CA 33 is an adapter that is connected to thehost apparatus 2 and controls interface with thehost apparatus 2 and performs data communication with thehost apparatus 2. TheRA 34 is a port that is connected to theRA 34 disposed inside the other storage apparatus 1 (CM 3) and controls interface with theother storage apparatus 1 and, for example, performs data communication with theother storage apparatus 1. TheDI 35 controls interface with theDE 4 housed in thestorage system 10 and performs data communication with theDE 4. In the example illustrated inFIG. 3 , theCA 33, theRA 34, and theDI 35 are collectively represented as an interface unit. - The
storage unit 36 is hardware that stores various kinds of data, programs, and the like. As examples of thestorage unit 36, there are various devices including a magnetic disk device such as a hard disk drive (HDD), a semiconductor drive device such as a solid state drive (SSD), and a non-volatile memory such as a flash memory. - The input/
output unit 37 includes at least one of an input device such as a mouse or a keyboard and an output device such as a display or a printer. The input/output unit 37 receives an operation instruction according to an operation of a supervisor or the like of thestorage apparatus 1 through the input device and displays (outputs) a processing result acquired by thestorage apparatus 1, an alert, or the like to the output device. - The
storage medium 39 a is a storage apparatus such as a flash memory or a ROM and records various kinds of data and programs. Thereading unit 38 is a device that reads out data or a program stored (recorded) in a computer-readable storage (recording) medium 39 b such as an optical disc or a universal serial bus (USB) memory. - In at least one of the
storage media 39 a and 39 b, a control program realizing the function of the storage system 10 (CM 3) according to this embodiment may be stored. For example, theCPU 31 expands the control program input from thestorage medium 39 a or input from the storage medium 39 b through thereading unit 38 in a memory device such as thememory 32 and executes the control program. In this way, the computer as theCM 3 realizes the function of the storage controller according to this embodiment by using theCPU 31. - The
DE 4, as illustrated inFIG. 3 , includes one or more (two in the case illustrated inFIG. 3 )storage apparatuses 41. - The
storage apparatus 41 is any one of various devices including a magnetic disk device such as an HDD and a semiconductor drive device such as an SSD and is hardware storing various kinds of data, programs, and the like. - The
storage apparatus 41 realizes physical/logical volumes used as the copysource storage area 5A and the copydestination storage area 5B, as described above, through the management performed by theCM 3. - The above-described
blocks 31 to 39 a are connected to a bus so as to be communicable with one another. In addition, the storage apparatuses 1 (RAs 34), thehost apparatus 2 and theCA 33, and theDI 35 and the DE 4 (storage apparatuses 41) are respectively connected so as to be communicable with each other through a LAN, a small computer system interface (SCSI), an InfiniBand (registered trademark), a fiber channel, or the like. - Here, the above-described hardware configuration of the
storage apparatus 1 is merely an example. Accordingly, an increase/decrease in the hardware, division thereof, integration employing an arbitrary combination, or the like within theindividual storage apparatus 1, theCM 3, or theDE 4 may be appropriately performed. In addition, the hardware of theCM 3 may be commonly used by a plurality of theCMs 3 in thestorage apparatus 1. - Here, the
storage system 10 according to the first embodiment will be simply described. - As described above, in the copy source storage apparatus performing the REC, in a case where the copy source storage apparatus is broken down after a response to an ODX command, it is difficult to acquire copy transfer data from the copy destination storage apparatus by the host apparatus.
- In contrast to this, in the
storage system 10 according to the first embodiment, in a case where an ODX command is received in the equivalent state according to the REC, theCM 3 of the copy source performs a physical data transfer process according to the ODX and a data copy process according to the REC before a response to the ODX command. In other words, theCM 3 of the copy source protects the equivalency of the copy source/copy destination according to the REC by performing an REC copy process in synchronization with a transfer process relating to the ODX command. - Accordingly, also in a case where the
storage apparatus 1A or the copysource storage area 5A is broken down after the reception of the ODX command, thehost apparatus 2 can restore thestorage apparatus 1A or the copysource storage area 5A from the latest data stored in the copydestination storage area 5B. - In addition, in the
storage system 10 according to the first embodiment, of the transfer source and the transfer destination (volumes source storage area 5A of thestorage apparatus 1A, at least the transfer destination (volume 5 b) may be the copy source of the REC session. In such a case, thevolume 5 d included in the copydestination storage area 5B of thestorage apparatus 1B serves as the copy destination of the REC session. - Next, the functional configuration of the
storage system 10 illustrated inFIG. 1 will be described with reference toFIG. 4 .FIG. 4 is a diagram that illustrates an example of the functional configuration of thestorage system 10 illustrated inFIG. 1 . - As illustrated in
FIG. 4 , theCM 3 has a configuration illustrated in thestorage apparatus 1A for the function of thestorage apparatus 1 of the copy source of the REC session and has a configuration as illustrated in thestorage apparatus 1B for the function of thestorage apparatus 1 of the copy destination of the REC session. - In the following description, the function of the
storage system 10 relating to the ODX and the REC will be focused, and a case where thestorage system 10 uses the synchronous mode out of copy modes of the REC and a case where thestorage system 10 uses the consistency mode will be separately described. - First, the configuration of the copy
source storage apparatus 1A (CM 3A) will be described. - The
CM 3A of the copysource storage apparatus 1A is equipped with: a host interface (I/F)controller 11; asession management unit 12; an RECbuffer management unit 13; anREC buffer 13 a; and an inter-device I/F controller 14. - The host I/F controller (command controller) 11 controls interface with the
host apparatus 2 through theCA 33 and performs reception of various commands from thehost apparatus 2, transmission of responses to various commands to thehost apparatus 2, and the like. In addition, the host I/F controller 11 performs control according to a received command. Thus, the host I/F controller 11 is equipped with: a write/read command controller 11 a; anODX command controller 11 b; and acopy command controller 11 c. - The write/
read command controller 11 a performs control relating to the write/read commands received from thehost apparatus 2. - For example, in a case where the REC is in the equivalent state, when a write command for the
volume 5 b is received, the write/read command controller 11 a instructs theDE 4 to write write data into thevolume 5 b through theDI 35. In addition, the write/read command controller 11 a instructs thesession management unit 12 to copy the write data according to the REC into the copy destination (volume 5 d). - The
ODX command controller 11 b performs control relating to the ODX command received from thehost apparatus 2. - For example, when an ODX command used for giving an instruction for the transfer of data (transfer data) stored in the
volume 5 a to thevolume 5 b is received, theODX command controller 11 b instructs thesession management unit 12 to start an ODX session. - In addition, in the ODX session (transfer process) according to the ODX
session management unit 12 a, theODX command controller 11 b transmits a response including information relating to transfer data (transferable data) transferred within a response time for the ODX command to thehost apparatus 2. The transferable data will be described later. - In addition, at least after physical transfer of the transferable data to the transfer destination is completed by the ODX
session management unit 12 a, theODX command controller 11 b transmits a response to thehost apparatus 2. - The
copy command controller 11 c performs control relating to the REC command received from thehost apparatus 2. - For example, when a start command of the REC is received, the
copy command controller 11 c instructs the copysession management unit 12 b to start an REC session. - The REC buffer management unit (buffer management unit) 13 manages the
REC buffer 13 a used by theCM 3A in the consistency mode of the REC. For example, theREC buffer 13 a is realized by at least some areas of the storage area of thememory 32. - For example, in a case where the REC is in the equivalent state, the REC
buffer management unit 13 stores the transferable data in theREC buffer 13 a within the response time in accordance with start of the copy that is made by the copysession management unit 12 b. In addition, the RECbuffer management unit 13 transmits (buffer transfer) the transferable data stored in theREC buffer 13 a to thestorage apparatus 1B at predetermined timing. - More specifically, when the transferable data to the copy destination (
volume 5 d) of the REC session is transferred from the copysession management unit 12 b, the RECbuffer management unit 13 stores the transferable data in theREC buffer 13 a in the transferred order. Then, the RECbuffer management unit 13 transmits the data stored in theREC buffer 13 a to thestorage apparatus 1B at predetermined timing such as timing when the data stored in theREC buffer 13 a exceeds a predetermined size or at regular intervals. - In this way, in a case where the REC is in the equivalent state, the REC
buffer management unit 13 transmits the transferable data to the copy destination (volume 5 d) not in synchronization with writing of the transferable data to the transfer destination (volume 5 b) according to the ODX session. - In addition, in a case where the REC is in the copy processing state, the REC
buffer management unit 13 stores the transfer data written into the transfer destination (volume 5 b) in accordance with the ODX session operating on the background in theREC buffer 13 a. Furthermore, in a case where the REC is in the equivalent state or in the copy processing state, the RECbuffer management unit 13 stores update data updated in the copysource storage area 5A in theREC buffer 13 a. - The
session management unit 12 manages sessions such as the ODX session and the REC session. In addition, thesession management unit 12 stores management information used for managing the sessions in thememory 32 or the like and refers to or updates the management information. Thesession management unit 12 includes an ODXsession management unit 12 a and a copysession management unit 12 b. - In a case where the REC is in the equivalent state, the ODX session management unit (transfer processing unit) 12 a starts (initiates) an ODX session in which transfer data is read from the
volume 5 a that is the transfer source and is written into thevolume 5 b that is the transfer destination in accordance with reception of the ODX command. - More specifically, in the started ODX session, the ODX
session management unit 12 a reads transferable data that is at least a part of transfer data that is transferable within a response time for a transfer command from thevolume 5 a and writes the read data into thevolume 5 b. As information relating to the transferable data, there is information of the size of a transferred block, an area (for example, an address) in which the transferable data is stored, and the like. Here, the response time is a time that is predetermined in the specification of the ODX or by a supervisor of thehost apparatus 2 or thestorage system 10 or somebody else and, for example, is about several seconds. - Here, the ODX
session management unit 12 a transfers transfer data in units of blocks in the ODX session that is in the equivalent state. Here, the block is data (for example, a part of the transfer data) of a unitary size (for example, several Mbytes) out of the transfer data. When data of one block or several blocks is transferred, the ODXsession management unit 12 a determines whether or not the current time has arrived at a time limit of the response time. In a case where the current time has not arrived at the time limit, the ODXsession management unit 12 a transfers the next block. On the other hand, in a case where the current time has arrived at the time limit (time out), the ODXsession management unit 12 a stops the transfer of the block and notifies theODX command controller 11 b of the information of the total size of blocks (transferable data) transferred in the ODX session or the like. - In addition, in the ODX session illustrated in
FIG. 31 , the transfer data is executed on the background after the transmission of the response to thehost apparatus 2. However, in a case where the REC is in the equivalent state, the ODXsession management unit 12 a transfers the transferable data out of the transfer data within the response time. Accordingly, the host I/F controller 11 can notify thehost apparatus 2 of the transferable data of which the physical transfer according to the ODX has been assuredly completed. - When the
ODX command controller 11 b returns the response to thehost apparatus 2, thehost apparatus 2 issues a new ODX command. The new ODX command is used for giving an instruction for transferring the data stored in the area of thevolume 5 a that has not been transferred by the ODXsession management unit 12 a to thevolume 5 b. Thehost apparatus 2 determines the areas (transfer ranges) of the transfer source and the transfer destination after update, which are included in the new ODX command, based on the information of the number of blocks and the like notified from thestorage apparatus 1A. - Until the transfer process relating to all the areas designated in the ODX command is completed, the ODX
session management unit 12 a repeats the transfer process for each transferable data described above based on the new ODX command that is issued from thehost apparatus 2 every time when a response is returned. - In addition, in a case where the REC is not in the equivalent state (for example, in the copy processing state), a case where the transfer destination of the ODX is not the copy source of the REC, or the like, the ODX
session management unit 12 a performs the process as illustrated inFIG. 31 . In other words, the ODXsession management unit 12 a starts an ODX session in accordance with reception of an ODX command and transfers the transfer data on the background, and theODX command controller 11 b returns a response indicating the start of the ODX session. - The copy session management unit (copy processing unit) 12 b manages an REC session.
- For example, in a case where the REC is not in the equivalent state (for example, in the case of the copy processing state), the copy
session management unit 12 b copies data of the copysource storage area 5A into the corresponding copydestination storage area 5B in the REC session (copy process). - On the other hand, in a case where the REC is in the equivalent state, the copy
session management unit 12 b starts copying the transfer data into thevolume 5 d (corresponding area) of the copydestination storage area 5B corresponding to the transfer destination (thevolume 5 b of the copy source) of the ODX in the REC session (copy process) together with the start of the ODX session. In other words, the copysession management unit 12 b starts copying the transfer data in the REC session by being triggered upon the start of the ODX session (reception of an ODX command). - More specifically, in a case where the REC is in the equivalent state, the copy
session management unit 12 b starts copying the transferable data into thevolume 5 d in the start process of the copy. Here, the copy started by the copysession management unit 12 b is performed as below depending on the copy mode of the REC in the equivalent state which is the synchronous mode or the consistency mode. - Case of Synchronous Mode
- In the case of the synchronous mode, the copy
session management unit 12 b copies data that is transferable within the response time into thevolume 5 d by using the function of the REC in the started copy. - In addition, in the case of the synchronous mode, after the ODX session of the transferable data to the transfer destination that is performed by the ODX
session management unit 12 a and the copying of the transferable data to the REC copy destination that is performed by the copysession management unit 12 b are completed, theODX command controller 11 b transmits a response to thehost apparatus 2. - Case of Consistency Mode
- In the case of the consistency mode, the copy
session management unit 12 b transfers the transferable data that is transferable to thevolume 5 d to the RECbuffer management unit 13 by using the function of the REC in the started copy and instructs the RECbuffer management unit 13 to store the transferable data into theREC buffer 13 a. The transferable data stored in theREC buffer 13 a, as described above, is transmitted to thevolume 5 d at predetermined timing by the RECbuffer management unit 13. - In addition, in the case of the consistency mode, the
ODX command controller 11 b transmits a response to thehost apparatus 2 after completion of the ODX session of the transferable data for the transfer destination that is performed by the ODXsession management unit 12 a and the storage of the transferable data into theREC buffer 13 a that is performed by the RECbuffer management unit 13. - Furthermore, in a case where a suspend command is received before buffer transfer performed by the REC
buffer management unit 13, the copysession management unit 12 b waits (blocking control) for the process of changing the state to the suspended state until the buffer transfer of all the data stored in theREC buffer 13 a is performed. - The inter-device I/
F controller 14 controls interface with thestorage apparatus 1B through theRA 34. For example, the inter-device I/F controller 14 transmits information of data, a command, and the like relating to the REC session or the like transmitted from the copysession management unit 12 b or the RECbuffer management unit 13 to thestorage apparatus 1B. In addition, the inter-device I/F controller 14 receives information of the response and the like relating to the REC session or the like from thestorage apparatus 1B and transfers the received information to the copysession management unit 12 b or the RECbuffer management unit 13. - As above, in the synchronous mode, after the physical transfer of the transferable data according to the ODX and the copy of the transferable data according to the REC are completed, the
ODX command controller 11 b returns a response to thehost apparatus 2. Accordingly, in the response to thehost apparatus 2, the synchronization (equivalent state) between the copysource storage area 5A and the copydestination storage area 5B can be reliably protected. - In addition, in the consistency mode, after the physical transfer of the transferable data according to the ODX and the storing of the transferable data in the
REC buffer 13 a according to the REC are completed, theODX command controller 11 b returns a response to thehost apparatus 2. Accordingly, in the response to thehost apparatus 2, the synchronization between the copysource storage area 5A and the copydestination storage area 5B can be protected at a level that is allowed in the consistency mode that is an asynchronous copy mode. - Next, the configuration of the copy
destination storage apparatus 1B (CM 3B) will be described. - The
CM 3B of the copydestination storage apparatus 1B is equipped with: a host I/F controller 21; asession management unit 22; an RECbuffer management unit 23; anREC buffer 23 a; and an inter-device I/F controller 24. - The host I/
F controller 21 controls interface with thehost apparatus 2 through theCA 33 and has the same function as that of the host I/F controller 11 of theCM 3A. - For example, when a suspend command of the REC is received from the
host apparatus 2, the host I/F controller 21 instructs thesession management unit 22 to stop the REC session. - The REC
buffer management unit 23 manages theREC buffer 23 a used by theCM 3B in the consistency mode of the REC. For example, theREC buffer 23 a is realized by at least some areas of the storage area of thememory 32. - For example, in the consistency mode, the REC
buffer management unit 23 stores data (transferable data) transmitted (buffer transfer) from thestorage apparatus 1A in theREC buffer 23 a. In addition, the RECbuffer management unit 23, at predetermined timing that is the same as that of the RECbuffer management unit 13, reads the data stored in theREC buffer 23 a in units of blocks in the order of storage and transfers the read data to thesession management unit 22. - The
session management unit 22 manages a session such as the REC session. In addition, thesession management unit 22 stores management information used for managing the session in thememory 32 or the like and refers to or updates the management information. - For example, in a case where the REC is in the copy processing state or the equivalent state, the
session management unit 22 instructs theDE 4 to write the data of the copysource storage area 5A of the REC that is transmitted from thestorage apparatus 1B into the corresponding copydestination storage area 5B. At this time, in the consistency mode, thesession management unit 22 receives the data (transferable data) stored in theREC buffer 23 a from the RECbuffer management unit 23 and instructs theDE 4 to write the received data into the copydestination storage area 5B. - The inter-device I/
F controller 24 controls interface with thestorage apparatus 1A through theRA 34. For example, the inter-device I/F controller 24 transmits/receives information of data, a command, and the like relating to the REC session or the like to/from thestorage apparatus 1A. - Next, an example of the operation of the
storage system 10 as an example of the first embodiment configured as described above will be described with reference toFIGS. 5 to 12 . -
FIG. 5 is a flowchart that illustrates an example of the process in a case where the copysource storage apparatus 1A illustrated inFIG. 4 receives an ODX command, andFIG. 6 is a flowchart that illustrates an example of a synchronous transfer process illustrated inFIG. 5 .FIG. 7 is a diagram that illustrates a synchronous transfer process in the case of the synchronous mode, andFIG. 8 is a diagram that illustrates a synchronous transfer process in the case of the consistency mode.FIG. 9 is a flowchart that illustrates an example of the asynchronous transfer process illustrated inFIG. 5 , andFIG. 10 is a flowchart that illustrates an example of a physical transfer process illustrated inFIG. 9 .FIG. 11 is a diagram that illustrates an asynchronous transfer process in the case of the synchronous mode, andFIG. 12 is a diagram that illustrates an asynchronous transfer process in the case of the consistency mode. - As illustrated in
FIG. 5 , when an ODX command is issued to the copysource storage apparatus 1A by thehost apparatus 2, the ODX command is received by theODX command controller 11 b in Step S1 (see arrow (1) represented inFIGS. 7, 8, 11, and 12 ). - The
ODX command controller 11 b instructs thesession management unit 12 to start an ODX session. Thesession management unit 12 determines whether or not thevolume 5 b of the transfer destination according to the ODX is the copy source of the REC in Step S2 and determines whether or not the REC is in the equivalent state in a case where thevolume 5 b is the copy source in Step S3. - In a case where the transfer destination is the copy source (Yes route of Step S2) and the REC is in the equivalent state (Yes route of Step S3), the ODX
session management unit 12 a performs a synchronous transfer process in Step S4 (Steps S11 to S15 illustrated inFIG. 6 ). When the synchronous transfer process is completed, the process proceeds to Step S6 to be described later. - On the other hand, in a case where the transfer destination is not the copy source (No route of Step S2) or the REC is not in the equivalent state (No route of Step S3), the ODX
session management unit 12 a starts an asynchronous transfer process in Step S5 (Steps S21 to S23 represented inFIG. 9 ). In addition, in Step S5, when an ODX session is started on the background in accordance with the start of the asynchronous transfer process, the ODXsession management unit 12 a returns a response to the ODX command to thehost apparatus 2 through theODX command controller 11 b in Step S6. - As above, the process performed in a case where the copy
source storage apparatus 1A receives an ODX command is completed. - Next, the synchronous transfer process performed in Step S4 will be described.
- As illustrated in
FIG. 6 , in the synchronous transfer process, physical transfer according to the ODX is performed for at least some blocks (a part of the transfer data) of the transfer data by the ODXsession management unit 12 a in Step S11 (see arrow (2-1) represented inFIGS. 7 and 8 ). In addition, at the same time, thesession management unit 12 determines whether or not the copy mode is the synchronous mode in Step S12. - In a case where the copy mode is the synchronous mode (Yes route of Step S12), the copy
session management unit 12 b copies the part of the transfer data read from the transfer source or written into the transfer destination to the copy destination of the REC in Step S13 (see arrow (2-2) represented inFIG. 7 ). - On the other hand, in a case where the copy mode is not the synchronous mode (No route of Step S12), in other words, in the case of the consistency mode, the part of the transfer data read from the transfer source or written into the transfer destination is transferred to the REC
buffer management unit 13 by the copysession management unit 12 b. The RECbuffer management unit 13 stores the transferred part of the transfer data in theREC buffer 13 a in Step S14 (see arrow (2-2) represented inFIG. 8 ). - When the process of Step S13 or S14 is completed, the ODX
session management unit 12 a determines whether the transfer process has been completed for the transfer range instructed in the ODX command or time-out occurs in Step S15. In a case where the transfer process has not been completed, and time-out does not occur (No route of Step S15), the process proceeds to Step S11. - On the other hand, in a case where the transfer process has been completed or time-out occurs (Yes route of Step S15), the synchronous transfer process is completed, and the process of Step S6 represented in
FIG. 5 is performed. In other words, in Step S6 represented inFIG. 5 , theODX command controller 11 b transmits a response to the ODX command to the host apparatus 2 (see arrow (3) represented inFIGS. 7 and 8 ). At this time, in the response, information relating to the number of blocks (transferable data) transferred until the completion of the transfer process or the time-out is included. - As above, in the case of the synchronous mode, the synchronous transfer process of a case where the copy
source storage apparatus 1A receives an ODX command is completed. - In addition, in the case of the consistency mode, buffer transfer of the data (the part of the transfer data or the transferable data) stored in the
REC buffer 13 a is performed at predetermined timing by the REC buffer management unit 13 (see arrow (4-1) represented inFIG. 8 ). In addition, in the copydestination storage apparatus 1B, the data that is buffer-transferred and is stored in theREC buffer 23 a is read by thesession management unit 22 through the RECbuffer management unit 23. Then, thesession management unit 22 copies the data stored in theREC buffer 23 a using the function of the REC into thecopy destination volume 5 d (see arrow (4-2) represented inFIG. 8 ). - As above, in the consistency mode, the synchronous transfer process in a case where the copy
source storage apparatus 1A receives an ODX command is completed. - Based on the number of blocks included in the response, the
host apparatus 2 issues a new ODX command to the copysource storage apparatus 1A for a transfer area for which transfer has not been performed in accordance with the previous ODX command. In other words, when the number of blocks that have been transferred is received, thehost apparatus 2 issues an ODX command designating the next transfer range starting from the following block address. In thestorage system 10, in this way, the above-described process is repeated until all the transfer data in the transfer range designated in the first ODX command is transferred (or is stored in theREC buffer 13 a). - Next, the asynchronous transfer process started in Step S5 represented in
FIG. 5 will be described. - As illustrated in
FIG. 9 , in the asynchronous transfer process, the ODXsession management unit 12 a generates an ODX session in Step S21 (see arrow (2) represented inFIGS. 11 and 12 ). Then, the ODXsession management unit 12 a starts physical transfer according to the ODX on the background in Step S22. In addition, the response to the ODX command in Step S6 represented inFIG. 5 is transmitted by theODX command controller 11 b to thehost apparatus 2 when the process of Step S22 is completed (see arrow (3) represented inFIGS. 11 and 12 ). - Thereafter, the physical transfer process performed by the ODX
session management unit 12 a is performed in Step S23 (Steps S31 to S36 represented inFIG. 10 ). - As illustrated in
FIG. 10 , in the physical transfer process, the physical transfer according to the ODX is performed by the ODXsession management unit 12 a in Step S31. At this time, thesession management unit 12 determines whether or not the copy mode is the synchronous mode in Step S32. - In a case where the copy mode is the synchronous mode (Yes route of Step S32), the copy
session management unit 12 b copies the transfer data read from the transfer source or written into the transfer destination to the copy destination of the REC in Step S33. - On the other hand, in a case where the copy mode is not the synchronous mode (No route of Step S32), in other words, in the case of the consistency mode, the transfer data read from the transfer source or written into the transfer destination by the copy
session management unit 12 b is transferred to the RECbuffer management unit 13. The RECbuffer management unit 13 stores the transferred transfer data in theREC buffer 13 a in Step S34 (see arrow (4) represented inFIG. 12 ). - When the process of Step S33 or S34 is completed, the ODX
session management unit 12 a determines whether or not the transfer process has been completed for the transfer range instructed in the ODX command in Step S35. In a case where the transfer process has not been completed (No route of Step S35), the process proceeds to Step S31. - On the other hand, in a case where the transfer process has been completed (Yes route of Step S35), the ODX
session management unit 12 a removes the ODX session in Step S36. - In addition, in the case of the consistency mode, the data (transfer data) stored in the
REC buffer 13 a is transferred at predetermined timing by the REC buffer management unit 13 (see arrow (5-1) represented inFIG. 12 ). In addition, in the copydestination storage apparatus 1B, the data that is buffer-transferred and is stored in theREC buffer 23 a is copied by thesession management unit 22 to thevolume 5 d using the function of the REC (see arrow (5-2) represented inFIG. 12 ). - In any one copy mode of the synchronous mode and the consistency mode, the copy
session management unit 12 b causes the REC to transit to the equivalent state when copy of both the ODX session and the REC session is completed (see arrow (4) represented inFIG. 11 and arrow (6) represented inFIG. 12 ). - As above, the asynchronous transfer process in a case where the copy
source storage apparatus 1A receives an ODX command is completed. - Next, a
storage system 10 according to a second embodiment will be described. - An example of the configuration of the
storage system 10 according to the second embodiment, the appearance of backup, and an example of hardware configuration of thestorage apparatus 1 are basically the same as those illustrated inFIGS. 1 to 3 , and thus, duplicate description thereof will not be presented. - Here, the
storage system 10 according to the second embodiment will be simply described. - As an operating form of the
storage system 10, there are many cases where both the transfer source and the transfer destination of the ODX are copy targets (copy sources) according to the REC. Since the ODX is used by a work volume capable of recognizing thehost apparatus 2, it is difficult to consider that only one of the transfer source and the transfer destination of the ODX is the REC target. Thus, such a requisite can be regarded to be satisfied in the operating environment of ageneral storage system 10. - In the above-described requisite, data of the transfer source (
volume 5 a) of the ODX is present in the copydestination storage apparatus 1B (volume 5 c) of the REC. Accordingly, in thestorage apparatus 1A, the copy of the transfer data transferred to the transfer destination (volume 5 b) of the ODX to thestorage apparatus 1B according to the REC can be omitted. - For example, in a case where the REC is in the equivalent state, when an ODX command is received from the
host apparatus 2, thestorage system 10 according to the second embodiment starts an ODX session, starts an ODX session also in the copydestination storage apparatus 1B, and then, returns a response to thehost apparatus 2. In other words, theCM 3A of the copy source starts an ODX session also in the copy destination of the REC in synchronization with the start of the ODX session, and thereby operating the same ODX session in both the copy source and the copy destination according to the REC, whereby the equivalency between the copy source and the copy destination is protected. - Accordingly, similar to the first embodiment, also in a case where the
storage apparatus 1A or the copysource storage area 5A is broken down after the reception of the ODX command, thehost apparatus 2 can restore thestorage apparatus 1A or the copysource storage area 5A from data stored in the copydestination storage area 5B. - In addition, since communication of the transfer data between the
storage apparatuses 1 according to the REC can be omitted, the amount of data transfer between thestorage apparatuses 1 can be reduced. - Furthermore, since the ODX session is operated on the background in the copy source and the copy destination, the copy
source storage apparatus 1A can return the response to thehost apparatus 2 after the start of the ODX session. Accordingly, a delay in the response can be shortened than that of a case where the physical transfer according to the ODX and the physical copy according to the REC are performed to be synchronized with each other. - The
storage system 10 according to the second embodiment, as described above, is premised on that both the transfer source and the transfer destination (volumes source storage area 5A of thestorage apparatus 1A are copy sources of the REC session. In such a case,volumes destination storage area 5B of thestorage apparatus 1B are copy destinations of the REC session. In addition, thevolumes - Hereinafter, the
storage system 10 according to the second embodiment will be described in detail. - Next, the functional configuration of the
storage system 10 illustrated inFIG. 1 will be described with reference toFIGS. 13 and 14 .FIGS. 13 and 14 are diagrams that illustrate examples of the functional configuration of a copysource storage apparatus 1A and a copydestination storage apparatus 1B as examples of the second embodiment. - As illustrated in
FIG. 13 , theCM 3 has a configuration illustrated in thestorage apparatus 1A for the function of thestorage apparatus 1 of the copy source of the REC session and, as illustrated inFIG. 14 , has a configuration as illustrated in thestorage apparatus 1B for the function of thestorage apparatus 1 of the copy destination of the REC session. - In the following description, the function of the
storage system 10 relating to the ODX and the REC will be focused, and a case where thestorage system 10 uses the synchronous mode out of copy modes of the REC and a case where thestorage system 10 uses the consistency mode will be separately described. - In
FIGS. 13 and 14 , blocks to which the same reference signs as those illustrated inFIG. 4 are assigned have the same functions as those of the blocks illustrated inFIG. 4 , and thus, duplicate description thereof will not be presented. - First, the configuration of the copy
source storage apparatus 1A (CM 3A) will be described. - The
CM 3A of the copysource storage apparatus 1A is equipped with: a host I/F controller 11; asession management unit 12; an RECbuffer management unit 13′; anREC buffer 13 a; and an inter-device I/F controller 14. Here, theREC buffer 13 a and the inter-device I/F controller 14 are the same as those of the first embodiment. - The host I/F controller (command controller) 11 is equipped with: a write/
read command controller 11 a′ and anODX command controller 11 b′, which are different from those of the first embodiment; and acopy command controller 11 c, which is the same as that of the first embodiment. - The write/
read command controller 11 a′ performs control relating to the write/read commands received from thehost apparatus 2. - For example, in a case where the REC is in the equivalent state, when a write command for the
volume 5 b is received, the write/read command controller 11 a′ instructs theDE 4 to write write data into the write destination (writing area) of thevolume 5 b through theDI 35. In addition, the write/read command controller 11 a′ instructs thesession management unit 12 to copy (start an ODX session in thecopy destination CM 3B) the write data according to the REC into the copy destination (volume 5 d). - In addition, in a case where the REC is in the equivalent state, the write/
read command controller 11 a′ may receive a write command for the transfer destination (volume 5 b) for which writing of the transfer data is incomplete according to the ODX on the background from thehost apparatus 2. - In such a case, the write/
read command controller 11 a′ causes the ODXsession management unit 12 a′ to start physical transfer according to the ODX for the write destination before the writing of the write data and then writes the write data for the write destination (instructs theDE 4 to write the write data). Thereafter, the write/read command controller 11 a′ causes the copysession management unit 12 b′ to start copying the transfer data according to the ODX to thevolume 5 d. In addition, the write/read command controller 11 a′ causes the copysession management unit 12 b′ to transmit the write data to the copy destination using the function of the REC and write the write data into thevolume 5 b. Then, the write/read command controller 11 a′ returns a response to thehost apparatus 2. Accordingly, for the write destination, the order between the transfer data of the ODX and the write data can be protected, and the synchronization (equivalent state) between the copysource storage area 5A and the copydestination storage area 5B can be reliably protected. - The
ODX command controller 11 b′ performs control relating to the ODX command received from thehost apparatus 2. - For example, when an ODX command used for giving an instruction for the transfer of data (transfer data) stored in the
volume 5 a to thevolume 5 b is received, theODX command controller 11 b′ instructs thesession management unit 12 to start an ODX session. - In addition, after the ODX session (transfer process) of the transfer data that is performed by the ODX
session management unit 12 a′ and the issuance of a copy destination transfer command, which will be described later, performed by the copysession management unit 12 b′ are completed, theODX command controller 11 b′ transmits a response to the ODX command to thehost apparatus 2. - The REC buffer management unit (buffer management unit) 13′ manages the REC buffer (buffer) 13 a that is used by the
CM 3A in the consistency mode of the REC. - For example, in a case where the REC is in the equivalent state, the REC
buffer management unit 13′ stores a copy destination transfer command in theREC buffer 13 a in accordance with start of the copy that is made by the copysession management unit 12 b′. In addition, the RECbuffer management unit 13′ transmits (buffer transfer) the copy destination transfer command stored in theREC buffer 13 a to thestorage apparatus 1B at predetermined timing that is the same as that of the RECbuffer management unit 13 according to the first embodiment. - More specifically, when the copy destination transfer command for the copy destination (
volume 5 d) of the REC session is transferred from the copysession management unit 12 b′, the RECbuffer management unit 13′ stores the copy destination transfer commands in theREC buffer 13 a in the order of the transfer. - In this way, the REC
buffer management unit 13′ transmits the copy destination transfer command to the copy destination (volume 5 d) not in synchronization with writing of the transfer data to the transfer destination (volume 5 b) according to the ODX session. - In addition, in a case where the REC is in the copy processing state, the REC
buffer management unit 13′ stores the transfer data written into the transfer destination (volume 5 b) in accordance with the ODX session operating on the background in theREC buffer 13 a. Furthermore, in a case where the REC is in the equivalent state or in the copy processing state, the RECbuffer management unit 13′ stores update data updated in the copysource storage area 5A in theREC buffer 13 a. -
FIG. 15 is a diagram that illustrates an example of the process of the RECbuffer management unit 13′ illustrated inFIG. 13 . As illustrated inFIG. 15 , the RECbuffer management unit 13′ stores update data or copy destination transfer commands in a block of a predetermined size that is included in theREC buffer 13 a in order of the writing of update data or the issuance of the copy destination transfer commands. When the block of theREC buffer 13 a is full, the RECbuffer management unit 13′ switches to the next block and stores update data and copy destination transfer commands. - Here, the data stored inside the
REC buffer 13 a that is transmitted to the copy destination through the buffer transfer according to the REC is copied to thevolume 5 of copy destination for each block. In this way, in the consistency mode, since data is copied into thevolume 5 of the copy destination in units of blocks, the order of blocks is protected. - For example, as illustrated in
FIG. 15 , a case will be considered in which transfer data relating to the ODX is written into an area A in a state in which update data of the area A is stored in a block of theREC buffer 13 a in thevolume 5 of the transfer destination of the ODX. In this case, the RECbuffer management unit 13′ stores a copy destination transfer command relating to the area A in the block. - However, in the area A of the block, update data and the copy destination transfer commands are mixed. In this case, in the copy destination, since the order within the same block is not protected, there is a case where the transfer data is overwritten by update data.
- Thus, when the copy destination transfer command is stored in the
REC buffer 13 a, the RECbuffer management unit 13′ refers to management information (not illustrated in the figure) used for managing the address of data stored in the block from thememory 32 or the like. Then, when it is determined that update data is stored in the same block based on the management information, the RECbuffer management unit 13′ switches the target block to the next block (performs buffer switching) even when the block is not full and stores the copy destination transfer command in the block to which the switching has been made. - In this way, even in a case where the copy destination transfer command is transmitted to the copy destination through the
REC buffer 13 a, the order within the block can be protected. - In addition, in a case where the REC is in the equivalent state, even though the write/
read command controller 11 a′ receives a write command for the transfer destination (volume 5 b) in which transfer according to the ODX is operated on the background, the RECbuffer management unit 13′ may perform the same process. - The
session management unit 12 includes an ODXsession management unit 12 a′ and a copysession management unit 12 b′, which are different from those of the first embodiment. - In a case where the REC is in the equivalent state, the ODX session management unit (transfer processing unit) 12 a′ starts (initiates) an ODX session in which transfer data is read from the
volume 5 a that is the transfer source and is written into thevolume 5 b that is the transfer destination in accordance with reception of the ODX command. - More specifically, the ODX
session management unit 12 a′ starts an ODX session in accordance with reception of an ODX command and transmits the transfer data on the background. - In a case where the REC is in the equivalent state, the copy session management unit (copy processing unit) 12 b′ starts copying transfer data into the
volume 5 d (corresponding area) of the copydestination storage area 5B that corresponds to the transfer destination (thevolume 5 b of the copy source) of the ODX in the REC session (copy process) together with the start of the ODX session. In other words, the copysession management unit 12 b′ starts copying the transfer data in the REC session by being triggered upon the start (reception of an ODX command) of the ODX session. - More specifically, in a case where the REC is in the equivalent state, the copy
session management unit 12 b′ issues a copy destination transfer command in the start process of the copy. - Here, the copy destination transfer command is control information (ODX control information) used for starting an ODX session. For example, in the copy destination transfer command, a volume number and a logical block address (LBA) of the copy range are included. The copy
session management unit 12 b′, for example, may generate a copy destination transfer command by modifying an ODX command transmitted from thehost apparatus 2 or may generate a command similar to the ODX command or an instruction used for communication between thestorage apparatuses 1 as the copy destination transfer command. - In this way, the
ODX command controller 11 b′ issues the copy destination transfer command used for giving an instruction for transferring copy destination transfer data corresponding to the transfer data to the copy destination (volume 5 d) that corresponds to the transfer destination (volume 5 b) of the ODX, which is stored in the copy destination (volume 5 c) corresponding to the transfer source (volume 5 a) of the ODX, to the copy destination. - Here, the copy started by the copy
session management unit 12 b′ is performed as below depending on the copy mode of the REC which is the synchronous mode or the consistency mode. - Case of Synchronous Mode
- In the case of the synchronous mode, the copy
session management unit 12 b′ transmits the issued copy destination transfer command to theother storage apparatus 1B in the started copy using the function of the REC. - In addition, in the case of the synchronous mode, after the start process (initiation process) of the ODX session that is performed by the ODX
session management unit 12 a′ and the transmission of the copy destination transfer command that is performed by the copysession management unit 12 b′ are completed, theODX command controller 11 b′ transmits a response to thehost apparatus 2. - Case of Consistency Mode
- In the case of the consistency mode, the copy
session management unit 12 b′ transfers the generated copy destination transfer command to the RECbuffer management unit 13′ in the started copy and instructs the RECbuffer management unit 13′ to store the copy destination transfer command in theREC buffer 13 a. The copy destination transfer command stored in theREC buffer 13 a, as described above, is transmitted by the RECbuffer management unit 13′ to thestorage apparatus 1B at predetermined timing using the function of the REC. - In addition, in the case of the consistency mode, after the start process of the ODX session that is performed by the ODX
session management unit 12 a′ and the storage of the copy destination transfer command into theREC buffer 13 a that is performed by the RECbuffer management unit 13′ are completed, theODX command controller 11 b′ transmits a response to thehost apparatus 2. - As above, in the synchronous mode, after the start of the ODX session according to the ODX and the transmission of the copy destination transfer command according to the REC are completed, the
ODX command controller 11 b′ returns a response to thehost apparatus 2. Accordingly, in the response to thehost apparatus 2, the synchronization (equivalent state) between the copysource storage area 5A and the copydestination storage area 5B can be reliably protected. - In addition, in the case of the consistency mode, after the start of the ODX session according to the ODX and the storage of the copy destination transfer command into the
REC buffer 13 a according to the REC are completed, theODX command controller 11 b′ transmits a response to thehost apparatus 2. Accordingly, in the response to thehost apparatus 2, the synchronization between the copysource storage area 5A and the copydestination storage area 5B can be protected at a level allowed in the consistency mode that is an asynchronous copy mode. - Next, the configuration of the copy
destination storage apparatus 1B (CM 3B) will be described. - As illustrated in
FIG. 14 , theCM 3B of the copydestination storage apparatus 1B is equipped with: a host I/F controller 21′; asession management unit 22; an RECbuffer management unit 23′; anREC buffer 23 a; and an inter-device I/F controller 24′. Here, theREC buffer 23 a is the same as that of the first embodiment. - The host I/F controller (copy destination command controller) 21′ basically has the same function as that of the host I/
F controller 21 according to the first embodiment. For example, when a suspend command of the REC is received from thehost apparatus 2, the host I/F controller 21′ instructs thesession management unit 22 to stop the REC session. - In addition, there is a case where the host I/
F controller 21′ receives a read command for the transfer destination (volume 5 d) of the copy destination for which physical transfer of the ODX based on the copy destination transfer command is incomplete from thehost apparatus 2. - In such a case, the host I/
F controller 21′ causes thesession management unit 22 to start physical transfer according to the ODX to the reading source (reading area). More specifically, the host I/F controller 21′ causes the ODXsession management unit 22 a′ to write the copy destination transfer data to the reading source of thevolume 5 d. - Then, after the physical transfer to the reading source is completed, the host I/
F controller 21′ responses to thehost apparatus 2 with read data relating to the read command. More specifically, the host I/F controller 21′ responses to thehost apparatus 2 with the copy destination transfer data read from the transfer source (volume 5 c) or written into the transfer destination (the reading source; thevolume 5 d). - In this way, even when a read command for the transfer destination (
volume 5 d) to which the physical transfer according to the ODX is incomplete is issued, physical transfer according to the ODX for the reading source is started by the host I/F controller 21′ by being triggered upon the read command. Then, the latest read data is read by the host I/F controller 21′, and a response thereof to thehost apparatus 2 is made. In this way, while the processing load is reduced by performing the copy destination ODX session on the background, theCM 3B can reliably protect the synchronization (equivalent state) between the copysource storage area 5A and the copydestination storage area 5B. - The REC
buffer management unit 23′ manages theREC buffer 23 a used by theCM 3B in the consistency mode of the REC. - For example, in a case where the REC is in the equivalent state, the REC
buffer management unit 23′ stores data (copy destination transfer command) transmitted (buffer transfer) from thestorage apparatus 1A in theREC buffer 23 a. In addition, the RECbuffer management unit 23′, at predetermined timing that is the same as that of the RECbuffer management unit 13′, reads the data stored in theREC buffer 23 a in units of blocks in the order of storage and transfers the read data to thesession management unit 22. - The
session management unit 22 is basically the same as thesession management unit 22 according to the first embodiment. Thesession management unit 22 manages sessions such as the ODX session and the REC session. - For example, in a case where the REC is in the copy processing state or the equivalent state, the
session management unit 22 instructs theDE 4 to write the data of the copysource storage area 5A relating to the REC session that is transmitted from thestorage apparatus 1B into the corresponding copydestination storage area 5B. - The
session management unit 22 includes an ODXsession management unit 22 a′. - In a case where the REC is in the equivalent state, the ODX session management unit (copy destination transfer processing unit) 22 a′ starts a copy destination ODX session (copy destination transfer process) based on the copy destination transfer command received from the
storage apparatus 1A. More specifically, the ODXsession management unit 22 a′ starts (initiates) a copy destination ODX session in which copy destination transfer data is read from a transfer source (volume 5 c) designated in the command and is written into a transfer destination (volume 5 d) on the background. - In addition, in the case of the synchronous mode, the ODX
session management unit 22 a′ receives a copy destination transfer command from the inter-device I/F controller 24′. Furthermore, in the case of the consistency mode, the ODXsession management unit 22 a′ receives the copy destination transfer command stored in theREC buffer 23 a from the RECbuffer management unit 23′. - The inter-device I/
F controller 24′ is basically the same as the inter-device I/F controller 24 according to the first embodiment. - In addition, in a case where the REC is in the equivalent state, there are cases where the inter-device I/
F controller 24′ receives write data for the transfer destination (volume 5 d) of the ODX operating on the background from thestorage apparatus 1A. - In such cases, the inter-device I/
F controller 24′, similar to the above-described write/read command controller 11 a′, before writing the write data, causes the ODXsession management unit 22 a′ to start physical transfer according to the ODX for the write destination (writing area). Then, the inter-device I/F controller 24′ instructs theDE 4 to write the write data into the write destination. In this way, for the write destination, the order between the transfer data and the write data of the ODX can be protected, whereby thestorage apparatuses - Next, an example of the operation of the
storage system 10 as an example of the second embodiment configured as described above will be described with reference toFIGS. 16 to 26 . - [2-3-1] Example of Operation in Case where Copy Source Storage Apparatus Receives ODX Command
- First, an example of the operation of a case where the copy
source storage apparatus 1A illustrated inFIG. 13 receives an ODX command will be described with reference toFIGS. 16 to 20 . -
FIG. 16 is a flowchart that illustrates an example of the process in a case where the copysource storage apparatus 1A illustrated inFIG. 13 receives an ODX command, andFIG. 17 is a flowchart that illustrates an example of a copy destination asynchronous transfer process illustrated inFIG. 16 .FIG. 18 is a flowchart that illustrates an example of a buffer transfer process illustrated inFIG. 17 .FIG. 19 is a diagram that illustrates an asynchronous transfer process in the case of the synchronous mode, andFIG. 20 is a diagram that illustrates an asynchronous transfer process in the case of the consistency mode. - The asynchronous transfer process illustrated in
FIGS. 16 to 18 is the same as or approximately the same as the process described with reference toFIGS. 9 and 10 , and thus, duplicate description will not be presented in the following description. - As illustrated in
FIG. 16 , when an ODX command is issued to the copysource storage apparatus 1A of the REC by thehost apparatus 2, the ODX command is received by theODX command controller 11 b′ in Step S41 (see arrow (1) represented inFIGS. 19 and 20 ). - The
ODX command controller 11 b′ instructs thesession management unit 12 to start transfer process. Thesession management unit 12 determines whether or not thevolume 5 b of the transfer destination according to the ODX is the copy source of the REC in Step S42 and determines whether or not the REC is in the equivalent state in a case where thevolume 5 b is the copy source in Step S43. - In a case where the transfer destination is the copy source (Yes route of Step S42) and the REC is in the equivalent state (Yes route of Step S43), the ODX
session management unit 12 a′ starts an asynchronous transfer process in Step S44 (Steps S21 to S23 illustrated inFIG. 9 ). In addition, in Step S44, when an ODX session is started on the background in accordance with the start of the asynchronous transfer process (see arrow (2-1) represented inFIGS. 19 and 20 ), the ODXsession management unit 12 a′ performs the next process of Step S45. - In Step S45, the copy
session management unit 12 b′ starts an asynchronous transfer process of the copydestination storage apparatus 1B (Steps S51 to S56 represented inFIG. 17 ). When the copy destination synchronous transfer process of Step S45 is completed, a response to the ODX command is returned to thehost apparatus 2 in Step S47 (see arrow (3) represented inFIGS. 19 and 20 ), and the process of the case where the copysource storage apparatus 1A receives the ODX command is completed. - On the other hand, in a case where the transfer destination is not the copy source (No route of Step S42) or the REC is not in the equivalent state (No route of Step S43), the ODX
session management unit 12 a′ starts an asynchronous transfer process in Step S46. When the asynchronous transfer process of Step S46 is started, the process proceeds to Step S47. - Next, the copy destination asynchronous transfer process performed in Step S45 will be described.
- As illustrated in
FIG. 17 , in the copy destination asynchronous transfer process, thesession management unit 12 determines whether or not the copy mode is the synchronous mode in Step S51. In addition, before or after Step S51, the copysession management unit 12 b′ issues (generates) ODX control information (copy destination transfer command) used for giving an instruction for transferring copy destination transfer data from thecopy destination volume 5 c to thecopy destination volume 5 d. - In a case where the copy mode is the synchronous mode (Yes route of Step S51), the issued ODX control information is transmitted to the
storage apparatus 1B through the inter-device I/F controller 14 by the copysession management unit 12 b′ in Step S52. - In the
storage apparatus 1B that has received the ODX control information using the inter-device I/F controller 24′, an asynchronous transfer process is started based on the ODX control information by the ODXsession management unit 22 a′ in Step S53 (Steps S21 to S23 represented inFIG. 9 ). In addition, in Step S53, when an ODX session is started on the background in accordance with the start of the asynchronous transfer process (see arrow (2-2) represented inFIG. 19 ), the ODXsession management unit 22 a′ returns a response of the completion of the start of the ODX to the copysource storage apparatus 1A in Step S54. - As above, in the case of the synchronous mode, the copy destination asynchronous transfer process of a case where the copy
source storage apparatus 1A receives the ODX command is completed. - On the other hand, in a case where the copy mode is not the synchronous mode (No route of Step S51), in other words, in the case of the consistency mode, the issued ODX control information is transferred to the REC
buffer management unit 13′ by the copysession management unit 12 b′. In the RECbuffer management unit 13′, the transferred ODX control information is stored in theREC buffer 13 a in Step S55 (see arrow (2-2) represented inFIG. 20 ). - Then, the buffer transfer process is started by the REC
buffer management unit 13′ in Step S56 (Steps S61 to S69 represented inFIG. 18 ), and the copy destination asynchronous transfer process of a case where the copysource storage apparatus 1A receives the ODX command in the case of the consistency mode is completed. - Next, the buffer transfer process performed in Step S56 will be described.
- The buffer transfer process illustrated in
FIG. 18 is regularly started on the background by the RECbuffer management unit 13′. - As illustrated in
FIG. 18 , the data (ODX control information) stored in theREC buffer 13 a is read by the RECbuffer management unit 13′, and buffer transfer of the read data to the copy destination is performed in Step S61 (see arrow (4) represented inFIG. 20 ). In addition, in the copydestination storage apparatus 1B, the data stored in theREC buffer 23 a through the buffer transfer is read by thesession management unit 22 through the RECbuffer management unit 23′ in Step S62 (see arrow (5-1) represented inFIG. 20 ). Then, thesession management unit 22 determines whether or not the read data is the ODX control information in Step S63. - In a case where the read data is the ODX control information (Yes route of Step S63), the ODX
session management unit 22 a′ starts an asynchronous transfer process at the copy destination based on the ODX control information in Step S64. In addition, in Step S64, when the ODX session is started on the background in accordance with the start of the asynchronous transfer process (see arrow (5-2) represented inFIG. 20 ), the ODXsession management unit 22 a′ performs the next process of Step S68. - On the other hand, in a case where the data read from the
REC buffer 23 a is not the ODX control information (No route of Step S63), in other words, in the case of update data, thesession management unit 22 determines whether or not thevolume 5 of the copy destination of the REC is the transfer destination according to the ODX in Step S65. - In a case where the volume 5 (for example, the
volume 5 d) is the transfer destination according to the ODX (Yes route of Step S65), the ODXsession management unit 22 a′ performs physical transfer of the copy destination transfer data from the transfer source (volume 5 c) according to the existing ODX to thevolume 5 d in Step S66. In a case where the transfer is completed or a case where thevolume 5 is not the transfer destination according to the ODX (No route of Step S65), the inter-device I/F controller 24′ reflects the update data read from theREC buffer 13 a on the copy destination of the REC in Step S67, and the process proceeds to Step S68. - In Step S68, the REC
buffer management unit 23′ determines whether or not reading of the data from theREC buffer 23 a has been completed. In a case where the reading of the data has not been completed (No route of Step S68), the process proceeds to Step S62. On the other hand, in a case where the reading of all the data stored in theREC buffer 23 a has been completed (Yes route of Step S68), the RECbuffer management unit 23′ notifies the copy source of the REC of the completion of the buffer transfer through the inter-device I/F controller 24′ in Step S69. - As above, the buffer transfer process performed by the REC
buffer management unit 13′ is completed. - [2-3-2] Example of Operation in Case where Copy Destination Storage Apparatus Receive Read Command
- Next, an example of the operation of a case where the copy
destination storage apparatus 1B illustrated inFIG. 14 receives a read command will be described with reference toFIGS. 21 to 23 . -
FIG. 21 is a flowchart that illustrates an example of the process in a case where the copydestination storage apparatus 1B illustrated inFIG. 14 receives a read command.FIG. 22 is a diagram that illustrates a copy destination reading process in the case of the synchronous mode, andFIG. 23 is a diagram that illustrates a copy destination reading process in the case of the consistency mode. - Hereinafter, a case will be considered in which the copy source is broken down after an ODX session is started in the
storage apparatuses 1 of the copy source and the copy destination illustrated inFIGS. 13 and 14 . At this time, as illustrated inFIGS. 22 and 23 , thehost apparatus 2 issues a suspend command to the copy destination, and the host I/F controller 21′ receives the suspend command (see arrow (1-1) represented inFIGS. 22 and 23 ). Thesession management unit 22 suspends the equivalent state with the copy source (see arrow (1-2) represented inFIGS. 22 and 23 ) and returns a response to the host apparatus 2 (see arrow (1-3) represented inFIGS. 22 and 23 ). In addition, in order to restore the copy source, thehost apparatus 2 issues a read command to the copy destination. - On the premise described above, as illustrated in
FIG. 21 , when the host I/F controller 21′ receives the read command in Step S71 (see arrow (2) represented inFIGS. 22 and 23 ), thesession management unit 22 determines whether or not the reading source is the transfer destination of the ODX in Step S72. - In a case where the reading source is the transfer destination of the ODX (Yes route of Step S72), the ODX
session management unit 22 a′ performs physical transfer of the copy destination transfer data from the transfer source (volume 5 c) according to the existing ODX to thevolume 5 d in Step S73 (see arrow (3) represented inFIGS. 22 and 23 ). In a case where the transfer has been completed or a case where the reading source is not the transfer destination according to the ODX (No route of Step S72), the host I/F controller 21′ transmits a response including the copy destination transfer data relating to the read command to thehost apparatus 2 in Step S74. The copy destination transfer data included in the response is data read from thevolume 5 c in the transfer process of the ODX or data read from thevolume 5 d for which the transfer process has been performed. - As above, the process in the case where the copy
destination storage apparatus 1B receives the read command is completed. - In Step S74, as the read data responding to the
host apparatus 2, the host I/F controller 21′ may use the data read from the transfer source by the ODXsession management unit 22 a′ for writing the data into the transfer destination in Step S73. - [2-3-3] Example of Operation in Case where Copy Source Storage Apparatus Receives Write Command
- Next, an example of the operation of a case where the copy
source storage apparatus 1A illustrated inFIG. 13 receives a write command will be described with reference toFIGS. 24 to 26 . -
FIG. 24 is a flowchart that illustrates an example of the process in a case where the copysource storage apparatus 1A illustrated inFIG. 13 receives a write command.FIG. 25 is a diagram that illustrates a copy source writing process in the case of the synchronous mode, andFIG. 26 is a diagram that illustrates a copy source writing process in the case of the consistency mode. - As illustrated in
FIG. 24 , when the write/read command controller 11 a′ of the copy source receives a write command from thehost apparatus 2 in Step S81 (see arrow (1) represented inFIGS. 25 and 26 ), thesession management unit 12 determines whether the writing area is the transfer destination of the ODX using the ODXsession management unit 12 a′ in Step S82. - In a case where the writing destination (for example, the
volume 5 b) is the transfer destination of the ODX (Yes route of Step S82), the ODXsession management unit 12 a′ performs physical transfer of the transfer data from the transfer source (volume 5 a) according to the existing ODX to thevolume 5 b in Step S83 (see arrow (2) represented inFIGS. 25 and 26 ). In a case where the transmission has been completed or a case where the writing destination is not the transfer destination according to the ODX (No route of Step S82), the write/read command controller 11 a′ writes the write (update) data relating to the write command into thevolume 5 b in Step S84 (see arrow (3) represented inFIGS. 25 and 26 ). - Subsequently, the copy
session management unit 12 b′ determines whether or not the copy mode is the synchronous mode in Step S85. In a case where the copy mode is the synchronous mode (Yes route of Step S85), thesession management unit 12 transmits the write data to thestorage apparatus 1B through the inter-device I/F controller 14 for transmitting the write data according to the REC in Step S86 (see arrow (4) represented inFIG. 25 ). - In addition, in the
storage apparatus 1B, the ODXsession management unit 22 a′ determines whether or not thevolume 5 of the copy destination of the write data according to the REC is the transfer destination of the ODX in Step S87. - In a case where the copy destination (for example, the
volume 5 d) is the transfer destination of the ODX (Yes route of Step S87), the ODXsession management unit 22 a′ performs physical transfer of the copy destination transfer data from the transfer source (volume 5 c) according to the existing ODX to thevolume 5 d in Step S88 (see arrow (5) represented inFIG. 25 ). In a case where the transfer has been completed or a case where the copy destination is not the transfer destination according to the ODX (No route of Step S87), the inter-device I/F controller 24′ writes the write data received in accordance with the REC into thevolume 5 d in Step S89 (see arrow (6) represented inFIG. 25 ). - In addition, the inter-device I/
F controller 24′ returns a response of the completion of the copy of the write data to the copysource storage apparatus 1A of the REC in Step S90. When the response of the completion of the copy is received from the copy destination, thestorage apparatus 1A transmits a response to the write command to thehost apparatus 2 using the write/read command controller 11 a′ in Step S91 (see arrow (7) represented inFIG. 25 ). - As above, the process in the case where the copy
source storage apparatus 1A receives the write command in the case of the synchronous mode is completed. - On the other hand, in a case where the copy mode is not the synchronous mode (No route of Step S85), in other words, in the case of the consistency mode, the write/
read command controller 11 a′ transmits a response to the write command to thehost apparatus 2 in Step S92 (see arrow (4) inFIG. 26 ). - In addition, the copy
session management unit 12 b′ transfers the write data to the RECbuffer management unit 13′. The RECbuffer management unit 13′ stores the transferred write data into theREC buffer 13 a in Step S93 (see arrow (5) represented inFIG. 26 ). - Then, the REC
buffer management unit 13′ starts the buffer transfer process in Step S94 (Steps S61 to S69 represented inFIG. 18 ). - In addition, in the buffer transfer process, as described above, the REC
buffer management unit 13′ reads the data (write data) stored in theREC buffer 13 a at predetermined timing and is buffer-transferred to the copy destination (see arrow (6) represented inFIG. 26 ). Furthermore, thesession management unit 22 of the copy destination reads the write data that has been buffer-transferred through the RECbuffer management unit 23′ from theREC buffer 23 a (see arrow (7) represented inFIG. 26 ). In addition, the physical transfer of the copy destination transfer data from the transfer source (volume 5 c) according to the existing ODX to the transfer destination (volume 5 d) of the ODX that is the copy destination of the write data is performed (see arrow (8) represented inFIG. 26 ). Then, the inter-device I/F controller 24′ reflects the write data on the copy destination of the REC (see arrow (9) represented inFIG. 26 ). - As above, the process performed in the case where the copy
source storage apparatus 1A receives the write command in the case of the consistency mode is completed. - As above, while the preferred embodiments of the present invention have been described in detail, the present invention is not limited to such specific embodiments but may be variously modified or changed within a range not departing from the concept of the present invention.
- For example, the functions of the
copy source CM 3A described above may be integrated or distributed in accordance with an arbitrary combination. Similarly, the functions of thecopy destination CM 3B may be integrated or distributed in accordance with an arbitrary combination. - In addition, regarding the above-described
CMs 3, while the copy source has been described to include the function of theCM 3A, and the copy source has been described to include the function of theCM 3B, theCM 3 may include the functions of both theCMs CM 3 can respond to any one of the copy source and the copy destination. - Furthermore, while the above-described
storage system 10 has been described to perform a backup illustrated inFIG. 2 , the present invention is not limited thereto, and, for example, a backup employing the form illustrated inFIG. 27 or 28 may be performed. -
FIGS. 27 and 28 are diagrams that illustrate examples of the form of a backup according to thestorage system 10 illustrated inFIG. 1 . - As illustrated in
FIG. 27 , thestorage system 10 may perform intra-casing copy such as an EC. In such a case, the copysource storage area 5A is one or more physical or logical volumes realized by thestorage apparatus 41, and the copydestination storage area 5B is another one or more physical or logical volumes realized by thestorage apparatus 41. In thestorage apparatus 1A, oneCM 3A may manage the copysource storage area 5A and the copydestination storage area 5B. Alternatively, twoCMs 3A may respectively manage the copysource storage area 5A and the copydestination storage area 5B utilizing communication made through a direct memory access (DMA) port or the like. - In a case where the backup illustrated in
FIG. 27 is performed, in thestorage apparatus 1A according to the second embodiment, the ODXsession management unit 12 a′ may start a copy destination transfer process based on a copy destination transfer command issued by the copysession management unit 12 b′. - Alternatively, as illustrated in
FIG. 28 , thestorage system 10 may perform the ODX within one volume. Also in such a case, the first or second embodiment described above may be applied to thestorage system 10. - All or some of the various functions of the CM 3 (storage controller) according to the first and second embodiments and modified examples thereof may be realized by executing a predetermined program (control program) using a computer (including a CPU, an information processing apparatus, and various terminals).
- The program is provided in a form being stored (recorded) in a (non-transitory) computer-readable storage (recording) medium (for example, the storage medium 39 b illustrated in
FIG. 3 ) such as a flexible disk, a CD, a DVD, or a Blue-ray disc. Examples of the CD include a CD-ROM, a CD-R, and a CD-RW. In addition, examples of the DVD include a DVD-ROM, a DVD-RAM, a DVD-R, a DVD-RW, a DVD+R, and a DVD+RW. In addition, the program may be configured to be recoded in a storage apparatus (storage medium) such as a magnetic disk, an optical disc, a magneto-optical disk and be provided for a computer through a communication line from the storage apparatus. - According to the embodiments, a copy source can be restored based on data stored in a copy destination even in a case where the copy source is broken down after reception of a transfer command for giving an instruction to perform a transfer process of data within a copy source storage area in a storage apparatus that performs a copy process for copying data from the copy source to a storage area of the copy destination.
- All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Claims (15)
1. A storage controller comprising a processor, the processor configured to:
perform a copy process in which data stored in a first area of a copy source storage area including one or more storage volumes is copied to a third area of a copy destination storage area including one or more storage volumes corresponding to the copy source storage area;
receive transfer control information for giving an instruction for transferring data stored in the first area of the copy source storage area to a second area of the copy source storage area from an information processing apparatus;
start a transfer process in which transfer data from the first area is read and is written into the second area in accordance with reception of the transfer control information; and
start copying the transfer data into a corresponding area of the copy destination storage area that corresponds to the second area in the copy process together with starting of the transfer process,
wherein the processor
issues copy destination transfer control information for giving an instruction for transferring copy destination transfer data corresponding to the transfer data stored in the third area of the copy destination storage area to a fourth area of the copy destination storage area in a starting process of the copying, the fourth area being the corresponding area;
transmits a response for the transfer control information to the information processing apparatus after completion of a starting process of the transfer process and issuing of the copy destination transfer control information.
2. The storage controller according to claim 1 ,
wherein the storage controller is included in a first storage apparatus including the copy source storage area,
wherein the copy destination storage area is included in a second storage apparatus other than the first storage apparatus, and
wherein the processor:
transmits the copy destination transfer control information to the second storage apparatus in the copying which is started; and
transmits the response to the information processing apparatus after the completion of the starting process of the transfer process and a transmission of the copy destination transfer control information.
3. The storage controller according to claim 1 ,
wherein the storage controller is included in a first storage apparatus including the copy source storage area and the copy destination storage area, and
wherein the processor starts a copy destination transfer process in which the copy destination transfer data is read from the third area and is written into the fourth area based on the copy destination transfer control information.
4. The storage controller according to claim 1 , further comprising a buffer,
wherein the storage controller is included in a first storage apparatus including the copy source storage area,
wherein the copy destination storage area is included in a second storage apparatus other than the first storage apparatus, and
wherein the processor:
stores the copy destination transfer control information in the buffer in accordance with starting of the copying and transmits the copy destination transfer control information stored in the buffer to the second storage apparatus at predetermined timing; and
transmits the response to the information processing apparatus after completion of the starting process of the transfer process and storing of the copy destination transfer control information into the buffer.
5. The storage controller according to claim 1 , wherein, when a write command for the second area in which the writing of the transfer data is incomplete is received from the information processing apparatus, the processor writes write data relating to the write command into the second area after writing the transfer data into the second area.
6. A storage system comprising a storage controller, wherein the storage controller includes a first processor, and the first processor is configured to:
perform a copy process in which data stored in a first area of a copy source storage area including one or more storage volumes is copied to a third area of a copy destination storage area including one or more storage volumes corresponding to the copy source storage area;
receive transfer control information for giving an instruction for transferring data stored in the first area of the copy source storage area to a second area of the copy source storage area from an information processing apparatus;
start a transfer process in which transfer data from the first area is read and is written into the second area in accordance with reception of the transfer control information; and
start copying the transfer data into a corresponding area of the copy destination storage area that corresponds to the second area in the copy process together with starting of the transfer process,
wherein the first processor
issues copy destination transfer control information for giving an instruction for transferring copy destination transfer data corresponding to the transfer data stored in the third area of the copy destination storage area to a fourth area of the copy destination storage area in a starting process of the copying, the fourth area being the corresponding area; and
transmits a response for the transfer control information to the information processing apparatus after completion of a starting process of the transfer process and issuing of the copy destination transfer control information.
7. The storage system according to claim 6 , comprising:
a copy source storage apparatus including the storage controller and the copy source storage area; and
a copy destination storage apparatus including the copy destination storage area,
wherein the copy destination storage apparatus includes a copy destination storage controller including a second processor, and
wherein the second processor:
starts a copy destination transfer process in which the copy destination transfer data is read from the third area and is written into the fourth area based on the copy destination transfer control information; and
when a read command for the fourth area in which writing of the copy destination transfer data is incomplete is received from the information processing apparatus, transmits the response to the information processing apparatus with read data relating to the read command after writing the copy destination transfer data into the fourth area.
8. The storage system according to claim 6 , comprising:
a copy source storage apparatus including the storage controller, the copy source storage area and the copy destination storage area; and
wherein the first processor starts a copy destination transfer process in which the copy destination transfer data is read from the third area and is written into the fourth area based on the copy destination transfer control information.
9. The storage system according to claim 6 , comprising:
a copy source storage apparatus including the storage controller and the copy source storage area; and
a copy destination storage apparatus including the copy destination storage area,
wherein the storage controller further comprises a buffer,
wherein the first processor:
stores the copy destination transfer control information in the buffer in accordance with starting of the copying and transmits the copy destination transfer control information stored in the buffer to the copy destination storage apparatus at predetermined timing; and
transmits the response to the information processing apparatus after completion of the starting process of the transfer process and storing of the copy destination transfer control information into the buffer.
10. The storage system according to claim 6 , wherein, when a write command for the second area in which the writing of the transfer data is incomplete is received from the information processing apparatus, the processor writes write data relating to the write command into the second area after writing the transfer data into the second area.
11. A non-transitory computer-readable storage medium having stored therein a control program for causing a computer to execute a process,
the process comprising:
performing a copy process in which data stored in a first area of a copy source storage area including one or more storage volumes is copied to a third area of a copy destination storage area including one or more storage volumes corresponding to the copy source storage area;
receiving transfer control information for giving an instruction for transferring data stored in the first area of the copy source storage area to a second area of the copy source storage area from an information processing apparatus;
starting a transfer process in which transfer data from the first area is read and is written into the second area in accordance with reception of the transfer control information; and
starting copying the transfer data into a corresponding area of the copy destination storage area that corresponds to the second area in the copy process together with the starting of the transfer process,
wherein the process further comprises:
issuing copy destination transfer control information for giving an instruction for transferring copy destination transfer data corresponding to the transfer data stored in the third area to a fourth area in a starting process of the copying, and
transmitting a response for the transfer control information to the information processing apparatus after completion of a starting process of the transfer process and issuing of the copy destination transfer control information.
12. The non-transitory computer-readable storage medium having stored therein the control program according to claim 11 ,
wherein the computer is included in a first storage apparatus including the copy source storage area,
wherein the copy destination storage area is included in a second storage apparatus other than the first storage apparatus, and
wherein the process further comprises:
transmitting the copy destination transfer control information to the second storage apparatus in the copying which is started; and
transmitting the response to the information processing apparatus after the completion of the starting process of the transfer process and a transmission of the copy destination transfer control information.
13. The non-transitory computer-readable storage medium having stored therein the control program according to claim 11 ,
wherein the computer is included in a first storage apparatus including the copy source storage area and the copy destination storage area, and
wherein the process further comprises starting a copy destination transfer process in which the copy destination transfer data is read from the third area and is written into the fourth area based on the copy destination transfer control information.
14. The non-transitory computer-readable storage medium having stored therein the control program according to claim 11 ,
wherein the computer comprises a buffer,
wherein the computer is included in a first storage apparatus including the copy source storage area,
wherein the copy destination storage area is included in a second storage apparatus other than the first storage apparatus, and
wherein the process further comprises:
storing the copy destination transfer control information in the buffer in accordance with starting of the copying and transmitting the copy destination transfer control information stored in the buffer to the second storage apparatus at predetermined timing; and
transmitting the response to the information processing apparatus after completion of the starting process of the transfer process and storing of the copy destination transfer control information into the buffer.
15. The non-transitory computer-readable storage medium having stored therein the control program according to claim 11 , the process further comprising, when a write command for the second area in which the writing of the transfer data is incomplete is received from the information processing apparatus, writing write data relating to the write command into the second area after writing the transfer data into the second area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/632,432 US20170293444A1 (en) | 2013-06-25 | 2017-06-26 | Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-132591 | 2013-06-25 | ||
JP2013132591A JP6136629B2 (en) | 2013-06-25 | 2013-06-25 | Storage control device, storage system, and control program |
US14/287,244 US9720621B2 (en) | 2013-06-25 | 2014-05-27 | Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program |
US15/632,432 US20170293444A1 (en) | 2013-06-25 | 2017-06-26 | Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/287,244 Continuation US9720621B2 (en) | 2013-06-25 | 2014-05-27 | Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170293444A1 true US20170293444A1 (en) | 2017-10-12 |
Family
ID=50774689
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/287,244 Expired - Fee Related US9720621B2 (en) | 2013-06-25 | 2014-05-27 | Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program |
US15/632,432 Abandoned US20170293444A1 (en) | 2013-06-25 | 2017-06-26 | Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/287,244 Expired - Fee Related US9720621B2 (en) | 2013-06-25 | 2014-05-27 | Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program |
Country Status (3)
Country | Link |
---|---|
US (2) | US9720621B2 (en) |
EP (1) | EP2819016B1 (en) |
JP (1) | JP6136629B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10176120B2 (en) | 2017-02-22 | 2019-01-08 | International Business Machines Corporation | Cache prefetching in offloaded data transfer (ODX) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11354244B2 (en) * | 2014-11-25 | 2022-06-07 | Intel Germany Gmbh & Co. Kg | Memory management device containing memory copy device with direct memory access (DMA) port |
US10078448B2 (en) * | 2015-07-08 | 2018-09-18 | Samsung Electronics Co., Ltd. | Electronic devices and memory management methods thereof |
US10324635B1 (en) * | 2016-03-22 | 2019-06-18 | EMC IP Holding Company LLC | Adaptive compression for data replication in a storage system |
US10565058B1 (en) | 2016-03-30 | 2020-02-18 | EMC IP Holding Company LLC | Adaptive hash-based data replication in a storage system |
JP2019057147A (en) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | Memory system |
US11354060B2 (en) * | 2018-09-11 | 2022-06-07 | Portworx, Inc. | Application snapshot for highly available and distributed volumes |
JP7112437B2 (en) * | 2020-01-21 | 2022-08-03 | 株式会社日立製作所 | Storage system and data migration method |
US11435955B1 (en) * | 2021-04-15 | 2022-09-06 | EMC IP Holding Company, LLC | System and method for offloading copy processing across non-volatile memory express (NVMe) namespaces |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139885B2 (en) * | 2001-12-27 | 2006-11-21 | Hitachi, Ltd. | Method and apparatus for managing storage based replication |
JP2005267038A (en) * | 2004-03-17 | 2005-09-29 | Hitachi Ltd | Operation method for storage system |
JP4355674B2 (en) * | 2005-03-17 | 2009-11-04 | 富士通株式会社 | Remote copy method and storage system |
JP4728031B2 (en) * | 2005-04-15 | 2011-07-20 | 株式会社日立製作所 | System that performs remote copy pair migration |
JP2009122873A (en) * | 2007-11-13 | 2009-06-04 | Hitachi Ltd | Apparatus for managing remote copying between storage systems |
JP5222617B2 (en) * | 2008-04-28 | 2013-06-26 | 株式会社日立製作所 | Information system and I / O processing method |
JP4843687B2 (en) | 2009-01-09 | 2011-12-21 | 富士通株式会社 | Backup control device, storage system, backup control program, and backup control method |
EP2583161A1 (en) * | 2010-10-14 | 2013-04-24 | Hitachi, Ltd. | Data migration system and data migration method |
-
2013
- 2013-06-25 JP JP2013132591A patent/JP6136629B2/en not_active Expired - Fee Related
-
2014
- 2014-05-23 EP EP14169631.0A patent/EP2819016B1/en not_active Not-in-force
- 2014-05-27 US US14/287,244 patent/US9720621B2/en not_active Expired - Fee Related
-
2017
- 2017-06-26 US US15/632,432 patent/US20170293444A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10176120B2 (en) | 2017-02-22 | 2019-01-08 | International Business Machines Corporation | Cache prefetching in offloaded data transfer (ODX) |
Also Published As
Publication number | Publication date |
---|---|
EP2819016A1 (en) | 2014-12-31 |
EP2819016B1 (en) | 2015-12-30 |
JP2015007880A (en) | 2015-01-15 |
US20140380005A1 (en) | 2014-12-25 |
US9720621B2 (en) | 2017-08-01 |
JP6136629B2 (en) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720621B2 (en) | Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program | |
US7461201B2 (en) | Storage control method and system for performing backup and/or restoration | |
US7133982B2 (en) | Method, system, and article of manufacture for consistent copying of storage volumes | |
US9747046B2 (en) | Collision avoidance using dynamic target volume allocation in a single repository | |
US8700570B1 (en) | Online storage migration of replicated storage arrays | |
US9268498B2 (en) | Storage controller, system, and method to control the copy and release processes of virtual volumes | |
US9262344B2 (en) | Local locking in a bi-directional synchronous mirroring environment | |
JP2008502060A (en) | Method, system and program for migrating source data to target data | |
US8966214B2 (en) | Virtual storage device, controller, and computer-readable recording medium having stored therein a control program | |
US10209919B2 (en) | Storage control apparatus and system for copying data to remote locations | |
US20170116087A1 (en) | Storage control device | |
US20160283148A1 (en) | Backup control device, backup control method, and recording medium | |
US11262952B2 (en) | Concurrent tape modification | |
JP2005234860A (en) | Version management system, version management server device and storage device controller | |
US9600188B2 (en) | Collision avoidance using dynamic target volume allocation from a shared resource pool | |
US8972634B2 (en) | Storage system and data transfer method | |
US20130031320A1 (en) | Control device, control method and storage apparatus | |
US9672118B2 (en) | Collision avoidance using dynamic target volume allocation | |
US9710339B2 (en) | Collision avoidance using dynamic volume allocation with reuse | |
US20160357479A1 (en) | Storage control apparatus | |
US11468091B2 (en) | Maintaining consistency of asynchronous replication | |
US10983696B1 (en) | Tape storage reclamation | |
US20220091746A1 (en) | Storage device and storage control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |