WO2018167950A1 - Storage system and copying control method - Google Patents
Storage system and copying control method Download PDFInfo
- Publication number
- WO2018167950A1 WO2018167950A1 PCT/JP2017/010953 JP2017010953W WO2018167950A1 WO 2018167950 A1 WO2018167950 A1 WO 2018167950A1 JP 2017010953 W JP2017010953 W JP 2017010953W WO 2018167950 A1 WO2018167950 A1 WO 2018167950A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- area
- host
- replication
- past
- destination
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Definitions
- the present invention generally relates to replication control in a hierarchical storage system.
- Data replication is performed, for example, to change the data arrangement.
- data arrangement control a technique disclosed in Patent Document 1 is known.
- a storage system has a CM (cache memory) and a plurality of PDEVs (nonvolatile storage devices), and provides a plurality of VOLs (logical volumes). Multiple VOLs are based on multiple PDEVs. Data written to the VOL is written to the PDEV corresponding to the write destination area.
- the plurality of VOLs include a PVOL and an SVOL that form a replication pair.
- PVOL is a primary VOL and is typically a replication source VOL.
- SVOL is a secondary VOL and is typically a replication destination VOL.
- the process of reading the replication target data from the PVOL to the CM and transferring the data in order to replicate the data to the SVOL is hereinafter referred to as “data replication”. Processing including data replication is hereinafter referred to as “duplication processing”.
- a hierarchical storage system having a plurality of PDEVs with different I / O (Input / Output) performance is known.
- I / O Input / Output
- a PDEV with relatively high I / O performance is referred to as “high-speed PDEV”
- a PDEV with relatively low I / O performance at least a PDEV with lower I / O performance than the high-speed PDEV
- an I / O request from the host is referred to as a “host I / O request”.
- a write request among host I / O requests is referred to as a “host write request”
- a read request among host I / O requests is referred to as a “host read request”.
- the “host” may be a host system (one or more host computers) connected to the storage system, or a first VM (VM (Virtual Machine) operating as a host system) executed in the storage system. Good. In the latter case, the second VM executed in the storage system may perform host I / O processing (processing according to the host I / O request) and replication processing as a storage controller.
- the “storage system” is one or more physical storage devices.
- the “storage device” may be any device capable of storing data, and may be a server computer, for example.
- the storage system In the host write process (process according to the host write request), the storage system temporarily stores write target data associated with the host write in the CM.
- the storage system In the asynchronous replication process (replication process performed asynchronously with the host write process), the storage system includes writing the write target data once to the PVOL and then reading the data from the PVOL (PDEV) to the CM in the subsequent replication process. Perform data replication. For this reason, if the PDEV that stores the replication target data is a low-speed PDEV, it takes time to read data from the PDEV to the CM. As a result, the data replication time increases. This can cause at least one of the following problems. (1) Assume that the storage system can receive a host I / O request even during data replication.
- the storage system can receive a host read request designating SVOL during replication processing.
- the storage system needs to replicate the read target data from the PVOL to the SVOL.
- the read target data is stored in the low-speed PDEV, it takes a long time to copy the read target data from the PVOL to the SVOL. For this reason, it takes a long time to respond with the read target data. That is, the host I / O performance decreases.
- the storage system is configured to back up data from the SVOL to a backup VOL in or outside the storage system.
- the storage system needs to replicate the backup target data from the PVOL to the SVOL.
- the back tap target data is stored in the low speed PDEV, it takes a long time to replicate the backup target data from the PVOL to the SVOL.
- the storage system manages the host I / O history, which is the history of host I / O processing.
- the storage system performs the current replication process including the order determination process.
- the order determination process includes (a1) one or more past I / O destination areas (all I / O destination areas in the past replication process that are specified from the host I / O history) of all the PVOL difference areas. If the determination result of (a2) and (a1) is true, the replication order of all past I / O destination areas in all difference areas is Including higher than the replication order of the differential area other than all the past I / O destination areas.
- summary of embodiment is shown.
- 1 shows a configuration of a computer system according to an embodiment.
- the management information and function in a storage apparatus are shown.
- the structure of an I / O monitor table is shown.
- the structure of a past history table is shown.
- the structure of a slot management table is shown.
- the structure of a replication order table is shown.
- the structure of an area management table is shown.
- the structure of a configuration management table is shown.
- the flow of replication processing is shown. Details of the flow of order determination (S1001 in FIG. 10) are shown. Details of the flow of influence determination (S1002 in FIG. 10) are shown. Details of the flow of area reservation (S1003 in FIG. 10) are shown. . Details of the flow of order update (S1007 in FIG. 10) are shown. Details of the flow of post-processing (S1009 in FIG. 10) are shown.
- information may be described using an expression such as “xxx table”, but the information may be expressed in any data structure. That is, in order to show that the information does not depend on the data structure, the “xxx table” can be referred to as “xxx information”.
- 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.
- the “interface unit” includes one or more communication interface devices.
- the one or more communication interface devices may be one or more similar interface devices (for example, one or more NIC (Network Interface Card)) or two or more different types of interface devices (for example, NIC and HBA (Host Bus Adapter)). ).
- NIC Network Interface Card
- HBA Home Bus Adapter
- the “memory unit” is one or more memories.
- the at least one memory may be a volatile memory.
- the memory unit is mainly used for processing by the processor unit.
- the “processor unit” is one or more processors.
- the at least one processor is typically a microprocessor such as a CPU (Central Processing Unit).
- Each of the one or more processors may be a single core or a multi-core.
- the processor may include a hardware circuit that performs part or all of the processing.
- the function may be described using the expression “kkk part”, but the function may be realized by executing one or more computer programs by the processor part.
- the hardware circuit for example, FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)
- FPGA Field-Programmable Gate Array
- ASIC Application Specific Integrated Circuit
- the program source may be, for example, a program distribution computer or a computer-readable recording medium (for example, a non-transitory recording medium).
- the description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.
- PDEV means a physical storage device, and typically a non-volatile storage device (for example, an auxiliary storage device).
- the PDEV may be, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
- RAID is an abbreviation for Redundant “Array” of “Independent” (or “Inexpensive)” Disks.
- the RAID group is composed of a plurality of PDEVs (typically the same kind of PDEVs), and stores data according to the RAID level associated with the RAID group.
- the RAID group may be referred to as a parity group.
- the parity group may be, for example, a RAID group that stores parity.
- the RAID group may be composed of a plurality of storage areas based on a plurality of PDEVs.
- VOL (or “volume”) is an abbreviation for logical volume, and may be a logical storage device.
- the VOL may be a substantial VOL (RVOL) or a virtual VOL (VVOL).
- the “RVOL” may be a VOL based on a physical storage resource (for example, one or more RAID groups) included in the storage system that provides the RVOL.
- the “VVOL” is composed of a plurality of virtual areas (virtual storage areas) and may be a VOL according to capacity virtualization technology (typically ThinThProvisioning).
- the “pool” may be a logical storage space composed of a plurality of pages (a plurality of logical storage areas).
- the storage system When a page is not allocated to the virtual area (VVOL virtual area) to which the address specified by the host write request belongs, the storage system allocates a page from the pool to the virtual area (write destination virtual area). The storage system may write the write target data accompanying the host write request to the allocated page.
- the “pool VOL” may be a VOL that is a component of the pool.
- the pool VOL may be an RVOL.
- FIG. 1 shows an outline of the embodiment.
- the storage system 102 includes a memory unit 98 including a CM (cache memory) 111, a processor unit 94, and a plurality of PDEVs 10 having different I / O performance.
- the RAID group 20 is configured by two or more PDEVs 10 having the same (or similar) I / O performance.
- the SSD 10S is an example of a first storage device (for example, a high speed PDEV).
- the SAS-HDD 10A is an example of a second storage device (for example, a low-speed PDEV) that has lower I / O performance than the first storage device.
- the processor unit 94 provides a PVOL (primary VOL) 113A and an SVOL (secondary VOL) 113B that constitute a replication pair.
- the SVOL 113B may exist in a storage system (not shown) different from the storage system 102.
- Two or more RAID groups having different I / O performance such as the RAID groups 20S and 20A are the basis of the logical storage space.
- a part of the logical storage space is allocated to at least PVOL 113A.
- the logical storage space is the pool 40, and each of the PVOL 113A and the SVOL 113B is a VVOL.
- the pool 40 includes a plurality of tiers 30 having different I / O performance.
- Each tier 30 is composed of one or more pool VOLs 113P.
- Each pool VOL 113P is divided into a plurality of pages 60.
- the tier 30S includes one or more pool VOL 113PS based on the RAID group 20S (two or more SSDs 10S).
- the tier 30A is composed of one or more pool VOLs 113PA based on the RAID group 20A (two or more SAS-HDDs 10A).
- the page 60 is an example of a logical storage area.
- the page 60 in the tier 30S is an example of the first logical storage area.
- the page 60 in the tier 30A is an example of a second logical storage area.
- the processor unit 94 When the processor unit 94 receives a host I / O request designating an area (address) in the PVOL 113A from the host 101, the processor unit 94 performs host I / O processing on the PVOL 113A in response to the host I / O request.
- the host I / O processing is, for example, as follows.
- the host 101 is a computer connected to the storage system 102, but may instead be a VM (Virtual Machine) executed in the storage system 102.
- the host I / O request is a host write request, and the page 60 is not allocated to the write destination area 50 (the virtual area 50 to which the specified address belongs) (for example, 50A) specified in the host write request
- the processor unit 94 writes the write target data to the CM 111 and allocates a free page 60 (for example, 60A) to the write destination area.
- the processor unit 94 writes the write target data to the allocated empty page 60 (PDEV 10 that is the basis of the empty page 60).
- the host I / O request is a host read request
- the processor unit 94 is assigned to the read source area 50 (virtual area 50 to which the specified address belongs) (for example, 50A) specified by the host read request.
- Read target data is read from the existing page 60 (for example, 60A) (PDEV 10 that is the basis of the page 60) to the CM 111, and the read target data is returned to the host 101.
- the processor unit 94 manages a difference area which is an area having a difference from the SVOL 113B in the PVOL 113A.
- the capacity of the difference area may be the same as the capacity of the virtual area 50 or the page 60 (that is, the allocation unit and the difference management unit (and the data replication unit) may be the same), but in this embodiment, the capacity of the difference area Is smaller than the capacity of the virtual area 50 or the page 60.
- an example of the difference area is a difference slot.
- the virtual area 50 and the page 60 are composed of two or more slots. Differences are managed in slot units, and data replication is performed.
- the processor unit 94 is adapted to perform replication processing including data replication.
- data replication target data
- data is read from CM 60 to page 111 allocated to virtual area 50 including the difference slot, and the difference slot in SVOL 113B is read. This is a process of transferring the data to copy the data to the corresponding slot.
- the processor unit 94 manages a host I / O history 120 that is a history of host I / O processing.
- the host I / O history 120 includes an I / O destination slot in the PVOL 113A and a time of host I / O processing for each I / O destination slot.
- the processor unit 94 performs the current duplication process including the following (A).
- (A) is an order determination process including the following (a1) and (a2).
- (A1) It is determined whether there is one or more past I / O destination slots among all the differential slots of the PVOL 113A.
- Each of the one or more past I / O destination slots is an I / O destination slot during past duplication processing and is a slot specified from the host I / O history 120.
- A2 When the determination result of (a1) is true, the duplication order of all past I / O destination slots in all difference slots is set to the difference slot other than all past I / O destination slots in the all difference slots. Higher than the replication order.
- the processor unit 94 performs data duplication in descending order of duplication. As a result, among all the differential slots, the data in the past I / O destination slot preferentially exists in the SVOL. For example, it is assumed that the storage system 102 can receive a host read request designating the SVOL 113B during the replication process. If the host I / O processing for the SVOL 113B during the current replication processing is related to the host I / O processing for the PVOL 113A during the past replication processing, the I / O destination range in those host I / O processing ( The address range is likely to be similar.
- the processor unit 94 sets the replication order of all past I / O destination slots in descending order of the host I / O amount in the past replication processing.
- “Host I / O amount” refers to either the host I / O frequency (frequency of host I / O requests) or host I / O data amount (amount of data input / output in response to host I / O requests). It's okay.
- the host I / O amount is a cumulative value of the host I / O frequency for the past I / O destination slot during past duplication processing.
- the host I / O frequency is referred to as “IOPS”.
- a slot with a larger host I / O amount is considered to have a higher possibility of being accessed (for example, a possibility of being a read source slot of a host read request designating SVOL 113B). For this reason, it is expected that the higher the host I / O amount, the lower the possibility that the host I / O performance during the current replication process will decrease by increasing the replication order.
- the processor unit 94 If there is a past I / O destination slot belonging to the low speed media among all the differential slots, the processor unit 94 gives priority to a past I / O destination slot having a higher duplication order among the past I / O destination slots belonging to the low speed tier. Therefore, it may shift to a high-speed tier.
- the “low-speed tier” is a tier with relatively low I / O performance in the pool 40, for example, tier 30A (tier 2).
- pages in the low speed tier may be referred to as “low speed pages”.
- a PDEV for example, SAS-HDD 10A
- a low-speed PDEV that is a base of the low-speed tier
- High-speed tier is a tier with relatively high I / O performance in the pool 40, for example, tier 30S (tier 1).
- pages in the high-speed tier are sometimes referred to as “high-speed pages”.
- a PDEV for example, SSD 10S
- high-speed PDEV that is the basis of the high-speed tier
- the past I / O destination slot belonging to the low-speed tier is a past I / O destination slot in which the page allocated to the virtual area including the past I / O destination slot is a page in the low-speed tier.
- “Shifting the past I / O destination slot belonging to the low-speed tier to the high-speed tier” is an example of data rearrangement, and specifically includes the following. Relocate (move) data in a low speed page (eg, 60B) allocated to a virtual area (eg, 50B) including the past I / O destination slot to an empty high speed page (eg, 60C) (arrow 91) ), Assign a reallocation-destination high-speed page to the virtual area (for example, 50B) including the past I / O destination slot instead of the reallocation-source low-speed page (see arrow 92).
- Relocate (move) data in a low speed page (eg, 60B) allocated to a virtual area (eg, 50B) including the past I / O destination slot to an empty high speed page (eg, 60C) (arrow 91) Assign a reallocation-destination high-speed page to the virtual area (for example, 50B) including the past I / O destination slot instead
- the past I / O destination slot having the highest replication order is preferentially shifted to the high-speed tier. Is done. This is because there is a high possibility that the reading source is a high-speed tier (high-speed PDEV).
- the storage system 102 is configured to back up data from the SVOL 113B to a backup VOL (not shown) inside or outside the storage system 102, and there is no backup target data in the SVOL 113B.
- a backup VOL not shown
- the back tap target data is stored in the high speed page (high speed PDEV). For this reason, it is expected that the time required for data replication of the backup target data from the PVOL 113A to the SVOL 113B is short.
- the processor unit 94 performs the following (B) and (C) in addition to or instead of (A) in the current replication process.
- (B) If there is one or more differential slots to which one or more low-speed pages are assigned, relocating (moving) data from the low-speed pages to the high-speed pages will reduce the host I / O performance during the current replication process Determine whether or not (C)
- the determination result of (B) is false, for at least one of the one or more difference slots, the data is rearranged (moved) from the low speed page assigned to the difference slot to the empty high speed page.
- the high speed page is allocated to the virtual area including the difference slot instead of the low speed page.
- the replication target data is rearranged from the low speed page to the high speed page (that is, the data replication time is shortened) while maintaining the host I / O performance during the current replication processing.
- FIG. 2 shows a configuration of a computer system according to the present embodiment.
- the host 101 is connected to the storage apparatus 202 via a SAN (Storage Area Network) 181.
- a management system 69 is connected to the storage apparatus 202 via a LAN (Local Area Network) 182.
- a host 101 is also connected to the LAN 182.
- At least one of the SAN 181 and the LAN 182 may be another type of communication network.
- the storage apparatus 202, the host 101, and the management system 69 may be connected to the same communication network. There may be a plurality of at least one of the storage apparatus 202, the host 101, and the management system 69.
- the host 101 issues an I / O request specifying either PVOL 113 or SVOL 113B.
- the host 101 has an I / F (for example, HBA (Host Bus Adapter)) 264 connected to the SAN 181 (storage device 202) and an I / F (for example, Network Interface Card) (NIC) connected to the LAN 182 (storage device 202). ) 263, a memory 262, and a CPU 261 connected to the elements 262 to 264.
- I / F for example, HBA (Host Bus Adapter)
- NIC Network Interface Card
- the management system 69 may be composed of one or more computers. Specifically, for example, when the management computer has a display device and the management computer displays information on its own display device, the management computer 69 may be the management computer 69.
- the management computer 69 may be the management computer 69.
- a management computer for example, a server
- transmits display information to a remote display computer for example, a client
- the display computer displays the information (when the management computer displays information on the display computer)
- a system including at least the management computer among the management computer and the display computer may be the management system 69.
- the management system 69 may include an I / F (for example, NIC) 63 connected to the LAN 182 (storage device 202), a memory 62, and a CPU 61 connected to these elements 62 and 63.
- I / F for example, NIC
- That the computer in the management system 69 “displays display information” may be that display information is displayed on a display device included in the computer, or the computer transmits display information to the display computer. (In the latter case, display information is displayed by a display computer).
- the memory 62 stores information accessed by the CPU 61 and programs executed by the CPU 61.
- the CPU 61 manages the storage apparatus 202 with reference to information in the memory 62 by reading and executing the program from the memory 62.
- the storage apparatus 202 includes a storage controller 108 and a plurality of PDEVs 10 (10S, 10A,%) Connected to the storage controller 108.
- a plurality of RAID groups 20 (20S, 20A,%) Are configured by the plurality of PDEVs 10.
- the storage controller 108 includes a CPU 112, a host interface (HI / F) 115, a device interface (DI / F) 114, an SM (shared memory) 113, a CM (cache memory) 111, a transfer circuit 118, and a management circuit.
- An interface (MI / F) 116 is provided. Data transfer among the HI / F 115, the CPU 112, the CM 111, and the DI / F 114 is performed via the transfer circuit 118.
- the SM 113 and the MI / F 116 are connected to the CPU 112.
- the I / Fs 114, 115, and 116 are examples of the interface unit.
- CM 111 and SM 113 are examples of the storage unit.
- the CPU 112 is an example of a processor unit. In FIG. 2, only one component of the storage controller 108 is shown, but at least one of these components is provided in the storage controller 108 to ensure high performance and high availability. May be.
- the DI / F 114 is connected to each PDEV 10. Communication with the PDEV 10 is performed via the DI / F 114.
- the HI / F 115 is connected to the host 101. Communication with the host 101 is performed via the HI / F 115.
- the MI / F 116 is connected to the management system 69. Communication with the management system 69 is performed via the MI / F 116.
- CM 111 data input / output to / from the PDEV 10 is temporarily stored.
- SM113 A program executed by the CPU 112 and information referred to or updated by the CPU 112 (hereinafter, management information) are stored.
- the CPU 112 performs various controls of the storage device 202.
- the example of the processor unit 94 illustrated in FIG. 1 may be the CPU 112 or may include the CPUs 112 and 61.
- the CPU 61 of the management system 69 acquires at least a part of the host I / O history 120 from the storage apparatus 202, and will be described with reference to processing described later (eg, with reference to FIGS. 10 to 15) based on the acquired information. At least a part (for example, at least a part of S1001, S1002, and S1007 in FIG. 10) may be executed.
- the storage system 102 is the storage device 202 and the processor unit 9 is the CPU 112.
- FIG. 3 shows management information and functions in the storage apparatus 202.
- the management information stored in the SM 113 includes a host I / O history 120, a slot management table 303, a replication order table 304, an area management table 305, and a configuration management table 306.
- the host I / O history 120 includes an I / O monitor table 301 and a past history table 302. Each table will be described later.
- the functions realized by the CPU 112 executing the program in the SM 113 include an I / O unit 311, a duplication unit 312, and a rearrangement unit 313.
- the I / O unit 311 executes host I / O processing in response to a host I / O request. Further, the I / O unit 311 updates the I / O monitor table 301 in the host I / O history 120 as appropriate. The I / O unit 311 manages the difference between the PVOL 113A and the SVOL 113B.
- the replication unit 312 performs a replication process.
- the duplicating unit 312 includes an order determining unit 321, an influence determining unit 322, an area securing unit 323, an order updating unit 324, a post-processing unit 325, and a control unit 326.
- the order determining unit 321 determines the duplication order of each difference slot based on the past history table 302.
- the influence determination unit determines, based on the host I / O history 120, whether or not the rearrangement from the low speed page to the high speed page lowers the host I / O performance during the current replication process.
- the area securing unit 323 secures an empty page from the high-speed tier.
- the order update unit 324 updates the replication order determined by the order determination unit 321 based on the host I / O process during the current replication process.
- the post-processing unit 325 reflects the history of the host I / O process during the current replication process in the past history table 302.
- the control unit 326 controls calling of functions in the duplication unit 312.
- the relocation unit 313 performs data relocation between different tiers 30.
- FIG. 4 shows the configuration of the I / O monitor table 301.
- the I / O monitor table 301 is a table that holds information as a monitoring result of host I / O processing.
- the I / O monitor table 301 has a record for every predetermined time. Each record holds information such as time 401, slot IOPS 402, difference slot # 403, status 404, and volume IOPS 405.
- target fixed time one fixed time (referred to as “target fixed time” in the description of FIG. 4) is taken as an example.
- Time 401 indicates the start time of the target fixed time.
- the slot IOPS 402 indicates the IOPS (I / O frequency) at the target fixed time for the slot accessed during the target fixed time (targeted for host I / O processing).
- Slot # 403 indicates the identification number of the slot accessed during the target fixed time.
- the status 404 indicates the status for the target fixed time. There are three types of status 404 values: “0” (start), “1” (end), and “Null” (between start and end).
- the volume IOPS 405 indicates IOPS (I / O frequency) at the target fixed time for the VOL including the slot accessed at the target fixed time.
- slot # 403 When two or more slots are accessed at a certain target time, two or more slot numbers corresponding to two or more slots are registered as slot # 403, and two or more IOPS respectively corresponding to two or more slots are registered. Registered as slot IOPS 402.
- the host I / O process is monitored by the I / O unit 311, and a record having information as a monitoring result at the certain time is added to the I / O monitor table 301 every time a certain time elapses. .
- FIG. 5 shows the structure of the past history table 302.
- the past history table 302 is a table that holds a history of host I / O processing during past replication processing.
- the past history table 302 has a record for each past replication process. Each record holds information such as a start time 501, an end time 502, a duplication processing time 503, a cumulative slot IOPS 504, a cumulative volume IOPS 505, and a slot # 506.
- target past duplication process one past duplication process (referred to as “target past duplication process” in the description of FIG. 5) is taken as an example.
- the start time 501 indicates the start time of the target past replication process.
- the end time 502 indicates the end time of the target past replication process.
- the replication processing time 503 indicates the time taken for the target past replication processing (difference between the end time 502 and the start time 501).
- Slot # 506 indicates the identification number of the slot that is the target of the host I / O process during the target past replication process.
- the target past replication process when two or more slots are accessed, two or more slot numbers respectively corresponding to the two or more slots are registered as slot # 506, and two or more cumulative numbers corresponding to the two or more slots, respectively.
- the slot IOPS is registered as the cumulative slot IOPS 504.
- the cumulative volume IOPS 505 the cumulative volume IOPS may be indicated for each of two or more VOLs. In this case, a VOL # may be associated with each cumulative volume IOPS.
- Information in the record of the past history table 302 is added by the duplicating unit 312 (post-processing unit 325). Also, the record referenced in the current replication process may be deleted by the replication unit 312 at the end of the current replication process.
- FIG. 6 shows the configuration of the slot management table 303.
- the slot management table 303 holds information regarding slots in the PVOL 113A.
- the slot management table 303 has a record for each slot in the PVOL 113A. Each record holds information such as area # 601, slot # 602, and difference flag 603.
- one slot referred to as “target slot” in the description of FIG. 6) is taken as an example.
- Area # 601 indicates the identification number of the virtual area including the target slot.
- Slot # 602 indicates the identification number of the target slot.
- the difference flag 603 indicates whether or not the target slot is a difference slot. “1” means that the target slot is a differential slot. “0” means that the target slot is not a differential slot. In the present embodiment, it is assumed that the size of the virtual area and the size of the slot are constant.
- the I / O unit 311 sets the difference flag 603 of the slot to “1”. If the slot is no longer a difference slot due to duplication processing, the duplication unit 312 sets the difference flag 603 of the slot to “0”.
- FIG. 7 shows the configuration of the replication order table 304.
- the replication order table 304 holds information related to the slot replication order in the PVOL 113A.
- the slot management table 303 has a record for each slot in the PVOL 113A. Each record holds information such as slot # 701 and duplication order 702.
- target slot one slot (referred to as “target slot” in the description of FIG. 7) is taken as an example.
- the duplication rank 702 indicates the duplication rank of the target slot. If the target slot is not a difference slot, the value of the replication rank 702 is “Null”. In this embodiment, the smaller the value of the duplication rank 702, the higher the duplication rank. Examples of the “target slot is not a differential slot” include at least one of the following. -The target slot has not been accessed (targeted for host I / O processing). The target slot is set as the write destination during the current replication process (although it is set as the interrupt target), but the next slot is the difference slot.
- FIG. 8 shows the configuration of the area management table 305.
- the area management table 305 holds information on high-speed pages.
- the area management table 305 has a record for each high-speed tier.
- Each record holds information such as pool VOL # 801, upper map # 802, and usage flag 803.
- a single high-speed page (referred to as “target high-speed page” in the description of FIG. 8) is taken as an example.
- Pool VOL # 801 indicates the identification number of the pool VOL that includes the target high-speed page.
- the upper map # 802 indicates the identification number of the target high-speed page.
- the use flag 803 indicates whether or not the target high-speed page is secured. “0” means that the target high-speed page is not secured (for example, being accessed or already assigned to any virtual area). “1” means that the target high-speed page is secured.
- FIG. 9 shows the configuration of the configuration management table 306.
- the configuration management table 306 holds information regarding the configuration of the storage apparatus 202.
- the configuration management table 306 may include a mapping table (not shown) that manages the allocation relationship between virtual areas and pages.
- the configuration management table 306 includes a PDEV management table 316, for example.
- the PDEV management table 316 holds information regarding the PDEV type.
- the PDEV management table 316 has a record for each PDEV type. Each record holds information such as PDEV type 901, capacity 902, RAID type 903, tier # 904, device IOPS 905, and relocation throughput 906.
- PDEV type referred to as “target PDEV type” in the description of FIG. 9) is taken as an example.
- the PDEV type 901 indicates the target PDEV type.
- the capacity 902 indicates the storage capacity of the PDEV of the target PDEV type.
- the RAID type 903 indicates the RAID type (RAID level and RAID configuration) of the RAID group including the PDEV of the target PDEV type.
- Tier # 904 indicates the identification number of the tier that includes the pool VOL based on the RAID group that includes the PDEV of the target PDEV type. The smaller the value of tier # 904, the higher (higher) tier.
- the device IOPS 905 is an example of the I / O performance of the target PDEV type PDEV, and indicates a processable IOPS (for example, maximum value).
- the relocation throughput 906 is an example of the I / O performance of the PDEV of the target PDEV type, and indicates the throughput (for example, the maximum value) when the PDEV becomes the data relocation source or the data relocation destination.
- FIG. 10 shows the flow of replication processing.
- the duplication processing starts, for example, periodically or when the duplication unit 312 receives a duplication processing start request from at least one of the host 101 and the management system 69. Even during the current replication process, the host I / O request is received, the host I / O process is executed, and the I / O monitor table 301 is updated.
- the order determining unit 321 determines the order (S1001). That is, the order determination unit 321 determines the duplication order of all the difference slots in the PVOL 113A (duplication order of each difference slot) based on the past history table 302.
- the influence determination unit 322 makes an influence determination (S1002). That is, the influence determination unit 322 determines whether or not the rearrangement from the low speed page to the high speed page decreases the host I / O performance during the current replication process.
- the area securing unit 323 secures the area (S1004).
- the area securing unit 323 secures N (N is a natural number) free high-speed pages. N is the number of free high speed pages required.
- the relocation unit 313 is called.
- the rearrangement unit 313 rearranges (moves) the data in the low-speed page allocated to the virtual area including the difference slot to the high-speed page secured in S1004 (S1005).
- the control unit 326 determines based on the I / O monitor table 301 whether a host I / O process has occurred during the current replication process (S1006). When the determination result in S1006 is false (S1006: N), the control unit 326 performs data replication (S1008).
- the order update unit 324 updates the order (S1007). That is, the order update unit 324 updates the replication order determined in S1001 based on the host I / O process history during the current replication process.
- the control unit 326 performs data replication according to the replication order indicated by the replication order table 304 (S1008). Data replication is performed for each of all the differential slots in the PVOL 113A. Data duplication is performed in descending order of duplication. For example, the control unit 326 selects the difference slot with the highest replication order among the difference slots for which data replication is not performed, reads data from the selected difference slot to the CM 111, and stores the data in the CM 111 as the difference slot. Is written in the slot in the SVOL 113B corresponding to The control unit 326 repeats this process until there is no difference slot for which data replication is not performed. Specifically, the replication order in S1008 is as follows.
- the replication slot in S008 The order is from the smallest slot # of the difference slot. In other words, in this case, the smaller the slot #, the higher the replication order. If the determination result in S1002 is true (S1003: Y), that is, if it is determined that the host I / O performance is degraded, the replication order in S1008 is the replication order determined in S1001.
- the replication order in S1008 is the replication order determined in S1001.
- the replication order is the replication order after the update in S1007.
- the post-processing unit 325 After S1008, the post-processing unit 325 performs post-processing (S1009). That is, the post-processing unit 325 uses the monitoring result of the host I / O process during the current replication process (the result specified from the I / O monitor table 301) as the history of the host I / O during the past replication process. Register in the history table 302.
- FIG. 11 shows the details of the sequence determination (S1001 in FIG. 10).
- the order determination unit 321 registers the current time as the time 401 and “0” (start) as the status 404 in the record of the I / O monitor table 301.
- the record is the first record for the current replication process (S1101).
- the order determining unit 321 refers to the slot management table 303 and identifies a difference slot in the PVOL 113B (if there is no difference slot, the current replication process may be canceled). The order determining unit 321 determines whether or not all the identified difference slots include at least one past I / O destination slot based on the past history table 302 (S1102). If slot # 506 in the record corresponding to the past duplication processing does not include slot # of any difference slot, the determination result in S1102 is false. If the determination result in S1102 is false (S1102: N), the process proceeds to S1008 in FIG.
- the order determination unit 321 determines the cumulative slot IOPS for each of the corresponding difference slots (hereinafter, past I / O destination difference slot), and the cumulative slot IOPS 504 in the past history table 302. (S1103).
- the order determination unit 321 sets the duplication rank of the past I / O destination difference slot among all the difference slots higher than the duplication rank of the difference slot that is not the past I / O destination difference slot among all the difference slots. At that time, the duplication order of the difference slot that is not the past I / O destination difference slot may be the order of the smallest slot #. In addition, the order determining unit 321 sets the duplication order of the past I / O destination difference slot in the descending order of the cumulative slot IOPS (S1104).
- the order determining unit 321 registers the duplication rank of all the difference slots in the duplication rank table 304 (S1105).
- FIG. 12 shows details of the flow of influence determination (S1002 in FIG. 10).
- the influence determination unit 322 specifies the replication processing time 503 and the cumulative volume IOPS 505 of the PVOL 113A for the past replication processing based on the past history table 302 (S1201). Further, the influence determination unit 322 identifies the current volume IOPS of the PVOL 113A based on the I / O monitor table 301 (S1202).
- the “current volume IOPS” may be a representative volume IOPS (for example, a maximum value or an average value) identified from the I / O monitor table 301.
- the influence determination unit 322 calculates the upper free capacity based on the configuration management table 306 (S1203).
- the above-described mapping table in the configuration management table 306 indicates, for example, for each page, a tier # to which the page belongs and a page status indicating whether or not the page is free. “Upper free capacity” is the total capacity of free high-speed pages.
- the influence determination unit 322 calculates the usage amount during replication (S1204).
- the “utilizing amount during copying” is the maximum value of the total capacity of free high-speed pages that are considered to be newly allocated to the PVOL 113A during the current copying process.
- the usage during replication current volume IOPS ⁇ I / O size ⁇ duplication processing time.
- Current volume IOPS is the value specified in S1202.
- the “I / O size” is a data amount (for example, slot size) input / output by one I / O.
- the “duplication processing time” is the duplication processing time 503 specified in S1201.
- the influence determination unit 322 determines whether or not upper free space ⁇ use amount during replication (S1205). If the determination result in S1205 is true (S1205: Y), the process proceeds to S1008 in FIG. If the upper free capacity is equal to or less than the used capacity during replication, the reason for S1205: Y is that if all the host I / O processing targets during the current replication process are new virtual areas, the allocation is made to that virtual area. This is because there may be a shortage of possible high-speed pages (that is, high host I / O performance may not be achieved).
- the influence determination unit 322 calculates rearrangement IOPS (S1206).
- “Relocation IOPS” is an example of IOPS consumed by data relocation.
- rearrangement IOPS relocation throughput / I / O size.
- the “relocation throughput” is the PDEV relocation throughput 906 (see FIG. 9) that is the basis of the high-speed tier.
- the “I / O size” is a data amount (for example, slot size) input / output by one I / O.
- the influence determination unit 322 calculates effective IOPS (S1207).
- Device IOPS is a PDEV device IOPS 905 (see FIG. 9) that is the basis of the high-speed tier.
- Relocation IOPS is the value calculated in S1206.
- the influence determination unit 322 determines whether or not effective IOPS ⁇ average volume IOPS (S1209). If the determination result in S1209 is true (S1209: Y), the process proceeds to S1008 in FIG.
- effective IOPS ⁇ average volume IOPS the reason for S1209: Y is that the IOPS (host I / O performance) required for the PVOL 113A cannot be satisfied by performing data relocation from the low speed page to the high speed page. Because you get.
- both the determination results of S1205 and S1209 are false, it is a determination result that the rearrangement from the low-speed page to the high-speed page does not deteriorate the host I / O performance during the current replication process.
- At least one of S1205 and S1209 is an example of determining whether or not the rearrangement from the low-speed page to the high-speed page lowers the host I / O performance during the current replication process.
- S1209 may be performed before S1205. Further, when at least one determination result of S1205 and S1209 is false, it may be a determination result that the host I / O performance does not deteriorate.
- FIG. 13 shows details of the flow of area reservation (S1003 in FIG. 10).
- the area securing unit 323 refers to the top record of the area management table 305 (S1301).
- the area securing unit 323 determines whether or not the current I / O has occurred (already allocated) on the high-speed page corresponding to the reference record, for example, by referring to the mapping table described above (S1302).
- the area securing unit 323 sets the use flag 803 in the reference record to “1” (usable) (S1303). As a result, a free high-speed page corresponding to the reference destination record is secured.
- the area securing unit 323 sets the use flag 803 in the reference record to “0” (unusable) (S1304).
- the area securing unit 323 determines whether the number of secured free high-speed pages has reached the required number N (N is a natural number) (S1305).
- the required number may be one of the following. Whether the required number is one of the following may be determined in advance, or the area securing unit 323 may be the maximum of the number of free high-speed pages (corresponding to the upper free capacity in S1203 in FIG. 12) or less. May be selected.
- the area securing unit 323 increments the position (number) of the reference destination record (that is, the next record is the reference destination) (S1306), and the next record S1302 is performed.
- FIG. 14 shows the details of the sequence update (S1007 in FIG. 10).
- the order updating unit 324 determines whether or not at least one current I / O destination difference slot is a past I / O destination difference slot (S1401). If the determination result in S1401 is false (S1401: N), the process proceeds to S1008 in FIG. Note that the “current I / O destination difference slot” is a difference slot (targeted as an I / O destination) that is a target of host I / O processing during the current replication processing.
- the order update unit 324 specifies a difference slot that can be related to the current I / O destination difference slot corresponding to S1401: Y (S1402).
- the “difference slot that can be related to the current I / O destination difference slot” may be, for example, a difference slot that stores data associated with data in the current I / O destination difference slot.
- the order update unit 324 relatively raises the replication rank of at least one of the current I / O destination difference slot corresponding to S1401: Y and the difference slot specified in S1402 (S1403). As a result, among the difference slots corresponding to the past I / O destination difference slot, the difference slot corresponding to the current I / O destination difference slot is set to a higher replication order than the replication order determined in S1001.
- the order update unit 324 registers the replication order after the update in S1403 in the replication order table 304.
- the order update unit 324 assigns at least one of the current I / O destination difference slot corresponding to S1401: Y and the difference slot specified in S1402 to the virtual area including the difference slot. It is determined whether the page is a low speed page (S1404). If the determination result in S1404 is true (S1404: Y), the rearrangement unit 313 rearranges the data in the low-speed page to an empty high-speed page (S1405). As a result, the replication target data in the difference slot whose replication order has been increased exists in the high-speed PDEV at the time of data replication.
- FIG. 15 shows details of the flow of post-processing (S1009 in FIG. 10).
- the post-processing unit 325 registers status 404 “1” (end) in the final record corresponding to the current replication process in the I / O monitor table 301 (S1501).
- the post-processing unit 325 refers to the first record corresponding to the current replication process in the I / O monitor table 301 (S1502).
- the post-processing unit 325 determines whether or not the status 404 in the referenced record is “0” (S1503).
- the referenced record is the first record.
- the post-processing unit 325 stores the time 401 in the record in the SM 113 (for example, the work area) as the start time, and stores the slot IOPS, slot #, and volume IOPS in the record in the SM 113 (S1504).
- the post-processing unit 325 determines whether the status 404 in the referenced record is “1” (S1505).
- the referenced record is a record between the first record and the last record.
- the post-processing unit 325 reflects the slot IOPS, slot #, and volume IOPS in the record on the slot IOPS, slot #, and volume IOPS already stored in the SM 113, respectively. That is, the accumulated slot IOPS for each difference slot is updated, and the accumulated volume IOPS for the PVOL 113A is updated. Thereafter, the post-processing unit 325 increments the position (number) of the reference destination record (that is, the next record is the reference destination) (S1507), and performs S1505 for the next record.
- the referenced record is the last record.
- the post-processing unit 325 stores the time 401 in the record as the end time in the SM 113 (for example, a work area), and additionally stores the slot IOPS, slot #, and volume IOPS in the record in the slot IOPS, slot # already stored in the SM 113. And reflected in the volume IOPS (S1508).
- the post-processing unit 325 adds a start time 501, an end time 502, a copy processing time 503 (difference between the end time and the start time), a cumulative slot IOPS to the record of the past history table 302 (a record corresponding to the current copy process). (Accumulated slot IOPS of each difference slot), accumulated volume IOPS 505 (at least the accumulated volume IOPS of PVOL 113A), and slot # 506 (list of difference slot #) are registered (S1509). In the next replication process, the record having the information registered in S1509 is referred to.
- the PVOL 113A may not be a VVOL.
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
This storage system manages host I/O history which is history of a host I/O process. When a PVOL has at least one difference region, the storage system carries out a present copying process that includes a sequence determination process. The sequence determination process includes: (a1) determining whether or not there is at least one past I/O destination region (I/O destination region used in a past copying process and identified from host I/O history) among all difference regions of the PVOL; and (a2) setting, when the determination result of (a1) is true, the copying order of all past I/O destination regions among all the difference regions so as to be higher than that of difference regions other than all the past I/O destination regions among all the difference regions.
Description
本発明は、概して、階層型ストレージシステムでの複製制御に関する。
The present invention generally relates to replication control in a hierarchical storage system.
データの複製は、例えば、データの配置の変更のために行われる。データ配置制御に関して、特許文献1に開示の技術が知られている。
Data replication is performed, for example, to change the data arrangement. Regarding data arrangement control, a technique disclosed in Patent Document 1 is known.
一般に、ストレージシステムは、CM(キャッシュメモリ)と、複数のPDEV(不揮発性の記憶デバイス)とを有し、複数のVOL(論理ボリューム)を提供する。複数のVOLは、複数のPDEVに基づく。VOLに書き込まれたデータは、その書込み先領域に対応したPDEVに書き込まれる。複数のVOLは、複製ペアを構成するPVOL及びSVOLを含む。「PVOL」は、プライマリVOLであり、典型的には複製元VOLである。「SVOL」は、セカンダリVOLであり、典型的には複製先VOLである。PVOLから複製対象データをCMに読み出し当該データをSVOLへ複製するために当該データを転送する処理を、以下、「データ複製」と言う。データ複製を含んだ処理を、以下、「複製処理」と言う。
Generally, a storage system has a CM (cache memory) and a plurality of PDEVs (nonvolatile storage devices), and provides a plurality of VOLs (logical volumes). Multiple VOLs are based on multiple PDEVs. Data written to the VOL is written to the PDEV corresponding to the write destination area. The plurality of VOLs include a PVOL and an SVOL that form a replication pair. “PVOL” is a primary VOL and is typically a replication source VOL. “SVOL” is a secondary VOL and is typically a replication destination VOL. The process of reading the replication target data from the PVOL to the CM and transferring the data in order to replicate the data to the SVOL is hereinafter referred to as “data replication”. Processing including data replication is hereinafter referred to as “duplication processing”.
また、ストレージシステムとして、I/O(Input/Output)性能の異なる複数のPDEVを有する階層型のストレージシステムが知られている。以下、比較的I/O性能が高いPDEVを、「高速PDEV」と言い、比較的I/O性能が低いPDEV(少なくとも高速PDEVよりI/O性能が低いPDEV)を「低速PDEV」と言う。
As a storage system, a hierarchical storage system having a plurality of PDEVs with different I / O (Input / Output) performance is known. Hereinafter, a PDEV with relatively high I / O performance is referred to as “high-speed PDEV”, and a PDEV with relatively low I / O performance (at least a PDEV with lower I / O performance than the high-speed PDEV) is referred to as “low-speed PDEV”.
また、以下、ホストからのI/O要求を、「ホストI/O要求」と言う。特に、ホストI/O要求のうちのライト要求を、「ホストライト要求」と言い、ホストI/O要求のうちのリード要求を、「ホストリード要求」と言う。また、「ホスト」は、ストレージシステムに接続されたホストシステム(1以上のホスト計算機)でもよいし、ストレージシステム内で実行される第1のVM(ホストシステムとして動作するVM(Virtual Machine))でもよい。後者の場合、ストレージシステム内で実行される第2のVMが、ストレージコントローラとしてホストI/O処理(ホストI/O要求に従う処理)及び複製処理を行ってよい。また、本明細書において、「ストレージシステム」とは、1以上の物理的なストレージ装置である。「ストレージ装置」は、データを格納可能な装置であればよく、例えばサーバ計算機でもよい。
Hereinafter, an I / O request from the host is referred to as a “host I / O request”. In particular, a write request among host I / O requests is referred to as a “host write request”, and a read request among host I / O requests is referred to as a “host read request”. The “host” may be a host system (one or more host computers) connected to the storage system, or a first VM (VM (Virtual Machine) operating as a host system) executed in the storage system. Good. In the latter case, the second VM executed in the storage system may perform host I / O processing (processing according to the host I / O request) and replication processing as a storage controller. In this specification, the “storage system” is one or more physical storage devices. The “storage device” may be any device capable of storing data, and may be a server computer, for example.
ストレージシステムは、ホストライト処理(ホストライト要求に従う処理)では、ホストライトに関連付いたライト対象データをCMに一時格納する。非同期複製処理(ホストライト処理と非同期に行われる複製処理)では、ストレージシステムは、ライト対象データを一旦PVOLに書き込み、その後の複製処理において、PVOL(PDEV)からCMにデータを読み出すことを含んだデータ複製を行う。このため、複製対象データを格納しているPDEVが、低速PDEVであれば、PDEVからCMへのデータの読出しに時間がかかる。結果として、データ複製時間が長くなる。このため、下記のうちの少なくとも1つの問題が生じ得る。
(1)ストレージシステムが、データ複製中でもホストI/O要求を受信できるようになっているとする。データ複製時間が長いと、データ複製のための負荷がかかっている時間が長いということである。このため、ホストI/O性能(ホストI/O処理の性能)がデータ複製の影響を受ける可能性が高まると考えられる。
(2)ストレージシステムが、SVOLを指定したホストリード要求を複製処理中に受信できるようになっているとする。受信したホストリード要求のリード対象データがSVOLに無い場合、ストレージシステムは、リード対象データをPVOLからSVOLに複製する必要がある。そのリード対象データが低速PDEVに格納されている場合、そのリード対象データをPVOLからSVOLに複製するのに長い時間がかかる。このため、リード対象データを応答するまでに長い時間がかかる。つまり、ホストI/O性能は低下する。
(3)ストレージシステムが、SVOLから、ストレージシステムの中又は外にあるバックアップVOLにデータをバックアップするようになっているとする。バックアップ対象データがSVOLに無い場合、ストレージシステムは、バックアップ対象データをPVOLからSVOLに複製する必要がある。そのバックタップ対象データが低速PDEVに格納されている場合、バックアップ対象データをPVOLからSVOLに複製するのに長い時間がかかる。 In the host write process (process according to the host write request), the storage system temporarily stores write target data associated with the host write in the CM. In the asynchronous replication process (replication process performed asynchronously with the host write process), the storage system includes writing the write target data once to the PVOL and then reading the data from the PVOL (PDEV) to the CM in the subsequent replication process. Perform data replication. For this reason, if the PDEV that stores the replication target data is a low-speed PDEV, it takes time to read data from the PDEV to the CM. As a result, the data replication time increases. This can cause at least one of the following problems.
(1) Assume that the storage system can receive a host I / O request even during data replication. If the data replication time is long, the load time for data replication is long. For this reason, it is considered that the host I / O performance (host I / O processing performance) is more likely to be affected by data replication.
(2) It is assumed that the storage system can receive a host read request designating SVOL during replication processing. When the read target data of the received host read request is not in the SVOL, the storage system needs to replicate the read target data from the PVOL to the SVOL. When the read target data is stored in the low-speed PDEV, it takes a long time to copy the read target data from the PVOL to the SVOL. For this reason, it takes a long time to respond with the read target data. That is, the host I / O performance decreases.
(3) It is assumed that the storage system is configured to back up data from the SVOL to a backup VOL in or outside the storage system. When the backup target data is not in the SVOL, the storage system needs to replicate the backup target data from the PVOL to the SVOL. When the back tap target data is stored in the low speed PDEV, it takes a long time to replicate the backup target data from the PVOL to the SVOL.
(1)ストレージシステムが、データ複製中でもホストI/O要求を受信できるようになっているとする。データ複製時間が長いと、データ複製のための負荷がかかっている時間が長いということである。このため、ホストI/O性能(ホストI/O処理の性能)がデータ複製の影響を受ける可能性が高まると考えられる。
(2)ストレージシステムが、SVOLを指定したホストリード要求を複製処理中に受信できるようになっているとする。受信したホストリード要求のリード対象データがSVOLに無い場合、ストレージシステムは、リード対象データをPVOLからSVOLに複製する必要がある。そのリード対象データが低速PDEVに格納されている場合、そのリード対象データをPVOLからSVOLに複製するのに長い時間がかかる。このため、リード対象データを応答するまでに長い時間がかかる。つまり、ホストI/O性能は低下する。
(3)ストレージシステムが、SVOLから、ストレージシステムの中又は外にあるバックアップVOLにデータをバックアップするようになっているとする。バックアップ対象データがSVOLに無い場合、ストレージシステムは、バックアップ対象データをPVOLからSVOLに複製する必要がある。そのバックタップ対象データが低速PDEVに格納されている場合、バックアップ対象データをPVOLからSVOLに複製するのに長い時間がかかる。 In the host write process (process according to the host write request), the storage system temporarily stores write target data associated with the host write in the CM. In the asynchronous replication process (replication process performed asynchronously with the host write process), the storage system includes writing the write target data once to the PVOL and then reading the data from the PVOL (PDEV) to the CM in the subsequent replication process. Perform data replication. For this reason, if the PDEV that stores the replication target data is a low-speed PDEV, it takes time to read data from the PDEV to the CM. As a result, the data replication time increases. This can cause at least one of the following problems.
(1) Assume that the storage system can receive a host I / O request even during data replication. If the data replication time is long, the load time for data replication is long. For this reason, it is considered that the host I / O performance (host I / O processing performance) is more likely to be affected by data replication.
(2) It is assumed that the storage system can receive a host read request designating SVOL during replication processing. When the read target data of the received host read request is not in the SVOL, the storage system needs to replicate the read target data from the PVOL to the SVOL. When the read target data is stored in the low-speed PDEV, it takes a long time to copy the read target data from the PVOL to the SVOL. For this reason, it takes a long time to respond with the read target data. That is, the host I / O performance decreases.
(3) It is assumed that the storage system is configured to back up data from the SVOL to a backup VOL in or outside the storage system. When the backup target data is not in the SVOL, the storage system needs to replicate the backup target data from the PVOL to the SVOL. When the back tap target data is stored in the low speed PDEV, it takes a long time to replicate the backup target data from the PVOL to the SVOL.
ストレージシステムは、ホストI/O処理の履歴であるホストI/O履歴を管理する。PVOLが少なくとも1つの差分領域を有する場合、ストレージシステムは、順序決定処理を含む今回の複製処理を行う。順序決定処理は、(a1)PVOLの全差分領域のうち1以上の過去I/O先領域(過去の複製処理中のI/O先領域であってホストI/O履歴から特定される領域)があるか否かを判断すること、及び、(a2)(a1)の判断結果が真の場合、全差分領域のうちの全過去I/O先領域の複製順位を、全差分領域のうちの全過去I/O先領域以外の差分領域の複製順位よりも高くすること、を含む。
The storage system manages the host I / O history, which is the history of host I / O processing. When the PVOL has at least one difference area, the storage system performs the current replication process including the order determination process. The order determination process includes (a1) one or more past I / O destination areas (all I / O destination areas in the past replication process that are specified from the host I / O history) of all the PVOL difference areas. If the determination result of (a2) and (a1) is true, the replication order of all past I / O destination areas in all difference areas is Including higher than the replication order of the differential area other than all the past I / O destination areas.
階層型ストレージシステムにおいて、データ複製時間を短縮することが期待でき、且つ、ホストI/O性能への影響を低減することが期待できる。
In a tiered storage system, it can be expected to shorten the data replication time and reduce the impact on the host I / O performance.
以下、一実施形態を説明する。
Hereinafter, an embodiment will be described.
なお、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
In the following description, information may be described using an expression such as “xxx table”, but the information may be expressed in any data structure. That is, in order to show that the information does not depend on the data structure, the “xxx table” can be referred to as “xxx information”. In the following description, 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.
また、以下の説明では、「インターフェース部」は、1以上の通信インターフェースデバイスを含む。1以上の通信インターフェースデバイスは、1以上の同種のインターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種のインターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
In the following description, the “interface unit” includes one or more communication interface devices. The one or more communication interface devices may be one or more similar interface devices (for example, one or more NIC (Network Interface Card)) or two or more different types of interface devices (for example, NIC and HBA (Host Bus Adapter)). ).
また、以下の説明では、「メモリ部」は、1以上のメモリである。メモリ部に関して少なくとも1つのメモリは、揮発性メモリでよい。メモリ部は、主に、プロセッサ部による処理の際に使用される。
In the following description, the “memory unit” is one or more memories. Regarding the memory part, the at least one memory may be a volatile memory. The memory unit is mainly used for processing by the processor unit.
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
In the following description, the “processor unit” is one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit). Each of the one or more processors may be a single core or a multi-core. The processor may include a hardware circuit that performs part or all of the processing.
また、以下の説明では、「kkk部」の表現にて機能を説明することがあるが、機能は、1以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、1以上のハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜にメモリ部及び/又はインターフェース部等を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。
In the following description, the function may be described using the expression “kkk part”, but the function may be realized by executing one or more computer programs by the processor part. The hardware circuit (for example, FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)) may be used. When the function is realized by the program being executed by the processor unit, since the predetermined processing is appropriately performed using the memory unit and / or the interface unit, the function is at least a part of the processor unit. May be. The processing described with the function as the subject may be processing performed by the processor unit or a device having the processor unit. The program may be installed from a program source. The program source may be, for example, a program distribution computer or a computer-readable recording medium (for example, a non-transitory recording medium). The description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.
また、以下の説明では、「PDEV」は、物理的な記憶デバイスを意味し、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよい。PDEVは、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)でよい。
In the following description, “PDEV” means a physical storage device, and typically a non-volatile storage device (for example, an auxiliary storage device). The PDEV may be, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
また、以下の説明では、「RAID」は、Redundant Array of Independent (or Inexpensive) Disksの略である。RAIDグループは、複数のPDEV(典型的には同種のPDEV)で構成され、そのRAIDグループに関連付けられたRAIDレベルに従いデータを記憶する。RAIDグループは、パリティグループと呼ばれてもよい。パリティグループは、例えば、パリティを格納するRAIDグループのことでよい。また、RAIDグループは、複数のPDEVに基づく複数の記憶領域で構成されていてもよい。
Also, in the following description, “RAID” is an abbreviation for Redundant “Array” of “Independent” (or “Inexpensive)” Disks. The RAID group is composed of a plurality of PDEVs (typically the same kind of PDEVs), and stores data according to the RAID level associated with the RAID group. The RAID group may be referred to as a parity group. The parity group may be, for example, a RAID group that stores parity. The RAID group may be composed of a plurality of storage areas based on a plurality of PDEVs.
また、以下の説明では、「VOL」(又は「ボリューム」)は、論理ボリュームの略であり、論理的な記憶デバイスでよい。VOLは、実体的なVOL(RVOL)であってもよいし、仮想的なVOL(VVOL)であってもよい。「RVOL」は、そのRVOLを提供するストレージシステムが有する物理的な記憶資源(例えば、1以上のRAIDグループ)に基づくVOLでよい。「VVOL」は、複数の仮想領域(仮想的な記憶領域)で構成されており容量仮想化技術(典型的にはThin Provisioning)に従うVOLでよい。「プール」は、複数のページ(複数の論理記憶領域)で構成された論理記憶空間でよい。ストレージシステムが、ホストライト要求で指定されるアドレスが属する仮想領域(VVOLの仮想領域)にページが割り当てられていない場合、その仮想領域(ライト先仮想領域)にプールからページを割り当てる。ストレージシステムは、割り当てられたページに、そのホストライト要求に付随するライト対象データを書き込んでよい。「プールVOL」は、プールの構成要素となるVOLでよい。プールVOLは、RVOLでよい。
In the following description, “VOL” (or “volume”) is an abbreviation for logical volume, and may be a logical storage device. The VOL may be a substantial VOL (RVOL) or a virtual VOL (VVOL). The “RVOL” may be a VOL based on a physical storage resource (for example, one or more RAID groups) included in the storage system that provides the RVOL. The “VVOL” is composed of a plurality of virtual areas (virtual storage areas) and may be a VOL according to capacity virtualization technology (typically ThinThProvisioning). The “pool” may be a logical storage space composed of a plurality of pages (a plurality of logical storage areas). When a page is not allocated to the virtual area (VVOL virtual area) to which the address specified by the host write request belongs, the storage system allocates a page from the pool to the virtual area (write destination virtual area). The storage system may write the write target data accompanying the host write request to the allocated page. The “pool VOL” may be a VOL that is a component of the pool. The pool VOL may be an RVOL.
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号における共通部分を使用し、同種の要素を区別して説明する場合は、参照符号を使用することがある。
Also, in the following description, when a description is made without distinguishing the same type of element, a common part in the reference code is used, and when a description is made by distinguishing the same type of element, a reference code may be used.
図1は、実施形態の概要を示す。
FIG. 1 shows an outline of the embodiment.
ストレージシステム102が、CM(キャッシュメモリ)111を含んだメモリ部98と、プロセッサ部94と、I/O性能の異なる複数のPDEV10とを有する。I/O性能が同じ(又は同程度)の2以上のPDEV10によりRAIDグループ20が構成される。例えば、2以上のSSD10Sで構成されたRAIDグループ20S、及び、2以上のSAS(Serial Attached SCSI)-HDD10Aで構成されたRAIDグループ20Aがある。SSD10Sが、第1記憶デバイス(例えば高速PDEV)の一例である。SAS-HDD10Aが、第1記憶デバイスよりもI/O性能が低い第2記憶デバイス(例えば低速PDEV)の一例である。
The storage system 102 includes a memory unit 98 including a CM (cache memory) 111, a processor unit 94, and a plurality of PDEVs 10 having different I / O performance. The RAID group 20 is configured by two or more PDEVs 10 having the same (or similar) I / O performance. For example, there are a RAID group 20S composed of two or more SSDs 10S and a RAID group 20A composed of two or more SASs (Serial Attached SCSI) -HDD 10A. The SSD 10S is an example of a first storage device (for example, a high speed PDEV). The SAS-HDD 10A is an example of a second storage device (for example, a low-speed PDEV) that has lower I / O performance than the first storage device.
プロセッサ部94が、複製ペアを構成するPVOL(プライマリVOL)113A及びSVOL(セカンダリVOL)113Bを提供する。SVOL113Bは、ストレージシステム102とは別のストレージシステム(図示せず)に存在してもよい。
The processor unit 94 provides a PVOL (primary VOL) 113A and an SVOL (secondary VOL) 113B that constitute a replication pair. The SVOL 113B may exist in a storage system (not shown) different from the storage system 102.
RAIDグループ20S及び20AのようなI/O性能の異なる2以上のRAIDグループが、論理記憶空間の基になっている。論理記憶空間の一部が少なくともPVOL113Aに割り当てられる。本実施形態では、論理記憶空間が、プール40であり、PVOL113A及びSVOL113Bの各々が、VVOLである。プール40は、I/O性能の異なる複数のティア30で構成されている。各ティア30は、1以上のプールVOL113Pで構成される。各プールVOL113Pは、複数のページ60に分割される。例えば、ティア30Sは、RAIDグループ20S(2以上のSSD10S)に基づく1以上のプールVOL113PSで構成されている。ティア30Aは、RAIDグループ20A(2以上のSAS-HDD10A)に基づく1以上のプールVOL113PAで構成されている。ページ60は、論理記憶領域の一例である。ティア30Sにおけるページ60が、第1論理記憶領域の一例である。ティア30Aにおけるページ60が、第2論理記憶領域の一例である。
Two or more RAID groups having different I / O performance such as the RAID groups 20S and 20A are the basis of the logical storage space. A part of the logical storage space is allocated to at least PVOL 113A. In this embodiment, the logical storage space is the pool 40, and each of the PVOL 113A and the SVOL 113B is a VVOL. The pool 40 includes a plurality of tiers 30 having different I / O performance. Each tier 30 is composed of one or more pool VOLs 113P. Each pool VOL 113P is divided into a plurality of pages 60. For example, the tier 30S includes one or more pool VOL 113PS based on the RAID group 20S (two or more SSDs 10S). The tier 30A is composed of one or more pool VOLs 113PA based on the RAID group 20A (two or more SAS-HDDs 10A). The page 60 is an example of a logical storage area. The page 60 in the tier 30S is an example of the first logical storage area. The page 60 in the tier 30A is an example of a second logical storage area.
プロセッサ部94は、PVOL113Aにおける領域(アドレス)を指定したホストI/O要求をホスト101から受信した場合、そのホストI/O要求に応答して、PVOL113Aに対するホストI/O処理を行う。そのホストI/O処理は、例えば以下の通りである。なお、ホスト101は、ストレージシステム102に接続された計算機であるが、それに代えて、ストレージシステム102内で実行されるVM(Virtual Machine)でもよい。
・ホストI/O要求がホストライト要求であり、ホストライト要求で指定されているライト先領域50(指定されているアドレスが属する仮想領域50)(例えば50A)にページ60が割り当てられていない場合、プロセッサ部94は、ライト対象データをCM111に書き込み、そのライト先領域に空きページ60(例えば60A)を割り当てる。プロセッサ部94は、ライト対象データを、割り当てた空きページ60(その空きページ60の基になっているPDEV10)に書き込む。
・ホストI/O要求がホストリード要求の場合、プロセッサ部94は、ホストリード要求で指定されているリード元領域50(指定されているアドレスが属する仮想領域50)(例えば50A)に割り当てられているページ60(例えば60A)(そのページ60の基になっているPDEV10)から、リード対象データをCM111に読み出し、そのリード対象データを、ホスト101に返す。 When theprocessor unit 94 receives a host I / O request designating an area (address) in the PVOL 113A from the host 101, the processor unit 94 performs host I / O processing on the PVOL 113A in response to the host I / O request. The host I / O processing is, for example, as follows. The host 101 is a computer connected to the storage system 102, but may instead be a VM (Virtual Machine) executed in the storage system 102.
The host I / O request is a host write request, and the page 60 is not allocated to the write destination area 50 (thevirtual area 50 to which the specified address belongs) (for example, 50A) specified in the host write request The processor unit 94 writes the write target data to the CM 111 and allocates a free page 60 (for example, 60A) to the write destination area. The processor unit 94 writes the write target data to the allocated empty page 60 (PDEV 10 that is the basis of the empty page 60).
When the host I / O request is a host read request, theprocessor unit 94 is assigned to the read source area 50 (virtual area 50 to which the specified address belongs) (for example, 50A) specified by the host read request. Read target data is read from the existing page 60 (for example, 60A) (PDEV 10 that is the basis of the page 60) to the CM 111, and the read target data is returned to the host 101.
・ホストI/O要求がホストライト要求であり、ホストライト要求で指定されているライト先領域50(指定されているアドレスが属する仮想領域50)(例えば50A)にページ60が割り当てられていない場合、プロセッサ部94は、ライト対象データをCM111に書き込み、そのライト先領域に空きページ60(例えば60A)を割り当てる。プロセッサ部94は、ライト対象データを、割り当てた空きページ60(その空きページ60の基になっているPDEV10)に書き込む。
・ホストI/O要求がホストリード要求の場合、プロセッサ部94は、ホストリード要求で指定されているリード元領域50(指定されているアドレスが属する仮想領域50)(例えば50A)に割り当てられているページ60(例えば60A)(そのページ60の基になっているPDEV10)から、リード対象データをCM111に読み出し、そのリード対象データを、ホスト101に返す。 When the
The host I / O request is a host write request, and the page 60 is not allocated to the write destination area 50 (the
When the host I / O request is a host read request, the
プロセッサ部94は、PVOL113AのうちSVOL113Bと差分のある領域である差分領域を管理する。差分領域の容量は、仮想領域50又はページ60の容量と同じでもよいが(つまり、割当て単位と差分管理単位(及びデータ複製単位)は同じでもよいが)、本実施形態では、差分領域の容量は、仮想領域50又はページ60の容量よりも小さい。具体的には、本実施形態では、差分領域の一例が、差分スロットである。仮想領域50及びページ60は、2以上のスロットで構成される。スロット単位で、差分が管理され、且つ、データ複製が行われる。
The processor unit 94 manages a difference area which is an area having a difference from the SVOL 113B in the PVOL 113A. The capacity of the difference area may be the same as the capacity of the virtual area 50 or the page 60 (that is, the allocation unit and the difference management unit (and the data replication unit) may be the same), but in this embodiment, the capacity of the difference area Is smaller than the capacity of the virtual area 50 or the page 60. Specifically, in the present embodiment, an example of the difference area is a difference slot. The virtual area 50 and the page 60 are composed of two or more slots. Differences are managed in slot units, and data replication is performed.
プロセッサ部94は、データ複製を含んだ複製処理を行うようになっている。データ複製は、PVOL113Aの1以上の差分スロットの各々について、当該差分スロットを含んだ仮想領域50に割り当てられているページ60からCM111にデータ(複製対象データ)を読み出し、SVOL113Bのうち当該差分スロットに対応するスロットに当該データを複製するために当該データを転送する処理である。
The processor unit 94 is adapted to perform replication processing including data replication. For data replication, for each of one or more difference slots in PVOL 113A, data (replication target data) is read from CM 60 to page 111 allocated to virtual area 50 including the difference slot, and the difference slot in SVOL 113B is read. This is a process of transferring the data to copy the data to the corresponding slot.
プロセッサ部94は、ホストI/O処理の履歴であるホストI/O履歴120を管理する。ホストI/O履歴120は、PVOL113AにおけるI/O先スロットと各I/O先スロットに対するホストI/O処理の時刻とを含む。
The processor unit 94 manages a host I / O history 120 that is a history of host I / O processing. The host I / O history 120 includes an I / O destination slot in the PVOL 113A and a time of host I / O processing for each I / O destination slot.
PVOL113Aが少なくとも1つの差分スロットを有する場合、プロセッサ部94は、下記(A)を含む今回の複製処理を行う。(A)は、下記(a1)及び(a2)を含む順序決定処理である。
(a1)PVOL113Aの全差分スロットのうち1以上の過去I/O先スロットがあるか否かを判断する。1以上の過去I/O先スロットの各々は、過去の複製処理中のI/O先スロットであってホストI/O履歴120から特定されるスロットである。
(a2)(a1)の判断結果が真の場合、全差分スロットのうちの全過去I/O先スロットの複製順位を、当該全差分スロットのうちの全過去I/O先スロット以外の差分スロットの複製順位よりも高くする。 When the PVOL 113A has at least one difference slot, theprocessor unit 94 performs the current duplication process including the following (A). (A) is an order determination process including the following (a1) and (a2).
(A1) It is determined whether there is one or more past I / O destination slots among all the differential slots of the PVOL 113A. Each of the one or more past I / O destination slots is an I / O destination slot during past duplication processing and is a slot specified from the host I /O history 120.
(A2) When the determination result of (a1) is true, the duplication order of all past I / O destination slots in all difference slots is set to the difference slot other than all past I / O destination slots in the all difference slots. Higher than the replication order.
(a1)PVOL113Aの全差分スロットのうち1以上の過去I/O先スロットがあるか否かを判断する。1以上の過去I/O先スロットの各々は、過去の複製処理中のI/O先スロットであってホストI/O履歴120から特定されるスロットである。
(a2)(a1)の判断結果が真の場合、全差分スロットのうちの全過去I/O先スロットの複製順位を、当該全差分スロットのうちの全過去I/O先スロット以外の差分スロットの複製順位よりも高くする。 When the PVOL 113A has at least one difference slot, the
(A1) It is determined whether there is one or more past I / O destination slots among all the differential slots of the PVOL 113A. Each of the one or more past I / O destination slots is an I / O destination slot during past duplication processing and is a slot specified from the host I /
(A2) When the determination result of (a1) is true, the duplication order of all past I / O destination slots in all difference slots is set to the difference slot other than all past I / O destination slots in the all difference slots. Higher than the replication order.
プロセッサ部94は、複製順位の高い順にデータ複製を行う。結果として、全差分スロットのうち、過去I/O先スロット内のデータが優先的にSVOLに存在する。例えば、ストレージシステム102が、SVOL113Bを指定したホストリード要求を複製処理中に受信できるようになっているとする。今回の複製処理中のSVOL113Bに対するホストI/O処理が、過去の複製処理中のPVOL113Aに対するホストI/O処理と関係性があれば、それらのホストI/O処理でのI/O先範囲(アドレス範囲)が類似している可能性が高い。このため、今回の複製処理中にSVOL113Bに対するホストリード要求を受信した時には、そのホストリード要求に従うリード対象データが、既に、そのホストリード要求で指定されているリード元スロットに存在する可能性が高い。結果として、ホストI/O性能が低下する可能性が軽減することが期待される。
The processor unit 94 performs data duplication in descending order of duplication. As a result, among all the differential slots, the data in the past I / O destination slot preferentially exists in the SVOL. For example, it is assumed that the storage system 102 can receive a host read request designating the SVOL 113B during the replication process. If the host I / O processing for the SVOL 113B during the current replication processing is related to the host I / O processing for the PVOL 113A during the past replication processing, the I / O destination range in those host I / O processing ( The address range is likely to be similar. Therefore, when a host read request for the SVOL 113B is received during the current replication process, there is a high possibility that the read target data according to the host read request already exists in the read source slot specified by the host read request. . As a result, it is expected that the possibility of the host I / O performance being reduced is reduced.
プロセッサ部94は、全過去I/O先スロットの複製順位を、過去の複製処理におけるホストI/O量の高い順とする。「ホストI/O量」は、ホストI/O頻度(ホストI/O要求の頻度)及びホストI/Oデータ量(ホストI/O要求に応答して入出力されたデータの量)のいずれかでよい。本実施形態では、全過去I/O先スロットの各々について、ホストI/O量は、過去の複製処理中のその過去I/O先スロットに対するホストI/O頻度の累積値である。以下、ホストI/O頻度を、「IOPS」と呼ぶ。ホストI/O量が多いスロット程、アクセスされる可能性(例えばSVOL113Bを指定したホストリード要求のリード元スロットである可能性)が高いと考えられる。このため、ホストI/O量が多いほど複製順位を高くすることで、今回の複製処理中のホストI/O性能が低下する可能性が軽減することが期待される。
The processor unit 94 sets the replication order of all past I / O destination slots in descending order of the host I / O amount in the past replication processing. “Host I / O amount” refers to either the host I / O frequency (frequency of host I / O requests) or host I / O data amount (amount of data input / output in response to host I / O requests). It's okay. In this embodiment, for each of all past I / O destination slots, the host I / O amount is a cumulative value of the host I / O frequency for the past I / O destination slot during past duplication processing. Hereinafter, the host I / O frequency is referred to as “IOPS”. A slot with a larger host I / O amount is considered to have a higher possibility of being accessed (for example, a possibility of being a read source slot of a host read request designating SVOL 113B). For this reason, it is expected that the higher the host I / O amount, the lower the possibility that the host I / O performance during the current replication process will decrease by increasing the replication order.
プロセッサ部94は、全差分スロットのうち、低速ディアに属する過去I/O先スロットがあれば、低速ティアに属する過去I/O先スロットのうち、複製順位の高い過去I/O先スロットを優先的に、高速ティアにシフトしてよい。
If there is a past I / O destination slot belonging to the low speed media among all the differential slots, the processor unit 94 gives priority to a past I / O destination slot having a higher duplication order among the past I / O destination slots belonging to the low speed tier. Therefore, it may shift to a high-speed tier.
ここで、「低速ティア」とは、プール40において相対的にI/O性能が低いティア、例えばティア30A(ティア2)である。以下、低速ティア内のページを「低速ページ」と言うことがある。また、低速ティアの基になっているPDEV(例えばSAS-HDD10A)を「低速PDEV」と言うことがある。
Here, the “low-speed tier” is a tier with relatively low I / O performance in the pool 40, for example, tier 30A (tier 2). Hereinafter, pages in the low speed tier may be referred to as “low speed pages”. Further, a PDEV (for example, SAS-HDD 10A) that is a base of the low-speed tier may be referred to as a “low-speed PDEV”.
「高速ティア」とは、プール40において相対的にI/O性能が高いティア、例えばティア30S(ティア1)である。以下、高速ティア内のページを「高速ページ」と言うことがある。また、高速ティアの基になっているPDEV(例えばSSD10S)を「高速PDEV」と言うことがある。
“High-speed tier” is a tier with relatively high I / O performance in the pool 40, for example, tier 30S (tier 1). Hereinafter, pages in the high-speed tier are sometimes referred to as “high-speed pages”. Also, a PDEV (for example, SSD 10S) that is the basis of the high-speed tier may be referred to as a “high-speed PDEV”.
「低速ティアに属する過去I/O先スロット」とは、その過去I/O先スロットを含む仮想領域に割り当てられているページが低速ティア内のページである過去I/O先スロットである。
“The past I / O destination slot belonging to the low-speed tier” is a past I / O destination slot in which the page allocated to the virtual area including the past I / O destination slot is a page in the low-speed tier.
低速ティアに属する過去I/O先スロットを「高速ティアにシフトする」とは、データの再配置の一例であり、具体的には、下記を含む。
・当該過去I/O先スロットを含んだ仮想領域(例えば50B)に割り当てられている低速ページ(例えば60B)内のデータを空き高速ページ(例えば60C)に再配置(移動)すること(矢印91を参照)、
・当該過去I/O先スロットを含んだ仮想領域(例えば50B)に、再配置元の低速ページに代えて、再配置先の高速ページを割り当てること(矢印92を参照)。 “Shifting the past I / O destination slot belonging to the low-speed tier to the high-speed tier” is an example of data rearrangement, and specifically includes the following.
Relocate (move) data in a low speed page (eg, 60B) allocated to a virtual area (eg, 50B) including the past I / O destination slot to an empty high speed page (eg, 60C) (arrow 91) ),
Assign a reallocation-destination high-speed page to the virtual area (for example, 50B) including the past I / O destination slot instead of the reallocation-source low-speed page (see arrow 92).
・当該過去I/O先スロットを含んだ仮想領域(例えば50B)に割り当てられている低速ページ(例えば60B)内のデータを空き高速ページ(例えば60C)に再配置(移動)すること(矢印91を参照)、
・当該過去I/O先スロットを含んだ仮想領域(例えば50B)に、再配置元の低速ページに代えて、再配置先の高速ページを割り当てること(矢印92を参照)。 “Shifting the past I / O destination slot belonging to the low-speed tier to the high-speed tier” is an example of data rearrangement, and specifically includes the following.
Relocate (move) data in a low speed page (eg, 60B) allocated to a virtual area (eg, 50B) including the past I / O destination slot to an empty high speed page (eg, 60C) (arrow 91) ),
Assign a reallocation-destination high-speed page to the virtual area (for example, 50B) including the past I / O destination slot instead of the reallocation-source low-speed page (see arrow 92).
低速ティアに属する過去I/O先スロットのうち複製順位の高い過去I/O先スロットが優先的に高速ティアにシフトするため、複製順位の高い順に行われるデータ複製にかかる時間が短いことが期待される。読み出し元が高速ティア(高速PDEV)である可能性が高いためである。また、例えば、ストレージシステム102が、SVOL113Bから、ストレージシステム102の中又は外にあるバックアップVOL(図示せず)にデータをバックアップするようになっていて、バックアップ対象データがSVOL113Bに無く、それ故に、バックアップ対象データをPVOL113AからSVOL113Bにデータ複製する場合、そのバックタップ対象データが高速ページ(高速PDEV)に格納されている可能性が高い。このため、バックアップ対象データをPVOL113AからSVOL113Bにデータ複製するのにかかる時間が短いことが期待される。
Of the past I / O destination slots belonging to the low-speed tier, the past I / O destination slot having the highest replication order is preferentially shifted to the high-speed tier. Is done. This is because there is a high possibility that the reading source is a high-speed tier (high-speed PDEV). In addition, for example, the storage system 102 is configured to back up data from the SVOL 113B to a backup VOL (not shown) inside or outside the storage system 102, and there is no backup target data in the SVOL 113B. When data to be backed up is copied from the PVOL 113A to the SVOL 113B, there is a high possibility that the back tap target data is stored in the high speed page (high speed PDEV). For this reason, it is expected that the time required for data replication of the backup target data from the PVOL 113A to the SVOL 113B is short.
また、プロセッサ部94は、今回の複製処理において、(A)に加えて又は代えて、下記(B)及び(C)を行う。
(B)1以上の低速ページが割り当てられている1以上の差分スロットがある場合、低速ページから高速ページにデータを再配置(移動)することが今回の複製処理中のホストI/O性能を低下するか否かを判断する、
(C)(B)の判断結果が偽の場合、1以上の差分スロットのうちの少なくとも1つについて、当該差分スロットに割り当てられている低速ページから空き高速ページにデータを再配置(移動)し、且つ、当該差分スロットを含んだ仮想領域に当該低速ページに代えて当該高速ページを割り当てる。 Further, theprocessor unit 94 performs the following (B) and (C) in addition to or instead of (A) in the current replication process.
(B) If there is one or more differential slots to which one or more low-speed pages are assigned, relocating (moving) data from the low-speed pages to the high-speed pages will reduce the host I / O performance during the current replication process Determine whether or not
(C) When the determination result of (B) is false, for at least one of the one or more difference slots, the data is rearranged (moved) from the low speed page assigned to the difference slot to the empty high speed page. In addition, the high speed page is allocated to the virtual area including the difference slot instead of the low speed page.
(B)1以上の低速ページが割り当てられている1以上の差分スロットがある場合、低速ページから高速ページにデータを再配置(移動)することが今回の複製処理中のホストI/O性能を低下するか否かを判断する、
(C)(B)の判断結果が偽の場合、1以上の差分スロットのうちの少なくとも1つについて、当該差分スロットに割り当てられている低速ページから空き高速ページにデータを再配置(移動)し、且つ、当該差分スロットを含んだ仮想領域に当該低速ページに代えて当該高速ページを割り当てる。 Further, the
(B) If there is one or more differential slots to which one or more low-speed pages are assigned, relocating (moving) data from the low-speed pages to the high-speed pages will reduce the host I / O performance during the current replication process Determine whether or not
(C) When the determination result of (B) is false, for at least one of the one or more difference slots, the data is rearranged (moved) from the low speed page assigned to the difference slot to the empty high speed page. In addition, the high speed page is allocated to the virtual area including the difference slot instead of the low speed page.
これにより、今回の複製処理中のホストI/O性能を維持しつつ、複製対象データを低速ページから高速ページへ再配置すること(すなわち、データ複製時間を短くすること)が期待できる。
Thus, it can be expected that the replication target data is rearranged from the low speed page to the high speed page (that is, the data replication time is shortened) while maintaining the host I / O performance during the current replication processing.
以下、本実施形態を詳細に説明する。
Hereinafter, this embodiment will be described in detail.
図2は、本実施形態に係る計算機システムの構成を示す。
FIG. 2 shows a configuration of a computer system according to the present embodiment.
ストレージ装置202に、SAN(Storage Area Network)181を介して、ホスト101が接続される。ストレージ装置202に、LAN(Local Area Network)182を介して管理システム69が接続される。LAN182には、ホスト101も接続される。SAN181及びLAN182のうちの少なくとも1つは別種の通信ネットワークでもよい。また、ストレージ装置202、ホスト101及び管理システム69は同一の通信ネットワークに接続されてもよい。ストレージ装置202、ホスト101及び管理システム69のうちの少なくとも1つが複数存在してもよい。
The host 101 is connected to the storage apparatus 202 via a SAN (Storage Area Network) 181. A management system 69 is connected to the storage apparatus 202 via a LAN (Local Area Network) 182. A host 101 is also connected to the LAN 182. At least one of the SAN 181 and the LAN 182 may be another type of communication network. Further, the storage apparatus 202, the host 101, and the management system 69 may be connected to the same communication network. There may be a plurality of at least one of the storage apparatus 202, the host 101, and the management system 69.
ホスト101は、PVOL113及びSVOL113Bのいずれかを指定したI/O要求を発行する。ホスト101は、SAN181(ストレージ装置202)に接続されるI/F(例えばHBA(Host Bus Adapter))264と、LAN182(ストレージ装置202)に接続されるI/F(例えばNIC(Network Interface Card))263、メモリ262、及び、それらの要素262~264に接続されたCPU261とを有する。
The host 101 issues an I / O request specifying either PVOL 113 or SVOL 113B. The host 101 has an I / F (for example, HBA (Host Bus Adapter)) 264 connected to the SAN 181 (storage device 202) and an I / F (for example, Network Interface Card) (NIC) connected to the LAN 182 (storage device 202). ) 263, a memory 262, and a CPU 261 connected to the elements 262 to 264.
管理システム69は、1以上の計算機で構成されてよい。具体的には、例えば、管理計算機が表示デバイスを有していて管理計算機が自分の表示デバイスに情報を表示する場合、管理計算機が管理システム69でよい。また、例えば、管理計算機(例えばサーバ)が表示用情報を遠隔の表示用計算機(例えばクライアント)に送信し表示用計算機がその情報を表示する場合(管理計算機が表示用計算機に情報を表示する場合)、管理計算機と表示用計算機とのうちの少なくとも管理計算機を含んだシステムが管理システム69でよい。管理システム69は、LAN182(ストレージ装置202)に接続されるI/F(例えばNIC)63、メモリ62、及び、それらの要素62及び63に接続されたCPU61を有してよい。管理システム69における計算機が「表示用情報を表示する」ことは、計算機が有する表示デバイスに表示用情報を表示することであってもよいし、計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。メモリ62は、CPU61によりアクセスされる情報やCPU61により実行されるプログラムを記憶する。CPU61は、メモリ62からプログラムを読み出して実行することにより、メモリ62内の情報を参照してストレージ装置202の管理を行う。
The management system 69 may be composed of one or more computers. Specifically, for example, when the management computer has a display device and the management computer displays information on its own display device, the management computer 69 may be the management computer 69. For example, when a management computer (for example, a server) transmits display information to a remote display computer (for example, a client) and the display computer displays the information (when the management computer displays information on the display computer) ), A system including at least the management computer among the management computer and the display computer may be the management system 69. The management system 69 may include an I / F (for example, NIC) 63 connected to the LAN 182 (storage device 202), a memory 62, and a CPU 61 connected to these elements 62 and 63. That the computer in the management system 69 “displays display information” may be that display information is displayed on a display device included in the computer, or the computer transmits display information to the display computer. (In the latter case, display information is displayed by a display computer). The memory 62 stores information accessed by the CPU 61 and programs executed by the CPU 61. The CPU 61 manages the storage apparatus 202 with reference to information in the memory 62 by reading and executing the program from the memory 62.
ストレージ装置202は、ストレージコントローラ108と、ストレージコントローラ108に接続された複数のPDEV10(10S、10A、…)を有する。複数のPDEV10により複数のRAIDグループ20(20S、20A、…)が構成される。
The storage apparatus 202 includes a storage controller 108 and a plurality of PDEVs 10 (10S, 10A,...) Connected to the storage controller 108. A plurality of RAID groups 20 (20S, 20A,...) Are configured by the plurality of PDEVs 10.
ストレージコントローラ108は、CPU112、ホストインターフェース(H-I/F)115、デバイスインターフェース(D-I/F)114、SM(共有メモリ)113、CM(キャッシュメモリ)111、転送回路118、及び管理用インターフェース(M-I/F)116を有する。H-I/F115、CPU112、CM111及びD-I/F114間のデータ転送は、転送回路118経由で行われる。SM113及びM-I/F116は、CPU112に接続されている。I/F114、115及び116が、インターフェース部の一例である。CM111及びSM113が、記憶部の一例である。CPU112が、プロセッサ部の一例である。図2においては、ストレージコントローラ108の各構成要素がそれぞれ1つだけ示されているが、高性能化及び高可用性の確保のため、これらの構成要素の少なくとも1つがストレージコントローラ108内に複数備えられてもよい。
The storage controller 108 includes a CPU 112, a host interface (HI / F) 115, a device interface (DI / F) 114, an SM (shared memory) 113, a CM (cache memory) 111, a transfer circuit 118, and a management circuit. An interface (MI / F) 116 is provided. Data transfer among the HI / F 115, the CPU 112, the CM 111, and the DI / F 114 is performed via the transfer circuit 118. The SM 113 and the MI / F 116 are connected to the CPU 112. The I / Fs 114, 115, and 116 are examples of the interface unit. CM 111 and SM 113 are examples of the storage unit. The CPU 112 is an example of a processor unit. In FIG. 2, only one component of the storage controller 108 is shown, but at least one of these components is provided in the storage controller 108 to ensure high performance and high availability. May be.
D-I/F114は、各PDEV10に接続される。D-I/F114経由で、PDEV10との通信が行われるようになっている。H-I/F115は、ホスト101に接続される。H-I/F115経由で、ホスト101との通信が行われるようになっている。M-I/F116は、管理システム69に接続されている。M-I/F116経由で、管理システム69との通信が行われるようになっている。
The DI / F 114 is connected to each PDEV 10. Communication with the PDEV 10 is performed via the DI / F 114. The HI / F 115 is connected to the host 101. Communication with the host 101 is performed via the HI / F 115. The MI / F 116 is connected to the management system 69. Communication with the management system 69 is performed via the MI / F 116.
CM111には、PDEV10に入出力されるデータが一時的に格納される。SM113には。CPU112により実行されるプログラム、及び、CPU112により参照又は更新される情報(以下、管理情報)が格納される。CPU112は、ストレージ装置202の各種制御を行う。
In the CM 111, data input / output to / from the PDEV 10 is temporarily stored. In SM113. A program executed by the CPU 112 and information referred to or updated by the CPU 112 (hereinafter, management information) are stored. The CPU 112 performs various controls of the storage device 202.
図1に示したストレージシステム102の一例は、ストレージ装置202であってもよいし、ストレージ装置202と管理システム69とを含んだシステムでもよい。このため、図1に示したプロセッサ部94の一例は、CPU112であってもよいし、CPU112及び61を含んでいてもよい。例えば、管理システム69のCPU61が、ストレージ装置202からホストI/O履歴120の少なくとも一部を取得し、その取得した情報に基づき、後述の処理(例えば図10~図15を参照して説明する処理)の少なくとも一部(例えば、図10のS1001、S1002及びS1007のうちの少なくとも一部)を実行してもよい。以下、説明を簡単にするため、ストレージシステム102はストレージ装置202であるとし、プロセッサ部9はCPU112であるとする。
1 may be the storage apparatus 202, or may be a system including the storage apparatus 202 and the management system 69. Therefore, the example of the processor unit 94 illustrated in FIG. 1 may be the CPU 112 or may include the CPUs 112 and 61. For example, the CPU 61 of the management system 69 acquires at least a part of the host I / O history 120 from the storage apparatus 202, and will be described with reference to processing described later (eg, with reference to FIGS. 10 to 15) based on the acquired information. At least a part (for example, at least a part of S1001, S1002, and S1007 in FIG. 10) may be executed. Hereinafter, to simplify the description, it is assumed that the storage system 102 is the storage device 202 and the processor unit 9 is the CPU 112.
図3は、ストレージ装置202内の管理情報及び機能を示す。
FIG. 3 shows management information and functions in the storage apparatus 202.
SM113に格納される管理情報は、ホストI/O履歴120、スロット管理テーブル303、複製順位テーブル304、領域管理テーブル305及び構成管理テーブル306を含む。ホストI/O履歴120は、I/Oモニタテーブル301及び過去履歴テーブル302を含む。各テーブルについては後述する。
The management information stored in the SM 113 includes a host I / O history 120, a slot management table 303, a replication order table 304, an area management table 305, and a configuration management table 306. The host I / O history 120 includes an I / O monitor table 301 and a past history table 302. Each table will be described later.
SM113内のプログラムをCPU112が実行することにより実現される機能として、I/O部311、複製部312及び再配置部313がある。
The functions realized by the CPU 112 executing the program in the SM 113 include an I / O unit 311, a duplication unit 312, and a rearrangement unit 313.
I/O部311は、ホストI/O要求に応答してホストI/O処理を実行する。また、I/O部311は、適宜、ホストI/O履歴120内のI/Oモニタテーブル301を更新する。また、I/O部311は、PVOL113AとSVOL113Bとの差分を管理する。
The I / O unit 311 executes host I / O processing in response to a host I / O request. Further, the I / O unit 311 updates the I / O monitor table 301 in the host I / O history 120 as appropriate. The I / O unit 311 manages the difference between the PVOL 113A and the SVOL 113B.
複製部312は、複製処理を行う。複製部312は、順序決定部321、影響判断部322、領域確保部323、順序更新部324、後処理部325及び制御部326を含む。順序決定部321は、過去履歴テーブル302に基づき各差分スロットの複製順位を決定する。影響判断部は、ホストI/O履歴120を基に、低速ページから高速ページへの再配置が今回の複製処理中のホストI/O性能を低下するか否かを判断する。領域確保部323は、高速ティアから空きページを確保する。順序更新部324は、今回の複製処理中のホストI/O処理に基づき、順序決定部321により決定された複製順序を更新する。後処理部325は、今回の複製処理中のホストI/O処理の履歴を過去履歴テーブル302に反映する。制御部326は、複製部312における機能の呼び出し等を制御する。
The replication unit 312 performs a replication process. The duplicating unit 312 includes an order determining unit 321, an influence determining unit 322, an area securing unit 323, an order updating unit 324, a post-processing unit 325, and a control unit 326. The order determining unit 321 determines the duplication order of each difference slot based on the past history table 302. The influence determination unit determines, based on the host I / O history 120, whether or not the rearrangement from the low speed page to the high speed page lowers the host I / O performance during the current replication process. The area securing unit 323 secures an empty page from the high-speed tier. The order update unit 324 updates the replication order determined by the order determination unit 321 based on the host I / O process during the current replication process. The post-processing unit 325 reflects the history of the host I / O process during the current replication process in the past history table 302. The control unit 326 controls calling of functions in the duplication unit 312.
再配置部313は、異なるティア30間でのデータ再配置を行う。
The relocation unit 313 performs data relocation between different tiers 30.
以下、図4~図9を参照して、SM113内の各テーブルを説明する。
Hereinafter, each table in the SM 113 will be described with reference to FIGS.
図4は、I/Oモニタテーブル301の構成を示す。
FIG. 4 shows the configuration of the I / O monitor table 301.
I/Oモニタテーブル301は、ホストI/O処理のモニタリング結果としての情報を保持するテーブルである。I/Oモニタテーブル301は、一定時間毎のレコードを有する。各レコードは、時刻401、スロットIOPS402、差分スロット#403、ステータス404及びボリュームIOPS405といった情報を保持する。以下、1つの一定時間(図4の説明において「対象一定時間」と言う)を例に取る。
The I / O monitor table 301 is a table that holds information as a monitoring result of host I / O processing. The I / O monitor table 301 has a record for every predetermined time. Each record holds information such as time 401, slot IOPS 402, difference slot # 403, status 404, and volume IOPS 405. Hereinafter, one fixed time (referred to as “target fixed time” in the description of FIG. 4) is taken as an example.
時刻401は、対象一定時間の開始時刻を示す。スロットIOPS402は、対象一定時間にアクセスされた(ホストI/O処理の対象とされた)スロットについての、対象一定時間でのIOPS(I/O頻度)を示す。スロット#403は、対象一定時間にアクセスされたスロットの識別番号を示す。ステータス404は、対象一定時間についてのステータスを示す。ステータス404の値としては、“0”(開始)、“1”(終了)及び“Null”(開始と終了の間)の3種類がある。ボリュームIOPS405は、対象一定時間にアクセスされたスロットを含むVOLについての、対象一定時間でのIOPS(I/O頻度)を示す。
Time 401 indicates the start time of the target fixed time. The slot IOPS 402 indicates the IOPS (I / O frequency) at the target fixed time for the slot accessed during the target fixed time (targeted for host I / O processing). Slot # 403 indicates the identification number of the slot accessed during the target fixed time. The status 404 indicates the status for the target fixed time. There are three types of status 404 values: “0” (start), “1” (end), and “Null” (between start and end). The volume IOPS 405 indicates IOPS (I / O frequency) at the target fixed time for the VOL including the slot accessed at the target fixed time.
対象一定時間において、2以上のスロットがアクセスされた場合、2以上のスロットにそれぞれ対応した2以上のスロット番号が、スロット#403として登録され、2以上のスロットにそれぞれ対応した2以上のIOPSがスロットIOPS402として登録される。I/O部311により、ホストI/O処理のモニタリングが行われ、一定時間経過毎に、I/Oモニタテーブル301に、その一定時間でのモニタリング結果としての情報を持ったレコードが追加される。
When two or more slots are accessed at a certain target time, two or more slot numbers corresponding to two or more slots are registered as slot # 403, and two or more IOPS respectively corresponding to two or more slots are registered. Registered as slot IOPS 402. The host I / O process is monitored by the I / O unit 311, and a record having information as a monitoring result at the certain time is added to the I / O monitor table 301 every time a certain time elapses. .
図5は、過去履歴テーブル302の構成を示す。
FIG. 5 shows the structure of the past history table 302.
過去履歴テーブル302は、過去の複製処理中のホストI/O処理の履歴を保持するテーブルである。過去履歴テーブル302は、過去の複製処理毎にレコードを有する。各レコードは、開始時刻501、終了時刻502、複製処理時間503、累計スロットIOPS504、累計ボリュームIOPS505及びスロット#506といった情報を保持する。以下、1つの過去の複製処理(図5の説明において「対象過去複製処理」と言う)を例に取る。
The past history table 302 is a table that holds a history of host I / O processing during past replication processing. The past history table 302 has a record for each past replication process. Each record holds information such as a start time 501, an end time 502, a duplication processing time 503, a cumulative slot IOPS 504, a cumulative volume IOPS 505, and a slot # 506. Hereinafter, one past duplication process (referred to as “target past duplication process” in the description of FIG. 5) is taken as an example.
開始時刻501は、対象過去複製処理の開始時刻を示す。終了時刻502は、対象過去複製処理の終了時刻を示す。複製処理時間503は、対象過去複製処理にかかった時間(終了時刻502と開始時刻501との差分)を示す。
The start time 501 indicates the start time of the target past replication process. The end time 502 indicates the end time of the target past replication process. The replication processing time 503 indicates the time taken for the target past replication processing (difference between the end time 502 and the start time 501).
累計スロットIOPS504は、対象過去複製処理の最中にホストI/O処理の対象となったスロットについての、対象過去複製処理中におけるスロットIOPSの累計値を示す。例えば、或るスロットについて、対象過去複製処理の期間中のスロットIOPS402として、“100”と“200”があった場合、当該スロットについて、累積スロットIOPSは、“300”(=100+200)である。
The cumulative slot IOPS 504 indicates the cumulative value of the slot IOPS during the target past replication process for the slot that is the target of the host I / O process during the target past replication process. For example, if there are “100” and “200” as the slot IOPS 402 during the target past replication process for a certain slot, the cumulative slot IOPS for that slot is “300” (= 100 + 200).
累計ボリュームIOPS505は、対象過去複製処理の最中にホストI/O処理の対象となったスロットを含んだVOLについての、対象過去複製処理中におけるボリュームIOPSの累計値を示す。例えば、PVOL113Aについて、対象過去複製処理の期間中のボリュームIOPS405として、“200”と“400”があった場合、PVOL113Aについて、累積ボリュームIOPSは、“600”(=200+400)である。
The cumulative volume IOPS 505 indicates the cumulative value of the volume IOPS during the target past replication process for the VOL including the slot that is the target of the host I / O process during the target past replication process. For example, if there are “200” and “400” as the volume IOPS 405 during the target past replication process for the PVOL 113A, the cumulative volume IOPS for the PVOL 113A is “600” (= 200 + 400).
スロット#506は、対象過去複製処理の最中にホストI/O処理の対象となったスロットの識別番号を示す。
Slot # 506 indicates the identification number of the slot that is the target of the host I / O process during the target past replication process.
対象過去複製処理において、2以上のスロットがアクセスされた場合、2以上のスロットにそれぞれ対応した2以上のスロット番号が、スロット#506として登録され、2以上のスロットにそれぞれ対応した2以上の累計スロットIOPSが累計スロットIOPS504として登録される。また、累計ボリュームIOPS505において、2以上のVOLの各々について、累計ボリュームIOPSが示されてよく、その場合、累積ボリュームIOPS毎に、VOL#が関連付けられてもよい。過去履歴テーブル302のレコードにおける情報は、複製部312(後処理部325)によって追加される。また、今回の複製処理において参照されたレコードは、今回の複製処理の終了時に複製部312によって削除されてよい。
In the target past replication process, when two or more slots are accessed, two or more slot numbers respectively corresponding to the two or more slots are registered as slot # 506, and two or more cumulative numbers corresponding to the two or more slots, respectively. The slot IOPS is registered as the cumulative slot IOPS 504. In the cumulative volume IOPS 505, the cumulative volume IOPS may be indicated for each of two or more VOLs. In this case, a VOL # may be associated with each cumulative volume IOPS. Information in the record of the past history table 302 is added by the duplicating unit 312 (post-processing unit 325). Also, the record referenced in the current replication process may be deleted by the replication unit 312 at the end of the current replication process.
図6は、スロット管理テーブル303の構成を示す。
FIG. 6 shows the configuration of the slot management table 303.
スロット管理テーブル303は、PVOL113Aにおけるスロットに関する情報を保持する。スロット管理テーブル303は、PVOL113Aにおけるスロット毎にレコードを有する。各レコードは、領域#601、スロット#602及び差分フラグ603といった情報を保持する。以下、1つのスロット(図6の説明において「対象スロット」と言う)を例に取る。
The slot management table 303 holds information regarding slots in the PVOL 113A. The slot management table 303 has a record for each slot in the PVOL 113A. Each record holds information such as area # 601, slot # 602, and difference flag 603. Hereinafter, one slot (referred to as “target slot” in the description of FIG. 6) is taken as an example.
領域#601は、対象スロットを含んだ仮想領域の識別番号を示す。スロット#602は、対象スロットの識別番号を示す。差分フラグ603は、対象スロットが差分スロットか否かを示す。“1”は、対象スロットが差分スロットであることを意味する。“0”は、対象スロットが差分スロットでないことを意味する。なお、本実施形態において、仮想領域のサイズもスロットのサイズも一定であるとする。
Area # 601 indicates the identification number of the virtual area including the target slot. Slot # 602 indicates the identification number of the target slot. The difference flag 603 indicates whether or not the target slot is a difference slot. “1” means that the target slot is a differential slot. “0” means that the target slot is not a differential slot. In the present embodiment, it is assumed that the size of the virtual area and the size of the slot are constant.
ホストI/O処理の対象となったスロットが差分スロットとなった場合、I/O部311により、当該スロットの差分フラグ603が“1”とされる。また、複製処理によりスロットが差分スロットでなくなった場合、複製部312により、当該スロットの差分フラグ603が“0”とされる。
When the slot subjected to the host I / O processing becomes a difference slot, the I / O unit 311 sets the difference flag 603 of the slot to “1”. If the slot is no longer a difference slot due to duplication processing, the duplication unit 312 sets the difference flag 603 of the slot to “0”.
図7は、複製順位テーブル304の構成を示す。
FIG. 7 shows the configuration of the replication order table 304.
複製順位テーブル304は、PVOL113Aにおけるスロットの複製順位に関する情報を保持する。スロット管理テーブル303は、PVOL113Aにおけるスロット毎にレコードを有する。各レコードは、スロット#701及び複製順位702といった情報を保持する。以下、1つのスロット(図7の説明において「対象スロット」と言う)を例に取る。
The replication order table 304 holds information related to the slot replication order in the PVOL 113A. The slot management table 303 has a record for each slot in the PVOL 113A. Each record holds information such as slot # 701 and duplication order 702. Hereinafter, one slot (referred to as “target slot” in the description of FIG. 7) is taken as an example.
スロット#701は、対象スロットの識別番号を示す。複製順位702は、対象スロットの複製順位を示す。対象スロットが差分スロットでない場合、複製順位702の値は“Null”である。本実施形態では、複製順位702の値が小さい程、複製順位が高い。「対象スロットが差分スロットでない」ケースとしては、例えば、下記のうちの少なくとも1つがある。
・対象スロットがアクセスされたこと(ホストI/O処理の対象とされたこと)がない。
・今回の複製処理中に対象スロットがライト先とされたが(割込み対象とされたが)差分スロットとされるのは次回の複製処理である。Slot # 701 indicates the identification number of the target slot. The duplication rank 702 indicates the duplication rank of the target slot. If the target slot is not a difference slot, the value of the replication rank 702 is “Null”. In this embodiment, the smaller the value of the duplication rank 702, the higher the duplication rank. Examples of the “target slot is not a differential slot” include at least one of the following.
-The target slot has not been accessed (targeted for host I / O processing).
The target slot is set as the write destination during the current replication process (although it is set as the interrupt target), but the next slot is the difference slot.
・対象スロットがアクセスされたこと(ホストI/O処理の対象とされたこと)がない。
・今回の複製処理中に対象スロットがライト先とされたが(割込み対象とされたが)差分スロットとされるのは次回の複製処理である。
-The target slot has not been accessed (targeted for host I / O processing).
The target slot is set as the write destination during the current replication process (although it is set as the interrupt target), but the next slot is the difference slot.
図8は、領域管理テーブル305の構成を示す。
FIG. 8 shows the configuration of the area management table 305.
領域管理テーブル305は、高速ページに関する情報を保持する。領域管理テーブル305は、高速ティア毎にレコードを有する。各レコードは、プールVOL#801、上位マップ#802及び利用フラグ803といった情報を保持する。以下、1つの高速ページ(図8の説明において「対象高速ページ」と言う)を例に取る。
The area management table 305 holds information on high-speed pages. The area management table 305 has a record for each high-speed tier. Each record holds information such as pool VOL # 801, upper map # 802, and usage flag 803. Hereinafter, a single high-speed page (referred to as “target high-speed page” in the description of FIG. 8) is taken as an example.
プールVOL#801は、対象高速ページを含むプールVOLの識別番号を示す。上位マップ#802は、対象高速ページの識別番号を示す。利用フラグ803は、対象高速ページが確保されたか否かを示す。“0”は、対象高速ページは確保されていない(例えば、アクセスされている最中である、又は、既にいずれかの仮想領域に割当て済である)ことを意味する。“1”は、対象高速ページは確保されていることを意味する。
Pool VOL # 801 indicates the identification number of the pool VOL that includes the target high-speed page. The upper map # 802 indicates the identification number of the target high-speed page. The use flag 803 indicates whether or not the target high-speed page is secured. “0” means that the target high-speed page is not secured (for example, being accessed or already assigned to any virtual area). “1” means that the target high-speed page is secured.
図9は、構成管理テーブル306の構成を示す。
FIG. 9 shows the configuration of the configuration management table 306.
構成管理テーブル306は、ストレージ装置202の構成に関する情報を保持する。例えば、構成管理テーブル306は、仮想領域とページとの割当て関係を管理するマッピングテーブル(図示せず)を含んでよい。
The configuration management table 306 holds information regarding the configuration of the storage apparatus 202. For example, the configuration management table 306 may include a mapping table (not shown) that manages the allocation relationship between virtual areas and pages.
構成管理テーブル306は、例えば、PDEV管理テーブル316を含む。PDEV管理テーブル316は、PDEV種別に関する情報を保持する。PDEV管理テーブル316は、PDEV種別毎にレコードを有する。各レコードは、PDEV種別901、容量902、RAID種別903、ティア#904、デバイスIOPS905及び再配置スループット906といった情報を保持する。以下、1つの対象PDEV種別(図9の説明において「対象PDEV種別」と言う)を例に取る。
The configuration management table 306 includes a PDEV management table 316, for example. The PDEV management table 316 holds information regarding the PDEV type. The PDEV management table 316 has a record for each PDEV type. Each record holds information such as PDEV type 901, capacity 902, RAID type 903, tier # 904, device IOPS 905, and relocation throughput 906. Hereinafter, one target PDEV type (referred to as “target PDEV type” in the description of FIG. 9) is taken as an example.
PDEV種別901は、対象PDEV種別を示す。容量902は、対象PDEV種別のPDEVの記憶容量を示す。RAID種別903は、対象PDEV種別のPDEVを含んだRAIDグループのRAID種別(RAIDレベル及びRAID構成)を示す。ティア#904は、対象PDEV種別のPDEVを含んだRAIDグループに基づくプールVOLが含まれるティアの識別番号を示す。ティア#904の値が小さいほど上位(高速)のティアである。デバイスIOPS905は、対象PDEV種別のPDEVのI/O性能の一例であり、処理可能なIOPS(例えば最大値)を示す。再配置スループット906は、対象PDEV種別のPDEVのI/O性能の一例であり、当該PDEVがデータ再配置元又はデータ再配置先となった際のスループット(例えば最大値)を示す。
The PDEV type 901 indicates the target PDEV type. The capacity 902 indicates the storage capacity of the PDEV of the target PDEV type. The RAID type 903 indicates the RAID type (RAID level and RAID configuration) of the RAID group including the PDEV of the target PDEV type. Tier # 904 indicates the identification number of the tier that includes the pool VOL based on the RAID group that includes the PDEV of the target PDEV type. The smaller the value of tier # 904, the higher (higher) tier. The device IOPS 905 is an example of the I / O performance of the target PDEV type PDEV, and indicates a processable IOPS (for example, maximum value). The relocation throughput 906 is an example of the I / O performance of the PDEV of the target PDEV type, and indicates the throughput (for example, the maximum value) when the PDEV becomes the data relocation source or the data relocation destination.
以下、図10~図15を参照して、本実施形態で行われる複製処理の詳細を説明する。
Hereinafter, the details of the duplication processing performed in this embodiment will be described with reference to FIGS.
図10は、複製処理の流れを示す。複製処理は、例えば、定期的に、又は、ホスト101及び管理システム69のうちの少なくとも1つから複製処理の開始要求を複製部312が受信した場合に開始する。また、今回の複製処理の最中であっても、ホストI/O要求の受信、ホストI/O処理の実施、及び、I/Oモニタテーブル301の更新は、行われる。
FIG. 10 shows the flow of replication processing. The duplication processing starts, for example, periodically or when the duplication unit 312 receives a duplication processing start request from at least one of the host 101 and the management system 69. Even during the current replication process, the host I / O request is received, the host I / O process is executed, and the I / O monitor table 301 is updated.
順序決定部321が、順序決定を行う(S1001)。すなわち、順序決定部321は、過去履歴テーブル302を基に、PVOL113Aにおける全差分スロットの複製順序(各差分スロットの複製順位)を決定する。
The order determining unit 321 determines the order (S1001). That is, the order determination unit 321 determines the duplication order of all the difference slots in the PVOL 113A (duplication order of each difference slot) based on the past history table 302.
影響判断部322が、影響判断を行う(S1002)。すなわち、影響判断部322は、低速ページから高速ページへの再配置が今回の複製処理中のホストI/O性能を低下するか否かを判断する。
The influence determination unit 322 makes an influence determination (S1002). That is, the influence determination unit 322 determines whether or not the rearrangement from the low speed page to the high speed page decreases the host I / O performance during the current replication process.
S1002の判断結果が偽の場合(S1003:N)、すなわち、ホストI/O性能が低下しないと判断された場合、領域確保部323が、領域確保を行う(S1004)。例えば、領域確保部323は、N個(Nは自然数)の空き高速ページを確保する。Nは、必要とされた空き高速ページの数である。
When the determination result of S1002 is false (S1003: N), that is, when it is determined that the host I / O performance does not deteriorate, the area securing unit 323 secures the area (S1004). For example, the area securing unit 323 secures N (N is a natural number) free high-speed pages. N is the number of free high speed pages required.
再配置部313が呼び出される。再配置部313が、S1004で確保された高速ページに、差分スロットを含んだ仮想領域に割り当てられている低速ページ内のデータを再配置(移動)する(S1005)。
The relocation unit 313 is called. The rearrangement unit 313 rearranges (moves) the data in the low-speed page allocated to the virtual area including the difference slot to the high-speed page secured in S1004 (S1005).
制御部326が、I/Oモニタテーブル301を基に、今回の複製処理中にホストI/O処理が生じたか否かを判断する(S1006)。S1006の判断結果が偽の場合(S1006:N)、制御部326が、データ複製を行う(S1008)。
The control unit 326 determines based on the I / O monitor table 301 whether a host I / O process has occurred during the current replication process (S1006). When the determination result in S1006 is false (S1006: N), the control unit 326 performs data replication (S1008).
S1006の判断結果が真の場合(S1006:Y)、順序更新部324が、順序更新を行う(S1007)。すなわち、順序更新部324が、今回の複製処理中にホストI/O処理の履歴を基に、S1001で決定された複製順序を更新する。
If the determination result in S1006 is true (S1006: Y), the order update unit 324 updates the order (S1007). That is, the order update unit 324 updates the replication order determined in S1001 based on the host I / O process history during the current replication process.
制御部326が、複製順位テーブル304が示す複製順序通りにデータ複製を行う(S1008)。データ複製は、PVOL113Aにおける全差分スロットの各々について行われる。データ複製は、複製順位の高い順に行われる。例えば、制御部326は、データ複製が行われていない差分スロットのうち最も複製順位の高い差分スロットを選択し、選択した差分スロットからCM111にデータを読み出し、CM111内の当該データを、当該差分スロットに対応した、SVOL113B内のスロットに書き込む。制御部326は、この処理を、データ複製が行われていない差分スロットが無くなるまで繰り返す。S1008での複製順序は、具体的には下記の通りである。
・S1001において、今回の複製処理での複製元となる差分スロットが、過去I/O先スロット(過去の複製処理においてI/O先とされた差分スロット)を含んでいない場合、S008において、複製順序は、差分スロットのスロット#の小さい順である。言い換えれば、このケースでは、スロット#が小さいほど、複製順位が高い。
・S1002の判断結果が真の場合(S1003:Y)、すなわち、ホストI/O性能が低下すると判断された場合、S1008において、複製順序は、S1001で決定された複製順序である。
・S1007において、今回の複製処理中でのいずれのI/O先スロットも過去I/O先スロットでなければ、S1008において、複製順序は、S1001で決定された複製順序である。
・S1007において、今回の複製処理中での少なくとも1つのI/O先スロットが過去I/O先スロットであれば、S1008において、複製順序は、S1007での更新後の複製順序である。 Thecontrol unit 326 performs data replication according to the replication order indicated by the replication order table 304 (S1008). Data replication is performed for each of all the differential slots in the PVOL 113A. Data duplication is performed in descending order of duplication. For example, the control unit 326 selects the difference slot with the highest replication order among the difference slots for which data replication is not performed, reads data from the selected difference slot to the CM 111, and stores the data in the CM 111 as the difference slot. Is written in the slot in the SVOL 113B corresponding to The control unit 326 repeats this process until there is no difference slot for which data replication is not performed. Specifically, the replication order in S1008 is as follows.
In S1001, if the difference slot that is the replication source in the current replication process does not include the past I / O destination slot (difference slot that was set as the I / O destination in the past replication process), the replication slot in S008 The order is from the smallest slot # of the difference slot. In other words, in this case, the smaller the slot #, the higher the replication order.
If the determination result in S1002 is true (S1003: Y), that is, if it is determined that the host I / O performance is degraded, the replication order in S1008 is the replication order determined in S1001.
In S1007, if no I / O destination slot in the current replication process is a past I / O destination slot, the replication order in S1008 is the replication order determined in S1001.
In S1007, if at least one I / O destination slot in the current replication process is a past I / O destination slot, in S1008, the replication order is the replication order after the update in S1007.
・S1001において、今回の複製処理での複製元となる差分スロットが、過去I/O先スロット(過去の複製処理においてI/O先とされた差分スロット)を含んでいない場合、S008において、複製順序は、差分スロットのスロット#の小さい順である。言い換えれば、このケースでは、スロット#が小さいほど、複製順位が高い。
・S1002の判断結果が真の場合(S1003:Y)、すなわち、ホストI/O性能が低下すると判断された場合、S1008において、複製順序は、S1001で決定された複製順序である。
・S1007において、今回の複製処理中でのいずれのI/O先スロットも過去I/O先スロットでなければ、S1008において、複製順序は、S1001で決定された複製順序である。
・S1007において、今回の複製処理中での少なくとも1つのI/O先スロットが過去I/O先スロットであれば、S1008において、複製順序は、S1007での更新後の複製順序である。 The
In S1001, if the difference slot that is the replication source in the current replication process does not include the past I / O destination slot (difference slot that was set as the I / O destination in the past replication process), the replication slot in S008 The order is from the smallest slot # of the difference slot. In other words, in this case, the smaller the slot #, the higher the replication order.
If the determination result in S1002 is true (S1003: Y), that is, if it is determined that the host I / O performance is degraded, the replication order in S1008 is the replication order determined in S1001.
In S1007, if no I / O destination slot in the current replication process is a past I / O destination slot, the replication order in S1008 is the replication order determined in S1001.
In S1007, if at least one I / O destination slot in the current replication process is a past I / O destination slot, in S1008, the replication order is the replication order after the update in S1007.
S1008の後、後処理部325が、後処理を行う(S1009)。すなわち、後処理部325が、今回の複製処理中のホストI/O処理のモニタリング結果(I/Oモニタテーブル301から特定された結果)を過去の複製処理中のホストI/Oの履歴として過去履歴テーブル302に登録する。
After S1008, the post-processing unit 325 performs post-processing (S1009). That is, the post-processing unit 325 uses the monitoring result of the host I / O process during the current replication process (the result specified from the I / O monitor table 301) as the history of the host I / O during the past replication process. Register in the history table 302.
図11は、順序決定(図10のS1001)の流れの詳細を示す。
FIG. 11 shows the details of the sequence determination (S1001 in FIG. 10).
順序決定部321が、I/Oモニタテーブル301のレコードに、時刻401として現在時刻を登録し、ステータス404として“0”(開始)を登録する。そのレコードは、今回の複製処理についての先頭レコードである(S1101)。
The order determination unit 321 registers the current time as the time 401 and “0” (start) as the status 404 in the record of the I / O monitor table 301. The record is the first record for the current replication process (S1101).
順序決定部321が、スロット管理テーブル303を参照し、PVOL113Bにおける差分スロットを特定する(差分スロットが1つも無ければ、今回の複製処理がキャンセルされてよい)。順序決定部321は、特定された全差分スロットが少なくとも1つの過去I/O先スロットを含むか否かを、過去履歴テーブル302を基に判断する(S1102)。過去の複製処理に対応したレコードにおけるスロット#506が、いずれの差分スロットのスロット#を含んでいない場合、S1102の判断結果は偽である。S1102の判断結果が偽の場合(S1102:N)、処理が図10のS1008へ進む。
The order determining unit 321 refers to the slot management table 303 and identifies a difference slot in the PVOL 113B (if there is no difference slot, the current replication process may be canceled). The order determining unit 321 determines whether or not all the identified difference slots include at least one past I / O destination slot based on the past history table 302 (S1102). If slot # 506 in the record corresponding to the past duplication processing does not include slot # of any difference slot, the determination result in S1102 is false. If the determination result in S1102 is false (S1102: N), the process proceeds to S1008 in FIG.
S1102の判断結果が真の場合(S1102:Y)、すなわち、過去の複製処理に対応したレコードにおけるスロット#506が、少なくとも1つの差分スロットのスロット#を含んでいる場合(つまり、少なくとも1つの差分スロットが過去I/O先スロットの場合)、順序決定部321が、該当した差分スロット(以下、過去I/O先差分スロット)の各々について、累積スロットIOPSを、過去履歴テーブル302における累積スロットIOPS504から特定する(S1103)。
When the determination result of S1102 is true (S1102: Y), that is, when slot # 506 in the record corresponding to the past duplication processing includes slot # of at least one difference slot (that is, at least one difference) When the slot is a past I / O destination slot), the order determination unit 321 determines the cumulative slot IOPS for each of the corresponding difference slots (hereinafter, past I / O destination difference slot), and the cumulative slot IOPS 504 in the past history table 302. (S1103).
順序決定部321は、全差分スロットのうちの過去I/O先差分スロットの複製順位を、全差分スロットのうちの過去I/O先差分スロットではない差分スロットの複製順位よりも高くする。その際、過去I/O先差分スロットではない差分スロットの複製順序は、スロット#の小さい順でよい。また、順序決定部321は、過去I/O先差分スロットの複製順序を、累積スロットIOPSの高い順とする(S1104)。
The order determination unit 321 sets the duplication rank of the past I / O destination difference slot among all the difference slots higher than the duplication rank of the difference slot that is not the past I / O destination difference slot among all the difference slots. At that time, the duplication order of the difference slot that is not the past I / O destination difference slot may be the order of the smallest slot #. In addition, the order determining unit 321 sets the duplication order of the past I / O destination difference slot in the descending order of the cumulative slot IOPS (S1104).
順序決定部321は、全差分スロットの複製順位を複製順位テーブル304に登録する(S1105)。
The order determining unit 321 registers the duplication rank of all the difference slots in the duplication rank table 304 (S1105).
図12は、影響判断(図10のS1002)の流れの詳細を示す。
FIG. 12 shows details of the flow of influence determination (S1002 in FIG. 10).
影響判断部322は、過去履歴テーブル302を基に、過去の複製処理について、複製処理時間503と、PVOL113Aの累積ボリュームIOPS505とを特定する(S1201)。また、影響判断部322は、I/Oモニタテーブル301を基に、PVOL113Aの現在ボリュームIOPSを特定する(S1202)。「現在ボリュームIOPS」は、I/Oモニタテーブル301から特定される代表的なボリュームIOPS(例えば、最大値又は平均値)でよい。
The influence determination unit 322 specifies the replication processing time 503 and the cumulative volume IOPS 505 of the PVOL 113A for the past replication processing based on the past history table 302 (S1201). Further, the influence determination unit 322 identifies the current volume IOPS of the PVOL 113A based on the I / O monitor table 301 (S1202). The “current volume IOPS” may be a representative volume IOPS (for example, a maximum value or an average value) identified from the I / O monitor table 301.
影響判断部322は、構成管理テーブル306を基に上位空き容量を算出する(S1203)。構成管理テーブル306における上述のマッピングテーブルは、例えば、ページ毎に、そのページが属するティア#と、そのページが空きか否かのページステータスとを示す。「上位空き容量」とは、空き高速ページの総容量である。
The influence determination unit 322 calculates the upper free capacity based on the configuration management table 306 (S1203). The above-described mapping table in the configuration management table 306 indicates, for example, for each page, a tier # to which the page belongs and a page status indicating whether or not the page is free. “Upper free capacity” is the total capacity of free high-speed pages.
影響判断部322は、複製中利用量を算出する(S1204)。「複製中利用量」とは、今回の複製処理中にPVOL113Aに新たに割り当てられるとみなされる空き高速ページの総容量の最大値である。例えば、複製中利用量=現在ボリュームIOPS×I/Oサイズ×複製処理時間、である。「現在ボリュームIOPS」は、S1202で特定された値である。「I/Oサイズ」は、1つのI/Oで入出力されるデータ量(例えばスロットサイズ)である。「複製処理時間」は、S1201で特定された複製処理時間503である。
The influence determination unit 322 calculates the usage amount during replication (S1204). The “utilizing amount during copying” is the maximum value of the total capacity of free high-speed pages that are considered to be newly allocated to the PVOL 113A during the current copying process. For example, the usage during replication = current volume IOPS × I / O size × duplication processing time. “Current volume IOPS” is the value specified in S1202. The “I / O size” is a data amount (for example, slot size) input / output by one I / O. The “duplication processing time” is the duplication processing time 503 specified in S1201.
影響判断部322は、上位空き容量≦複製中利用量か否かを判断する(S1205)。S1205の判断結果が真の場合(S1205:Y)、処理が、図10のS1008へ進む。なお、上位空き容量≦複製中利用量の場合、S1205:Yとなる理由は、今回の複製処理中の全てのホストI/O処理の対象が新たな仮想領域とした場合、その仮想領域に割当て可能な高速ページが不足し得る(つまり、高いホストI/O性能を出せない可能性がある)からである。
The influence determination unit 322 determines whether or not upper free space ≦ use amount during replication (S1205). If the determination result in S1205 is true (S1205: Y), the process proceeds to S1008 in FIG. If the upper free capacity is equal to or less than the used capacity during replication, the reason for S1205: Y is that if all the host I / O processing targets during the current replication process are new virtual areas, the allocation is made to that virtual area. This is because there may be a shortage of possible high-speed pages (that is, high host I / O performance may not be achieved).
S1205の判断結果が偽の場合(S1205:N)、影響判断部322は、再配置IOPSを算出する(S1206)。「再配置IOPS」は、データ再配置で消費されるIOPSの一例である。例えば、再配置IOPS=再配置スループット÷I/Oサイズである。「再配置スループット」は、高速ティアの基になっているPDEVの再配置スループット906(図9参照)である。「I/Oサイズ」は、1つのI/Oで入出力されるデータ量(例えばスロットサイズ)である。
When the determination result in S1205 is false (S1205: N), the influence determination unit 322 calculates rearrangement IOPS (S1206). “Relocation IOPS” is an example of IOPS consumed by data relocation. For example, rearrangement IOPS = relocation throughput / I / O size. The “relocation throughput” is the PDEV relocation throughput 906 (see FIG. 9) that is the basis of the high-speed tier. The “I / O size” is a data amount (for example, slot size) input / output by one I / O.
影響判断部322は、有効IOPSを算出する(S1207)。「有効IOPS」は、データ再配置中に処理可能なIOPSである。例えば、有効IOPS=デバイスIOPS-再配置IOPS、である。「デバイスIOPS」は、高速ティアの基になっているPDEVのデバイスIOPS905(図9参照)である。「再配置IOPS」は、S1206で算出された値である。
The influence determination unit 322 calculates effective IOPS (S1207). “Valid IOPS” is an IOPS that can be processed during data relocation. For example, valid IOPS = device IOPS−relocation IOPS. “Device IOPS” is a PDEV device IOPS 905 (see FIG. 9) that is the basis of the high-speed tier. “Relocation IOPS” is the value calculated in S1206.
影響判断部322は、平均ボリュームIOPSを算出する(S1208)。「平均ボリュームIOPS」は、PVOL113AのIOPSの平均である。例えば、平均ボリュームIOPS=累計ボリュームIOPS÷複製処理時間、である。「累計ボリュームIOPS」及び「複製処理時間」は、いずれも、S1201で特定された値である。
The influence determination unit 322 calculates the average volume IOPS (S1208). “Average volume IOPS” is the average of IOPS of PVOL 113A. For example, average volume IOPS = cumulative volume IOPS ÷ duplication processing time. Both “cumulative volume IOPS” and “duplication processing time” are the values specified in S1201.
影響判断部322は、有効IOPS≦平均ボリュームIOPSか否かを判断する(S1209)。S1209の判断結果が真の場合(S1209:Y)、処理が、図10のS1008へ進む。なお、有効IOPS≦平均ボリュームIOPSの場合、S1209:Yとなる理由は、低速ページから高速ページへのデータ再配置をすることでPVOL113Aについて必要とされるIOPS(ホストI/O性能)が満たせなくなり得るからである。
The influence determination unit 322 determines whether or not effective IOPS ≦ average volume IOPS (S1209). If the determination result in S1209 is true (S1209: Y), the process proceeds to S1008 in FIG. When effective IOPS ≦ average volume IOPS, the reason for S1209: Y is that the IOPS (host I / O performance) required for the PVOL 113A cannot be satisfied by performing data relocation from the low speed page to the high speed page. Because you get.
S1209の判断結果が偽の場合(S1209:N)、影響判断が終了する。
If the determination result in S1209 is false (S1209: N), the influence determination ends.
本実施形態では、S1205とS1209のいずれの判断結果も偽の場合、低速ページから高速ページへの再配置が今回の複製処理中のホストI/O性能を低下しないとの判断結果である。S1205とS1209の少なくとも1つが、低速ページから高速ページへの再配置が今回の複製処理中のホストI/O性能を低下するか否かの判断の一例である。S1209がS1205より先に行われてもよい。また、S1205とS1209の少なくとも1つの判断結果が偽の場合、ホストI/O性能が低下しないとの判断結果でもよい。
In this embodiment, if both the determination results of S1205 and S1209 are false, it is a determination result that the rearrangement from the low-speed page to the high-speed page does not deteriorate the host I / O performance during the current replication process. At least one of S1205 and S1209 is an example of determining whether or not the rearrangement from the low-speed page to the high-speed page lowers the host I / O performance during the current replication process. S1209 may be performed before S1205. Further, when at least one determination result of S1205 and S1209 is false, it may be a determination result that the host I / O performance does not deteriorate.
図13は、領域確保(図10のS1003)の流れの詳細を示す。
FIG. 13 shows details of the flow of area reservation (S1003 in FIG. 10).
領域確保部323が、領域管理テーブル305の先頭レコードを参照する(S1301)。
The area securing unit 323 refers to the top record of the area management table 305 (S1301).
領域確保部323が、参照先レコードに対応した高速ページに今回I/Oが生じたか(割当て済か)否かを、例えば上述のマッピングテーブルを参照して判断する(S1302)。
The area securing unit 323 determines whether or not the current I / O has occurred (already allocated) on the high-speed page corresponding to the reference record, for example, by referring to the mapping table described above (S1302).
S1302の判断結果が偽の場合(S1302:N)、領域確保部323が、参照先レコードにおける利用フラグ803を“1”(利用可)とする(S1303)。これにより、参照先レコードに対応した空き高速ページが確保されたことになる。
When the determination result in S1302 is false (S1302: N), the area securing unit 323 sets the use flag 803 in the reference record to “1” (usable) (S1303). As a result, a free high-speed page corresponding to the reference destination record is secured.
一方、S1302の判断結果が真の場合(S1302:Y)、領域確保部323が、参照先レコードにおける利用フラグ803を“0”(利用不可)とする(S1304)。
On the other hand, if the determination result in S1302 is true (S1302: Y), the area securing unit 323 sets the use flag 803 in the reference record to “0” (unusable) (S1304).
S1303又はS1304の後、領域確保部323が、確保された空き高速ページの数が必要数N(Nは自然数)に達したか否かを判断する(S1305)。ここで、必要数は、下記のうちのいずれかでよい。必要数が下記のうちのいずれであるかは、予め決められていてもよいし、空き高速ページ数(図12のS1203の上位空き容量に相当)以下のうちの最大となるよう領域確保部323により選択されてもよい。
・全差分スロットを含んだ仮想領域の数。
・全過去I/O先差分スロットを含んだ仮想領域の数。
・全過去I/O先差分スロットを含んだ仮想領域のうち、複製順位の高い過去I/O先差分スロットを含んだ仮想領域の数。 After S1303 or S1304, thearea securing unit 323 determines whether the number of secured free high-speed pages has reached the required number N (N is a natural number) (S1305). Here, the required number may be one of the following. Whether the required number is one of the following may be determined in advance, or the area securing unit 323 may be the maximum of the number of free high-speed pages (corresponding to the upper free capacity in S1203 in FIG. 12) or less. May be selected.
The number of virtual areas that contain all differential slots.
-Number of virtual areas including all past I / O destination difference slots.
The number of virtual areas including the past I / O destination difference slot having the highest replication order among the virtual areas including all the past I / O destination difference slots.
・全差分スロットを含んだ仮想領域の数。
・全過去I/O先差分スロットを含んだ仮想領域の数。
・全過去I/O先差分スロットを含んだ仮想領域のうち、複製順位の高い過去I/O先差分スロットを含んだ仮想領域の数。 After S1303 or S1304, the
The number of virtual areas that contain all differential slots.
-Number of virtual areas including all past I / O destination difference slots.
The number of virtual areas including the past I / O destination difference slot having the highest replication order among the virtual areas including all the past I / O destination difference slots.
S1305の判断結果が偽の場合(S1305:N)、領域確保部323は、参照先レコードの位置(番号)をインクリメントし(つまり、次のレコードが参照先とし)(S1306)、次のレコードについてS1302を行う。
When the determination result of S1305 is false (S1305: N), the area securing unit 323 increments the position (number) of the reference destination record (that is, the next record is the reference destination) (S1306), and the next record S1302 is performed.
S1305の判断結果が真の場合(S1305:Y)、領域確保が終了する。
If the determination result in S1305 is true (S1305: Y), the area reservation is completed.
図14は、順序更新(図10のS1007)の流れの詳細を示す。
FIG. 14 shows the details of the sequence update (S1007 in FIG. 10).
順序更新部324が、少なくとも1つの今回I/O先差分スロットが過去I/O先差分スロットであるか否かを判断する(S1401)。S1401の判断結果が偽の場合(S1401:N)、処理が、図10のS1008へ進む。なお、「今回I/O先差分スロット」とは、今回の複製処理中にホストI/O処理の対象とされた(I/O先とされた)差分スロットである。
The order updating unit 324 determines whether or not at least one current I / O destination difference slot is a past I / O destination difference slot (S1401). If the determination result in S1401 is false (S1401: N), the process proceeds to S1008 in FIG. Note that the “current I / O destination difference slot” is a difference slot (targeted as an I / O destination) that is a target of host I / O processing during the current replication processing.
S1401の判断結果が真の場合(S1401:Y)、順序更新部324は、S1401:Yに該当した今回I/O先差分スロットに関係し得る差分スロットを特定する(S1402)。「今回I/O先差分スロットに関係し得る差分スロット」とは、例えば、今回I/O先差分スロット内のデータと関連付いたデータを格納する差分スロットでよい。
If the determination result in S1401 is true (S1401: Y), the order update unit 324 specifies a difference slot that can be related to the current I / O destination difference slot corresponding to S1401: Y (S1402). The “difference slot that can be related to the current I / O destination difference slot” may be, for example, a difference slot that stores data associated with data in the current I / O destination difference slot.
順序更新部324は、S1401:Yに該当した今回I/O先差分スロットと、S1402で特定された差分スロットとのうちの少なくとも1つについて、複製順位を相対的に上げる(S1403)。結果として、過去I/O先差分スロットに該当する差分スロットのうち、今回I/O先差分スロットにも該当する差分スロットについては、S1001で決定された複製順位よりも高い複製順位とされる。順序更新部324は、S1403での更新後の複製順位を、複製順位テーブル304に登録する。
The order update unit 324 relatively raises the replication rank of at least one of the current I / O destination difference slot corresponding to S1401: Y and the difference slot specified in S1402 (S1403). As a result, among the difference slots corresponding to the past I / O destination difference slot, the difference slot corresponding to the current I / O destination difference slot is set to a higher replication order than the replication order determined in S1001. The order update unit 324 registers the replication order after the update in S1403 in the replication order table 304.
順序更新部324は、S1401:Yに該当した今回I/O先差分スロットと、S1402で特定された差分スロットとのうちの少なくとも1つについて、当該差分スロットを含んだ仮想領域に割り当てられているページが低速ページか否かを判断する(S1404)。S1404の判断結果が真の場合(S1404:Y)、再配置部313が、当該低速ページ内のデータを空き高速ページに再配置する(S1405)。これにより、複製順位が高くされた差分スロット内の複製対象データは、データ複製の際には、高速PDEVに存在することとなる。
The order update unit 324 assigns at least one of the current I / O destination difference slot corresponding to S1401: Y and the difference slot specified in S1402 to the virtual area including the difference slot. It is determined whether the page is a low speed page (S1404). If the determination result in S1404 is true (S1404: Y), the rearrangement unit 313 rearranges the data in the low-speed page to an empty high-speed page (S1405). As a result, the replication target data in the difference slot whose replication order has been increased exists in the high-speed PDEV at the time of data replication.
図15は、後処理(図10のS1009)の流れの詳細を示す。
FIG. 15 shows details of the flow of post-processing (S1009 in FIG. 10).
後処理部325が、I/Oモニタテーブル301における、今回の複製処理に対応した最終レコードに、ステータス404“1”(終了)を登録する(S1501)。
The post-processing unit 325 registers status 404 “1” (end) in the final record corresponding to the current replication process in the I / O monitor table 301 (S1501).
後処理部325が、I/Oモニタテーブル301における、今回の複製処理に対応した先頭レコードを参照する(S1502)。
The post-processing unit 325 refers to the first record corresponding to the current replication process in the I / O monitor table 301 (S1502).
後処理部325は、参照したレコードにおけるステータス404が“0”か否かを判断する(S1503)。
The post-processing unit 325 determines whether or not the status 404 in the referenced record is “0” (S1503).
S1503の判断結果が真の場合(S1503:Y)、参照したレコードは、先頭レコードである。後処理部325は、そのレコードにおける時刻401を開始時刻としてSM113(例えばワーク領域)に格納し、その他、そのレコードにおけるスロットIOPS、スロット#及びボリュームIOPSをSM113に格納する(S1504)。
If the determination result in S1503 is true (S1503: Y), the referenced record is the first record. The post-processing unit 325 stores the time 401 in the record in the SM 113 (for example, the work area) as the start time, and stores the slot IOPS, slot #, and volume IOPS in the record in the SM 113 (S1504).
S1503の判断結果が偽の場合(S1503:N)、後処理部325は、参照したレコードにおけるステータス404が“1”か否かを判断する(S1505)。
If the determination result in S1503 is false (S1503: N), the post-processing unit 325 determines whether the status 404 in the referenced record is “1” (S1505).
S1505の判断結果が偽の場合(S1505:N)、参照したレコードは、先頭レコードと最終レコードの間のレコードである。後処理部325は、そのレコードにおけるスロットIOPS、スロット#及びボリュームIOPSを、SM113に格納済みのスロットIOPS、スロット#及びボリュームIOPSにそれぞれ反映する。つまり、差分スロット毎の累積スロットIOPSが更新され、PVOL113Aについての累積ボリュームIOPSが更新されることになる。その後、後処理部325は、参照先レコードの位置(番号)をインクリメントし(つまり、次のレコードが参照先とし)(S1507)、次のレコードについてS1505を行う。
If the determination result in S1505 is false (S1505: N), the referenced record is a record between the first record and the last record. The post-processing unit 325 reflects the slot IOPS, slot #, and volume IOPS in the record on the slot IOPS, slot #, and volume IOPS already stored in the SM 113, respectively. That is, the accumulated slot IOPS for each difference slot is updated, and the accumulated volume IOPS for the PVOL 113A is updated. Thereafter, the post-processing unit 325 increments the position (number) of the reference destination record (that is, the next record is the reference destination) (S1507), and performs S1505 for the next record.
S1505の判断結果が真の場合(S1505:Y)、参照したレコードは、最終レコードである。後処理部325は、そのレコードにおける時刻401を終了時刻としてSM113(例えばワーク領域)に格納し、その他、そのレコードにおけるスロットIOPS、スロット#及びボリュームIOPSを、SM113に格納済みのスロットIOPS、スロット#及びボリュームIOPSにそれぞれ反映する(S1508)。
If the determination result in S1505 is true (S1505: Y), the referenced record is the last record. The post-processing unit 325 stores the time 401 in the record as the end time in the SM 113 (for example, a work area), and additionally stores the slot IOPS, slot #, and volume IOPS in the record in the slot IOPS, slot # already stored in the SM 113. And reflected in the volume IOPS (S1508).
S1508の終了時点で、開始時刻、終了時刻、各差分スロットの累積スロットIOPS、PVOL113Aの累積ボリュームIOPSが確定している。後処理部325は、過去履歴テーブル302のレコード(今回の複製処理に対応したレコード)に、開始時刻501、終了時刻502、複製処理時間503(終了時刻と開始時刻との差分)、累積スロットIOPS(各差分スロットの累積スロットIOPS)、累積ボリュームIOPS505(少なくともPVOL113Aの累積ボリュームIOPS)、及びスロット#506(差分スロット#のリスト)を登録する(S1509)。次回の複製処理では、S1509で登録された情報を持つレコードが参照される。
At the end of S1508, the start time, end time, accumulated slot IOPS of each difference slot, and accumulated volume IOPS of PVOL 113A are fixed. The post-processing unit 325 adds a start time 501, an end time 502, a copy processing time 503 (difference between the end time and the start time), a cumulative slot IOPS to the record of the past history table 302 (a record corresponding to the current copy process). (Accumulated slot IOPS of each difference slot), accumulated volume IOPS 505 (at least the accumulated volume IOPS of PVOL 113A), and slot # 506 (list of difference slot #) are registered (S1509). In the next replication process, the record having the information registered in S1509 is referred to.
以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。例えば、PVOL113Aは、VVOLでなくてもよい。
As mentioned above, although one embodiment was described, this is an illustration for explaining the present invention, and the scope of the present invention is not limited to this embodiment. The present invention can be implemented in various other forms. For example, the PVOL 113A may not be a VVOL.
102…ストレージシステム
102 ... Storage system
Claims (15)
- 複数の論理記憶領域の基でありI/O性能の異なる複数の記憶デバイスと、
キャッシュメモリを含んだ1以上のメモリであるメモリ部と、
プライマリボリューム及びセカンダリボリュームのうちの少なくともプライマリボリュームを提供し、前記プライマリボリュームにおける領域を指定したホストI/O要求に応答して前記プライマリボリュームに対するホストI/O処理を行い、前記プライマリボリュームのうち前記セカンダリボリュームと差分のある領域である差分領域を管理するプロセッサ部と
を有し、
前記複数の記憶デバイスは、
1以上の第1記憶デバイスと、
前記1以上の第1記憶デバイスよりもI/O性能が低い1以上の第2記憶デバイスと
を含み、
前記複数の論理記憶領域の少なくとも一部は、少なくとも前記プライマリボリュームの少なくともライト先領域に割り当てられる領域であり、
前記複数の論理記憶領域は、
前記1以上の第1の記憶デバイスが提供する複数の第1論理記憶領域と、
前記1以上の第2の記憶デバイスが提供する複数の第2論理記憶領域と
を含み、
前記プロセッサ部は、データ複製を含んだ複製処理を行うようになっており、前記データ複製は、前記プライマリボリュームの1以上の差分領域の各々について、当該差分領域に割り当てられている論理記憶領域から前記キャッシュメモリにデータを読み出し、前記セカンダリボリュームのうち当該差分領域に対応する領域に当該データを複製するために当該データを転送する処理であり、
前記プロセッサ部は、ホストI/O処理の履歴であるホストI/O履歴とを管理し、
前記ホストI/O履歴は、前記プライマリボリュームにおけるI/O先領域と各I/O先領域に対するホストI/O処理の時刻とを含み、
前記プライマリボリュームが少なくとも1つの差分領域を有する場合、前記プロセッサ部は、下記(A)を含む今回の複製処理を行う、
(A)下記(a1)及び(a2)を含む順序決定処理を行う、
(a1)前記プライマリボリュームの全差分領域のうち1以上の過去I/O先領域があるか否かを判断する、
前記1以上の過去I/O先領域の各々は、過去の複製処理中のI/O先領域であって前記ホストI/O履歴から特定される領域である、
(a2)(a1)の判断結果が真の場合、前記全差分領域のうちの全過去I/O先領域の複製順位を、前記全差分領域のうちの前記全過去I/O先領域以外の差分領域の複製順位よりも高くする、
ストレージシステム。 A plurality of storage devices based on a plurality of logical storage areas and having different I / O performance;
A memory unit that is one or more memories including a cache memory;
Providing at least a primary volume of the primary volume and the secondary volume, performing host I / O processing on the primary volume in response to a host I / O request specifying an area in the primary volume, A processor unit that manages a secondary volume and a differential area that is a differential area;
The plurality of storage devices are:
One or more first storage devices;
One or more second storage devices having lower I / O performance than the one or more first storage devices;
At least a part of the plurality of logical storage areas is an area allocated to at least a write destination area of at least the primary volume,
The plurality of logical storage areas are:
A plurality of first logical storage areas provided by the one or more first storage devices;
A plurality of second logical storage areas provided by the one or more second storage devices,
The processor unit performs a replication process including data replication, and the data replication is performed from a logical storage area allocated to the differential area for each of one or more differential areas of the primary volume. A process of reading the data to the cache memory and transferring the data to copy the data to an area corresponding to the differential area of the secondary volume;
The processor unit manages a host I / O history that is a history of host I / O processing,
The host I / O history includes an I / O destination area in the primary volume and a host I / O processing time for each I / O destination area,
When the primary volume has at least one difference area, the processor unit performs the current replication process including (A) below.
(A) An order determination process including the following (a1) and (a2) is performed.
(A1) It is determined whether there is one or more past I / O destination areas among all the differential areas of the primary volume.
Each of the one or more past I / O destination areas is an I / O destination area during past duplication processing and is an area specified from the host I / O history.
(A2) When the determination result of (a1) is true, the replication order of all past I / O destination areas of all the difference areas is set to other than all past I / O destination areas of the all difference areas. Make it higher than the replication order of the difference area,
Storage system. - (a2)において、前記全過去I/O先領域の複製順位は、前記過去の複製処理におけるホストI/O量の高い順である、
請求項1記載のストレージシステム。 In (a2), the replication order of all past I / O destination areas is in descending order of the host I / O amount in the past replication processing.
The storage system according to claim 1. - 前記全過去I/O先領域の各々について、ホストI/O量は、前記過去の複製処理中のその過去I/O先領域に対するホストI/O頻度の累積値である、
請求項2記載のストレージシステム。 For each of all the past I / O destination areas, the host I / O amount is a cumulative value of the host I / O frequency for the past I / O destination area during the past replication process.
The storage system according to claim 2. - 前記プロセッサ部は、前記今回の複製処理において、更に下記(B)及び(C)を行う、
(B)前記全差分領域のうちの少なくとも一部であり1以上の第2論理記憶領域が割り当てられている1以上の差分領域がある場合、第2論理記憶領域から第1論理記憶領域にデータを再配置することが前記今回の複製処理中のホストI/O性能を低下するか否かを判断する、
(C)(B)の判断結果が偽の場合、前記1以上の差分領域のうちの少なくとも1つについて、当該差分領域に割り当てられている第2論理記憶領域から空き第1論理記憶領域にデータを再配置し、且つ、当該差分領域に当該第2論理記憶領域に代えて当該第1論理記憶領域を割り当てる、
請求項1記載のストレージシステム。 The processor unit further performs the following (B) and (C) in the current replication process.
(B) When there is one or more difference areas to which at least a part of all the difference areas and one or more second logical storage areas are assigned, data is transferred from the second logical storage area to the first logical storage area. To determine whether or not rearranging will reduce the host I / O performance during the current replication process,
(C) When the judgment result of (B) is false, data is transferred from the second logical storage area allocated to the differential area to the free first logical storage area for at least one of the one or more differential areas. And assigning the first logical storage area to the difference area instead of the second logical storage area,
The storage system according to claim 1. - 下記(b1)及び(b2)のうちの少なくとも1つに該当する場合、(B)の判断結果が偽である、
(b1)下記(b11)が下記(b12)よりも多い、
(b11)空き第1論理記憶領域の総容量、
(b12)今回の複製処理中に前記プライマリボリュームに新たに割り当てられるとみなされる空き第1論理記憶領域の総容量の最大値である複製中利用量、
(b2)下記(b21)が下記(b22)よりも多い、
(b21)前記プライマリボリュームについての単位時間当たりのホストI/O量、
(b22)データ再配置中に単位時間当たりに処理可能なホストI/O量、
請求項4記載のストレージシステム。 When it corresponds to at least one of the following (b1) and (b2), the judgment result of (B) is false.
(B1) The following (b11) is more than the following (b12),
(B11) the total capacity of the free first logical storage area,
(B12) A used amount during replication that is the maximum value of the total capacity of the free first logical storage area that is considered to be newly allocated to the primary volume during the current replication process;
(B2) The following (b21) is more than the following (b22),
(B21) Host I / O amount per unit time for the primary volume,
(B22) The amount of host I / O that can be processed per unit time during data relocation,
The storage system according to claim 4. - (b12)は、前記I/O履歴から特定される下記(b121)及び(b122)に基づく量である、
(b121)前記過去の複製処理の複製処理時間、
(b122)前記プライマリボリュームに対する単位時間当たりのホストI/O量、
請求項5記載のストレージシステム。 (B12) is an amount based on the following (b121) and (b122) specified from the I / O history.
(B121) Duplication processing time of the past duplication processing,
(B122) Host I / O amount per unit time for the primary volume,
The storage system according to claim 5. - (b21)は、前記I/O履歴から特定される下記(b211)及び(b212)に基づく量であり、
(b211)前記過去の複製処理の複製処理時間、
(b212)前記過去の複製処理中での前記プライマリボリュームに対する単位時間当たりのホストI/O量、
(b22)は、下記(b221)及び(b222)に基づく量である、
(b221)前記1以上の第1記憶デバイスが単位時間当たりに処理可能なI/O量、
(b222)前記データ再配置で消費されるI/O量、
請求項5記載のストレージシステム。 (B21) is an amount based on the following (b211) and (b212) specified from the I / O history,
(B211) Duplication processing time of the past duplication processing,
(B212) Host I / O amount per unit time for the primary volume during the past replication processing,
(B22) is an amount based on the following (b221) and (b222).
(B221) The amount of I / O that can be processed per unit time by the one or more first storage devices,
(B222) I / O amount consumed by the data relocation,
The storage system according to claim 5. - (C)において、前記プロセッサ部は、(A)で決定された複製順位が相対的に高い差分領域を優先的にデータ再配置対象とする、
請求項4記載のストレージシステム。 In (C), the processor unit preferentially sets a difference area having a relatively high replication order determined in (A) as a data relocation target.
The storage system according to claim 4. - 前記プロセッサ部は、前記今回の複製処理において、更に下記(D)を行う、
(D)(B)の判断結果が偽の場合、下記(d1)及び(d2)を含む順序更新処理を行う、
(d1)前記ホストI/O履歴を基に、前記今回の複製処理中のホストI/O処理でのI/O先領域がいずれかの過去I/O先領域であるか否かを判断する、
(d2)(d1)の判断結果が真の場合、当該I/O先領域としての過去I/O先領域の複製順位であって、(A)で決定された複製順位を、相対的に上げる、
請求項4記載のストレージシステム。 The processor unit further performs the following (D) in the current replication process:
(D) When the determination result of (B) is false, an order update process including the following (d1) and (d2) is performed.
(D1) Based on the host I / O history, it is determined whether or not the I / O destination area in the host I / O process during the current replication process is any past I / O destination area. ,
(D2) When the determination result of (d1) is true, the replication order of the past I / O destination area as the I / O destination area, which is relatively higher than the replication order determined in (A) ,
The storage system according to claim 4. - 前記順序更新処理は、更に、下記(d3)及び(d4)を含む、
(d3)(d1)の判断結果が真に該当した過去I/O先領域に第2論理記憶領域が割り当てられているか否かを判断する、
(d4)(d3)の判断結果が真の場合、当該過去I/O先領域について、当該過去I/O先領域に割り当てられている第2論理記憶領域から空き第1論理記憶領域にデータを再配置し、且つ、当該過去I/O先領域に当該第2論理記憶領域に代えて当該第1論理記憶領域を割り当てる、
請求項9記載のストレージシステム。 The order update process further includes the following (d3) and (d4),
(D3) It is determined whether or not the second logical storage area is allocated to the past I / O destination area for which the determination result of (d1) is true.
(D4) When the determination result of (d3) is true, for the past I / O destination area, data is transferred from the second logical storage area allocated to the past I / O destination area to the free first logical storage area. Rearrange and assign the first logical storage area to the past I / O destination area instead of the second logical storage area.
The storage system according to claim 9. - 前記プロセッサ部は、
(B)の判断結果が真の場合、(A)で決定された複製順序でデータ複製を行い、
(B)の判断結果が偽の場合、(D)で更新された複製順序でデータ複製を行う、
請求項9記載のストレージシステム。 The processor unit is
If the determination result in (B) is true, data replication is performed in the replication order determined in (A),
If the determination result in (B) is false, data replication is performed in the replication order updated in (D).
The storage system according to claim 9. - (C)において、データ再配置先の空き第1論理記憶領域は、前記プロセッサ部により確保された空き第1論理記憶領域である、
請求項4記載のストレージシステム。 In (C), the empty first logical storage area of the data rearrangement destination is an empty first logical storage area secured by the processor unit.
The storage system according to claim 4. - 前記ホストI/O履歴は、過去の複製処理中のホストI/O処理の履歴を含み、
前記プロセッサ部は、更に、下記(E)を行う、
(E)前記今回の複製処理でのホストI/O処理の履歴を新たに過去の複製処理のホストI/O処理の履歴として前記ホストI/O履歴に反映する、
請求項1記載のストレージシステム。 The host I / O history includes a history of host I / O processing during past replication processing,
The processor unit further performs the following (E):
(E) The host I / O processing history in the current replication process is newly reflected in the host I / O history as the past replication processing host I / O processing history.
The storage system according to claim 1. - 各差分領域は、データ複製の単位であり、
各論理記憶領域は、割当ての単位であって、データ複製の単位より大きい単位である、
請求項1記載のストレージシステム。 Each difference area is a unit of data replication,
Each logical storage area is a unit of allocation and is a unit larger than the unit of data replication.
The storage system according to claim 1. - ストレージシステムでの複製制御方法であって、
前記ストレージシステムは、
複数の論理記憶領域の基でありI/O性能の異なる複数の記憶デバイスと、
キャッシュメモリを含んだ1以上のメモリであるメモリ部と
を有し、
前記ストレージシステムは、プライマリボリューム及びセカンダリボリュームのうちの少なくともプライマリボリュームを提供し、前記プライマリボリュームにおける領域を指定したホストI/O要求に応答して前記プライマリボリュームに対するホストI/O処理を行い、前記プライマリボリュームのうち前記セカンダリボリュームと差分のある領域である差分領域を管理するようになっており、
前記複数の記憶デバイスは、
1以上の第1記憶デバイスと、
前記1以上の第1記憶デバイスよりもI/O性能が低い1以上の第2記憶デバイスと
を含み、
前記複数の論理記憶領域の少なくとも一部は、少なくとも前記プライマリボリュームの少なくともライト先領域に割り当てられる領域であり、
前記複数の論理記憶領域は、
前記1以上の第1の記憶デバイスが提供する複数の第1論理記憶領域と、
前記1以上の第2の記憶デバイスが提供する複数の第2論理記憶領域と
を含み、
前記ストレージシステムは、データ複製を含んだ複製処理を行うようになっており、前記データ複製は、前記プライマリボリュームの1以上の差分領域の各々について、当該差分領域に割り当てられている論理記憶領域から前記キャッシュメモリにデータを読み出し、前記セカンダリボリュームのうち当該差分領域に対応する領域に当該データを複製するために当該データを転送する処理であり、
前記複製制御方法は、
ホストI/O処理の履歴であるホストI/O履歴を管理し、前記ホストI/O履歴は、前記プライマリボリュームにおけるI/O先領域と各I/O先領域に対するホストI/O処理の時刻とを含み、
前記プライマリボリュームが少なくとも1つの差分領域を有する場合、下記(A)を含む今回の複製処理を行う、
(A)下記(a1)及び(a2)を含む順序決定処理を行う、
(a1)前記プライマリボリュームの全差分領域のうち1以上の過去I/O先領域があるか否かを判断する、前記1以上の過去I/O先領域の各々は、過去の複製処理中のI/O先領域であって前記ホストI/O履歴から特定される領域である、
(a2)(a1)の判断結果が真の場合、前記全差分領域のうちの全過去I/O先領域の複製順位を、前記全差分領域のうちの前記全過去I/O先領域以外の差分領域の複製順位よりも高くする、
複製制御方法。 A replication control method in a storage system,
The storage system
A plurality of storage devices based on a plurality of logical storage areas and having different I / O performance;
A memory unit that is one or more memories including a cache memory;
The storage system provides at least a primary volume of a primary volume and a secondary volume, performs host I / O processing for the primary volume in response to a host I / O request specifying an area in the primary volume, and It is designed to manage a difference area that is a difference between the secondary volume and the primary volume,
The plurality of storage devices are:
One or more first storage devices;
One or more second storage devices having lower I / O performance than the one or more first storage devices;
At least a part of the plurality of logical storage areas is an area allocated to at least a write destination area of at least the primary volume,
The plurality of logical storage areas are:
A plurality of first logical storage areas provided by the one or more first storage devices;
A plurality of second logical storage areas provided by the one or more second storage devices,
The storage system performs replication processing including data replication, and the data replication is performed for each of one or more differential areas of the primary volume from a logical storage area allocated to the differential area. A process of reading the data to the cache memory and transferring the data to copy the data to an area corresponding to the differential area of the secondary volume;
The replication control method includes:
A host I / O history, which is a history of host I / O processing, is managed, and the host I / O history includes the I / O destination area in the primary volume and the host I / O processing time for each I / O destination area. Including
If the primary volume has at least one difference area, the current replication process including (A) below is performed.
(A) An order determination process including the following (a1) and (a2) is performed.
(A1) It is determined whether or not there is one or more past I / O destination areas among all the differential areas of the primary volume. Each of the one or more past I / O destination areas is in a past replication process. An I / O destination area that is specified from the host I / O history.
(A2) When the determination result of (a1) is true, the replication order of all past I / O destination areas of all the difference areas is set to other than all past I / O destination areas of the all difference areas. Make it higher than the replication order of the difference area,
Replication control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/010953 WO2018167950A1 (en) | 2017-03-17 | 2017-03-17 | Storage system and copying control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/010953 WO2018167950A1 (en) | 2017-03-17 | 2017-03-17 | Storage system and copying control method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018167950A1 true WO2018167950A1 (en) | 2018-09-20 |
Family
ID=63521896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/010953 WO2018167950A1 (en) | 2017-03-17 | 2017-03-17 | Storage system and copying control method |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2018167950A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217641A (en) * | 2007-03-07 | 2008-09-18 | Nec Corp | Replication method, storage device and program |
JP2009289252A (en) * | 2008-05-30 | 2009-12-10 | Hitachi Ltd | Remote replication in hierarchical storage system |
JP2013196290A (en) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | Backup device, backup method and backup program |
JP2016085666A (en) * | 2014-10-28 | 2016-05-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Storage management method, storage management system, computer system, and program |
-
2017
- 2017-03-17 WO PCT/JP2017/010953 patent/WO2018167950A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217641A (en) * | 2007-03-07 | 2008-09-18 | Nec Corp | Replication method, storage device and program |
JP2009289252A (en) * | 2008-05-30 | 2009-12-10 | Hitachi Ltd | Remote replication in hierarchical storage system |
JP2013196290A (en) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | Backup device, backup method and backup program |
JP2016085666A (en) * | 2014-10-28 | 2016-05-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Storage management method, storage management system, computer system, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8984248B2 (en) | Data migration system and data migration method | |
JP5303066B2 (en) | Method and storage device for limiting total capacity of virtual volume associated with pool | |
JP5981563B2 (en) | Information storage system and method for controlling information storage system | |
US10031703B1 (en) | Extent-based tiering for virtual storage using full LUNs | |
JP4890033B2 (en) | Storage device system and storage control method | |
JP4890160B2 (en) | Storage system and backup / recovery method | |
JP5314772B2 (en) | Storage system management system and method having a pool composed of real areas with different performance | |
JP5073259B2 (en) | Virtualization system and area allocation control method | |
JP5124551B2 (en) | Computer system for managing volume allocation and volume allocation management method | |
JP5250869B2 (en) | Storage system, logical storage area allocation method, and computer system | |
JP5391277B2 (en) | Storage system and storage system processing efficiency improvement method | |
US9250813B2 (en) | Storage system coupled to a host computer and a management device | |
US8806126B2 (en) | Storage apparatus, storage system, and data migration method | |
JP4684864B2 (en) | Storage device system and storage control method | |
JP6835949B2 (en) | Information system, management program and information system program exchange method | |
JP6853227B2 (en) | Storage system and storage control method | |
WO2012035576A1 (en) | Storage system storing electronic modules applied to electronic objects common to several computers, and storage control method for the same | |
JP2020052919A (en) | Storage device, management method and program | |
JP5778872B2 (en) | Storage system and data management method | |
WO2018167950A1 (en) | Storage system and copying control method | |
WO2018055686A1 (en) | Information processing system | |
JP7113698B2 (en) | Information system | |
JP2020106999A (en) | Storage system and storage system data management method | |
JP2024017058A (en) | Storage system and management method | |
JP2023125073A (en) | Storage control apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17900485 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17900485 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |