WO2017119065A1 - ストレージ装置および記録媒体 - Google Patents
ストレージ装置および記録媒体 Download PDFInfo
- Publication number
- WO2017119065A1 WO2017119065A1 PCT/JP2016/050129 JP2016050129W WO2017119065A1 WO 2017119065 A1 WO2017119065 A1 WO 2017119065A1 JP 2016050129 W JP2016050129 W JP 2016050129W WO 2017119065 A1 WO2017119065 A1 WO 2017119065A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- volume
- data
- target
- slot
- copy
- Prior art date
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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1466—Management of the backup or restore process to make the backup process non-disruptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
Definitions
- the present invention relates to a storage apparatus.
- Patent Document 1 describes a technology in which a snapshot image of a primary volume is created in a secondary volume in a storage device, and CAW (Copy after write) is used when the primary volume is updated.
- a storage apparatus includes a storage device, a memory, and a processor connected to the storage device, the memory, and a host computer.
- the processor creates a pool using the storage device, the processor creates a plurality of volumes, each volume includes a plurality of slots, and the plurality of volumes includes a root volume, a plurality of virtual volumes, and Each virtual volume stores a snapshot of another parent volume of the plurality of volumes at the time point indicated, and the processor assigns a plurality of slots in each virtual volume to a corresponding parent.
- the processor associates a slot for storing data in each virtual volume with a pool area in the pool, and the processor associates the parent volume with a corresponding virtual volume.
- the difference data is written to the pool, and the processor When the management information indicating the relationship between the plurality of volumes and the pool is recorded in the memory, and the processor receives write data to the target slot in the target volume in the plurality of volumes from the host computer , Recording in the management information that the data of the target slot in the target volume is not fixed, writing the write data to the target cache area in the memory, and sending a response to the host computer, the processor Before referring to the target data in the target slot in the target volume, it is determined based on the management information whether or not the target data is fixed, and it is determined that the target data is not fixed. The processor performs a confirmation process for confirming the target data and refers to the target data. That.
- the confirmation process selects a copy source volume for storing data of the target slot in the target volume based on the management information, and selects a copy source in the target slot in the copy source volume based on the management information. It is determined whether or not data has been confirmed. If it is determined that the copy source data has been confirmed, the confirmation process performs a save process for saving the target data and updates the target data A merge process is performed to record that the target data is fixed in the management information, and the save process determines whether the target data needs to be saved based on the management information. If it is determined that the target data needs to be saved, the save process writes the target data to the pool, and the merge process performs the copy process. Generate merged data by merging the original data and the write data, writing the merged data to the pool.
- the configuration of the computer system is shown.
- An overview of the snapshot is shown.
- An outline of SS control information and entity position search processing is shown.
- An overview of cascaded snapshots is shown.
- An overview of the snapshot structure is shown.
- An outline of CAW is shown.
- An outline of CAW elimination processing in cascaded snapshots is shown.
- the 1st part of the management information 111 is shown.
- the 2nd part of the management information 111 is shown.
- the 3rd part of the management information 111 is shown.
- summary of the CAW cancellation process of Example 1 is shown.
- 10 shows a CAW elimination job of Embodiment 1.
- the entity position search process is shown.
- the old data saving process is shown.
- the merge copy process is shown.
- summary of the CAW cancellation process of Example 2 is shown.
- 10 shows a CAW elimination job of Embodiment 2.
- 10 shows CAW cancellation target determination processing according to the second embodiment.
- the 2nd entity position search process of Example 2 is shown.
- summary of the CAW cancellation process of Example 3 is shown.
- a copy list 410 is shown.
- 10 shows a CAW elimination job of Example 3.
- the 1st part of the copy list creation process of Example 3 is shown.
- the 2nd part of the copy list creation process of Example 3 is shown.
- FIG. 10 illustrates a copy target volume setting process according to the third embodiment. 9 shows copy source read processing according to the third embodiment.
- the old data save destination Write process of Example 3 is shown.
- the merge copy destination Write process of Example 3 is shown.
- the termination determination process of Example 3 is shown.
- summary of the modification of Example 3 is shown.
- 10 shows a CAW cancellation job according to a modification of the third embodiment.
- summary of the CAW cancellation process of Example 4 is shown.
- 10 shows a CAW elimination job of Example 4.
- the old data write process of Example 4 is shown.
- 9 shows a save destination setting process according to the fourth embodiment.
- xxx table information may be described using the expression “xxx table”, but the information may be expressed in any data structure. That is, “xxx table” can be referred to as “xxx information” to indicate that the information does not depend on the data structure.
- xxx information information may be described using the expression “xxx table”, but the information may be expressed in any data structure. That is, “xxx table” can be referred to as “xxx information” to indicate that the information does not depend on the data structure.
- the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of the two or more tables may be a single table. Good.
- an ID is used as element identification information, but other types of identification information may be used instead of or in addition thereto.
- a reference number or a common number in the reference number is used, and when a description is made by distinguishing the same type of element, the reference number of the element is used.
- an ID assigned to the element may be used instead of the reference code.
- an I / O (Input / Output) request is a write request or a read request, and may be referred to as an access request.
- the process may be described using “program” as a subject.
- the program is executed by a processor (for example, a CPU (Central Processing Unit)), so that a predetermined processing is appropriately performed. Since processing is performed using a storage resource (for example, a memory) and / or an interface device (for example, a communication port), the subject of processing may be a processor.
- the process described with the program as the subject may be a process or system performed by a processor or an apparatus having the processor.
- the processor may include a hardware circuit that performs a part or all of the processing.
- the program may be installed in a computer-like device from a program source.
- the program source may be, for example, a storage medium that can be read by a program distribution server or a computer.
- the program distribution server may include a processor (for example, a CPU) and a storage resource, and the storage resource may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
- a processor for example, a CPU
- the storage resource may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
- two or more programs may be realized as one program, or one program may be realized as two or more programs.
- the management system may include one or more computers.
- the management computer displays information (specifically, for example, the management computer displays information on its own display device, or the management computer displays display information in a remote display computer)
- Management computer is the management system.
- the plurality of computers may include a display computer when the display computer performs display
- the management computer (eg, management system) may include an interface device connected to the I / O system including the display system, a storage resource (eg, memory), and a processor connected to the interface device and the storage resource.
- the display system may be a display device included in the management computer or a display computer connected to the management computer.
- the I / O system may be an I / O device (for example, a keyboard and a pointing device or a touch panel) included in the management computer, a display computer connected to the management computer, or another computer.
- “Displaying display information” by the management computer means displaying the display information on the display system, which may be displaying the display information on a display device included in the management computer.
- the management computer may transmit display information to the display computer (in the latter case, the display information is displayed by the display computer).
- the management computer inputting / outputting information may be inputting / outputting information to / from an I / O device of the management computer, or a remote computer connected to the management computer (for example, a display) Information may be input / output to / from the computer.
- the information output may be a display of information.
- Fig. 1 shows the configuration of the computer system.
- the computer system includes a storage device 10, a host computer 20, and a management terminal 30.
- the management terminal 30 may be connected to the host computer 20 via a communication network.
- the host computer 20 writes data to the storage apparatus 10 by transmitting a WR (Write) request to the storage apparatus 10. Further, data is read from the storage apparatus 10 by transmitting an RD (Read) request to the storage apparatus 10.
- the management terminal 30 includes a memory, a CPU, a communication I / F, an input device, and a display device.
- the CPU performs processing by executing a management program 31 stored in the memory.
- the management terminal 30 receives the setting information of the storage apparatus 10 input from the administrator to the input device, and transmits the setting information to the storage apparatus 10.
- the management terminal 30 receives the status information of the storage device 10 from the storage device 10 and causes the display device to display the status information.
- the storage device 10 includes a controller 100 and a storage device 200.
- the storage device 200 includes a plurality of disks 210.
- the controller 100 includes a memory 110, a CPU 120, a bridge 130, an upper I / F 140, a lower I / F 150, and a communication I / F 160.
- the CPU 120 performs processing according to the program in the memory 110. For example, the CPU 120 creates the pool 220 using the disk 210.
- the bridge 130 connects each part of the controller 100.
- the host I / F 140 is connected to the host computer 20 via a communication network.
- the lower I / F 150 is connected to the disk 210.
- the communication I / F 160 is connected to the management terminal 30 via a communication network.
- the memory 110 stores management information 111, a copy processing program 112, an I / O processing program 113, and a cache area 114.
- Management information 111 is information for managing data stored in the disk 210.
- the copy processing program 112 copies data between the plurality of disks 210.
- the I / O processing program 113 performs I / O processing in response to a request from the host computer 20.
- the cache area 114 temporarily stores data exchanged with the host computer 20 by I / O processing.
- Figure 2 shows an overview of the snapshot.
- the I / O processing program 113 uses the disk 210 to create a logical volume or a virtual volume.
- the I / O processing program 113 creates a logical volume to be a pool, and allocates a storage area in the pool to a virtual volume by Thin Provisioning.
- the copy processing program 112 sets the primary volume and the secondary volume as a pair. As a result, the storage apparatus 10 can instantly create a copy of the primary volume in the secondary volume.
- the primary volume may be referred to as P-VOL (Primary Volume)
- S-VOL Secondary Volume
- the copy processing program 112 When a write to a certain area in the primary volume is performed, the copy processing program 112 writes the difference data between the primary volume and the secondary volume by the write to the pool, and an entity position indicating the entity position of the difference data in the pool Record information. After that, before the area in the secondary volume is referred to, the I / O processing program 113 searches the entity position and refers to the difference data of the entity position in the pool based on the entity position information.
- the copy processing program 112 stores SS (Snapshot) control information including entity position information in the pool. If the actual location of the data is a virtual volume, it indicates the pool address assigned to that volume, and if it is a logical volume, it indicates the logical address within that volume.
- SS Snaphot
- the unit storage area in each of the volume, pool, and cache area is called a slot.
- Slots are managed by identifiers such as slot numbers.
- a slot in the secondary volume is associated with a slot having the same slot number among the primary volumes for the secondary volume.
- the size of the slot is, for example, 256 kB.
- a slot in the pool is called a pool slot
- a slot in the cache area is called a cache slot.
- another storage area indicating an address range may be used.
- the copy processing program 112 when the primary volume is updated, the copy processing program 112 writes the pre-update data (old data) to the pool as difference data.
- a pool slot for storing the differential data in the pool is assigned to a slot in the secondary volume.
- One pool slot may be assigned to a slot having the same slot number in a plurality of secondary volumes.
- the difference data may be the latest data (current data) after update.
- a pool slot for storing the differential data in the pool may be assigned to a slot in the primary volume.
- FIG. 3 shows an overview of SS control information and entity position search processing.
- the volume SS control information includes inter-generation shared information (GCMT) and generation specific information (GUDT) for each slot.
- the GCMT is effective when differential data such as differential data saved from other volumes is shared between generations.
- a valid GCMT includes a pointer (entity position information) indicating a pool slot of an actual position of difference data.
- GUDT is effective when differential data unique to the volume is stored, such as when the volume is updated and there is no need to save.
- a valid GUDT includes a pointer indicating the pool slot of the actual position of the difference data.
- the pointer in GCMT and GUDT includes a pool number and a pool slot number. An address in the pool may be used instead of the pool slot number.
- the copy processing program 112 saves the difference data to the pool and saves the actual entity of the save destination.
- the position information is stored in the GCMT of the slot of the secondary volume.
- the copy processing program 112 writes the differential data to the pool, and stores the entity position information indicating the write destination in the secondary volume. Store in the GUDT of the slot.
- the secondary volume 2 is created as a snapshot of the primary volume, and then the secondary volume 1 is created as a snapshot of the next generation of the primary volume.
- the latest data is stored in the primary volume, and the newer generation data than the secondary volume 2 is stored in the secondary volume 1.
- the slot indicated by the slot number of the host accessed slot is called a target slot.
- the copy processing program 112 performs an entity position retrieval process for retrieving an entity position when referring to the secondary volume.
- the copy processing program 112 sets the accessed secondary volume 2 as the search volume, and determines whether the GUDT of the target slot of the search volume is valid. If the GUDT is valid, the copy processing program 112 returns the entity position information included in the GUDT. If GUDT is invalid, the copy processing program 112 determines whether the GCMT of the target slot is valid. If the GCMT is valid, the copy processing program 112 returns the entity position information included in the GCMT.
- the copy processing program 112 determines whether or not the GCMT of the target slot of the search volume of the newer generation than the search volume is valid. Here, first, the copy processing program 112 selects a secondary volume of the next generation among the secondary volumes belonging to the same primary volume as a search volume. If there is no such secondary volume, the copy processing program 112 selects the primary volume as the search volume. If the corresponding GCMT is valid in the new search volume, the copy processing program 112 returns the entity position information included in the GCMT. If the GCMT is invalid, the copy processing program 112 selects the next search volume and searches until the actual position is obtained.
- Figure 4 shows an overview of cascaded snapshots.
- the copy processing program 112 can create another pair with the secondary volume of a certain pair as a primary volume.
- the copy processing program 112 can create a cascaded snapshot structure by connecting snapshot pairs in cascade.
- the copy processing program 112 adds a P-VOL (primary volume) attribute to a volume having a S-VOL (secondary volume) attribute of a pair whose SSID (Snapshot ID) is A, A pair with the secondary volume is created, and B is assigned to the pair as an SSID.
- the first primary volume in the snapshot structure is called Root.
- a volume having a P-VOL attribute and an S-VOL attribute is called a Branch.
- a volume having only the S-VOL attribute is called Leaf.
- Root is a logical volume (Logical Device: LDEV) having an entity.
- Branch and Leaf are virtual volumes.
- the virtual volume data is stored in the pool.
- Branch and Leaf volumes can be identified by a combination of the Root LDEV number and SSID. Note that the Root may be a virtual volume.
- Fig. 5 shows an overview of the snapshot structure.
- the copy processing program 112 can create a tree-like snapshot structure by creating a plurality of pairs for one primary volume and creating a lower pair with the secondary volume as the primary volume.
- one volume in the snapshot structure is a target volume and the target volume is a secondary volume
- the primary volume that forms a pair with the target volume is called a parent generation.
- the target volume is a primary volume
- the secondary volume that forms a pair with the target volume is called a child generation.
- the target volume is one of multiple secondary volumes with the same primary volume
- the secondary volume of the older generation than the target volume among the multiple secondary volumes is called the older generation
- the newer generation of the secondary volume Volume is called brother generation.
- a volume of a newer generation (brother generation and parent generation) than the target volume is referred to as an upper volume.
- the current data stored in a certain slot in a certain secondary volume exists in the volume or a higher volume of the volume.
- the actual position of the current data is indicated in the GUDT of the volume, indicated in the GCMT of the volume, indicated in the upper volume, or the upper volume (Root).
- a VDI (Virtual Desktop Infrastructure) administrator can instantly create a plurality of replicas of a golden image of a virtual machine and distribute the replicas. Furthermore, the administrator can update the copy for each department or user and distribute the updated copy.
- VDI Virtual Desktop Infrastructure
- COW Copy-on-Write
- FIG. 6 shows an outline of CAW.
- the cache area is managed for each cache slot.
- One cache slot includes a W plane (Write plane) for writing data received from the host computer 20 and an R plane (Read plane) for storing data staged from the storage device 200.
- W plane Write plane
- R plane Read plane
- Each size of the W plane and the R plane is a slot size.
- the controller 100 When the storage apparatus 10 receives a WR request from the host computer 20, the controller 100 performs the following WR process.
- the I / O processing program 113 When the I / O processing program 113 receives a WR request designating an address range in the primary volume from the host computer 20, the I / O processing program 113 specifies a target slot corresponding to the address range. (2) The copy processing program 112 sets the CAW flag of the target slot of the primary volume to ON. (3) The copy processing program 112 receives the WR data from the host computer 20, and within the W area of the target cache slot corresponding to the target slot of the primary volume in the cache area, in the address range specified by the WR request. Write WR data to the corresponding area. (4) The I / O processing program 113 transmits a response to the WR request to the host computer 20.
- the state where the CAW flag of the target slot of the primary volume is ON is a state where the current data of the entire target slot of the primary volume has not been determined. This state is called a CAW state. Thereafter, when the target slot of the primary volume is referenced, the copy processing program 112 cancels the CAW state of the target slot of the primary volume by performing the following CAW elimination process.
- the I / O processing program 113 changes the state of the target cache slot to dirty for subsequent destaging.
- the copy processing program 112 stores the pointer of the save destination pool slot in the pool in the GCMT of the target slot of the secondary volume.
- the copy processing program 112 performs old data saving (saving copy) processing for copying old data stored in the R side of the target cache slot to the W side of the cache slot corresponding to the target slot of the secondary volume. . Thereafter, the I / O processing program 113 writes old data from the W plane to the pool slot by destaging. If the cache slot is not assigned to the target slot of the primary volume in the old data saving process, the copy processing program 112 assigns the target cache slot to the target slot of the primary volume, and stage the old data to the R side of the target cache slot To do.
- C The copy processing program 112 sets the CAW flag of the target slot of the primary volume to OFF.
- the I / O processing program 113 changes the state of the target cache slot to “clean” after destaging the target cache slot.
- the CAW responds to the host computer 20 before the old data saving process, the response time for the WR request can be shortened compared to the COW.
- FIG. 7 shows an outline of the CAW elimination processing in the cascade type snapshot.
- the I / O processing program 113 In response to a write request for the target slot of the update target volume that is a branch of the cascaded snapshot, the I / O processing program 113 writes WR data to a part of the W plane corresponding to the target slot, and Set the CAW state. Thereafter, the copy processing program 112 triggers the CAW for canceling the CAW state triggered by the reference of the target slot such as access (Read or Write) to the target slot by the host computer 20 or destaging of the target slot by the controller 100. Perform resolution processing.
- a paired primary volume whose update target volume is a secondary volume is called a parent volume.
- a paired secondary volume whose primary volume is the update target volume is called a child volume.
- the target slot of the parent volume and the target slot of the child volume have the same slot number as the target slot of the update target volume.
- the GCMT and GUDT of the target slot and the GCMT and GUDT of the target slot of the child volume are all invalid.
- WR data is written to the W side of the cache slot corresponding to the target slot of the update target volume, and the CAW flag of the target slot of the update target volume is turned ON.
- the copy processing program 112 performs an old data saving process for saving the old data of the target slot of the update target volume to the target slot of the child volume.
- the old data saving process copies the old data of the target slot of the update target volume stored in the R plane corresponding to the target slot of the parent volume to the W plane corresponding to the target slot of the child volume, and stores it in the pool. Allocate a new pool slot to the target slot of the child volume.
- the copy processing program 112 performs merge copy processing for merging old data and WR data.
- the merge copy process corresponds to the target slot of the parent volume with the LBA (Logical Block Address) range other than the area where the WR data is written out of the W plane corresponding to the target slot of the update target volume as the supplement LBA range.
- the data stored in the replenishment LBA range on the R side is copied to the replenishment LBA range on the W side corresponding to the target slot of the update target volume.
- the old data of the update target volume is saved from the parent volume to the child volume, the current data is obtained by merging the old data of the parent volume and the WR data, and the current data is written to the update target volume. Thereby, the data of the target slot of the update target volume is confirmed, and the CAW state of the target slot of the update target volume is canceled.
- the CAW flag of the target slot of the update target volume is turned OFF, and the GUDT entity position information of the target slot of the update target volume becomes valid. Furthermore, the entity position information of the GCMT of the target slot of the child volume becomes valid.
- the CAW resolution process if the target slot of the parent volume is in the CAW state, the CAW resolution process for the parent volume is required.
- management information 111 will be described from the first part to the third part.
- FIG. 8 shows the first part of the management information 111.
- the management information 111 includes a volume information table 310 created for each volume, slot information 320 created for each volume, and a pair information table 330 created for each pair.
- the volume information table 310 corresponding to one volume includes an LDEV number 311, an attribute 312, a capacity 313, and a pair information table pointer 314.
- the LDEV number 311 is an identifier indicating the volume.
- the attribute 312 indicates whether the volume is a primary volume (P-VOL), a secondary volume (S-VOL), both primary and secondary volumes (P / S-VOL), or any other volume.
- a capacity 313 indicates the capacity of the volume.
- the pair information table pointer indicates the pair information table 330 of the pair to which the volume belongs.
- the slot information 320 corresponding to one volume includes an entry for each slot in the volume.
- An entry corresponding to one slot includes a slot number 321 indicating the slot and information 322 of the slot.
- the information 322 includes a CAW flag, a WR generation number, and the like.
- the WR generation number indicates the order in which the slot was written to the pair order.
- the pair information table 330 corresponding to one pair includes a pair status 331, an SSID 332, a generation number 333, a primary volume table pointer 334, and a secondary volume table pointer 335.
- the pair status 331 indicates a pair status (PAIR) in which differential data is written, a suspend status (PSUS) in which differential data is not written, and the like.
- the SSID 332 is an identifier indicating the pair.
- the generation number 333 indicates the order of generation of the pair.
- the primary volume table pointer 334 is a pointer indicating the volume information table 310 of the primary volume in the pair.
- the secondary volume table pointer 335 is a pointer indicating the volume information table 310 of the secondary volume in the pair.
- the copy processing program 112 gives the generation number to the pair so that the generation number and the WR generation number become a serial number, and gives the WR generation number to the written slot. For example, when the copy processing program 112 creates a certain pair, it gives a generation number n to the pair. Thereafter, when a certain slot of the primary volume of the pair is written, the copy processing program 112 gives the WR generation number n + 1 obtained by adding 1 to the maximum generation number n, to the slot. Thereafter, when a new pair is created, the copy processing program 112 gives the new pair the generation number n + 2 obtained by adding 1 to the maximum value of the generation number and the WR generation number.
- FIG. 9 shows the second part of the management information 111.
- Management information 111 further includes SS control information 340.
- the SS control information 340 includes pool slot information (GPMT) 360 created for each pool, intergenerational shared information (GCMT) 370 created for each pair, and generation specific information (GUDT) 380 created for each pair. Including.
- GPMT pool slot information
- GCMT intergenerational shared information
- GUIDT generation specific information
- the pool slot information 360 corresponding to one pool includes a pool number 361 that is an identifier indicating the pool and an entry for each pool slot.
- An entry corresponding to one pool slot includes a pool entry number 362, a pool slot (data storage destination slot) number 363, a state 364, a slot to which the pool slot is assigned, and the reference source of the pool slot.
- reference source information indicating a slot.
- the pool entry number 362 is an identifier of the entry.
- the pool slot number 363 is an identifier of the pool slot.
- the status 364 indicates the status of the pool slot, “unallocated” that is not allocated to the reference source slot, “assigned” that is allocated to the reference source slot and no data is stored, and is allocated to the reference source slot.
- the reference source information includes a Root LDEV number 365, an SSID 366, and a slot number 367.
- the combination of the Root LDEV number 365 and the SSID 366 indicates the reference source pair.
- the slot number 367 indicates the reference source slot.
- the GCMT 370 corresponding to one pair includes a Root LDEV number 371, an SSID 372, and an entry for each slot of the secondary volume of the pair.
- the combination of the Root LDEV number 371 and the SSID 372 indicates the pair.
- An entry corresponding to one slot includes a slot entry number 373, a slot number 374, a state 375, and pool information indicating a pool slot that is a pool slot assigned to the slot and that is a reference destination of the slot.
- the slot entry number 373 is an identifier of the entry.
- the slot number 374 is an identifier of the slot.
- the state 375 indicates the state of the slot.
- the reference destination is not assigned “unassigned”, the reference destination is assigned and data is not stored in the reference destination, the reference destination is assigned and the reference destination is assigned. Indicates any state of “allocated” in which data is stored.
- the pool information includes a pool number 376 and a pool entry number 377.
- the pool number 376 indicates a reference destination pool.
- the pool entry number 377 indicates a reference destination pool slot.
- the GUDT 380 corresponding to one pair includes a Root LDEV number 381, an SSID 382, and an entry for each slot of the secondary volume of the pair.
- An entry corresponding to one slot includes a slot entry number 383, a slot number 384, a state 385, and pool information of a reference destination of a data entity referenced from the slot.
- the pool information includes a pool number 386 and a pool entry number 387. Items 381 to 384, 386, and 387 are the same as items 371 to 374, 376, and 377, respectively.
- the status 385 indicates the status of the slot, “unassigned” to which the reference destination is not assigned, “not copied” to which the reference destination is assigned and no data is stored in the reference destination, and the reference destination is assigned to the reference destination. Indicates any state of “allocated” in which data is stored.
- FIG. 10 shows the third part of the management information 111.
- the management information 111 further includes a job management table 350 created for each job.
- the job management table 350 corresponding to one job includes a request copy type 351, a request source process type 352, a root LDEV number 353, an SSID 354, and a slot number 355.
- the request copy type 351 indicates the type of processing of the job.
- the type of processing here is, for example, CAW elimination processing.
- the request source process type 352 indicates the type of process (request source process) that started the job.
- the types of processing here are RD, WR, destage, and the like.
- the root LDEV number 353 indicates a root volume in the snapshot structure to which the target volume of the job belongs.
- the SSID 354 indicates the target pair of the job.
- a slot number 355 indicates a target slot of the job.
- the copy processing program 112 and the I / O processing program 113 create a job management table 350 corresponding to the job in order to submit a job such as a CAW elimination job or a Read job.
- GCMT 370 and the GUDT 380 may be stored in the pool 220.
- management information 111 may include a cache table indicating the association between slots and cache slots.
- the management program 31 displays a pair setting screen for creating a snapshot pair on the display device, and accepts an input from the administrator.
- the management program 31 reads the volume attribute 312 (P-VOL attribute, S- (VOL attribute, P / S-VOL attribute, etc.) may be displayed on the pair setting screen, and whether the attribute 312 of the volume includes the S-VOL attribute (stores snapshots of other volumes) May be displayed on the pair setting screen.
- the management program 31 displays the primary volume paired with the volume or the root volume of the snapshot structure on the pair setting screen. You may let them.
- the management program 31 may cause the display device to display a snapshot structure screen showing the relationship between a plurality of volume pairs, as shown in the snapshot structure diagram described above, based on the pair information table 330. .
- the administrator can select an appropriate primary volume and input a pair creation instruction.
- FIG. 11 shows an outline of the CAW elimination processing of the first embodiment.
- the I / O processing program 113 starts a Read job in response to an RD request for the target slot of the volume A from the host computer 20.
- the slot having the slot number of the target slot is called a target slot.
- the Read job detects that the target slot of the volume A is in the CAW state
- the Read job starts the CAW cancellation job A for the target slot of the volume A and waits until the CAW state is canceled.
- the CAW elimination job A detects that the target slot of the volume B is in the CAW state
- the CAW elimination job A starts the CAW elimination job B for the target slot of the volume B and waits until the CAW state is eliminated.
- the CAW elimination job B detects that the target slot of the volume C is in the CAW state
- the CAW elimination job B starts the CAW elimination job C for the target slot of the volume C and waits until the CAW state is eliminated.
- the CAW cancellation job C cancels the CAW state of the target slot of the volume C that is the highest volume among the volumes in which the CAW state is detected (1).
- the CAW cancellation job B is restarted to cancel the CAW state of the target slot of the volume B (2).
- the CAW cancellation job A is restarted to cancel the CAW state of the target slot of the volume A (3).
- the Read job is restarted, reads data from the actual position of the target slot of volume A, and responds to the host computer 20.
- the I / O processing program 113 When the trigger of the CAW cancellation job is Read, when the I / O processing program 113 receives a Read request from the host computer 20, the I / O processing program 113 analyzes the Read parameter included in the Read request, and reads the target volume number, LBA, Specify size, target slot number, etc. Thereafter, the I / O processing program 113 refers to the entry of the target slot in the slot information 320 of the target volume, and when detecting that the CAW flag is ON, activates the CAW cancellation job.
- the I / O processing program 113 detects a dirty cache slot at the time of destaging, and in the slot information 320, the entry of the slot number corresponding to the cache slot is entered.
- the CAW cancellation job is activated.
- FIG. 12 shows a CAW cancellation job of the first embodiment.
- a job management table indicating the target slot of the cancellation target volume in the CAW state is created, and the CAW cancellation job is started.
- the copy processing program 112 performs initial setting of a CAW cancellation job based on the job management table.
- the copy processing program 112 identifies the actual position of the target slot of the resolution target volume by performing the actual position search process for the target slot of the resolution target volume, and the volume target corresponding to the actual position. It is determined whether or not the slot is in a CAW state.
- a volume having entity position information or a volume (Root) indicated in the entity position is referred to as an entity position volume.
- the copy processing program 112 When it is determined that the target slot of the physical location volume is in the CAW state (S1520: CAW ON is detected), the copy processing program 112 starts a new CAW resolution job that uses the physical location volume as the resolution target volume in S1530. Issue instructions.
- the copy processing program 112 creates a job management table for a new CAW resolution job, and sets the SSID of the actual location volume in the job management table.
- the copy processing program 112 waits until the activated CAW cancellation job ends.
- the copy processing program 112 restarts and executes the processing from S1510 again.
- S1520 it is determined that the target slot of the actual position volume is not in the CAW state.
- the copy processing program 112 converts the entity position volume to the copy source volume in S1550. Then, the secondary volume of the volume to be canceled is set as the save destination volume, and the old data save processing from the target slot of the copy source volume to the target slot of the save destination volume is performed. If the target slot of the entity position volume is not in the CAW state, the entity position volume is “Root”, the entity position is indicated in the GCMT of the entity position volume, and the entity position is indicated in the GUDT of the entity position volume. And the case where the target slot of the actual position volume is not in the CAW state is detected, and the case where the CAW state of the target slot of the actual position volume is canceled by another CAW cancellation job is included.
- the copy processing program 112 performs merge copy processing from the target slot of the copy source volume to the target slot of the cancellation target volume. Thereafter, in S1570, the copy processing program 112 performs an end process for canceling the CAW state of the target slot of the resolution target volume, and ends this flow.
- the copy processing program 112 turns off the CAW flag of the target slot information 323 of the resolution target volume slot information 320.
- FIG. 13 shows the entity position search process.
- the volume selected as a search target is called a search volume.
- step S1110 the copy processing program 112 selects a resolution target volume as a search volume.
- step S1120 the copy processing program 112 refers to the attribute 312 of the volume information table 310 of the search volume, and determines whether the search volume is Root.
- the copy processing program 112 refers to the target slot information 323 of the Root slot information 320, and the Root target slot is in the CAW state. It is determined whether or not.
- the copy processing program 112 If it is determined that the target slot is not in the CAW state (S1130: No), the copy processing program 112 returns that the actual location volume is Root in S1140, and ends this flow.
- the copy processing program 112 If it is determined that the target slot is in the CAW state (S1130: Yes), in S1150, the copy processing program 112 returns that the actual position volume is Root and the actual position volume is in the CAW state, and this flow is executed. finish.
- the copy processing program 112 in S1210, indicates the status 385 of the target slot in the GUDT 380 of the search volume and the target slot information 323 of the slot information 320 of the search volume. Referring to the above, the state of GUDT is determined.
- the copy processing program 112 in S1220 indicates that the entity location volume is a search volume and The entity position is indicated in the search volume GUDT and the entity position volume is not in the CAW state, and this flow is terminated.
- the copy processing program 112 determines that the actual location volume is the search volume in S1230. Yes, the entity position is indicated in the search volume GUDT and the entity position volume is in the CAW state, and this flow is terminated.
- the copy processing program 112 in S1240, indicates that the target slot state 375 in the GCMT 370 of the search volume is “allocated”. Or “unallocated”.
- the copy processing program 112 determines that the actual position volume is the search volume and the actual position is the GCMT of the search volume. And the fact that the actual position volume is not in the CAW state is returned, and this flow is finished.
- the copy processing program 112 determines in S1260 whether there is a brother generation of the search volume.
- the copy processing program 112 selects the brother generation volume immediately after the search volume generation as a new search volume in S1270, and the process proceeds to S1250.
- the copy processing program 112 determines in S1280 whether there is a parent generation of the search volume.
- the copy processing program 112 selects the parent generation volume of the search volume as a new search volume in S1320, and shifts the processing to S1120.
- the substance position of the data of the target slot of the volume to be resolved can be specified by following the SS control information 340.
- FIG. 14 shows the old data saving process.
- the copy processing program 112 determines whether or not the resolution target volume is Leaf based on the attribute 312 of the volume information table 310 of the resolution target volume.
- the attribute 312 indicates only the S-VOL attribute
- the copy processing program 112 determines that the cancellation target volume is Leaf.
- the copy processing program 112 terminates this flow because there is no pair whose resolution target volume is a primary volume and it is not necessary to save old data. To do.
- the copy processing program 112 has a generation number of the resolution target volume among the pairs (child generation pairs) whose resolution target volume is the primary volume.
- a pair equal to WR generation number ⁇ 1 is selected as pair A.
- the copy processing program 112 sets the cancellation target volume as the primary volume among the target slot information 323 of the slot information 320 of the cancellation target volume and the pair information table 330 indicated by the pair information table pointer 314 of the volume information table 310.
- the generation number 333 of the pair information table 330 of the pair is referred to.
- the secondary volume of pair A is called the save destination volume.
- the copy processing program 112 determines whether or not the status 375 of the target slot in the GCMT 370 of the pair A of the save destination volume is “allocated”.
- the copy processing program 112 secures a save destination pool slot in S1640 and stores it in the GCMT 370 of the pair A.
- the save destination pool slot (pool number 376 and pool entry number 377) is registered in the pool information of the target slot, the state 375 is changed to “assigned”, and the cache slot corresponding to the target slot of the save destination volume is saved. Store as a cache slot.
- the copy processing program 112 reads data from the actual position obtained by the actual position search process to the cache slot corresponding to the target slot of the actual position volume (copy source volume). Thereafter, in step S1660, the copy processing program 112 writes the read data to the W side of the save destination cache slot. Thereafter, in S1670, the copy processing program 112 changes the state 275 of the target slot to “allocated” in the GCMT 370 of the pair A, and ends this flow.
- the I / O processing program 113 writes the data stored in the W side of the save destination cache slot to the save destination pool slot by destaging.
- the copy processing program 112 can save the data before the update by the WR data to the target slot of the volume of the save destination generation. Further, the copy processing program 112 can select the save destination volume by comparing the WR generation number of the target slot in the target volume with the generation number of the pair of the child generation volume of the target volume. Further, the copy processing program 112 can determine whether or not the data in the target slot in the target volume has been saved.
- FIG. 15 shows merge copy processing
- step S1710 the copy processing program 112 determines whether or not the resolution target volume is Root based on the attribute 312 of the volume information table 310 of the resolution target volume.
- the copy processing program 112 determines that the resolution target volume is Root.
- the copy processing program 112 ends this flow because there is no pair having the resolution target volume as a secondary volume and there is no data to be merged.
- the copy processing program 112 stores the cache slot corresponding to the target slot of the resolution target volume as a copy destination cache slot in S1720.
- the copy processing program 112 reads data from the entity position obtained by the entity position search process to the cache slot corresponding to the target slot of the entity position volume (copy source volume). Thereafter, in S1740, the copy processing program 112 writes the read data to an area other than the address range of the WR data in the W plane of the copy destination cache slot. Thereafter, in S1750, the copy processing program 112 changes the state 385 of the target slot of the GUDT 380 of the resolution target volume to “allocated”, and ends this flow.
- the I / O processing program 113 writes the data stored in the W side of the copy destination cache slot to the pool slot indicated in the target slot of the GUDT 380 of the resolution target volume by destaging.
- the copy processing program 112 can write the updated data based on the WR data to the target slot of the resolution target volume.
- FIG. 16 shows an outline of the CAW elimination process of the second embodiment.
- CAW cancellation job consumes resources such as memory in the storage apparatus 10, in the first embodiment, when the CAW cancellation job starts a new CAW cancellation job, many resources may be consumed.
- one CAW elimination job saves resources by sequentially eliminating CAW states in a plurality of volumes (1, 2, 3).
- FIG. 17 shows a CAW cancellation job of the second embodiment.
- the volume accessed by a Read job or the like is called an access volume, and the accessed slot is called a target slot.
- step S2110 the copy processing program 112 performs initial setting of a CAW resolution job based on the job management table.
- the copy processing program 112 performs CAW cancellation target determination processing, specifies the highest volume with the target slot in the CAW state from the access volume as the cancellation target volume, and performs old data save processing and merge copy processing. Specify the copy source volume.
- the copy processing program 112 performs the above-described old data saving process from the copy source volume to the save destination volume of the cancellation target volume. Thereafter, in S2140, the copy processing program 112 performs the aforementioned merge copy processing from the copy source volume to the cancellation target volume. Thereafter, in step S2150, the copy processing program 112 determines whether to end the CAW cancellation job. Here, when the cancellation target volume is an access volume, the copy processing program 112 determines to end the CAW cancellation job.
- the copy processing program 112 moves the process to S2120 and selects the next resolution target volume.
- the copy processing program 112 performs the CAW cancellation job termination process in S2160 and terminates this flow.
- a single CAW elimination job can eliminate the CAW status of a plurality of volumes for eliminating the CAW status of the target slot of the access volume.
- FIG. 18 shows a CAW cancellation target determination process of the second embodiment.
- the copy processing program 112 selects an access volume as a search volume in S2210. Thereafter, in step S2220, the copy processing program 112 performs the above-described entity position search process, and determines whether the target slot of the entity position volume is in the CAW state based on the result.
- the copy processing program 112 When it is determined that the target slot of the actual position volume is in the CAW state (S2220: CAW ON detection), the copy processing program 112 stores the actual position volume as a CAW volume in S2240, and searches for the CAW volume in S2250. Select as volume. Thereafter, in step S2260, the copy processing program 112 performs second entity position search processing on the search volume, and determines the obtained entity position.
- the copy processing program 112 selects Root as the cancellation target volume in S2270 and copies the Root. This is selected as the original volume and this flow is terminated.
- the copy processing program 112 selects the CAW volume as the volume to be resolved in S2280, selects the entity position volume as the copy source volume, and ends this flow.
- the copy processing program 112 can detect the cancellation target volume and the copy source volume.
- FIG. 19 shows a second entity position search process according to the second embodiment.
- the copy processing program 112 determines the target slot state 385 in the search volume GUDT 380 and the target slot information 323 of the search volume slot information 320.
- the copy processing program 112 determines that the CAW state cannot be detected in S2330, and thus ends abnormally and ends this flow. To do.
- the copy processing program 112 in S2340 indicates that the target slot state 375 in the GCMT 370 of the search volume is “unallocated”. It is determined whether or not.
- the copy processing program 112 in S2350, the actual position volume is the search volume and the actual position is It is indicated in the GCMT of the actual position volume and the target slot of the actual position volume is not in the CAW state, and this flow is terminated.
- the copy processing program 112 determines in S2360 whether there is a younger generation of the search volume. judge.
- the copy processing program 112 selects the brother generation volume immediately after the search volume as a new search volume in S2370, and shifts the processing to S2340.
- the copy processing program 112 determines in S2380 whether there is a parent generation of the search volume.
- the copy processing program 112 determines that the process has ended abnormally in S2390 and ends this flow.
- the copy processing program 112 selects the parent generation volume of the search volume as a new search volume in S2410. Thereafter, in S2420, the copy processing program 112 determines whether or not the search volume is Root.
- the copy processing program 112 refers to the target slot information 323 of the slot information 320 of the search volume in S2430, and the target slot of the search volume is in the CAW state. It is determined whether or not.
- the copy processing program 112 If it is determined that the target slot is not in the CAW state (S2430: No), in S2440, the copy processing program 112 returns that the actual position volume is Root and the target slot of the Root is not in the CAW state, and ends this flow. To do.
- the copy processing program 112 in S2460, indicates the target slot state 385 in the search volume GUDT 380 and the target slot information 323 of the search volume slot information 320. Is determined.
- the copy processing program 112 in S2470, the entity position volume is the search volume and the entity position is It is indicated in the search volume GUDT and the target slot of the entity position volume is not in the CAW state, and this flow is terminated.
- the copy processing program 112 determines that the actual location volume is the search volume in S2480. It is returned that the actual position is indicated in the GUDT of the actual position volume and the target slot of the actual position volume is in the CAW state, and this flow is finished.
- the copy processing program 112 can detect the highest volume that should cancel the CAW state of the target slot as the entity position volume.
- FIG. 20 shows an outline of the CAW elimination process of the third embodiment.
- the copy source data for canceling the CAW state may be common depending on the snapshot structure and the position of the volume in the CAW state.
- the copy processing program 112 of this embodiment creates a copy list indicating a copy source and a copy destination for eliminating a plurality of CAW states, and performs copying based on the copy list. Since the copy processing program 112 copies one copy source data to a plurality of copy destinations, the resources of the storage apparatus 10 can be saved.
- FIG. 21 shows the copy list 410.
- the copy list 410 has a head attribute 411, a head SSID 412, and a list length 413.
- the copy list 410 includes a volume as an element and, for each element, a subscript 421, a CAW cancellation target SSID 422, copy source data information 423, old data save necessity 424, old data save destination SSID 425, and merge copy required. It includes a rejection 426 and a copy status 427.
- the head attribute 411 is an attribute of the searched highest copy source volume, and indicates any of Root, GCMT, and GUDT.
- the head SSID 412 is the SSID of the highest copy source volume. When the head attribute 411 is Root, the head SSID 412 is invalid.
- the length 413 of the list includes the subscript 421, the CAW cancellation target SSID 422, the copy source data information 423, the old data save necessity 424, the old data save destination SSID 425, the merge copy necessity 426, and the copy status 427. The number of each element is shown.
- the subscript 421 is a number indicating an element.
- the CAW cancellation target SSID 422 indicates the SSID of the volume whose target slot is in the CAW state.
- the copy source data information 423 indicates whether the data in the target slot of the copy source volume is the old data “old” or the current data “current”.
- the old data save necessity 424 indicates whether the old data save process is “necessary” or “no”.
- the old data save destination SSID 425 indicates the SSID of the save destination volume when old data save processing is necessary.
- the merge copy necessity 426 indicates whether the merge copy is “necessary” or “not necessary”.
- the copy status 427 indicates the processing status. “Not yet” indicates the initial state. “Medium” indicates that the copy target is selected. “Complete” indicates that the cancellation of the CAW state is completed.
- FIG. 22 shows a CAW cancellation job of the third embodiment.
- step S3110 the copy processing program 112 performs initial setting of a CAW resolution job based on the job management table. Thereafter, the copy processing program 112 creates the copy list 410 by performing a copy list creation process in S3120.
- the copy processing program 112 performs copy target volume setting processing in S3130.
- this copy target volume setting process one copy source volume and at least one copy destination volume corresponding thereto are selected as copy target volumes from the copy list, and the copy status of the selected volume in the copy list 410 is selected. In 427, the selected state is recorded.
- the copy processing program 112 performs a copy source read process in S3140. In this copy source read process, a copy source volume is selected from the copy list 410, and the data of the target slot of the copy source volume is read to a temporary area in the cache area.
- the copy processing program 112 performs the old data save destination write processing in S3150.
- the old data save destination write process based on the copy list 410, the temporary area data is written to the target slot of the selected copy destination volume that requires the old data save process.
- the copy processing program 112 performs merge copy destination write processing in step S3160.
- the merge copy destination write process based on the copy list 410, the temporary area data is written to the target slot of the volume that requires a merge copy among the selected copy destination volumes.
- the copy processing program 112 determines whether or not the CAW elimination process is completed by performing an end determination process.
- the copy processing program 112 shifts the process to S3130 and selects the next copy source volume.
- the copy processing program 112 performs a CAW cancellation job end process in S3190 and ends this flow.
- the copy processing program 112 can reduce the number of reads from the copy source volume as compared with the first and second embodiments.
- FIG. 23 shows the first part of the copy list creation process of the third embodiment.
- FIG. 24 shows a second part of the copy list creation process of the third embodiment.
- the copy processing program 112 initializes a copy list in S3210. Thereafter, in S3220, the copy processing program 112 creates one element in the copy list, records “not yet” in the copy status 427, and records 1 in the length 413 of the list. Thereafter, the copy processing program 112 selects an access volume as a processing target volume in S3230.
- the copy processing program 112 records the SSID of the pair whose processing target volume is the secondary volume in the CAW cancellation target SSID 422.
- the copy processing program 112 determines whether the processing target volume is Leaf based on the volume information table 310.
- the copy processing program 112 When it is determined that the processing target volume is Leaf (S3250: Yes), the copy processing program 112 records “No” in the old data saving necessity 424 in S3290, and shifts the processing to S3310.
- the copy processing program 112 sets the processing target volume as the primary volume based on the pair information table 330 in S3260, and sets the WR generation number ⁇ 1 of the target slot. A pair having a generation number equal to is selected as pair A. That is, the pair A is a pair created immediately before Write of the processing target volume, and is a pair serving as a save destination of old data of the processing target volume. Thereafter, in S3270, the copy processing program 112 determines whether or not the GCMT state of the target slot of the pair A is “allocated”.
- the copy processing program 112 shifts the processing to the above-described S3290.
- the copy processing program 112 When it is determined that the state of the GCMT is “unallocated” (S3270: unallocated), the copy processing program 112 records “necessary” in the old data save necessity 424 in S3280, and the old data save destination SSID 425. The SSID of the pair A is recorded, and the process proceeds to S3310 (A in the figure).
- step S3310 the copy processing program 112 determines whether the processing target volume is Root. When it is determined that the processing target volume is not Root (S3310: No), the copy processing program 112 records “necessary” in the merge copy necessity 426 in S3320, and shifts the processing to S3340. If it is determined that the processing target volume is Root (S3310: Yes), the copy processing program 112 records “No” in the merge copy necessity 426 in S3330, and shifts the processing to S3340.
- step S3340 the copy processing program 112 performs the above-described second entity position search process using the processing target volume as a search volume, and determines whether the target slot of the obtained entity position volume is in the CAW state.
- the subsequent S3410 to S3430 set the copy source information.
- the copy processing program 112 determines whether or not the WR generation number-1 of the target slot of the copy source volume (primary volume) of the processing target volume is larger than the generation number of the processing target volume.
- step S3410 If it is determined that the WR generation number-1 of the target slot of the copy source volume is larger than the generation number of the processing target volume (S3410: Yes), the copy source volume is created after the copy source volume and processing target volume pair is created.
- the copy processing program 112 records “old” in the copy source data information 423 in order to indicate that the target slot is updated and the data of the processing target volume is the old data of the copy source volume.
- the target slot of the copy source volume is updated and then the processing is performed.
- the copy processing program 112 records “current” in the copy source data information 423 in S3430 to indicate that the target volume pair is created and the data of the processing target volume is the current data of the copy source volume.
- the copy processing program 112 adds 1 to the length 413 of the list in S3440, records “not yet” in the copy status 427 in S3450, selects the entity position volume as the processing target volume in S3460, and The process proceeds to S3240 (B in the figure) described above.
- the copy processing program 112 determines the actual position in S3510.
- the copy processing program 112 When it is determined that the entity position volume is Root (S3510: Root), the copy processing program 112 records Root in the head attribute 411 in S3520, records invalidity in the head SSID 412 in S3530, and executes this flow. finish.
- the copy processing program 112 When it is determined that the entity position is indicated in the GCMT of the entity position volume (S3510: GCMT), the copy processing program 112 records the GCMT in the head attribute 411 in S3540, and in S3560 the entity position in the head SSID 412. The SSID of the volume is recorded and this flow is finished.
- the copy processing program 112 When it is determined that the entity position is indicated in the GUDT of the entity position volume (S3510: GUDT), the copy processing program 112 records GCMT in the head attribute 411 in S3550, and in S3560, the entity position is stored in the head SSID 412. The SSID of the volume is recorded and this flow is finished.
- the copy processing program 112 creates the copy list 410 indicating the settings of the copy target volume setting process, the copy source read process, the old data save destination write process, and the merge copy destination write process. Can do.
- the volume as an element is arranged from the access volume to the higher volume in ascending order of the subscript 421.
- the above-described example of the copy list 410 shows a state after the copy list creation process.
- FIG. 25 shows a copy target volume setting process according to the third embodiment.
- the copy processing program 112 substitutes the list length 413 into a pointer for designating the subscript 421 of the element of the copy list 410. Thereafter, in S3620, the copy processing program 112 determines whether or not the copy state 427 of the element indicated by the pointer is “not yet”.
- the copy processing program 112 subtracts 1 from the pointer in S3630 and determines whether the pointer is 0 in S3640.
- the copy processing program 112 shifts the process to S3620 and determines the next element.
- the copy processing program 112 determines in S3650 whether the copy source data information 423 of the element indicated by the pointer is “present”. Determine.
- the copy processing program 112 shifts the processing to the above-described S3660.
- the copy processing program 112 When it is determined that the copy source data information 423 is “current” (S3650: current), the copy processing program 112 records the content in the copy state 427 of the element indicated by the pointer in S3710, and in S3720. 1 is subtracted from the pointer, and in S3730, it is determined whether or not the pointer is 0.
- the copy processing program 112 determines in S3740 whether the copy source data information 423 of the element indicated by the pointer is current.
- the copy processing program 112 determines that the copy source data information 423 is “current” in order from the higher volume among the volumes shown in the copy list 410 (in descending order of the subscript 421). Volume (pair secondary volume created after parent generation WR) is used as the copy source volume, followed by "old" volume (pair secondary volume created before parent generation WR) Can be selected as the copy destination volume, the group can be selected as the copy target volume, and the copy status 427 can be changed to “medium”.
- the first copy target volume setting process selects volumes with subscripts 5 to 3 as copy target volumes, and the next copy target volume setting process includes subscripts 2 to 1 Volumes up to and including are selected as copy target volumes.
- FIG. 26 shows a copy source read process according to the third embodiment.
- step S3810 the copy processing program 112 substitutes the list length 413 into a pointer that designates the subscript 421. Thereafter, in S3820, the copy processing program 112 determines whether or not the copy state 427 of the element indicated by the pointer is “medium”.
- the copy processing program 112 subtracts 1 from the pointer in S3830, and determines whether the pointer is 0 in S3840.
- the copy processing program 112 shifts the processing to S3820 and determines the next element.
- the copy processing program 112 determines whether or not the pointer matches the list length 413 in S3860.
- the copy processing program 112 selects the volume indicated by the head SSID 412 and the head attribute 411 as a copy source volume in S3870, and performs processing. The process proceeds to S3890.
- the copy processing program 112 sets the volume indicated by the CAW resolution target SSID 422 of the element of pointer + 1 as the copy source volume.
- the actual position indicated in the GUDT of the target slot of the volume is acquired, and the process proceeds to S3890.
- the copy processing program 112 reads the data stored at the actual position of the target slot of the copy source volume to the temporary area, and ends this flow.
- the data of the highest volume in the copy target volume can be read to the temporary area.
- the copy processing program 112 performs the first copy for the first copy.
- the volume indicated by the attribute 411 and the head SSID 412 is selected as the copy source volume.
- the copy processing program 112 selects the lowest volume of the previous copy target volume (the largest subscript + 1 volume of the current copy target volume) as the copy source volume.
- the first copy source read process selects Root as the copy source volume
- the next copy source read process selects the volume with the subscript 2 as the copy source volume.
- FIG. 27 shows the old data save destination Write process of the third embodiment.
- the copy processing program 112 substitutes the length 413 of the list into a pointer for designating the subscript 421 of the element. Thereafter, in S4120, the copy processing program 112 determines whether or not the copy state 427 of the element indicated by the pointer is “medium”.
- the copy processing program 112 subtracts 1 from the pointer in S4130, and determines whether the pointer is 0 in S4140.
- the copy processing program 112 shifts the processing to S4120 and determines the next element.
- the copy processing program 112 determines in S4160 whether the old data save necessity 424 of the element indicated by the pointer is “necessary”. Determine whether.
- the copy processing program 112 saves the volume indicated by the old data save destination SSID 425 of the element indicated by the pointer in S4170.
- the cache slot corresponding to the target slot of the save destination volume is selected as the save destination cache slot, and the data in the temporary area is written to the save destination cache slot.
- the copy processing program 112 subtracts 1 from the pointer in S4210, and determines whether or not the pointer is 0 in S4220.
- the copy processing program 112 determines in S4230 whether the copy state 427 of the element indicated by the pointer is “medium”.
- the copy processing program 112 shifts the processing to S4160 and determines the next element.
- the copy processing program 112 can write the data in the temporary area to the save destination volume. Further, the copy processing program 112 can select the volume indicated by the old data save destination SSID 425 of the volume whose old data save necessity 424 is “necessary” among the copy target volumes as the save destination volume.
- FIG. 28 shows merge copy destination write processing of the third embodiment.
- the first steps S4110 to S4150 in the merge copy destination write process are the same as the old data save destination write process described above.
- the copy processing program 112 determines in S4160b whether the merge copy necessity 426 of the element indicated by the pointer is “necessary”. Determine.
- the copy processing program 112 changes the volume indicated by the CAW cancellation target SSID 422 of the element indicated by the pointer to the copy destination volume.
- the cache slot corresponding to the target slot of the copy destination volume is selected as the copy destination cache slot, and the data in the temporary area is written to the copy destination cache slot.
- the copy processing program 112 changes the copy state 427 of the element indicated by the pointer to “complete”.
- the copy processing program 112 can write the data in the temporary area to the merge copy destination pool slot of each copy destination volume. Also, the copy processing program 112 can select the volume indicated by the CAW resolution target SSID 422 as the copy destination volume for the volume whose merge copy necessity 426 is “necessary” among the copy target volumes.
- FIG. 29 shows the end determination process of the third embodiment.
- the copy processing program 112 releases the temporary area in S4510. Thereafter, the copy processing program 112 assigns 1 to the pointer in S4520.
- the copy processing program 112 determines whether or not the copy state 427 of the element indicated by the pointer is “complete”.
- the copy processing program 112 determines that the CAW resolution processing is incomplete, and ends this flow.
- the copy processing program 112 adds 1 to the pointer in S4540, and whether the pointer is greater than the value of the list length 413 in S4550. Determine whether or not.
- the copy processing program 112 shifts the processing to S4530 and determines the next element.
- the copy processing program 112 can determine whether or not the CAW elimination processing is completed using the copy list 410.
- FIG. 30 shows an outline of a modification of the third embodiment.
- the CAW elimination job specifies the copy source and the copy destination as in the third embodiment. Thereafter, a request is made to another job for copy processing from the copy source to the copy destination. Thereby, since a plurality of copy jobs can be operated in a multiplexed manner, the processing time can be reduced as compared with the third embodiment. On the other hand, multiple copy job resources are required.
- FIG. 31 shows a CAW cancellation job according to a modification of the third embodiment.
- First S3110 to 3140 in the CAW cancellation job of the modification are the same as those of the CAW cancellation job of the third embodiment.
- the copy processing program 112 starts a job of processing similar to the old data save destination Write processing in S3150. Thereafter, in S3160b, the copy processing program 112 activates a job of the same process as the merge copy destination write process of S3160, and waits until the activated job ends.
- the copy processing program 112 acquires the job results of S3150b and S3160b. Subsequent S3180 to 3190 are the same as the CAW cancellation job of the third embodiment.
- the copy processing program 112 can reduce the processing time as compared with the CAW elimination job of the third embodiment.
- FIG. 32 shows an outline of the CAW elimination processing of the fourth embodiment.
- the old data save destination is a GCMT shared between generations. For this reason, the old data save destination is not updated by Write. Therefore, when the old data saving process is performed for each generation, the same data is copied.
- the copy processing program 112 of the present embodiment copies the saved data of the same copy source only once, and records the old data save destination as the reference destination of each GCMT, thereby improving the data usage efficiency of the pool.
- FIG. 33 shows a CAW cancellation job of the fourth embodiment.
- the first S3110 to S3140 in the CAW cancellation job of the fourth embodiment are the same as the CAW cancellation job of the third embodiment.
- the copy processing program 112 performs old data write processing for writing the common saved data to the pool only once. Thereafter, in S3155d, the copy processing program 112 performs save destination setting processing for recording a pointer indicating the save destination pool slot of the save data in the GCMT.
- FIG. 34 shows the old data write process of the fourth embodiment.
- step S5110 the copy processing program 112 searches for an empty pool slot and secures the obtained empty pool slot as a save destination pool slot. Thereafter, in step S5120, the copy processing program 112 copies from the temporary area to the save destination pool slot. Thereafter, in S5130, the copy processing program 112 changes the status 364 of the save destination pool slot in the pool slot information 360 from “unallocated” to “allocated”, and ends this flow.
- the copy processing program 112 can copy the copy source data to the pool.
- FIG. 35 shows a save destination setting process according to the fourth embodiment.
- First steps S4110 to S4170 in the save destination setting process of the fourth embodiment are the same as the old data save destination write process of the third embodiment.
- the copy processing program 112 records the save destination pool slot in the pool information of the target slot in the GCMT of the element indicated by the pointer, and changes the state of the target slot to “allocated”. Thereafter, in S4190d, the copy processing program 112 records information indicating the GCMT target slot of the element indicated by the pointer in the reference source information of the save destination pool slot in the pool slot information 360.
- the copy processing program 112 can allocate the save data written to the pool to a plurality of volumes.
- the confirmation process corresponds to a CAW cancellation process or the like.
- the save process corresponds to an old data save process, an old data save destination write process, an old data write process, a save destination setting process, and the like.
- the merge process corresponds to a merge copy process, a merge copy destination write process, and the like.
- Confirmation of data corresponds to the fact that the data is not in the CAW state, the CAW flag is OFF, and the like.
- the fact that the data has not been determined corresponds to a CAW state, a CAW flag being ON, and the like.
- the unconfirmed volume corresponds to a volume whose target slot is in the CAW state.
- SYMBOLS 10 ... Storage device, 20 ... Host computer, 30 ... Management terminal, 100 ... Controller, 110 ... Memory, 120 ... CPU, 130 ... Bridge, 140 ... Upper interface, 150 ... Lower interface, 160 ... Communication interface, 200 ... Storage device 210 ... disc
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)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
(2)コピー処理プログラム112は、正ボリュームの対象スロットのCAWフラグをONに設定する。
(3)コピー処理プログラム112は、ホスト計算機20からWRデータを受領し、キャッシュ領域のうち、正ボリュームの対象スロットに対応する対象キャッシュスロットのW面のうち、WR要求で指定されたアドレス範囲に対応する領域へ、WRデータを書き込む。
(4)I/O処理プログラム113は、WR要求に対する応答を、ホスト計算機20へ送信する。
(B)コピー処理プログラム112は、対象キャッシュスロットのR面に格納されている旧データを、副ボリュームの対象スロットに対応するキャッシュスロットのW面へコピーする旧データ退避(退避コピー)処理を行う。その後、I/O処理プログラム113は、デステージングにより、旧データを、W面から当該プールスロットへ書き込む。旧データ退避処理において、キャッシュスロットが正ボリュームの対象スロットに割り当てられていない場合、コピー処理プログラム112は、正ボリュームの対象スロットに対象キャッシュスロットを割り当て、対象キャッシュスロットのR面へ旧データをステージングする。
(C)コピー処理プログラム112は、正ボリュームの対象スロットのCAWフラグをOFFに設定する。
Claims (14)
- 記憶デバイスと、
メモリと、
前記記憶デバイス、前記メモリ、及びホスト計算機に接続されるプロセッサと、
を備え、
前記プロセッサは、前記記憶デバイスを用いるプールを作成し、
前記プロセッサは、複数のボリュームを作成し、各ボリュームは、複数のスロットを含み、前記複数のボリュームは、ルートボリュームと、複数の仮想ボリュームとを含み、各仮想ボリュームは、指示された時点における、前記複数のボリュームのうち他の一つの親ボリュームのスナップショットを格納し、
前記プロセッサは、各仮想ボリューム内の複数のスロットを、対応する親ボリューム内の複数のスロットに夫々関連付け、
前記プロセッサは、各仮想ボリューム内のデータを格納するスロットを、前記プール内のプール領域に関連付け、
前記プロセッサは、前記親ボリュームと対応する仮想ボリュームとの間の差分データを、前記プールへ書き込み、
前記プロセッサは、前記複数のボリュームと前記プールの関係を示す管理情報を、前記メモリへ記録し、
前記プロセッサは、前記複数のボリュームの中の対象ボリューム内の対象スロットへのライトデータを前記ホスト計算機から受信する場合、前記対象ボリューム内の対象スロットのデータが確定していないことを前記管理情報へ記録し、前記メモリ内の対象キャッシュ領域へ前記ライトデータを書き込み、前記ホスト計算機へ応答を送信し、
前記プロセッサは、前記対象ボリューム内の対象スロット内の対象データを参照する前に、前記管理情報に基づいて、前記対象データが確定しているか否かを判定し、
前記対象データが確定していないと判定された場合、前記プロセッサは、前記対象データを確定させるための確定処理を行い、前記対象データを参照し、
前記確定処理は、前記管理情報に基づいて、前記対象ボリューム内の対象スロットのデータを格納するコピー元ボリュームを選択し、前記管理情報に基づいて、前記コピー元ボリューム内の対象スロット内のコピー元データが確定しているか否かを判定し、
前記コピー元データが確定していると判定された場合、前記確定処理は、前記対象データを退避させるための退避処理を行い、前記対象データを更新するためのマージ処理を行い、前記対象データが確定していることを前記管理情報へ記録し、
前記退避処理は、前記管理情報に基づいて、前記対象データの退避が必要であるか否かを判定し、
前記対象データの退避が必要であると判定された場合、前記退避処理は、前記対象データを前記プールへ書き込み、
前記マージ処理は、前記コピー元データと前記ライトデータとをマージすることでマージデータを生成し、前記マージデータを前記プールへ書き込む、
ストレージ装置。 - 前記コピー元データが確定していないと判定された場合、前記確定処理は、前記コピー元データを確定させるための確定処理を行う、
請求項1に記載のストレージ装置。 - 前記コピー元データが確定していると判定された場合、前記確定処理は、前記管理情報に基づいて、前記対象ボリュームのスナップショットを格納する退避先ボリュームを選択し、前記管理情報に基づいて、前記対象データの退避が必要であるか否かを判定し、
前記対象データの退避が必要であると判定された場合、前記確定処理は、前記プール内の退避先プール領域を、前記退避先ボリューム内の対象スロットに関連付け、前記コピー元データを前記退避先プール領域へ書き込み、前記マージデータを前記プール内の更新先プール領域を、前記対象ボリューム内の対象スロットに関連付け、前記マージデータを前記更新先プール領域へ書き込む、
請求項2に記載のストレージ装置。 - 前記確定処理は、前記対象キャッシュ領域のうち、前記ライトデータにより更新されるアドレス範囲以外である維持アドレス範囲を特定し、前記コピー元データのうち前記維持アドレス範囲内のデータを、前記対象キャッシュ領域のうち前記維持アドレス範囲へ書き込むことで、前記マージデータを生成する、
請求項3に記載のストレージ装置。 - 前記プロセッサは、前記対象データを参照する場合、前記対象データに対する確定処理を行う第一ジョブを起動し、
前記コピー元データが確定していないと判定された場合、前記第一ジョブは、前記コピー元データに対する確定処理の第二ジョブを起動し、待機し、
前記第二が終了した場合、前記第一ジョブは、再起動する、
請求項4に記載のストレージ装置。 - 前記確定処理は、前記管理情報に基づいて、前記対象ボリューム以後の世代のボリュームであって、対象スロット内のデータが確定していないボリュームのうち、最新の世代のボリュームを、未確定ボリュームとして選択する処理と、前記未確定ボリュームに対する退避処理と、前記未確定ボリュームに対するマージ処理とを、前記未確定ボリュームが無くなるまで繰り返す、
請求項4に記載のストレージ装置。 - 前記確定処理は、前記管理情報に基づいて、前記対象ボリューム以後の世代のボリュームであって、対象スロット内のデータが確定していないボリュームを、最新の世代のボリュームから順に、未確定ボリュームとして選択し、前記未確定ボリュームに対するコピー元ボリュームと、前記未確定ボリュームに対する少なくとも一つの退避先ボリュームと、前記未確定ボリュームに対する少なくとも一つの更新先ボリュームとを選択し、前記コピー元ボリューム内の対象スロット内のデータを、前記メモリ内のテンポラリ領域へ読み出し、
前記退避処理は、前記テンポラリ領域内のデータを、前記少なくとも一つの退避先ボリューム内の対象スロットに関連付けられた退避先プール領域へ書き込み、
前記マージ処理は、前記テンポラリ領域内のデータと前記ライトデータとをマージすることで前記マージデータを生成し、前記マージデータを、前記少なくとも一つの更新先ボリューム内の対象スロットに関連付けられた更新先データ領域へ書き込み、
請求項4に記載のストレージ装置。 - 前記確定処理は、前記少なくとも一つの退避先ボリュームの夫々に対する退避処理のジョブを起動し、
前記確定処理は、前記少なくとも一つの更新先ボリュームの夫々に対するマージ処理のジョブを起動する、
請求項7に記載のストレージ装置。 - 前記確定処理は、前記管理情報に基づいて、前記対象ボリューム以後の世代のボリュームであって、対象スロット内のデータが確定していないボリュームを、最新の世代のボリュームから順に、未確定ボリュームとして選択し、前記未確定ボリュームに対するコピー元ボリュームと、前記未確定ボリュームに対する少なくとも一つの退避先ボリュームと、前記未確定ボリュームに対する少なくとも一つの更新先ボリュームとを選択し、前記コピー元ボリューム内の対象スロット内のデータを、前記メモリ内のテンポラリ領域へ読み出し、
前記退避処理は、前記プールから前記退避先プール領域を確保し、前記テンポラリ領域内のデータを、退避先プール領域へ書き込み、前記退避先プール領域を、前記少なくとも一つの退避先ボリュームの夫々の中の対象スロットに関連付け、
前記マージ処理は、前記テンポラリ領域内のデータと前記ライトデータとをマージすることで前記マージデータを生成し、前記マージデータを、前記少なくとも一つの更新先ボリューム内の対象スロットに関連付けられた更新先データ領域へ書き込む、
請求項4に記載のストレージ装置。 - 前記プロセッサは、前記ライトデータの書き込みの時点と、スナップショットの世代との順序を示す識別番号を、前記管理情報へ記録し、
前記確定処理は、前記ライトデータの書き込みの識別番号と、前記対象ボリュームのスナップショットを格納するスナップショットの識別番号とを比較することで、前記ライトデータの時点の直前のスナップショットのボリュームを、前記退避先ボリュームとして選択する、
請求項3に記載のストレージ装置。 - 前記対象ボリュームのスナップショットの作成の後に、前記コピー元データ及び前記対象データが更新されていない状態で、前記ライトデータが受信された場合、前記退避処理は、前記対象データの退避が必要であると判定する、
請求項1に記載のストレージ装置。 - 前記プロセッサは、前記管理情報に基づいて、スナップショットを作成する指示を受信した場合、前記スナップショットの親ボリュームが、他のボリュームのスナップショットを格納するか否かを示す情報を、表示デバイスに表示させる、
請求項1に記載のストレージ装置。 - 前記プロセッサは、前記管理情報に基づいて、前記複数のボリュームの間のスナップショットの関係を示す情報を、表示デバイスに表示させる、
請求項1に記載のストレージ装置。 - 記憶デバイス、メモリ、及びホスト計算機に接続されるプロセッサに、プロセスを実行させるプログラムを格納するコンピュータ読み取り可能な記録媒体であって、前記プロセスは、
前記記憶デバイスを用いるプールを作成し、
複数のボリュームを作成し、各ボリュームは、複数のスロットを含み、前記複数のボリュームは、ルートボリュームと、複数の仮想ボリュームとを含み、各仮想ボリュームは、指示された時点における、前記複数のボリュームのうち他の一つの親ボリュームのスナップショットを格納し、
各仮想ボリューム内の複数のスロットを、対応する親ボリューム内の複数のスロットに夫々関連付け、
各仮想ボリューム内のデータを格納するスロットを、前記プール内のプール領域に関連付け、
前記親ボリュームと対応する仮想ボリュームとの間の差分データを、前記プールへ書き込み、
前記複数のボリュームと前記プールの関係を示す管理情報を、前記メモリへ記録し、
前記複数のボリュームの中の対象ボリューム内の対象スロットへのライトデータを前記ホスト計算機から受信する場合、前記対象ボリューム内の対象スロットのデータが確定していないことを前記管理情報へ記録し、前記メモリ内の対象キャッシュ領域へ前記ライトデータを書き込み、前記ホスト計算機へ応答を送信し、
前記対象ボリューム内の対象スロット内の対象データを参照する前に、前記管理情報に基づいて、前記対象データが確定しているか否かを判定し、
前記対象データが確定していないと判定された場合、前記対象データを確定させるための確定処理を行い、前記対象データを参照する、
ことを備え、
前記確定処理は、前記管理情報に基づいて、前記対象ボリューム内の対象スロットのデータを格納するコピー元ボリュームを選択し、前記管理情報に基づいて、前記コピー元ボリューム内の対象スロット内のコピー元データが確定しているか否かを判定し、
前記コピー元データが確定していると判定された場合、前記確定処理は、前記対象データを退避させるための退避処理を行い、前記対象データを更新するためのマージ処理を行い、前記対象データが確定していることを前記管理情報へ記録し、
前記退避処理は、前記管理情報に基づいて、前記対象データの退避が必要であるか否かを判定し、
前記対象データの退避が必要であると判定された場合、前記退避処理は、前記対象データを前記プールへ書き込み、
前記マージ処理は、前記コピー元データと前記ライトデータとをマージすることでマージデータを生成し、前記マージデータを前記プールへ書き込む、
記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017559962A JP6472901B2 (ja) | 2016-01-05 | 2016-01-05 | ストレージ装置および記録媒体 |
PCT/JP2016/050129 WO2017119065A1 (ja) | 2016-01-05 | 2016-01-05 | ストレージ装置および記録媒体 |
US15/759,166 US10514851B2 (en) | 2016-01-05 | 2016-01-05 | Storage apparatus and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/050129 WO2017119065A1 (ja) | 2016-01-05 | 2016-01-05 | ストレージ装置および記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017119065A1 true WO2017119065A1 (ja) | 2017-07-13 |
Family
ID=59273394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/050129 WO2017119065A1 (ja) | 2016-01-05 | 2016-01-05 | ストレージ装置および記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10514851B2 (ja) |
JP (1) | JP6472901B2 (ja) |
WO (1) | WO2017119065A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079526A (ja) * | 2008-09-25 | 2010-04-08 | Hitachi Ltd | ジャーナルの階層を管理する計算機システム及び方法 |
JP2014507693A (ja) * | 2011-05-31 | 2014-03-27 | 株式会社日立製作所 | ストレージシステムおよび記憶制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4800031B2 (ja) * | 2005-12-28 | 2011-10-26 | 株式会社日立製作所 | ストレージシステム及びスナップショット管理方法 |
US9026753B2 (en) * | 2012-02-16 | 2015-05-05 | Hitachi, Ltd. | Snapshot volume generational management for snapshot copy operations using differential data |
JP6216866B2 (ja) * | 2014-03-13 | 2017-10-18 | 株式会社日立製作所 | ストレージシステムおよびストレージ制御方法 |
US20170032005A1 (en) * | 2015-07-31 | 2017-02-02 | Netapp, Inc. | Snapshot and/or clone copy-on-write |
-
2016
- 2016-01-05 JP JP2017559962A patent/JP6472901B2/ja active Active
- 2016-01-05 US US15/759,166 patent/US10514851B2/en active Active
- 2016-01-05 WO PCT/JP2016/050129 patent/WO2017119065A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079526A (ja) * | 2008-09-25 | 2010-04-08 | Hitachi Ltd | ジャーナルの階層を管理する計算機システム及び方法 |
JP2014507693A (ja) * | 2011-05-31 | 2014-03-27 | 株式会社日立製作所 | ストレージシステムおよび記憶制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180285000A1 (en) | 2018-10-04 |
US10514851B2 (en) | 2019-12-24 |
JPWO2017119065A1 (ja) | 2018-05-24 |
JP6472901B2 (ja) | 2019-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4920898B2 (ja) | 計算機システム、データ管理方法およびプログラム | |
JP4993928B2 (ja) | 記憶システム及び記憶領域解放方法並びにストレージシステム | |
JP5551245B2 (ja) | ファイル共有システムおよびファイル処理方法、並びにプログラム | |
JP4776342B2 (ja) | ストレージシステムでオブジェクトレベルのスナップショットを生成するシステムと方法 | |
WO2014087441A1 (en) | Computer system and method of controlling computer system | |
JP5309043B2 (ja) | ストレージシステム及びストレージシステムでの重複データ削除のための方法 | |
US7860909B2 (en) | Search engine system using snapshot function of storage system | |
JP2009104421A (ja) | ストレージアクセス装置 | |
JPWO2015052798A1 (ja) | ストレージシステム及び記憶制御方法 | |
JP2005031716A (ja) | データバックアップの方法及び装置 | |
JP2008065525A (ja) | 計算機システム、データ管理方法及び管理計算機 | |
JP6623692B2 (ja) | ログ情報採取システム、ログ情報採取プログラムおよびログ情報採取方法 | |
JP2010102479A (ja) | 計算機システム、ストレージ装置及びデータ更新方法 | |
US20100211949A1 (en) | Management computer and processing management method | |
US20070192553A1 (en) | Backup apparatus and backup method | |
US20150254143A1 (en) | Computer system, cluster management method, and management computer | |
JP4731420B2 (ja) | 複数の仮想計算機からのテープ媒体へのアクセスを制御する方法及びシステム | |
JP2008102672A (ja) | 計算機システム、管理計算機、操作制御情報の設定方法 | |
US9648104B2 (en) | Configuration information acquisition method and management computer | |
US20120246425A1 (en) | Storage system and performance management method of storage system | |
US20060271608A1 (en) | Methods and systems for automatically identifying a modification to a storage array | |
JP5421201B2 (ja) | 計算機システムを管理する管理システム及び管理方法 | |
JP6442642B2 (ja) | 計算機システムを管理する管理システム及び管理方法 | |
JP6472901B2 (ja) | ストレージ装置および記録媒体 | |
CN110703995B (zh) | 存储系统架构及其访问数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16883570 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017559962 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15759166 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16883570 Country of ref document: EP Kind code of ref document: A1 |