WO2011092738A1 - 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法 - Google Patents

性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法 Download PDF

Info

Publication number
WO2011092738A1
WO2011092738A1 PCT/JP2010/000511 JP2010000511W WO2011092738A1 WO 2011092738 A1 WO2011092738 A1 WO 2011092738A1 JP 2010000511 W JP2010000511 W JP 2010000511W WO 2011092738 A1 WO2011092738 A1 WO 2011092738A1
Authority
WO
WIPO (PCT)
Prior art keywords
pool
virtual
virtual volume
performance
access
Prior art date
Application number
PCT/JP2010/000511
Other languages
English (en)
French (fr)
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 US12/742,502 priority Critical patent/US8543778B2/en
Priority to PCT/JP2010/000511 priority patent/WO2011092738A1/ja
Priority to JP2011551580A priority patent/JP5314772B2/ja
Publication of WO2011092738A1 publication Critical patent/WO2011092738A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Definitions

  • the present invention relates to storage system management.
  • a storage system is composed of one or more storage devices, and a device to which a thin provisioning technology is applied is known as a storage device (for example, Patent Document 1).
  • a virtual volume (hereinafter referred to as dynamic provisioning) that is a virtual logical volume is provided to the host computer.
  • VVOL is a set of a plurality of virtual areas (virtual storage areas).
  • a real area (substantial storage area, hereinafter referred to as “page”) is allocated from the pool to the write destination virtual area.
  • the pool is a storage area composed of a plurality of pages.
  • the pool is composed of multiple logical volumes, for example. Each logical volume is divided into a plurality of pages, and therefore the pool is composed of pages.
  • a logical volume may be based on one or more physical storage devices (for example, a RAID (Redundant Array Of Disk) group), or may be based on a logical volume of another storage device. May be.
  • the performance (for example, response time) of a logical volume depends on the performance of one or more physical storage devices that are the basis of the logical volume.
  • the performance of one or more physical storage devices depends on, for example, the type of physical storage device, the RAID level of the RAID group, and the like.
  • VVOL virtual area group accessible from the first access source
  • second part of the VVOL is accessed from the second access source. It may be considered as a possible virtual region group.
  • an object of the present invention is to suppress over-provisioning while satisfying the required performance related to access from the access source.
  • the storage system has a plurality of virtual volumes (hereinafter referred to as VVOL), a plurality of pools, and a controller.
  • VVOL virtual logical volume composed of a plurality of virtual areas.
  • Each pool is a storage area composed of a plurality of real area groups having different performances.
  • the controller receives an access command from the access source, and accesses the real area assigned to the virtual area specified from the access command.
  • the controller manages pool status information which is information indicating which real area is allocated to which virtual area and the access load related to the virtual area.
  • the management system of the storage system has management information indicating the required performance and performance for each VVOL.
  • the VVOL performance is the performance specified based on the pool status information.
  • a management system identifies a VVOL whose status is inappropriate based on management information, and is associated with the identified VVOL in order to change the status of the specified VVOL from an inappropriate status to an appropriate status Perform migration related to the pool.
  • the VVOL performance and the real area group performance include, for example, access-related performance.
  • the performance related to access for example, the response time, which is the length of time from when a command for accessing data is input until the response to the command is output, or the amount of data input / output per unit time There is.
  • the access load is a load related to access, for example, an access frequency (the number of accesses performed per unit time) or a data transfer rate (amount of data transferred per unit time).
  • the “access load related to the virtual area” may be the access load of the virtual area or the access load of the real area allocated to the virtual area.
  • the access is, for example, writing and / or reading.
  • the management system may be one or more computers existing outside the storage system, may be integrated with the controller, may be integrated with the host device, It may be realized by a combination of a storage system and a device existing outside the storage system.
  • the storage system may be composed of one storage device or a plurality of storage devices.
  • Example 1 shows a computer system related to Example 1 of the present invention.
  • the access source in the computer system is a virtual computer
  • the relationship between the volume recognized by the virtual computer and the file system recognized by the hypervisor managing the virtual computer is shown.
  • the configurations of the host apparatus 101, the management computer 201, and the storage apparatus 203 are shown.
  • stored in the memory 243 in the controller 251 are shown.
  • a page state management table 402 is shown.
  • a pool management table 403 is shown.
  • a VOL management table 404 is shown.
  • a media status management table 405 is shown.
  • stored in the storage resource 211 in the management computer 201 are shown.
  • a VVOL management table 5040 is shown.
  • a hierarchy definition table 5050 is shown.
  • the flow of a 1st state management process is shown.
  • the flow of a 2nd state management process is shown.
  • a flow of processing performed by the performance management program 5020 that has received the alert 1 is shown.
  • the flow of the process of S1202 of FIG. 14 is shown.
  • the flow of the process of S1203 of FIG. 14 is shown.
  • the flow of processing performed by the performance management program 5020 that has received the alert 2 is shown.
  • 9 shows programs and information stored in a memory 2500 in the management computer 2000 according to the second embodiment.
  • An example of a page IOPS distribution history table 2640 is shown.
  • An example of the additional pattern holding table 2650 is shown.
  • 10 shows a VVOL management table 2004 according to the second embodiment.
  • the flow of the rebalance process which the performance management program 5020 which concerns on Example 3 performs is shown.
  • the access distribution of VVOL1 to VVOL4 is shown. It is a graph of the access distribution of FIG. 10 shows a VVOL management table 2701 according to the fourth embodiment.
  • xxx table various types of information may be described using the expression “xxx table”, but the various types of information may be expressed using a data structure other than a table. In order to show that it does not depend on the data structure, the “xxx table” can be called “xxx information”.
  • the process may be described with “program” as the subject.
  • the program is executed by a processor (for example, CPU (Central Processing Unit)), so that the determined processing is appropriately performed. Since the processing is performed using a storage resource (for example, a memory) and a communication control device (for example, a communication port), the subject of processing may be a processor. Further, the processing described with the program as the subject may be processing performed by the management system. Further, part or all of the program may be realized by dedicated hardware. For this reason, the processing described with the program as the subject may be processing performed by the controller.
  • the controller may include a processor and a storage resource that stores a computer program executed by the processor, or may include the dedicated hardware described above. Further, the computer program may be installed in each computer from a program source.
  • the program source may be, for example, a program distribution server or a storage medium.
  • the management system may be composed of one or more computers.
  • the management computer displays information, or when the management computer transmits display information to a remote computer
  • the management computer is a management system.
  • the plurality of computers in the case where the display computer performs display, the display computer may be included
  • the management system is the management system.
  • FIG. 1 shows a computer system related to Example 1 of the present invention.
  • a host apparatus 101 and a management computer 201 are connected to the storage system 103.
  • the storage system 103 is composed of one or more storage devices. At least one of the one or more storage devices is a device to which the thin provisioning technology is applied.
  • the storage system 103 has a plurality of media groups having different performances.
  • a media group is a set of one or more media.
  • “Media” in this embodiment is a logical volume.
  • three media groups specifically, SSD media group 109A, SAS (Serial Attached SCSI) media group 109B, and SATA (Serial ATA (Advanced Technology Attachment)) media group 109C.
  • the SSD media group 109A is composed of SSD media (logical volumes based on SSD)
  • the SAS media group 109B is composed of SAS media (logical volumes based on SAS-HDD (Hard Disk Disk Drive)), and SATA.
  • the media group 109C is composed of SATA media (logical volumes based on SATA-HDD). At least one of these three media groups may be a different type of media group, and the number of media groups may be two or more.
  • the SAS media group 109B may be divided into a media group based on SAS 10K rpm (SAS having a rotation speed of 10,000 rotations / minute) and a media group based on SAS 15K rpm (SAS having a rotation speed of 15,000 rotations / minute). Further, there may be a media group (external media group) provided from a storage device different from the storage device having the pool 107.
  • the storage system 103 has a plurality of pools 107.
  • Each pool 107 is composed of a plurality of media having different performances.
  • each pool 107 includes one or more SSD media in the SSD media group 109A, one or more SAS media in the SAS media group 109B, and one or more in the SATA media group 109C. It consists of SATA media.
  • Each medium is divided into a plurality of pages. For this reason, each pool 107 is composed of an SSD page group, a SAS page group, and a SATA page group.
  • one pool 107 has a plurality of hierarchies.
  • One layer is composed of one or more media having the same performance.
  • Each hierarchy has an access frequency range (access frequency range).
  • the access frequency is the number of accesses per unit time, and is represented by IOPS, for example.
  • IOPS is IO ⁇ per second, that is, the number of accesses (I / O (Input / Output)) performed per second.
  • the storage system 103 has a plurality of VVOLs 105.
  • One VVOL 105 is provided to any one of the plurality of host devices 101.
  • the VVOL 105 and the host apparatus 101 are in a one-to-one correspondence.
  • the VVOL 105 is a virtual logical volume and is composed of a plurality of virtual areas (virtual storage areas).
  • the virtual area is, for example, an address (for example, LBA (Logical Block Address)).
  • the host device 101 is an example of an access source.
  • the host device 101 accesses the provided VVOL 105.
  • the host device 101 transmits an access command having access destination information to the storage system 103.
  • the access destination information is information indicating an access destination, and includes, for example, an ID of the VVOL 105 (for example, LUN (Logical Unit Number)) and a virtual area ID (for example, LBA).
  • the host device 101 is a computer.
  • the host device 101 may be another type of device, for example, a storage device external to the storage system (for example, a remote copy copy source storage device) or a virtual computer.
  • a plurality of virtual computers may be executed by a physical host computer (typically a server machine), and the plurality of virtual computers may be managed by a hypervisor (not shown) executed by the host computer.
  • a hypervisor not shown executed by the host computer.
  • each virtual machine (VM) 101 ′ recognizes a logical device (VOL) 302 associated with the provided VVOL (that is, the virtual machine 101 ′ has a VVOL). Recognize).
  • the hypervisor recognizes the plurality of logical devices 302 recognized by the plurality of virtual machines 101 ′ as a plurality of files, and the plurality of logical devices 302 are managed by the file system 311.
  • SLO Service Level Objective
  • SLO Service Level Objective
  • the management computer 201 is a computer that manages the storage system 103.
  • the management computer 201 collects various information from the storage system 103 and controls the arrangement of data in the plurality of pools 107 based on the collected information.
  • the functions of the management computer 201 may be provided in the storage system or the host device 101. In this case, the management computer 201 may not be provided.
  • FIG. 3 shows the configuration of one host device 101 among a plurality of host devices 101, the configuration of the management computer 201, and the configuration of one storage device 203 among one or more storage devices constituting the storage system 103. Indicates.
  • the management computer 201 and the host device 101 are connected to the storage device 203 via a first communication network (for example, a LAN (Local Area Network) 231).
  • the storage device 203 is connected to the host device 101 via a second communication network (for example, SAN (Storage Area Network) 232.
  • the first and second communication networks 231 and 232 may be integrated. .
  • the storage apparatus 203 has a physical storage device group and a controller 251 connected to the physical storage device group.
  • the physical storage device group is one or more physical storage devices.
  • the physical storage device group includes an SSD group 309A, a SAS group 309B, and a SATA group 309C.
  • the SSD group 309A is one or more SSDs
  • the SAS group 309B is one or more SAS-HDDs
  • the SATA group 309C is one or more SATA-HDDs.
  • the physical storage device group includes a plurality of physical storage devices having different performances.
  • the controller 251 includes a management I / F (shown as MI / F in the figure) 241, a communication I / F 242 (shown as CI / F in the figure) 242, and a device I / F (shown in the figure). (DI / F) 245, a memory 243, and a processor 244 connected to these elements.
  • MI / F shown as MI / F in the figure
  • CI / F shown as CI / F in the figure
  • DI / F device I / F
  • the management I / F 241 is a communication interface device (for example, NIC (Network Interface Card)) for communication using the first protocol.
  • NIC Network Interface Card
  • the communication I / F 242 is a communication interface device for communicating with the second protocol.
  • the device I / F 245 is a communication interface device for communicating with the physical storage device using the third protocol. There may be a device I / F 245 for each type of physical storage device. Access to the physical storage device is performed through the device I / F 245.
  • the memory 243 stores a computer program executed by the processor 244 and various information.
  • the memory 243 has a cache memory area.
  • the cache memory area is read from the page (specifically, the physical storage device that is the basis of the page) in response to the data according to the write command received from the host apparatus 101 or the read command received from the host apparatus 101.
  • the issued data is temporarily stored.
  • the write target data in the cache memory area is stored in the physical storage device that is the basis of the page assigned to the write destination virtual area. Data to be read in the cache memory area is provided to the host device 101.
  • the host apparatus 101 includes a management I / F (for example, NIC) 224, a communication I / F (for example, HBA (Host Bus Adapter)) 226, a storage resource 221, and a processor 222 connected thereto.
  • the storage resource 221 is, for example, a memory (may include an auxiliary storage device such as a hard disk drive).
  • the storage resource 221 stores, for example, an application program (for example, a business program) and an OS (Operating System), and the processor 222 executes the application program and the OS.
  • the management computer 201 includes a management I / F (for example, NIC) 214, a storage resource 211, and a processor 212 connected to them.
  • the storage resource 211 is, for example, a memory (may include an auxiliary storage device such as a hard disk drive).
  • the storage resource 211 stores computer programs and various information. The computer program is executed by the processor 212.
  • What kind of communication interface device is the management I / F or communication I / F described above depends on, for example, the type of network to which the I / F is connected and the type of apparatus having the I / F.
  • FIG. 4 shows programs and information stored in the memory 243 in the controller 251.
  • the pool management program 401 is stored as a program. As information, a page status management table 402, a pool management table 403, a VOL management table 404, and a media status management table 405 are stored.
  • FIG. 5 shows the page state management table 402.
  • the page state management table 402 represents the state for each page. Specifically, for example, the table 402 has the following information for each page.
  • Pool ID 501 ID of the pool having the page
  • Page ID 502 Page ID
  • VVOL ID 503 ID of a VVOL having a virtual area to which a page is allocated. “N / A” means that the page is not assigned to any virtual area (Not Assigned).
  • Recent access time 504 Information indicating the time when the page was recently accessed
  • * Access frequency 505 frequency of access to the page.
  • the recent access time 504 may be distinguished from the latest write time for the page and the latest read time from the page.
  • the access frequency 505 may be classified into a write frequency and a read frequency.
  • the access frequency 505 is updated when the page is accessed, and is not updated when the access command is received but the page is not accessed.
  • FIG. 6 shows the pool management table 403.
  • the pool management table 403 represents the correspondence between each page constituting the pool and the virtual area. Specifically, for example, the table 403 has the following information for each page.
  • Pool ID 601 ID of the pool having the page
  • Page ID 602 Page ID
  • Media ID 603 ID of the media having the page
  • Media LBA 604 The position of the page in the media (the LBA at the beginning of the page and the LBA at the end of the page)
  • VVOL ID 605 ID of the VVOL to which the page is allocated. “N / A” means that the page is not assigned to any virtual area (Not Assigned).
  • * VVOL LBA 606 The position in the VVOL of the virtual area to which the page is allocated (the LBA at the beginning of the virtual area and the LBA at the end of the virtual area).
  • FIG. 7 shows the VOL management table 404.
  • the VOL management table 404 has information related to the volume that the storage apparatus has. Specifically, for example, the table 404 has the following information for each volume.
  • VOL ID 701 VVOL ID or media ID
  • Capacity 702 VVOL storage capacity or media storage capacity
  • Type 703 Is the volume a VVOL or media? If the volume is media, type 703 represents the type of media (SSD, SAS, SATA),
  • Pool ID 704 Information in which a valid value is set when the volume is a VVOL, and is an ID of a pool associated with the VVOL.
  • FIG. 8 shows the media state management table 405.
  • the media status management table 405 includes information regarding the media status. Specifically, for example, the table 405 has the following information for each medium.
  • Pool ID 801 ID of the pool having the media
  • Hierarchy type 803 Information indicating the type of hierarchy to which the media belongs
  • Access frequency limit 804 Upper limit value of media access frequency
  • * Access frequency 805 Access frequency of media.
  • mapping management table (not shown) that shows which pages are allocated for each virtual area may be prepared. Whether or not a page is allocated to the virtual area may be determined based on the mapping management table.
  • the pool management program 401 performs, for example, the following processing based on the tables 402 to 405 described above.
  • the program 401 performs a write process including the following processes (a1) to (a9).
  • the program 401 receives a write command from the host device 101.
  • the program 401 specifies the write destination VVOL and the write destination virtual area based on the access destination information included in the write command.
  • the program 401 stores the write target data according to the write command in the cache memory area.
  • the program 401 may respond to the write completion to the host device 101 at this stage.
  • the program 401 determines whether a page is allocated to the write destination virtual area specified in (a2) based on the page state management table 402 (or the mapping management table described above).
  • the program 401 If the result of the determination in (a4) above is affirmative, the program 401 writes the write target data in the cache memory area to the page assigned to the write destination virtual area. (A6) If the result of the determination in (a4) above is negative, the program 401 is associated with the write destination VVOL based on the VOL management table 404 and the page status management table 402 or pool management table 403. An unused page (a page not assigned to any virtual area) is specified in a pool. Here, the program 401 may specify an unused page from media belonging to a higher hierarchy as much as possible based on the media status management table 405. (A7) The program 401 associates the page specified in (a6) with the write destination virtual area.
  • the program 401 writes the start LBA and end LBA of the write destination virtual area as the VVOL LBA 606 corresponding to the allocated page in the pool management table 403.
  • the program 401 writes the write target data in the cache memory area to the page specified in the above (a6) (the program 401 may respond to the completion of writing to the host apparatus 101 at this stage).
  • the program 401 updates the latest access time 504 and access frequency 505 of the page to which data is written in the page state management table 402 in the above (a5) or (a8). Accordingly, the program 401 updates the access frequency 805 of the medium having the page in the media state management table 405.
  • the program 401 performs a read process including the following processes (b1) to (b8).
  • the program 401 receives a read command from the host device 101.
  • the program 401 specifies the read source VVOL and the read source virtual area based on the access destination information included in the read command.
  • the program 401 determines whether the read target data remains in the cache memory area.
  • the program 401 transmits the read target data in the cache memory area to the host device 101. In this case, the last access time 504 and the access frequency 505 (and the access frequency 805 of the medium having the page) assigned to the read source virtual area are not updated.
  • the program 401 If the result of the determination in (b3) is negative, the program 401 reads the read source virtual area specified in (b2) based on the page state management table 402 (or the mapping management table described above). Determine whether a page is assigned to. (B6) If the result of the determination in (b5) above is negative, the program 401 transmits predetermined data (for example, an error) to the host device 101. (B7) If the result of the determination in (b5) above is affirmative, the program 401 reads data from the page assigned to the read source virtual area and writes the data to the cache memory area. Then, the program 401 transmits the data in the cache memory area to the host device 101.
  • predetermined data for example, an error
  • the program 401 updates the latest access time 504 and access frequency 505 of the page to which data is written in the page state management table 402 in the above (b6). Accordingly, the program 401 updates the access frequency 805 of the medium having the page in the media state management table 405.
  • the program 401 performs media addition processing including the following processing (c1) to (c3). In addition, after (c3), a later-described (E) rebalance process may be performed.
  • the program 401 gives an ID to the medium to be added.
  • the program 401 divides the addition target medium into pages, and assigns an ID to each page obtained by the division.
  • the program 401 stores information (media ID pool ID, media ID assigned in (c1), page ID assigned in (c2), and the like) on tables 402 to 405. Add to
  • the program 401 performs media deletion processing including the following processing (d1) and (d2).
  • the program 401 executes a rebalancing process for migrating data in all used pages (pages assigned to any virtual area) in the medium to be deleted to another medium.
  • the program 401 deletes information about the medium to be deleted from the tables 402 to 405.
  • the program 401 can perform a rebalance process including the following processes (e1) to (e4).
  • the memory 243 may have a later-described hierarchy definition table included in the management computer 201.
  • This rebalancing process may be performed periodically.
  • This rebalancing process may be applied to the rebalancing process in (d1) above.
  • the program 401 finds a migration source page.
  • the migration source page is a page in which improperly arranged data is stored.
  • the page of the migration source is a page whose page access frequency 505 does not belong to the access frequency range of the hierarchy having the page.
  • the migration source page is a used page in the medium to be deleted in the rebalancing process (d1).
  • the program 401 specifies a hierarchy corresponding to the access frequency range to which the access frequency 505 of the migration source page found in (e1) belongs. (E3) The program 401 specifies an unused page from the hierarchy specified in (e2) above. The unused page specified here is the migration destination page. (E4) The program 401 migrates the data in the migration source page specified in (e1) to the migration destination page specified in (e3). Further, the program 401 allocates a migration destination page instead of the migration source page to the virtual area to which the migration source page is allocated (tables 402 and 403 are updated).
  • the rebalancing process (E) may be performed based on how much time has passed since the most recent access time 504 of each page instead of or in addition to the comparison between the access frequency and the access frequency range.
  • FIG. 9 shows programs and information stored in the storage resource 211 in the management computer 201.
  • VVOL management program 5010 As a program, a VVOL management program 5010, a performance management program 5020, and a state management program 5030 are stored. As information, a VVOL management table 5040 and a hierarchy definition table 5050 are stored.
  • FIG. 10 shows the VVOL management table 5040.
  • the VVOL management table 5040 has information related to the VVOL. Specifically, for example, the table 5040 has the following information for each VVOL.
  • VVOL ID 1001 VVOL ID
  • Subsystem ID 1002 ID of storage device having VVOL
  • Pool ID 1003 Pool ID associated with the VVOL
  • SLO1004 Information indicating SVOL of VVOL
  • Capacity 1005 Information indicating the capacity of the VVOL
  • Used capacity 1006 Information indicating the total storage capacity of the virtual area to which the page is allocated among the virtual areas constituting the VVOL
  • Performance 1007 Information indicating the performance of the VVOL.
  • SLO 1004 is a threshold value to be compared with the performance 1007 or a value based on the threshold value.
  • the performance 1007 is an average response time of VVOL.
  • the “response time” referred to here is, for example, the length of time from when an access command specifying VVOL enters the storage apparatus to when a response is returned to the host apparatus 101.
  • the average response time of VVOL can be calculated by the following equation (1).
  • the unit of access frequency is, for example, IOPS (IO per second).
  • pages 1 to 6 are assigned to the VVOL.
  • “hierarchy to which the page belongs / access speed in the hierarchy / access frequency of the page” is as follows.
  • Page 1 Upper layer (SSD) / 1/100
  • Page 2 Middle hierarchy (SAS) / 10/50
  • Page 3 Middle hierarchy (SAS) / 10/20
  • Page 4 Lower hierarchy (SATA) / 20/10
  • Page 5 Lower hierarchy (SATA) / 20/5
  • Page 6 Lower layer (SATA) / 20/0.
  • the access speed can be understood from the hierarchy definition table 5050 described later.
  • the average response time (performance) obtained in this way is compared with SLO (or a predetermined ratio (for example, 80%) of SLO).
  • SLO 1004 is large / small, and performance 1007 is large / small. This means that the SLO value is large / small and the performance value is large / small.
  • the performance 1007 (and SLO 1004) is, for example, an average response time
  • a large performance 1007 (and SLO 1004) means that the performance (and SLO) is low, and a performance 1007 (and SLO 1004) is small. , Meaning high performance (and SLO).
  • FIG. 11 shows a hierarchy definition table 5050.
  • the hierarchy definition table 5050 represents the definition of the hierarchy. Specifically, for example, the table 5050 has the following information for each layer.
  • Hierarchy type 1101 Information indicating the type of hierarchy
  • Media type 1102 Information indicating the type of media belonging to the hierarchy
  • Speed 1103 Information indicating the speed of access to the hierarchy
  • Maximum access frequency 1104 Maximum value of access frequency corresponding to the hierarchy
  • Cost 1105 Information indicating the cost of media belonging to the hierarchy.
  • the access frequency range of each layer is represented by the maximum access frequency 1104 of each layer.
  • the access frequency range of the upper tier (SSD) is 25000 to 2500 (not including 2500)
  • the access frequency range of the middle tier (SAS) is 2500 to 1250 ( 1250 is not included)
  • the access frequency range of the lower layer (SATA) is 1250-0.
  • an inappropriate VVOL is detected.
  • the following processes (1) to (3) are performed.
  • (1) Media is migrated from other pools to a pool associated with an inappropriate VVOL.
  • the migration source pool is a pool in the storage apparatus having the migration destination pool.
  • (2) Data in all pages allocated to an inappropriate VVOL is migrated from the pool having the page to another pool.
  • inappropriate media is detected.
  • the data is rearranged in the hierarchy having the medium, or the medium is added to the hierarchy having the medium.
  • the VVOL management program 5010 manages the VVOL. For example, the program 5010 receives a VVOL creation instruction from the administrator. At that time, the program 5010 receives the VVOL capacity, SLO, and the like. In response to the VVOL creation instruction, the program 5010 determines a pool to be associated with the VVOL and a storage apparatus having the pool. Then, the program 5010 adds an entry (record) including information according to the determination, the VVOL capacity, and the SLO to the VVOL management table 5040.
  • FIG. 12 shows the flow of the first state management process. This process is performed periodically, for example.
  • the state management program 5030 acquires the page state management table 402 from the storage device (step S1001).
  • the program 5030 updates the VVOL management table 5040 based on the acquired table 402 (S1002). Taking one VVOL as an example, specifically, the following is performed. * The program 5030 writes the total storage capacity of all pages allocated to the VVOL in the column of used capacity 1006 corresponding to the VVOL. * The program 5030 calculates the performance of the VVOL based on how many pages are allocated to the VVOL from the tier and the speed of each tier. The program 5030 writes information representing the calculated performance in the field of the performance 1007 corresponding to the VVOL.
  • the program 5030 determines whether there is an inappropriate VVOL (S1003).
  • An inappropriate VVOL is a VVOL whose performance 1007 does not satisfy SLO 1004.
  • an inappropriate VVOL is a VVOL whose performance 1007 is larger than the product of the SLO 1004 and the coefficient g (for example, a VVOL whose average response time is longer than the product of the SLO 1004 and the coefficient g).
  • the program 5030 outputs alert 1 (S1004).
  • the alert 1 has, for example, the ID of the VVOL determined to be inappropriate in S1003.
  • FIG. 13 shows the flow of the second state management process. This process is performed periodically, for example.
  • the state management program 5030 acquires the media state management table 405 from the storage device (step S1101).
  • the program 5030 determines whether there is an inappropriate medium based on the acquired table 405 (S1102).
  • An inappropriate medium is a medium whose access frequency 805 exceeds the access frequency upper limit 804.
  • the program 5030 outputs alert 2 (S1103).
  • the alert 2 has, for example, the ID of the media determined to be inappropriate in S1102.
  • FIG. 14 shows the flow of processing performed by the performance management program 5020 that has received alert 1 (alert issued in the first state management processing).
  • alert 1 an inappropriate VVOL that caused alert 1
  • alert 1-VVOL a pool associated with alert 1-VVOL
  • the storage device having the alert 1-pool is referred to as “alert 1-storage device”.
  • the performance management program 5020 determines an improvement target (S1201).
  • the improvement target is, for example, that the performance of the alert 1-VVOL is lower than the product of the SLO 1040 of that VVOL and the coefficient g.
  • the alert 1-VVOL is specified from the ID of the VVOL that the alert 1 has, for example.
  • the program 5020 determines whether or not the improvement target determined in S1201 can be achieved by media migration (S1202). If the result of the determination in S1202 is affirmative, the instruction created in S1202 is sent to the alert 1-storage device (S1204).
  • the program 5020 determines whether or not the improvement target determined in S1201 can be achieved by VVOL migration (S1203). If the result of the determination in S1203 is affirmative, the instruction created in S1203 is transmitted to the alert 1-storage device (S1204).
  • S1205 is performed. That is, the program 5020 determines an additional capacity (storage capacity to be added) for achieving the improvement target determined in S1201, and creates an instruction to add the determined additional capacity (hereinafter referred to as a medium addition instruction). .
  • This media addition instruction is transmitted to the alert 1-storage device, and the capacity according to the media addition instruction is added to the pool in the storage device.
  • S1205 specifically, for example, the following processing is performed.
  • the program 5020 calculates, based on the hierarchy definition table 505, how many pages are added to which hierarchy to achieve the improvement target determined in S1201. Here, it is assumed that W1, W2, and W3 are calculated.
  • W1 is the capacity added to the upper hierarchy (SSD), that is, the total storage capacity of the number of pages calculated for the upper hierarchy (SSD).
  • W2 is the capacity added to the middle tier (SAS), that is, the total storage capacity of the number of pages calculated for the middle tier (SAS).
  • W3 is the capacity added to the lower hierarchy (SATA), that is, the total storage capacity of the number of pages calculated for the lower hierarchy (SATA).
  • the program 5020 creates a media addition instruction.
  • the media addition instruction includes the aforementioned W1, W2, and W3 and the alert 1-pool ID. In S1204, this media addition instruction is sent to the alert 1-storage device.
  • the pool management program 401 has one or more SSD media with a total storage capacity of W1 or more, one or more SAS media with a total storage capacity of W2 or more, and one or more SATA with a total storage capacity of W3 or more.
  • the media is added to the pool specified by the media addition instruction.
  • the media added to the pool is, for example, unused media.
  • the addition of media may be manually performed by an administrator instead of being automatically performed as described above.
  • the program 5020 may display the calculated W1, W2, and W3, and the administrator may add capacity to the pool based on the W1 to W3.
  • VVOL migration refers to migrating data in all pages assigned to a VVOL from the alert 1 pool to another pool. In this case, the migration target VVOL is associated with the migration destination pool instead of the alert 1-pool. The VVOL migration may be performed within one storage apparatus or may be performed between storage apparatuses.
  • FIG. 15 shows the flow of processing in S1202 of FIG.
  • X1, X2, and X3 are calculated.
  • X1 is the capacity added to the upper hierarchy (SSD), that is, the total storage capacity of the number of pages calculated for the upper hierarchy (SSD).
  • X2 is the capacity added to the middle tier (SAS), that is, the total storage capacity of the number of pages calculated for the middle tier (SAS).
  • X3 is the capacity to be added to the lower hierarchy (SATA), that is, the total storage capacity of the number of pages calculated for the lower hierarchy (SATA). Note that the page state management table 402 acquired in S1001 of FIG. 12 may be used without acquiring the page state management table 402.
  • the program 5020 determines whether there is a pool other than the alert 1-pool, and the pool in the alert 1-storage apparatus is not selected in S1304 (S1302).
  • the program 5020 selects a pool that has not yet been selected from pools other than Alert 1-Pool (S1304).
  • the performance surplus media amounts of the upper hierarchy, the middle hierarchy, and the lower hierarchy are respectively Q1, Q2, and Q3.
  • the program 5020 determines whether or not Q1> X1, Q2> X2, and Q3> X3 (S1306). If at least one of these is different, the result of this determination is negative, and S1302 is performed again.
  • the program 5020 creates a media migration instruction (S1307).
  • the instruction includes, for example, the following information. * Migration source pool ID, * ID of the migration destination pool (ie Alert 1 -Pool), * For each tier, the ID of one or more media (that is, one or more media to be migrated) having a total storage capacity equal to or greater than the amount of surplus media.
  • the ID of one or more media (one or more media to be migrated) having a total storage capacity equal to or greater than the performance surplus media amount can be specified from the pool management table 403 and the VOL management table 404. Further, for each tier, the media to be migrated is the media with the smallest number of used pages (pages allocated to the virtual area) in that tier. When the media having the used page is the media to be migrated, the alert 1-storage device migrates the data in the used page to the media in the same hierarchy that is not the media to be migrated, and then The media is removed from the migration source pool and added to the migration destination pool.
  • the program 5020 determines whether or not the total amount of performance surplus media calculated so far exceeds the required media amount for each tier (S1303).
  • S1307 described above is performed.
  • the instruction created in S1307 has a plurality of migration source pool IDs.
  • FIG. 16 shows the flow of the processing of S1203 in FIG.
  • the program 5020 determines whether there is a pool not selected in S1401 in the pool other than the alert 1-pool in the storage system 103 (S1401).
  • the program 5020 selects a pool that has not yet been selected from pools other than Alert 1-Pool (S1402).
  • the program 5020 determines whether or not the pool selected in S1402 has a free space equal to or larger than the storage capacity of the alert 1-VVOL (S1403).
  • the storage capacity of the alert 1-VVOL is known from the VVOL management table 5040, and the free capacity of the pool selected in S1402 is known from the page state management table 402.
  • the free capacity is a total storage capacity of one or more unused pages (pages not allocated to the virtual area).
  • the program 5020 synthesizes the alert 1-VVOL distribution with the pool distribution selected in S1402 (S1404).
  • the “distribution” here is an access distribution, specifically, a distribution according to the relationship between the access frequency and the number of pages. More specifically, for example, the access distribution represents the total number of pages corresponding to the access frequency range for each access frequency range.
  • the access frequency range may be the access frequency itself.
  • the program 5020 satisfies the improvement target for Alert 1-VVOL (the target determined in S1201 of FIG. 14) based on the access distribution after the synthesis in S1404, and is associated with the pool selected in S1402. It is determined whether the performance of each VVOL remains below (SLO ⁇ coefficient g) (S1405).
  • the program 5020 creates a VVOL migration instruction (S1406).
  • the instruction includes, for example, the following information. * ID of the VVOL to be migrated (that is, Alert 1-VVOL), * Migration destination storage device ID, * Migration destination pool ID.
  • the VVOL migration instruction created in S1406 is sent to alert 1-storage device.
  • the pool management program 401 performs the following processing for all pages allocated to the migration target VVOL. * The program 401 migrates the data in the page assigned to the migration target VVOL (migration source page) to an unused page (migration destination page) in the migration destination pool in the migration destination storage device. To do. * The program 401 allocates a migration destination page instead of the migration source page to the virtual area to which the migration source page has been allocated.
  • FIG. 17 shows a flow of processing performed by the performance management program 5020 that has received alert 2 (alert issued in the second state management processing).
  • alert 2 an alert issued in the second state management processing
  • the pool having the media that has caused the alert 2 is referred to as “alert 2-pool”
  • the storage device having the alert 2-pool is referred to as “alert 2-storage device”.
  • the program 5020 determines whether the total access frequency exceeds the total access frequency upper limit for each tier in the alert 2-pool. It is determined whether or not (S1501). Specifically, for example, the program 5020 performs the following processing for each layer. * The program 5020 identifies all media belonging to the hierarchy from the table 405. * The program 5020 calculates the sum of the access frequency upper limit 804 and the sum of the access frequencies 805 for all the specified media. * The program 5020 determines whether or not the sum of the access frequencies 805 exceeds the sum of the access frequency upper limit 804.
  • the program 5020 performs S1502 for the hierarchy in which the determination result in S1501 is negative. That is, the program 5020 performs data rearrangement in one hierarchy. For example, data concentrated on the media that caused the alert 2 is distributed in the same hierarchy as the media so that multiple data in one hierarchy are evenly arranged on multiple media belonging to the one hierarchy. Migrated to other media.
  • the program 5020 performs the same processing as S1205 in FIG. 14 for the hierarchy in which the determination result in S1501 is affirmative. Specifically, for example, the program 5020 creates an instruction to add capacity to the tier and transmits the instruction to the alert 2-storage device, or displays the capacity to be added to the tier.
  • Example 2 of the present invention will be described. At that time, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.
  • a VVOL in which a problem actually occurs (a VVOL whose performance 1007 exceeds the product of the SLO 1004 and the coefficient g) is detected as an inappropriate VVOL.
  • a problem actually occurs VVOL that has not occurred but is likely to cause a problem in the future (VVOL whose performance 1007 is likely to exceed the product of SLO 1004 and coefficient g in the future) is detected as an inappropriate VVOL. Then, the data in all pages assigned to the VVOL is migrated from the pool having those pages to another pool. Thereby, possibility that a future problem will arise can be reduced.
  • FIG. 18 illustrates a VVOL management table 2004 according to the second embodiment.
  • This table 2004 has an access distribution 1008 for each VVOL in addition to the information 1001 to 1007 included in the table 5040 shown in FIG.
  • the access distribution 1008 represents the total number of pages corresponding to the access frequency range and the page ratio for each access frequency range.
  • the page ratio is the ratio of the total number of pages corresponding to the access frequency range to the total number of pages allocated to the VVOL.
  • the size of the access frequency range is 250, but the size of the access frequency range may be any integer as long as it is 1 or more, for example.
  • the VVOL management program 5010 can calculate the access distribution 1008 for each VVOL based on the page state management table 402.
  • the performance management program 5020 performs the processing shown in FIG.
  • FIG. 19 shows the flow of rebalance processing performed by the performance management program 5020 according to the second embodiment.
  • the program 5020 determines whether there is an inappropriate VVOL based on the VVOL management table 2004 (S2101).
  • the “inappropriate VVOL” referred to here is a VVOL having a relatively high performance 1007 (average response time) although the SLO 1004 is relatively small. For example, if the following three VVOLs are associated with one pool, the VVOL 11 is detected as an inappropriate VVOL although the performance 1007 does not exceed the product of the SLO 1004 and the coefficient g. This is because the VVOL 11 SLO is smaller than the VVOL 13 SLO, but the VVOL 11 performance is higher than the VVOL 13 performance.
  • the difference is not more than a predetermined threshold (a value greater than 0).
  • a predetermined threshold a value greater than 0
  • the first VVOL may not be detected as an inappropriate VVOL.
  • the VVOL 11 is not detected as an inappropriate VVOL. This is because the difference between the performance of VVOL11 and the performance of VVOL13 is 1.9, which is the threshold value of 2.0 or less.
  • Inappropriate VVOL detection may be determined based on history information for each VVOL.
  • An example of the history information is shown in FIG.
  • the history information 2001 is, for example, information indicating how many pages are allocated from which tier at which time point to the VVOL.
  • the history information 2001 includes information indicating the number of used pages for each layer (hereinafter referred to as tabulated information for each layer) 2002 that is tabulated based on the number of used pages for each layer at a plurality of times.
  • the VVOL performance 1007 may be corrected based on the history information 2001 (for example, the total information 2002 for each layer), and the performance difference between the VVOLs may be calculated using the corrected performance 1007 of each VVOL.
  • the history information 2001 may be updated by the VVOL management program 5010 based on the pool management table 403, for example.
  • the history information 2001 may include information 2003 indicating a weighting coefficient for each time point (according to FIG. 20, the weighting coefficient is larger at a time point closer to the present time).
  • the VVOL performance 1007 may be corrected using the weighting coefficient at each time point in addition to the number of pages for each layer at each time point.
  • S2101 If the result of the determination in S2101 is negative, after waiting for a certain time (S2102), S2101 is performed again.
  • the program 5020 is a pool other than the pool associated with the inappropriate VVOL (pool in the storage system 103) where S2105 is not performed (unprocessed pool) It is determined whether or not there is (S2103).
  • the program 5020 issues an alert (S2104). This is because, as will be understood from the description below, an appropriate migration destination pool could not be found despite an inappropriate VVOL. Instead of S2104, the program 5020 may cause the storage apparatus to create a new pool, and S2105 may be performed for the new pool. After S2104, S2102 is performed.
  • the program 5020 selects one unprocessed pool and determines whether or not the selected pool has a free capacity that is equal to or greater than the inappropriate VVOL storage capacity. (S2105). If the result of the determination in S2105 is negative, S2103 is performed again.
  • the program 5020 assumes that all pages allocated to the inappropriate VVOL have been migrated to the pool selected in S2105 (the migration destination)
  • the performance 1007 of each VVOL associated with the pool candidate) is predicted (S2106). Specifically, in S2106, for example, the following processing is performed.
  • the program 5020 prepares the VVOL migration verification table 2101 shown in FIG. 21 in the storage resource 211 in the management computer 201.
  • the table 2101 has the following information for each VVOL associated with the migration destination pool candidate and an inappropriate VVOL (VVOLX).
  • the program 5020 calculates the total number of used pages for each access frequency range based on all the access distributions 2112 registered in the table 2101.
  • the VVOL ID 2111 registered in the table 2101 is four (VVOL1, VVOL2, VVOL3, VVOLX) and the access frequency range “500-749” is 3000, 2000, 2000, 1500
  • the program 5020 allocates a page group for each tier in the migration destination pool candidate according to the total number of used pages for each access frequency range. At that time, it is assumed that a virtual area to which a page having a higher access frequency range is assigned is assigned a higher-level page preferentially.
  • the number of pages constituting the upper hierarchy is 10,000
  • the number of pages constituting the middle hierarchy is 40000
  • the number of pages constituting the lower hierarchy is 50000.
  • the access frequency 6000 belonging to the access frequency range “2500 or more” is included in 6000 out of 10,000 pages in the upper layer. It is assumed that data in pages is stored.
  • the access frequency range “2250 or more and 2249 or less” is added to the remaining 4000 pages among the 10,000 pages in the upper layer.
  • the program 5020 calculates the performance 2115 when it is assumed that migration has been performed for the VVOLs 1 to 3 and VVOLX based on the updated media ratio 2114.
  • the value of the performance 2115 is shown in FIG. 21 after the symbol “->”. Since it is assumed that the VVOLX is newly associated with the migration destination pool candidate, the performance 2115 of the VVOLs 1 to 3 deteriorates as shown in FIG. 21 due to the effect of newly associating the VVOLX (the average response time is become longer).
  • the program 5020 adds one of the following (a) and (b) to the VVOL (in the above example, VVOL 1 to 3 and VVOLX) associated with the migration destination candidate pool: It is determined whether there is any VVOL (S2107).
  • VVOL whose performance 2115 exceeds the threshold of SLO 2116 and coefficient g
  • B The above-mentioned inappropriate VVOL in the second embodiment (that is, a VVOL having a relatively large performance 2115 (average response time) although the SLO 2116 is relatively small).
  • the program 5020 creates a VVOL migration instruction having lower information and transmits the instruction to a storage apparatus having an inappropriate VVOL (S2108).
  • * ID of VVOL to be migrated that is, inappropriate VVOL
  • * ID of the storage device that has the migration destination pool candidate * ID of the migration destination pool (migration destination pool candidate).
  • the data in all pages assigned to the inappropriate VVOL is migrated to the migration destination pool.
  • the instruction may include information according to the prediction in S2106. For example, out of all pages assigned to an inappropriate VVOL, data in pages with access frequencies that belong to the access frequency range “2500 or higher” are migrated to pages in the upper layer in the migration destination pool.
  • the representing information may be included in the VVOL migration instruction.
  • an inappropriate VVOL is a definition that means a VVOL that is likely to cause a problem in the future.
  • other definitions may be used.
  • an inappropriate VVOL may be a VVOL with small SLO but low performance.
  • an inappropriate VVOL may be detected as an inappropriate VVOL whose performance is less than 50% of the SLO. In this case, if the SLO is 18.0, a VVOL with an average response time of 9.0 or less is an inappropriate VVOL.
  • Example 3 of the present invention will be described. At that time, the difference from the second embodiment will be mainly described, and the description of the common points with the second embodiment will be omitted or simplified.
  • a rebalance process is performed in which a plurality of VVOLs having similar SLO and access distribution are associated with the same pool.
  • the rebalancing process is performed by the performance management program 5020 in the management computer 201.
  • FIG. 22 shows a flow of rebalance processing performed by the performance management program 5020 according to the third embodiment.
  • the program 5020 performs clustering, that is, grouping such that a plurality of VVOLs whose access distribution is similar to SLO belong to the same group (S2601). Specifically, for example, the following processes (m1) and (m2) are performed.
  • the program 5020 groups M VVOLs in units of P VVOLs having similar access distributions (M> P, P is a predetermined value and a natural number).
  • M> P P is a predetermined value and a natural number.
  • Each VVOL group at this stage is represented as “VVOL group y”. That is, N VVOLs in the storage system are grouped into a plurality of VVOL groups y.
  • VVOL a residual sum of squares
  • grouping is performed so that the sum of squares of the residual is minimized.
  • grouping is performed as follows. * Assume that the access distributions of VVOLs 1 to 4 are normalized by “1” as shown in FIG. Also, the access distribution graph of FIG. 23 is shown in FIG. 24 (in FIG. 24, VVOL is expressed as “vol”). * Similarity between VVOLs is calculated.
  • the similarity is, for example, a residual sum of squares (a sum of squares of differences in the number of pages used (normalized value) for each access frequency range).
  • the similarity between the VVOLs is as follows. The exact similarity is shown in parentheses, and the value of the exact similarity rounded to the third decimal place is shown outside the parentheses.
  • VVOL1-VVOL2 0.01 (0.0118)
  • VVOL1-VVOL3 0.21 (0.208)
  • VVOL1-VVOL4 0.37 (0.3712)
  • VVOL2-VVOL3 0.13 (0.1264)
  • VVOL2-VVOL4 0.26 (0.2618)
  • VVOL3-VVOL4 0.04 (0.0388) *
  • the program 5020 finds the combination that minimizes the total similarity. According to the above example, 0.5 which is a combination of VVOL1-VVOL2: 0.01 and VVOL3-VVOL4: 0.04 is the minimum.
  • the program 5020 determines to group VVOL1 to VVOL4 into a VVOL group y composed of VVOLs 1 and 2 and a VVOL group y composed of VVOLs 3 and 4. Note that the access distributions of VVOL 1 and 2 and the access distributions of VVOL 3 and 4 are similar to the access distribution of VVOL 1 or 2 and the access distribution of VVOL 3 or 4 from the graph of FIG. it is obvious.
  • the program 5020 creates a migration plan (S2602).
  • the plan satisfies the following conditions.
  • a plan that minimizes the amount of data migrated by VVOL migration Specifically, for example, the program 5020 performs migration based on the used capacity 1005 (see FIG. 18) of the VVOL management table 2004 so that the total amount of data to be migrated is minimized rather than the number of migration target VVOLs.
  • the program 5020 determines whether or not migration according to the plan created in S2602 should be executed (S2603). For example, when migration according to the plan is performed, the program 5020 determines whether or not there is a VVOL whose performance exceeds the product of the SLO and the coefficient g.
  • the program 5020 creates a VVOL migration instruction according to the plan created in S2602. For example, the instruction is generated for each migration target VVOL or each storage device having a migration target VVOL.
  • the program 5020 transmits the created VVOL migration instruction to the storage apparatus having the migration target VVOL. Thereby, migration according to the plan created in S2602 is performed.
  • the number of VVOLs may not be a predetermined value for at least one of the VVOL group x and the VVOL group y.
  • a plurality of SLO ranges may be defined, and for each SLO range, the VVOL group x may be configured by all the VVOLs of the SLO belonging to the SLO range. That is, the plurality of VVOL groups x may include two or more VVOL groups x having different numbers of VVOLs. Similarly, the plurality of VVOL groups y may include two or more VVOL groups y having different numbers of VVOLs.
  • the migration plan is determined based on the access distribution of the VVOL group y and the configuration of each pool (for example, the capacity of each tier) instead of or in addition to the fact that the total amount of data to be migrated becomes as small as possible. Good. Specifically, for example, a VVOL group y to which more used pages having a higher access frequency are allocated than other VVOL group y has a higher tier capacity than a pool to which the other VVOL group y is associated ( (Or a higher ratio in the pool) The VVOL group y to which the pool is associated and the number of used pages with a lower access frequency is allocated more than the other VVOL group y is lower than the pool to which the other VVOL group y is associated A plan may be created in which pools having a large capacity (or a high ratio in the pool) are associated.
  • the program 5020 determines a migration destination pool, and if overprovisioning (or lack of performance or capacity) is predicted from the access distribution for the VVOL group y, which pool and which It may be determined how much capacity is added to or deleted from the hierarchy (eg, which media is added or deleted). The determined content may be notified to the administrator before or after the execution of the migration in S2604.
  • the SLO is prepared for each access source, not for each VVOL.
  • FIG. 25 shows a VVOL management table 2701 according to the fourth embodiment.
  • the access source is an application program executed on the host device 101.
  • the table 2701 has the following information in addition to the information 1001, 1002,... Described with reference to FIG. * APP ID 2511: Application program ID, * LBA range: Information indicating the LBA range of the VVOL accessible from the application program.
  • the SLO 1004 and the performance 1007 are the SLO 1004 and the performance 1007 for the access source. For this reason, in the fourth embodiment, an inappropriate application program is detected instead of an inappropriate VVOL.
  • the rebalancing process in at least one of the first to third embodiments is performed, whereby the inappropriate application program becomes an appropriate application program.
  • one application program for example, APP1
  • VVOL1, VVOL3 hereinafter referred to as a first case
  • application programs for example, In some cases (APP3, APP4) share a VVOL (for example, VVOL2)
  • VVOL2 hereinafter referred to as a second case
  • the table 2701 defines which application program can access which LBA range of the VVOL.
  • processing according to at least one of the first to third embodiments can be performed for each VVOL corresponding to one application program.
  • any one SLO 1004 (for example, the smallest SLO1004 among the associated SLOs 1004). ) Can be used to perform processing according to at least one of the first to third embodiments.
  • the access source may be a virtual machine or a host device instead of or in addition to the application program.
  • the access frequency 505 corresponding to the virtual area may be updated regardless of whether a page assigned to the virtual area is accessed. Further, when the access to the virtual area is a specific type of access (for example, read), the access frequency 505 corresponding to the virtual area may not be updated.

Abstract

 ストレージシステムが、複数の仮想ボリューム(VVOL)と、複数のプールを有する。各プールは、性能が異なる複数の実領域群で構成されている。ストレージシステムは、アクセス元からのアクセスコマンドを基に特定された仮想領域に割り当てられている実領域にアクセスする。コントローラは、どの仮想領域にどの実領域が割り当てられているかと仮想領域に関するアクセス負荷とを表す情報であるプール状況情報を管理する。ストレージシステムの管理システムが、要求性能と性能を各VVOLについて表す管理情報を有する。VVOLの性能は、プール状況情報を基に特定された性能である。管理システムが、管理情報を基に、状況が不適切であるVVOLを特定し、特定されたVVOLの状況を不適切な状況から適切な状況に変えるために前記特定されたVVOLに関連付けられているプールに関わるマイグレーション処理を行う。

Description

性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
 本発明は、ストレージシステムの管理に関する。
 ストレージシステムは、1以上のストレージ装置で構成されるが、ストレージ装置として、シンプロビジョニング(Thin Provisioning)技術が適用された装置が知られている(例えば、特許文献1)。シンプロビジョニング(ダイナミックプロビジョニングと呼ばれることもある)によれば、仮想的な論理ボリュームである仮想ボリューム(以下、VVOL)と言う)がホスト計算機に提供される。VVOLは、複数の仮想領域(仮想的な記憶領域)の集合である。ホスト計算機からVVOLに対するライトが発生した場合、ライト先の仮想領域にプールから実領域(実体的な記憶領域、以下、「ページ」と言う)が割り当てられる。プールは、複数のページで構成された記憶領域である。
特開2003-015915号公報
 プールは、例えば、複数の論理ボリュームで構成される。各論理ボリュームが複数のページに分割されており、それ故、プールはページ群で構成されている。論理ボリュームは、ストレージ装置が有する1以上の物理記憶デバイス(例えば、RAID(Redundant Array of Independent (or Inexpensive) Disks)グループ)に基づいていても良いし、別のストレージ装置が有する論理ボリュームに基づいていても良い。
 論理ボリュームの性能(例えば、レスポンスタイム)は、その論理ボリュームの基になっている1以上の物理記憶デバイスの性能に依存する。1以上の物理記憶デバイスの性能は、例えば、物理記憶デバイスの種類、RAIDグループのRAIDレベル等に依存する。
 このため、或る論理ボリュームの基になっている1以上の物理記憶デバイスの性能と、別の論理ボリュームの基になっている1以上の物理記憶デバイスの性能が異なっていれば、それらの論理ボリュームの性能も異なる。例えば、SSD(Solid State Drive)はHDD(Hard Disk Drive)よりも性能が高いので、SSDに基づく論理ボリュームの性能は、HDDに基づく論理ボリュームの性能より高い。
 性能の異なる複数のページ群(例えば1以上の論理ボリューム)でプールを構成することが考えられる。そして、そのようなプールを複数個作成することが考えられる。各VVOLには、複数のプールのうちのいずれかのプールが関連付けられている。VVOLの仮想領域に対するライトが発生した場合、ライト先の仮想領域には、そのVVOLに関連付けられているプールからページが割り当てられる。1つのアクセス元(例えば、ホスト或いはアプリケーション)からだけアクセスされるVVOLもあれば、複数のアクセス元からアクセスされるVVOLもある。例えば、VVOLの第1の部分が第1のアクセス元からアクセス可能な仮想領域群とされ、そのVVOLの第2の部分(第1の部分とは別の部分)が第2のアクセス元からアクセス可能な仮想領域群とされることがある。
 このようなケースにおいて、ストレージシステムの外部にいるアクセス元からのアクセスに関して要求される性能(要求性能)を出すためには、VVOLにどのページ群内のページをどの程度割り当てるかを考慮する必要があると考えられる。例えば、要求性能のわりにVVOLに多くの高性能のページが割り当てられていると、その要求性能を過剰に満たすことになり、且つ、そのVVOLに無駄に多くの高性能のページが割り当てられていることから、高性能のページが不足するおそれがある。これは、オーバープロビジョニング(無駄)が生じていることを意味する。
 そこで、本発明の目的は、アクセス元からのアクセスに関する要求性能を満たしつつオーバープロビジョニングを抑制することにある。
 ストレージシステムが、複数の仮想ボリューム(以下、VVOL)と、複数のプールと、コントローラとを有する。各VVOLは、複数の仮想領域で構成された仮想的な論理ボリュームである。各プールは、性能が異なる複数の実領域群で構成された記憶領域である。コントローラは、アクセス元からアクセスコマンドを受信し、アクセスコマンドから特定された仮想領域に割り当てられている実領域にアクセスする。コントローラは、どの仮想領域にどの実領域が割り当てられているかと仮想領域に関するアクセス負荷とを表す情報であるプール状況情報を管理する。ストレージシステムの管理システムが、要求性能と性能を各VVOLについて表す管理情報を有する。VVOLの性能は、プール状況情報を基に特定された性能である。管理システムが、管理情報を基に、状況が不適切であるVVOLを特定し、特定されたVVOLの状況を不適切な状況から適切な状況に変えるために前記特定されたVVOLに関連付けられているプールに関わるマイグレーション処理を行う。
 アクセス元としては、ホスト装置、仮想計算機、アプリケーションプログラムなど、種々の対象が考えられる。また、VVOLの性能や実領域群の性能としては、例えば、アクセスに関する性能がある。アクセスに関する性能としては、例えば、データのアクセスのためのコマンドが入力されてからそのコマンドに対する応答が出力されるまでの時間長であるレスポンスタイム、或いは、単位時間当たりに入出力されるデータの量がある。また、アクセス負荷は、アクセスに関する負荷であり、例えば、アクセス頻度(単位時間当たりに行われるアクセスの回数)、又は、データ転送速度(単位時間当たりに転送されるデータの量)である。また、「仮想領域に関するアクセス負荷」とは、仮想領域のアクセス負荷であっても良いし、仮想領域に割り当てられている実領域のアクセス負荷であっても良い。また、アクセスは、例えば、ライト及び/又はリードである。
 前記管理システムは、前記ストレージシステムの外に存在する1以上の計算機であっても良いし、前記コントローラと一体になっていても良いし、前記ホスト装置と一体になっていても良いし、前記ストレージシステムと前記ストレージシステムの外に存在する装置との組合せで実現されても良い。
 ストレージシステムは、1つのストレージ装置で構成されていても良いし複数のストレージ装置で構成されていても良い。
本発明の実施例1に係る計算機システムを示す。 計算機システムにおけるアクセス元が仮想計算機であるケースにおいて、仮想計算機が認識するボリュームと、仮想計算機を管理するハイパバイザが認識するファイルシステムとの関係を示す。 ホスト装置101、管理計算機201及びストレージ装置203の構成を示す。 コントローラ251内のメモリ243に記憶されるプログラム及び情報を示す。 ページ状態管理テーブル402を示す。 プール管理テーブル403を示す。 VOL管理テーブル404を示す。 メディア状態管理テーブル405を示す。 管理計算機201内の記憶資源211に記憶されるプログラム及び情報を示す。 VVOL管理テーブル5040を示す。 階層定義テーブル5050を示す。 第1の状態管理処理の流れを示す。 第2の状態管理処理の流れを示す。 アラート1を受信した性能管理プログラム5020が行う処理の流れを示す。 図14のS1202の処理の流れを示す。 図14のS1203の処理の流れを示す。 アラート2を受信した性能管理プログラム5020が行う処理の流れを示す。 実施例2に係る管理計算機2000内のメモリ2500に記憶されるプログラム及び情報を示す。 ページIOPS分布履歴テーブル2640の例を示す。 増設パターン保持テーブル2650の例を示す。 実施例2に係るVVOL管理テーブル2004を示す。 実施例3に係る性能管理プログラム5020が行うリバランス処理の流れを示す。 VVOL1~VVOL4のアクセス分布を示す。 図23のアクセス分布のグラフである。 実施例4に係るVVOL管理テーブル2701を示す。
 本発明の幾つかの実施例を説明する。なお、本発明の技術的範囲が各実施例に限定されてはならない。
 なお、以後の説明では、「xxxテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「xxxテーブル」を「xxx情報」と呼ぶことができる。
 また、以後の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び通信制御装置(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。また、プログラムを主語として説明された処理は、管理システムが行う処理としても良い。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。このため、プログラムを主語として説明された処理は、コントローラが行う処理としても良い。コントローラは、プロセッサと、プロセッサに実行されるコンピュータプログラムを記憶する記憶資源とを含んでも良いし、上記の専用ハードウェアを含んでも良い。また、コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
 なお、管理システムは、一以上の計算機で構成されて良い。具体的には、例えば、管理計算機が情報を表示する場合、或いは、管理計算機が表示用情報を遠隔の計算機に送信する場合、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機を含んで良い)が、管理システムである。
 図1は、本発明の実施例1に係る計算機システムを示す。
 ストレージシステム103に、ホスト装置101と、管理計算機201が接続されている。
 ストレージシステム103は、1以上のストレージ装置で構成されている。1以上のストレージ装置の少なくとも1つが、シンプロビジョニング技術が適用された装置である。
 ストレージシステム103は、性能の異なる複数のメディア群を有する。メディア群は、1以上のメディアの集合である。本実施例で言う「メディア」とは、論理ボリュームのことである。
 複数のメディア群として、本実施例では、3つのメディア群、具体的には、SSDメディア群109Aと、SAS(Serial Attached SCSI)メディア群109Bと、SATA(Serial ATA(Advanced Technology Attachment))メディア群109Cとがある。SSDメディア群109Aは、SSDメディア(SSDに基づく論理ボリューム)で構成されており、SASメディア群109Bは、SASメディア(SAS-HDD(Hard Disk Drive)に基づく論理ボリューム)で構成されており、SATAメディア群109Cは、SATAメディア(SATA-HDDに基づく論理ボリューム)で構成されている。これら3つのメディア群のうちの少なくとも1つが別種のメディア群であっても良いし、メディア群の数は、2以上であれば良い。例えば、SASメディア群109Bは、SAS10Krpm(回転数が10,000回転/分のSAS)に基づくメディア群と、SAS15Krpm(回転数が15,000回転/分のSAS)に基づくメディア群とに別れていても良い。また、プール107を有するストレージ装置とは別のストレージ装置から提供されたメディア群(外部メディア群)があっても良い。
 ストレージシステム103は、複数のプール107を有する。各プール107は、性能の異なる複数のメディアで構成されている。具体的には、例えば、各プール107は、SSDメディア群109Aのうちの1以上のSSDメディアと、SASメディア群109Bのうちの1以上のSASメディアと、SATAメディア群109Cのうちの1以上のSATAメディアとで構成されている。各メディアが、複数のページに区切られている。このため、各プール107は、SSDページ群と、SASページ群と、SATAページ群とで構成されていることになる。
 なお、後述するが、1つのプール107には、複数の階層がある。1つの階層は、同じ性能の1以上のメディアで構成される。このため、例えば、上位の階層として、SSDメディアで構成された階層があり、中位の階層として、SASメディアで構成された階層があり、下位の階層として、SATAメディアで構成された階層がある。各階層には、アクセス頻度範囲(アクセス頻度の範囲)が設けられている。アクセス頻度は、単位時間当りのアクセスの数であり、例えば、IOPSで表される。なお、IOPSは、IO per second、すなわち、1秒間当たりに行われるアクセス(I/O(Input/Output))の数である。
 ストレージシステム103は、複数のVVOL105を有する。1つのVVOL105が、複数のホスト装置101のうちのいずれか1つのホスト装置101に提供される。本実施例では、VVOL105とホスト装置101が1対1で対応している。VVOL105は、仮想的な論理ボリュームであり、複数の仮想領域(仮想的な記憶領域)で構成されている。仮想領域は、例えば、アドレス(例えばLBA(Logical Block Address))である。
 ホスト装置101は、アクセス元の一例である。ホスト装置101は、提供されたVVOL105にアクセスする。具体的には、ホスト装置101は、アクセス先情報を有するアクセスコマンドをストレージシステム103に送信する。アクセス先情報は、アクセス先を表す情報であり、例えば、VVOL105のID(例えばLUN(Logical Unit Number))と仮想領域のID(例えばLBA)とを含んでいる。
 本実施例では、ホスト装置101は、計算機である。しかし、ホスト装置101は、他種の装置、例えば、ストレージシステムの外部のストレージ装置(例えば、リモートコピーのコピー元のストレージ装置)であっても良いし、仮想的な計算機であっても良い。例えば、複数の仮想計算機が、物理的なホスト計算機(典型的にはサーバマシン)で実行され、それら複数の仮想計算機は、そのホスト計算機で実行されるハイパバイザ(図示せず)で管理されて良い。このケースでは、例えば、図2に示すように、各仮想計算機(VM)101’は、提供されたVVOLに関連付けられた論理デバイス(VOL)302を認識する(つまり、仮想計算機101’は、VVOLを認識する)。しかし、ハイパバイザは、複数の仮想計算機101’が認識している複数の論理デバイス302を複数のファイルとして認識し、それら複数の論理デバイス302が、ファイルシステム311で管理されることになる。本実施例では、要求性能の一例であるSLO(Service Level Objective)が、VVOL毎に設定されるが、SLOは、ファイルシステム311毎に設定されて良い。
 管理計算機201は、ストレージシステム103を管理する計算機である。管理計算機201は、ストレージシステム103から種々の情報を収集し、収集された情報を基に、複数のプール107におけるデータの配置を制御する。管理計算機201が有する機能は、ストレージシステムに備えられても良いし、ホスト装置101に備えられても良い。この場合、管理計算機201は無くても良い。
 図3は、複数のホスト装置101のうちの1つのホスト装置101の構成と、管理計算機201の構成と、ストレージシステム103を構成する1以上のストレージ装置のうちの1つのストレージ装置203の構成とを示す。
 ストレージ装置203に、第1の通信ネットワーク(例えばLAN(Local Area Network))231を通じて、管理計算機201及びホスト装置101が接続されている。また、ストレージ装置203に、第2の通信ネットワーク(例えばSAN(Storage Area Network)232を通じて、ホスト装置101に接続されている。第1及び第2の通信ネットワーク231及び232は一体であっても良い。
 ストレージ装置203は、物理記憶デバイス群と、物理記憶デバイス群に接続されたコントローラ251とを有する。
 物理記憶デバイス群は、1以上の物理記憶デバイスである。物理記憶デバイス群として、本実施例では、SSD群309A、SAS群309B及びSATA群309Cがある。SSD群309Aは、1以上のSSDであり、SAS群309Bは、1以上のSAS-HDDであり、SATA群309Cは、1以上のSATA-HDDである。このように、物理記憶デバイス群には、性能の異なる複数の物理記憶デバイスが混在している。
 コントローラ251は、管理I/F(図では、M-I/Fと記載)241と、通信I/F242(図では、C-I/Fと記載)242と、デバイスI/F(図では、D-I/F)245と、メモリ243と、それらの要素に接続されたプロセッサ244とを有する。
 管理I/F241は、第1のプロトコルで通信するための通信インタフェース装置(例えば、NIC(Network Interface Card))である。
 通信I/F242は、第2のプロトコルで通信するための通信インタフェース装置である。
 デバイスI/F245は、第3のプロトコルで物理記憶デバイスと通信するための通信インタフェース装置である。物理記憶デバイスの種類毎にデバイスI/F245があっても良い。デバイスI/F245を通じて、物理記憶デバイスに対するアクセスが行われる。
 メモリ243は、プロセッサ244で実行されるコンピュータプログラムや、種々の情報を記憶する。また、メモリ243は、キャッシュメモリ領域を有する。キャッシュメモリ領域には、ホスト装置101から受けたライトコマンドに従うデータや、ホスト装置101から受けたリードコマンドに応答してページ(具体的には、ページの基になっている物理記憶デバイス)から読み出されたデータが一時格納される。キャッシュメモリ領域内のライト対象のデータは、ライト先の仮想領域に割り当てられたページの基になっている物理記憶デバイスに格納される。キャッシュメモリ領域内のリード対象のデータは、ホスト装置101に提供される。
 ホスト装置101は、管理I/F(例えばNIC)224と、通信I/F(例えばHBA(Host Bus Adapter))226と、記憶資源221と、それら接続されたプロセッサ222とを有する。記憶資源221は、例えば、メモリである(ハードディスクドライブ等の補助記憶装置を含んでも良い)。記憶資源221は、例えば、アプリケーションプログラム(例えば業務プログラム)やOS(Operating System)を記憶し、プロセッサ222が、そのアプリケーションプログラムやOSを実行する。
 管理計算機201は、管理I/F(例えばNIC)214と、記憶資源211と、それらに接続されたプロセッサ212とを有する。記憶資源211は、例えば、メモリである(ハードディスクドライブ等の補助記憶装置を含んでも良い)。記憶資源211は、コンピュータプログラムや種々の情報を記憶する。コンピュータプログラムは、プロセッサ212で実行される。
 以上が、本実施例に係る計算機システムのハードウェア構成の一例である。前述した管理I/Fや通信I/Fがどのような通信インタフェースデバイスであるかは、例えば、そのI/Fが接続されるネットワークの種類や、そのI/Fを有する装置の種類によって異なる。
 図4は、コントローラ251内のメモリ243に記憶されるプログラム及び情報を示す。
 プログラムとして、プール管理プログラム401が記憶される。情報として、ページ状態管理テーブル402、プール管理テーブル403、VOL管理テーブル404及びメディア状態管理テーブル405が記憶される。
 図5は、ページ状態管理テーブル402を示す。
 ページ状態管理テーブル402は、ページ毎の状態を表す。具体的には、例えば、テーブル402は、ページ毎に、下記の情報を有する。
*プールID501:ページを有するプールのID、
*ページID502:ページのID、
*VVOL ID503:ページの割当先の仮想領域を有するVVOLのID。「N/A」は、ページがどの仮想領域にも割り当てられていないこと(Not Assigned)を意味する、
*最近アクセス時刻504:ページに最近アクセスされた時刻を表す情報、
*アクセス頻度505:ページに対するアクセスの頻度。
 最近アクセス時刻504は、ページに対する最近のライトの時刻とページからの最近のリードの時刻とに区別されていても良い。
 アクセス頻度505は、ライトの頻度とリードの頻度とに区別されていても良い。アクセス頻度505は、ページに対するアクセスが行われた場合に更新され、アクセスコマンドを受けたもののページに対するアクセスが行われなかった場合には、更新されない。
 図6は、プール管理テーブル403を示す。
 プール管理テーブル403は、プールを構成する各ページと仮想領域との対応関係を表す。具体的には、例えば、テーブル403は、ページ毎に、下記の情報を有する。
*プールID601:ページを有するプールのID、
*ページID602:ページのID、
*メディアID603:ページを有するメディアのID、
*メディアLBA604:メディアにおけるページの位置(ページの先頭のLBAとそのページの末端のLBA)、
*VVOL ID605:ページの割当先のVVOLのID。「N/A」は、ページがどの仮想領域にも割り当てられていないこと(Not Assigned)を意味する、
*VVOL LBA606:ページの割当先の仮想領域の、VVOLにおける位置(仮想領域の先頭のLBAとその仮想領域の末端のLBA)。
 図7は、VOL管理テーブル404を示す。
 VOL管理テーブル404は、ストレージ装置が有するボリュームに関する情報を有する。具体的には、例えば、テーブル404は、ボリューム毎に、下記の情報を有する。
*VOL ID701:VVOLのID、又は、メディアのID、
*容量702:VVOLの記憶容量、又は、メディアの記憶容量、
*タイプ703:ボリュームがVVOLかメディアか。ボリュームがメディアであるならば、タイプ703は、メディアのタイプ(SSD、SAS、SATA)を表す、
*プールID704:ボリュームがVVOLの場合に有効な値が設定される情報であって、VVOLに関連付けられたプールのID。
 図8は、メディア状態管理テーブル405を示す。
 メディア状態管理テーブル405は、メディアの状態に関する情報を有する。具体的には、例えば、テーブル405は、メディア毎に、下記の情報を有する。
*プールID801:メディアを有するプールのID、
*メディアID:802:メディアのID、
*階層タイプ803:メディアが属する階層のタイプを表す情報、
*アクセス頻度限界804:メディアのアクセス頻度の上限値、
*アクセス頻度805:メディアのアクセス頻度。
 以上が、テーブル402~405についての説明である。なお、それらのテーブルに加えて、どのページが割り当てられているかを仮想領域毎に表すマッピング管理テーブル(図示せず)が用意されても良い。仮想領域にページが割り当てられているか否かは、そのマッピング管理テーブルを基に判断されても良い。
 再び図4を参照する。
 プール管理プログラム401は、前述したテーブル402~405を基に、例えば、次の処理を行う。
 (A)プログラム401は、以下の(a1)~(a9)の処理を含んだライト処理を行う。
(a1)プログラム401は、ライトコマンドをホスト装置101から受信する。
(a2)プログラム401は、ライトコマンドが有するアクセス先情報を基に、ライト先VVOLとライト先仮想領域を特定する。
(a3)プログラム401は、ライトコマンドに従うライト対象のデータをキャッシュメモリ領域に格納する。プログラム401は、この段階で、ホスト装置101にライト完了を応答して良い。
(a4)プログラム401は、ページ状態管理テーブル402(又は前述のマッピング管理テーブル)を基に、上記(a2)で特定されたライト先仮想領域にページが割り当てられているかを判断する。
(a5)上記(a4)の判断の結果が肯定的であれば、プログラム401は、ライト先仮想領域に割り当てられているページに、キャッシュメモリ領域内のライト対象のデータを書き込む。
(a6)上記(a4)の判断の結果が否定的であれば、プログラム401は、VOL管理テーブル404と、ページ状態管理テーブル402又はプール管理テーブル403とを基に、ライト先VVOLに関連付けられているプールにおける、未使用のページ(どの仮想領域にも割り当てられていないページ)を特定する。ここで、プログラム401は、メディア状態管理テーブル405を基に、なるべく上位の階層に属するメディアから未使用のページを特定して良い。
(a7)プログラム401は、上記(a6)で特定したページをライト先仮想領域に対応付ける。具体的には、例えば、プログラム401は、プール管理テーブル403に、割り当てたページに対応するVVOL LBA606として、ライト先仮想領域の先頭LBA及び末端LBAを書き込む。
(a8)プログラム401は、上記(a6)で特定したページに、キャッシュメモリ領域内のライト対象のデータを書き込む(プログラム401は、この段階で、ホスト装置101にライト完了を応答して良い)。
(a9)プログラム401は、上記(a5)又は(a8)において、ページ状態管理テーブル402における、データの書込み先のページの最近アクセス時刻504及びアクセス頻度505を更新する。また、それに伴い、プログラム401は、メディア状態管理テーブル405における、そのページを有するメディアのアクセス頻度805を更新する。
 (B)プログラム401は、以下の(b1)~(b8)の処理を含んだリード処理を行う。
(b1)プログラム401は、リードコマンドをホスト装置101から受信する。
(b2)プログラム401は、リードコマンドが有するアクセス先情報を基に、リード元VVOLとリード元仮想領域を特定する。
(b3)プログラム401が、リード対象のデータがキャッシュメモリ領域に残っているか否かを判断する。
(b4)上記(b3)の判断の結果が肯定的の場合、プログラム401は、キャッシュメモリ領域内のリード対象データを、ホスト装置101に送信する。この場合、リード元仮想領域に割り当てられているページの最終アクセス時刻504及びアクセス頻度505(及び、そのページを有するメディアのアクセス頻度805)は、更新されない。
(b5)上記(b3)の判断の結果が否定的の場合、プログラム401は、ページ状態管理テーブル402(又は前述のマッピング管理テーブル)を基に、上記(b2)で特定されたリード元仮想領域にページが割り当てられているかを判断する。
(b6)上記(b5)の判断の結果が否定的であれば、プログラム401は、所定のデータ(例えばエラー)をホスト装置101に送信する。
(b7)上記(b5)の判断の結果が肯定的であれば、プログラム401は、リード元仮想領域に割り当てられているページからデータを読み出し、そのデータをキャッシュメモリ領域に書き込む。そして、プログラム401は、キャッシュメモリ領域内のそのデータをホスト装置101に送信する。
(b8)プログラム401は、上記(b6)において、ページ状態管理テーブル402における、データの書込み先のページの最近アクセス時刻504及びアクセス頻度505を更新する。また、それに伴い、プログラム401は、メディア状態管理テーブル405における、そのページを有するメディアのアクセス頻度805を更新する。
 (C)プログラム401は、以下の(c1)~(c3)の処理を含んだメディア追加処理を行う。なお、(c3)の後に、後述の(E)リバランス処理が行われて良い。
(c1)プログラム401は、追加対象のメディアにIDを付与する。
(c2)プログラム401は、追加対象のメディアをページに分割し、分割により得られた各ページにIDを付与する。
(c3)プログラム401は、追加対象のメディアに関する情報(メディアの追加先のプールのID、(c1)で付与されたメディアID、(c2)で付与されたページID等)を、テーブル402~405に追加する。
 (D)プログラム401は、以下の(d1)及び(d2)の処理を含んだメディア削除処理を行う。
(d1)プログラム401は、削除対象のメディア内の全ての使用ページ(いずれかの仮想領域に割り当てられているページ)内のデータを他のメディアにマイグレーションするリバランス処理を実行する。
(d2)プログラム401は、削除対象のメディアに関する情報を、テーブル402~405から削除する。
 (E)プログラム401は、以下の(e1)~(e4)の処理を含んだリバランス処理を行うことができる。その場合、例えば、メモリ243は、管理計算機201が有する後述の階層定義テーブルを有していて良い。このリバランス処理は、定期的に行われて良い。また、このリバランス処理は、上記(d1)でのリバランス処理に適用されて良い。
(e1)プログラム401は、マイグレーション元のページを見つける。マイグレーション元のページは、不適切に配置されているデータが記憶されているページである。具体的には、マイグレーション元のページは、ページのアクセス頻度505がそのページを有する階層のアクセス頻度範囲に属していないページである。なお、マイグレーション元のページは、上記(d1)のリバランス処理では、削除対象のメディア内の使用ページである。
(e2)プログラム401は、上記(e1)で見つけたマイグレーション元ページのアクセス頻度505が属するアクセス頻度範囲に対応した階層を特定する。
(e3)プログラム401は、上記(e2)で特定した階層から、未使用のページを特定する。ここで特定された未使用のページが、マイグレーション先のページである。
(e4)プログラム401は、上記(e1)で特定したマイグレーション元ページ内のデータを、上記(e3)で特定したマイグレーション先ページにマイグレーションする。また、プログラム401は、マイグレーション元ページが割り当てられている仮想領域に、マイグレーション元ページに代えて、マイグレーション先ページを割り当てる(テーブル402及び403が更新される)。
 なお、(E)のリバランス処理は、アクセス頻度とアクセス頻度範囲との比較に代えて又は加えて、各ページの最近アクセス時刻504からどのぐらい経過したかを基に行われても良い。
 図9は、管理計算機201内の記憶資源211に記憶されるプログラム及び情報を示す。
 プログラムとして、VVOL管理プログラム5010、性能管理プログラム5020、及び状態管理プログラム5030が記憶される。情報として、VVOL管理テーブル5040及び階層定義テーブル5050が記憶される。
 図10は、VVOL管理テーブル5040を示す。
 VVOL管理テーブル5040は、VVOLに関する情報を有する。具体的には、例えば、テーブル5040は、VVOL毎に、下記の情報を有する。
*VVOL ID1001:VVOLのID、
*サブシステムID1002:VVOLを有するストレージ装置のID、
*プールID1003:VVOLに関連付けられているプールのID、
*SLO1004:VVOLのSLOを表す情報、
*容量1005:VVOLの容量を表す情報、
*使用容量1006:VVOLを構成する仮想領域のうちページが割り当てられている仮想領域の総記憶容量を表す情報、
*性能1007:VVOLの性能を表す情報。
 SLO1004は、性能1007と比較される閾値又はその閾値の基になる値である。性能1007は、VVOLの平均のレスポンスタイムである。ここで言う「レスポンスタイム」とは、例えば、VVOLを指定したアクセスコマンドがストレージ装置に入ってから応答がホスト装置101に返されるまでの時間長である。
 VVOLの平均レスポンスタイムは、下記の(1)式により算出することができる。
  (VVOLの平均レスポンスタイム)=(VVOLに割り当てられている全てのページについての、アクセス頻度とレスポンスタイムの積の和)/(VVOLに割り当てられている全てのページについてのアクセス頻度の和)・・・(1)。
 ここで、アクセス頻度の単位は、例えば、IOPS(IO per second)である。
 例えば、VVOLにページ1~6が割り当てられているとする。ページ1~6のそれぞれについて、「ページが属する階層/その階層でのアクセス速度/ページのアクセス頻度」は、次の通りであるとする。
ページ1:上位階層(SSD)/1/100、
ページ2:中位階層(SAS)/10/50、
ページ3:中位階層(SAS)/10/20、
ページ4:下位階層(SATA)/20/10、
ページ5:下位階層(SATA)/20/5、
ページ6:下位階層(SATA)/20/0。
 この場合、(1)式によれば、VVOLの平均レスポンスタイムKは、
  K=(100×1+50×10+20×10+10×20+5×20+0×20)/(100+50+20+10+15)
   =約5.37
となる。アクセス速度は、後に説明する階層定義テーブル5050から分かる。
 このようにして求められた平均レスポンスタイム(性能)は、SLO(又はSLOの所定割合(例えば80%))と比較される。
 なお、以下の説明では、SLO1004が大きい/小さい、性能1007が大きい/小さい、という言い方をするが、それは、SLOの値が大きい/小さい、性能の値が大きい/小さい、という意味である。性能1007(及びSLO1004)が例えば平均レスポンスタイムの場合、性能1007(及びSLO1004)が大きいということは、性能(及びSLO)が低いということを意味し、性能1007(及びSLO1004)が小さいということは、性能(及びSLO)が高いということを意味する。
 図11は、階層定義テーブル5050を示す。
 階層定義テーブル5050は、階層の定義を表す。具体的には、例えば、テーブル5050は、階層毎に、下記の情報を有する。
*階層タイプ1101:階層のタイプを表す情報、
*メディアタイプ1102:階層に属するメディアのタイプを表す情報、
*速度1103:階層に対するアクセスの速度を表す情報、
*最大アクセス頻度1104:階層に対応するアクセス頻度の最大値、
*コスト1105:階層に属するメディアのコストを表す情報。
 各階層の最大アクセス頻度1104により、各階層のアクセス頻度範囲が表されている。具体的には、図11によれば、上位階層(SSD)のアクセス頻度範囲は、25000~2500(2500を含まない)であり、中位階層(SAS)のアクセス頻度範囲は、2500~1250(1250を含まない)であり、下位階層(SATA)のアクセス頻度範囲は、1250~0である。
 以下、実施例1で行われる処理を説明する。
 実施例1では、不適切なVVOLが検出される。その場合に、下記の(1)~(3)の処理が行われる。
(1)不適切なVVOLに関連付けられているプールに、他のプールから、メディアがマイグレーションされる。マイグレーション元のプールは、マイグレーション先のプールを有するストレージ装置内のプールである。
(2)不適切なVVOLに割り当てられている全てのページ内のデータが、そのページを有するプールから、別のプールにマイグレーションされる。
(3)上記(1)及び(2)で、不適切なVVOLが適切なVVOLにならなければ、不適切なVVOLに関連付けられているプールにメディアが追加される。
 また、実施例1では、不適切なメディアが検出される。その場合に、そのメディアを有する階層内でのデータ再配置か、或いは、そのメディアを有する階層にメディアが追加される。
 以下、実施例1で行われる処理を詳細に説明する。
 <仮想ボリューム管理>。
 VVOL管理プログラム5010が、VVOLを管理する。例えば、プログラム5010は、管理者からVVOLの作成の指示を受ける。その際、プログラム5010は、VVOLの容量及びSLO等を受ける。プログラム5010は、VVOLの作成指示に応答して、VVOLに関連付けるプール及びプールを有するストレージ装置を決定する。そして、プログラム5010は、その決定に従う情報と、VVOLの容量及びSLOとを含んだエントリ(レコード)を、VVOL管理テーブル5040に追加する。
 <状態管理>。
 図12は、第1の状態管理処理の流れを示す。この処理は、例えば定期的に行われる。
 状態管理プログラム5030は、ページ状態管理テーブル402をストレージ装置から取得する(ステップS1001)。
 プログラム5030は、取得したテーブル402を基に、VVOL管理テーブル5040を更新する(S1002)。1つのVVOLを例に採れば、具体的には、下記が行われる。
*プログラム5030は、VVOLに割り当てられている全てのページの総記憶容量を、そのVVOLに対応した使用容量1006の欄に書き込む。
*プログラム5030は、どの階層から幾つのページがVVOLに割り当てられているかと、各階層の速度とを基に、VVOLの性能を算出する。プログラム5030は、算出された性能を表す情報を、VVOLに対応した性能1007の欄に書き込む。
 プログラム5030は、不適切なVVOLがあるかどうかを判断する(S1003)。不適切なVVOLは、性能1007がSLO1004を満たしていないVVOLである。具体的には、例えば、不適切なVVOLは、性能1007がSLO1004と係数gとの積より大きいVVOL(例えば、平均レスポンスタイムがSLO1004と係数gとの積より長いVVOL)である。なお、係数gは0より大きく1以下の数である。g=1の場合、性能1007はSLO1004それ自体と比較される。
 S1003の判断の結果が肯定的であれば、プログラム5030は、アラート1を出力する(S1004)。アラート1は、例えば、S1003で不適切と判断されたVVOLのIDを有する。
 図13は、第2の状態管理処理の流れを示す。この処理は、例えば定期的に行われる。
 状態管理プログラム5030は、メディア状態管理テーブル405をストレージ装置から取得する(ステップS1101)。
 プログラム5030は、取得したテーブル405を基に、不適切なメディアがあるかどうかを判断する(S1102)。不適切なメディアは、アクセス頻度805がアクセス頻度上限804を超えているメディアである。
 S1102の判断の結果が肯定的であれば、プログラム5030は、アラート2を出力する(S1103)。アラート2は、例えば、S1102で不適切と判断されたメディアのIDを有する。
 <性能管理>。
 図14は、アラート1(第1の状態管理処理で発行されたアラート)を受信した性能管理プログラム5020が行う処理の流れを示す。なお、以下の説明では、アラート1の原因になった不適切なVVOLを、「アラート1-VVOL」と言い、アラート1-VVOLに関連付けられているプールを、「アラート1-プール」と言い、アラート1-プールを有するストレージ装置を「アラート1-ストレージ装置」と言う。
 性能管理プログラム5020は、改善目標を決定する(S1201)。改善目標は、例えば、アラート1-VVOLの性能が、そのVVOLのSLO1040と係数gとの積より低いこと、である。アラート1-VVOLは、例えば、アラート1が有するVVOLのIDから特定される。
 プログラム5020は、S1201で決定した改善目標を、メディアマイグレーションで達成できるか否かを判断する(S1202)。S1202の判断の結果が肯定的であれば、S1202で作成された指示が、アラート1-ストレージ装置に送信される(S1204)。
 S1202の判断の結果がNOであれば、プログラム5020は、S1201で決定した改善目標を、VVOLマイグレーションで、達成できるか否かを判断する(S1203)。S1203の判断の結果が肯定的であれば、S1203で作成された指示が、アラート1-ストレージ装置に送信される(S1204)。
 S1203の判断の結果が否定的であれば、S1205が行われる。すなわち、プログラム5020は、S1201で決定した改善目標を達成するための追加容量(追加すべき記憶容量)を決定し、決定した追加容量を追加することの指示(以下、メディア追加指示)を作成する。このメディア追加指示が、アラート1-ストレージ装置に送信され、そのストレージ装置において、そのメディア追加指示に従う容量がプールに追加される。S1205では、具体的には、例えば、以下の処理が行われる。
*プログラム5020が、階層定義テーブル505を基に、どの階層に幾つのページを追加すれば、S1201で決定した改善目標を達成できるか計算する。ここで、W1、W2、W3が算出されたとする。W1は、上位階層(SSD)に追加する容量、すなわち、上位階層(SSD)について算出されたページ数の総記憶容量である。W2は、中位階層(SAS)に追加する容量、すなわち、中位階層(SAS)について算出されたページ数の総記憶容量である。W3は、下位階層(SATA)に追加する容量、すなわち、下位階層(SATA)について算出されたページ数の総記憶容量である。
*プログラム5020が、メディア追加指示を作成する。そのメディア追加指示は、前述のW1、W2及びW3と、アラート1-プールのIDとを有する。S1204で、このメディア追加指示がアラート1-ストレージ装置に送信される。そのストレージ装置において、プール管理プログラム401が、W1以上の総記憶容量の1以上のSSDメディア、W2以上の総記憶容量の1以上のSASメディア、及び、W3以上の総記憶容量の1以上のSATAメディアを、メディア追加指示から特定されるプールに追加する。ここでプールに追加されるメディアは、例えば、未使用のメディアである。
 メディアの追加は、このように自動で行われることに代えて、管理者によって手動で行われても良い。例えば、プログラム5020が、算出したW1、W2、W3を表示し、管理者が、そのW1~W3を基に、プールに容量を追加しても良い。
 以上が、アラート1を受信した場合に行われる処理である。なお、S1203よりもS1202が先に行われているが、その理由は、メディアマイグレーションのコストの方が、VVOLマイグレーションのコストよりも低いためである。「メディアマイグレーション」とは、アラート1-プールとは別のプールを構成するメディアをアラート1-プールにマイグレーションすることである。メディアマイグレーションは、ストレージ装置間で行われても良いが、本実施例では、1つのストレージ装置内で行われる。つまり、メディアのマイグレーション元のプールとメディアのマイグレーション先のプール(アラート1-プール)は、1つのストレージ装置内に存在する。「VVOLマイグレーション」とは、VVOLに割り当てられている全てのページ内のデータを、アラート1-プールから別のプールにマイグレーションすることである。この場合、マイグレーション対象のVVOLは、アラート1-プールに代えてマイグレーション先のプールに関連付けられる。VVOLマイグレーションは、1つのストレージ装置内で行われても良いし、ストレージ装置間で行われても良い。
 図15は、図14のS1202の処理の流れを示す。
 プログラム5020は、必要メディア量(=X)を見積もる(S1301)。具体的には、例えば、プログラム5020は、アラート1-ストレージ装置からページ状態管理テーブル402を取得し、そのテーブル402を基に、どの階層に幾つのページを追加すれば、S1201で決定した改善目標を達成できるか計算する。ここで、X1、X2、X3が算出されたとする。X1は、上位階層(SSD)に追加する容量、すなわち、上位階層(SSD)について算出されたページ数の総記憶容量である。X2は、中位階層(SAS)に追加する容量、すなわち、中位階層(SAS)について算出されたページ数の総記憶容量である。X3は、下位階層(SATA)に追加する容量、すなわち、下位階層(SATA)について算出されたページ数の総記憶容量である。なお、ページ状態管理テーブル402を取得せずに、図12のS1001で取得されたページ状態管理テーブル402が使用されても良い。
 プログラム5020は、アラート1-プール以外のプールであって、アラート1-ストレージ装置におけるプールの中に、S1304で選択されていないプールがあるか否かを判断する(S1302)。
 S1302の判断の結果が肯定的の場合、プログラム5020は、アラート1-プール以外のプールから未だ選択されていないプールを選択する(S1304)。
 そして、プログラム5020は、性能余剰メディア量(=Q)を算出する(S1305)。具体的には、例えば、以下の処理が行われる。
*プログラム5020は、S1304で選択されたプールについて、S1301と同様の方法で、各階層についての必要メディア量を計算する。
*プログラム5020は、S1304で選択されたプールについて、階層毎に使用容量(仮想領域に割り当てられているページの総記憶容量)を計算する。
*プログラム5020は、階層毎に、算出された必要メディア容量から算出された使用容量を引くことで、階層毎の性能余剰メディア量を計算する。上位階層、中位階層及び下位階層の性能余剰メディア量を、それぞれ、Q1、Q2、Q3とする。
 プログラム5020は、Q1>X1、Q2>X2、及びQ3>X3であるか否かを判断する(S1306)。これらのうちの少なくとも1つが違っていれば、この判断の結果は否定的となり、S1302が再度行われる。
 S1306の判断の結果が肯定的であれば、プログラム5020は、メディアマイグレーション指示を作成する(S1307)。その指示は、例えば、下記の情報を有する。
*マイグレーション元のプールのID、
*マイグレーション先のプール(つまり、アラート1-プール)のID、
*各階層について、性能余剰メディア量以上の総記憶容量の1以上のメディア(すなわち、マイグレーション対象の1以上のメディア)のID。
 これらの情報のうち、性能余剰メディア量以上の総記憶容量の1以上のメディア(マイグレーション対象の1以上のメディア)のIDは、プール管理テーブル403及びVOL管理テーブル404から特定することができる。また、各階層について、マイグレーション対象のメディアは、その階層において、使用ページ(仮想領域に割り当てられているページ)の数が最も少ないメディアである。なお、使用ページを有するメディアがマイグレーション対象のメディアの場合、アラート1-ストレージ装置では、使用ページ内のデータが、マイグレーション対象のメディアではない、同じ階層内のメディアにマイグレーションされた後、マイグレーション対象のメディアが、マイグレーション元のプールから外されて、マイグレーション先のプールに追加される。
 S1302の判断の結果が否定的の場合、プログラム5020は、各階層について、これまでに算出された性能余剰メディア量の合計が、必要メディア量を超えているか否かを判断する(S1303)。
 S1303の判断の結果が肯定的であれば、前述したS1307が行われる。なお、この場合、S1307で作成される指示は、複数の、マイグレーション元のプールのIDを有する。
 S1307が行われると、図14のS1202の判断結果が肯定的であり、S1303の判断結果が否定的であると(つまりS1307が行われないと)、図14のS1202の判断結果も否定的である。
 以上が、図14のS1202の処理の流れである。なお、本処理は、プール毎の逐次処理に行われることに代えて、複数のプールについての並行処理であっても良い。
 図16は、図14のS1203の処理の流れを示す。
 プログラム5020は、ストレージシステム103内の、アラート1-プール以外のプールの中に、S1401で選択されていないプールがあるか否かを判断する(S1401)。
 S1401の判断の結果が肯定的の場合、プログラム5020は、アラート1-プール以外のプールから未だ選択されていないプールを選択する(S1402)。
 そして、プログラム5020は、S1402で選択したプールに、アラート1-VVOLの記憶容量以上の空き容量があるか否かを判断する(S1403)。アラート1-VVOLの記憶容量は、VVOL管理テーブル5040から分かり、S1402で選択したプールの空き容量は、ページ状態管理テーブル402から分かる。空き容量は、1以上の未使用のページ(仮想領域に割り当てられていないページ)の総記憶容量である。
 S1403の判断の結果が否定的の場合、S1401が再度行われる。
 S1403の判断の結果が肯定的の場合、プログラム5020は、S1402で選択したプールの分布に、アラート1-VVOLの分布を合成する(S1404)。ここで言う「分布」は、アクセス分布、具体的には、アクセス頻度とページ数との関係に従う分布である。より具体的には、例えば、アクセス分布は、アクセス頻度範囲毎に、そのアクセス頻度範囲に該当するページの総数を表す。アクセス頻度範囲は、アクセス頻度それ自体であっても良い。
 プログラム5020は、S1404での合成後のアクセス分布を基に、アラート1-VVOLについての改善目標(図14のS1201で決定された目標)を満たし、且つ、S1402で選択したプールに関連付けられている各VVOLの性能が、(SLO×係数g)以下のままか否かを判断する(S1405)。
 S1405の判断の結果が否定的の場合、S1401が再度行われる。
 S1405の判断の結果が肯定的の場合、プログラム5020は、VVOLマイグレーション指示を作成する(S1406)。その指示は、例えば、下記の情報を有する。
*マイグレーション対象のVVOL(つまりアラート1-VVOL)のID、
*マイグレーション先のストレージ装置のID、
*マイグレーション先のプールのID。
 S1406が行われると、図14のS1203の判断結果が肯定的であり、S1401の判断結果が否定的であると(つまりS1406が行われないと)、図14のS1203の判断結果が否定的である。
 S1406で作成されたVVOLマイグレーション指示は、アラート1-ストレージ装置に送信される。そのストレージ装置では、その指示に応答して、プール管理プログラム401が、マイグレーション対象のVVOLに割り当てられている全てのページについて、下記の処理を行う。
*プログラム401が、マイグレーション対象のVVOLに割り当てられているページ(マイグレーション元のページ)内のデータを、マイグレーション先のストレージ装置におけるマイグレーション先のプール内の未使用のページ(マイグレーション先のページ)にマイグレーションする。
*プログラム401が、マイグレーション元のページが割り当てられていた仮想領域に、マイグレーション元のページに代えてマイグレーション先のページを割り当てる。
 以上が、図14のS1203の処理の流れである。
 図17は、アラート2(第2の状態管理処理で発行されたアラート)を受信した性能管理プログラム5020が行う処理の流れを示す。なお、以下の説明では、アラート2の原因になったメディアを有するプールを、「アラート2-プール」と言い、アラート2-プールを有するストレージ装置を「アラート2-ストレージ装置」と言う。
 プログラム5020は、メディア状態管理テーブル405(例えば、図13のS1101で取得されたテーブル405)を基に、アラート2-プールにおける各階層について、アクセス頻度の合計がアクセス頻度上限の合計を超えているか否かを判断する(S1501)。具体的には、例えば、プログラム5020は、各階層について、以下の処理を行う。
*プログラム5020は、階層に属する全てのメディアをテーブル405から特定する。
*プログラム5020は、特定された全てのメディアについて、アクセス頻度上限804の合計と、アクセス頻度805の合計とを計算する。
*プログラム5020は、アクセス頻度805の合計がアクセス頻度上限804の合計を超えているか否かを判断する。
 S1501の判断の結果が否定的となった階層について、プログラム5020は、S1502を行う。すなわち、プログラム5020は、一つの階層において、データ再配置を行う。例えば、一つの階層における複数のデータが、その一つの階層に属する複数のメディアに均等に配置されるよう、アラート2の原因となったメディアに集中しているデータが、そのメディアと同じ階層における他のメディアにマイグレーションされる。
 S1501の判断の結果が肯定的となった階層について、プログラム5020は、図14のS1205と同様の処理を行う。具体的には、例えば、プログラム5020は、その階層に容量を追加することの指示を作成しその指示をアラート2-ストレージ装置に送信する、又は、その階層に追加する容量を表示する。
 以下、本発明の実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略或いは簡略する。
 実施例1では、現実に問題が生じているVVOL(性能1007がSLO1004と係数gとの積を超えているVVOL)が、不適切なVVOLとして検出されるが、実施例2では、現実に問題は生じていないが将来問題が生じる可能性が高いVVOL(性能1007がSLO1004と係数gとの積を将来超える可能性の高いVVOL)が、不適切なVVOLとして検出される。そして、そのVVOLに割り当てられている全てのページ内のデータが、それらのページを有するプールから別のプールにマイグレーションされる。これにより、将来問題が生じる可能性を低減することができる。
 以下、実施例2を詳細に説明する。
 図18は、実施例2に係るVVOL管理テーブル2004を示す。
 このテーブル2004は、図10に示したテーブル5040が有する情報1001~1007の他に、VVOL毎に、アクセス分布1008を有する。アクセス分布1008は、アクセス頻度範囲毎に、そのアクセス頻度範囲に該当するページの総数とページ割合を表す。ページ割合は、VVOLに割り当てられているページの総数に対する、アクセス頻度範囲に該当するページの総数の割合である。図では、アクセス頻度範囲のサイズは、250であるが、アクセス頻度範囲のサイズは、例えば、1以上で整数であれば何でも良い。
 VVOL管理プログラム5010が、ページ状態管理テーブル402を基に、VVOL毎のアクセス分布1008を算出することができる。
 実施例2では、性能管理プログラム5020が、図19に示す処理を行う。
 図19は、実施例2に係る性能管理プログラム5020が行うリバランス処理の流れを示す。
 プログラム5020は、VVOL管理テーブル2004を基に、不適切なVVOLがあるか否かを判断する(S2101)。ここで言う「不適切なVVOL」は、相対的にSLO1004が小さいのに相対的に性能1007(平均レスポンスタイム)が大きいVVOLである。例えば、1つのプールに、下記の3つのVVOLが関連付けられていた場合、VVOL11が、性能1007がSLO1004と係数gとの積を超えていないものの、不適切なVVOLであると検出される。なぜなら、VVOL11のSLOは、VVOL13のSLOより小さいのに、VVOL 11の性能が、VVOL13の性能より大きいからである。
VVOL11   SLO:16.0、性能:14.1
VVOL12   SLO:12.0、性能: 4.5
VVOL13   SLO:18.0、性能:12.2。
 なお、不適切なVVOLの検出には、下記の(i)及び(ii)の一方又は両方が採用されても良い。
(i)SLOが相対的に低い第1のVVOLの性能が、SLOが相対的に高い第2のVVOLの性能より高くても、その差が、所定の閾値(0より大きい値)以下であれば、第1のVVOLは、不適切なVVOLとして検出されなくて良い。具体的には、例えば、所定の閾値として2.0が設定されている場合、VVOL11は、不適切なVVOLとして検出されない。なぜなら、VVOL11の性能とVVOL13の性能の差は1.9であり、それは、閾値2.0以下であるからである。
(ii)不適切なVVOL検出には、VVOL毎の履歴情報を基に決定されても良い。履歴情報の一例を、図20に示す。履歴情報2001は、例えば、VVOLにどの時点でどの階層から幾つのページが割り当てられていたかを表す情報である。また、履歴情報2001は、複数の時点での階層毎の使用ページ数を基に集計された、階層毎の使用ページ数を表す情報(以下、階層毎の集計情報)2002を有する。この履歴情報2001(例えば階層毎の集計情報2002)を基に、VVOLの性能1007が補正され、各VVOLの補正後の性能1007を用いて、VVOL同士の性能差が算出されても良い。履歴情報2001は、例えば、プール管理テーブル403を基にVVOL管理プログラム5010によって更新されて良い。また、履歴情報2001は、各時点についての重み係数を表す情報2003を有していても良い(図20によれば、現在に近い時点ほど、重み係数が大きい)。VVOLの性能1007は、各時点の階層毎のページ数に加えて、各時点の重み係数を用いて、補正されても良い。
 S2101の判断の結果が否定的であれば、一定時間待った後(S2102)、S2101が再度行われる。
 S2101の判断の結果が肯定的であれば、プログラム5020が、不適切なVVOLに関連付けられているプール以外のプール(ストレージシステム103におけるプール)でS2105が行われていないプール(未処理のプール)があるか否かを判断する(S2103)。
 S2103の判断の結果が否定的であれば、プログラム5020は、アラートを発行する(S2104)。なぜなら、後述の説明から分かるように、不適切なVVOLがあるにも関わらず、適切なマイグレーション先のプールが見つからなかったからである。なお、S2104に代えて、プログラム5020が、新規にプールをストレージ装置に作成させ、その新規のプールについて、S2105が行われても良い。S2104の後、S2102が行われる。
 S2103の判断の結果が肯定的であれば、プログラム5020は、未処理のプールを1つ選択し、選択したプールに、不適切なVVOLの記憶容量以上の空き容量があるか否かを判断する(S2105)。S2105の判断の結果が否定的であれば、S2103が再度行われる。
 S2105の判断の結果が肯定的であれば、プログラム5020は、不適切なVVOLに割り当てられている全てのページをS2105で選択したプールにマイグレーションしたと仮定した場合の、その選択したプール(マイグレーション先プール候補)に関連付けられている各VVOLの性能1007を予測する(S2106)。S2106では、具体的には、例えば、下記の処理が行われる。
(j1)プログラム5020が、管理計算機201内の記憶資源211に、図21に示すVVOLマイグレーション検証テーブル2101を用意する。テーブル2101は、マイグレーション先プール候補に関連付けられている各VVOLと、不適切なVVOL(VVOLX)とについて、下記の情報を有する。
*VVOL ID2111:VVOLのID、
*アクセス分布2112:VVOLのアクセス分布1008(図18参照)と同じ情報、
*合計2113:VVOLに割り当てられているページ(使用ページ)の総数、
*メディア比2114:合計2113に対する、階層毎の使用ページの総数の割合、
*性能2115:VVOLの性能1007(図18参照)と同じ値。
*SLO2116:VVOLの性能1004(図18参照)と同じ値。
(j2)プログラム5020が、テーブル2101に登録されている全てのアクセス分布2112を基に、アクセス頻度範囲毎の総使用ページ数を算出する。例えば、テーブル2101に登録されているVVOL ID2111が、VVOL1、VVOL2、VVOL3、VVOLXの4つであり、且つ、アクセス頻度範囲「500-749」が、3000、2000、2000、1500であった場合、アクセス頻度範囲「500-749」の総使用ページ数は、3000+2000+2000+1500=8500となる。
(j3)プログラム5020が、マイグレーション先プール候補における階層毎のページ群を、アクセス頻度範囲毎の総使用ページ数に応じて、割り振る。その際、アクセス頻度範囲が高いページが割り当てられている仮想領域ほど、上位の階層のページが優先的に割り当てられると仮定される。具体的には、例えば、上位階層を構成するページの数が10000、中位階層を構成するページの数が40000、下位階層を構成するページの数が50000であるとする。1番目に高いアクセス頻度範囲「2500以上」の総使用ページ数が6000の場合、上位階層の10000個のページのうちの6000個のページに、アクセス頻度範囲「2500以上」に属するアクセス頻度の6000個のページ内のデータが格納されると仮定される。2番目に高いアクセス頻度範囲「2250以上2249以下」の総使用ページ数が9000の場合、上位階層の10000個のページのうちの残りの4000個のページに、アクセス頻度範囲「2250以上2249以下」に属するアクセス頻度の8000個のページのうちの4000個のページ内のデータが格納されると仮定され、中位階層の40000個のページのうちの5000個のページに、アクセス頻度範囲「2250以上2249以下」に属するアクセス頻度の残りの5000個のページ内のデータが格納されると仮定される。その際、上位階層の4000個のページは、アクセス頻度範囲「2250以上2249以下」にアクセス頻度が属する使用ページ数の比(VVOL1:VVOL2:VVOL3:VVOLX)を基に割り振られる。
(j4)プログラム5020が、上記(j3)の結果を基に、VVOL1~3及びVVOLXについてメディア比2114を更新する。更新後の値が、図21に、記号「->」の後に示されている。
(j5)プログラム5020が、VVOL1~3及びVVOLXについて、更新後のメディア比2114を基に、マイグレーションが行われたと仮定した場合の性能2115を算出する。その性能2115の値が、図21に、記号「->」の後に示されている。マイグレーション先プール候補には、VVOLXが新たに関連付けられると仮定されているので、VVOLXを新たに関連付けることの影響で、VVOL1~3の性能2115は、図21に示す通り悪化する(平均レスポンスタイムが長くなる)。
 プログラム5020は、VVOLマイグレーション検証テーブル2101を基に、マイグレーション先候補プールに関連付けられているVVOL(上記の例によれば、VVOL1~3及びVVOLX)に、下記(a)及び(b)のいずれかのVVOLがあるか否かを判断する(S2107)。
(a)性能2115がSLO2116と係数gとの閾値を超えるVVOL、
(b)実施例2における前述の不適切なVVOL(すなわち、相対的にSLO2116が小さいのに相対的に性能2115(平均レスポンスタイム)が大きいVVOL)。
 S2107の判断の結果が否定的であれば、S2103が再度行われる。
 S2107の判断の結果が肯定的であれば、プログラム5020は、下位の情報を有するVVOLマイグレーション指示を作成し、不適切なVVOLを有するストレージ装置に、その指示を送信する(S2108)。
*マイグレーション対象のVVOL(つまり、不適切なVVOL)のID、
*マイグレーション先プール候補を有するストレージ装置のID、
*マイグレーション先プール(マイグレーション先プール候補)のID。
 そのVVOLマイグレーション指示に応答して、不適切なVVOLに割り当てられている全てのページ内のデータが、マイグレーション先プールにマイグレーションされる。なお、その指示は、S2106の予測に従う情報を含んで良い。例えば、不適切なVVOLに割り当てられている全てのページのうち、アクセス頻度範囲「2500以上」に属するアクセス頻度のページ内のデータは、マイグレーション先プールにおける上位階層におけるページにマイグレーションされる、ことを表す情報が、VVOLマイグレーション指示に含まれて良い。
 管理者から終了指示が入力された場合(S2109:YES)、このリバランス処理が終了する。管理者から終了指示が無ければ(S2109:NO)、S2108が行われて一定時間待った後に(S2102)、S2101が再度行われる。
 以上が、実施例2の説明である。
 なお、実施例2では、不適切なVVOLは、将来問題が生じる可能性が高いVVOLを意味する定義であれば、相対的にSLOが小さいのに相対的に性能(平均レスポンスタイム)が大きいVVOLであることに代えて又は加えて、他の定義であっても良い。例えば、不適切なVVOLとしは、SLOが大きいのに性能が小さいVVOLで良い。具体的には、例えば、不適切なVVOLは、性能がSLOの50%より小さいVVOLが不適切なVVOLとして検出されてよい。この場合、SLOが18.0であれば、平均レスポンスタイムが9.0以下のVVOLが、不適切なVVOLである。
 以下、本発明の実施例3を説明する。その際、実施例2との相違点を主に説明し、実施例2との共通点については説明を省略或いは簡略する。
 実施例3では、SLOとアクセス分布の両方が類似している複数のVVOLが同一のプールに関連付けられるリバランス処理が行われる。そのリバランス処理は、管理計算機201内の性能管理プログラム5020によって行われる。
 図22は、実施例3に係る性能管理プログラム5020が行うリバランス処理の流れを示す。
 プログラム5020は、クラスタリング、すなわち、SLOとアクセス分布が類似している複数のVVOLが同じグループに属するようなグルーピングを行う(S2601)。具体的には、例えば、下記の処理(m1)及び(m2)が行われる。
(m1)プログラム5020は、ストレージシステム103内の全てのVVOL(N個のVVOL)を、SLOが類似しているM個のVVOL単位で、グルーピングする(N>M、N及びMは所定値且つ自然数)。例えば、N=10000でM=100であれば、100個のVVOL群ができる。この段階での各VVOL群を、「VVOL群x」と表す。この(m1)では、SLOが近いM個のVVOLずつグルーピングされるので、或るVVOL群xについてのSLOの最大値(及び最小値)と、別のVVOL群xについてのSLOの最大値(及び最小値)は異なることがある。
(m2)プログラム5020は、各VVOL群xについて、M個のVVOLを、アクセス分布が類似しているP個のVVOL単位で、グルーピングする(M>P、Pは所定値且つ自然数)。この段階での各VVOL群を、「VVOL群y」と表す。つまり、ストレージシステム内のN個のVVOLは、複数のVVOL群yにグルーピングされる。なお、類似度として、例えば、残差の二乗和が採用される。残差の二乗和が最小になるようにグルーピングが行われる。4個のVVOL(VVOL1~VVOL4)で構成されたVVOL群xを2個のVVOLずつにグルーピングすることを例に採ると、次のようにグルーピングが行われる。
*VVOL1~4のアクセス分布が「1」で正規化されたものが、図23に示す通りであるとする。また、図23のアクセス分布のグラフを、図24に示す(図24では、VVOLが「vol」と表記されている)。
*各VVOL同士の類似度が算出される。類似度は、例えば残差の二乗和(アクセス頻度範囲毎の使用ページ数(正規化された値)の差の二乗の合計)である。例えば、VVOL1とVVOL2の類似度は、
(0.6-0.5)+(0.08-0.09)+ … +(0.04-0.06)=0.0118
である。各VVOL同士の類似度は、下記の通りとなる。正確な類似度をカッコ内に示し、正確な類似度の小数点第3位を四捨五入した値をカッコ外に示す。
VVOL1-VVOL2:0.01(0.0118)
VVOL1-VVOL3:0.21(0.208)
VVOL1-VVOL4:0.37(0.3712)
VVOL2-VVOL3:0.13(0.1264)
VVOL2-VVOL4:0.26(0.2618)
VVOL3-VVOL4:0.04(0.0388)
*プログラム5020は、類似度の合計が最小になる組合せを見つける。上記の例によれば、VVOL1-VVOL2:0.01と、VVOL3-VVOL4:0.04の組合せである0.5が最小である。このため、プログラム5020は、VVOL1~VVOL4を、VVOL1,2で構成されたVVOL群yと、VVOL3,4で構成されたVVOL群yに、グルーピングすることを決定する。なお、VVOL1,2のアクセス分布同士と、VVOL3,4のアクセス分布同士が、VVOL1又は2のアクセス分布とVVOL3又は4のアクセス分布同士に比べて類似していることは、図24のグラフからも明らかである。
 再び図22を参照する。プログラム5020は、マイグレーションプランを作成する(S2602)。そのプランは、下記の条件を満たすプランである。
*VVOLマイグレーションでマイグレーションされるデータの量が最小になるようなプラン。具体的には、例えば、プログラム5020は、VVOL管理テーブル2004の使用容量1005(図18参照)を基に、マイグレーション対象のVVOLの数ではなく、マイグレーションされるデータの総量が最小になるようなマイグレーションプランを作成する。
*1つのプールに、1つのVVOL群yだけが関連付けられる。すなわち、1つのプールには、SLO及びアクセス分布が類似していないVVOLは関連付けられない。
 プログラム5020は、S2602で作成したプランに従うマイグレーションを実行すべきか否かを判断する(S2603)。例えば、プログラム5020は、そのプランに従うマイグレーションを行うと、性能がSLOと係数gとの積を越えるVVOLが出ないか否かを判断する。
 S2603の判断の結果が否定的であれば、S2604がスキップされ、S2605が行われる。
 S2603の判断の結果が肯定的であれば、プログラム5020は、S2602で作成したプランに従うVVOLマイグレーション指示を作成する。例えば、その指示は、マイグレーション対象のVVOL、或いは、マイグレーション対象のVVOLを有するストレージ装置別に作成される。プログラム5020は、作成したVVOLマイグレーション指示を、マイグレーション対象のVVOLを有するストレージ装置に送信する。これにより、S2602で作成したプランに従うマイグレーションが行われる。
 プログラム5020は、終了指示を管理者から入力された場合(S2605:YES)、このリバランス処理を終了し、終了指示が管理者から入力されていなければ(S2605:NO)、一定時間待って(S2606)、S2601を再度行う。
 以上が、実施例3の説明である。
 なお、VVOL群x及びVVOL群yのうちの少なくとも一方は、VVOLの数は所定値でなくて良い。例えば、複数のSLO範囲が定義されていて、1つのSLO範囲につき、そのSLO範囲に属するSLOの全てのVVOLで、VVOL群xが構成されても良い。つまり、複数のVVOL群xには、VVOLの数が異なる二以上のVVOL群xがあっても良い。同様に、複数のVVOL群yには、VVOLの数が異なる二以上のVVOL群yがあっても良い。
 また、マイグレーションプランは、マイグレーション対象のデータの総量がなるべく小さくなることに代えて又は加えて、VVOL群yのアクセス分布と、各プールの構成(例えば各階層の容量)とに基づいて、決定されて良い。具体的には、例えば、アクセス頻度が高い使用ページが他のVVOL群yよりも多く割り当てられているVVOL群yには、他のVVOL群yが関連付けられるプールよりも上位階層の容量が大きい(又はプールにおける比率が高い)プールが関連付けられ、アクセス頻度が小さい使用ページ数が他のVVOL群yより多く割り当てられているVVOL群yには、他のVVOL群yが関連付けられるプールよりも下位階層の容量が大きい(又はプールにおける比率が高い)プールが関連付けられるようなプランが作成されて良い。或いは、例えば、プログラム5020は、プランの作成において、マイグレーション先のプールを決定し、VVOL群yについてのアクセス分布からオーバープロビジョニング(或いは、性能又は容量の不足)が予測されれば、どのプールのどの階層にどれだけの容量を追加又は削除するか(例えばどのメディアを追加又は削除するか)を決定して良い。その決定した内容は、S2604のマイグレーションの実行前又は後に、管理者に通知されて良い。
 実施例4では、SLOが、VVOL毎ではなく、アクセス元毎に用意される。
 図25は、実施例4に係るVVOL管理テーブル2701を示す。
 本実施例では、アクセス元は、ホスト装置101で実行されるアプリケーションプログラムである。テーブル2701には、アプリケーションプログラム毎に、図18を参照して説明した情報1001、1002、…の他に、下記の情報を有する。
*APP ID2511:アプリケーションプログラムのID、
*LBA範囲:アプリケーションプログラムからアクセス可能なVVOLのLBA範囲を表す情報。
 テーブル2701において、SLO1004及び性能1007(図25には示されていない)は、アクセス元についてのSLO1004及び性能1007である。このため、実施例4では、不適切なVVOLに代えて不適切なアプリケーションプログラムが検出されることになる。不適切なアプリケーションプログラムが検出された場合、実施例1~3のうちの少なくとも1つの実施例におけるリバランス処理が行われ、それにより、不適切なアプリケーションプログラムが適切なアプリケーションプログラムとなる。
 図25によれば、1つのアプリケーションプログラム(例えば、APP1)が複数のVVOL(例えば、VVOL1、VVOL3)にアクセス可能なケース(以下、第1のケース)もあれば、複数のアプリケーションプログラム(例えば、APP3、APP4)が、VVOL(例えば、VVOL2)を共有するケース(以下、第2のケース)もある。VVOLが複数のアプリケーションプログラムから共有される場合、VVOLのどのLBA範囲にどのアプリケーションプログラムがアクセス可能であるかが、テーブル2701に定義されている。
 第1のケースでは、1つのアプリケーションプログラムに対応したVVOL毎に、実施例1~3の少なくとも1つに従う処理を行うことができる。
 第2のケースでは、複数のアプリケーションプログラムに共有されるVVOL(複数のSLO1004が対応付けられたVVOL)について、いずれか1つのSLO1004(例えば、対応付けられている複数のSLO1004のうちの最小のSLO1004)を用いて、実施例1~3の少なくとも1つに従う処理を行うことができる。
 アクセス元は、アプリケーションプログラムに代えて又は加えて、仮想計算機或いはホスト装置であっても良い。
 以上、本発明の幾つかの実施例を説明したが、本発明は、これらの実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、仮想領域に対するアクセスが発生した場合には、その仮想領域に割り当てられているページにアクセスしたか否かに関わらず、仮想領域に対応したアクセス頻度505は更新されても良い。また、仮想領域に対するアクセスが特定種類のアクセスの場合(例えばリードの場合)、仮想領域に対応したアクセス頻度505は更新されなくても良い。
101…ホスト装置 201…管理計算機 103…ストレージシステム

Claims (15)

  1.  アクセス元からアクセスコマンドを受信するストレージシステムの管理システムであって、
     前記ストレージシステムが、複数の仮想ボリュームと、複数のプールと、コントローラとを有し、
     各仮想ボリュームは、複数の仮想領域で構成された仮想的な論理ボリュームであり、
     各プールは、性能が異なる複数の実領域群で構成された記憶領域であり、
     前記コントローラは、
    (a)前記アクセスコマンドを受信し、
    (b)前記アクセスコマンドから特定された仮想領域に実領域が割り当てられていれば、その実領域にアクセスし、
    (c)前記特定された仮想領域に実領域が割り当てられていなければ、前記複数のプールのうちの、前記特定された仮想領域を有する仮想ボリュームに関連付けられているプールから実領域を割り当て、割り当てた実領域にアクセスし、
     前記コントローラは、どの仮想領域にどの実領域が割り当てられているかと仮想領域に関するアクセス負荷とを表す情報であるプール状況情報を管理し、
     前記管理システムが、
     記憶資源と、
     前記記憶資源に接続されたプロセッサと
    を有し、
     前記記憶資源が、アクセス元から仮想ボリュームへのアクセスに関する要求性能と、アクセス元から仮想ボリュームへのアクセスに関する性能とを各仮想ボリュームについて表す管理情報を記憶し、
     仮想ボリュームの性能は、前記プール状況情報を基に特定された性能であり、
     前記プロセッサが、
    (A)前記管理情報を基に、前記複数の仮想ボリュームのうち状況が不適切である仮想ボリュームを特定し、
    (B)前記特定された仮想ボリュームの状況を不適切な状況から適切な状況に変えるために前記特定された仮想ボリュームに関連付けられているプールに関わるマイグレーション処理を行う、
    管理システム。
  2.  請求項1記載の管理システムであって、
     前記(A)で特定される仮想ボリュームは、性能が要求性能を満たしているものの性能が要求性能を将来満たさなくなる可能性の高い仮想ボリュームであり、
     前記(B)で行われるマイグレーション処理は、前記(A)で特定された仮想ボリュームに割り当てられている全ての実領域内のデータが、前記(A)で特定された仮想ボリュームに関連付けられているプールである第1のプールから、前記第1のプールとは別のプールである第2のプールにマイグレーションされ、且つ、前記(A)で特定された仮想ボリュームが前記第1のプールに代えて前記第2のプールに関連付けられるための処理である、
    管理システム。
  3.  請求項2記載の管理システムであって、
     前記第2のプールは、前記(A)で特定された仮想ボリュームが関連付けられても、既に関連付けられているいずれの仮想ボリュームも、性能が要求性能を満たさなくなる仮想ボリュームにも、性能が要求性能を満たしているものの性能が要求性能を将来満たさなくなる可能性の高い仮想ボリュームにもならないプールである、
    管理システム。
  4.  請求項3記載の管理システムであって、
     前記プロセッサが、前記プール状況情報を基に、アクセス負荷範囲毎の実領域数を表すアクセス状況を各仮想ボリュームについて特定し、
     前記プロセッサが、前記(B)において、
    (b1)前記第1のプール以外のプールから、前記第2のプールの候補を決定し、
    (b2)前記第2のプールの候補に既に割り当てられている仮想ボリュームのアクセス状況と、前記第2のプールの候補に割り当てられる予定の前記(A)で特定された仮想ボリュームのアクセス状況と、前記第2のプールの候補を構成する実領域群毎の実領域数とを基に、前記第2のプールの候補を前記第2のプールとするか否かを判断し、
     前記(b2)では、アクセス負荷範囲が高い実領域が割り当てられている仮想領域ほど、性能の高い実領域群内の実領域が割り当てられると仮定され、
     前記(b2)の判断の結果が肯定的の場合に、前記第2のプールの候補が前記第2のプールである、
    管理システム。
  5.  請求項2記載の管理システムであって、
     前記(A)で特定される仮想ボリュームは、前記第1のプールに関連付けられている複数の仮想ボリュームにおいて、要求性能が他の仮想ボリュームの要求性能に比して高いが、性能が他の仮想ボリュームの性能に比して低い仮想ボリュームである、
    管理システム。
  6.  請求項2記載の管理システムであって、
     前記(A)で特定される仮想ボリュームは、前記第1のプールに関連付けられている複数の仮想ボリュームにおいて、要求性能が他の仮想ボリュームの要求性能に比して高いが、性能が他の仮想ボリュームの性能に比して低い仮想ボリュームである、
    管理システム。
  7.  請求項1記載の管理システムであって、
     前記プロセッサが、前記プール状況情報を基に、アクセス負荷範囲毎の実領域数を表すアクセス状況を各仮想ボリュームについて特定し、
     前記(A)で特定される仮想ボリュームは、その仮想ボリュームが関連付けられているプールに関連付けられている複数の仮想ボリュームにおける仮想ボリュームであって、それら複数の仮想ボリュームにおいて、要求性能及びアクセス状況が他の仮想ボリュームの要求性能及びアクセス状況に比べて許容範囲以上に異なっている仮想ボリュームである、
    管理システム。
  8.  請求項7記載の管理システムであって、
     前記(B)で行われるマイグレーション処理は、要求性能及びアクセス状況が類似している複数の仮想ボリュームが1つのプールに関連付けられるための処理であり、その処理において、その1つのプールとは別のプールに関連付けられていた仮想ボリュームがその1つのプールに関連付けられる場合には、その仮想ボリュームに割り当てられていた全ての実領域内のデータを前記別のプールから前記1つのプールにマイグレーションするための処理が行なわれる、
    管理システム。
  9.  請求項8記載の管理システムであって、
     前記(B)において、要求性能及びアクセス状況が類似している複数の仮想ボリュームが関連付けられるプールは、マイグレーションされるデータの総量が最も少なくて済むプールである、
    管理システム。
  10.  請求項1記載の管理システムであって、
     前記(A)で特定される仮想ボリュームは、性能が要求性能を満たしていない仮想ボリュームである、
    管理システム。
  11.  請求項10記載の管理システムであって、
     前記(B)で行われるマイグレーション処理は、前記(A)で特定された仮想ボリュームに関連付けられているプールに、別のプールから第1の記憶容量を追加するための処理であり、
     前記第1の記憶容量は、前記別のプールに関連付けられている仮想ボリュームの性能のわりに余っている記憶容量であり、且つ、第2の記憶容量以上の記憶容量であり、
     前記第2の記憶容量は、前記(A)で特定された仮想ボリュームに関連付けられているプールに、前記(A)で特定された仮想ボリュームの性能がその仮想ボリュームの要求性能を満たすために追加すべき記憶容量である、
    管理システム。
  12.  請求項10記載の管理システムであって、
     前記(B)で行われるマイグレーション処理は、前記(A)で特定された仮想ボリュームに割り当てられている全ての実領域内のデータが、前記(A)で特定された仮想ボリュームに関連付けられているプールである第1のプールから、前記第1のプールとは別のプールである第2のプールにマイグレーションされ、且つ、前記(A)で特定された仮想ボリュームが前記第1のプールに代えて前記第2のプールに関連付けられるための処理であり、
     前記第2のプールは、前記(A)で特定された仮想ボリュームが関連付けられても、既に関連付けられているいずれの仮想ボリュームも、性能が要求性能を満たさなくなる仮想ボリュームにならないプールである、
    管理システム。
  13.  請求項10記載の管理システムであって、
     前記プロセッサが、前記(B)において、
    (b1)前記(A)で特定された仮想ボリュームに関連付けられているプールに、別のプールから第1の記憶容量を追加するための処理を行うことで、前記特定された仮想ボリュームの状況が不適切な状況から適切な状況に変わるか否かを判断し、
    (b2)前記(b1)の判断の結果が否定的であれば、前記(A)で特定された仮想ボリュームに割り当てられている全ての実領域内のデータが、前記(A)で特定された仮想ボリュームに関連付けられているプールである第1のプールから、前記第1のプールとは別のプールである第2のプールにマイグレーションされ、且つ、前記(A)で特定された仮想ボリュームが前記第1のプールに代えて前記第2のプールに関連付けられるための処理が行われれば、前記特定された仮想ボリュームの状況が不適切な状況から適切な状況に変わるか否かを判断し、
     前記第1の記憶容量は、前記別のプールに関連付けられている仮想ボリュームの性能のわりに余っている記憶容量であり、且つ、第2の記憶容量以上の記憶容量であり、
     前記第2の記憶容量は、前記(A)で特定された仮想ボリュームに関連付けられているプールに、前記(A)で特定された仮想ボリュームの性能がその仮想ボリュームの要求性能を満たすために追加すべき記憶容量である、
    管理システム。
  14.  請求項1記載の管理システムであって、
     前記管理情報が、要求性能及び性能を各アクセス元について表し、且つ、どの1以上のアクセス元がどの仮想ボリュームを利用するかを表す情報を有し、
     前記(A)では、仮想ボリュームに代えて、複数のアクセス元のうち状況が不適切であるアクセス元が特定され、
     前記(B)では、前記特定されたアクセス元の状況を不適切な状況から適切な状況に変えるために前記特定されたアクセス元からアクセスされる仮想ボリュームに関連付けられているプールに関わるマイグレーション処理が行われる、
    管理システム。
  15.  アクセス元からアクセスコマンドを受信するストレージシステムの管理方法であって、
     前記ストレージシステムが、複数の仮想ボリュームと、複数のプールと、コントローラとを有し、
     各仮想ボリュームは、複数の仮想領域で構成された仮想的な論理ボリュームであり、
     各プールは、性能が異なる複数の実領域群で構成された記憶領域であり、
     前記コントローラは、
    (a)前記アクセスコマンドを受信し、
    (b)前記アクセスコマンドから特定された仮想領域に実領域が割り当てられていれば、その実領域にアクセスし、
    (c)前記特定された仮想領域に実領域が割り当てられていなければ、前記複数のプールのうちの、前記特定された仮想領域を有する仮想ボリュームに関連付けられているプールから実領域を割り当て、割り当てた実領域にアクセスし、
     前記コントローラは、どの仮想領域にどの実領域が割り当てられているかと仮想領域に関するアクセス負荷とを表す情報であるプール状況情報を管理し、
     前記管理方法が、
     アクセス元から仮想ボリュームへのアクセスに関する要求性能と、アクセス元から仮想ボリュームへのアクセスに関する性能とを各仮想ボリュームについて表す管理情報を基に、前記複数の仮想ボリュームのうち状況が不適切である仮想ボリュームを特定し、
     前記特定された仮想ボリュームの状況を不適切な状況から適切な状況に変えるために前記特定された仮想ボリュームに関連付けられているプールに関わるマイグレーション処理を行う、
    管理方法。
PCT/JP2010/000511 2010-01-28 2010-01-28 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法 WO2011092738A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/742,502 US8543778B2 (en) 2010-01-28 2010-01-28 Management system and methods of storage system comprising pool configured of actual area groups of different performances
PCT/JP2010/000511 WO2011092738A1 (ja) 2010-01-28 2010-01-28 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
JP2011551580A JP5314772B2 (ja) 2010-01-28 2010-01-28 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/000511 WO2011092738A1 (ja) 2010-01-28 2010-01-28 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法

Publications (1)

Publication Number Publication Date
WO2011092738A1 true WO2011092738A1 (ja) 2011-08-04

Family

ID=44318758

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/000511 WO2011092738A1 (ja) 2010-01-28 2010-01-28 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法

Country Status (3)

Country Link
US (1) US8543778B2 (ja)
JP (1) JP5314772B2 (ja)
WO (1) WO2011092738A1 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045444A (ja) * 2011-08-19 2013-03-04 Hitachi Ltd データセンタ内のリソースの使用効率を改善するための方法及び装置
WO2013061368A1 (en) * 2011-10-26 2013-05-02 Hitachi, Ltd. Storage apparatus and method of controlling storage apparatus
WO2013061380A1 (en) 2011-10-28 2013-05-02 Hitachi, Ltd. Computer system and management system for performance optimisation in a storage network
WO2013103005A1 (ja) * 2012-01-05 2013-07-11 株式会社日立製作所 計算機システムの管理装置及び管理方法
US8683162B2 (en) 2011-06-08 2014-03-25 Hitachi, Ltd. Computer system and method of managing storage system monitoring access performance for risky pool detection
WO2014073045A1 (ja) 2012-11-07 2014-05-15 株式会社日立製作所 計算機システム、ストレージ管理計算機及びストレージ管理方法
JP2014530394A (ja) * 2011-09-12 2014-11-17 マイクロソフト コーポレーション 不揮発性記憶装置セットの揮発メモリ表現
JP2015520426A (ja) * 2012-07-18 2015-07-16 株式会社日立製作所 ストレージ装置及び記憶制御方法
JP2015526823A (ja) * 2012-08-27 2015-09-10 ヴイエムウェア インコーポレイテッドVMware,Inc. 共用記憶域上にある仮想ディスクのトランスペアレントなホスト側キャッシング
JP2015225510A (ja) * 2014-05-28 2015-12-14 日本電気株式会社 バックアップシステムおよびバックアップ方法
JP2016091534A (ja) * 2014-10-30 2016-05-23 株式会社東芝 メモリシステム及びプログラム
JP2016212904A (ja) * 2011-08-26 2016-12-15 ヴイエムウェア インコーポレイテッドVMware,Inc. ストレージ・オブジェクトとして論理ボリュームをエクスポートするデータ・ストレージ・システム
WO2017017775A1 (ja) * 2015-07-28 2017-02-02 株式会社日立製作所 計算機システム及びボリュームの割り当て制御方法
US9639435B2 (en) 2013-11-11 2017-05-02 Hitachi, Ltd. Management computer and management method of computer system

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443153B1 (en) 2010-01-06 2013-05-14 Netapp, Inc. Dynamic balancing of performance with block sharing in a storage system
JP5309259B2 (ja) * 2010-03-25 2013-10-09 株式会社日立製作所 ストレージ装置及びその制御方法
US8732518B2 (en) 2011-04-13 2014-05-20 Netapp, Inc. Reliability based data allocation and recovery in a storage system
US8972694B1 (en) * 2012-03-26 2015-03-03 Emc Corporation Dynamic storage allocation with virtually provisioned devices
US9052830B1 (en) * 2011-06-30 2015-06-09 Emc Corporation Techniques for automated evaluation and movement of data between storage tiers for thin devices
US8706962B2 (en) * 2012-01-27 2014-04-22 International Business Machines Corporation Multi-tier storage system configuration adviser
US9639383B1 (en) * 2012-06-27 2017-05-02 EMC IP Holding Company LLC Volume moving
US9235353B2 (en) * 2012-10-12 2016-01-12 Hitachi, Ltd. Storage apparatus and management method including determination of migration of data from one storage area to another based on access frequency
US9608933B2 (en) * 2013-01-24 2017-03-28 Hitachi, Ltd. Method and system for managing cloud computing environment
CN103152405B (zh) * 2013-02-19 2017-05-03 浪潮电子信息产业股份有限公司 一种高可用集群对于存储池资源的应用方法
US20140281301A1 (en) * 2013-03-15 2014-09-18 Silicon Graphics International Corp. Elastic hierarchical data storage backend
WO2014188682A1 (ja) * 2013-05-20 2014-11-27 日本電気株式会社 ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
US20160004476A1 (en) * 2013-07-03 2016-01-07 Hitachi, Ltd. Thin provisioning of virtual storage system
US11016820B2 (en) 2013-08-26 2021-05-25 Vmware, Inc. Load balancing of resources
US9887924B2 (en) 2013-08-26 2018-02-06 Vmware, Inc. Distributed policy-based provisioning and enforcement for quality of service
US9811531B2 (en) 2013-08-26 2017-11-07 Vmware, Inc. Scalable distributed storage architecture
US10747475B2 (en) 2013-08-26 2020-08-18 Vmware, Inc. Virtual disk blueprints for a virtualized storage area network, wherein virtual disk objects are created from local physical storage of host computers that are running multiple virtual machines
WO2015065322A1 (en) * 2013-10-28 2015-05-07 Hitachi, Ltd. De-duplication and host based qos in tiered storage
CN104750538B (zh) * 2013-12-27 2020-03-03 伊姆西Ip控股有限责任公司 用于为目标应用提供虚拟存储池的方法和系统
US11347637B2 (en) 2014-10-30 2022-05-31 Kioxia Corporation Memory system and non-transitory computer readable recording medium
US10102118B2 (en) 2014-10-30 2018-10-16 Toshiba Memory Corporation Memory system and non-transitory computer readable recording medium
CN104536909B (zh) * 2014-12-09 2018-01-23 华为技术有限公司 一种存储管理方法,存储管理装置及存储设备
GB2533405A (en) 2014-12-19 2016-06-22 Ibm Data storage resource assignment
US20160328179A1 (en) * 2015-05-08 2016-11-10 Micron Technology, Inc. Multiple virtually over-provisioned, virtual storage devices created from a single physical storage device
US9696930B2 (en) * 2015-06-10 2017-07-04 International Business Machines Corporation Reducing new extent failures on target device during non-disruptive logical data set migration
US9582328B1 (en) * 2015-06-19 2017-02-28 EMC IP Holding Company LLC Allocation of resources in computing environments
US20170031600A1 (en) * 2015-07-30 2017-02-02 Netapp Inc. Real-time analysis for dynamic storage
US10509578B2 (en) * 2016-04-14 2019-12-17 Red Hat, Inc. Logical address space for storage resource pools
US10503413B1 (en) * 2016-06-01 2019-12-10 EMC IP Holding Company LLC Methods and apparatus for SAN having local server storage including SSD block-based storage
US10089136B1 (en) * 2016-09-28 2018-10-02 EMC IP Holding Company LLC Monitoring performance of transient virtual volumes created for a virtual machine
US10795583B2 (en) * 2017-07-19 2020-10-06 Samsung Electronics Co., Ltd. Automatic data placement manager in multi-tier all-flash datacenter
WO2019066689A1 (en) * 2017-09-27 2019-04-04 Telefonaktiebolaget Lm Ericsson (Publ) METHOD AND RE-ASSEMBLY COMPONENT FOR MANAGING THE RESETTING OF INFORMATION FROM TARGET SOURCE MEMORY CIRCUITS
US20210405913A1 (en) * 2020-06-26 2021-12-30 Micron Technology, Inc. Host access tracking in a memory sub-system
US20220382478A1 (en) * 2021-06-01 2022-12-01 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for page migration in memory systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005537554A (ja) * 2002-08-29 2005-12-08 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・ユニット間のデータ移動
JP2007102455A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ストレージシステム及び構成変更方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4175788B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005537554A (ja) * 2002-08-29 2005-12-08 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・ユニット間のデータ移動
JP2007102455A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ストレージシステム及び構成変更方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683162B2 (en) 2011-06-08 2014-03-25 Hitachi, Ltd. Computer system and method of managing storage system monitoring access performance for risky pool detection
JP2013045444A (ja) * 2011-08-19 2013-03-04 Hitachi Ltd データセンタ内のリソースの使用効率を改善するための方法及び装置
JP2016212904A (ja) * 2011-08-26 2016-12-15 ヴイエムウェア インコーポレイテッドVMware,Inc. ストレージ・オブジェクトとして論理ボリュームをエクスポートするデータ・ストレージ・システム
JP2014530394A (ja) * 2011-09-12 2014-11-17 マイクロソフト コーポレーション 不揮発性記憶装置セットの揮発メモリ表現
WO2013061368A1 (en) * 2011-10-26 2013-05-02 Hitachi, Ltd. Storage apparatus and method of controlling storage apparatus
US8572347B2 (en) 2011-10-26 2013-10-29 Hitachi, Ltd. Storage apparatus and method of controlling storage apparatus
WO2013061380A1 (en) 2011-10-28 2013-05-02 Hitachi, Ltd. Computer system and management system for performance optimisation in a storage network
US8856264B2 (en) 2011-10-28 2014-10-07 Hitachi, Ltd. Computer system and management system therefor
US9086804B2 (en) 2012-01-05 2015-07-21 Hitachi, Ltd. Computer system management apparatus and management method
WO2013103005A1 (ja) * 2012-01-05 2013-07-11 株式会社日立製作所 計算機システムの管理装置及び管理方法
JP5668151B2 (ja) * 2012-01-05 2015-02-12 株式会社日立製作所 計算機システムの管理装置及び管理方法
JP2015520426A (ja) * 2012-07-18 2015-07-16 株式会社日立製作所 ストレージ装置及び記憶制御方法
US9250813B2 (en) 2012-07-18 2016-02-02 Hitachi, Ltd. Storage system coupled to a host computer and a management device
JP2015526823A (ja) * 2012-08-27 2015-09-10 ヴイエムウェア インコーポレイテッドVMware,Inc. 共用記憶域上にある仮想ディスクのトランスペアレントなホスト側キャッシング
JPWO2014073045A1 (ja) * 2012-11-07 2016-09-08 株式会社日立製作所 計算機システム、ストレージ管理計算機及びストレージ管理方法
WO2014073045A1 (ja) 2012-11-07 2014-05-15 株式会社日立製作所 計算機システム、ストレージ管理計算機及びストレージ管理方法
US9760294B2 (en) 2012-11-07 2017-09-12 Hitachi, Ltd. Computer system, storage management computer, and storage management method
US9639435B2 (en) 2013-11-11 2017-05-02 Hitachi, Ltd. Management computer and management method of computer system
JP2015225510A (ja) * 2014-05-28 2015-12-14 日本電気株式会社 バックアップシステムおよびバックアップ方法
JP2016091534A (ja) * 2014-10-30 2016-05-23 株式会社東芝 メモリシステム及びプログラム
WO2017017775A1 (ja) * 2015-07-28 2017-02-02 株式会社日立製作所 計算機システム及びボリュームの割り当て制御方法

Also Published As

Publication number Publication date
JP5314772B2 (ja) 2013-10-16
US8543778B2 (en) 2013-09-24
JPWO2011092738A1 (ja) 2013-05-23
US20120005435A1 (en) 2012-01-05

Similar Documents

Publication Publication Date Title
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5502232B2 (ja) ストレージシステム、及びその制御方法
US8495331B2 (en) Storage apparatus and storage management method for storing entries in management tables
US7739446B2 (en) System and method for managing disk space in a thin-provisioned storage subsystem
US9477431B1 (en) Managing storage space of storage tiers
US9542125B1 (en) Managing data relocation in storage systems
JP5981563B2 (ja) 情報記憶システム及び情報記憶システムの制御方法
JP5685676B2 (ja) 計算機システム及びデータ管理方法
US8103826B2 (en) Volume management for network-type storage devices
JP5793196B2 (ja) 仮想ボリュームに割り当てられた要求性能に基づく制御を行うストレージシステムの管理システム及び管理方法
JP5303066B2 (ja) プールに関連付けられる仮想ボリュームの総容量を制限する方法及びストレージ装置
JP5080611B2 (ja) ThinProvisioningが適用されたストレージ装置
US20110185147A1 (en) Extent allocation in thinly provisioned storage environment
JP2009043030A (ja) ストレージシステム
JP2006309318A (ja) ストレージ管理システム、ストレージ管理サーバ、データ再配置制御方法およびデータ再配置制御プログラム
JP2020533694A (ja) クラウド・ベースのランクを使用するデータの動的再配置
JP2011070345A (ja) 計算機システム、計算機システムの管理装置、計算機システムの管理方法
US8572347B2 (en) Storage apparatus and method of controlling storage apparatus
US10089125B2 (en) Virtual machines accessing file data, object data, and block data
JP5597266B2 (ja) ストレージシステム
WO2016103356A1 (ja) 階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法
JP2015111460A (ja) 管理計算機、計算機システム、及び管理方法
US9658803B1 (en) Managing accesses to storage
WO2017163322A1 (ja) 管理計算機、および計算機システムの管理方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 12742502

Country of ref document: US

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

Ref document number: 10844512

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011551580

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10844512

Country of ref document: EP

Kind code of ref document: A1