WO2018042608A1 - Storage unit and control method therefor - Google Patents

Storage unit and control method therefor Download PDF

Info

Publication number
WO2018042608A1
WO2018042608A1 PCT/JP2016/075734 JP2016075734W WO2018042608A1 WO 2018042608 A1 WO2018042608 A1 WO 2018042608A1 JP 2016075734 W JP2016075734 W JP 2016075734W WO 2018042608 A1 WO2018042608 A1 WO 2018042608A1
Authority
WO
WIPO (PCT)
Prior art keywords
pool
storage device
performance
target
read
Prior art date
Application number
PCT/JP2016/075734
Other languages
French (fr)
Japanese (ja)
Inventor
英美子 藤松
開道 相浦
純二 岩崎
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2016/075734 priority Critical patent/WO2018042608A1/en
Publication of WO2018042608A1 publication Critical patent/WO2018042608A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Definitions

  • the present invention relates to a storage apparatus and a control method thereof, and is particularly suitable when applied to a storage apparatus equipped with a virtualization function.
  • the virtualization function provides a virtual logical volume (hereinafter referred to as a virtual volume) to the host device, and when a write request is given from the host device to an unused storage area in the virtual volume.
  • a virtual volume a virtual logical volume
  • This is a function for dynamically allocating a physical storage area to the storage area.
  • a predetermined number of hard disk devices are managed as a RAID (Redundant Arrays of Inexpensive Disks) group, and logical volumes defined on storage areas provided by the RAID group (hereinafter referred to as this). Is called a pool volume) or a plurality of them are managed as one pool.
  • the physical storage area is assigned to the virtual volume by cutting out a storage area of a predetermined size from this pool.
  • Such a virtualization function has the advantage that it is not necessary to prepare in advance a hard disk device for the capacity of the virtual volume provided to the host device, and the introduction cost of the storage device can be reduced.
  • Patent Document 1 As a method for solving such a problem, for example, in Patent Document 1, the performance of a plurality of disk devices is periodically measured while the device is operating, and the performance degradation of any one of the disk devices is detected based on the measured performance value. In this case, it is disclosed that a disk device is added and data of an existing disk device is rearranged in the added disk device.
  • Patent Document 2 monitors the access load on a logical disk belonging to a storage pool, and when a logical disk with a high access load is detected, a storage pool having a necessary capacity is secured to store the logical disk. A method for moving data is disclosed.
  • the present invention has been made in consideration of the above points, and an object of the present invention is to propose a highly reliable storage apparatus and its control method capable of easily performing the optimum performance improvement according to the situation of the storage apparatus.
  • one or a plurality of logical volumes are defined on a storage area provided by a storage device group composed of one or a plurality of storage devices, and one or a plurality of the storage device groups are defined.
  • the pool is formed by one or more logical volumes to be provided, provides a virtual volume to a host device, and is associated with the virtual volume in response to a data write request from the host device to the virtual volume
  • the storage area is logically divided into a plurality of areas, and the area is used as a cache area for temporarily storing data read from and written to the logical volume Cache memory allocated to the pool, and for each pool,
  • a cache hit rate which is a ratio in which read target data is stored in the cache area allocated to the pool at the time of read access in the device group, and the frequency of the read access and write access in each of the storage device groups, respectively
  • the cache hit rate at the time of the read access in the storage device group is equal to or less than a predetermined first threshold for each of the performance monitoring unit to be acquired and the pool
  • the storage device group provides the logical volume.
  • the capacity of the cache area allocated to the pool is added, and if the frequency of the read access or the
  • one or more logical volumes are defined on a storage area provided by a storage device group composed of one or more storage devices, and one or more provided by one or more storage device groups.
  • a pool is formed by the logical volume of the virtual volume, the virtual volume is provided to the host device, and the virtual volume is transferred from the pool associated with the virtual volume in response to a data write request from the host device to the virtual volume.
  • the storage apparatus is a cache in which the storage area is logically divided into a plurality of areas, and the area temporarily stores data read and written to the logical volume.
  • the write performance is improved by adding a new logical volume, while the read performance depends on the pool status.
  • the performance of the pool is improved by adding the capacity of the cache area of the pool and / or adding a new logical volume to the pool.
  • (A) to (C) are charts for explaining the pool performance monitoring process. It is a flowchart which shows the process sequence of an access classification discrimination
  • reference numeral 1 denotes a computer system according to this embodiment as a whole.
  • the computer system 1 includes a host device 2 that executes processing according to a user's job, and a storage device 3 that is equipped with a virtualization function.
  • the host device 2 and the storage device 3 communicate with each other through a communication path 4. Connected through.
  • the host device 2 is a general-purpose server device provided with information processing resources such as a CPU 10, a memory 11, and an interface 12, and the CPU 10 executes application software 14 stored in the memory 11, whereby data to the storage device 3 is stored. Predetermined business processing including reading and writing is executed.
  • the interface 12 is a hardware device having a function of performing protocol control when communicating with the storage apparatus 3 via the communication path 4.
  • the storage device 3 includes a data storage unit 21 including a plurality of storage devices 20 and a controller 22 that controls data input / output with respect to the data storage unit 21.
  • the storage device 20 of the data storage unit 21 is composed of a large-capacity nonvolatile storage device such as a hard disk device or an SSD (Solid State Drive). In the following description, it is assumed that the storage device 20 is composed of a hard disk device.
  • a RAID group RG is formed by one or a plurality of storage devices 20, and one or a plurality of pool volumes PLVOL are created in a storage area provided by the storage devices 20 constituting one RAID group RG.
  • a pool PL is formed by one or a plurality of pool volumes PLVOL provided by one or a plurality of RAID groups RG.
  • the virtual volume VVOL provided by the storage device 3 to the host device 2 is associated with one of the pools PL.
  • a write request for an unused storage area in the virtual volume VVOL is given from the host device 2
  • a predetermined size is generated from any pool volume PLVOL in the pool PL associated with the virtual volume VVOL.
  • a storage area (hereinafter referred to as a real storage area) is cut out and assigned to the write destination storage area in the virtual volume VVOL, and the write data is stored in the real storage area.
  • the controller 22 includes information processing resources such as a host interface 23, a disk interface 24, a processor 25, a local memory 26, and a cache memory 27.
  • the host interface 23 is a hardware device having a function of performing protocol control when communicating with the host device 2 via the communication path 4, and the disk interface 24 is communicating with the storage device 20 in the data storage unit 21. This is a hardware device having a function of performing protocol control.
  • the processor 25 is a hardware device having a function for controlling the operation of the entire storage apparatus 3, and the local memory 26 is mainly used to hold various programs and various data. Various processes of the entire storage apparatus 3 are executed by the processor 25 executing the program stored in the local memory 26.
  • the cache memory 27 is used to temporarily store data read / written from / to the data storage unit 21.
  • the storage area of the cache memory 27 is logically divided and managed in a plurality of areas called CLPR (CacheitionLogical ⁇ Partition), and these CLPR are read / write target for the virtual volume VVOL.
  • CLPR cacheitionLogical ⁇ Partition
  • Each pool PL is allocated as a cache area for temporarily storing data.
  • the data written from the host device 2 to the virtual volume VVOL is temporarily stored in the cache area (CLPR) assigned to the pool PL associated with the virtual volume VVOL, and then stored in the storage device 3.
  • CLPR cache area assigned to the pool PL associated with the virtual volume VVOL
  • the data is distributed and stored in each storage device 20 constituting the RAID group RG corresponding to when the load on the device 3 is low.
  • the data is read from the cache area.
  • the data is read from the corresponding storage device 20 to the cache area (hereinafter referred to as staging). Thereafter, the data is transferred from the cache area to the host device 2.
  • the cache hit rate the rate of cache hits during read processing
  • the pool volume PLVOL of the RAID group RG that does not provide the pool volume PLVOL is added to the pool PL, and each pool volume that has constituted the pool PL until then is added.
  • the load on each RAID group RG that provides the pool volume PLVOL to the pool PL can be reduced.
  • the write performance and read performance of the pool PL can be improved.
  • the storage apparatus 3 of the present embodiment for each pool PL defined in the apparatus, for each RAID group RG that provides the pool volume PLVOL to the pool PL, at least the unit time during the read process and the write process Acquire the number of accesses per second (hereinafter referred to as the access frequency) and the cache hit rate during read processing, and improve the performance of the pool PL based on these information
  • the performance improvement function which performs is carried.
  • the storage apparatus 3 determines the write performance and read performance of the pool PL based on the information acquired as described above. If it is determined that the write performance has decreased, a new pool volume is added to the pool PL. While improving the performance of the pool PL by adding a PLVOL, if it is determined that the read performance has deteriorated, the capacity of the cache area allocated to the pool PL is determined according to the status of the pool PL. The performance of the pool PL is improved by increasing and / or adding a new pool volume PLVOL to the pool PL.
  • the storage device 3 also includes a pool PL that is used in the batch processing so that the batch processing scheduled in the host device 2 does not end within the scheduled time, so that the batch processing ends within the scheduled time.
  • a batch improvement function for increasing the capacity of the cache area to be assigned to or adding a new pool volume PLVOL to the pool PL is also installed.
  • the local memory 26 (FIG. 1) of the controller 22 (FIG. 1) of the storage apparatus 3 has a performance as a program as shown in FIG. A monitoring program 30, an access type determination program 31, a performance improvement processing program 32, and a batch improvement program 33 are stored.
  • a management database 34 As a management database 34, a RAID group performance information table 35, a RAID group information management table 36, a pool information management table 37, a CLPR A management table 38 and a batch schedule management table 39 are stored.
  • the performance monitoring program 30 acquires performance information for each RAID group RG defined in the storage device 3, monitors the performance of each pool PL in the storage device 3 based on the acquired performance information, and if necessary This is a program having a function of executing processing for improving the performance of the pool PL.
  • the performance monitoring program 30 performs, for each RAID group RG, the access frequency for each of the four types of access such as random read, sequential read, random write, and sequential write for that RAID group RG, and the cache hit for each access type.
  • Rate and the usage rate of the storage device 20 in the RAID group RG (the ratio of the used capacity to the total capacity of the RAID group RG, hereinafter referred to as the storage device usage rate) is a unit time (1 second)
  • the acquired information is stored in the RAID group performance information table 35 corresponding to the RAID group RG and managed.
  • the performance monitoring program 30 monitors the performance of each pool PL based on the information stored in the RAID group performance information table 35, and determines that the performance of the pool PL has deteriorated. 31 and the performance improvement processing program 32 and / or the batch improvement program 33 are called to execute processing for improving the performance of the pool PL.
  • the access type determination program 31 stores the access frequency for each of the above four types of access types stored in each RAID group performance information table 35, and a threshold value for the access frequency preset for each access type (hereinafter referred to as these). Based on the first IOPS (Input Output Per Second) threshold), the access type whose access frequency exceeds the corresponding first IOPS threshold is specified, and based on the specified result, the performance to be executed at that time.
  • This is a program having a function of instructing the performance improvement processing program 32 for improvement processing.
  • the performance improvement processing program 32 is a program having a function of executing various performance improvement processes for improving the performance of the pool PL in response to an instruction from the access type determination program 31. Further, the batch improvement program 33 performs the performance of the pool PL used in the batch processing so that the batch processing is completed within the time when the batch processing executed by the host device 2 is not completed within the scheduled time. It is a program having a function to improve.
  • the RAID group performance information table 35 is a table used for holding and managing the performance information of the RAID group RG acquired by the performance monitoring program 30, and is created for each RAID group RG. As shown in FIG. 3, the RAID group performance information table 35 includes a serial number column 35A, an information acquisition time column 35B, a read related information column 35C, a write related information column 35D, and a storage device usage rate column 35E. .
  • serial number column 35A serial numbers assigned to registration information (hereinafter referred to as record information) for each row (hereinafter referred to as record) of the RAID group performance information table 35 are stored.
  • record information serial numbers assigned to registration information (hereinafter referred to as record information) for each row (hereinafter referred to as record) of the RAID group performance information table 35 are stored.
  • information acquisition time column 35B the date and time when the record information is acquired is stored.
  • the storage device usage rate column 35E stores the storage device usage rate at the time when the record information in the corresponding RAID group RG is acquired.
  • the read related information column 35C includes a random read IOPS column 35CA, a random read cache hit rate column 35CB, a sequential read IOPS column 35CC, and a sequential read cache hit rate column 35CD.
  • the random read IOPS column 35CA In the random read IOPS column 35CA, the number of random read accesses made to the corresponding RAID group RG in the time zone from the time when the record immediately before that record was acquired to the time when the record was acquired. (That is, the random read access frequency) is stored, and the random read cache hit rate column 35CB stores the cache hit rate at the time of random read access in that time zone.
  • the sequential read IOPS column 35CC stores the number of sequential read accesses made to the corresponding RAID group RG in that time zone (that is, the sequential read access frequency), and is stored in the sequential read cache hit rate column 35CD. Stores the cache hit rate at the time of sequential read access in that time zone.
  • the write related information column 35D includes a random write IOPS column 35DA, a random write cache hit rate column 35DB, a sequential write IOPS column 35DC, and a sequential write cache hit rate column 35DD.
  • the random write IOPS column 35DA the number of random write accesses made to the corresponding RAID group RG in the time zone from the time when the record immediately before that record was acquired to the time when the record was acquired. (That is, the random write access frequency) is stored, and the random write cache hit rate column 35DB stores the cache hit rate at the time of random write access in that time zone.
  • the sequential write IOPS column 35DC stores the number of sequential write accesses (that is, the sequential write access frequency) performed for the corresponding RAID group RG during the time period, and the sequential write cache hit rate column 35DD stores the number of sequential write accesses. Stores the cache hit rate at the time of sequential write access in that time zone.
  • the corresponding RAID group RG has a random read access frequency of “2009/11/14 ⁇ 0:00 ”to“ 2009/11/14 0:01 ”.
  • the cache hit rate is“ 33 ”%
  • the sequential read access frequency is“ 780 ”
  • the cache hit rate is“ 9 ”%
  • the random write access frequency is“ 90 ”.
  • the cache hit rate is “93”%
  • the sequential write access frequency is “199”
  • the cache hit rate at that time is “55”%
  • the average usage rate of each storage device 20 constituting the RAID group RG Was 30%.
  • the RAID group information management table 36 is a table used for managing the configuration information of each RAID group RG created in the storage apparatus 3, and as shown in FIG. A configured logical volume number column 36B, a configuration pool number column 36C, a RAID level column 36D, a storage device rotation number column 36E, a storage device number column 36F, and a logical volume capacity column 36G.
  • the RAID group RG is abbreviated as “RG”
  • the logical volume is abbreviated as “LU”. The same applies to the other drawings.
  • the created logical volume number column 36B stores the identification numbers (logical volume numbers) of all the logical volumes created in the storage device 3, and the corresponding logical volume is created in the RAID group number column 36A.
  • the identification number (RAID group number) of the RAID group RG is stored, and when the corresponding logical volume configures any pool PL as a pool volume, the identification number of the pool PL is stored in the configuration pool number column 36C. (Pool number) is stored.
  • the RAID level column 36D stores the RAID level of the corresponding RAID group RG
  • the storage device rotation speed column 36E stores each storage device 20 constituting the RAID group RG (in the present embodiment as described above). The number of rotations per unit time of the hard disk device) is stored. Further, the number of storage devices 20 constituting the RAID group RG is stored in the storage device number column 36F, and the capacity of the corresponding logical volume is stored in the logical volume capacity column 36G.
  • the RAID group RG “1-1” has a RAID level “RAID5” composed of “5” storage devices 20 whose rotation speed per unit time is “1500”.
  • a logical volume with a logical volume number of “00:01:01” with a capacity of “1200” GB and a “volume” with a capacity of “800” GB 00:01:02 ” is created, and both of these logical volumes are assigned to a pool PL having a pool number of“ 1 ”(which constitutes the pool PL). It has been shown.
  • the pool information management table 37 is a table used for managing configuration information of each pool PL defined in the storage apparatus 3, and as shown in FIG. 5, a pool number column 37A and a RAID group number column 37B.
  • the allocated capacity column 37C, the unallocated capacity column 37D, the threshold excess flag column 37E, and the CLPR number column 37F are provided.
  • the RAID group number column 37B stores the RAID group number of each RAID group RG defined in the storage apparatus 3, and the pool number column 37A stores the logical volume provided by the corresponding RAID group RG as a pool volume.
  • the identifier (pool number) of the pool PL to be included is stored.
  • the allocated capacity column 37C stores the total capacity of the storage areas allocated to the virtual volume VVOL (FIG. 1) associated with the corresponding pool PL out of the total capacity of the corresponding RAID group RG.
  • the allocated capacity column 37D stores the total capacity of the storage area that is not yet allocated to the virtual volume VVOL out of the total capacity of the RAID group RG.
  • threshold excess flag column 37E whether or not the storage device usage rate of the corresponding RAID group RG has exceeded a preset threshold value (hereinafter referred to as a storage device usage rate threshold value) in the performance improvement process described later.
  • An over-threshold flag is stored.
  • the threshold excess flag is initially set to “0” and is updated to “1” when the storage device usage rate of the corresponding RAID group RG exceeds the storage device usage rate threshold.
  • the CLPR number column 37F stores an identifier (CLPR number) unique to the CLPR assigned to the CLPR in the cache memory 27 (FIG. 1) allocated as a cache area to the corresponding pool PL.
  • the pool PL to which the pool number “1” is assigned is provided by each RAID group RG to which the RAID group number “1-1” or “1-2” is assigned, respectively.
  • the RAID group RG “1-1” has “1600” GB assigned to the corresponding virtual volume VVOL and “0” GB assigned to the unassigned capacity.
  • the storage device usage rate has already exceeded the storage area usage rate threshold (the value of the threshold excess flag is “1”).
  • a CLPR assigned with a CLPR number “1” in the cache memory 27 is assigned to the pool PL as a cache area.
  • the CLPR management table 38 is a table used for managing the CLPR assigned to each pool PL. As shown in FIG. 6, the CLPR number column 38A, the cache management number column 38B, the cache capacity column 38C, A cache write wait rate field 38D, a temporary allocation flag field 38E, and an allocation destination pool field 38F are provided.
  • the CLPR number column 38A stores the CLPR number of the corresponding CLPR
  • the cache management number column 38B stores the management number (cache management) assigned to each divided area when the corresponding CLPR is divided and managed. Number) is stored.
  • the cache capacity column 38C stores the capacity of the corresponding divided area in the corresponding CLPR.
  • the cache write wait rate field 38D the ratio of data waiting to be written to the storage device 20 out of the data temporarily stored in the corresponding CLPR (hereinafter referred to as the cache write wait rate). Is stored.
  • the corresponding CLPR or CLPR divided area (hereinafter referred to as CLPR or the like) is assigned to a pool PL other than the pool PL to which the CLPR is allocated in the performance improvement process described later.
  • a temporary lending flag indicating whether or not the lending is temporarily lent or assigned is stored. The temporary lending flag is set to “0” when the corresponding CLPR or the like is not lent or assigned to another pool PL, and the CLPR or the like is temporarily lent or assigned to another pool PL. Is set to "1".
  • the assigned pool field 38F stores the pool number of the destination pool PL that has been lent or assigned when the corresponding CLPR or the like is temporarily lent or assigned to another pool PL. Is done.
  • a part of the storage area of the cache memory 27 is divided into three CLPRs each assigned with a CLPR number of “CLPR1”, “CLPR2”, or “CLPR3”.
  • the area called “CLPR2” is divided into two divided areas of “2-1”, “2-2”, or “2-3” with a capacity of “8” GB, and the entire CLPR is waiting for a cache read.
  • the rate is shown to be “20%”.
  • the divided area “2-1” is lent to the pool PL with the pool number “1” (the value of the temporary allocation flag is “1”), and the other divided areas are It is also shown that it is not lent to another pool PL (the value of the temporary allocation flag is “0”).
  • the CLPR in which the character string “CLPR5 (reserved)” is stored in the CLPR number column 38A is a reserved CLPR (hereinafter referred to as “reserved CLPR”).
  • the batch schedule management table 39 is a table used for managing a schedule of batch processing periodically executed by the host device 2 using the storage device 3, and as shown in FIG. And one or a plurality of batch processing columns 39A provided in association with the respective batch processings set in FIG.
  • Each batch processing column 39A is divided into a time column 39B, a day-of-week column 39C, a used pool column 39D, a used RAID group column 39E, and an in-time processing completion flag column 39F.
  • the time column 39B, the day of week column 39C, the used pool column 39D, and the used RAID group column 39E are used when the corresponding batch processing is scheduled to be executed, the day of the week, and the batch processing is executed.
  • the pool number of the pool PL and the RAID group number of the RAID group RG used when executing the batch processing are stored.
  • the in-time process completion flag column 39F stores a flag indicating whether or not the last executed batch process has been completed within the scheduled time (hereinafter referred to as an in-time process completion flag). .
  • the in-time processing completion flag is set to “1” if the batch processing can be completed within the scheduled time, and the batch processing cannot be completed within the scheduled time. Is set to “0”.
  • the batch process “batch process 1” is performed by the pool volume PLVOL to the pool PL to which the pool number “1” is assigned in the “weekday” “0:00 to 3 o'clock” time zone.
  • the RAID group RG that is assigned the RAID group numbers “1-1” and “1-2” of the RAID groups RG that provide the data is executed within the scheduled time for the batch process that was executed last. (The value of the in-time processing completion flag is “1”).
  • FIG. 8 shows a processing procedure for pool performance monitoring processing that is executed regularly or irregularly by the performance monitoring program 30 (FIG. 2).
  • the performance monitoring program 30 monitors the current performance of each pool PL defined in the storage apparatus 3 according to the processing procedure shown in FIG.
  • the performance monitoring program 30 starts this pool performance monitoring process, first, referring to the pool information management table 37 (FIG. 5), the pool PL defined in the storage apparatus 3 is followed by step SP2 and subsequent steps. Selects one unprocessed pool PL (SP1).
  • the performance monitoring program 30 pools the RAID group numbers of all RAID groups RG that provide the pool volume PLVOL (FIG. 1) to the pool (hereinafter referred to as the target pool) PL selected in step SP1. Obtained from the information management table 37 (SP2).
  • the performance monitoring program 30 acquires the performance information of each RAID group RG that has acquired the RAID group number in step SP2 from the RAID group performance information table 35 (FIG. 3) corresponding to the RAID group RG (SP3).
  • the performance information acquired at this time is the record information of each record stored in the RAID group performance information table 35 from the start of the previous pool performance monitoring process to the start of the current pool performance monitoring process. It shall be.
  • the performance monitoring program 30 continuously uses the storage device usage rate for a certain period (for example, 5 minutes) in the RAID group RG that acquired the RAID group number in step SP2 based on the performance information acquired in step SP3. Then, it is determined whether or not there is a RAID group RG that exceeds the above-mentioned storage device usage rate threshold (SP4). If the performance monitoring program 30 obtains a negative result in this determination, it proceeds to step SP17.
  • SP4 storage device usage rate threshold
  • each RAID group RG in the pool information management table 37 whose storage device usage rate exceeds the storage device usage rate threshold value for a certain period of time.
  • Each of the threshold excess flags stored in the threshold excess flag column 37E corresponding to each is set to ON (“1”) (SP5).
  • the performance monitoring program 30 selects one RAID group RG that has not been processed after step SP7 from the RAID groups RG whose excess threshold flag is set to ON in the pool information management table 37 (SP6). ).
  • the performance monitoring program 30 extracts the performance information corresponding to the RAID group (hereinafter referred to as the target RAID group) RG selected in step SP6 from the performance information of each RAID group RG acquired in step SP3. Record information at all times when the storage device usage rate exceeds the storage device usage rate threshold value is acquired from the extracted performance information (SP7). Therefore, for example, in the example of FIG. 3, when the storage device usage threshold is “40”%, the performance monitoring program 30 has serial numbers “4” to “7” and “10” as shown in FIG. The record information of this record is acquired in this step SP7.
  • the performance monitoring program 30 refers to the record information (FIG. 9) of each record acquired in step SP7 on the premise that the batch processing is sequential access (sequential read or sequential write).
  • An average value of random read access frequency and random write access frequency for the entire target pool PL at a time when the usage rate exceeds the storage device usage rate threshold value is calculated, and at least one of these calculated average values is individually It is determined whether or not the total value in the target pool PL of the first IOPS threshold value, which is the threshold value of the random read or random write access frequency defined according to the performance of each RAID group RG, is exceeded. (SP8).
  • the target pool PL includes a first pool volume PLVOL1 and a second pool volume PLVOL2 provided by the first RAID group RG1, and a third pool volume provided by the second RAID group RG2.
  • the possible number) is “2110” or “379” as shown in FIG. 11A
  • the random read of the second RAID group RG2 calculated from the specifications of each storage device 20 constituting the second RAID group RG2, and
  • the performance limit value for random write is “211” as shown in FIG. It shall be “0” or “379”.
  • the first IOPS threshold value for random read and random write is defined as 80% of the performance limit value for random read or random write, respectively.
  • the numerical values described in the “actual average value” row in FIGS. 11A and 11B are stored as the storage device usage rate of the target RAID group RG (assuming that it is the first RAID group RG1). It is assumed that it is the average value of the access frequencies of the corresponding access types in the entire target pool PL at the time when the device usage rate threshold is exceeded.
  • the average value of the random read access frequency for the entire target pool PL may be the sum of the average values of the random read access frequencies of the RAID groups RG that respectively provide the pool volumes PLVOL constituting the target pool PL.
  • “2526”, which is the average value of random read access frequency in the first RAID group RG1, “3790” is obtained by adding together “1264” which is the average value of the random read access frequency in the second RAID group RG2.
  • the average random write access frequency for the entire target pool PL is “322”, which is the average random write access frequency in the first RAID group RG1, and the random write access in the second RAID group RG2.
  • the sum of “157”, which is the average value of the access frequency, is “480”.
  • the value of the first IOPS threshold for random reads as seen in the entire target pool PL can be the sum of the first IOPS thresholds in each RAID group RG that provides the pool volume PLVOL that constitutes the target pool PL.
  • the first IOPS threshold “1688” for the random read in the first RAID group RG1, “3376” is obtained by adding up “1688” which is the first IOPS threshold for random reads in the RAID group 2 of the second RAID group.
  • the value of the first IOPS threshold value for the random write in the entire target pool PL is “303”, which is the first IOPS threshold value for the random write in the first RAID group RG1, and in the second RAID group RG2. “606” is obtained by adding up “303” which is the first IOPS threshold for random writing.
  • the performance monitoring program 30 sets “3790”, which is the average value of the random read access frequency as seen in the entire target pool PL, as the first IOPS threshold for random reads as seen in the entire target pool PL. 3480 ”or“ 480 ”that is the average value of the random write access frequency as seen in the entire target pool PL exceeds“ 606 ”that is the first IOPS threshold for random write as seen in the entire target pool PL It will be judged whether or not. In this example, since the average value of the random read access frequency seen in the entire target pool PL exceeds the first IOPS threshold for random reads seen in the entire target pool PL, the performance monitoring program 30 makes this determination. A negative result will be obtained. Thus, at this time, the performance monitoring program 30 proceeds to step SP13.
  • the performance monitoring program 30 obtains a negative result in the determination at step SP8, it acquires all information related to each batch process scheduled in the host apparatus 2 from the batch schedule management table 39 (FIG. 7) ( (SP9) With reference to the in-time process management flag of each batch process, it is determined whether or not all scheduled batch processes are completed within the scheduled time when the batch process is executed for the last time (SP9). SP10).
  • step SP12 the performance monitoring program 30 obtains a positive result in this determination.
  • the performance monitoring program 30 proceeds to step SP12.
  • the performance monitoring program 30 calls the batch improvement program 33 (FIG. 2) and pools it in the target pool PL so that all batch processing is completed within the scheduled time.
  • a batch improvement process for adding the volume PLVOL or adding the capacity of the cache area allocated to the target pool PL is executed (SP11).
  • the performance monitoring program 30 calculates the average value of the storage device usage rate for each access type in the time zone when no batch processing is scheduled. It is calculated, and it is determined whether or not at least one of the calculated average values of the storage device usage rates for each access type exceeds the above-mentioned storage device usage rate threshold value (SP12). If the performance monitoring program 30 obtains a negative result in this determination, it proceeds to step SP14.
  • the performance monitoring program 30 when the performance monitoring program 30 obtains a positive result in the determination at step SP12, the performance monitoring program 30 performs the performance improvement processing for improving the performance of the target RAID group RG as the access type determination program 31 (FIG. 2) and the performance improvement processing program 32. (FIG. 2) is executed (SP13).
  • step SP7 the performance monitoring program 30 determines whether or not the processing of step SP7 to step SP13 has been executed for all RAID groups RG for which the threshold excess flag is set to ON in step SP5 (SP14).
  • step SP6 If the performance monitoring program 30 obtains a negative result in this determination, it returns to step SP6, and then switches the RAID group RG selected in step SP6 to another unprocessed RAID group RG in sequence, step SP6 to step SP14. Repeat the process.
  • step SP14 When the performance monitoring program 30 eventually obtains a positive result in step SP14 by completing the processing of step SP7 to step SP13 for all RAID groups RG for which the threshold excess flag is set to ON, the performance acquired in step SP3 Based on the information, the average value of the cache hit rate for the entire target pool PL is calculated, and the calculated average value of the cache hit rate is equal to or greater than a preset threshold value (hereinafter referred to as the cache hit rate threshold value). Is determined (SP15). If the performance monitoring program 30 obtains a negative result in this determination, it proceeds to step SP17.
  • a preset threshold value hereinafter referred to as the cache hit rate threshold value
  • the performance monitoring program 30 determines whether or not the processing of step SP2 to step SP16 has been executed for all the pools PL in the storage apparatus 3 (SP17).
  • the performance monitoring program 30 When the performance monitoring program 30 obtains a negative result in this determination, the performance monitoring program 30 returns to step SP1, and thereafter performs the processing of steps SP1 to SP17 while sequentially switching the pool PL selected in step SP1 to another unprocessed pool PL. repeat.
  • step SP2 finishes executing the processing of step SP2 to step SP16 for all the pools PL in the storage apparatus 3 and ends the positive result in step SP17
  • the performance monitoring program 30 ends this pool performance monitoring processing.
  • FIG. 12 shows the access executed by the access type determination program 31 (FIG. 2) at step SP13 of the pool performance monitoring processing described above with reference to FIG. The process procedure of a classification determination process is shown.
  • the performance monitoring program 30 calls the access type determination program 31 (FIG. 2).
  • the access type determination program 31 uses the performance information of the target RAID group RG acquired from the start of the previous pool performance monitoring process to the start of the current pool performance monitoring process. Then, among the random read, sequential read, random write, and sequential write for the target RAID group RG, the access type discrimination that discriminates the access type exceeding the preset first IOPS threshold for each of these access types The processing is executed according to the processing procedure shown in FIG.
  • the access type determination program 31 uses the pool performance monitoring process (the performance information of the target RAID group RG acquired from the start of the previous pool performance monitoring process to the start of the current pool performance monitoring process) (The performance information of the target RAID group RG acquired in step SP3 of FIG. 8) is used.
  • the access type discrimination program 31 starts this access type discrimination process when called by the performance monitoring program 30 in step SP13 of the pool performance monitoring process, and is first acquired in step SP3 of the pool performance monitoring process (FIG. 8). Based on the performance information of the target RAID group RG, it is determined whether there is only one access type that exceeds the first IOPS threshold (SP20).
  • the access type determination program 31 calculates the average value of the access frequency for each access type based on the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8). The calculated average access frequency for each access type is compared with the first IOPS threshold value for that access type. Then, the access type determination program 31 determines whether the access type whose average access frequency exceeds the corresponding first IOPS threshold is only one of random read, sequential read, random write, and sequential write. Judge whether or not.
  • the access type determination program 31 determines whether the access type exceeding the first IOPS threshold is a write-related access type (random read or sequential read) (SP21). ). When the access type determination program 31 obtains a positive result in this determination, it calls the performance improvement processing program 32 (FIG. 2) to execute the first read performance improvement processing for improving the read performance (SP22). Thereafter, the access type determination process is terminated and the process returns to the pool performance monitoring process (FIG. 8).
  • the performance improvement processing program 32 FIG. 2
  • the access type determination program 31 obtains a negative result in the determination at step SP21, it calls the performance improvement processing program 32 to execute the first write performance improvement processing for improving the write performance (SP23). Then, the access type determination process is terminated and the process returns to the pool performance monitoring process.
  • the access type determination program 31 obtains a negative result in the determination at step SP20, the access type exceeding the first IOPS threshold is only the write-related access type (random write and sequential write). Is determined (SP24). If the access type determination program 31 obtains a positive result in this determination, it calls the performance improvement processing program 32 to execute the second write performance improvement process for improving the write performance (SP25). This access type determination process is terminated and the process returns to the pool performance monitoring process.
  • the access type determination program 31 determines whether or not the access type exceeding the first IOPS threshold is only a read-related access type (random read and sequential read). Judgment is made (SP26). When the access type determination program 31 obtains a positive result in this determination, it calls the performance improvement processing program 32 to execute the second read performance improvement process for improving the read performance (SP27), and thereafter This access type determination process is terminated and the process returns to the pool performance monitoring process.
  • the access type determination program calls the performance improvement processing program 32 to execute the write / read performance improvement process for improving both the write performance and the read performance (SP28), and thereafter this access type.
  • the discrimination process ends and the process returns to the pool performance monitoring process.
  • FIG. 13 shows the first read performance improvement process executed by the performance improvement process program 32 called by the access type determination program 31 in step SP22 of the access type determination process described above with reference to FIG. The specific processing content of the read performance improvement processing 1 is shown.
  • the performance improvement processing program 32 When called in step SP22 of the access type determination process, the performance improvement processing program 32 starts the first read performance improvement process shown in FIG. 13, and is first acquired in step SP3 of the pool performance monitoring process (FIG. 8). Based on the performance information of the target RAID group RG, the average value of the cache hit rate at the time of random read access and the average value of the cache hit rate at the time of sequential read access are calculated, respectively, and at least one of these average values is It is determined whether or not the cache hit rate threshold is below (SP30).
  • the performance improvement processing program 32 When the performance improvement processing program 32 obtains a positive result in this determination, it executes a cache area addition process for assigning an additional cache area (CLPR or CLPR divided area) to the target pool PL (SP31), and thereafter The first read performance improvement process ends and the process returns to the access type determination process.
  • CLPR cache area addition process for assigning an additional cache area (CLPR or CLPR divided area) to the target pool PL (SP31)
  • the performance improvement processing program 32 executes a pool volume addition process for adding a new pool volume PLVOL to the target pool PL (SP32).
  • SP32 pool volume addition process for adding a new pool volume PLVOL to the target pool PL
  • FIG. 14 shows a specific processing procedure of the cache area addition processing executed by the performance improvement processing program 32 in step SP31 of the first read performance improvement processing described above with reference to FIG. Indicates.
  • the performance improvement processing program 32 proceeds to step SP31 of the first read performance improvement processing, the performance improvement processing program 32 starts this cache area addition processing, and first determines whether or not a cache area has already been added to the target pool PL. (SP40). When the performance improvement processing program 32 obtains a positive result in this determination, it ends this cache area addition processing and returns to the read performance improvement processing. This is because when the process after step SP6 of the pool performance monitoring process is executed for each RAID group RG for which the threshold excess flag is set to ON in step SP5 of the pool performance monitoring process (FIG. 8), the target pool PL is set. This is to prevent the cache area from being added cumulatively.
  • the performance improvement processing program 32 obtains a negative result in the determination at step SP40, the CLPR that can be additionally allocated to the target pool PL out of any CLPR or the like (CLPR or CLPR divided region). Etc. are searched on the CLPR management table 38 (FIG. 6) (SP41). Specifically, the performance improvement processing program 32 is a CLPR other than the CLPR originally assigned to the target pool PL, and the cache write wait rate stored in the cache write wait rate column 38D of the CLPR management table 38 is A CLPR or the like below a preset threshold value (hereinafter referred to as a cache write wait rate threshold value) is searched.
  • a preset threshold value hereinafter referred to as a cache write wait rate threshold value
  • the performance improvement processing program 32 determines whether or not the CLPR that can be allocated to the target pool PL has been detected by the search in step SP41 (SP42). When the performance improvement processing program 32 obtains an affirmative result in this determination, the CLPR detected at step SP41 (or one CLPR of the plurality of CLPR detected at step SP41) is stored in the target pool PL. Further allocation (SP43), and then the process proceeds to step SP47.
  • the performance improvement processing program 32 searches the CLPR management table 38 (FIG. 6) for a spare CLPR that can be additionally assigned to the target pool PL (SP44). ). Specifically, the performance improvement processing program 32 stores a character string “reserved” in the CLPR number column 38A (FIG. 6) of the CLPR management table 38, and the cache write wait rate is less than the above-described cache write wait rate threshold. Search for.
  • the performance improvement processing program 32 determines whether or not a spare CLPR that can be additionally allocated to the target pool PL has been detected by the search in step SP44 (SP45). When the performance improvement processing program 32 obtains a negative result in this determination, it ends this cache area addition processing and returns to the read performance improvement processing.
  • the spare CLPR detected at step SP44 (if a plurality of spare CLPRs are detected at step SP44, one of the spare CLPRs is detected). ) Is divided as necessary, and the spare CLPR or one of the divided areas is allocated to the target pool PL (SP46).
  • the performance improvement processing program 32 is stored in the CLPR management table 38 in the temporary assignment flag column 38E (FIG. 6) corresponding to the CLPR or the like assigned to the target pool PL in step SP43 or step SP46, or the spare CLPR or its divided area. And the pool number of the target pool PL is stored in the corresponding assigned pool field 38F (FIG. 6) (SP47). Thereafter, this cache area addition process To return to the lead performance improvement process.
  • FIG. 15 shows a specific processing procedure of pool volume addition processing executed by the performance improvement processing program 32 in step SP32 of the first read performance improvement processing described above with reference to FIG. Indicates.
  • the performance improvement processing program 32 proceeds to step SP32 of the first read performance improvement processing, the performance improvement processing program 32 starts this pool volume addition processing and first determines whether or not the pool volume PLVOL has already been added to the target pool PL. (SP50). When the performance improvement processing program 32 obtains a positive result in this determination, it ends this pool volume addition processing. This is because when the process after step SP6 of the pool performance monitoring process is executed for each RAID group RG for which the threshold excess flag is set to ON in step SP5 of the pool performance monitoring process (FIG. 8), the target pool PL is set. This is to prevent the pool volume PLVOL from being added cumulatively.
  • the average value of the access frequencies for the entire target pool PL of the access type targeted at that time Is the value obtained by subtracting the second IOPS threshold from the actual average value in the target pool PL (“actual average value” ⁇ “first” 2 ") (SP51).
  • the second IOPS threshold is a numerical value that is preset for each access type as a target value of the access frequency when the access frequency of each access type is reduced by the performance improvement process executed by the performance improvement processing program 32. .
  • each RAID group RG is defined based on the specifications of the storage devices 20 constituting the RAID group RG (for example, the performance limit value of the RAID group RG). 60%), and the second IOPS threshold value of the pool PL is the sum of the second IOPS threshold values of the RAID groups RG that respectively provide the pool volumes PL in the pool PL as shown in FIG. Calculated as a value.
  • the performance improvement processing program 32 determines the random read from “3790” that is the actual average value of the random read access frequency for the target pool PL in this step SP51.
  • the number of accesses is calculated by subtracting the second IOPS threshold “2532” for the sequential read, and for sequential reads, “1570”, which is the actual average value of the sequential read access frequency for the target pool PL, is used for sequential reads.
  • the number of accesses is calculated by subtracting “2348” which is the second IOPS threshold.
  • the performance improvement processing program 32 searches the pool information management table 37 for an unused or spare RAID group RG (SP52). For example, in the example of FIG. 5, the RAID group RG assigned the RAID group number “5-1” is not assigned to any pool PL (the value in the pool number column 37A is “ ⁇ ”). Since it is a group RG, it is detected as an unused or spare RAID group RG in this step SP52.
  • the performance improvement processing program 32 refers to the RAID group information management table 36 (FIG. 4) corresponding to the RAID group RG detected in step SP52, and finds a logical volume that can be allocated from the RAID group RG to the target pool PL. It is determined whether or not it exists (SP53).
  • the “logical volume that can be allocated from the RAID group RG to the target pool PL” means a pool volume PLVOL provided by a RAID group RG other than the RAID group RG that provides the pool volume PLVOL of the target pool PL at that time.
  • the pool volume PLVOL may already be created on a storage area provided by the RAID group RG, or may be newly created on the storage area.
  • the actual average values of all the access types (see FIGS. 11A and 11B) of the RAID group RG that provides the pool volume PLVOL are all the access types. The condition is that it is less than the second IOPS threshold.
  • step SP56 If the performance improvement processing program 32 obtains a negative result in this determination, it proceeds to step SP56. In contrast, if the performance improvement processing program 32 obtains a positive result in the determination at step SP53, it allocates the logical volume detected at step SP53 to the target pool PL as an additional pool volume PLVOL (SP54).
  • the performance improvement processing program 32 indicates that the actual average value of the target access type (in this case, random read and sequential read) in the target pool PL after adding the pool volume PLVOL to the target pool PL in step SP54 is the relevant pool. It is determined whether or not the target pool PL is equal to or lower than the second IOPS threshold after the volume PLVOL is added to the target pool PL (SP55).
  • the target access type in this case, random read and sequential read
  • the pool volume PLVOL related to the target pool PL is added to the actual average value of the access type targeted by the target pool PL, and the actual average value of the target access type in the pool volume PLVOL added at that time is added.
  • Is the actual average value of the target access type in the target pool PL after this (hereinafter referred to as the actual average value after addition)
  • the second IOPS threshold value of the target access type of the target pool PL is A value obtained by adding the second IOPS threshold value of the target access type in the added pool volume PLVOL at that time is the second of the target access type in the target pool PL after adding the pool volume PLVOL related to the target pool PL.
  • IOPS threshold (hereinafter referred to as the second IOPS threshold after the addition) Since the called), improved performance processing program 32, in step SP55, extra after actual average value, will determine whether it is less than extra after the second IOPS threshold.
  • step SP53 If the performance improvement processing program 32 obtains a negative result in this determination, it returns to step SP53, and thereafter obtains a negative result at step SP53 or obtains a positive result at step SP55 until the processing of step SP53 to step SP55 is performed. repeat. By this repeated processing, pool volumes PLVOL are sequentially added to the target pool PL.
  • the performance improvement processing program 32 eventually returns a positive result in step SP55 when the performance limit value of the target access type (in this case, random read and sequential read) in the target RAID group RG becomes equal to or less than the second IOPS threshold. Is obtained, the pool volume addition process is terminated and the process returns to the first read performance improvement process (FIG. 13).
  • the target access type in this case, random read and sequential read
  • the performance improvement processing program 32 can be assigned as a pool volume PLVOL to the target pool PL before the performance limit value of the target access type in the target RAID group RG falls below the second IOPS threshold. If a negative result is obtained in step SP53 due to the absence of a logical volume, the pool volume PLVOL is not provided to the target pool PL with reference to the pool information management table 37 (FIG. 5), and other than the target pool PL It is determined whether there is a RAID group RG that provides a pool volume PLVOL to the pool PL and the storage device usage rate is equal to or less than the storage device usage rate threshold value (SP56).
  • the performance improvement processing program 32 obtains a negative result in this determination, it ends this pool volume addition processing and returns to the first read performance improvement processing (FIG. 13). Therefore, in this case, read performance is not improved by adding a new pool volume PLVOL to the target pool PL.
  • the performance improvement processing program 32 obtains a positive result in the determination at step SP56, the unallocated capacity column 37D () corresponding to the RAID group RG detected at step SP56 in the pool information management table 37 (FIG. 5). Referring to FIG. 13), whether or not a new logical volume can be created in the storage area provided by the RAID group RG is determined from the viewpoint of the unallocated storage capacity of the RAID group RG (SP57). ).
  • the performance improvement processing program 32 When the performance improvement processing program 32 obtains a negative result in this determination, it deletes the pool volume PLVOL that the RAID group RG provides to the pool PL other than the target pool PL from the pool PL, and re-enters the target pool PL.
  • the allocated pool volume reassignment process described later with reference to FIG. 16 is executed (SP58), and thereafter, the process proceeds to step SP61.
  • the performance improvement processing program 32 obtains a positive result in the determination at step SP57, the logical volume provided to the target pool PL as the pool volume PLVOL on the storage area provided by the RAID group RG detected at step SP56. Is created, it is determined whether or not the access frequency of each access type of the RAID group RG is equal to or less than the corresponding second IOPS threshold (SP59).
  • the performance improvement processing program 32 obtains a negative result in this determination, it ends this pool volume addition processing and returns to the first read performance improvement processing (FIG. 13). Therefore, in this case, read performance is not improved by adding a new pool volume PLVOL to the target pool PL.
  • the performance improvement processing program 32 obtains a positive result in the determination at step SP59, it creates a new logical volume in the storage area provided by the RAID group RG detected at step SP56, and creates the created logical volume. Is added to the target pool PL as a new pool volume PLVOL (SP60).
  • the performance improvement processing program 32 determines that the actual average value of the entire target pool PL after adding a new pool volume PLVOL in step SP60 is less than or equal to the second IOPS threshold of the entire target pool PL. It is determined whether or not (SP61). When the performance improvement processing program 32 obtains a negative result in this determination, it returns to step SP56, and thereafter obtains a negative result at any of step SP56, step SP57 or step SP59, or obtains a positive result at step SP61. The processing from step SP56 to step SP61 is repeated. Through this repeated process, new pool volumes PLVOL are sequentially added to the target pool PL.
  • the performance improvement processing program 32 eventually ends this pool volume addition processing when the measured average value of the entire target pool PL eventually becomes equal to or less than the second IOPS threshold value of the entire target pool PL and a positive result is obtained in step SP61. Then, the process returns to the first read performance improvement process (FIG. 13).
  • each pool volume PLVOL that has previously constituted the target pool PL A part may be moved to the newly added pool volume PLVOL.
  • the load of each RAID group RG that has previously provided the pool volume PLVOL to the target pool PL can be distributed to the RAID group RG that newly provides the pool volume PLVOL to the target pool PL.
  • the response performance of the target pool PL can be immediately improved.
  • FIG. 16 shows the specific processing contents of the allocated pool volume reassignment processing executed by the performance improvement processing program 32 in step SP58 of the above-described pool volume addition processing (FIG. 15).
  • step SP58 of the pool volume addition processing (FIG. 15)
  • the performance improvement processing program 32 proceeds to step SP58 of the pool volume addition processing (FIG. 15)
  • it starts the allocated pool volume reassignment processing shown in FIG. 16, and first, the pool information management table 37 (FIG. 5) and Referring to the corresponding RAID group performance information table 35 (FIG. 3), all RAID groups RG (here, target pools) that are pools PL other than the target pool PL and that provide the pool volume PLVOL to the pool PL.
  • RAID groups RG here, target pools
  • the RAID group RG that does not provide the pool volume PVOL to the PL searches the pool PL whose storage device usage rate is equal to or less than the storage area usage rate threshold, and the pool PL Pool information is acquired from the pool information management table 37 (FIG. 5). (SP70).
  • the performance improvement processing program 32 determines whether there is a pool PL that can delete the pool volume PLVOL from the viewpoint of capacity in any of the pools PL detected in step SP70 (SP71). ). This determination is made by determining whether or not the corresponding pool PL has been detected by the search in step SP71. If such a pool PL can be detected, an affirmative result is obtained in step SP71. When such a pool PL cannot be detected, a negative result is obtained in this step SP71.
  • the performance improvement processing program 32 When the performance improvement processing program 32 obtains a negative result in the determination at step SP71, it ends this allocated pool volume reassignment processing and returns to the pool volume addition processing (FIG. 15). Accordingly, in this case, the pool volume PLVOL assigned to the pool PL other than the target pool PL cannot be reassigned to the target pool PL.
  • the performance improvement processing program 32 obtains a positive result in the determination at step SP71, it refers to the required RAID group performance information table 35 (FIG. 3) and from the viewpoint of capacity detected at step SP70. It is determined whether there is a pool PL in which the pool volume PLVOL can be deleted from the viewpoint of performance among the pools in which the pool volume PLVOL can be deleted as viewed (SP72).
  • This determination is made for each pool PL other than the target pool PL, even when the pool volume PLVOL is deleted from the pool PL, the actual average value of the pool PL after the pool volume PLVOL is deleted. This is done by determining whether there is a pool volume PLVOL that is less than the overall second IOPS threshold. If such a pool PL can be detected, a positive result is obtained in this step SP72, and if such a pool PL cannot be detected, a negative result is obtained in this step SP72.
  • the performance improvement processing program 32 When the performance improvement processing program 32 obtains a negative result in the determination at step SP72, it ends this allocated pool volume reassignment processing and returns to the pool volume addition processing (FIG. 15). Therefore, also in this case, the pool volume PLVOL constituting the pool PL other than the target pool PL cannot be reassigned to the target pool PL.
  • the performance improvement processing program 32 obtains a positive result in the determination at step SP72, the pool volume that can be reassigned to the target pool PL of the pool volumes PLVOL assigned to the pool PL detected at step SP72. (Hereinafter, this is referred to as a reallocation target pool volume) After data stored in a PLVOL is migrated to another pool volume PLVOL that constitutes the pool PL, the reallocation target pool volume PLVOL is transferred from the pool PL. Delete (release the allocation of the reallocation target pool volume PLVOL to the pool PL) (SP73).
  • the performance improvement processing program 32 adds the above-described reallocation target pool volume PLVOL to the target pool PL (SP74), and thereafter performs the same step as step SP55 of the pool volume addition processing described above with reference to FIG.
  • the measured average value of the target access type (random read and sequential read here) in the entire target pool PL after adding the reallocation target pool volume PLVOL in SP74 is equal to or less than the second IOPS threshold of the target pool PL. It is determined whether or not (SP75).
  • the performance improvement processing program 32 obtains a negative result in this determination, it returns to step SP71, and thereafter repeats the processing of steps SP71 to SP75 until it obtains a negative result at step SP72 or obtains a positive result at step SP75. .
  • step SP75 When the performance improvement processing program 32 eventually obtains an affirmative result in step SP75 because the measured average value of the target access type in the entire target pool PL becomes equal to or less than the second IOPS threshold of the target pool PL. Then, the allocated pool volume deletion process is terminated and the process returns to the pool volume addition process (FIG. 15).
  • FIG. 17 is executed by the performance improvement processing program 32 called by the access type determination program 31 in step SP25 of the access type determination processing described above with reference to FIG. The specific processing content of the second write performance improvement processing will be described.
  • the performance improvement process program 32 When called in step SP25 of the access type determination process, the performance improvement process program 32 starts the second write performance improvement process shown in FIG. 17, and first, in the target RAID group RG, the random write access load Is higher than the sequential write access load (SP80). This determination is based on whether or not the value obtained by subtracting the second IOPS threshold from the average value of the random write access frequency is greater than the value obtained by subtracting the second IOPS threshold from the average value of the sequential write access frequency. It is done by judging.
  • the average value of random write access frequency is “90”, the average value of sequential write access frequency is “200”, the second IOPS threshold for random write is “227”, and
  • the value obtained by subtracting the second IOPS threshold for random writes from the average value of random write access frequency is “ ⁇ 137” (“(actually measured average value) in FIG. 10).
  • the value obtained by subtracting the second IOPS threshold for sequential write from the average value of sequential write access frequency is" -636 "times (" (( In this example, the load due to the random write is the sequential write because the actual average value) ⁇ (the second IOPS threshold) line). It is determined that the load is greater than
  • the performance improvement processing program 32 obtains an affirmative result in this determination, the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring processing (FIG. 8) indicates the random write access frequency of the target RAID group RG. (SP81). Further, the performance improvement processing program 32 executes the pool volume addition process described above with reference to FIG. 15 to improve the write performance by adding the pool volume PLVOL to the target pool PL (SP83). 2 is ended, and the process returns to the access type determination process (FIG. 12).
  • the performance improvement processing program 32 obtains a negative result in the determination at step SP80, the sequential write access frequency of the target RAID group RG is acquired in step SP3 of the pool performance monitoring process (FIG. 8). Obtained from the performance information of the RAID group RG (SP82). Further, the performance improvement processing program 32 executes the pool volume addition process described above with reference to FIG. 15 to improve the write performance by adding the pool volume PLVOL to the target pool PL (SP83). 2 finishes the write performance improvement process and returns to the access type determination process.
  • FIG. 18 shows a second read performance improvement process executed by the performance improvement process program 32 called in step SP27 of the access type determination process described above with reference to FIG. The specific processing content of is shown.
  • the performance improvement processing program 32 When the performance improvement processing program 32 is called by the access type determination program 31 (FIG. 2) in step SP27 of the access type determination processing, the performance improvement processing program 32 starts the second read performance improvement processing shown in FIG. Based on the performance information of the target RAID group RG acquired in step SP3 of the process (FIG. 8), the average value of the cache hit rate at the time of random read access and sequential read access is calculated (SP80).
  • the performance improvement processing program 32 has both the average value of the cache hit rate at the time of random read access calculated at step SP80 and the average value of the cache hit rate at the time of sequential read access are equal to or less than the above-described cache hit rate threshold value. It is determined whether or not there is (SP81).
  • the performance improvement processing program 32 When the performance improvement processing program 32 obtains a positive result in this determination, it adds a cache area to be allocated to the target pool PL, thereby improving the cache hit rate at the time of random read access and sequential read access. After executing the cache area addition process described above (SP82), the second read performance improvement process is terminated and the process returns to the access type determination process (FIG. 12).
  • the performance improvement processing program 32 has both the average value of the cache hit rate at the time of random read access calculated at step SP80 and the average value of the cache hit rate at the time of sequential read access are not less than the above-described cache hit rate threshold value. It is determined whether or not (SP83).
  • Obtaining a negative result in this determination means that only one of the average value of the cache hit rate during random read access and the average value of the cache hit rate during sequential read access is equal to or greater than the cache hit rate threshold. means.
  • the performance improvement processing program 32 specifies whether the access type in which the average value of the cache hit rate calculated in step SP80 is equal to or less than the cache hit rate threshold is random read or sequential read (SP84).
  • the performance improvement processing program 32 executes the cache area addition process described above with reference to FIG. 14 to improve the cache hit rate of random read and sequential read by adding a cache area to be allocated to the target pool PL (SP85). .
  • the performance improvement processing program 32 thereafter accesses the access type (random read or sequential read) identified in step SP84 based on the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8).
  • the average access frequency is calculated (SP86).
  • the performance improvement processing program 32 executes the pool volume addition process described above with reference to FIG. 15 for adding the pool volume PLVOL to the target pool PL using the average value calculated in step SP86 (SP90), and thereafter The second read performance improvement process is terminated.
  • obtaining a positive result in the determination at step SP83 means that both the average value of the cache hit rate at the time of random read access and the average value of the cache hit rate at the time of sequential read access are equal to or greater than the cache hit rate threshold value. Means.
  • the performance improvement processing program 32 in the same way as the step SP80 of the second write performance improvement processing described above with reference to FIG. 17, causes the load due to random write to be greater than the load due to sequential write in the target RAID group RG. It is determined whether or not the value is higher (SP87).
  • the performance improvement processing program 32 obtains a positive result in this determination, the average value of the random read access frequency based on the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring processing (FIG. 8). Is calculated (SP88). If the performance improvement processing program 32 obtains a negative result in the determination at step SP87, the performance improvement processing program 32 determines the access frequency of sequential reads based on the performance information of the target RAID group RG acquired at step SP3 of the pool performance monitoring processing (FIG. 8). An average value is calculated (SP89).
  • the performance improvement processing program 32 executes the pool volume addition process described above with reference to FIG. 15 for adding the pool volume PLVOL to the target pool PL using the average value calculated in step SP88 or step SP89 (SP90). Thereafter, the second read performance improvement process is terminated.
  • FIGS. 19A and 19B show the read / write performance improvement executed by the performance improvement processing program 32 called in step SP28 of the access type determination processing described above with reference to FIG. Specific processing contents of the processing are shown.
  • the performance improvement processing program 32 When the performance improvement processing program 32 is called by the access type determination program 31 (FIG. 2) in step SP28 of the access type determination processing, the performance improvement processing program 32 starts the read / write performance improvement processing shown in FIGS. 19A and 19B. Based on the performance information of the target RAID group RG acquired in step SP3 of the performance monitoring process (FIG. 8), an average value of random read access frequency and an average value of sequential read access frequency per unit time are respectively calculated. Then, based on the calculation result, it is determined whether only one of the random read and sequential read has the average value exceeding the corresponding first IOPS threshold (SP100).
  • SP100 first IOPS threshold
  • the performance improvement processing program 32 corresponds to the average value corresponding to the average value of the random read and sequential read access frequencies of the target RAID group RG calculated in step SP100. It is specified whether random read or sequential read exceeds the IOPS threshold of 1, and the average value of the cache hit rate of the specified random read or sequential read is calculated (SP101).
  • the performance improvement processing program 32 determines whether or not the cache hit rate calculated in step SP101 is less than or equal to the cache hit rate threshold (SP102).
  • the CLPR management table 38 assigns CLPR and the like that can be assigned to the target pool PL in the same manner as in step SP41 of the cache area addition processing described above with reference to FIG. 6) Search above (SP103).
  • the performance improvement processing program 32 determines whether or not a CLPR that can be additionally assigned to the target pool PL has been detected by the search in step SP103 (SP104). When the performance improvement processing program 32 obtains an affirmative result in this determination, the CLPR detected at step SP103 or the like (if a plurality of CLPR or the like is detected at step SP103) is stored in the target pool PL. Allocation (SP105), and then the process proceeds to step SP109.
  • the performance improvement processing program 32 when it obtains a negative result in the determination at step SP104, it can be additionally allocated to the target pool PL in the same manner as at step SP44 in the cache area addition processing (FIG. 14).
  • the CLPR is searched on the CLPR management table 38 (FIG. 6) (SP106).
  • the performance improvement processing program 32 determines whether or not a spare CLPR that can be additionally allocated to the target pool PL has been detected by the search in step SP106 (SP107). If the performance improvement processing program 32 obtains a negative result in this determination, it proceeds to step SP110.
  • the spare CLPR detected at step SP106 (one spare CLPR among them when a plurality of spare CLPRs are detected at step SP106). Is assigned to the target pool PL (SP108).
  • the performance improvement processing program 32 is stored in the temporary assignment flag column 38E (FIG. 6) corresponding to the CLPR or the like assigned to the target pool PL in step SP105 or step SP108 in the CLPR management table 38 (FIG. 6) or the backup CLPR. Is set to ON (“1”) (SP109).
  • the performance improvement processing program 32 executes the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8), the second IOPS threshold for random write, and the second IOPS threshold for sequential write. Based on the above, the higher one of the random write and sequential write is specified (SP110). Specifically, this processing is performed by subtracting the second IOPS threshold from the average value of the random write access frequency and the value obtained by subtracting the second IOPS threshold from the average value of the sequential write access frequency. This is done by specifying the larger value.
  • the performance improvement processing program 32 acquires only the performance information related to the random write or sequential write specified in step SP110 from the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8). Then, the pool volume addition processing described above with reference to FIG. 15 is executed using the acquired performance information (SP124). Then, the performance improvement processing program 32 thereafter ends this read / write performance improvement processing and returns to the access type determination processing (FIG. 12).
  • each access type (random) is based on the performance information of the target RAID group RG acquired at step SP3 of the pool performance monitoring processing (FIG. 8). All access types in which the average access frequency exceeds the first IOPS threshold among the read, sequential read, random write, and sequential write) are detected (SP111).
  • the performance improvement processing program 32 specifies the access type having the highest load among the access types detected in step SP111 (SP112). This process is performed by specifying the access type having the largest value obtained by subtracting the second IOPS threshold from the average access frequency of each access type detected in step SP111.
  • the performance improvement processing program 32 acquires performance information related to the access type specified in step SP112 from the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8) (SP113). Then, the pool volume addition processing described above with reference to FIG. 15 is executed using the acquired performance information (SP124). Then, the performance improvement processing program 32 thereafter ends this read / write performance improvement processing and returns to the access type determination processing (FIG. 12).
  • the performance improvement processing program 32 obtains a negative result in the determination at step SP100, based on the performance information of the target RAID group RG acquired at step SP3 of the pool performance monitoring processing (FIG. 8), The average value of the cache hit rate at the time of random read access is calculated (SP114).
  • the performance improvement processing program 32 determines that both the average value of the cache hit rate at the sequential read access and the average value of the cache hit rate at the random read access calculated in step SP114 are equal to or greater than the cache hit rate threshold value. It is determined whether or not there is (SP115).
  • ⁇ ⁇ Acquiring a positive result in this determination means that the capacity of the cache area allocated to the target pool PL is not insufficient.
  • the performance improvement processing program 32 proceeds to step SP111, and thereafter executes step SP111 to step SP113 to step SP124 as described above. Then, the performance improvement processing program 32 thereafter ends this read / write performance improvement processing and returns to the access type determination processing (FIG. 12).
  • obtaining a negative result in the determination at step SP115 means that the capacity of the cache area allocated to the target pool PL is insufficient (SP116).
  • the performance improvement processing program 32 determines whether or not the average value of the cache hit rate at the time of random read access and sequential read access calculated at step SP114 is less than or equal to the cache hit rate threshold value (SP119). ).
  • the performance improvement processing program 32 when it obtains a positive result in this determination, it additionally allocates a cache area to the target pool PL by executing the cache area addition process described above with reference to FIG. 14 (SP120).
  • the performance improvement processing program 32 specifies the higher one of random read and sequential read based on the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 12), The performance information is acquired (SP121). Specifically, the performance improvement processing program 32 subtracts the second IOPS threshold from the average value of the random read access frequency, and subtracts the second IOPS threshold from the average value of the sequential read access frequency. Of the target RAID group RG acquired at step SP3 of the pool performance monitoring process, only the performance information related to the specified random read or sequential read is acquired.
  • the performance improvement processing program 32 executes the pool volume addition processing described above with reference to FIG. 15 using the performance information acquired in step SP121 (SP124), and then ends this read / write performance improvement processing to access type determination processing. Return to.
  • the performance improvement processing program 32 when it obtains a negative result in the determination at step SP119, it additionally allocates a cache area to the target pool PL by executing the cache area addition process described above with reference to FIG. (SP122).
  • the performance improvement processing program 32 specifies the higher one of random read and random write, and acquires performance information regarding the random read or random write in the target RAID group RG. (SP123).
  • the performance improvement processing program 32 executes the pool volume addition processing described above with reference to FIG. 15 using the performance information acquired in step SP123 (SP124), and then ends this read / write performance improvement processing to access type determination processing. Return to.
  • FIG. 20 shows the details of the batch improvement process executed by the batch improvement program 33 (FIG. 2) called by the performance monitoring program 30 in step SP11 of the pool performance monitoring process described above with reference to FIG. The typical processing content is shown. In the following description, it is assumed that the read / write access during batch processing is sequential access as described above.
  • the batch improvement program 33 When the batch improvement program 33 is called by the performance monitoring program 30 (FIG. 2) in step SP11 of the pool performance monitoring process, it starts the batch improvement process shown in FIG. 20, and first, the batch schedule management table 39 (FIG. 7). 1 is selected from the batch processes registered in (1) (SP130).
  • the batch improvement program 33 refers to the batch schedule management table 39 and uses the target RAID group RG when executing the batch process selected in step SP130 (hereinafter referred to as the target batch process). It is determined whether or not (SP131).
  • the batch improvement program 33 If the batch improvement program 33 obtains a negative result in this determination, it returns to step SP130. On the other hand, if the batch improvement program 33 obtains a positive result in the determination at step SP131, the sequential read access frequency in the target RAID group RG is equal to or higher than the first IOPS threshold during the target batch processing execution time zone. Whether or not (SP132).
  • the batch improvement program 33 first acquires the execution time zone (time zone from the start time to the end time) of the target batch process from the batch schedule management table 39, and performs the pool performance monitoring process. Based on the performance information of the target RAID group RG acquired in step SP3, an average value of sequential read access frequencies in the execution time zone of the target batch process is calculated, and the calculated average value is a first IOPS threshold value for sequential read. It is determined whether this is the case.
  • the batch improvement program 33 When the batch improvement program 33 obtains a negative result in the determination at step SP132, the batch improvement program 33 is set to execute the performance improvement process described above with reference to FIGS. 12 to 19B as the batch pre-process before the next execution of the batch process (SP133 Thereafter, the process proceeds to step SP137.
  • the performance improvement process is executed before the start of the target batch process, whereby an additional cache area or pool volume is allocated to the target pool PL.
  • the batch improvement program 33 obtains a negative result in the determination at step SP132, the cache hit rate at the time of sequential read access and sequential write access in the execution time zone of the target batch process is less than the cache hit rate threshold value. Whether or not (SP134).
  • step SP134 the batch improvement program 33 uses the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process to cache the sequential read access in the execution time zone of the target batch process. Calculate the average hit rate. Then, the batch improvement program 33 determines whether or not the average value of the cache hit rate at the time of sequential read access is equal to or smaller than the cache hit rate threshold value during the target batch processing.
  • the performance improvement processing program 32 executes the pool volume addition processing described above with reference to FIG. 15 as batch preprocessing before the next execution of the target batch processing. (SP135), and then the process proceeds to step SP137.
  • the pool volume addition processing is executed by the performance improvement processing program 32 before the start of the target batch processing, whereby the pool volume PLVOL is additionally allocated to the target pool PL.
  • the performance improvement processing program 32 performs the cache area addition processing described above with reference to FIG. 14 before executing the target batch processing next time before the batch. It is set to be executed as a process (SP136).
  • the cache area addition process is executed by the performance improvement processing program 32 before the start of the target batch process, and as a result, the cache capacity (cache area divided area or spare cache area) is stored in the target pool PL. Will be added.
  • the batch improvement program 33 determines whether or not the processing of step SP131 to step SP136 has been executed for all batch processing registered in the batch schedule management table 39 (FIG. 7) (SP137).
  • step SP130 If the batch improvement program 33 obtains a negative result in this determination, it returns to step SP130, and thereafter, the batch processing selected in step SP130 is sequentially switched to other unprocessed batch processing, and the processing of steps SP130 to SP137 is performed. repeat.
  • step SP137 When the batch improvement program 33 finally obtains a positive result in step SP137 by completing the execution of the processes in steps SP131 to SP136 for all the batch processes registered in the batch schedule management table 39, the batch improvement process ends. Then, the process returns to the pool performance improvement process (FIG. 8).
  • FIG. 21 shows a processing procedure of batch post-processing that is executed every time one batch processing is completed in relation to such batch improvement processing.
  • This batch post-processing releases the CLPR and the like additionally assigned to the pool PL in the batch processing, and this time, based on whether or not the batch processing is completed within the scheduled time, This is processing for setting the capacity of an additional cache area when adding CLPR or the like.
  • the batch improvement program 33 starts the post-batch process.
  • CLPR or the like is added to the pool PL used in the batch process. It is determined whether or not it has been assigned to (SP140). If the batch improvement program 33 obtains a negative result in this determination, it proceeds to step SP142.
  • the batch improvement program 33 when it obtains a positive result in the determination at step SP140, it releases the CLPR added to the pool PL used in the batch processing (SP141), and thereafter the batch schedule management table 39.
  • the batch schedule management table 39 With reference to the in-time processing completion flag 39F (FIG. 7) stored in the in-time processing completion flag column 39F (FIG. 7) corresponding to the batch processing in (FIG. 7), has this batch processing been completed within the scheduled time? It is determined whether or not (SP142).
  • the cache area to be added when the cache area is additionally allocated to the corresponding pool PL when the batch process is executed next time is set to the same capacity ( If the cache area is not added in the current process, the specified capacity is set (SP143), and then the post-batch process is terminated.
  • the capacity to be added when the cache area is additionally allocated to the corresponding pool PL when the batch process is executed next time is determined this time. Is set to a capacity larger than the predetermined amount (a prescribed capacity when no cache area is added in the current process) (SP144), and then the post-batch process is terminated.
  • FIG. 22 shows specific processing contents of the cache return processing executed by the performance monitoring program 30 in step SP15 of the pool performance monitoring processing described above with reference to FIG.
  • the performance monitoring program 30 proceeds to step SP15 of the pool performance monitoring process, the performance monitoring program 30 starts the cache return process shown in FIG. 22, and first adds the target pool PL with reference to the CLPR management table 38 (FIG. 6). It is determined whether CLPR or the like is assigned (SP150). When the performance monitoring program 30 obtains a negative result in this determination, it ends this cache return processing and returns to the pool performance monitoring processing.
  • the performance monitoring program 30 obtains a positive result in the determination at step SP150, it refers to the CLPR management table 38 (FIG. 6), and sets a threshold (( Hereinafter, this is referred to as a cache write wait rate threshold) or not (SP151).
  • the CLPR that has been originally assigned to the target pool PL in the order of the oldest time stamps the data of the same capacity as the CLPR that is additionally assigned to the target pool PL.
  • the data stored in the CLPR and the like additionally assigned to the target pool PL, and sequentially erased from the CLPR and the like additionally assigned to the target pool PL, and not written in the storage device 20 The data is sequentially moved to the CLPR originally assigned to the target pool PL (SP152).
  • the performance monitoring program 30 converts the data stored in the CLPR or the like additionally assigned to the target pool PL by the process of step SP152 and not written in the storage device 20 to the target pool PL. It is determined whether or not all of the CLPRs originally assigned to can be moved (SP153). When the performance monitoring program 30 obtains a negative result in this determination, it ends this cache return processing and returns to the pool performance monitoring processing.
  • the performance monitoring program 30 when it obtains a positive result in the determination at step SP153, it releases the CLPR etc. temporarily and additionally assigned to the target pool PL, and the CLPR etc. is a CLPR divided area. When the divided area is borrowed from another pool, the divided area is returned to the renting source pool PL (SP154).
  • the performance monitoring program 30 updates the temporary allocation flag such as CLPR released in step SP154 in the CLPR management table 38 (FIG. 6) to OFF (“0”) and stores it in the corresponding allocation destination pool field 38F. Is cleared (SP155), and then the cache return process is terminated.
  • the performance monitoring program 30 obtains a negative result in the determination at step SP151, it increases the number of repetitions by “1” (SP156), and this number of repetitions is set to a predetermined threshold (hereinafter referred to as the number of repetitions). It is determined whether or not the threshold is reached (SP157).
  • the performance monitoring program 30 If the performance monitoring program 30 obtains a negative result in this determination, it waits for a certain period (for example, several minutes) (SP158), and then returns to step SP151. Then, the performance monitoring program 30 thereafter repeats the processing from step SP151 to step SP158 until a positive result is obtained in step SP151 or step SP157.
  • a certain period for example, several minutes
  • step SP151 when the write load of the target pool PL is temporarily increased, it is possible to wait for the write load to decrease.
  • step SP151 When the performance monitoring program 30 eventually obtains a positive result in step SP151, it executes step SP152 to step SP155 as described above. In contrast, if the performance monitoring program 30 obtains a negative result in the determination at step SP157, it ends this cache return processing.
  • the write performance is improved by adding a new pool volume PLVOL, while the read performance is the same as that of the storage apparatus 3.
  • the performance of the pool PL is improved by adding the capacity of the cache area of the pool and / or adding a new pool volume PLVOL to the pool PL. Therefore, according to the present storage device 3, it is possible to easily perform the optimum performance improvement according to the status of the pool PL.
  • the access types are divided into four types of random read, sequential read, random write, and sequential write.
  • the access frequency and cache hit rate for each of these four types of access are set.
  • the access type is divided into two types, read and write, for each RAID group RG.
  • the access frequency and cache hit rate for each of these two types of access may be acquired, and performance improvement may be performed using the acquired information.
  • the capacity of the cache area allocated to the pool PL is added and / or a new pool volume PLVOL is added to the pool PL.
  • the write performance is improved by adding a new pool volume PLVOL to the pool PL.
  • the present invention is not limited to this, and the capacity of the cache area is added. Further, by adding a method other than adding a new pool volume PLVOL to the pool PL, more optimal performance improvement may be performed.
  • the present invention can be applied to a storage apparatus equipped with a virtualization function.

Abstract

[Problem] To propose a highly reliable storage unit, and a control method therefor, capable of readily and optimally improving performance in accordance with conditions of the storage unit. [Solution] A storage unit in which pools are formed by one or a plurality of logical volumes provided by one or more storage device groups, and which, in response to a request from a host device to write to a virtual volume, allocates a storage region to the virtual volume, from a pool associated with the virtual volume, wherein: the read cache hit rate for each storage device group and the frequencies of read access and write access to each storage device group are obtained; and if the read cache hit rate for a storage device group is equal to or less than a first threshold, the capacity of the cache region allocated to the pool used by the storage device group to provide logical volumes is increased, and if the frequency of read access or write access to the storage device group exceeds a second threshold, a new logical volume is added to the pool.

Description

ストレージ装置及びその制御方法Storage apparatus and control method thereof
 本発明はストレージ装置及びその制御方法に関し、特に、仮想化機能が搭載されたストレージ装置に適用して好適なものである。 The present invention relates to a storage apparatus and a control method thereof, and is particularly suitable when applied to a storage apparatus equipped with a virtualization function.
 従来、ストレージ装置の機能の1つとして、仮想化機能がある。仮想化機能は、ホスト装置に仮想的な論理ボリューム(以下、これを仮想ボリュームと呼ぶ)を提供し、当該仮想ボリューム内の未使用の記憶領域に対するホスト装置からの書込み要求が与えられたときに、その記憶領域に物理的な記憶領域を動的に割り当てる機能である。 Conventionally, there is a virtualization function as one of the functions of a storage device. The virtualization function provides a virtual logical volume (hereinafter referred to as a virtual volume) to the host device, and when a write request is given from the host device to an unused storage area in the virtual volume. This is a function for dynamically allocating a physical storage area to the storage area.
 かかる仮想化機能が搭載されたストレージ装置では、ハードディスク装置が所定個数ごとにRAID(Redundant Arrays of Inexpensive Disks)グループとして管理され、RAIDグループが提供する記憶領域上に定義された論理ボリューム(以下、これをプールボリュームと呼ぶ)が1又は複数まとめられて1つのプールとして管理される。そして仮想ボリュームに対する物理的な記憶領域の割当ては、このプールから所定大きさの記憶領域が切り出されて行われる。 In a storage device equipped with such a virtualization function, a predetermined number of hard disk devices are managed as a RAID (Redundant Arrays of Inexpensive Disks) group, and logical volumes defined on storage areas provided by the RAID group (hereinafter referred to as this). Is called a pool volume) or a plurality of them are managed as one pool. The physical storage area is assigned to the virtual volume by cutting out a storage area of a predetermined size from this pool.
 このような仮想化機能によれば、ホスト装置に提供する仮想ボリュームの容量分のハードディスク装置を事前に用意しておく必要がなく、ストレージ装置の導入コストを低減できるなどの利点がある。 Such a virtualization function has the advantage that it is not necessary to prepare in advance a hard disk device for the capacity of the virtual volume provided to the host device, and the introduction cost of the storage device can be reduced.
特許第4473175号明細書Japanese Patent No. 4473175 特開2008-217575号公報JP 2008-217575 A
 ところで、かかる仮想化機能が搭載されたストレージ装置において、プールにプールボリュームを提供するすべてのRAIDグループが高負荷となった場合、ホスト装置からのリードアクセスやライトアクセスに対するRAIDグループの応答速度が低下し、ストレージ装置全体としての性能が低下する問題がある。 By the way, in a storage device equipped with such a virtualization function, when all the RAID groups that provide pool volumes to the pool become highly loaded, the response speed of the RAID group to read access and write access from the host device decreases. However, there is a problem that the performance of the entire storage apparatus is degraded.
 このような問題の解決方法として、例えば特許文献1には、複数のディスク装置の性能を装置稼働中に定期的に測定し、性能測定値に基づいていずれかのディスク装置の性能低下を検出した場合に、ディスク装置を追加し、既存ディスク装置のデータを追加したディスク装置に再配置することが開示されている。 As a method for solving such a problem, for example, in Patent Document 1, the performance of a plurality of disk devices is periodically measured while the device is operating, and the performance degradation of any one of the disk devices is detected based on the measured performance value. In this case, it is disclosed that a disk device is added and data of an existing disk device is rearranged in the added disk device.
 また、特許文献2には、ストレージプールに属する論理ディスクに対するアクセス負荷を監視し、アクセス負荷の高い論理ディスクが検出された場合に、必要な容量を持つストレージプールを確保して、論理ディスクの格納データを移動する方法が開示されている。 Further, Patent Document 2 monitors the access load on a logical disk belonging to a storage pool, and when a logical disk with a high access load is detected, a storage pool having a necessary capacity is secured to store the logical disk. A method for moving data is disclosed.
 しかしながら、特許文献1に開示された性能改善方法によると、ストレージ装置の状況によっては単にディスク装置を追加するだけでは十分な性能改善を行えないという問題があり、また特許文献2に開示された性能改善方法によると、論理ディスクの格納データを新たなストレージプールに移動するために相応の負荷がストレージ装置に発生する問題があった。 However, according to the performance improvement method disclosed in Patent Document 1, there is a problem that sufficient performance improvement cannot be performed by simply adding a disk device depending on the status of the storage device. According to the improvement method, there has been a problem that a corresponding load is generated in the storage apparatus in order to move the storage data of the logical disk to a new storage pool.
 本発明は以上の点を考慮してなされたもので、ストレージ装置の状況に応じた最適な性能改善を容易に行い得る信頼性の高いストレージ装置及びその制御方法を提案しようとするものである。 The present invention has been made in consideration of the above points, and an object of the present invention is to propose a highly reliable storage apparatus and its control method capable of easily performing the optimum performance improvement according to the situation of the storage apparatus.
 かかる課題を解決するため本発明においては、1又は複数の記憶装置から構成される記憶装置群が提供する記憶領域上に1又は複数の論理ボリュームが定義され、1又は複数の前記記憶装置群が提供する1又は複数の前記論理ボリュームによりプールが形成され、仮想ボリュームをホスト装置に提供し、前記ホスト装置から前記仮想ボリュームへのデータのライト要求に応じて前記仮想ボリュームと対応付けられた前記プールから前記仮想ボリュームに動的に記憶領域を割り当てるストレージ装置において、記憶領域が複数の領域に論理的に分割され、当該領域が前記論理ボリュームに読み書きされるデータを一時的に記憶するキャッシュ領域として対応する前記プールに割り当てられるキャッシュメモリと、前記プールごとに、各前記記憶装置群におけるリードアクセス時にリード対象のデータが当該プールに割り当てられた前記キャッシュ領域に格納されている割合であるキャッシュヒット率と、各前記記憶装置群における前記リードアクセス及びライトアクセスの頻度とをそれぞれ取得する性能監視部と、前記プールごとに、前記記憶装置群における前記リードアクセス時の前記キャッシュヒット率が所定の第1の閾値以下の場合には、当該記憶装置群が前記論理ボリュームを提供する前記プールに割り当てられた前記キャッシュ領域の容量を追加し、前記リードアクセス又は前記ライトアクセスの頻度が所定の第2の閾値を超えている場合には、当該プールに新たな前記論理ボリュームを追加する性能改善部とを設けるようにした。 In order to solve such a problem, in the present invention, one or a plurality of logical volumes are defined on a storage area provided by a storage device group composed of one or a plurality of storage devices, and one or a plurality of the storage device groups are defined. The pool is formed by one or more logical volumes to be provided, provides a virtual volume to a host device, and is associated with the virtual volume in response to a data write request from the host device to the virtual volume In a storage device that dynamically allocates storage areas from the virtual volume to the virtual volume, the storage area is logically divided into a plurality of areas, and the area is used as a cache area for temporarily storing data read from and written to the logical volume Cache memory allocated to the pool, and for each pool, A cache hit rate, which is a ratio in which read target data is stored in the cache area allocated to the pool at the time of read access in the device group, and the frequency of the read access and write access in each of the storage device groups, respectively When the cache hit rate at the time of the read access in the storage device group is equal to or less than a predetermined first threshold for each of the performance monitoring unit to be acquired and the pool, the storage device group provides the logical volume. The capacity of the cache area allocated to the pool is added, and if the frequency of the read access or the write access exceeds a predetermined second threshold, a new logical volume is added to the pool A performance improvement unit was provided.
 また本発明においては、1又は複数の記憶装置から構成される記憶装置群が提供する記憶領域上に1又は複数の論理ボリュームが定義され、1又は複数の前記記憶装置群が提供する1又は複数の前記論理ボリュームによりプールが形成され、仮想ボリュームをホスト装置に提供し、前記ホスト装置から前記仮想ボリュームへのデータのライト要求に応じて前記仮想ボリュームと対応付けられた前記プールから前記仮想ボリュームに動的に記憶領域を割り当てるストレージ装置の制御方法において、前記ストレージ装置は、記憶領域が複数の領域に論理的に分割され、当該領域が前記論理ボリュームに読み書きされるデータを一時的に記憶するキャッシュ領域として対応する前記プールに割り当てられるキャッシュメモリを有し、前記ストレージ装置が、前記プールごとに、各前記記憶装置群におけるリードアクセス時にリード対象のデータが当該プールに割り当てられた前記キャッシュ領域に格納されている割合であるキャッシュヒット率と、各前記記憶装置群における前記リードアクセス及びライトアクセスの頻度とをそれぞれ取得する第1のステップと、前記ストレージ装置が、前記プールごとに、前記記憶装置群における前記リードアクセス時の前記キャッシュヒット率が所定の第1の閾値以下の場合には、当該記憶装置群が前記論理ボリュームを提供する前記プールに割り当てられた前記キャッシュ領域の容量を追加し、前記リードアクセス又は前記ライトアクセスの頻度が所定の第2の閾値を超えている場合には、当該プールに新たな前記論理ボリュームを追加する第2のステップとを設けるようにした。 In the present invention, one or more logical volumes are defined on a storage area provided by a storage device group composed of one or more storage devices, and one or more provided by one or more storage device groups. A pool is formed by the logical volume of the virtual volume, the virtual volume is provided to the host device, and the virtual volume is transferred from the pool associated with the virtual volume in response to a data write request from the host device to the virtual volume. In the storage apparatus control method for dynamically allocating a storage area, the storage apparatus is a cache in which the storage area is logically divided into a plurality of areas, and the area temporarily stores data read and written to the logical volume. A cache memory allocated to the corresponding pool as an area; For each pool, the cache hit rate, which is the ratio at which the read target data is stored in the cache area allocated to the pool at the time of read access in each storage device group, and each storage device group A first step of acquiring the frequency of the read access and the write access in the storage device, and the storage device has a predetermined first cache hit rate at the time of the read access in the storage device group for each pool. If the threshold is less than or equal to the threshold, the storage device group adds the capacity of the cache area allocated to the pool that provides the logical volume, and the frequency of the read access or the write access exceeds a predetermined second threshold. If it exceeds, add a new logical volume to the pool. Was provided and the steps.
 本ストレージ装置及びその制御方法によると、プールごとに、ライト性能については、新たな論理ボリュームを追加するようしてそのプールの性能改善が行われる一方で、リード性能については、プールの状況に応じて、当該プールのキャッシュ領域の容量を追加し、及び又は、当該プールに新たな論理ボリュームを追加するようにしてそのプールの性能改善が行われる。 According to this storage device and its control method, for each pool, the write performance is improved by adding a new logical volume, while the read performance depends on the pool status. Thus, the performance of the pool is improved by adding the capacity of the cache area of the pool and / or adding a new logical volume to the pool.
 本発明によれば、ストレージ装置の状況に応じた最適な性能改善を容易に行い得る信頼性の高いストレージ装置及びその制御方法を実現できる。 According to the present invention, it is possible to realize a highly reliable storage apparatus and its control method that can easily perform the optimum performance improvement according to the situation of the storage apparatus.
本実施の形態による計算機システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the computer system by this Embodiment. ローカルメモリに格納されたプログラム及び各種テーブルの説明に供する概念図である。It is a conceptual diagram with which it uses for description of the program and various tables which were stored in the local memory. RAIDグループ性能情報テーブルの構成例を示す概念図である。It is a conceptual diagram which shows the structural example of a RAID group performance information table. RAIDグループ情報管理テーブルの構成例を示す概念図である。It is a conceptual diagram which shows the structural example of a RAID group information management table. プール情報管理テーブルの構成例を示す概念図である。It is a conceptual diagram which shows the structural example of a pool information management table. CLPR管理テーブルの構成例を示す概念図である。It is a conceptual diagram which shows the structural example of a CLPR management table. バッチスケジュール管理テーブルの構成例を示す概念図である。It is a conceptual diagram which shows the structural example of a batch schedule management table. プール性能監視処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a pool performance monitoring process. プール性能監視処理の説明に供する概念図である。It is a conceptual diagram with which it uses for description of a pool performance monitoring process. プール性能監視処理の説明に供するブロック図である。It is a block diagram with which it uses for description of a pool performance monitoring process. (A)~(C)はプール性能監視処理の説明に供する図表である。(A) to (C) are charts for explaining the pool performance monitoring process. アクセス種別判別処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of an access classification discrimination | determination process. 第1のリード性能改善処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a 1st read performance improvement process. キャッシュ領域追加処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a cache area | region addition process. プールボリューム追加処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a pool volume addition process. 割当て済みプールボリューム再割当て処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the allocated pool volume reallocation process. 第2のライト性能改善処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a 2nd write performance improvement process. 第2のリード性能改善処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a 2nd read performance improvement process. リード・ライト性能改善処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a read / write performance improvement process. リード・ライト性能改善処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a read / write performance improvement process. バッチ改善処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a batch improvement process. バッチ後処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a batch post-process. キャッシュ返還処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a cash return process.
 以下図面について、本発明の一実施の形態を詳述する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
(1)本実施の形態による計算機システムの構成
 図1において、1は全体として本実施の形態による計算機システムを示す。この計算機システム1は、ユーザの業務に応じた処理を実行するホスト装置2と、仮想化機能が搭載されたストレージ装置3とを備えて構成され、これらホスト装置2及びストレージ装置3が通信経路4を介して接続されている。
(1) Configuration of Computer System According to this Embodiment In FIG. 1, reference numeral 1 denotes a computer system according to this embodiment as a whole. The computer system 1 includes a host device 2 that executes processing according to a user's job, and a storage device 3 that is equipped with a virtualization function. The host device 2 and the storage device 3 communicate with each other through a communication path 4. Connected through.
 ホスト装置2は、CPU10、メモリ11及びインタフェース12等の情報処理資源を備えた汎用のサーバ装置であり、メモリ11に格納されたアプリケーションソフトウェア14をCPU10が実行することにより、ストレージ装置3へのデータの読み書きを含めた所定の業務処理を実行する。インタフェース12は、通信経路4を介したストレージ装置3との通信時におけるプロトコル制御を行う機能を有するハードウェアデバイスである。 The host device 2 is a general-purpose server device provided with information processing resources such as a CPU 10, a memory 11, and an interface 12, and the CPU 10 executes application software 14 stored in the memory 11, whereby data to the storage device 3 is stored. Predetermined business processing including reading and writing is executed. The interface 12 is a hardware device having a function of performing protocol control when communicating with the storage apparatus 3 via the communication path 4.
 ストレージ装置3は、複数の記憶装置20から構成されるデータ記憶部21と、データ記憶部21に対するデータの入出力を制御するコントローラ22とを備えて構成される。 The storage device 3 includes a data storage unit 21 including a plurality of storage devices 20 and a controller 22 that controls data input / output with respect to the data storage unit 21.
 データ記憶部21の記憶装置20は、例えばハードディスク装置やSSD(Solid State Drive)などの大容量の不揮発性記憶装置から構成される。以下においては、記憶装置20がハードディスク装置から構成されているものとして説明する。1又は複数の記憶装置20によりRAIDグループRGが形成され、1つのRAIDグループRGを構成する記憶装置20が提供する記憶領域上に1又は複数のプールボリュームPLVOLが作成される。また1又は複数のRAIDグループRGが提供する1又は複数のプールボリュームPLVOLによりプールPLが形成される。 The storage device 20 of the data storage unit 21 is composed of a large-capacity nonvolatile storage device such as a hard disk device or an SSD (Solid State Drive). In the following description, it is assumed that the storage device 20 is composed of a hard disk device. A RAID group RG is formed by one or a plurality of storage devices 20, and one or a plurality of pool volumes PLVOL are created in a storage area provided by the storage devices 20 constituting one RAID group RG. A pool PL is formed by one or a plurality of pool volumes PLVOL provided by one or a plurality of RAID groups RG.
 ストレージ装置3がホスト装置2に提供する仮想ボリュームVVOLは、いずれかのプールPLと対応付けられる。そしてホスト装置2から仮想ボリュームVVOL内の未使用の記憶領域に対するライト要求が与えられた場合には、その仮想ボリュームVVOLと対応付けられたプールPL内のいずれかのプールボリュームPLVOLから所定大きさの記憶領域(以下、これを実記憶領域と呼ぶ)が切り出されてその仮想ボリュームVVOL内のライト先の記憶領域に割り当てられ、ライトデータがその実記憶領域に格納される。 The virtual volume VVOL provided by the storage device 3 to the host device 2 is associated with one of the pools PL. When a write request for an unused storage area in the virtual volume VVOL is given from the host device 2, a predetermined size is generated from any pool volume PLVOL in the pool PL associated with the virtual volume VVOL. A storage area (hereinafter referred to as a real storage area) is cut out and assigned to the write destination storage area in the virtual volume VVOL, and the write data is stored in the real storage area.
 コントローラ22は、ホストインタフェース23、ディスクインタフェース24、プロセッサ25、ローカルメモリ26及びキャッシュメモリ27などの情報処理資源を備えて構成される。ホストインタフェース23は、通信経路4を介したホスト装置2との通信時におけるプロトコル制御を行う機能を有するハードウェアデバイスであり、ディスクインタフェース24は、データ記憶部21内の記憶装置20との通信時におけるプロトコル制御を行う機能を有するハードウェアデバイスである。 The controller 22 includes information processing resources such as a host interface 23, a disk interface 24, a processor 25, a local memory 26, and a cache memory 27. The host interface 23 is a hardware device having a function of performing protocol control when communicating with the host device 2 via the communication path 4, and the disk interface 24 is communicating with the storage device 20 in the data storage unit 21. This is a hardware device having a function of performing protocol control.
 またプロセッサ25は、ストレージ装置3全体の動作制御を司る機能を有するハードウェアデバイスであり、ローカルメモリ26は、主として各種プログラムや各種データを保持するために利用される。ローカルメモリ26に格納されたプログラムをプロセッサ25が実行することによりストレージ装置3全体としての各種処理が実行される。 The processor 25 is a hardware device having a function for controlling the operation of the entire storage apparatus 3, and the local memory 26 is mainly used to hold various programs and various data. Various processes of the entire storage apparatus 3 are executed by the processor 25 executing the program stored in the local memory 26.
 キャッシュメモリ27は、データ記憶部21に読み書きされるデータを一時的に保持するために利用される。本実施の形態の場合、キャッシュメモリ27の記憶領域は、CLPR(Cache Logical Partition)と呼ばれる複数の領域に論理的に分割されて管理されており、これらCLPRが仮想ボリュームVVOLに対するリード/ライト対象のデータを一時的に記憶するためのキャッシュ領域として各プールPLにそれぞれ割り当てられる。 The cache memory 27 is used to temporarily store data read / written from / to the data storage unit 21. In the case of the present embodiment, the storage area of the cache memory 27 is logically divided and managed in a plurality of areas called CLPR (CacheitionLogical 管理 Partition), and these CLPR are read / write target for the virtual volume VVOL. Each pool PL is allocated as a cache area for temporarily storing data.
(2)本実施の形態による性能改善機能及びバッチ改善機能
 次に、本実施の形態のストレージ装置3に搭載された性能改善機能及びバッチ改善機能について説明する。
(2) Performance improvement function and batch improvement function according to this embodiment Next, the performance improvement function and the batch improvement function installed in the storage apparatus 3 of this embodiment will be described.
 ストレージ装置3において、ホスト装置2から仮想ボリュームVVOLに書き込まれたデータは、その仮想ボリュームVVOLと対応付けられたプールPLに割り当てられているキャッシュ領域(CLPR)に一時的に格納された後、ストレージ装置3の負荷が低いときなどに対応するRAIDグループRGを構成する各記憶装置20に分散されて格納される。 In the storage device 3, the data written from the host device 2 to the virtual volume VVOL is temporarily stored in the cache area (CLPR) assigned to the pool PL associated with the virtual volume VVOL, and then stored in the storage device 3. The data is distributed and stored in each storage device 20 constituting the RAID group RG corresponding to when the load on the device 3 is low.
 また、この後、ホスト装置2からそのデータに対するリード要求がストレージ装置3に与えられた場合、そのデータがキャッシュ領域内に残存しているときには(キャッシュヒット)、当該キャッシュ領域からそのデータが読み出されてホスト装置2に転送され、かかるデータがそのキャッシュ領域に残存していないときには(キャッシュミス)、そのデータが対応する記憶装置20からキャッシュ領域に読み出され(以下、これをステージングと呼ぶ)、この後、キャッシュ領域からホスト装置2に転送される。 Thereafter, when a read request for the data is given from the host device 2 to the storage device 3, if the data remains in the cache area (cache hit), the data is read from the cache area. When the data does not remain in the cache area (cache miss), the data is read from the corresponding storage device 20 to the cache area (hereinafter referred to as staging). Thereafter, the data is transferred from the cache area to the host device 2.
 この場合において、リード対象のデータをステージングするためには相応の時間が必要となり、その分、リード要求に対する応答性能が低下する。従って、リード処理時にキャッシュヒットする割合(以下、これをキャッシュヒット率と呼ぶ)が低い場合には、プールPLに割り当てるキャッシュ領域の容量を増やしキャッシュ領域に保持可能なデータ量を多くすることで、リード処理時におけるキャッシュヒット率を上げることができ、この結果としてリード性能を向上させることができる。 In this case, in order to stage the data to be read, a corresponding time is required, and the response performance to the read request is reduced accordingly. Therefore, when the rate of cache hits during read processing (hereinafter referred to as the cache hit rate) is low, by increasing the capacity of the cache area allocated to the pool PL and increasing the amount of data that can be held in the cache area, The cache hit rate during read processing can be increased, and as a result, read performance can be improved.
 一方、プールPLにプールボリュームPLVOLを提供する各RAIDグループRGが高負荷となった場合、記憶装置20にデータを読み書きする速度が遅くなるため、そのプールPLのリード性能やライト性能が悪くなる。 On the other hand, when each RAID group RG that provides the pool volume PLVOL to the pool PL becomes heavily loaded, the read / write performance of the pool PL becomes worse because the speed of reading / writing data from / to the storage device 20 becomes slow.
 このような場合には、そのプールPLに対して、当該プールボリュームPLVOLを提供していないRAIDグループRGのプールボリュームPLVOLをそのプールPLに追加し、それまでプールPLを構成していた各プールボリュームPLVOLにそれぞれ格納されていたデータの一部を、かかる追加されたプールボリュームPLVOLに移動させることにより、そのプールPLにプールボリュームPLVOLを提供する各RAIDグループRGの負荷を低減させることができ、この結果としてそのプールPLのライト性能やリード性能を向上させることができる。 In such a case, the pool volume PLVOL of the RAID group RG that does not provide the pool volume PLVOL is added to the pool PL, and each pool volume that has constituted the pool PL until then is added. By moving a part of the data respectively stored in the PLVOL to the added pool volume PLVOL, the load on each RAID group RG that provides the pool volume PLVOL to the pool PL can be reduced. As a result, the write performance and read performance of the pool PL can be improved.
 そこで本実施の形態のストレージ装置3には、装置内に定義されたプールPLごとに、そのプールPLにプールボリュームPLVOLを提供する各RAIDグループRGについて、少なくともリード処理時及びライト処理時における単位時間(1秒)当たりのアクセス回数(以下、単位時間当たりのアクセス回数をアクセス頻度と呼ぶ)と、リード処理時のキャッシュヒット率とをそれぞれ取得し、これらの情報に基づいてそのプールPLの性能改善を行う性能改善機能が搭載されている。 Therefore, in the storage apparatus 3 of the present embodiment, for each pool PL defined in the apparatus, for each RAID group RG that provides the pool volume PLVOL to the pool PL, at least the unit time during the read process and the write process Acquire the number of accesses per second (hereinafter referred to as the access frequency) and the cache hit rate during read processing, and improve the performance of the pool PL based on these information The performance improvement function which performs is carried.
 実際上、ストレージ装置3は、上述のようにして取得した情報に基づいてプールPLのライト性能及びリード性能を判定し、ライト性能が低下したと判定した場合には、プールPLに新たなプールボリュームPLVOLを追加するようにしてそのプールPLの性能改善を行う一方、リード性能が低下したと判定した場合には、そのプールPLの状況に応じて、当該プールPLに割り当てられたキャッシュ領域の容量を増加し及び又はそのプールPLに新たなプールボリュームPLVOLを追加するようにしてそのプールPLの性能改善を行う。 In practice, the storage apparatus 3 determines the write performance and read performance of the pool PL based on the information acquired as described above. If it is determined that the write performance has decreased, a new pool volume is added to the pool PL. While improving the performance of the pool PL by adding a PLVOL, if it is determined that the read performance has deteriorated, the capacity of the cache area allocated to the pool PL is determined according to the status of the pool PL. The performance of the pool PL is improved by increasing and / or adding a new pool volume PLVOL to the pool PL.
 また本ストレージ装置3には、ホスト装置2にスケジューリングされたバッチ処理が予定時間内に終了しなかった場合に、そのバッチ処理が予定時間内に終了するように、そのバッチ処理で使用するプールPLに割り当てるキャッシュ領域の容量を増やすか又はそのプールPLに新たなプールボリュームPLVOLを追加するバッチ改善機能も搭載されている。 The storage device 3 also includes a pool PL that is used in the batch processing so that the batch processing scheduled in the host device 2 does not end within the scheduled time, so that the batch processing ends within the scheduled time. A batch improvement function for increasing the capacity of the cache area to be assigned to or adding a new pool volume PLVOL to the pool PL is also installed.
 このような性能改善機能及びバッチ改善機能を実現するための手段として、ストレージ装置3のコントローラ22(図1)のローカルメモリ26(図1)には、図2に示すように、プログラムとして、性能監視プログラム30、アクセス種別判別プログラム31、性能改善処理プログラム32及びバッチ改善プログラム33が格納され、管理データベース34として、RAIDグループ性能情報テーブル35、RAIDグループ情報管理テーブル36、プール情報管理テーブル37、CLPR管理テーブル38及びバッチスケジュール管理テーブル39が格納されている。 As a means for realizing such performance improvement function and batch improvement function, the local memory 26 (FIG. 1) of the controller 22 (FIG. 1) of the storage apparatus 3 has a performance as a program as shown in FIG. A monitoring program 30, an access type determination program 31, a performance improvement processing program 32, and a batch improvement program 33 are stored. As a management database 34, a RAID group performance information table 35, a RAID group information management table 36, a pool information management table 37, a CLPR A management table 38 and a batch schedule management table 39 are stored.
 性能監視プログラム30は、ストレージ装置3内に定義されたRAIDグループRGごとの性能情報を取得し、取得した性能情報に基づいてストレージ装置3内の各プールPLの性能を監視し、必要に応じてプールPLの性能を改善するための処理を実行する機能を有するプログラムである。 The performance monitoring program 30 acquires performance information for each RAID group RG defined in the storage device 3, monitors the performance of each pool PL in the storage device 3 based on the acquired performance information, and if necessary This is a program having a function of executing processing for improving the performance of the pool PL.
 実際上、性能監視プログラム30は、RAIDグループRGごとに、そのRAIDグループRGに対するランダムリード、シーケンシャルリード、ランダムライト及びシーケンシャルライトという4種類のアクセス種別ごとのアクセス頻度と、かかるアクセス種別ごとのキャッシュヒット率と、そのRAIDグループRGにおける記憶装置20の使用率(RAIDグループRG全体の容量に対する使用済みの容量の割合であり、以下、これを記憶装置使用率と呼ぶ)とを単位時間(1秒)ごとに取得し、取得したこれらの情報をそのRAIDグループRGに対応させて設けられたRAIDグループ性能情報テーブル35に格納して管理する。 In practice, the performance monitoring program 30 performs, for each RAID group RG, the access frequency for each of the four types of access such as random read, sequential read, random write, and sequential write for that RAID group RG, and the cache hit for each access type. Rate and the usage rate of the storage device 20 in the RAID group RG (the ratio of the used capacity to the total capacity of the RAID group RG, hereinafter referred to as the storage device usage rate) is a unit time (1 second) The acquired information is stored in the RAID group performance information table 35 corresponding to the RAID group RG and managed.
 また性能監視プログラム30は、RAIDグループ性能情報テーブル35に格納したこれらの情報に基づいて各プールPLの性能を監視し、そのプールPLの性能が低下したと判定した場合などに、アクセス種別判別プログラム31や性能改善処理プログラム32及び又はバッチ改善プログラム33を呼び出して、そのプールPLの性能を改善させる処理を実行させる。 The performance monitoring program 30 monitors the performance of each pool PL based on the information stored in the RAID group performance information table 35, and determines that the performance of the pool PL has deteriorated. 31 and the performance improvement processing program 32 and / or the batch improvement program 33 are called to execute processing for improving the performance of the pool PL.
 アクセス種別判別プログラム31は、各RAIDグループ性能情報テーブル35に格納されている上述の4種類のアクセス種別ごとのアクセス頻度と、アクセス種別ごとにそれぞれ予め設定されたアクセス頻度の閾値(以下、これらを第1のIOPS(Input Output Per Second)閾値と呼ぶ)とに基づいて、アクセス頻度が対応する第1のIOPS閾値を超えたアクセス種別を特定し、特定結果に基づいて、そのとき実行すべき性能改善処理を性能改善処理プログラム32に指示する機能を有するプログラムである。 The access type determination program 31 stores the access frequency for each of the above four types of access types stored in each RAID group performance information table 35, and a threshold value for the access frequency preset for each access type (hereinafter referred to as these). Based on the first IOPS (Input Output Per Second) threshold), the access type whose access frequency exceeds the corresponding first IOPS threshold is specified, and based on the specified result, the performance to be executed at that time This is a program having a function of instructing the performance improvement processing program 32 for improvement processing.
 性能改善処理プログラム32は、アクセス種別判別プログラム31の指示を受けて、プールPLの性能を改善するための各種性能改善処理を実行する機能を有するプログラムである。さらにバッチ改善プログラム33は、ホスト装置2により実行されるバッチ処理が予定された時間内に終了しなかった場合に、バッチ処理が時間内に終了するようにそのバッチ処理で使用するプールPLの性能を改善する機能を有するプログラムである。 The performance improvement processing program 32 is a program having a function of executing various performance improvement processes for improving the performance of the pool PL in response to an instruction from the access type determination program 31. Further, the batch improvement program 33 performs the performance of the pool PL used in the batch processing so that the batch processing is completed within the time when the batch processing executed by the host device 2 is not completed within the scheduled time. It is a program having a function to improve.
 一方、RAIDグループ性能情報テーブル35は、性能監視プログラム30により取得されたRAIDグループRGの性能情報を保持及び管理するために利用されるテーブルであり、RAIDグループRGごとに作成される。このRAIDグループ性能情報テーブル35は、図3に示すように、通し番号欄35A、情報取得時刻欄35B、リード関連情報欄35C、ライト関連情報欄35D及び記憶装置使用率欄35Eを備えて構成される。 Meanwhile, the RAID group performance information table 35 is a table used for holding and managing the performance information of the RAID group RG acquired by the performance monitoring program 30, and is created for each RAID group RG. As shown in FIG. 3, the RAID group performance information table 35 includes a serial number column 35A, an information acquisition time column 35B, a read related information column 35C, a write related information column 35D, and a storage device usage rate column 35E. .
 そして通し番号欄35Aには、そのRAIDグループ性能情報テーブル35の各行(以下、これをレコードと呼ぶ)ごとの登録情報(以下、これをレコード情報と呼ぶ)に対してそれぞれ付与された通し番号が格納され、情報取得時刻欄35Bには、そのレコード情報を取得した日時が格納される。また記憶装置使用率欄35Eには、対応するRAIDグループRGにおけるそのレコード情報を取得した時点での記憶装置使用率が格納される。 In the serial number column 35A, serial numbers assigned to registration information (hereinafter referred to as record information) for each row (hereinafter referred to as record) of the RAID group performance information table 35 are stored. In the information acquisition time column 35B, the date and time when the record information is acquired is stored. The storage device usage rate column 35E stores the storage device usage rate at the time when the record information in the corresponding RAID group RG is acquired.
 またリード関連情報欄35Cは、ランダムリードIOPS欄35CA、ランダムリードキャッシュヒット率欄35CB、シーケンシャルリードIOPS欄35CC及びシーケンシャルリードキャッシュヒット率欄35CDから構成される。 The read related information column 35C includes a random read IOPS column 35CA, a random read cache hit rate column 35CB, a sequential read IOPS column 35CC, and a sequential read cache hit rate column 35CD.
 そしてランダムリードIOPS欄35CAには、そのレコードの1つ前のレコードを取得した時刻からそのレコードを取得した時刻までの時間帯に、対応するRAIDグループRGに対して行われたランダムリードアクセスの回数(つまりランダムリードのアクセス頻度)がそれぞれ格納され、ランダムリードキャッシュヒット率欄35CBには、その時間帯におけるランダムリードアクセス時のキャッシュヒット率が格納される。またシーケンシャルリードIOPS欄35CCには、その時間帯に、対応するRAIDグループRGに対して行われたシーケンシャルリードアクセスの回数(つまりシーケンシャルリードのアクセス頻度)が格納され、シーケンシャルリードキャッシュヒット率欄35CDには、その時間帯におけるシーケンシャルリードアクセス時のキャッシュヒット率が格納される。 In the random read IOPS column 35CA, the number of random read accesses made to the corresponding RAID group RG in the time zone from the time when the record immediately before that record was acquired to the time when the record was acquired. (That is, the random read access frequency) is stored, and the random read cache hit rate column 35CB stores the cache hit rate at the time of random read access in that time zone. The sequential read IOPS column 35CC stores the number of sequential read accesses made to the corresponding RAID group RG in that time zone (that is, the sequential read access frequency), and is stored in the sequential read cache hit rate column 35CD. Stores the cache hit rate at the time of sequential read access in that time zone.
 同様に、ライト関連情報欄35Dは、ランダムライトIOPS欄35DA、ランダムライトキャッシュヒット率欄35DB、シーケンシャルライトIOPS欄35DC及びシーケンシャルライトキャッシュヒット率欄35DDから構成される。 Similarly, the write related information column 35D includes a random write IOPS column 35DA, a random write cache hit rate column 35DB, a sequential write IOPS column 35DC, and a sequential write cache hit rate column 35DD.
 そしてランダムライトIOPS欄35DAには、そのレコードの1つ前のレコードを取得した時刻からそのレコードを取得した時刻までの時間帯に、対応するRAIDグループRGに対して行われたランダムライトアクセスの回数(つまりランダムライトのアクセス頻度)が格納され、ランダムライトキャッシュヒット率欄35DBには、その時間帯におけるランダムライトアクセス時のキャッシュヒット率が格納される。またシーケンシャルライトIOPS欄35DCには、その時間帯に、対応するRAIDグループRGに対して行われたシーケンシャルライトアクセスの回数(つまりシーケンシャルライトのアクセス頻度)が格納され、シーケンシャルライトキャッシュヒット率欄35DDには、その時間帯におけるシーケンシャルライトアクセス時のキャッシュヒット率が格納される。 In the random write IOPS column 35DA, the number of random write accesses made to the corresponding RAID group RG in the time zone from the time when the record immediately before that record was acquired to the time when the record was acquired. (That is, the random write access frequency) is stored, and the random write cache hit rate column 35DB stores the cache hit rate at the time of random write access in that time zone. The sequential write IOPS column 35DC stores the number of sequential write accesses (that is, the sequential write access frequency) performed for the corresponding RAID group RG during the time period, and the sequential write cache hit rate column 35DD stores the number of sequential write accesses. Stores the cache hit rate at the time of sequential write access in that time zone.
 従って、図3の例の場合、対応するRAIDグループRGは、「2009/11/14 0:00」~「2009/11/14 0:01」までの時間帯において、ランダムリードのアクセス頻度が「1900」でそのときのキャッシュヒット率が「33」%、シーケンシャルリードのアクセス頻度が「780」でそのときのキャッシュヒット率が「9」%、ランダムライトのアクセス頻度が「90」でそのときのキャッシュヒット率が「93」%、シーケンシャルライトのアクセス頻度が「199」でそのときのキャッシュヒット率が「55」%であり、そのRAIDグループRGを構成する各記憶装置20の平均的な使用率が「30」%であったことが示されている。 Accordingly, in the example of FIG. 3, the corresponding RAID group RG has a random read access frequency of “2009/11/14「 0:00 ”to“ 2009/11/14 0:01 ”. 1900 ”, the cache hit rate is“ 33 ”%, the sequential read access frequency is“ 780 ”, the cache hit rate is“ 9 ”%, and the random write access frequency is“ 90 ”. The cache hit rate is “93”%, the sequential write access frequency is “199”, the cache hit rate at that time is “55”%, and the average usage rate of each storage device 20 constituting the RAID group RG Was 30%.
 またRAIDグループ情報管理テーブル36は、ストレージ装置3内に作成された各RAIDグループRGの構成情報を管理するために利用されるテーブルであり、図4に示すように、RAIDグループ番号欄36A、作成済み論理ボリューム番号欄36B、構成プール番号欄36C、RAIDレベル欄36D、記憶装置回転数欄36E、記憶装置数欄36F及び論理ボリューム容量欄36Gを備えて構成される。なお、図4では、RAIDグループRGを「RG」、論理ボリュームを「LU」と略して記載している。他の図面についても同様である。 The RAID group information management table 36 is a table used for managing the configuration information of each RAID group RG created in the storage apparatus 3, and as shown in FIG. A configured logical volume number column 36B, a configuration pool number column 36C, a RAID level column 36D, a storage device rotation number column 36E, a storage device number column 36F, and a logical volume capacity column 36G. In FIG. 4, the RAID group RG is abbreviated as “RG”, and the logical volume is abbreviated as “LU”. The same applies to the other drawings.
 そして作成済み論理ボリューム番号欄36Bには、ストレージ装置3内に作成されたすべての論理ボリュームの識別番号(論理ボリューム番号)が格納され、RAIDグループ番号欄36Aには、対応する論理ボリュームが作成されたRAIDグループRGの識別番号(RAIDグループ番号)が格納され、構成プール番号欄36Cには、対応する論理ボリュームがプールボリュームとしていずれかのプールPLを構成している場合にそのプールPLの識別番号(プール番号)が格納される。 The created logical volume number column 36B stores the identification numbers (logical volume numbers) of all the logical volumes created in the storage device 3, and the corresponding logical volume is created in the RAID group number column 36A. The identification number (RAID group number) of the RAID group RG is stored, and when the corresponding logical volume configures any pool PL as a pool volume, the identification number of the pool PL is stored in the configuration pool number column 36C. (Pool number) is stored.
 またRAIDレベル欄36Dには、対応するRAIDグループRGのRAIDレベルが格納され、記憶装置回転数欄36Eには、そのRAIDグループRGを構成する各記憶装置20(上述のように本実施の形態ではハードディスク装置)の単位時間当たりの回転数が格納される。さらに記憶装置数欄36Fには、そのRAIDグループRGを構成する記憶装置20の数が格納され、論理ボリューム容量欄36Gには、対応する論理ボリュームの容量が格納される。 Further, the RAID level column 36D stores the RAID level of the corresponding RAID group RG, and the storage device rotation speed column 36E stores each storage device 20 constituting the RAID group RG (in the present embodiment as described above). The number of rotations per unit time of the hard disk device) is stored. Further, the number of storage devices 20 constituting the RAID group RG is stored in the storage device number column 36F, and the capacity of the corresponding logical volume is stored in the logical volume capacity column 36G.
 従って、図4の例の場合、「1-1」というRAIDグループRGは、単位時間当たりの回転数が「1500」である「5」台の記憶装置20から構成されるRAIDレベルが「RAID5」のRAIDグループであり、このRAIDグループRGが提供する記憶領域上には、容量が「1200」GBの「00:01:01」という論理ボリューム番号の論理ボリュームと、容量が「800」GBの「00:01:02」という論理ボリューム番号の論理ボリュームとが作成され、これらの論理ボリュームの双方が共に「1」というプール番号のプールPLに割り当てられている(そのプールPLを構成している)ことが示されている。 Therefore, in the example of FIG. 4, the RAID group RG “1-1” has a RAID level “RAID5” composed of “5” storage devices 20 whose rotation speed per unit time is “1500”. In the storage area provided by this RAID group RG, a logical volume with a logical volume number of “00:01:01” with a capacity of “1200” GB and a “volume” with a capacity of “800” GB 00:01:02 ”is created, and both of these logical volumes are assigned to a pool PL having a pool number of“ 1 ”(which constitutes the pool PL). It has been shown.
 プール情報管理テーブル37は、ストレージ装置3内に定義された各プールPLの構成情報を管理するために利用されるテーブルであり、図5に示すように、プール番号欄37A、RAIDグループ番号欄37B、割当て済み容量欄37C、未割当て容量欄37D、閾値超過フラグ欄37E及びCLPR番号欄37Fを備えて構成される。 The pool information management table 37 is a table used for managing configuration information of each pool PL defined in the storage apparatus 3, and as shown in FIG. 5, a pool number column 37A and a RAID group number column 37B. The allocated capacity column 37C, the unallocated capacity column 37D, the threshold excess flag column 37E, and the CLPR number column 37F are provided.
 そしてRAIDグループ番号欄37Bには、ストレージ装置3内に定義された各RAIDグループRGのRAIDグループ番号がそれぞれ格納され、プール番号欄37Aには、対応するRAIDグループRGが提供する論理ボリュームをプールボリュームとして含むプールPLの識別子(プール番号)が格納される。 The RAID group number column 37B stores the RAID group number of each RAID group RG defined in the storage apparatus 3, and the pool number column 37A stores the logical volume provided by the corresponding RAID group RG as a pool volume. The identifier (pool number) of the pool PL to be included is stored.
 また割当て済み容量欄37Cには、対応するRAIDグループRGの全容量のうち、対応するプールPLと対応付けられた仮想ボリュームVVOL(図1)に割当て済みの記憶領域の合計容量が格納され、未割当て容量欄37Dには、そのRAIDグループRGの全容量のうち、当該仮想ボリュームVVOLに未だ割り当てられていない記憶領域の合計容量が格納される。 The allocated capacity column 37C stores the total capacity of the storage areas allocated to the virtual volume VVOL (FIG. 1) associated with the corresponding pool PL out of the total capacity of the corresponding RAID group RG. The allocated capacity column 37D stores the total capacity of the storage area that is not yet allocated to the virtual volume VVOL out of the total capacity of the RAID group RG.
 さらに閾値超過フラグ欄37Eには、後述する性能改善処理において、対応するRAIDグループRGの記憶装置使用率が予め設定されている閾値(以下、これを記憶装置使用率閾値と呼ぶ)を超えたか否かを表す閾値超過フラグが格納される。なお閾値超過フラグは、初期時には「0」に設定され、対応するRAIDグループRGの記憶装置使用率が記憶装置使用率閾値を超えた場合に「1」に更新される。 Further, in the threshold excess flag column 37E, whether or not the storage device usage rate of the corresponding RAID group RG has exceeded a preset threshold value (hereinafter referred to as a storage device usage rate threshold value) in the performance improvement process described later. An over-threshold flag is stored. The threshold excess flag is initially set to “0” and is updated to “1” when the storage device usage rate of the corresponding RAID group RG exceeds the storage device usage rate threshold.
 さらにCLPR番号欄37Fには、対応するプールPLにキャッシュ領域として割り当てられたキャッシュメモリ27(図1)内のCLPRに対して付与されたそのCLPRに固有の識別子(CLPR番号)が格納される。 Further, the CLPR number column 37F stores an identifier (CLPR number) unique to the CLPR assigned to the CLPR in the cache memory 27 (FIG. 1) allocated as a cache area to the corresponding pool PL.
 従って、図5の例の場合、例えば「1」というプール番号が付与されたプールPLは、それぞれ「1-1」又は「1-2」というRAIDグループ番号が付与された各RAIDグループRGが提供するプールボリュームPLVOLから構成されており、このうち「1-1」というRAIDグループRGについては、対応する仮想ボリュームVVOLに割当て済みの容量が「1600」GB、未割当ての容量が「0」GBであり、記憶装置使用率が既に記憶領域使用率閾値を超えている(閾値超過フラグの値が「1」)ことが示されている。またこのプールPLには、キャッシュメモリ27内の「1」というCLPR番号が付与されたCLPRがキャッシュ領域として割り当てられていることが示されている。 Therefore, in the case of the example of FIG. 5, for example, the pool PL to which the pool number “1” is assigned is provided by each RAID group RG to which the RAID group number “1-1” or “1-2” is assigned, respectively. Among these, the RAID group RG “1-1” has “1600” GB assigned to the corresponding virtual volume VVOL and “0” GB assigned to the unassigned capacity. In other words, the storage device usage rate has already exceeded the storage area usage rate threshold (the value of the threshold excess flag is “1”). Further, it is indicated that a CLPR assigned with a CLPR number “1” in the cache memory 27 is assigned to the pool PL as a cache area.
 CLPR管理テーブル38は、各プールPLにそれぞれ割り当てられたCLPRを管理するために利用されるテーブルであり、図6に示すように、CLPR番号欄38A、キャッシュ管理番号欄38B、キャッシュ容量欄38C、キャッシュ書込み待ち率欄38D、一時割当てフラグ欄38E及び割当て先プール欄38Fを備えて構成される。 The CLPR management table 38 is a table used for managing the CLPR assigned to each pool PL. As shown in FIG. 6, the CLPR number column 38A, the cache management number column 38B, the cache capacity column 38C, A cache write wait rate field 38D, a temporary allocation flag field 38E, and an allocation destination pool field 38F are provided.
 そしてCLPR番号欄38Aには、対応するCLPRのCLPR番号が格納され、キャッシュ管理番号欄38Bには、対応するCLPRが分割管理されている場合の各分割領域にそれぞれ付与された管理番号(キャッシュ管理番号)が格納される。またキャッシュ容量欄38Cには、対応するCLPRにおける対応する分割領域の容量が格納される。 The CLPR number column 38A stores the CLPR number of the corresponding CLPR, and the cache management number column 38B stores the management number (cache management) assigned to each divided area when the corresponding CLPR is divided and managed. Number) is stored. The cache capacity column 38C stores the capacity of the corresponding divided area in the corresponding CLPR.
 さらにキャッシュ書込み待ち率欄38Dには、対応するCLPRに一時的に格納されているデータのうち、記憶装置20への書き込みを待っているデータの割合(以下、これをキャッシュ書込み待ち率と呼ぶ)が格納される。 Further, in the cache write wait rate field 38D, the ratio of data waiting to be written to the storage device 20 out of the data temporarily stored in the corresponding CLPR (hereinafter referred to as the cache write wait rate). Is stored.
 さらに一時割当てフラグ欄38Eには、対応するCLPR又はCLPRの分割領域(以下、これをCLPR等と呼ぶ)が後述の性能改善処理において、そのCLPRが割り当てられたプールPL以外の他のプールPLに一時的に貸し出され又は割り当てられているか否かを表す一時貸出フラグが格納される。なお一時貸出フラグは、対応するCLPR等が他のプールPLに貸し出され又は割り当てられていない場合には「0」に設定され、当該CLPR等が一時的に他のプールPLに貸し出され又は割り当てられている場合には「1」に設定される。 Further, in the temporary allocation flag field 38E, the corresponding CLPR or CLPR divided area (hereinafter referred to as CLPR or the like) is assigned to a pool PL other than the pool PL to which the CLPR is allocated in the performance improvement process described later. A temporary lending flag indicating whether or not the lending is temporarily lent or assigned is stored. The temporary lending flag is set to “0” when the corresponding CLPR or the like is not lent or assigned to another pool PL, and the CLPR or the like is temporarily lent or assigned to another pool PL. Is set to "1".
 さらに割当て先プール欄38Fには、対応するCLPR等が一時的に他のプールPLに一時的に貸し出され又は割り当てられている場合に、貸し出され又は割り当てられた先のプールPLのプール番号が格納される。 Further, the assigned pool field 38F stores the pool number of the destination pool PL that has been lent or assigned when the corresponding CLPR or the like is temporarily lent or assigned to another pool PL. Is done.
 従って、図6の例の場合、キャッシュメモリ27の記憶領域の一部が「CLPR1」、「CLPR2」又は「CLPR3」というCLPR番号がそれぞれ付与された3つのCLPRに分割されており、そのうちの「CLPR2」という領域は、「2-1」、「2-2」又は「2-3」という共に容量が「8」GBの2つの分割領域に分割されて管理され、CLPR全体としてのキャッシュリード待ち率が「20%」であることが示されている。また、これらの分割領域のうち、「2-1」という分割領域のみが「1」というプール番号のプールPLに貸し出されており(一時割当てフラグの値が「1」)、他の分割領域は他のプールPLに貸し出されていない(一時割当てフラグの値が「0」)ことも示されている。 Therefore, in the example of FIG. 6, a part of the storage area of the cache memory 27 is divided into three CLPRs each assigned with a CLPR number of “CLPR1”, “CLPR2”, or “CLPR3”. The area called “CLPR2” is divided into two divided areas of “2-1”, “2-2”, or “2-3” with a capacity of “8” GB, and the entire CLPR is waiting for a cache read. The rate is shown to be “20%”. Of these divided areas, only the divided area “2-1” is lent to the pool PL with the pool number “1” (the value of the temporary allocation flag is “1”), and the other divided areas are It is also shown that it is not lent to another pool PL (the value of the temporary allocation flag is “0”).
 なお、図6において、CLPR番号欄38Aに「CLPR5(予備)」という文字列が格納されているCLPRは、予備のCLPR(以下、これを予備CLPRと呼ぶ)である。 In FIG. 6, the CLPR in which the character string “CLPR5 (reserved)” is stored in the CLPR number column 38A is a reserved CLPR (hereinafter referred to as “reserved CLPR”).
 バッチスケジュール管理テーブル39は、ストレージ装置3を利用してホスト装置2により定期的に実行されるバッチ処理のスケジュールを管理するために利用されるテーブルであり、図7に示すように、ホスト装置2に設定された各バッチ処理にそれぞれ対応付けて設けられた1又は複数のバッチ処理欄39Aを備えて構成される。 The batch schedule management table 39 is a table used for managing a schedule of batch processing periodically executed by the host device 2 using the storage device 3, and as shown in FIG. And one or a plurality of batch processing columns 39A provided in association with the respective batch processings set in FIG.
 また各バッチ処理欄39Aは、時間欄39B、曜日欄39C、使用プール欄39D、使用RAIDグループ欄39E及び時間内処理完了フラグ欄39Fにそれぞれ区分されている。そして、時間欄39B、曜日欄39C、使用プール欄39D及び使用RAIDグループ欄39Eには、対応するバッチ処理の実行が予定されている時間帯、その曜日、そのバッチ処理を実行する際に使用するプールPLのプール番号、そのバッチ処理を実行する際に使用するRAIDグループRGのRAIDグループ番号がそれぞれ格納される。また時間内処理完了フラグ欄39Fには、最後に実行したそのバッチ処理を予定された時間内に終了できたか否かを表すフラグ(以下、これを時間内処理完了フラグと呼ぶ)が格納される。なお時間内処理完了フラグは、予定した時間内にそのバッチ処理を終了することができた場合には「1」に設定され、予定した時間内にそのバッチ処理を終了することがでなかった場合には「0」に設定される。 Each batch processing column 39A is divided into a time column 39B, a day-of-week column 39C, a used pool column 39D, a used RAID group column 39E, and an in-time processing completion flag column 39F. The time column 39B, the day of week column 39C, the used pool column 39D, and the used RAID group column 39E are used when the corresponding batch processing is scheduled to be executed, the day of the week, and the batch processing is executed. The pool number of the pool PL and the RAID group number of the RAID group RG used when executing the batch processing are stored. The in-time process completion flag column 39F stores a flag indicating whether or not the last executed batch process has been completed within the scheduled time (hereinafter referred to as an in-time process completion flag). . The in-time processing completion flag is set to “1” if the batch processing can be completed within the scheduled time, and the batch processing cannot be completed within the scheduled time. Is set to “0”.
 従って、図7の例の場合、「バッチ処理1」というバッチ処理は、「平日」の「0時~3時」の時間帯に「1」というプール番号が付与されたプールPLにプールボリュームPLVOLを提供するRAIDグループRGのうちの「1-1」及び「1-2」というRAIDグループ番号が付与されたRAIDグループRGを使用して実行され、最後に実行したそのバッチ処理を予定した時間内に終了することができた(時間内処理完了フラグの値が「1」)ことが示されている。 Therefore, in the case of the example of FIG. 7, the batch process “batch process 1” is performed by the pool volume PLVOL to the pool PL to which the pool number “1” is assigned in the “weekday” “0:00 to 3 o'clock” time zone. The RAID group RG that is assigned the RAID group numbers “1-1” and “1-2” of the RAID groups RG that provide the data is executed within the scheduled time for the batch process that was executed last. (The value of the in-time processing completion flag is “1”).
(4)本実施の形態の性能改善機能に関する各種処理
 次に、かかる本実施の形態による性能改善機能に関する各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明するが、実際上は、ストレージ装置3のプロセッサ25がそのプログラムに基づいてその処理を実行することは言うまでもない。
(4) Various Processes Related to Performance Improvement Function According to this Embodiment Next, specific processing contents of various processes related to the performance improvement function according to this embodiment will be described. In the following description, the processing subject of various processes will be described as a “program”, but it goes without saying that the processor 25 of the storage apparatus 3 actually executes the process based on the program.
(4-1)プール性能監視処理
 図8は、性能監視プログラム30(図2)により定期的に又は不定期に実行されるプール性能監視処理の処理手順を示す。性能監視プログラム30は、この図8に示す処理手順に従って、ストレージ装置3内に定義された各プールPLのそのときの性能を監視する。
(4-1) Pool Performance Monitoring Processing FIG. 8 shows a processing procedure for pool performance monitoring processing that is executed regularly or irregularly by the performance monitoring program 30 (FIG. 2). The performance monitoring program 30 monitors the current performance of each pool PL defined in the storage apparatus 3 according to the processing procedure shown in FIG.
 実際上、性能監視プログラム30は、このプール性能監視処理を開始すると、まず、プール情報管理テーブル37(図5)を参照して、ストレージ装置3内に定義されたプールPLの中からステップSP2以降が未処理のプールPLを1つ選択する(SP1)。 In practice, when the performance monitoring program 30 starts this pool performance monitoring process, first, referring to the pool information management table 37 (FIG. 5), the pool PL defined in the storage apparatus 3 is followed by step SP2 and subsequent steps. Selects one unprocessed pool PL (SP1).
 続いて、性能監視プログラム30は、ステップSP1で選択したプール(以下、これを対象プールと呼ぶ)PLにプールボリュームPLVOL(図1)を提供しているすべてのRAIDグループRGのRAIDグループ番号をプール情報管理テーブル37から取得する(SP2)。 Subsequently, the performance monitoring program 30 pools the RAID group numbers of all RAID groups RG that provide the pool volume PLVOL (FIG. 1) to the pool (hereinafter referred to as the target pool) PL selected in step SP1. Obtained from the information management table 37 (SP2).
 次いで、性能監視プログラム30は、ステップSP2でRAIDグループ番号を取得した各RAIDグループRGの性能情報をそのRAIDグループRGに対応するRAIDグループ性能情報テーブル35(図3)からそれぞれ取得する(SP3)。なお、このとき取得する性能情報は、前回のプール性能監視処理を開始してから今回のプール性能監視処理を開始する前までにそのRAIDグループ性能情報テーブル35に格納された各レコードのレコード情報であるものとする。 Next, the performance monitoring program 30 acquires the performance information of each RAID group RG that has acquired the RAID group number in step SP2 from the RAID group performance information table 35 (FIG. 3) corresponding to the RAID group RG (SP3). The performance information acquired at this time is the record information of each record stored in the RAID group performance information table 35 from the start of the previous pool performance monitoring process to the start of the current pool performance monitoring process. It shall be.
 また性能監視プログラム30は、ステップSP3で取得したこれらの性能情報に基づいて、ステップSP2でRAIDグループ番号を取得したRAIDグループRGの中に、記憶装置使用率が一定期間(例えば、5分間)連続して上述の記憶装置使用率閾値を超えるRAIDグループRGが存在するか否かを判断する(SP4)。そして性能監視プログラム30は、この判断で否定結果を得るとステップSP17に進む。 In addition, the performance monitoring program 30 continuously uses the storage device usage rate for a certain period (for example, 5 minutes) in the RAID group RG that acquired the RAID group number in step SP2 based on the performance information acquired in step SP3. Then, it is determined whether or not there is a RAID group RG that exceeds the above-mentioned storage device usage rate threshold (SP4). If the performance monitoring program 30 obtains a negative result in this determination, it proceeds to step SP17.
 これに対して、性能監視プログラム30は、ステップSP4の判断で肯定結果を得ると、プール情報管理テーブル37における、記憶装置使用率が一定期間連続して記憶装置使用率閾値を超える各RAIDグループRGにそれぞれ対応する閾値超過フラグ欄37Eに格納されている閾値超過フラグをそれぞれオン(「1」)に設定する(SP5)。 In contrast, when the performance monitoring program 30 obtains a positive result in the determination at step SP4, each RAID group RG in the pool information management table 37 whose storage device usage rate exceeds the storage device usage rate threshold value for a certain period of time. Each of the threshold excess flags stored in the threshold excess flag column 37E corresponding to each is set to ON (“1”) (SP5).
 続いて、性能監視プログラム30は、プール情報管理テーブル37において超過閾値フラグがオンに設定されているRAIDグループRGの中からステップSP7以降の処理が未処理のRAIDグループRGを1つ選択する(SP6)。 Subsequently, the performance monitoring program 30 selects one RAID group RG that has not been processed after step SP7 from the RAID groups RG whose excess threshold flag is set to ON in the pool information management table 37 (SP6). ).
 そして性能監視プログラム30は、ステップSP3で取得した各RAIDグループRGの性能情報の中からステップSP6で選択したRAIDグループ(以下、これを対象RAIDグループと呼ぶ)RGに対応する性能情報を抽出し、抽出した性能情報の中から記憶装置使用率が記憶装置使用率閾値を超過しているすべての時刻のレコード情報を取得する(SP7)。従って、例えば図3の例において、記憶装置使用率閾値が「40」%であった場合、性能監視プログラム30は、図9に示すように、通し番号が「4」~「7」及び「10」のレコードのレコード情報をこのステップSP7において取得することになる。 The performance monitoring program 30 extracts the performance information corresponding to the RAID group (hereinafter referred to as the target RAID group) RG selected in step SP6 from the performance information of each RAID group RG acquired in step SP3. Record information at all times when the storage device usage rate exceeds the storage device usage rate threshold value is acquired from the extracted performance information (SP7). Therefore, for example, in the example of FIG. 3, when the storage device usage threshold is “40”%, the performance monitoring program 30 has serial numbers “4” to “7” and “10” as shown in FIG. The record information of this record is acquired in this step SP7.
 続いて、性能監視プログラム30は、バッチ処理がシーケンシャルアクセス(シーケンシャルリード又はシーケンシャルライト)であるという前提のもと、ステップSP7で取得した各レコードのレコード情報(図9)を参照して、記憶装置使用率が記憶装置使用率閾値を超えている時刻における対象プールPL全体に対するランダムリードのアクセス頻度及びランダムライトのアクセス頻度の平均値をそれぞれ算出し、算出したこれらの平均値の少なくとも一方が、個々のRAIDグループRGに対してその性能に応じてそれぞれ規定されたランダムリード又はランダムライトのアクセス頻度の閾値でなる第1のIOPS閾値のその対象プールPLにおける合計値を超えているか否かを判断する(SP8)。 Subsequently, the performance monitoring program 30 refers to the record information (FIG. 9) of each record acquired in step SP7 on the premise that the batch processing is sequential access (sequential read or sequential write). An average value of random read access frequency and random write access frequency for the entire target pool PL at a time when the usage rate exceeds the storage device usage rate threshold value is calculated, and at least one of these calculated average values is individually It is determined whether or not the total value in the target pool PL of the first IOPS threshold value, which is the threshold value of the random read or random write access frequency defined according to the performance of each RAID group RG, is exceeded. (SP8).
 例えば、図10のように対象プールPLが、第1のRAIDグループRG1が提供する第1のプールボリュームPLVOL1及び第2のプールボリュームPLVOL2と、第2のRAIDグループRG2が提供する第3のプールボリュームPLVOL3とから構成されており、第1のRAIDグループRG1を構成する各記憶装置20のスペックから算出される当該第1のRAIDグループRG1のランダムリード及びランダムライトに対する性能限界値(単位時間当たりの処理可能数)が図11(A)のように「2110」又は「379」、第2のRAIDグループRG2を構成する各記憶装置20のスペックから算出される当該第2のRAIDグループRG2のランダムリード及びランダムライトに対する性能限界値が図11(B)のように「2110」又は「379」であるものする。また、ランダムリード及びランダムライトに対する第1のIOPS閾値を、それぞれランダムリード又はランダムライトに対する性能限界値の80%と規定するものとする。なお、図11(A)及び(B)における「実測平均値」の行にそれぞれ記載された数値は、対象RAIDグループRG(第1のRAIDグループRG1であるとする)の記憶装置使用率が記憶装置使用率閾値を超えている時刻における対象プールPL全体での対応するアクセス種別のアクセス頻度の平均値であるものとする。 For example, as shown in FIG. 10, the target pool PL includes a first pool volume PLVOL1 and a second pool volume PLVOL2 provided by the first RAID group RG1, and a third pool volume provided by the second RAID group RG2. PLVOL3, and performance limit values (processing per unit time) for random read and random write of the first RAID group RG1 calculated from the specifications of the storage devices 20 constituting the first RAID group RG1. The possible number) is “2110” or “379” as shown in FIG. 11A, the random read of the second RAID group RG2 calculated from the specifications of each storage device 20 constituting the second RAID group RG2, and The performance limit value for random write is “211” as shown in FIG. It shall be “0” or “379”. Further, the first IOPS threshold value for random read and random write is defined as 80% of the performance limit value for random read or random write, respectively. The numerical values described in the “actual average value” row in FIGS. 11A and 11B are stored as the storage device usage rate of the target RAID group RG (assuming that it is the first RAID group RG1). It is assumed that it is the average value of the access frequencies of the corresponding access types in the entire target pool PL at the time when the device usage rate threshold is exceeded.
 この場合、対象プールPL全体に対するランダムリードのアクセス頻度の平均値は、対象プールPLを構成するプールボリュームPLVOLをそれぞれ提供する各RAIDグループRGのランダムリードのアクセス頻度の平均値の合計とすることができ、図11(A)及び(B)の例の場合には、図11(C)に示すように、第1のRAIDグループRG1におけるランダムリードのアクセス頻度の平均値である「2526」と、第2のRAIDグループRG2におけるランダムリードのアクセス頻度の平均値である「1264」とを合計した「3790」となる。同様に、対象プールPL全体に対するランダムライトのアクセス頻度の平均値は、第1のRAIDグループRG1におけるランダムライトのアクセス頻度の平均値である「322」と、第2のRAIDグループRG2におけるランダムライトのアクセス頻度の平均値である「157」とを合計した「480」となる。 In this case, the average value of the random read access frequency for the entire target pool PL may be the sum of the average values of the random read access frequencies of the RAID groups RG that respectively provide the pool volumes PLVOL constituting the target pool PL. 11 (A) and 11 (B), as shown in FIG. 11 (C), “2526”, which is the average value of random read access frequency in the first RAID group RG1, “3790” is obtained by adding together “1264” which is the average value of the random read access frequency in the second RAID group RG2. Similarly, the average random write access frequency for the entire target pool PL is “322”, which is the average random write access frequency in the first RAID group RG1, and the random write access in the second RAID group RG2. The sum of “157”, which is the average value of the access frequency, is “480”.
 また、対象プールPL全体でみたランダムリードに対する第1のIOPS閾値の値は、対象プールPLを構成するプールボリュームPLVOLをそれぞれ提供する各RAIDグループRGにおける第1のIOPS閾値の合計とすることができ、図11(A)及び(B)の例の場合には、図11(C)に示すように、第1のRAIDグループRG1におけるランダムリードに対する第1のIOPS閾値である「1688」と、第2のRAIDグループRG2におけるランダムリードに対する第1のIOPS閾値である「1688」とを合計した「3376」となる。同様に、対象プールPL全体でみたランダムライトに対する第1のIOPS閾値の値は、第1のRAIDグループRG1におけるランダムライトに対する第1のIOPS閾値である「303」と、第2のRAIDグループRG2におけるランダムライトに対する第1のIOPS閾値である「303」とを合計した「606」となる。 In addition, the value of the first IOPS threshold for random reads as seen in the entire target pool PL can be the sum of the first IOPS thresholds in each RAID group RG that provides the pool volume PLVOL that constitutes the target pool PL. In the example of FIGS. 11A and 11B, as shown in FIG. 11C, the first IOPS threshold “1688” for the random read in the first RAID group RG1, “3376” is obtained by adding up “1688” which is the first IOPS threshold for random reads in the RAID group 2 of the second RAID group. Similarly, the value of the first IOPS threshold value for the random write in the entire target pool PL is “303”, which is the first IOPS threshold value for the random write in the first RAID group RG1, and in the second RAID group RG2. “606” is obtained by adding up “303” which is the first IOPS threshold for random writing.
 従って、性能監視プログラム30は、このステップSP8において、対象プールPL全体でみたランダムリードのアクセス頻度の平均値である「3790」が対象プールPL全体でみたランダムリードに対する第1のIOPS閾値である「3376」を超え、又は、対象プールPL全体でみたランダムライトのアクセス頻度の平均値である「480」が対象プールPL全体でみたランダムライトに対する第1のIOPS閾値である「606」を超えているか否かを判断することになる。そして、この例では、対象プールPL全体でみたランダムリードのアクセス頻度の平均値が、対象プールPL全体でみたランダムリードに対する第1のIOPS閾値を超えているため、性能監視プログラム30は、この判断で否定結果を得ることになる。かくして、このとき性能監視プログラム30は、ステップSP13に進む。 Therefore, in this step SP8, the performance monitoring program 30 sets “3790”, which is the average value of the random read access frequency as seen in the entire target pool PL, as the first IOPS threshold for random reads as seen in the entire target pool PL. 3480 ”or“ 480 ”that is the average value of the random write access frequency as seen in the entire target pool PL exceeds“ 606 ”that is the first IOPS threshold for random write as seen in the entire target pool PL It will be judged whether or not. In this example, since the average value of the random read access frequency seen in the entire target pool PL exceeds the first IOPS threshold for random reads seen in the entire target pool PL, the performance monitoring program 30 makes this determination. A negative result will be obtained. Thus, at this time, the performance monitoring program 30 proceeds to step SP13.
 これに対して性能監視プログラム30は、ステップSP8の判断で否定結果を得ると、バッチスケジュール管理テーブル39(図7)から、ホスト装置2にスケジューリングされている各バッチ処理に関する情報をすべて取得し(SP9)、各バッチ処理の時間内処理管理フラグを参照して、スケジューリングされたすべてのバッチ処理が、そのバッチ処理を最後に実行したときに予定時間内に終了しているか否かを判断する(SP10)。 On the other hand, when the performance monitoring program 30 obtains a negative result in the determination at step SP8, it acquires all information related to each batch process scheduled in the host apparatus 2 from the batch schedule management table 39 (FIG. 7) ( (SP9) With reference to the in-time process management flag of each batch process, it is determined whether or not all scheduled batch processes are completed within the scheduled time when the batch process is executed for the last time (SP9). SP10).
 そして性能監視プログラム30は、この判断で肯定結果を得ると、ステップSP12に進む。これに対して性能監視プログラム30は、ステップSP10の判断で否定結果を得ると、バッチ改善プログラム33(図2)を呼び出して、すべてのバッチ処理が予定時間内に終了するよう対象プールPLにプールボリュームPLVOLを追加し、又は対象プールPLに割り当てられているキャッシュ領域の容量を追加するバッチ改善処理を実行させる(SP11)。 When the performance monitoring program 30 obtains a positive result in this determination, it proceeds to step SP12. On the other hand, if the performance monitoring program 30 obtains a negative result in the determination at step SP10, the performance monitoring program 30 calls the batch improvement program 33 (FIG. 2) and pools it in the target pool PL so that all batch processing is completed within the scheduled time. A batch improvement process for adding the volume PLVOL or adding the capacity of the cache area allocated to the target pool PL is executed (SP11).
 続いて、性能監視プログラム30は、ステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、いずれのバッチ処理もスケジュールされていない時間帯におけるアクセス種別ごとの記憶装置使用率の平均値をそれぞれ算出し、算出したアクセス種別ごとの記憶装置使用率の平均値の少なくとも1つが上述の記憶装置使用率閾値を超えているか否かを判断する(SP12)。そして性能監視プログラム30は、この判断で否定結果を得るとステップSP14に進む。 Subsequently, based on the performance information of the target RAID group RG acquired in step SP3, the performance monitoring program 30 calculates the average value of the storage device usage rate for each access type in the time zone when no batch processing is scheduled. It is calculated, and it is determined whether or not at least one of the calculated average values of the storage device usage rates for each access type exceeds the above-mentioned storage device usage rate threshold value (SP12). If the performance monitoring program 30 obtains a negative result in this determination, it proceeds to step SP14.
 これに対して、性能監視プログラム30は、ステップSP12の判断で肯定結果を得ると、対象RAIDグループRGの性能を改善する性能改善処理をアクセス種別判別プログラム31(図2)及び性能改善処理プログラム32(図2)に実行させる(SP13)。 On the other hand, when the performance monitoring program 30 obtains a positive result in the determination at step SP12, the performance monitoring program 30 performs the performance improvement processing for improving the performance of the target RAID group RG as the access type determination program 31 (FIG. 2) and the performance improvement processing program 32. (FIG. 2) is executed (SP13).
 続いて、性能監視プログラム30は、ステップSP5で閾値超過フラグがオン設定されたすべてのRAIDグループRGについてステップSP7~ステップSP13の処理を実行し終えたか否かを判断する(SP14)。 Subsequently, the performance monitoring program 30 determines whether or not the processing of step SP7 to step SP13 has been executed for all RAID groups RG for which the threshold excess flag is set to ON in step SP5 (SP14).
 そして性能監視プログラム30は、この判断で否定結果を得るとステップSP6に戻り、この後、ステップSP6で選択するRAIDグループRGを未処理の他のRAIDグループRGに順次切り替えながら、ステップSP6~ステップSP14の処理を繰り返す。 If the performance monitoring program 30 obtains a negative result in this determination, it returns to step SP6, and then switches the RAID group RG selected in step SP6 to another unprocessed RAID group RG in sequence, step SP6 to step SP14. Repeat the process.
 そして性能監視プログラム30は、やがて閾値超過フラグがオン設定されたすべてのRAIDグループRGについてステップSP7~ステップSP13の処理を実行し終えることによりステップSP14で肯定結果を得ると、ステップSP3で取得した性能情報に基づいて、対象プールPL全体としてのキャッシュヒット率の平均値を算出し、算出したキャッシュヒット率の平均値が予め設定された閾値(以下、これをキャッシュヒット率閾値と呼ぶ)以上であるか否かを判断する(SP15)。そして性能監視プログラム30は、この判断で否定結果を得ると、ステップSP17に進む。 When the performance monitoring program 30 eventually obtains a positive result in step SP14 by completing the processing of step SP7 to step SP13 for all RAID groups RG for which the threshold excess flag is set to ON, the performance acquired in step SP3 Based on the information, the average value of the cache hit rate for the entire target pool PL is calculated, and the calculated average value of the cache hit rate is equal to or greater than a preset threshold value (hereinafter referred to as the cache hit rate threshold value). Is determined (SP15). If the performance monitoring program 30 obtains a negative result in this determination, it proceeds to step SP17.
 これに対して、性能監視プログラム30は、ステップSP15の判断で肯定結果を得ると、ステップSP13の性能改善処理において、対象プールPLに対してCLPE等が一時的に割り当てられている場合にそのCLPR等を開放するキャッシュ返還処理を実行する(SP16)。 In contrast, when the performance monitoring program 30 obtains a positive result in the determination at step SP15, the CLPR or the like is temporarily assigned to the target pool PL in the performance improvement process at step SP13. A cache return process is executed to release etc. (SP16).
 次いで、性能監視プログラム30は、ストレージ装置3内のすべてのプールPLについてステップSP2~ステップSP16の処理を実行し終えたか否かを判断する(SP17)。 Next, the performance monitoring program 30 determines whether or not the processing of step SP2 to step SP16 has been executed for all the pools PL in the storage apparatus 3 (SP17).
 性能監視プログラム30は、この判断で否定結果を得るとステップSP1に戻り、この後、ステップSP1で選択するプールPLを未処理の他のプールPLに順次切り替えながら、ステップSP1~ステップSP17の処理を繰り返す。 When the performance monitoring program 30 obtains a negative result in this determination, the performance monitoring program 30 returns to step SP1, and thereafter performs the processing of steps SP1 to SP17 while sequentially switching the pool PL selected in step SP1 to another unprocessed pool PL. repeat.
 そして性能監視プログラム30は、やがてストレージ装置3内のすべてのプールPLについてステップSP2~ステップSP16の処理を実行し終えることによりステップSP17で肯定結果を終えると、このプール性能監視処理を終了する。 Then, when the performance monitoring program 30 finishes executing the processing of step SP2 to step SP16 for all the pools PL in the storage apparatus 3 and ends the positive result in step SP17, the performance monitoring program 30 ends this pool performance monitoring processing.
(4-2)性能改善処理
(4-2-1)アクセス種別判別処理
 図12は、図8について上述したプール性能監視処理のステップSP13でアクセス種別判別プログラム31(図2)により実行されるアクセス種別判別処理の処理手順を示す。
(4-2) Performance Improvement Processing (4-2-1) Access Type Determination Processing FIG. 12 shows the access executed by the access type determination program 31 (FIG. 2) at step SP13 of the pool performance monitoring processing described above with reference to FIG. The process procedure of a classification determination process is shown.
 性能監視プログラム30は、プール性能監視処理のステップSP13に進むと、アクセス種別判別プログラム31(図2)を呼び出す。そしてアクセス種別判別プログラム31は、性能監視プログラム30により呼び出されると、前回のプール性能監視処理を開始してから今回のプール性能監視処理を開始するまでに取得した対象RAIDグループRGの性能情報を利用して、その対象RAIDグループRGに対するランダムリード、シーケンシャルリード、ランダムライト及びシーケンシャルライトのうち、これらのアクセス種別についてそれぞれ予め設定された第1のIOPS閾値を超えているアクセス種別を判別するアクセス種別判別処理を図12に示す処理手順に従って実行する。この際、アクセス種別判別プログラム31は、「前回のプール性能監視処理を開始してから今回のプール性能監視処理を開始するまでに取得した対象RAIDグループRGの性能情報」として、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報を利用する。 When the performance monitoring program 30 proceeds to step SP13 of the pool performance monitoring process, it calls the access type determination program 31 (FIG. 2). When called by the performance monitoring program 30, the access type determination program 31 uses the performance information of the target RAID group RG acquired from the start of the previous pool performance monitoring process to the start of the current pool performance monitoring process. Then, among the random read, sequential read, random write, and sequential write for the target RAID group RG, the access type discrimination that discriminates the access type exceeding the preset first IOPS threshold for each of these access types The processing is executed according to the processing procedure shown in FIG. At this time, the access type determination program 31 uses the pool performance monitoring process (the performance information of the target RAID group RG acquired from the start of the previous pool performance monitoring process to the start of the current pool performance monitoring process) ( The performance information of the target RAID group RG acquired in step SP3 of FIG. 8) is used.
 実際上、アクセス種別判別プログラム31は、プール性能監視処理のステップSP13において性能監視プログラム30により呼び出されるとこのアクセス種別判別処理を開始し、まず、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、第1のIOPS閾値を超えているアクセス種別が1つだけであるか否かを判断する(SP20)。 In practice, the access type discrimination program 31 starts this access type discrimination process when called by the performance monitoring program 30 in step SP13 of the pool performance monitoring process, and is first acquired in step SP3 of the pool performance monitoring process (FIG. 8). Based on the performance information of the target RAID group RG, it is determined whether there is only one access type that exceeds the first IOPS threshold (SP20).
 具体的に、アクセス種別判別プログラム31は、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、アクセス種別ごとのアクセス頻度の平均値をそれぞれ算出し、算出したアクセス種別ごとのアクセス頻度の平均値を、それぞれそのアクセス種別の第1のIOPS閾値と比較する。そしてアクセス種別判別プログラム31は、かかるアクセス頻度の平均値が対応する第1のIOPS閾値を超えているアクセス種別が、ランダムリード、シーケンシャルリード、ランダムライト及びシーケンシャルライトのうちの1つだけであるか否かを判断する。 Specifically, the access type determination program 31 calculates the average value of the access frequency for each access type based on the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8). The calculated average access frequency for each access type is compared with the first IOPS threshold value for that access type. Then, the access type determination program 31 determines whether the access type whose average access frequency exceeds the corresponding first IOPS threshold is only one of random read, sequential read, random write, and sequential write. Judge whether or not.
 アクセス種別判別プログラム31は、この判断で肯定結果を得ると、第1のIOPS閾値を超えているアクセス種別がライト関連のアクセス種別(ランダムリード又はシーケンシャルリード)であるか否かを判断する(SP21)。そしてアクセス種別判別プログラム31は、この判断で肯定結果を得ると、性能改善処理プログラム32(図2)を呼び出して、リード性能を改善するための第1のリード性能改善処理を実行させ(SP22)、この後、このアクセス種別判別処理を終了してプール性能監視処理(図8)に戻る。 If the access type determination program 31 obtains a positive result in this determination, it determines whether the access type exceeding the first IOPS threshold is a write-related access type (random read or sequential read) (SP21). ). When the access type determination program 31 obtains a positive result in this determination, it calls the performance improvement processing program 32 (FIG. 2) to execute the first read performance improvement processing for improving the read performance (SP22). Thereafter, the access type determination process is terminated and the process returns to the pool performance monitoring process (FIG. 8).
 またアクセス種別判別プログラム31は、ステップSP21の判断で否定結果を得ると、性能改善処理プログラム32を呼び出して、ライト性能を改善するための第1のライト性能改善処理を実行させ(SP23)、この後、このアクセス種別判別処理を終了してプール性能監視処理に戻る。 If the access type determination program 31 obtains a negative result in the determination at step SP21, it calls the performance improvement processing program 32 to execute the first write performance improvement processing for improving the write performance (SP23). Then, the access type determination process is terminated and the process returns to the pool performance monitoring process.
 これに対して、アクセス種別判別プログラム31は、ステップSP20の判断で否定結果を得ると、第1のIOPS閾値を超えているアクセス種別がライト関連のアクセス種別(ランダムライト及びシーケンシャルライト)のみであるか否かを判断する(SP24)。そしてアクセス種別判別プログラム31は、この判断で肯定結果を得ると、性能改善処理プログラム32を呼び出して、ライト性能を改善するための第2のライト性能改善処理を実行させ(SP25)、この後、このアクセス種別判別処理を終了してプール性能監視処理に戻る。 On the other hand, when the access type determination program 31 obtains a negative result in the determination at step SP20, the access type exceeding the first IOPS threshold is only the write-related access type (random write and sequential write). Is determined (SP24). If the access type determination program 31 obtains a positive result in this determination, it calls the performance improvement processing program 32 to execute the second write performance improvement process for improving the write performance (SP25). This access type determination process is terminated and the process returns to the pool performance monitoring process.
 またアクセス種別判別プログラム31は、ステップSP24の判断で否定結果を得ると、第1のIOPS閾値を超えているアクセス種別がリード関連のアクセス種別(ランダムリード及びシーケンシャルリード)のみであるか否かを判断する(SP26)。そしてアクセス種別判別プログラム31は、この判断で肯定結果を得ると、性能改善処理プログラム32を呼び出して、リード性能を改善するための第2のリード性能改善処理を実行させ(SP27)、この後、このアクセス種別判別処理を終了してプール性能監視処理に戻る。 If the access type determination program 31 obtains a negative result in the determination at step SP24, it determines whether or not the access type exceeding the first IOPS threshold is only a read-related access type (random read and sequential read). Judgment is made (SP26). When the access type determination program 31 obtains a positive result in this determination, it calls the performance improvement processing program 32 to execute the second read performance improvement process for improving the read performance (SP27), and thereafter This access type determination process is terminated and the process returns to the pool performance monitoring process.
 一方、ステップSP26の判断で否定結果を得ることは、第1のIOPS閾値を超えているアクセス種別としてライト関連及びリード関連の双方のアクセス種別を含むことを意味する。かくして、このときアクセス種別判別プログラムは、性能改善処理プログラム32を呼び出して、ライト性能及びリード性能の双方を改善するためのライト・リード性能改善処理を実行させ(SP28)、この後、このアクセス種別判別処理を終了してプール性能監視処理に戻る。 On the other hand, to obtain a negative result in the determination at step SP26 means that the access types that exceed the first IOPS threshold include both write-related and read-related access types. Thus, at this time, the access type determination program calls the performance improvement processing program 32 to execute the write / read performance improvement process for improving both the write performance and the read performance (SP28), and thereafter this access type. The discrimination process ends and the process returns to the pool performance monitoring process.
(4-2-2)第1のリード性能改善処理
 図13は、図12について上述したアクセス種別判別処理のステップSP22においてアクセス種別判別プログラム31に呼び出された性能改善処理プログラム32により実行される第1のリード性能改善処理の具体的な処理内容を示す。
(4-2-2) First Read Performance Improvement Process FIG. 13 shows the first read performance improvement process executed by the performance improvement process program 32 called by the access type determination program 31 in step SP22 of the access type determination process described above with reference to FIG. The specific processing content of the read performance improvement processing 1 is shown.
 性能改善処理プログラム32は、アクセス種別判別処理のステップSP22で呼び出されると、この図13に示す第1のリード性能改善処理を開始し、まず、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、ランダムリードアクセス時のキャッシュヒット率の平均値と、シーケンシャルリードアクセス時のキャッシュヒット率の平均値とをそれぞれ算出し、これらの平均値の少なくとも一方が上述のキャッシュヒット率閾値以下であるか否かを判断する(SP30)。 When called in step SP22 of the access type determination process, the performance improvement processing program 32 starts the first read performance improvement process shown in FIG. 13, and is first acquired in step SP3 of the pool performance monitoring process (FIG. 8). Based on the performance information of the target RAID group RG, the average value of the cache hit rate at the time of random read access and the average value of the cache hit rate at the time of sequential read access are calculated, respectively, and at least one of these average values is It is determined whether or not the cache hit rate threshold is below (SP30).
 そして性能改善処理プログラム32は、この判断で肯定結果を得ると、対象プールPLに追加のキャッシュ領域(CLPR又はCLPRの分割領域)を割り当てるキャッシュ領域追加処理を実行し(SP31)、この後、この第1のリード性能改善処理を終了してアクセス種別判別処理に戻る。 When the performance improvement processing program 32 obtains a positive result in this determination, it executes a cache area addition process for assigning an additional cache area (CLPR or CLPR divided area) to the target pool PL (SP31), and thereafter The first read performance improvement process ends and the process returns to the access type determination process.
 これに対して、性能改善処理プログラム32は、ステップSP30の判断で否定結果を得ると、対象プールPLに新たなプールボリュームPLVOLを追加するプールボリューム追加処理を実行し(SP32)、この後、この第1のリード性能改善処理を終了してアクセス種別判別処理に戻る。 On the other hand, when the performance improvement processing program 32 obtains a negative result in the determination at step SP30, it executes a pool volume addition process for adding a new pool volume PLVOL to the target pool PL (SP32). The first read performance improvement process ends and the process returns to the access type determination process.
(4-2-3)キャッシュ領域追加処理
 図14は、図13について上述した第1のリード性能改善処理のステップSP31において性能改善処理プログラム32により実行されるキャッシュ領域追加処理の具体的な処理手順を示す。
(4-2-3) Cache Area Addition Processing FIG. 14 shows a specific processing procedure of the cache area addition processing executed by the performance improvement processing program 32 in step SP31 of the first read performance improvement processing described above with reference to FIG. Indicates.
 性能改善処理プログラム32は、第1のリード性能改善処理のステップSP31に進むと、このキャッシュ領域追加処理を開始し、まず、対象プールPLに対して既にキャッシュ領域を追加しているか否かを判断する(SP40)。そして性能改善処理プログラム32は、この判断で肯定結果を得ると、このキャッシュ領域追加処理を終了してリード性能改善処理に戻る。これは、プール性能監視処理(図8)のステップSP5で閾値超過フラグがオン設定された各RAIDグループRGに対してプール性能監視処理のステップSP6以降の処理を実行した場合に、対象プールPLにキャッシュ領域が累積的に追加されるのを防止するためである。 When the performance improvement processing program 32 proceeds to step SP31 of the first read performance improvement processing, the performance improvement processing program 32 starts this cache area addition processing, and first determines whether or not a cache area has already been added to the target pool PL. (SP40). When the performance improvement processing program 32 obtains a positive result in this determination, it ends this cache area addition processing and returns to the read performance improvement processing. This is because when the process after step SP6 of the pool performance monitoring process is executed for each RAID group RG for which the threshold excess flag is set to ON in step SP5 of the pool performance monitoring process (FIG. 8), the target pool PL is set. This is to prevent the cache area from being added cumulatively.
 これに対して、性能改善処理プログラム32は、ステップSP40の判断で否定結果を得ると、いずれかのCLPR等(CLPR又はCLPRの分割領域)のうち、対象プールPLに追加的に割当て可能なCLPR等をCLPR管理テーブル38(図6)上で検索する(SP41)。具体的に、性能改善処理プログラム32は、対象プールPLに元々割り当てられているCLPR等以外のCLPR等であって、CLPR管理テーブル38のキャッシュ書込み待ち率欄38Dに格納されたキャッシュ書込み待ち率が予め設定された閾値(以下、これをキャッシュ書込み待ち率閾値と呼ぶ)以下のCLPR等を検索する。 On the other hand, when the performance improvement processing program 32 obtains a negative result in the determination at step SP40, the CLPR that can be additionally allocated to the target pool PL out of any CLPR or the like (CLPR or CLPR divided region). Etc. are searched on the CLPR management table 38 (FIG. 6) (SP41). Specifically, the performance improvement processing program 32 is a CLPR other than the CLPR originally assigned to the target pool PL, and the cache write wait rate stored in the cache write wait rate column 38D of the CLPR management table 38 is A CLPR or the like below a preset threshold value (hereinafter referred to as a cache write wait rate threshold value) is searched.
 続いて、性能改善処理プログラム32は、ステップSP41の検索により、対象プールPLに割当て可能なCLPR等を検出できたか否かを判断する(SP42)。そして性能改善処理プログラム32は、この判断で肯定結果を得ると、ステップSP41で検出したCLPR等(ステップSP41で複数のCLPR等を検出した場合にはそのうちの1つのCLPR等)を対象プールPLに追加的に割り当て(SP43)、この後、ステップSP47に進む。 Subsequently, the performance improvement processing program 32 determines whether or not the CLPR that can be allocated to the target pool PL has been detected by the search in step SP41 (SP42). When the performance improvement processing program 32 obtains an affirmative result in this determination, the CLPR detected at step SP41 (or one CLPR of the plurality of CLPR detected at step SP41) is stored in the target pool PL. Further allocation (SP43), and then the process proceeds to step SP47.
 これに対して、性能改善処理プログラム32は、ステップSP45の判断で否定結果を得ると、対象プールPLに追加的に割当て可能な予備CLPRをCLPR管理テーブル38(図6)上で検索する(SP44)。具体的に、性能改善処理プログラム32は、CLPR管理テーブル38のCLPR番号欄38A(図6)に「予備」という文字列が格納され、キャッシュ書込み待ち率が上述のキャッシュ書込み待ち率閾値未満のCLPRを検索する。 On the other hand, when the performance improvement processing program 32 obtains a negative result in the determination at step SP45, it searches the CLPR management table 38 (FIG. 6) for a spare CLPR that can be additionally assigned to the target pool PL (SP44). ). Specifically, the performance improvement processing program 32 stores a character string “reserved” in the CLPR number column 38A (FIG. 6) of the CLPR management table 38, and the cache write wait rate is less than the above-described cache write wait rate threshold. Search for.
 続いて、性能改善処理プログラム32は、ステップSP44の検索により対象プールPLに追加的に割当て可能な予備CLPRを検出できたか否かを判断する(SP45)。そして性能改善処理プログラム32は、この判断で否定結果を得ると、このキャッシュ領域追加処理を終了してリード性能改善処理に戻る。 Subsequently, the performance improvement processing program 32 determines whether or not a spare CLPR that can be additionally allocated to the target pool PL has been detected by the search in step SP44 (SP45). When the performance improvement processing program 32 obtains a negative result in this determination, it ends this cache area addition processing and returns to the read performance improvement processing.
 これに対して、性能改善処理プログラム32は、ステップSP45の判断で肯定結果を得ると、ステップSP44で検出した予備CLPR(ステップSP44で複数の予備CLPRを検出した場合にはそのうちの1つの予備CLPR)を必要に応じて分割し、予備CLPR又はその1つの分割領域を対象プールPLに割り当てる(SP46)。 On the other hand, if the performance improvement processing program 32 obtains a positive result in the determination at step SP45, the spare CLPR detected at step SP44 (if a plurality of spare CLPRs are detected at step SP44, one of the spare CLPRs is detected). ) Is divided as necessary, and the spare CLPR or one of the divided areas is allocated to the target pool PL (SP46).
 次いで、性能改善処理プログラム32は、CLPR管理テーブル38におけるステップSP43又はステップSP46で対象プールPLに割り当てたCLPR等又は予備CLPR若しくはその分割領域に対応する一時割当てフラグ欄38E(図6)に格納されている一時割当てフラグをオン(「1」)に設定すると共に、対応する割当て先プール欄38F(図6)に対象プールPLのプール番号を格納し(SP47)、この後、このキャッシュ領域追加処理を終了してリード性能改善処理に戻る。 Next, the performance improvement processing program 32 is stored in the CLPR management table 38 in the temporary assignment flag column 38E (FIG. 6) corresponding to the CLPR or the like assigned to the target pool PL in step SP43 or step SP46, or the spare CLPR or its divided area. And the pool number of the target pool PL is stored in the corresponding assigned pool field 38F (FIG. 6) (SP47). Thereafter, this cache area addition process To return to the lead performance improvement process.
(4-2-4)プールボリューム追加処理
 図15は、図13について上述した第1のリード性能改善処理のステップSP32において性能改善処理プログラム32により実行されるプールボリューム追加処理の具体的な処理手順を示す。
(4-2-4) Pool Volume Addition Processing FIG. 15 shows a specific processing procedure of pool volume addition processing executed by the performance improvement processing program 32 in step SP32 of the first read performance improvement processing described above with reference to FIG. Indicates.
 性能改善処理プログラム32は、第1のリード性能改善処理のステップSP32に進むと、このプールボリューム追加処理を開始し、まず、既に対象プールPLにプールボリュームPLVOLを追加しているか否かを判断する(SP50)。そして性能改善処理プログラム32は、この判断で肯定結果を得ると、このプールボリューム追加処理を終了する。これは、プール性能監視処理(図8)のステップSP5で閾値超過フラグがオン設定された各RAIDグループRGに対してプール性能監視処理のステップSP6以降の処理を実行した場合に、対象プールPLにプールボリュームPLVOLが累積的に追加されるのを防止するためである。 When the performance improvement processing program 32 proceeds to step SP32 of the first read performance improvement processing, the performance improvement processing program 32 starts this pool volume addition processing and first determines whether or not the pool volume PLVOL has already been added to the target pool PL. (SP50). When the performance improvement processing program 32 obtains a positive result in this determination, it ends this pool volume addition processing. This is because when the process after step SP6 of the pool performance monitoring process is executed for each RAID group RG for which the threshold excess flag is set to ON in step SP5 of the pool performance monitoring process (FIG. 8), the target pool PL is set. This is to prevent the pool volume PLVOL from being added cumulatively.
 これに対して、性能改善処理プログラム32は、ステップSP50の判断で否定結果を得ると、そのとき対象としているアクセス種別(ここではランダムリード及びシーケンシャルリード)の対象プールPL全体に対するアクセス頻度の平均値を当該対象プールPL全体の第2のIOPS閾値以下とするために低減すべきアクセス数を、対象プールPLにおける実測平均値から第2のIOPS閾値を減算した値(「実測平均値」-「第2のIOPS閾値」)として算出する(SP51)。 On the other hand, if the performance improvement processing program 32 obtains a negative result in the determination at step SP50, the average value of the access frequencies for the entire target pool PL of the access type (random read and sequential read here) targeted at that time Is the value obtained by subtracting the second IOPS threshold from the actual average value in the target pool PL (“actual average value” − “first” 2 ") (SP51).
 なお、第2のIOPS閾値は、性能改善処理プログラム32により実行される性能改善処理によって各アクセス種別のアクセス頻度を低減させる際のアクセス頻度の目標値としてアクセス種別ごとに予め設定される数値である。図11(A)及び(B)に示すように、RAIDグループRGごとに、そのRAIDグループRGを構成する各記憶装置20のスペックに基づいてそれぞれ規定(例えば、そのRAIDグループRGの性能限界値の60%)され、プールPLの第2のIOPS閾値は、図11(C)に示すように、そのプールPL内の各プールボリュームPLをそれぞれ提供する各RAIDグループRGの第2のIOPS閾値の合計値として算出される。 The second IOPS threshold is a numerical value that is preset for each access type as a target value of the access frequency when the access frequency of each access type is reduced by the performance improvement process executed by the performance improvement processing program 32. . As shown in FIGS. 11A and 11B, each RAID group RG is defined based on the specifications of the storage devices 20 constituting the RAID group RG (for example, the performance limit value of the RAID group RG). 60%), and the second IOPS threshold value of the pool PL is the sum of the second IOPS threshold values of the RAID groups RG that respectively provide the pool volumes PL in the pool PL as shown in FIG. Calculated as a value.
 従って、図11(C)の例の場合、性能改善処理プログラム32は、このステップSP51において、ランダムリードについては、対象プールPLに対するランダムリードのアクセス頻度の実績平均値である「3790」からランダムリードに対する第2のIOPS閾値である「2532」を減算することによりかかるアクセス数を算出し、シーケンシャルリードについては、対象プールPLに対するシーケンシャルリードのアクセス頻度の実績平均値である「1570」からシーケンシャルリードに対する第2のIOPS閾値である「2348」を減算することによりかかるアクセス数を算出する。 Therefore, in the case of the example of FIG. 11C, the performance improvement processing program 32 determines the random read from “3790” that is the actual average value of the random read access frequency for the target pool PL in this step SP51. The number of accesses is calculated by subtracting the second IOPS threshold “2532” for the sequential read, and for sequential reads, “1570”, which is the actual average value of the sequential read access frequency for the target pool PL, is used for sequential reads. The number of accesses is calculated by subtracting “2348” which is the second IOPS threshold.
 続いて、性能改善処理プログラム32は、プール情報管理テーブル37上で未使用又は予備のRAIDグループRGを検索する(SP52)。例えば、図5の例の場合、「5-1」というRAIDグループ番号が付与されたRAIDグループRGは、いずれのプールPLにも割り当てられていない(プール番号欄37Aの値が「-」)RAIDグループRGであるため、このステップSP52において未使用又は予備のRAIDグループRGとして検出されることになる。 Subsequently, the performance improvement processing program 32 searches the pool information management table 37 for an unused or spare RAID group RG (SP52). For example, in the example of FIG. 5, the RAID group RG assigned the RAID group number “5-1” is not assigned to any pool PL (the value in the pool number column 37A is “−”). Since it is a group RG, it is detected as an unused or spare RAID group RG in this step SP52.
 次いで、性能改善処理プログラム32は、ステップSP52で検出したRAIDグループRGに対応するRAIDグループ情報管理テーブル36(図4)を参照して、当該RAIDグループRGから対象プールPLに割り当て可能な論理ボリュームが存在するか否かを判断する(SP53)。 Next, the performance improvement processing program 32 refers to the RAID group information management table 36 (FIG. 4) corresponding to the RAID group RG detected in step SP52, and finds a logical volume that can be allocated from the RAID group RG to the target pool PL. It is determined whether or not it exists (SP53).
 ここで、かかる「RAIDグループRGから対象プールPLに割り当て可能な論理ボリューム」とは、そのとき対象プールPLのプールボリュームPLVOLを提供しているRAIDグループRG以外のRAIDグループRGが提供するプールボリュームPLVOLを指し、そのプールボリュームPLVOLが当該RAIDグループRGが提供する記憶領域上に既に作成されたものであっても、またその記憶領域上に新たに作成するものであってもよい。ただし、既に作成されたプールボリュームPLVOLの場合、そのプールボリュームPLVOLを提供するRAIDグループRGのすべてのアクセス種別の実績平均値(図11(A)及び(B)を参照)がいずれもそのアクセス種別の第2のIOPS閾値未満であることが条件となる。 Here, the “logical volume that can be allocated from the RAID group RG to the target pool PL” means a pool volume PLVOL provided by a RAID group RG other than the RAID group RG that provides the pool volume PLVOL of the target pool PL at that time. The pool volume PLVOL may already be created on a storage area provided by the RAID group RG, or may be newly created on the storage area. However, in the case of a pool volume PLVOL that has already been created, the actual average values of all the access types (see FIGS. 11A and 11B) of the RAID group RG that provides the pool volume PLVOL are all the access types. The condition is that it is less than the second IOPS threshold.
 性能改善処理プログラム32は、この判断で否定結果を得ると、ステップSP56に進む。これに対して、性能改善処理プログラム32は、ステップSP53の判断で肯定結果を得ると、ステップSP53で検出した論理ボリュームを追加のプールボリュームPLVOLとして対象プールPLに割り当てる(SP54)。 If the performance improvement processing program 32 obtains a negative result in this determination, it proceeds to step SP56. In contrast, if the performance improvement processing program 32 obtains a positive result in the determination at step SP53, it allocates the logical volume detected at step SP53 to the target pool PL as an additional pool volume PLVOL (SP54).
 また性能改善処理プログラム32は、ステップSP54でプールボリュームPLVOLを対象プールPLに追加した後の当該対象プールPLにおける対象とするアクセス種別(ここではランダムリード及びシーケンシャルリード)の実績平均値が、当該プールボリュームPLVOLを対象プールPLに追加した後の当該対象プールPLの第2のIOPS閾値以下となったか否かを判断する(SP55)。 Further, the performance improvement processing program 32 indicates that the actual average value of the target access type (in this case, random read and sequential read) in the target pool PL after adding the pool volume PLVOL to the target pool PL in step SP54 is the relevant pool. It is determined whether or not the target pool PL is equal to or lower than the second IOPS threshold after the volume PLVOL is added to the target pool PL (SP55).
 実際上、対象プールPLの対象とするアクセス種別の実績平均値に、そのとき追加したプールボリュームPLVOLにおける対象とするアクセス種別の実績平均値を加算した値が対象プールPLにかかるプールボリュームPLVOLを追加した後の当該対象プールPLにおける対象とするアクセス種別の実績平均値(以下、これを追加後実績平均値と呼ぶ)であり、対象プールPLの対象とするアクセス種別の第2のIOPS閾値に、そのとき追加したプールボリュームPLVOLにおける対象とするアクセス種別の第2のIOPS閾値を加算した値が対象プールPLにかかるプールボリュームPLVOLを追加した後の当該対象プールPLにおける対象とするアクセス種別の第2のIOPS閾値(以下、これを追加後第2のIOPS閾値と呼ぶ)となるため、性能改善処理プログラム32は、このステップSP55において、かかる追加後実績平均値が、かかる追加後第2のIOPS閾値未満となったか否かを判断することになる。 In fact, the pool volume PLVOL related to the target pool PL is added to the actual average value of the access type targeted by the target pool PL, and the actual average value of the target access type in the pool volume PLVOL added at that time is added. Is the actual average value of the target access type in the target pool PL after this (hereinafter referred to as the actual average value after addition), and the second IOPS threshold value of the target access type of the target pool PL is A value obtained by adding the second IOPS threshold value of the target access type in the added pool volume PLVOL at that time is the second of the target access type in the target pool PL after adding the pool volume PLVOL related to the target pool PL. IOPS threshold (hereinafter referred to as the second IOPS threshold after the addition) Since the called), improved performance processing program 32, in step SP55, extra after actual average value, will determine whether it is less than extra after the second IOPS threshold.
 そして性能改善処理プログラム32は、この判断で否定結果を得ると、ステップSP53に戻り、この後、ステップSP53で否定結果を得、又はステップSP55で肯定結果を得るまで、ステップSP53~ステップSP55の処理を繰り返す。この繰返し処理により、対象プールPLに順次プールボリュームPLVOLが追加されることになる。 If the performance improvement processing program 32 obtains a negative result in this determination, it returns to step SP53, and thereafter obtains a negative result at step SP53 or obtains a positive result at step SP55 until the processing of step SP53 to step SP55 is performed. repeat. By this repeated processing, pool volumes PLVOL are sequentially added to the target pool PL.
 そして性能改善処理プログラム32は、やがて対象RAIDグループRGにおけるそのとき対象とするアクセス種別(ここではランダムリード及びシーケンシャルリード)の性能限界値が第2のIOPS閾値以下となることによりステップSP55で肯定結果を得ると、このプールボリューム追加処理を終了して第1のリード性能改善処理(図13)に戻る。 Then, the performance improvement processing program 32 eventually returns a positive result in step SP55 when the performance limit value of the target access type (in this case, random read and sequential read) in the target RAID group RG becomes equal to or less than the second IOPS threshold. Is obtained, the pool volume addition process is terminated and the process returns to the first read performance improvement process (FIG. 13).
 これに対して、性能改善処理プログラム32は、対象RAIDグループRGにおけるそのとき対象とするアクセス種別の性能限界値が第2のIOPS閾値以下となる前に、対象プールPLにプールボリュームPLVOLとして割り当て可能な論理ボリュームがなくなることによりステップSP53で否定結果を得ると、プール情報管理テーブル37(図5)を参照して、対象プールPLにはプールボリュームPLVOLを提供しておらず、対象プールPL以外のプールPLにプールボリュームPLVOLを提供しているRAIDグループRGであって、記憶装置使用率が記憶装置使用率閾値以下のRAIDグループRGが存在するか否かを判断する(SP56)。 On the other hand, the performance improvement processing program 32 can be assigned as a pool volume PLVOL to the target pool PL before the performance limit value of the target access type in the target RAID group RG falls below the second IOPS threshold. If a negative result is obtained in step SP53 due to the absence of a logical volume, the pool volume PLVOL is not provided to the target pool PL with reference to the pool information management table 37 (FIG. 5), and other than the target pool PL It is determined whether there is a RAID group RG that provides a pool volume PLVOL to the pool PL and the storage device usage rate is equal to or less than the storage device usage rate threshold value (SP56).
 そして性能改善処理プログラム32は、この判断で否定結果を得ると、このプールボリューム追加処理を終了して第1のリード性能改善処理(図13)に戻る。従って、この場合には、対象プールPLに新たなプールボリュームPLVOLを追加することによるリード性能の改善は行われないことになる。 If the performance improvement processing program 32 obtains a negative result in this determination, it ends this pool volume addition processing and returns to the first read performance improvement processing (FIG. 13). Therefore, in this case, read performance is not improved by adding a new pool volume PLVOL to the target pool PL.
 これに対して、性能改善処理プログラム32は、ステップSP56の判断で肯定結果を得ると、プール情報管理テーブル37(図5)におけるステップSP56で検出したRAIDグループRGに対応する未割当て容量欄37D(図13)を参照して、そのRAIDグループRGが提供する記憶領域上に新たな論理ボリュームを作成可能であるか否かを、そのRAIDグループRGの未割当ての記憶容量の観点から判断する(SP57)。 On the other hand, when the performance improvement processing program 32 obtains a positive result in the determination at step SP56, the unallocated capacity column 37D () corresponding to the RAID group RG detected at step SP56 in the pool information management table 37 (FIG. 5). Referring to FIG. 13), whether or not a new logical volume can be created in the storage area provided by the RAID group RG is determined from the viewpoint of the unallocated storage capacity of the RAID group RG (SP57). ).
 そして性能改善処理プログラム32は、この判断で否定結果を得ると、そのRAIDグループRGが対象プールPL以外のプールPLに提供しているプールボリュームPLVOLをそのプールPLから削除して対象プールPLに再割当てする、図16について後述する割当て済みプールボリューム再割当て処理を実行し(SP58)、この後、ステップSP61に進む。 When the performance improvement processing program 32 obtains a negative result in this determination, it deletes the pool volume PLVOL that the RAID group RG provides to the pool PL other than the target pool PL from the pool PL, and re-enters the target pool PL. The allocated pool volume reassignment process described later with reference to FIG. 16 is executed (SP58), and thereafter, the process proceeds to step SP61.
 これに対して性能改善処理プログラム32は、ステップSP57の判断で肯定結果を得ると、ステップSP56で検出したRAIDグループRGが提供する記憶領域上に、プールボリュームPLVOLとして対象プールPLに提供する論理ボリュームを作成した場合、そのRAIDグループRGの各アクセス種別のアクセス頻度がいずれも対応する第2のIOPS閾値以下となるか否かを判断する(SP59)。 In contrast, when the performance improvement processing program 32 obtains a positive result in the determination at step SP57, the logical volume provided to the target pool PL as the pool volume PLVOL on the storage area provided by the RAID group RG detected at step SP56. Is created, it is determined whether or not the access frequency of each access type of the RAID group RG is equal to or less than the corresponding second IOPS threshold (SP59).
 そして性能改善処理プログラム32は、この判断で否定結果を得ると、このプールボリューム追加処理を終了して第1のリード性能改善処理(図13)に戻る。従って、この場合には、対象プールPLに新たなプールボリュームPLVOLを追加することによるリード性能の改善は行われないことになる。 If the performance improvement processing program 32 obtains a negative result in this determination, it ends this pool volume addition processing and returns to the first read performance improvement processing (FIG. 13). Therefore, in this case, read performance is not improved by adding a new pool volume PLVOL to the target pool PL.
 これに対して、性能改善処理プログラム32は、ステップSP59の判断で肯定結果を得ると、ステップSP56で検出したRAIDグループRGが提供する記憶領域上に新たな論理ボリュームを作成し、作成した論理ボリュームを新たなプールボリュームPLVOLとして対象プールPLに追加する(SP60)。 In contrast, when the performance improvement processing program 32 obtains a positive result in the determination at step SP59, it creates a new logical volume in the storage area provided by the RAID group RG detected at step SP56, and creates the created logical volume. Is added to the target pool PL as a new pool volume PLVOL (SP60).
 次いで、性能改善処理プログラム32は、ステップSP55と同様にして、ステップSP60で新たなプールボリュームPLVOLを追加した後の対象プールPL全体の実測平均値が当該対象プールPL全体の第2のIOPS閾値以下となったか否かを判断する(SP61)。そして性能改善処理プログラム32は、この判断で否定結果を得るとステップSP56に戻り、この後、ステップSP56、ステップSP57若しくはステップSP59のいずれかにおいて否定結果を得、又はステップSP61で肯定結果を得るまでステップSP56~ステップSP61の処理を繰り返す。この繰返し処理により、対象プールPLに新たなプールボリュームPLVOLが順次追加されていくことになる。 Next, in the same manner as in step SP55, the performance improvement processing program 32 determines that the actual average value of the entire target pool PL after adding a new pool volume PLVOL in step SP60 is less than or equal to the second IOPS threshold of the entire target pool PL. It is determined whether or not (SP61). When the performance improvement processing program 32 obtains a negative result in this determination, it returns to step SP56, and thereafter obtains a negative result at any of step SP56, step SP57 or step SP59, or obtains a positive result at step SP61. The processing from step SP56 to step SP61 is repeated. Through this repeated process, new pool volumes PLVOL are sequentially added to the target pool PL.
 そして性能改善処理プログラム32は、やがて対象プールPL全体の実測平均値が当該対象プールPL全体の第2のIOPS閾値以下となることによりステップSP61で肯定結果を得ると、このプールボリューム追加処理を終了して第1のリード性能改善処理(図13)に戻る。 The performance improvement processing program 32 eventually ends this pool volume addition processing when the measured average value of the entire target pool PL eventually becomes equal to or less than the second IOPS threshold value of the entire target pool PL and a positive result is obtained in step SP61. Then, the process returns to the first read performance improvement process (FIG. 13).
 なお、上述のように対象プールPLに新たなプールボリュームPLVOLを追加した場合、このプールボリューム追加処理の終了後に、それまで対象プールPLを構成していた各プールボリュームPLVOLに格納されていたデータの一部を新たに追加されたプールボリュームPLVOLに移動させるようにしてもよい。このようにすることによって、それまで対象プールPLにプールボリュームPLVOLを提供していた各RAIDグループRGの負荷を、対象プールPLに新たにプールボリュームPLVOLを提供するRAIDグループRGに分散させることができ、これにより対象プールPLの応答性能を直ちに向上させることができる。 In addition, when a new pool volume PLVOL is added to the target pool PL as described above, after the end of this pool volume addition process, the data stored in each pool volume PLVOL that has previously constituted the target pool PL A part may be moved to the newly added pool volume PLVOL. By doing so, the load of each RAID group RG that has previously provided the pool volume PLVOL to the target pool PL can be distributed to the RAID group RG that newly provides the pool volume PLVOL to the target pool PL. As a result, the response performance of the target pool PL can be immediately improved.
 一方、図16は、上述のプールボリューム追加処理(図15)のステップSP58において性能改善処理プログラム32により実行される割当て済みプールボリューム再割当て処理の具体的な処理内容を示す。 On the other hand, FIG. 16 shows the specific processing contents of the allocated pool volume reassignment processing executed by the performance improvement processing program 32 in step SP58 of the above-described pool volume addition processing (FIG. 15).
 性能改善処理プログラム32は、プールボリューム追加処理(図15)のステップSP58に進むと、この図16に示す割当て済みプールボリューム再割当て処理を開始し、まず、プール情報管理テーブル37(図5)及び対応するRAIDグループ性能情報テーブル35(図3)を参照して、対象プールPL以外のプールPLであって、そのプールPLにプールボリュームPLVOLを提供しているすべてのRAIDグループRG(ここでは対象プールPLにプールボリュームPVOLを提供していないRAIDグループRG。ただし、これ以外のRAIDグループRGであってもよい)の記憶装置使用率が記憶領域使用率閾値以下のプールPLを検索し、そのプールPLのプール情報をプール情報管理テーブル37(図5)から取得する(SP70)。 When the performance improvement processing program 32 proceeds to step SP58 of the pool volume addition processing (FIG. 15), it starts the allocated pool volume reassignment processing shown in FIG. 16, and first, the pool information management table 37 (FIG. 5) and Referring to the corresponding RAID group performance information table 35 (FIG. 3), all RAID groups RG (here, target pools) that are pools PL other than the target pool PL and that provide the pool volume PLVOL to the pool PL. The RAID group RG that does not provide the pool volume PVOL to the PL (however, it may be a RAID group RG other than this) searches the pool PL whose storage device usage rate is equal to or less than the storage area usage rate threshold, and the pool PL Pool information is acquired from the pool information management table 37 (FIG. 5). (SP70).
 続いて、性能改善処理プログラム32は、ステップSP70の検索で検出したいずれかのプールPLにおいて、容量の観点から見てプールボリュームPLVOLを削除可能なプールPLが存在するか否かを判断する(SP71)。この判断は、ステップSP71の検索により該当するプールPLを検出できたか否かを判断することにより行われ、そのようなプールPLを検出できた場合にはこのステップSP71において肯定結果が得られ、そのようなプールPLを検出できなかった場合にはこのステップSP71で否定結果が得られることになる。 Subsequently, the performance improvement processing program 32 determines whether there is a pool PL that can delete the pool volume PLVOL from the viewpoint of capacity in any of the pools PL detected in step SP70 (SP71). ). This determination is made by determining whether or not the corresponding pool PL has been detected by the search in step SP71. If such a pool PL can be detected, an affirmative result is obtained in step SP71. When such a pool PL cannot be detected, a negative result is obtained in this step SP71.
 そして性能改善処理プログラム32は、ステップSP71の判断で否定結果を得ると、この割当て済みプールボリューム再割当て処理を終了してプールボリューム追加処理(図15)に戻る。従って、この場合には、対象プールPL以外のプールPLに割り当てられているプールボリュームPLVOLを対象プールPLに再割当てすることができないことになる。 When the performance improvement processing program 32 obtains a negative result in the determination at step SP71, it ends this allocated pool volume reassignment processing and returns to the pool volume addition processing (FIG. 15). Accordingly, in this case, the pool volume PLVOL assigned to the pool PL other than the target pool PL cannot be reassigned to the target pool PL.
 これに対して、性能改善処理プログラム32は、ステップSP71の判断で肯定結果を得ると、必要なRAIDグループ性能情報テーブル35(図3)を参照して、ステップSP70で検出した、容量の観点から見てプールボリュームPLVOLを削除可能なプールの中に、性能の観点から見てプールボリュームPLVOLを削除可能なプールPLが存在するか否かを判断する(SP72)。 On the other hand, when the performance improvement processing program 32 obtains a positive result in the determination at step SP71, it refers to the required RAID group performance information table 35 (FIG. 3) and from the viewpoint of capacity detected at step SP70. It is determined whether there is a pool PL in which the pool volume PLVOL can be deleted from the viewpoint of performance among the pools in which the pool volume PLVOL can be deleted as viewed (SP72).
 この判断は、対象プールPL以外の各プールPLについて、そのプールPLからそのプールボリュームPLVOLを削除した場合においても、そのプールPL全体の実測平均値がそのプールボリュームPLVOLを削除した後の当該プールPL全体の第2のIOPS閾値未満となるようなプールボリュームPLVOLが存在するか否かを判断することにより行われる。そして、そのようなプールPLを検出できた場合にはこのステップSP72において肯定結果が得られ、そのようなプールPLを検出できなかった場合にはこのステップSP72で否定結果が得られることになる。 This determination is made for each pool PL other than the target pool PL, even when the pool volume PLVOL is deleted from the pool PL, the actual average value of the pool PL after the pool volume PLVOL is deleted. This is done by determining whether there is a pool volume PLVOL that is less than the overall second IOPS threshold. If such a pool PL can be detected, a positive result is obtained in this step SP72, and if such a pool PL cannot be detected, a negative result is obtained in this step SP72.
 そして性能改善処理プログラム32は、ステップSP72の判断で否定結果を得ると、この割当て済みプールボリューム再割当て処理を終了してプールボリューム追加処理(図15)に戻る。従って、この場合にも、対象プールPL以外のプールPLを構成するプールボリュームPLVOLを対象プールPLに再割当てすることができないことになる。 When the performance improvement processing program 32 obtains a negative result in the determination at step SP72, it ends this allocated pool volume reassignment processing and returns to the pool volume addition processing (FIG. 15). Therefore, also in this case, the pool volume PLVOL constituting the pool PL other than the target pool PL cannot be reassigned to the target pool PL.
 これに対して、性能改善処理プログラム32は、ステップSP72の判断で肯定結果を得ると、ステップSP72で検出したプールPLに割り当てられたプールボリュームPLVOLのうちの対象プールPLに再割当て可能なプールボリューム(以下、これを再割当て対象プールボリュームと呼ぶ)PLVOLに格納されているデータを、そのプールPLを構成する他のプールボリュームPLVOLに移行させた後に、再割当て対象プールボリュームPLVOLをそのプールPLから削除(そのプールPLに対する再割当て対象プールボリュームPLVOLの割り当てを解除)する(SP73)。 On the other hand, when the performance improvement processing program 32 obtains a positive result in the determination at step SP72, the pool volume that can be reassigned to the target pool PL of the pool volumes PLVOL assigned to the pool PL detected at step SP72. (Hereinafter, this is referred to as a reallocation target pool volume) After data stored in a PLVOL is migrated to another pool volume PLVOL that constitutes the pool PL, the reallocation target pool volume PLVOL is transferred from the pool PL. Delete (release the allocation of the reallocation target pool volume PLVOL to the pool PL) (SP73).
 続いて、性能改善処理プログラム32は、対象プールPLに上述の再割当て対象プールボリュームPLVOLを追加し(SP74)、この後、図15について上述したプールボリューム追加処理のステップSP55と同様にして、ステップSP74で再割当て対象プールボリュームPLVOLを追加した後の対象プールPL全体におけるそのとき対象としているアクセス種別(ここではランダムリード及びシーケンシャルリード)の実測平均値が当該対象プールPLの第2のIOPS閾値以下となったか否かを判断する(SP75)。そして性能改善処理プログラム32は、この判断で否定結果を得るとステップSP71に戻り、この後、ステップSP72で否定結果を得、又はステップSP75で肯定結果を得るまでステップSP71~ステップSP75の処理を繰り返す。 Subsequently, the performance improvement processing program 32 adds the above-described reallocation target pool volume PLVOL to the target pool PL (SP74), and thereafter performs the same step as step SP55 of the pool volume addition processing described above with reference to FIG. The measured average value of the target access type (random read and sequential read here) in the entire target pool PL after adding the reallocation target pool volume PLVOL in SP74 is equal to or less than the second IOPS threshold of the target pool PL. It is determined whether or not (SP75). When the performance improvement processing program 32 obtains a negative result in this determination, it returns to step SP71, and thereafter repeats the processing of steps SP71 to SP75 until it obtains a negative result at step SP72 or obtains a positive result at step SP75. .
 そして性能改善処理プログラム32は、やがて対象プールPL全体における対象としているアクセス種別の実測平均値が当該対象プールPLの第2のIOPS閾値以下となることによりステップSP75で肯定結果を得た場合には、この割当て済みプールボリューム削除処理を終了してプールボリューム追加処理(図15)に戻る。 When the performance improvement processing program 32 eventually obtains an affirmative result in step SP75 because the measured average value of the target access type in the entire target pool PL becomes equal to or less than the second IOPS threshold of the target pool PL. Then, the allocated pool volume deletion process is terminated and the process returns to the pool volume addition process (FIG. 15).
(4-2-5)第2のライト性能改善処理
 一方、図17は、図12について上述したアクセス種別判別処理のステップSP25においてアクセス種別判別プログラム31により呼び出された性能改善処理プログラム32により実行される第2のライト性能改善処理の具体的な処理内容を示す。
(4-2-5) Second Write Performance Improvement Processing On the other hand, FIG. 17 is executed by the performance improvement processing program 32 called by the access type determination program 31 in step SP25 of the access type determination processing described above with reference to FIG. The specific processing content of the second write performance improvement processing will be described.
 性能改善処理プログラム32は、アクセス種別判別処理のステップSP25で呼び出されると、この図17に示す第2のライト性能改善処理を開始し、まず、対象RAIDグループRGにおいて、ランダムライトのアクセス負荷の方が、シーケンシャルライトのアクセス負荷よりも高いか否かを判断する(SP80)。この判断は、ランダムライトのアクセス頻度の平均値から第2のIOPS閾値を減算した値の方が、シーケンシャルライトのアクセス頻度の平均値から第2のIOPS閾値を減算した値よりも大きいか否かを判断することにより行われる。 When called in step SP25 of the access type determination process, the performance improvement process program 32 starts the second write performance improvement process shown in FIG. 17, and first, in the target RAID group RG, the random write access load Is higher than the sequential write access load (SP80). This determination is based on whether or not the value obtained by subtracting the second IOPS threshold from the average value of the random write access frequency is greater than the value obtained by subtracting the second IOPS threshold from the average value of the sequential write access frequency. It is done by judging.
 例えば、図10のように、ランダムライトのアクセス頻度の平均値が「90」、シーケンシャルライトのアクセス頻度の平均値が「200」、ランダムライトに対する第2のIOPS閾値が「227」、シーケンシャルライトに対する第2のIOPS閾値が「836」であった場合、ランダムライトのアクセス頻度の平均値からランダムライトに対する第2のIOPS閾値を減算した値は「-137」(図10の「(実測平均値)-(第2のIOPS閾値)」の行を参照)であり、シーケンシャルライトのアクセス頻度の平均値からシーケンシャルライトに対する第2のIOPS閾値を減算した値は「-636」回(図10の「(実測平均値)-(第2のIOPS閾値)」の行を参照)であるため、この例では、ランダムライトによる負荷の方がシーケンシャルライトによる負荷よりも大きいと判断されることになる。 For example, as shown in FIG. 10, the average value of random write access frequency is “90”, the average value of sequential write access frequency is “200”, the second IOPS threshold for random write is “227”, and When the second IOPS threshold is “836”, the value obtained by subtracting the second IOPS threshold for random writes from the average value of random write access frequency is “−137” (“(actually measured average value) in FIG. 10). -(Second IOPS threshold) "), and the value obtained by subtracting the second IOPS threshold for sequential write from the average value of sequential write access frequency is" -636 "times (" (( In this example, the load due to the random write is the sequential write because the actual average value) − (the second IOPS threshold) line). It is determined that the load is greater than
 そして性能改善処理プログラム32は、この判断で肯定結果を得ると、対象RAIDグループRGのランダムライトのアクセス頻度を、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報から取得する(SP81)。さらに性能改善処理プログラム32は、図15について上述したプールボリューム追加処理を実行することにより、対象プールPLにプールボリュームPLVOLを追加することによるライト性能の改善を行い(SP83)、この後、この第2のライト性能改善処理を終了してアクセス種別判別処理(図12)に戻る。 If the performance improvement processing program 32 obtains an affirmative result in this determination, the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring processing (FIG. 8) indicates the random write access frequency of the target RAID group RG. (SP81). Further, the performance improvement processing program 32 executes the pool volume addition process described above with reference to FIG. 15 to improve the write performance by adding the pool volume PLVOL to the target pool PL (SP83). 2 is ended, and the process returns to the access type determination process (FIG. 12).
 これに対して、性能改善処理プログラム32は、ステップSP80の判断で否定結果を得ると、対象RAIDグループRGのシーケンシャルライトのアクセス頻度を、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報から取得する(SP82)。さらに性能改善処理プログラム32は、図15について上述したプールボリューム追加処理を実行することにより、対象プールPLにプールボリュームPLVOLを追加することによるライト性能の改善を行い(SP83)、この後、この第2のライト性能改善処理を終了してアクセス種別判別処理に戻る。 On the other hand, when the performance improvement processing program 32 obtains a negative result in the determination at step SP80, the sequential write access frequency of the target RAID group RG is acquired in step SP3 of the pool performance monitoring process (FIG. 8). Obtained from the performance information of the RAID group RG (SP82). Further, the performance improvement processing program 32 executes the pool volume addition process described above with reference to FIG. 15 to improve the write performance by adding the pool volume PLVOL to the target pool PL (SP83). 2 finishes the write performance improvement process and returns to the access type determination process.
(4-2-6)第2のリード性能改善処理
 図18は、図12について上述したアクセス種別判別処理のステップSP27において呼び出された性能改善処理プログラム32により実行される第2のリード性能改善処理の具体的な処理内容を示す。
(4-2-6) Second Read Performance Improvement Process FIG. 18 shows a second read performance improvement process executed by the performance improvement process program 32 called in step SP27 of the access type determination process described above with reference to FIG. The specific processing content of is shown.
 性能改善処理プログラム32は、アクセス種別判別処理のステップSP27においてアクセス種別判別プログラム31(図2)により呼び出されると、この図18に示す第2のリード性能改善処理を開始し、まず、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、ランダムリードアクセス時及びシーケンシャルリードアクセス時のキャッシュヒット率の平均値をそれぞれ算出する(SP80)。 When the performance improvement processing program 32 is called by the access type determination program 31 (FIG. 2) in step SP27 of the access type determination processing, the performance improvement processing program 32 starts the second read performance improvement processing shown in FIG. Based on the performance information of the target RAID group RG acquired in step SP3 of the process (FIG. 8), the average value of the cache hit rate at the time of random read access and sequential read access is calculated (SP80).
 続いて、性能改善処理プログラム32は、ステップSP80で算出したランダムリードアクセス時のキャッシュヒット率の平均値と、シーケンシャルリードアクセス時のキャッシュヒット率の平均値とが共に上述のキャッシュヒット率閾値以下であるか否かを判断する(SP81)。 Subsequently, the performance improvement processing program 32 has both the average value of the cache hit rate at the time of random read access calculated at step SP80 and the average value of the cache hit rate at the time of sequential read access are equal to or less than the above-described cache hit rate threshold value. It is determined whether or not there is (SP81).
 そして性能改善処理プログラム32は、この判断で肯定結果を得ると、対象プールPLに割り当てるキャッシュ領域を追加することによりランダムリードアクセス時及びシーケンシャルリードアクセス時のキャッシュヒット率の向上を図る、図14について上述したキャッシュ領域追加処理を実行した後(SP82)、この第2のリード性能改善処理を終了してアクセス種別判別処理(図12)に戻る。 When the performance improvement processing program 32 obtains a positive result in this determination, it adds a cache area to be allocated to the target pool PL, thereby improving the cache hit rate at the time of random read access and sequential read access. After executing the cache area addition process described above (SP82), the second read performance improvement process is terminated and the process returns to the access type determination process (FIG. 12).
 これに対して性能改善処理プログラム32は、ステップSP80で算出したランダムリードアクセス時のキャッシュヒット率の平均値と、シーケンシャルリードアクセス時のキャッシュヒット率の平均値とが共に上述のキャッシュヒット率閾値以上であるか否かを判断する(SP83)。 On the other hand, the performance improvement processing program 32 has both the average value of the cache hit rate at the time of random read access calculated at step SP80 and the average value of the cache hit rate at the time of sequential read access are not less than the above-described cache hit rate threshold value. It is determined whether or not (SP83).
 この判断で否定結果を得ることは、ランダムリードアクセス時のキャッシュヒット率の平均値と、シーケンシャルリードアクセス時のキャッシュヒット率の平均値とのいずれか一方のみがキャッシュヒット率閾値以上であることを意味する。かくして、このとき性能改善処理プログラム32は、ステップSP80で算出したキャッシュヒット率の平均値がキャッシュヒット率閾値以下のアクセス種別がランダムリード及びシーケンシャルリードのいずれであるかを特定する(SP84)。 Obtaining a negative result in this determination means that only one of the average value of the cache hit rate during random read access and the average value of the cache hit rate during sequential read access is equal to or greater than the cache hit rate threshold. means. Thus, at this time, the performance improvement processing program 32 specifies whether the access type in which the average value of the cache hit rate calculated in step SP80 is equal to or less than the cache hit rate threshold is random read or sequential read (SP84).
 続いて、性能改善処理プログラム32は、対象プールPLに割り当てるキャッシュ領域を追加することによりランダムリード及びシーケンシャルリードのキャッシュヒット率を向上させる、図14について上述したキャッシュ領域追加処理を実行する(SP85)。 Subsequently, the performance improvement processing program 32 executes the cache area addition process described above with reference to FIG. 14 to improve the cache hit rate of random read and sequential read by adding a cache area to be allocated to the target pool PL (SP85). .
 そして性能改善処理プログラム32は、この後、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、ステップSP84で特定したアクセス種別(ランダムリード又はシーケンシャルリード)によるアクセス頻度の平均値を算出する(SP86)。 Then, the performance improvement processing program 32 thereafter accesses the access type (random read or sequential read) identified in step SP84 based on the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8). The average access frequency is calculated (SP86).
 次いで、性能改善処理プログラム32は、ステップSP86で算出した平均値を利用して、対象プールPLにプールボリュームPLVOLを追加する図15について上述したプールボリューム追加処理を実行し(SP90)、この後、この第2のリード性能改善処理を終了する。 Next, the performance improvement processing program 32 executes the pool volume addition process described above with reference to FIG. 15 for adding the pool volume PLVOL to the target pool PL using the average value calculated in step SP86 (SP90), and thereafter The second read performance improvement process is terminated.
 一方、ステップSP83の判断で肯定結果を得ることは、ランダムリードアクセス時のキャッシュヒット率の平均値と、シーケンシャルリードアクセス時のキャッシュヒット率の平均値との双方がキャッシュヒット率閾値以上であることを意味する。かくして、このとき性能改善処理プログラム32は、図17について上述した第2のライト性能改善処理のステップSP80と同様にして、対象RAIDグループRGにおいて、ランダムライトによる負荷の方が、シーケンシャルライトによる負荷よりも高いか否かを判断する(SP87)。 On the other hand, obtaining a positive result in the determination at step SP83 means that both the average value of the cache hit rate at the time of random read access and the average value of the cache hit rate at the time of sequential read access are equal to or greater than the cache hit rate threshold value. Means. Thus, at this time, the performance improvement processing program 32, in the same way as the step SP80 of the second write performance improvement processing described above with reference to FIG. 17, causes the load due to random write to be greater than the load due to sequential write in the target RAID group RG. It is determined whether or not the value is higher (SP87).
 そして性能改善処理プログラム32は、この判断で肯定結果を得ると、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、ランダムリードのアクセス頻度の平均値を算出する(SP88)。また性能改善処理プログラム32は、ステップSP87の判断で否定結果を得ると、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、シーケンシャルリードのアクセス頻度の平均値を算出する(SP89)。 If the performance improvement processing program 32 obtains a positive result in this determination, the average value of the random read access frequency based on the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring processing (FIG. 8). Is calculated (SP88). If the performance improvement processing program 32 obtains a negative result in the determination at step SP87, the performance improvement processing program 32 determines the access frequency of sequential reads based on the performance information of the target RAID group RG acquired at step SP3 of the pool performance monitoring processing (FIG. 8). An average value is calculated (SP89).
 そして性能改善処理プログラム32は、ステップSP88又はステップSP89で算出した平均値を利用して、対象プールPLにプールボリュームPLVOLを追加する図15について上述したプールボリューム追加処理を実行し(SP90)、この後、この第2のリード性能改善処理を終了する。 The performance improvement processing program 32 executes the pool volume addition process described above with reference to FIG. 15 for adding the pool volume PLVOL to the target pool PL using the average value calculated in step SP88 or step SP89 (SP90). Thereafter, the second read performance improvement process is terminated.
(4-2-7)リード・ライト性能改善処理
 図19A及び図19Bは、図12について上述したアクセス種別判別処理のステップSP28において呼び出された性能改善処理プログラム32により実行されるリード・ライト性能改善処理の具体的な処理内容を示す。
(4-2-7) Read / Write Performance Improvement Processing FIGS. 19A and 19B show the read / write performance improvement executed by the performance improvement processing program 32 called in step SP28 of the access type determination processing described above with reference to FIG. Specific processing contents of the processing are shown.
 性能改善処理プログラム32は、アクセス種別判別処理のステップSP28においてアクセス種別判別プログラム31(図2)により呼び出されると、この図19A及び図19Bに示すリード・ライト性能改善処理を開始し、まず、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、単位時間当たりのランダムリードのアクセス頻度の平均値と、シーケンシャルリードのアクセス頻度の平均値とをそれぞれ算出し、算出結果に基づいて、ランダムリード及びシーケンシャルリードのうち、かかる平均値が対応する第1のIOPS閾値を超えているのがいずれか一方のみであるか否かを判断する(SP100)。 When the performance improvement processing program 32 is called by the access type determination program 31 (FIG. 2) in step SP28 of the access type determination processing, the performance improvement processing program 32 starts the read / write performance improvement processing shown in FIGS. 19A and 19B. Based on the performance information of the target RAID group RG acquired in step SP3 of the performance monitoring process (FIG. 8), an average value of random read access frequency and an average value of sequential read access frequency per unit time are respectively calculated. Then, based on the calculation result, it is determined whether only one of the random read and sequential read has the average value exceeding the corresponding first IOPS threshold (SP100).
 そして性能改善処理プログラム32は、この判断で肯定結果を得ると、ステップSP100において算出した対象RAIDグループRGのランダムリード及びシーケンシャルリードのアクセス頻度の各平均値に基づいて、当該平均値が対応する第1のIOPS閾値を超えているのがランダムリード及びシーケンシャルリードのいずれであるかを特定し、特定したランダムリード又はシーケンシャルリードのキャッシュヒット率の平均値を算出する(SP101)。 If the performance improvement processing program 32 obtains a positive result in this determination, the performance improvement processing program 32 corresponds to the average value corresponding to the average value of the random read and sequential read access frequencies of the target RAID group RG calculated in step SP100. It is specified whether random read or sequential read exceeds the IOPS threshold of 1, and the average value of the cache hit rate of the specified random read or sequential read is calculated (SP101).
 続いて、性能改善処理プログラム32は、ステップSP101で算出したキャッシュヒット率がキャッシュヒット率閾値以下であるか否かを判断する(SP102)。そして性能改善処理プログラム32は、この判断で肯定結果を得ると、図14について上述したキャッシュ領域追加処理のステップSP41と同様にして、対象プールPLに割当て可能なCLPR等をCLPR管理テーブル38(図6)上で検索する(SP103)。 Subsequently, the performance improvement processing program 32 determines whether or not the cache hit rate calculated in step SP101 is less than or equal to the cache hit rate threshold (SP102). When the performance improvement processing program 32 obtains an affirmative result in this determination, the CLPR management table 38 (see FIG. 14) assigns CLPR and the like that can be assigned to the target pool PL in the same manner as in step SP41 of the cache area addition processing described above with reference to FIG. 6) Search above (SP103).
 次いで、性能改善処理プログラム32は、ステップSP103の検索により、対象プールPLに追加的に割当て可能なCLPR等を検出できたか否かを判断する(SP104)。そして性能改善処理プログラム32は、この判断で肯定結果を得ると、ステップSP103で検出したCLPR等(ステップSP103で複数のCLPR等を検出した場合にはそのうちの1つのCLPR等)を対象プールPLに割り当て(SP105)、この後、ステップSP109に進む。 Next, the performance improvement processing program 32 determines whether or not a CLPR that can be additionally assigned to the target pool PL has been detected by the search in step SP103 (SP104). When the performance improvement processing program 32 obtains an affirmative result in this determination, the CLPR detected at step SP103 or the like (if a plurality of CLPR or the like is detected at step SP103) is stored in the target pool PL. Allocation (SP105), and then the process proceeds to step SP109.
 これに対して、性能改善処理プログラム32は、ステップSP104の判断で否定結果を得ると、キャッシュ領域追加処理(図14)のステップSP44と同様にして、対象プールPLに追加的に割当て可能な予備CLPRをCLPR管理テーブル38(図6)上で検索する(SP106)。 On the other hand, when the performance improvement processing program 32 obtains a negative result in the determination at step SP104, it can be additionally allocated to the target pool PL in the same manner as at step SP44 in the cache area addition processing (FIG. 14). The CLPR is searched on the CLPR management table 38 (FIG. 6) (SP106).
 続いて、性能改善処理プログラム32は、ステップSP106の検索により対象プールPLに追加的に割当て可能な予備CLPRを検出できたか否かを判断する(SP107)。そして性能改善処理プログラム32は、この判断で否定結果を得るとステップSP110に進む。 Subsequently, the performance improvement processing program 32 determines whether or not a spare CLPR that can be additionally allocated to the target pool PL has been detected by the search in step SP106 (SP107). If the performance improvement processing program 32 obtains a negative result in this determination, it proceeds to step SP110.
 これに対して性能改善処理プログラム32は、ステップSP107の判断で肯定結果を得ると、ステップSP106で検出した予備CLPR(ステップSP106で複数の予備CLPRを検出した場合にはそのうちの1つの予備CLPR)を対象プールPLに割り当てる(SP108)。 On the other hand, when the performance improvement processing program 32 obtains a positive result in the determination at step SP107, the spare CLPR detected at step SP106 (one spare CLPR among them when a plurality of spare CLPRs are detected at step SP106). Is assigned to the target pool PL (SP108).
 次いで、性能改善処理プログラム32は、CLPR管理テーブル38(図6)におけるステップSP105又はステップSP108で対象プールPLに割り当てたCLPR等又は予備CLPRに対応する一時割当てフラグ欄38E(図6)に格納されている一時割当てフラグをオン(「1」)に設定する(SP109)。 Next, the performance improvement processing program 32 is stored in the temporary assignment flag column 38E (FIG. 6) corresponding to the CLPR or the like assigned to the target pool PL in step SP105 or step SP108 in the CLPR management table 38 (FIG. 6) or the backup CLPR. Is set to ON (“1”) (SP109).
 さらに性能改善処理プログラム32は、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報と、ランダムライトに対する第2のIOPS閾値と、シーケンシャルライトに対する第2のIOPS閾値とに基づいて、ランダムライト及びシーケンシャルライトのうちで負荷の高い方を特定する(SP110)。具体的に、この処理は、ランダムライトのアクセス頻度の平均値から第2のIOPS閾値を減算した値と、シーケンシャルライトのアクセス頻度の平均値から第2のIOPS閾値を減算した値とのうちで、その値がより大きい方を特定することにより行われる。 Furthermore, the performance improvement processing program 32 executes the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8), the second IOPS threshold for random write, and the second IOPS threshold for sequential write. Based on the above, the higher one of the random write and sequential write is specified (SP110). Specifically, this processing is performed by subtracting the second IOPS threshold from the average value of the random write access frequency and the value obtained by subtracting the second IOPS threshold from the average value of the sequential write access frequency. This is done by specifying the larger value.
 さらに性能改善処理プログラム32は、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報の中から、ステップSP110で特定したランダムライト又はシーケンシャルライトに関する性能情報のみを取得し、取得した性能情報を用いて図15について上述したプールボリューム追加処理を実行する(SP124)。そして性能改善処理プログラム32は、この後、このリード・ライト性能改善処理を終了してアクセス種別判別処理(図12)に戻る。 Further, the performance improvement processing program 32 acquires only the performance information related to the random write or sequential write specified in step SP110 from the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8). Then, the pool volume addition processing described above with reference to FIG. 15 is executed using the acquired performance information (SP124). Then, the performance improvement processing program 32 thereafter ends this read / write performance improvement processing and returns to the access type determination processing (FIG. 12).
 一方、性能改善処理プログラム32は、ステップSP102の判断で否定結果を得ると、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、各アクセス種別(ランダムリード、シーケンシャルリード、ランダムライト及びシーケンシャルライト)のうち、アクセス頻度の平均値が第1のIOPS閾値を超えているアクセス種別をすべて検出する(SP111)。 On the other hand, if the performance improvement processing program 32 obtains a negative result in the determination at step SP102, each access type (random) is based on the performance information of the target RAID group RG acquired at step SP3 of the pool performance monitoring processing (FIG. 8). All access types in which the average access frequency exceeds the first IOPS threshold among the read, sequential read, random write, and sequential write) are detected (SP111).
 続いて、性能改善処理プログラム32は、ステップSP111で検出したアクセス種別のうちで負荷が最も高いアクセス種別を特定する(SP112)。この処理は、ステップSP111で検出した各アクセス種別のアクセス頻度の平均値から第2のIOPS閾値を減算した値が最も大きいアクセス種別を特定することにより行われる。 Subsequently, the performance improvement processing program 32 specifies the access type having the highest load among the access types detected in step SP111 (SP112). This process is performed by specifying the access type having the largest value obtained by subtracting the second IOPS threshold from the average access frequency of each access type detected in step SP111.
 次いで、性能改善処理プログラム32は、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報の中から、ステップSP112で特定したアクセス種別に関する性能情報を取得し(SP113)、取得した性能情報を用いて図15について上述したプールボリューム追加処理を実行する(SP124)。そして性能改善処理プログラム32は、この後、このリード・ライト性能改善処理を終了してアクセス種別判別処理(図12)に戻る。 Next, the performance improvement processing program 32 acquires performance information related to the access type specified in step SP112 from the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 8) (SP113). Then, the pool volume addition processing described above with reference to FIG. 15 is executed using the acquired performance information (SP124). Then, the performance improvement processing program 32 thereafter ends this read / write performance improvement processing and returns to the access type determination processing (FIG. 12).
 他方、性能改善処理プログラム32は、ステップSP100の判断で否定結果を得ると、プール性能監視処理(図8)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、シーケンシャルリードアクセス時及びランダムリードアクセス時のキャッシュヒット率の平均値を算出する(SP114)。 On the other hand, when the performance improvement processing program 32 obtains a negative result in the determination at step SP100, based on the performance information of the target RAID group RG acquired at step SP3 of the pool performance monitoring processing (FIG. 8), The average value of the cache hit rate at the time of random read access is calculated (SP114).
 続いて、性能改善処理プログラム32は、ステップSP114で算出したシーケンシャルリードアクセス時のキャッシュヒット率の平均値と、ランダムリードアクセス時のキャッシュヒット率の平均値とのいずれもがキャッシュヒット率閾値以上であるか否かを判断する(SP115)。 Subsequently, the performance improvement processing program 32 determines that both the average value of the cache hit rate at the sequential read access and the average value of the cache hit rate at the random read access calculated in step SP114 are equal to or greater than the cache hit rate threshold value. It is determined whether or not there is (SP115).
 この判断で肯定結果を得ることは、対象プールPLに割り当てられたキャッシュ領域の容量が不足していないことを意味する。かくして、このとき性能改善処理プログラム32は、ステップSP111に進んで、この後、ステップSP111~ステップSP113-ステップSP124を上述のように実行する。そして性能改善処理プログラム32は、この後、このリード・ライト性能改善処理を終了してアクセス種別判別処理(図12)に戻る。 を 得 Acquiring a positive result in this determination means that the capacity of the cache area allocated to the target pool PL is not insufficient. Thus, at this time, the performance improvement processing program 32 proceeds to step SP111, and thereafter executes step SP111 to step SP113 to step SP124 as described above. Then, the performance improvement processing program 32 thereafter ends this read / write performance improvement processing and returns to the access type determination processing (FIG. 12).
 これに対して、ステップSP115の判断で否定結果を得ることは、対象プールPLに割当てられたキャッシュ領域の容量が不足していることを意味する(SP116)。かくして、このとき性能改善処理プログラム32は、ステップSP114で算出したランダムリードアクセス時及びシーケンシャルリードアクセス時のキャッシュヒット率の平均値がいずれもキャッシュヒット率閾値以下であるか否かを判断する(SP119)。 On the other hand, obtaining a negative result in the determination at step SP115 means that the capacity of the cache area allocated to the target pool PL is insufficient (SP116). Thus, at this time, the performance improvement processing program 32 determines whether or not the average value of the cache hit rate at the time of random read access and sequential read access calculated at step SP114 is less than or equal to the cache hit rate threshold value (SP119). ).
 そして性能改善処理プログラム32は、この判断で肯定結果を得ると、図14について上述したキャッシュ領域追加処理を実行することにより対象プールPLに追加的にキャッシュ領域を割り当てる(SP120)。 Then, when the performance improvement processing program 32 obtains a positive result in this determination, it additionally allocates a cache area to the target pool PL by executing the cache area addition process described above with reference to FIG. 14 (SP120).
 また性能改善処理プログラム32は、プール性能監視処理(図12)のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、ランダムリード及びシーケンシャルリードのうちの負荷の高い方を特定し、その性能情報を取得する(SP121)。具体的に、性能改善処理プログラム32は、ランダムリードのアクセス頻度の平均値から第2のIOPS閾値を減算した値と、シーケンシャルリードのアクセス頻度の平均値から第2のIOPS閾値を減算した値とのうちで、その値が大きい方を特定し、プール性能監視処理のステップSP3で取得した対象RAIDグループRGの性能情報の中から、特定したランダムリード又はシーケンシャルリードに関する性能情報のみを取得する。 Further, the performance improvement processing program 32 specifies the higher one of random read and sequential read based on the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process (FIG. 12), The performance information is acquired (SP121). Specifically, the performance improvement processing program 32 subtracts the second IOPS threshold from the average value of the random read access frequency, and subtracts the second IOPS threshold from the average value of the sequential read access frequency. Of the target RAID group RG acquired at step SP3 of the pool performance monitoring process, only the performance information related to the specified random read or sequential read is acquired.
 そして性能改善処理プログラム32は、ステップSP121で取得した性能情報を用いて図15について上述したプールボリューム追加処理を実行した後(SP124)、このリード・ライト性能改善処理を終了してアクセス種別判別処理に戻る。 Then, the performance improvement processing program 32 executes the pool volume addition processing described above with reference to FIG. 15 using the performance information acquired in step SP121 (SP124), and then ends this read / write performance improvement processing to access type determination processing. Return to.
 これに対して、性能改善処理プログラム32は、ステップSP119の判断で否定結果を得ると、図14について上述したキャッシュ領域追加処理を実行することにより対象プールPLに対して追加的にキャッシュ領域を割り当てる(SP122)。 On the other hand, when the performance improvement processing program 32 obtains a negative result in the determination at step SP119, it additionally allocates a cache area to the target pool PL by executing the cache area addition process described above with reference to FIG. (SP122).
 続いて、性能改善処理プログラム32は、ステップSP121と同様にして、ランダムリード及びランダムライトのうちの負荷の高い方を特定し、対象RAIDグループRGにおけるそのランダムリード又はランダムライトに関する性能情報を取得する(SP123)。 Subsequently, in the same manner as in step SP121, the performance improvement processing program 32 specifies the higher one of random read and random write, and acquires performance information regarding the random read or random write in the target RAID group RG. (SP123).
 そして性能改善処理プログラム32は、ステップSP123で取得した性能情報を用いて図15について上述したプールボリューム追加処理を実行した後(SP124)、このリード・ライト性能改善処理を終了してアクセス種別判別処理に戻る。 The performance improvement processing program 32 executes the pool volume addition processing described above with reference to FIG. 15 using the performance information acquired in step SP123 (SP124), and then ends this read / write performance improvement processing to access type determination processing. Return to.
(4-3)バッチ改善処理
 図20は、図8について上述したプール性能監視処理のステップSP11において性能監視プログラム30により呼び出されたバッチ改善プログラム33(図2)により実行されるバッチ改善処理の具体的な処理内容を示す。なお、以下においては、上述のようにバッチ処理時のリード/ライトアクセスがシーケンシャルアクセスであるものとして説明を進める。
(4-3) Batch Improvement Process FIG. 20 shows the details of the batch improvement process executed by the batch improvement program 33 (FIG. 2) called by the performance monitoring program 30 in step SP11 of the pool performance monitoring process described above with reference to FIG. The typical processing content is shown. In the following description, it is assumed that the read / write access during batch processing is sequential access as described above.
 バッチ改善プログラム33は、プール性能監視処理のステップSP11において性能監視プログラム30(図2)により呼び出されると、この図20に示すバッチ改善処理を開始し、まず、バッチスケジュール管理テーブル39(図7)に登録されているバッチ処理のうち、ステップSP131以降の処理が未処理のバッチ処理を1つ選択する(SP130)。 When the batch improvement program 33 is called by the performance monitoring program 30 (FIG. 2) in step SP11 of the pool performance monitoring process, it starts the batch improvement process shown in FIG. 20, and first, the batch schedule management table 39 (FIG. 7). 1 is selected from the batch processes registered in (1) (SP130).
 続いて、バッチ改善プログラム33は、バッチスケジュール管理テーブル39を参照して、ステップSP130で選択したバッチ処理(以下、これを対象バッチ処理と呼ぶ)を実行する際に対象RAIDグループRGを使用するか否かを判断する(SP131)。 Subsequently, the batch improvement program 33 refers to the batch schedule management table 39 and uses the target RAID group RG when executing the batch process selected in step SP130 (hereinafter referred to as the target batch process). It is determined whether or not (SP131).
 そしてバッチ改善プログラム33は、この判断で否定結果を得ると、ステップSP130に戻る。これに対して、バッチ改善プログラム33は、ステップSP131の判断で肯定結果を得ると、対象バッチ処理の実行時間帯に、対象RAIDグループRGにおけるシーケンシャルリードのアクセス頻度が第1のIOPS閾値以上であるか否かを判断する(SP132)。 If the batch improvement program 33 obtains a negative result in this determination, it returns to step SP130. On the other hand, if the batch improvement program 33 obtains a positive result in the determination at step SP131, the sequential read access frequency in the target RAID group RG is equal to or higher than the first IOPS threshold during the target batch processing execution time zone. Whether or not (SP132).
 具体的に、バッチ改善プログラム33は、このステップSP132において、まず、バッチスケジュール管理テーブル39から対象バッチ処理の実行時間帯(開始時刻から終了時刻までの時間帯)を取得し、プール性能監視処理のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、その対象バッチ処理の実行時間帯におけるシーケンシャルリードのアクセス頻度の平均値を算出し、算出した平均値がシーケンシャルリードの第1のIOPS閾値以上であるか否かを判断する。 Specifically, in this step SP132, the batch improvement program 33 first acquires the execution time zone (time zone from the start time to the end time) of the target batch process from the batch schedule management table 39, and performs the pool performance monitoring process. Based on the performance information of the target RAID group RG acquired in step SP3, an average value of sequential read access frequencies in the execution time zone of the target batch process is calculated, and the calculated average value is a first IOPS threshold value for sequential read. It is determined whether this is the case.
 そしてバッチ改善プログラム33は、ステップSP132の判断で否定結果を得ると、次回のそのバッチ処理の実行前に図12~図19Bについて上述した性能改善処理をバッチ前処理として実行するよう設定し(SP133)、この後、ステップSP137に進む。かくして、かかるステップSP133の設定により、対象バッチ処理の開始前にかかる性能改善処理が実行され、これにより対象プールPLに対して追加のキャッシュ領域又はプールボリュームが割り当てられることになる。 When the batch improvement program 33 obtains a negative result in the determination at step SP132, the batch improvement program 33 is set to execute the performance improvement process described above with reference to FIGS. 12 to 19B as the batch pre-process before the next execution of the batch process (SP133 Thereafter, the process proceeds to step SP137. Thus, according to the setting in step SP133, the performance improvement process is executed before the start of the target batch process, whereby an additional cache area or pool volume is allocated to the target pool PL.
 これに対してバッチ改善プログラム33は、ステップSP132の判断で否定結果を得ると、対象バッチ処理の実行時間帯におけるシーケンシャルリードアクセス時及びシーケンシャルライトアクセス時のキャッシュヒット率がキャッシュヒット率閾値以下であるか否かを判断する(SP134)。 On the other hand, if the batch improvement program 33 obtains a negative result in the determination at step SP132, the cache hit rate at the time of sequential read access and sequential write access in the execution time zone of the target batch process is less than the cache hit rate threshold value. Whether or not (SP134).
 具体的に、バッチ改善プログラム33は、このステップSP134において、プール性能監視処理のステップSP3で取得した対象RAIDグループRGの性能情報に基づいて、対象バッチ処理の実行時間帯におけるシーケンシャルリードアクセス時のキャッシュヒット率の平均値を算出する。そしてバッチ改善プログラム33は、対象バッチ処理時において、シーケンシャルリードアクセス時のキャッシュヒット率の平均値がキャッシュヒット率閾値以下であるか否かを判断する。 Specifically, in step SP134, the batch improvement program 33 uses the performance information of the target RAID group RG acquired in step SP3 of the pool performance monitoring process to cache the sequential read access in the execution time zone of the target batch process. Calculate the average hit rate. Then, the batch improvement program 33 determines whether or not the average value of the cache hit rate at the time of sequential read access is equal to or smaller than the cache hit rate threshold value during the target batch processing.
 そしてバッチ改善プログラム33は、ステップSP134の判断で否定結果を得ると、次回のその対象バッチ処理の実行前に性能改善処理プログラム32が図15について上述したプールボリューム追加処理をバッチ前処理として実行するよう設定し(SP135)、この後、ステップSP137に進む。かくして、かかるステップSP137の設定により、対象バッチ処理の開始前に性能改善処理プログラム32によりプールボリューム追加処理が実行され、これにより対象プールPLにプールボリュームPLVOLが追加的に割り当てられることになる。 If the batch improvement program 33 obtains a negative result in the determination at step SP134, the performance improvement processing program 32 executes the pool volume addition processing described above with reference to FIG. 15 as batch preprocessing before the next execution of the target batch processing. (SP135), and then the process proceeds to step SP137. Thus, according to the setting of step SP137, the pool volume addition processing is executed by the performance improvement processing program 32 before the start of the target batch processing, whereby the pool volume PLVOL is additionally allocated to the target pool PL.
 これに対して、バッチ改善プログラム33は、ステップSP134の判断で肯定結果を得ると、性能改善処理プログラム32が次回のその対象バッチ処理の実行前に図14について上述したキャッシュ領域追加処理をバッチ前処理として実行するよう設定する(SP136)。かくして、かかるステップSP136の設定により、対象バッチ処理の開始前に性能改善処理プログラム32によりキャッシュ領域追加処理が実行され、これにより対象プールPLにキャッシュ容量(キャッシュ領域の分割領域又は予備キャッシュ領域)が追加されることになる。 On the other hand, when the batch improvement program 33 obtains a positive result in the determination at step SP134, the performance improvement processing program 32 performs the cache area addition processing described above with reference to FIG. 14 before executing the target batch processing next time before the batch. It is set to be executed as a process (SP136). Thus, according to the setting of step SP136, the cache area addition process is executed by the performance improvement processing program 32 before the start of the target batch process, and as a result, the cache capacity (cache area divided area or spare cache area) is stored in the target pool PL. Will be added.
 この後、バッチ改善プログラム33は、バッチスケジュール管理テーブル39(図7)に登録されたすべてのバッチ処理についてステップSP131~ステップSP136の処理を実行し終えたか否かを判断する(SP137)。 Thereafter, the batch improvement program 33 determines whether or not the processing of step SP131 to step SP136 has been executed for all batch processing registered in the batch schedule management table 39 (FIG. 7) (SP137).
 そしてバッチ改善プログラム33は、この判断で否定結果を得るとステップSP130に戻り、この後、ステップSP130で選択するバッチ処理を未処理の他のバッチ処理に順次切り替えながら、ステップSP130~ステップSP137の処理を繰り返す。 If the batch improvement program 33 obtains a negative result in this determination, it returns to step SP130, and thereafter, the batch processing selected in step SP130 is sequentially switched to other unprocessed batch processing, and the processing of steps SP130 to SP137 is performed. repeat.
 そしてバッチ改善プログラム33は、やがてバッチスケジュール管理テーブル39に登録されたすべてのバッチ処理についてステップSP131~ステップSP136の処理を実行し終えることによりステップSP137で肯定結果を得ると、このバッチ改善処理を終了してプール性能改善処理(図8)に戻る。 When the batch improvement program 33 finally obtains a positive result in step SP137 by completing the execution of the processes in steps SP131 to SP136 for all the batch processes registered in the batch schedule management table 39, the batch improvement process ends. Then, the process returns to the pool performance improvement process (FIG. 8).
 なお、かかるバッチ改善処理に関連して1つのバッチ処理が終了するごとに実行されるバッチ後処理の処理手順を図21に示す。このバッチ後処理は、そのバッチ処理でプールPLに追加的に割り当てられたCLPR等を開放し、今回、そのバッチ処理が予定時間内に終了したか否かに基づいて、次回のそのバッチ処理時にCLPR等を追加する場合における追加分のキャッシュ領域の容量を設定する処理である。 Incidentally, FIG. 21 shows a processing procedure of batch post-processing that is executed every time one batch processing is completed in relation to such batch improvement processing. This batch post-processing releases the CLPR and the like additionally assigned to the pool PL in the batch processing, and this time, based on whether or not the batch processing is completed within the scheduled time, This is processing for setting the capacity of an additional cache area when adding CLPR or the like.
 実際上、バッチ改善プログラム33は、1つのバッチ処理が終了すると、このバッチ後処理を開始し、まず、そのバッチ処理を実行する際に、当該バッチ処理で使用したプールPLにCLPR等を追加的に割り当てたか否かを判断する(SP140)。そしてバッチ改善プログラム33は、この判断で否定結果を得ると、ステップSP142に進む。 In practice, when one batch process is completed, the batch improvement program 33 starts the post-batch process. When the batch process is executed, CLPR or the like is added to the pool PL used in the batch process. It is determined whether or not it has been assigned to (SP140). If the batch improvement program 33 obtains a negative result in this determination, it proceeds to step SP142.
 これに対して、バッチ改善プログラム33は、ステップSP140の判断で肯定結果を得ると、そのバッチ処理で使用したプールPLに追加したCLPR等を開放し(SP141)、この後、バッチスケジュール管理テーブル39(図7)のそのバッチ処理に対応する時間内処理完了フラグ欄39F(図7)に格納されている時間内処理完了フラグを参照して、今回のそのバッチ処理が予定時間内に終了したか否かを判断する(SP142)。 On the other hand, when the batch improvement program 33 obtains a positive result in the determination at step SP140, it releases the CLPR added to the pool PL used in the batch processing (SP141), and thereafter the batch schedule management table 39. With reference to the in-time processing completion flag 39F (FIG. 7) stored in the in-time processing completion flag column 39F (FIG. 7) corresponding to the batch processing in (FIG. 7), has this batch processing been completed within the scheduled time? It is determined whether or not (SP142).
 そしてバッチ改善プログラム33は、この判断で肯定結果を得ると、そのバッチ処理を次回実行する際に対応するプールPLにキャッシュ領域を追加的に割り当てる場合の追加すべきキャッシュ領域を今回と同じ容量(今回の処理でキャッシュ領域を追加していない場合には規定の容量)に設定し(SP143)、この後、このバッチ後処理を終了する。 When the batch improvement program 33 obtains a positive result in this determination, the cache area to be added when the cache area is additionally allocated to the corresponding pool PL when the batch process is executed next time is set to the same capacity ( If the cache area is not added in the current process, the specified capacity is set (SP143), and then the post-batch process is terminated.
 これに対してバッチ改善プログラム33は、ステップSP142の判断で否定結果を得ると、そのバッチ処理を次回実行する際に対応するプールPLにキャッシュ領域を追加的に割り当てる場合の追加すべき容量を今回よりも所定量だけ多い容量(今回の処理でキャッシュ領域を追加していない場合には規定の容量)に設定し(SP144)、この後、このバッチ後処理を終了する。 On the other hand, if the batch improvement program 33 obtains a negative result in the determination at step SP142, the capacity to be added when the cache area is additionally allocated to the corresponding pool PL when the batch process is executed next time is determined this time. Is set to a capacity larger than the predetermined amount (a prescribed capacity when no cache area is added in the current process) (SP144), and then the post-batch process is terminated.
(4-4)キャッシュ返還処理
 図22は、図8について上述したプール性能監視処理のステップSP15において性能監視プログラム30により実行されるキャッシュ返還処理の具体的な処理内容を示す。
(4-4) Cache Return Processing FIG. 22 shows specific processing contents of the cache return processing executed by the performance monitoring program 30 in step SP15 of the pool performance monitoring processing described above with reference to FIG.
 性能監視プログラム30は、プール性能監視処理のステップSP15に進むと、この図22に示すキャッシュ返還処理を開始し、まず、CLPR管理テーブル38(図6)を参照して、対象プールPLに追加のCLPR等が割り当てられているか否かを判断する(SP150)。そして性能監視プログラム30は、この判断で否定結果を得ると、このキャッシュ返還処理を終了してプール性能監視処理に戻る。 When the performance monitoring program 30 proceeds to step SP15 of the pool performance monitoring process, the performance monitoring program 30 starts the cache return process shown in FIG. 22, and first adds the target pool PL with reference to the CLPR management table 38 (FIG. 6). It is determined whether CLPR or the like is assigned (SP150). When the performance monitoring program 30 obtains a negative result in this determination, it ends this cache return processing and returns to the pool performance monitoring processing.
 これに対して、性能監視プログラム30は、ステップSP150の判断で肯定結果を得ると、CLPR管理テーブル38(図6)を参照して、対象プールPLのキャッシュ書込み待ち率が予め設定された閾値(以下、これをキャッシュ書込み待ち率閾値と呼ぶ)以下であるか否かを判断する(SP151)。 On the other hand, when the performance monitoring program 30 obtains a positive result in the determination at step SP150, it refers to the CLPR management table 38 (FIG. 6), and sets a threshold (( Hereinafter, this is referred to as a cache write wait rate threshold) or not (SP151).
 そして性能監視プログラム30は、この判断で肯定結果を得ると、対象プールPLに追加的に割り当てられたCLPR等と同じ容量分のデータをタイムスタンプの古い順に対象プールPLに元々割り当てられているCLPR及び当該対象プールPLに追加的に割り当てられたCLPR等から順次消去すると共に、対象プールPLに追加的に割り当てられたCLPR等に格納されているデータであって、記憶装置20に書き込まれていないデータを対象プールPLに元々割り当てられているCLPRに順次移動させる(SP152)。 When the performance monitoring program 30 obtains an affirmative result in this determination, the CLPR that has been originally assigned to the target pool PL in the order of the oldest time stamps the data of the same capacity as the CLPR that is additionally assigned to the target pool PL. And the data stored in the CLPR and the like additionally assigned to the target pool PL, and sequentially erased from the CLPR and the like additionally assigned to the target pool PL, and not written in the storage device 20 The data is sequentially moved to the CLPR originally assigned to the target pool PL (SP152).
 続いて、性能監視プログラム30は、ステップSP152の処理により、対象プールPLに追加的に割り当てられたCLPR等に格納されているデータであって、記憶装置20に書き込まれていないデータを対象プールPLに元々割り当てられているCLPRにすべて移動させることができたか否かを判断する(SP153)。そして性能監視プログラム30は、この判断で否定結果を得ると、このキャッシュ返還処理を終了してプール性能監視処理に戻る。 Subsequently, the performance monitoring program 30 converts the data stored in the CLPR or the like additionally assigned to the target pool PL by the process of step SP152 and not written in the storage device 20 to the target pool PL. It is determined whether or not all of the CLPRs originally assigned to can be moved (SP153). When the performance monitoring program 30 obtains a negative result in this determination, it ends this cache return processing and returns to the pool performance monitoring processing.
 これに対して、性能監視プログラム30は、ステップSP153の判断で肯定結果を得ると、対象プールPLに一時的かつ追加的に割り当てたCLPR等を開放し、そのCLPR等がCLPRの分割領域であり、かつ当該分割領域が他のプールから借り受けたものである場合には、その分割領域を貸出し元のプールPLに返還する(SP154)。 On the other hand, when the performance monitoring program 30 obtains a positive result in the determination at step SP153, it releases the CLPR etc. temporarily and additionally assigned to the target pool PL, and the CLPR etc. is a CLPR divided area. When the divided area is borrowed from another pool, the divided area is returned to the renting source pool PL (SP154).
 さらに性能監視プログラム30は、CLPR管理テーブル38(図6)におけるステップSP154で開放したCLPR等の一時割当てフラグをオフ(「0」)に更新すると共に、対応する割当て先プール欄38Fに格納されている値をクリアし(SP155)、この後、このキャッシュ返還処理を終了する。 Further, the performance monitoring program 30 updates the temporary allocation flag such as CLPR released in step SP154 in the CLPR management table 38 (FIG. 6) to OFF (“0”) and stores it in the corresponding allocation destination pool field 38F. Is cleared (SP155), and then the cache return process is terminated.
 これに対して、性能監視プログラム30は、ステップSP151の判断で否定結果を得ると、繰返し回数を「1」増加させ(SP156)、この繰返し回数が予め定められた閾値(以下、これを繰返し回数閾値と呼ぶ)以上となったか否かを判断する(SP157)。 On the other hand, if the performance monitoring program 30 obtains a negative result in the determination at step SP151, it increases the number of repetitions by “1” (SP156), and this number of repetitions is set to a predetermined threshold (hereinafter referred to as the number of repetitions). It is determined whether or not the threshold is reached (SP157).
 そして性能監視プログラム30は、この判断で否定結果を得ると、一定期間(例えば数分)だけ待機した後(SP158)、ステップSP151に戻る。そして性能監視プログラム30は、この後、ステップSP151又はステップSP157で肯定結果を得るまで、ステップSP151~ステップSP158の処理を繰り返す。 If the performance monitoring program 30 obtains a negative result in this determination, it waits for a certain period (for example, several minutes) (SP158), and then returns to step SP151. Then, the performance monitoring program 30 thereafter repeats the processing from step SP151 to step SP158 until a positive result is obtained in step SP151 or step SP157.
 このステップSP151~ステップSP158の繰返し処理により、例えば、対象プールPLのライト負荷が一時的に上がっている場合にそのライト負荷が下がるのを待つことができる。 By repeating the processing from step SP151 to step SP158, for example, when the write load of the target pool PL is temporarily increased, it is possible to wait for the write load to decrease.
 そして性能監視プログラム30は、やがてステップSP151で肯定結果を得た場合には、ステップSP152~ステップSP155を上述のように実行する。これに対して、性能監視プログラム30は、ステップSP157の判断で否定結果を得た場合には、このキャッシュ返還処理を終了する。 When the performance monitoring program 30 eventually obtains a positive result in step SP151, it executes step SP152 to step SP155 as described above. In contrast, if the performance monitoring program 30 obtains a negative result in the determination at step SP157, it ends this cache return processing.
(5)本実施の形態の効果
 以上のように本実施の形態のストレージ装置3では、装置内に作成されたプールPLごとに、そのプールPLにプールボリュームPLVOLを提供する各RAIDグループRGのアクセス種別ごとのアクセス頻度及びキャッシュヒット率をそれぞれ取得し、ランダムリードアクセス時及びシーケンシャルリードアクセス時のキャッシュヒット率がキャッシュヒット率閾値以下の場合には、対応するプールPLのキャッシュ領域の容量を追加し、いずれかのアクセス種別のアクセス頻度が第1のIOPS閾値を超えている場合には、当該プールに新たなプールボリュームPLVOLを追加する。
(5) Effects of this Embodiment As described above, in the storage apparatus 3 of this embodiment, for each pool PL created in the apparatus, access of each RAID group RG that provides the pool volume PLVOL to the pool PL Acquire the access frequency and cache hit rate for each type, and if the cache hit rate during random read access and sequential read access is below the cache hit rate threshold, add the cache area capacity of the corresponding pool PL. If the access frequency of any access type exceeds the first IOPS threshold, a new pool volume PLVOL is added to the pool.
 従って、本ストレージ装置3では、プールPLごとに、ライト性能については、新たなプールボリュームPLVOLを追加するようにしてそのプールPLの性能改善が行われる一方で、リード性能については、ストレージ装置3の状況に応じて、当該プールのキャッシュ領域の容量を追加し、及び又は、当該プールPLに新たなプールボリュームPLVOLを追加するようにしてそのプールPLの性能改善が行われる。よって、本ストレージ装置3によれば、プールPLの状況に応じた最適な性能改善を容易に行うことができる。 Therefore, in this storage apparatus 3, for each pool PL, the write performance is improved by adding a new pool volume PLVOL, while the read performance is the same as that of the storage apparatus 3. Depending on the situation, the performance of the pool PL is improved by adding the capacity of the cache area of the pool and / or adding a new pool volume PLVOL to the pool PL. Therefore, according to the present storage device 3, it is possible to easily perform the optimum performance improvement according to the status of the pool PL.
(6)他の実施の形態
 なお上述の実施の形態においては、本発明を図1のように構成されたストレージ装置3に適用するようにした場合について述べたが、本発明はこれに限らず、仮想化機能が搭載されたこの他種々のストレージ装置に広く適用することができる。
(6) Other Embodiments In the above-described embodiments, the case where the present invention is applied to the storage apparatus 3 configured as shown in FIG. 1 has been described. However, the present invention is not limited to this. Therefore, the present invention can be widely applied to various other storage apparatuses equipped with a virtualization function.
 また上述の実施の形態においては、アクセス種別をランダムリード、シーケンシャルリード、ランダムライト及びシーケンシャルライトの4種類に分け、RAIDグループRGごとに、これら4種類のアクセス種別ごとのアクセス頻度及びキャッシュヒット率を取得して、取得したこれらの情報を利用して性能改善を行うようにした場合について述べたが、本発明はこれに限らず、アクセス種別をリード及びライトの2種類に分け、RAIDグループRGごとに、これら2種類のアクセス種別ごとのアクセス頻度及びキャッシュヒット率を取得して、取得したこれらの情報を利用して性能改善を行うようにしてもよい。 In the above-described embodiment, the access types are divided into four types of random read, sequential read, random write, and sequential write. For each RAID group RG, the access frequency and cache hit rate for each of these four types of access are set. Although the case where the performance is improved by using the acquired information has been described, the present invention is not limited to this, and the access type is divided into two types, read and write, for each RAID group RG. In addition, the access frequency and cache hit rate for each of these two types of access may be acquired, and performance improvement may be performed using the acquired information.
 さらに上述の実施の形態においては、リード性能やライト性能を改善する方法として、リード性能については、プールPLに割り当てられたキャッシュ領域の容量を追加し及び又はプールPLに新たなプールボリュームPLVOLを追加することにより改善し、ライト性能については、プールPLに新たなプールボリュームPLVOLを追加することにより改善するようにした場合について述べたが、本発明はこれに限らず、キャッシュ領域の容量を追加し及び又はプールPLに新たなプールボリュームPLVOLを追加する以外の方法をさらに加えることで、より最適な性能改善を行い得るようにしてもよい。 Furthermore, in the above-described embodiment, as a method of improving the read performance and the write performance, for the read performance, the capacity of the cache area allocated to the pool PL is added and / or a new pool volume PLVOL is added to the pool PL. As described above, the write performance is improved by adding a new pool volume PLVOL to the pool PL. However, the present invention is not limited to this, and the capacity of the cache area is added. Further, by adding a method other than adding a new pool volume PLVOL to the pool PL, more optimal performance improvement may be performed.
 本発明は、仮想化機能が搭載されたストレージ装置に適用することができる。 The present invention can be applied to a storage apparatus equipped with a virtualization function.
 1……計算機システム、2……ホスト装置、3……ストレージ装置、20……記憶装置、25……プロセッサ、26……ローカルメモリ、27……キャッシュメモリ、30……性能監視プログラム、31……アクセス種別判別プログラム、32……性能改善処理プログラム、33……バッチ改善プログラム、35……RAIDグループ性能情報テーブル、36……RAIDグループ情報管理テーブル、37……プール情報管理テーブル、38……CLPR管理テーブル、39……バッチスケジュール管理テーブル。 DESCRIPTION OF SYMBOLS 1 ... Computer system, 2 ... Host device, 3 ... Storage device, 20 ... Storage device, 25 ... Processor, 26 ... Local memory, 27 ... Cache memory, 30 ... Performance monitoring program, 31 ... ... Access type determination program, 32 ... Performance improvement processing program, 33 ... Batch improvement program, 35 ... RAID group performance information table, 36 ... RAID group information management table, 37 ... Pool information management table, 38 ... CLPR management table, 39... Batch schedule management table.

Claims (12)

  1.  1又は複数の記憶装置から構成される記憶装置群が提供する記憶領域上に1又は複数の論理ボリュームが定義され、1又は複数の前記記憶装置群が提供する1又は複数の前記論理ボリュームによりプールが形成され、仮想ボリュームをホスト装置に提供し、前記ホスト装置から前記仮想ボリュームへのデータのライト要求に応じて前記仮想ボリュームと対応付けられた前記プールから前記仮想ボリュームに動的に記憶領域を割り当てるストレージ装置において、
     記憶領域が複数の分割領域に論理的に分割され、当該分割領域が前記論理ボリュームに読み書きされるデータを一時的に記憶するキャッシュ領域として対応する前記プールに割り当てられるキャッシュメモリと、
     前記プールごとに、各前記記憶装置群におけるリードアクセス時にリード対象のデータが当該プールに割り当てられた前記キャッシュ領域に格納されている割合であるキャッシュヒット率と、各前記記憶装置群における前記リードアクセス及びライトアクセスの頻度とをそれぞれ取得する性能監視部と、
     前記プールごとに、前記記憶装置群における前記リードアクセス時の前記キャッシュヒット率が所定の第1の閾値以下の場合には、当該記憶装置群が前記論理ボリュームを提供する前記プールに割り当てられた前記キャッシュ領域の容量を追加し、前記リードアクセス又は前記ライトアクセスの頻度が所定の第2の閾値を超えている場合には、当該プールに新たな前記論理ボリュームを追加する性能改善部と
     を備えることを特徴とするストレージ装置。
    One or a plurality of logical volumes are defined on a storage area provided by a storage device group composed of one or a plurality of storage devices, and pooled by one or a plurality of logical volumes provided by one or a plurality of the storage device groups The virtual volume is provided to the host device, and a storage area is dynamically allocated from the pool associated with the virtual volume to the virtual volume in response to a data write request from the host device to the virtual volume. In the storage device to be allocated,
    A cache memory allocated to the corresponding pool as a cache area in which the storage area is logically divided into a plurality of divided areas, and the divided areas temporarily store data read and written to the logical volume;
    For each of the pools, a cache hit rate that is a ratio in which data to be read is stored in the cache area allocated to the pool at the time of read access in each storage device group, and the read access in each storage device group And a performance monitoring unit for acquiring the write access frequency, and
    For each pool, when the cache hit rate at the time of the read access in the storage device group is equal to or less than a predetermined first threshold, the storage device group is assigned to the pool that provides the logical volume. A performance improvement unit for adding a capacity of a cache area and adding a new logical volume to the pool when the frequency of the read access or the write access exceeds a predetermined second threshold. A storage device.
  2.  前記性能改善部は、
     対象とする前記プールに対して、当該プールに前記論理ボリュームを提供していない前記記憶装置群が提供する前記論理ボリュームを追加し、対象とする前記プールを構成する前記論理ボリュームに格納されているデータの一部を当該追加した前記論理ボリュームに移動させる
     ことを特徴とする請求項1に記載のストレージ装置。
    The performance improvement unit is
    The logical volume provided by the storage device group that does not provide the logical volume to the pool is added to the target pool, and is stored in the logical volume constituting the target pool. The storage apparatus according to claim 1, wherein a part of data is moved to the added logical volume.
  3.  前記性能改善部は、
     対象とする前記プールに追加可能な前記論理ボリュームが存在しない場合に、対象とする前記プール以外のプールに提供されている前記論理ボリュームを当該プールから削除して、当該論理ボリュームを対象とする前記プールに再割当てする
     ことを特徴とする請求項2に記載のストレージ装置。
    The performance improvement unit is
    When the logical volume that can be added to the target pool does not exist, the logical volume provided to a pool other than the target pool is deleted from the pool, and the logical volume is targeted The storage apparatus according to claim 2, wherein the storage apparatus is reallocated to a pool.
  4.  前記性能監視部は、
     前記プールに追加の前記キャッシュ領域が割り当てられており、当該キャッシュ領域に一時的に格納されているデータのうちの前記記憶装置群への書込みを待っているデータの割合が所定の第3の閾値以下である場合に、前記キャッシュ領域に格納されているデータのうち、追加された前記キャッシュ領域の容量分のデータを古い順に消去し、前記プールに追加された前記キャッシュ領域に格納されているデータであって、前記記憶領域群に書き込まれていないデータを前記プールに元々割り当てられている前記キャッシュ領域に移動させた後に、当該プールに追加された前記キャッシュ領域を開放する
     ことを特徴とする請求項3に記載のストレージ装置。
    The performance monitoring unit
    The additional cache area is allocated to the pool, and the ratio of data waiting to be written to the storage device group out of data temporarily stored in the cache area is a predetermined third threshold value. Data stored in the cache area that has been added to the pool is erased in order from the oldest data among the data stored in the cache area when the following is true: The cache area added to the pool is released after data not written in the storage area group is moved to the cache area originally assigned to the pool. Item 4. The storage device according to Item 3.
  5.  前記ホスト装置によるバッチ処理が予定時間内に終了しなかった場合に、次回の当該バッチ処理の実行前に、前記性能改善部が、当該バッチ処理で使用する前記プールに割り当てる前記キャッシュ領域の容量を追加し、又は、当該プールに新たな前記論理ボリュームを追加するよう設定するバッチ改善部をさらに備える
     ことを特徴とする請求項1に記載のストレージ装置。
    If the batch processing by the host device does not end within the scheduled time, before the next execution of the batch processing, the performance improving unit allocates the capacity of the cache area allocated to the pool used in the batch processing. The storage apparatus according to claim 1, further comprising a batch improvement unit configured to add or set to add the new logical volume to the pool.
  6.  前記バッチ改善部は、
     前記バッチ処理で使用する前記プールに割り当てる前記キャッシュ領域の容量を追加した場合に、当該バッチ処理の終了後に追加した容量の前記キャッシュ領域を開放し、
     当該バッチ処理が前記予定時間内に終了したか否かに基づいて、次回の前記バッチ処理時に当該バッチ処理で使用する前記プールに前記キャッシュ領域を追加する場合の追加分の前記キャッシュ領域の容量を設定する
     ことを特徴とする請求項5に記載のストレージ装置。
    The batch improvement unit
    When the capacity of the cache area allocated to the pool used in the batch process is added, the cache area of the added capacity is released after the end of the batch process,
    Based on whether or not the batch process is completed within the scheduled time, the capacity of the cache area for the addition when the cache area is added to the pool used in the batch process at the time of the next batch process. The storage device according to claim 5, wherein the storage device is set.
  7.  1又は複数の記憶装置から構成される記憶装置群が提供する記憶領域上に1又は複数の論理ボリュームが定義され、1又は複数の前記記憶装置群が提供する1又は複数の前記論理ボリュームによりプールが形成され、仮想ボリュームをホスト装置に提供し、前記ホスト装置から前記仮想ボリュームへのデータのライト要求に応じて前記仮想ボリュームと対応付けられた前記プールから前記仮想ボリュームに動的に記憶領域を割り当てるストレージ装置の制御方法において、
     前記ストレージ装置は、
     記憶領域が複数の領域に論理的に分割され、当該領域が前記論理ボリュームに読み書きされるデータを一時的に記憶するキャッシュ領域として対応する前記プールに割り当てられるキャッシュメモリを有し、
     前記ストレージ装置が、前記プールごとに、各前記記憶装置群におけるリードアクセス時にリード対象のデータが当該プールに割り当てられた前記キャッシュ領域に格納されている割合であるキャッシュヒット率と、各前記記憶装置群における前記リードアクセス及びライトアクセスの頻度とをそれぞれ取得する第1のステップと、
     前記ストレージ装置が、前記プールごとに、前記記憶装置群における前記リードアクセス時の前記キャッシュヒット率が所定の第1の閾値以下の場合には、当該記憶装置群が前記論理ボリュームを提供する前記プールに割り当てられた前記キャッシュ領域の容量を追加し、前記リードアクセス又は前記ライトアクセスの頻度が所定の第2の閾値を超えている場合には、当該プールに新たな前記論理ボリュームを追加する第2のステップと
     を備えることを特徴とするストレージ装置の制御方法。
    One or a plurality of logical volumes are defined on a storage area provided by a storage device group composed of one or a plurality of storage devices, and pooled by one or a plurality of logical volumes provided by one or a plurality of the storage device groups The virtual volume is provided to the host device, and a storage area is dynamically allocated from the pool associated with the virtual volume to the virtual volume in response to a data write request from the host device to the virtual volume. In the storage device control method to be allocated,
    The storage device
    The storage area is logically divided into a plurality of areas, and the area has a cache memory allocated to the corresponding pool as a cache area for temporarily storing data read from and written to the logical volume,
    The storage device, for each pool, a cache hit rate that is a ratio in which the read target data is stored in the cache area allocated to the pool at the time of read access in each storage device group, and each of the storage devices A first step of obtaining the frequency of said read access and write access in a group respectively;
    When the cache hit rate at the time of the read access in the storage device group is less than or equal to a predetermined first threshold for each pool, the storage device group provides the logical volume for the storage device group. The capacity of the cache area allocated to the second is added, and when the frequency of the read access or the write access exceeds a predetermined second threshold, a new logical volume is added to the pool. And a storage apparatus control method comprising the steps of:
  8.  前記第2のステップにおいて、前記ストレージ装置は、
     対象とする前記プールに対して、当該プールに前記論理ボリュームを提供していない前記記憶装置群が提供する前記論理ボリュームを追加し、対象とする前記プールを構成する前記論理ボリュームに格納されているデータの一部を当該追加した前記論理ボリュームに移動させる
     ことを特徴とする請求項7に記載のストレージ装置の制御方法。
    In the second step, the storage device
    The logical volume provided by the storage device group that does not provide the logical volume to the pool is added to the target pool, and is stored in the logical volume constituting the target pool. The storage apparatus control method according to claim 7, wherein a part of data is moved to the added logical volume.
  9.  前記第2のステップにおいて、前記ストレージ装置は、
     対象とする前記プールに追加可能な前記論理ボリュームが存在しない場合に、対象とする前記プール以外のプールに提供している前記論理ボリュームを当該プールから削除して、当該論理ボリュームを対象とする前記プールに再割当てする
     ことを特徴とする請求項8に記載のストレージ装置の制御方法。
    In the second step, the storage device
    When the logical volume that can be added to the target pool does not exist, the logical volume provided to a pool other than the target pool is deleted from the pool, and the logical volume is targeted The storage apparatus control method according to claim 8, wherein the storage apparatus is reallocated to a pool.
  10.  前記プールに追加の前記キャッシュ領域を割り当てており、当該キャッシュ領域に一時的に格納されているデータのうちの前記記憶装置群への書込みを待っているデータの割合が所定の第3の閾値以下である場合に、前記キャッシュ領域に格納されているデータのうち、追加された前記キャッシュ領域の容量分のデータを古い順に消去し、前記プールに追加された前記キャッシュ領域に格納されているデータであって、前記記憶領域群に書き込まれていないデータを前記プールに元々割り当てている前記キャッシュ領域に移動させた後に、当該プールに追加された前記キャッシュ領域を開放する第3のステップを備える
     ことを特徴とする請求項9に記載のストレージ装置の制御方法。
    The additional cache area is allocated to the pool, and the ratio of data waiting to be written to the storage device group out of data temporarily stored in the cache area is equal to or less than a predetermined third threshold value In this case, the data stored in the cache area is erased in order of the capacity of the added cache area, and the data stored in the cache area added to the pool A third step of releasing the cache area added to the pool after moving data that has not been written to the storage area group to the cache area originally assigned to the pool. The method for controlling a storage apparatus according to claim 9, wherein:
  11.  前記第2のステップにおいて、前記ストレージ装置は、
     前記ホスト装置によるバッチ処理が予定時間内に終了しなかった場合に、次回の当該バッチ処理の実行前に、当該バッチ処理で使用する前記プールに割り当てる前記キャッシュ領域の容量を追加し、又は、当該プールに新たな前記論理ボリュームを追加するよう設定する
     ことを特徴とする請求項7に記載のストレージ装置の制御方法。
    In the second step, the storage device
    If the batch processing by the host device does not end within the scheduled time, before the next execution of the batch processing, add the capacity of the cache area to be allocated to the pool used in the batch processing, or The storage apparatus control method according to claim 7, wherein a setting is made to add a new logical volume to the pool.
  12.  前記ストレージ装置は、
     前記バッチ処理で使用する前記プールに割り当てる前記キャッシュ領域の容量を追加した場合に、当該バッチ処理の終了後に追加した容量の前記キャッシュ領域を開放し、
     当該バッチ処理が前記予定時間内に終了したか否かに基づいて、次回の前記バッチ処理時に当該バッチ処理で使用する前記プールに前記キャッシュ領域を追加する場合の追加分の前記キャッシュ領域の容量を設定する
     ことを特徴とする請求項11に記載のストレージ装置の制御方法。
    The storage device
    When the capacity of the cache area allocated to the pool used in the batch process is added, the cache area of the added capacity is released after the end of the batch process,
    Based on whether or not the batch process is completed within the scheduled time, the capacity of the cache area for the addition when the cache area is added to the pool used in the batch process at the time of the next batch process. The storage apparatus control method according to claim 11, wherein the storage apparatus control method is set.
PCT/JP2016/075734 2016-09-01 2016-09-01 Storage unit and control method therefor WO2018042608A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/075734 WO2018042608A1 (en) 2016-09-01 2016-09-01 Storage unit and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/075734 WO2018042608A1 (en) 2016-09-01 2016-09-01 Storage unit and control method therefor

Publications (1)

Publication Number Publication Date
WO2018042608A1 true WO2018042608A1 (en) 2018-03-08

Family

ID=61300449

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/075734 WO2018042608A1 (en) 2016-09-01 2016-09-01 Storage unit and control method therefor

Country Status (1)

Country Link
WO (1) WO2018042608A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217575A (en) * 2007-03-06 2008-09-18 Nec Corp Storage device and configuration optimization method thereof
WO2012081089A1 (en) * 2010-12-15 2012-06-21 株式会社日立製作所 Management device and management method of computer system
JP2015517697A (en) * 2012-05-23 2015-06-22 株式会社日立製作所 Storage system and storage control method using storage area based on secondary storage as cache area
WO2016075779A1 (en) * 2014-11-12 2016-05-19 株式会社日立製作所 Computer system and storage device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217575A (en) * 2007-03-06 2008-09-18 Nec Corp Storage device and configuration optimization method thereof
WO2012081089A1 (en) * 2010-12-15 2012-06-21 株式会社日立製作所 Management device and management method of computer system
JP2015517697A (en) * 2012-05-23 2015-06-22 株式会社日立製作所 Storage system and storage control method using storage area based on secondary storage as cache area
WO2016075779A1 (en) * 2014-11-12 2016-05-19 株式会社日立製作所 Computer system and storage device

Similar Documents

Publication Publication Date Title
US8296533B2 (en) Method and system for deleting low-load allocated virtual server resources
JP5070315B2 (en) Storage device and data hierarchy management method in storage device
JP5439581B2 (en) Storage system, storage apparatus, and storage system optimization method for storage system
WO2014057521A1 (en) Storage apparatus and data management method
JP5238235B2 (en) Management apparatus and management method
US9292218B2 (en) Method and apparatus to manage object based tier
US8918613B2 (en) Storage apparatus and data management method for storage area allocation based on access frequency
JP5323989B2 (en) Storage apparatus and data management method
JP5706531B2 (en) Computer system and information management method
US8677093B2 (en) Method and apparatus to manage tier information
CN107092442B (en) Storage system resource allocation method and device
EP1986091A2 (en) Management device and management method
US20150081964A1 (en) Management apparatus and management method of computing system
CN102185929A (en) Storage area network (SAN)-resource-based video monitoring data storage method and device
WO2014083620A1 (en) Storage device and hierarchical control method
JP2009230367A (en) Information processor and information processing method
US20080109630A1 (en) Storage system, storage unit, and storage management system
WO2011135622A1 (en) Storage device and method of controlling storage system
US9324099B2 (en) Dynamically allocating resources between computer partitions
WO2018042608A1 (en) Storage unit and control method therefor
US8468303B2 (en) Method and apparatus to allocate area to virtual volume based on object access type
US10007434B1 (en) Proactive release of high performance data storage resources when exceeding a service level objective
JP6035363B2 (en) Management computer, computer system, and management method
JP6013609B2 (en) Storage apparatus and data input / output method
JP4064033B2 (en) Data backup device and program storage medium using a plurality of recording media

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: 16915168

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: 16915168

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP