Method for selecting a page for migration based on access path information and response performance information

Multiple storage apparatuses each provide a virtual logical volume composed of multiple logical pages to a host computer. A management computer determines a target logical page to which data are migrated to achieve a volume goal performance on the basis of access path information that can identify a storage apparatus that receives an I/O request in which the virtual logical volume is specified, an actual volume response performance, the volume goal performance to be attained, a page response performance of the logical page, and storage destination information that can identify a storage apparatus in which a storage area allocated to the logical page is present, and migrates data of the logical page between storage apparatuses.

TECHNICAL FIELD

The present invention relates to a technology for managing virtual a logical volume to which a physical page are allocated from a pool that is based on multiple storage apparatuses and that is a storage area constituted by multiple physical pages.

BACKGROUND ART

For efficient use of storage areas in storage systems, there is known a technology of dynamically allocating real storage areas needed for storing data in units called real pages to virtual logical volumes (logical volumes that are virtual) when a write request occurs (refer to PTL 1, for example).

Furthermore, there is known a technology of determining whether or not an I/O request is a request for a storage area of a storage apparatus in receipt of the I/O request and, if the I/O request is a request directed to another storage apparatus, transferring the I/O request to the storage apparatus (refer to PTL 2, for example).

In addition, there is known a technology of embedding a storage area of a pool present in a storage apparatus coupled to another storage apparatus into a storage area of a pool constructed in the latter storage apparatus to allow integration of pools present in multiple storage apparatuses (refer to PTL 3, for example).

According to these technologies, a storages area of one virtual logical volume can be distributed to multiple storage apparatuses, and the storage area of the virtual logical volume can be accessed from any storage apparatus.

Furthermore, there is known a technology of determining whether or not usage of storage apparatuses constituting a tiered pool is optimum as a whole (refer to PTL 4, for example). According to this technology, a migration candidate virtual logical volume and a migration destination pool that are closer to optimum as a whole can be displayed or the virtual logical volume can be migrated.

Furthermore, there is known a technology of efficiently using virtual logical volumes generated on the basis of a tiered pool by different types of applications (refer to PTL 5, for example). According to this technology, the virtual logical volumes can be efficiently used according to the required performance of applications.

CITATION LIST

Patent Literature

SUMMARY OF INVENTION

Technical Problem

A real storage area of a virtual logical volume based on a pool constituted by storage areas of multiple storage apparatuses may be distributed to storage areas of multiple storage apparatuses. In a case where the storages area of the virtual logical volume is distributed to storage areas of multiple storage apparatuses and where an I/O request for the virtual logical volume occurs, if a storage apparatus in receipt of the I/O request from a host computer does not have the storage area of the virtual logical volume that is the target of the I/O request, the I/O request needs to be transferred from the storage apparatus to another storage apparatus, and such transfer of I/O requests to other storage apparatuses may be frequent. When I/O requests are frequently transferred in this manner, the response performance of the virtual logical volume is lowered.

Solution to Problem

A storage system includes multiple storage apparatuses and a management configured to manage the storage apparatuses. The multiple storage apparatuses are configured to provide a virtual logical volume composed of multiple logical pages to a host computer, receive an I/O request from the host computer, allocate a physical page to a logical page identified on the basis of I/O request when the I/O request is a write request, and write target data of the write request in the allocated physical page. The management computer is configured to determine a logical page that is a target of data migration to attain a volume goal performance on the basis of access path information that can identify a storage apparatus that receives an I/O request in which the virtual logical volume is specified by the host computer, an actual volume response performance of a processing target virtual logical volume, the volume goal performance to be attained, a page response performance of a logical page in the virtual logical volume, and storage destination information that can identify a storage apparatus in which a physical page allocated to the logical page is present, and migrate data in the physical page allocated to the target logical page from the storage apparatus having the physical page allocated to the target logical page to a physical page of another storage apparatus.

Advantageous Effects of Invention

The degradation in response performance for a virtual logical volume can be alleviated.

DESCRIPTION OF EMBODIMENTS

Embodiments will hereinafter be described. Note that the embodiments described below do not limit the invention according to the claims, and not all of elements and combinations thereof described in the embodiments are necessarily essential for solutions of the invention.

Although various information data may be expressed as “aaa table” in the following description, the information data may be expressed in data structures other than tables. An “aaa table” can be replaced with “aaa information” to indicate that the information data are not dependent on the data structures.

Furthermore, although a process may be described with a “program” being a subject thereof in the following description, a subject of a process may be a processor (such as a CPU: Central Processing Unit) included in a controller because a program, when executed by the processor, performs a predetermined process by using storage resources (such as a memory) and/or communication interface apparatuses (such as a SAN port or a LAN port) where appropriate. A process described to be performed by a program may be a process to be performed by a controller. Furthermore, a controller may be a processor itself or may contain a hardware circuit that performs part or the whole of a process to be performed by a processor instead of or in addition to the processor. A computer program may be installed on a storage control apparatus from a program source. The program source may be a program distribution server or a computer-readable storage medium.

FIG. 1is a diagram illustrating an outline of a storage system according to an embodiment.

The storage system includes a host computer200, multiple physical storage apparatuses300, and a management computer400(seeFIG. 2). The host computer200and the physical storage apparatuses300are coupled via a communication network170. Furthermore, the physical storage apparatuses300are coupled via a communication network180.

The physical storage apparatus300includes one or more physical storage devices (PDEVs)340. In the storage system according to the present embodiment, one virtual storage apparatus100is formed on the basis of a plurality of physical storage apparatuses300. Specifically, a pool110that is a storage area constituted by multiple physical pages160is formed on the basis of storage areas of the PDEVs340of the physical storage apparatuses300. Since the pool110spans a plurality of physical storage apparatuses300, the pool110is also referred to as a “cross-apparatus pool110”. The cross-apparatus pool110is constituted by a plurality of logical volumes140included in a plurality of physical storage apparatuses300. Each logical volume140is divided into two or more physical pages160, and the cross-apparatus pool110is thus constituted by a plurality of physical pages160. A logical volume140may be based on one or more PDEVs340of the physical storage apparatuses300or may be a virtual logical volume obtained by virtualizing a storage resource (logical volume, for example) of an external storage apparatus (not illustrated) coupled to a physical storage apparatus300according to a storage virtualization technology.

The virtual storage apparatus100includes a virtual logical volume120used by an application program250of the host computer200and constituted by multiple logical pages150. The virtual logical volume120may be each of multiple virtual logical volumes which are included in the respective physical storage apparatuses300and to which the same volume ID (such as a LUN (Logical Unit Number)) is allotted, or may be a set of multiple virtual logical volumes included by the respective physical storage apparatuses300. The pool110is associated with the virtual logical volume120, and physical pages are allocated to the virtual logical volume120from the associated pool110. Thus, if there are multiple virtual logical volumes120and multiple pools110, for example, physical pages are allocated to one virtual logical volume120from the pool110associated with the virtual logical volume120but no physical pages may be allocated from pools110that are not associated with the virtual logical volume120.

When any of the physical storage apparatuses300writes data onto a logical page150of a virtual logical volume120, a physical page160is allocated to the write destination logical page150from the cross-apparatus pool110, and the write target data are stored on the allocated physical page160.

With such a configuration, the data on multiple logical pages150in the virtual logical volume120become in a state distributed to and stored in different physical storage apparatuses300. Note that pieces of storage area constituting the pool110are referred to as “physical pages” and pieces of storage area constituting the virtual logical volume120are referred to as “logical pages” for convenience in the description above, but both are storage areas that can be specified using logical addresses such as an LBA (Logical Block Address).

The storage system according to the present embodiment selects a logical page to which a physical page on which data to be migrated between physical storages apparatuses300are stored is allocated from multiple logical pages150of the virtual logical volume120, and migrates the data in the physical page allocated to the logical page to another physical storage apparatus300to improve the response performance of the virtual logical volume120. In the following description, migration of data allocated to a logical page150from a migration source physical page in a migration source physical storage apparatus to a migration destination physical page in a migration destination physical storage apparatus will be referred to as “migration of a page”, and a logical page to which a physical page on which data migrated resulting from “migration of a page” is stored is allocated will be referred to as a “migration target logical page”. In migration of a page, either of the following may be performed:data migrate from a migration source physical page to a migration destination physical page, and the migration destination physical page is allocated to the migration target logical page in place of the migration source physical page; anddata migrate from a migration source physical page to a migration destination physical page, and identification information (such as a page number) of the migration destination physical page changes to identification information of the migration source physical page. As a result, the association between the identification information (such as a page number) of the migration target logical page and the identification information of the physical page does not change.

FIG. 2is a hardware configuration diagram of the storage system according to an embodiment.

The storage system includes one or more host computers200, multiple physical storage apparatuses300, one or more management computers400, and one or more management clients500. The host computer200and the physical storage apparatuses300are coupled via a communication network170such as a SAN (Storage Area Network) for host communication. In addition, the physical storage apparatuses300are coupled via a communication network180such as a SAN for inter-apparatus communication. Furthermore, the host computer200, the physical storage apparatuses300, the management computer400, and the management client500are coupled via a communication network190such as a LAN (Local Area Network) for management.

The management client500is a PC (Personal Computer), for example, and used for executing various operations on the management computer400by an administrator of the storage system. Although an example in which the physical storage apparatuses300and the management computer400are separate apparatuses is illustrated in the storage system illustrated inFIG. 2, the management computer400and any one of the physical storage apparatuses300may be implemented by one computer.

FIG. 3is a configuration diagram of the host computer according to an embodiment.

The host computer200includes a CPU210, a memory220, a SAN port230, a LAN port240, and a bus250. The CPU210, the memory220, the SAN port230, and the LAN port240are coupled in a manner that can communicate with one another via the bus250.

The SAN port230is a communication interface apparatus for communication with the physical storage apparatuses300via the communication network170. The LAN port240is a communication interface apparatus for communication with the management computer400, etc., via the communication network190. The CPU210executes various programs stored in the memory220to perform various processes.

The memory220stores various programs and various information. The memory220stores an application program221, a multipath management program222, and a path management table223, for example.

The application program221is a program for performing input/output of data. In the present embodiment, an I/O destination is the virtual logical volume120. The multipath management program222is a program for managing which of multiple paths to multiple physical storage apparatuses300coupled to the host computer200should be used. The path management table223stores information on paths through which the host computer200is coupled to the physical storage apparatuses300, and information indicating which path to use (which path is active). The path management table223stores identification information (port numbers) of ports of the physical storage apparatuses300, identification information (such as a WWN: World Wide Name) of the host computer200, and information indicating whether or not the paths are active in association with one another, for example.

FIG. 4is a configuration diagram of a physical storage apparatus according to an embodiment.

The physical storage apparatus300includes a CPU310, a cache memory320, a memory330, one or more PDEVs340, a SAN port350, a LAN port360, a SAN port370, and a bus380. The CPU310, the cache memory320, the memory330, the SAN port350, the LAN port360, and the SAN port370are coupled in a manner that can communicate with one another via the380.

The SAN port350is a communication interface apparatus for communication with the host computer200via the communication network170. The LAN port360is a communication interface apparatus for communication with the management computer400, etc., via the communication network190. The SAN port370is a communication interface apparatus for communication with the physical storage apparatus300via the communication network180. The cache memory320temporarily stores data to be written into the PDEVs340or data read from the PDEVs340. The PDEVs340are nonvolatile storage media such as magnetic disks, flash memory, or other semiconductor memories. In the present embodiment, multiple PDEVs340constitute a group (RAID group) in which data are stored at a predetermined RAID level according to the RAID (Redundant ARRAY of Independent Disks), for example.

The CPU310executes various programs stored in the memory330to perform various processes. The memory330stores various programs and various information. The memory330stores a control program331, for example. The control program331is a program for performing various processes in accordance with I/O requests. In the present embodiment, when an I/O request for data stored in a PDEV340of the same physical storage apparatus300is received, the control program331performs an I/O process on the PDEV340of the same physical storage apparatus300, whereas when an I/O request for a PDEV340of another physical storage apparatus300is received, the control program331transmits the I/O request to the physical storage apparatus300.

FIG. 5is a configuration diagram of the management computer according to an embodiment.

The management computer400includes a CPU410that is an example of a control device, a memory420that is an example of a storage device, a LAN port430, and a bus440.

The CPU410, the memory420, and the LAN port430are coupled in a manner that can communicate with one another via the bus440.

The LAN port430is a communication interface apparatus for communication with the host computer200, the physical storage apparatuses300, and the management client500via the communication network190. The CPU410executes various programs stored in the memory420to perform various processes.

The memory420stores various programs and various information. The programs and the information stored in the memory420will be described later.

FIG. 6is a configuration diagram of the inside of the memory of the management computer according to an embodiment. Although the numbers of some tables illustrated inFIG. 6are more than one, these are illustrated for convenience and do not necessarily mean that the numbers of tables are more than one.

The memory420of the management computer400stores a virtual logical volume table610, a page table611, a pool volume table612, an RAID group table613, an apparatus-to-apparatus transfer rate table614, an RAID group threshold table615, a path management table620, a handling priority table642, a target virtual logical volume table643, a migration destination storage apparatus table650, a narrowed-down page table651, a path performance information table652, a page migration management table653, and a sorted page migration management table643.

The RAID group threshold table615stores thresholds of the usages of RAID groups. Specifically, the RAID group threshold table615stores identification information (a physical storage apparatus ID) of a physical storage apparatus300and the threshold of the usage of an RAID group in association with each other. For example, the RAID group threshold table615stores that the threshold of the usage of the RAID group of a physical storage apparatus300“Storage-1” is 50%.

The handling priority table642stores priority in handling a virtual logical volume to improve performance. Specifically, the handling priority table642stores identification information (a virtual logical volume ID) of a virtual logical volume, and the priority on the virtual logical volume. The migration destination storage apparatus table650stores information identifying a physical storage apparatus (migration destination physical storage apparatus) that is a migration destination to which data on a migration target logical page of a virtual logical volume are to be migrated. Specifically, the migration destination storage apparatus table650stores the virtual logical volume ID, and identification information (a physical storage apparatus ID) of the migration destination physical storage apparatus. The narrowed-down page table651stores information on a logical page in a virtual logical volume that is a target of handling for improving performance out of information in the page table611. The sorted page migration management table654is a table in which entries in the page migration management table653are sorted in descending order of the response performance improvement effect. The tables other than those described above will be described later with reference to the drawings.

The memory420also stores, as program modules, a host computer information collection unit601, a storage apparatus information collection unit602, a page migration control unit605, a port change control unit606, a migration destination storage apparatus selection unit630, a path response performance calculation unit631, a page selection unit632, a goal non-attainment virtual logical volume search unit633, an exception target pool volume search unit634, a page migration time prediction unit635, an access path search unit636, a goal response performance configuration unit660, a handling priority configuration unit661, a virtual logical volume selection unit662, and a virtual logical volume handling order sequencing unit663.

The host computer information collection unit601is activated at predetermined timing (such as at regular timing according to a scheduling configuration) or in response to a request from the management client500or other program modules, collects various information necessary for the path management table620from the host computer200, and creates the path management table620.

The storage apparatus information collection unit602is activated at predetermined timing (such as at regular timing according to a scheduling configuration) or in response to a request from the management client500or other program modules, acquires information necessary for the virtual logical volume table610, the page table611, the RAID group table613, and the apparatus-to-apparatus transfer rate table614from the respective physical storage apparatuses300, and creates these tables. Note that part of information in the tables is not acquired from the respective physical storage apparatuses300.

The goal non-attainment virtual logical volume search unit633is activated at predetermined timing (such as at regular timing according to a scheduling configuration) or in response to a request from the management client500or other program modules (such as the virtual logical volume selection unit662), searches for a virtual logical volume that has not reached the response performance (goal response performance) that is a goal on the basis of information in the virtual logical volume table610, and configures information on goal non-attainment of the virtual logical volume in the virtual logical volume table610. Note that handling operation of program modules other than those described above will be described later.

FIG. 7is a configuration diagram of the virtual logical volume table according to an embodiment.

The virtual logical volume table610is a table storing volume response performance information and volume goal performance information, and stores, for each virtual logical volume, entries including fields of a virtual logical volume ID610a, a front physical storage apparatus610b, a front port610c, a host computer ID610d, a capacity610e, a response performance610f, an IOPS610g, acquisition date and time610h, a goal response performance610i, a continuous goal non-attainment time610j, and a non-attainment permissible time610k.

The virtual logical volume ID610astores identification information (a virtual logical volume ID) of the virtual logical volume. The front physical storage apparatus610bstores identification information (a physical storage ID) of the physical storage apparatus300that is a window (a front) of access to the virtual logical volume. The front port610cstores identification information (a port ID) of a port that is a front. The host computer ID610dstores identification information (a host computer ID) of a host computer200that uses the virtual logical volume, that is, that accesses the virtual logical volume. The capacity610estores the capacity of the virtual logical volume. The response performance610fstores the response performance of the virtual logical volume. Note that the response performance refers to time from when an I/O request is transmitted till a response to the I/O request is returned, for example. The IOPS610gstores an IOPS (Input Output Per Second) to/from the virtual logical volume. The IOPS is the number of I/O requests per second, but another type of I/O frequency corresponding to the number of I/O requests per predetermined time may alternatively be employed. Another type of access status such as final access date and time may be used instead of or in addition to the I/O frequency. The acquisition date and time610hstores the date and time on which the response performance in the response performance610fand the IOPS in the IOPS610gare acquired. The goal response performance610istores the response performance (goal response performance) that is a goal for the virtual logical volume. The continuous goal non-attainment time610jstores time (continuous goal non-attainment time) during which the goal response performance is continuously unattained. The non-attainment permissible time610kstores time during which non-attainment of the goal response performance is permitted.

FIG. 8is a configuration diagram of the path management table according to an embodiment.

The path management table620is a table for managing access path information, and stores, for each of paths between the host computer200and the physical storage apparatuses300, entries including fields of a virtual logical volume ID620a, a host computer ID620b, a host computer port ID620c, a physical storage apparatus ID620d, a physical storage apparatus port ID620e, and an access path classification620f.

The virtual logical volume ID620astores a virtual logical volume ID of a virtual logical volume that is a target of a path associated with an entry. The host computer ID620bstores a host computer ID of the host computer200that performs access using the path. The host computer port ID620cstores a port ID of a port (a SAN port230) of the host computer200used on the path. The physical storage apparatus ID620dstores a physical storage apparatus ID of the physical storage apparatus300to which the path is coupled. The physical storage apparatus port ID620estores a port ID of a port (a SAN port350) of the physical storage apparatus300to which the path is coupled. The access path classification620fstores information indicating whether or not the path corresponds to a path (access path) used for accessing the virtual logical volume associated with the virtual logical volume ID in the virtual logical volume ID620a. In the present embodiment, when the path associated with an entry is an access path to the virtual logical volume associated with the virtual logical volume ID in the virtual logical volume ID620a, “true” is set in the access path classification620f, whereas if the path is not the access path, “false” is set in the access path classification620f.

FIG. 9is a configuration diagram of the target virtual logical volume table according to an embodiment.

The target virtual logical volume table643stores, for each virtual logical volume (target virtual logical volume) that is a target of performance improvement, entries including fields of a virtual logical volume ID643a, a front physical storage apparatus643b, a front port643c, a host computer ID643d, a response performance643e, a goal response performance643f, a handling priority643g, and a predicted required time643h.

The virtual logical volume ID643astores a virtual logical volume ID of the target virtual logical volume. The front physical storage apparatus643bstores a physical storage apparatus ID of the physical storage apparatus300that is a window (a front) of access to the target virtual logical volume. The front port643cstores identification information of a port (a SAN port350) that is a front. The host computer ID643dstores a host computer ID of a host computer200that accesses the target virtual logical volume. The response performance643estores the response performance of the target virtual logical volume. The goal response performance643fstores the response performance (goal response performance) that is a goal for the target virtual logical volume. The handling priority643gstores the priority (handling priority) in execution of handing for performance improvement of the target virtual logical volume associated with an entry. The handling priority configured in the handling priority643gmay include three levels of “high”, “medium”, and “low”, may include more levels, or may include any number of levels, for example. Handling for performance improvement of the target virtual logical volume with higher handing priority will preferentially be performed. The predicted required time643hstores time (predicted required time) predicted to be required for improving the response performance of the target virtual logical volume to the goal response performance, that is, time required to complete handling. Note that “high handling priority” may mean that the handling priority is the highest or may mean that the handling priority is relatively high (specifically, that handling priority is within top X % (X>0) or that the handling priority is “high” (and “medium”), for example). Conversely, “low handling priority” may mean that the handling priority is the lowest, or may mean that the handling priority is relatively low (specifically, that the handling priority is within bottom Y % (Y is equal to or smaller than (100−X); Y>0) of multiple virtual logical volumes or that the handling priority is “low” (and “medium”), for example).

FIG. 10is a configuration diagram of the page table according to an embodiment.

The page table611is a table storing storage destination information, and stores, for each logical page of a virtual logical volume, entries including fields of a pool ID611a, a virtual logical volume ID611b, a page ID611c, a physical storage apparatus ID611d, an IOPS611e, a response performance611f, a transfer amount611g, and a capacity611h.

The pool ID611astores identification information (a pool ID) of a pool in which the virtual logical volume is managed. The virtual logical volume ID611bstores a virtual logical volume ID. The page ID611cstores identification information (a page ID) of a logical page in the virtual logical volume. The physical storage apparatus ID611dstores a physical storage apparatus ID of the physical storage apparatus300to which a physical area (a physical page) allocated to the logical page belongs. The IOPS611estores the IOPS for the logical page. The response performance611fstores the response performance for the logical page. The transfer amount611gstores the data transfer amount for the logical page. The capacity611hstores the capacity of the logical page.

FIG. 11is a configuration diagram of the path performance information table according to an embodiment.

The path performance information table652is a table for managing response performance information for each path and for managing the response performance for each of multiple paths that can be a path in accessing the virtual logical volume, and stores entries including fields of a virtual logical volume ID652a, I/O receiving storage apparatus652b, an I/O transfer necessity652c, an I/O transfer destination storage apparatus652d, and a response performance652e.

The virtual logical volume ID652astores a virtual logical volume ID. The I/O receiving storage apparatus652bstores a physical storage apparatus ID of the physical storage apparatus300that is a window for the virtual logical volume associated with the virtual logical volume ID of this entry. The I/O transfer necessity652cstores information indicating whether or not an I/O request needs to be transferred from the physical storage apparatus300that is the window to another physical storage apparatus300. If the path requires transfer to another physical storage apparatus300, “true” is stored in the I/O transfer necessity652c, whereas if the path does not require transfer to another physical storage apparatus300, “false” is stored in the I/O transfer necessity652c. The I/O transfer destination storage apparatus652dstores a physical storage apparatus ID of a transfer destination physical storage apparatus300to which the I/O request is to be transferred. The response performance652estores the response performance when the path associated with the entry is used.

According to the path performance information table652illustrated inFIG. 11, the window for a virtual logical volume “VVOL-1” is a physical storage apparatus300“Storage-1”, the response performance is 1.0 msec when the I/O request is not transferred, the response performance is 2.0 msec when the I/O request is transferred to a physical storage apparatus300“Storage-2”, and the response performance is 2.1 msec when the I/O request is transferred to a physical storage apparatus300“Storage-3”, which shows that the paths requiring transfer of I/O request have low response performance.

FIG. 12is a configuration diagram of the page migration management table according to an embodiment.

The page migration management table653is a table for managing information on the response performance improvement effect when data on a logical page of a virtual logical volume is migrated, and stores, for each logical page, entries including fields of a pool ID653a, a virtual logical volume ID653b, a page ID653c, a physical storage apparatus ID653d, a migration destination physical storage apparatus653e, a response performance improvement effect653f, and a migration target classification653g.

The pool ID653astores a pool ID of the pool in which the virtual logical volume containing the logical page associated with an entry is stored. The virtual logical volume ID653bstores a virtual logical volume ID of the virtual logical volume containing the logical page. The page ID653cstores a page ID of the logical page. The physical storage apparatus ID653dstores a physical storage apparatus ID of the physical storage apparatus300having a physical area in which data on the logical page are stored. The migration destination physical storage apparatus653estores a physical storage apparatus ID of a migration destination physical storage apparatus300having a physical area that is the migration destination of the data on the logical page. The response performance improvement effect653fstores the response performance improvement effect that can be achieved when the data on the logical page associated with the entry are migrated to the physical area in the migration destination physical storage apparatus300. The response performance improvement effect653fstores time by which the response performance is shortened, for example, as the response performance improvement effect. The migration target classification653gstores information indicating whether or not the logical page associated with the entry corresponds to a migration target logical page.

FIG. 13is a configuration diagram of the pool volume table according to an embodiment.

The pool volume table612is a table for managing information on logical volumes (pool volumes) constituting the pool110, and stores, for each pool volume, entries including fields of a pool ID612a, a pool volume ID612b, a physical storage apparatus ID612c, an RAID group ID612d, and an exception target classification612e.

The pool ID612astores a pool ID of the pool containing the pool volume. The pool volume ID612bstores an ID of the pool volume. The physical storage apparatus ID612cstores a physical storage apparatus ID of the physical storage apparatus300having the PDEV340on which the pool volume is based. The RAID group ID612dstores identification information (an RAID group ID) of the RAID group on which the pool volume is based. The exception target classification612estores information indicating whether or not the pool volume corresponds to a pool volume to be excluded from migration destination of data on the logical page.

FIG. 14is a configuration diagram of the RAID group table according to an embodiment.

The RAID group table613is a table for managing the usage of the RAID groups, and stores, for each RAID group, entries including fields of a physical storage apparatus ID613a, an RAID group ID613b, and a usage613c.

The physical storage apparatus ID613astores a physical storage apparatus ID of the physical storage apparatus300having the PDEV340included in the RAID group associated with the entry. The RAID group ID613bstores an RAID group ID of the RAID group. The usage613cstores the usage of the storage area of the RAID group associated with the entry.

FIG. 15is a configuration diagram of the apparatus-to-apparatus transfer rate table according to an embodiment.

The apparatus-to-apparatus transfer rate table614is a table for managing the transfer rate between the physical storage apparatuses300, and stores entries including fields of a migration source storage614a, a migration destination storage614b, and a transfer rate614c.

The migration source storage614astores a physical storage apparatus ID of the physical storage apparatus300that is a data migration source. The migration destination storage614bstores a physical storage apparatus ID of the physical storage apparatus300that is a data migration destination. The transfer rate614cstores the transfer rate at which data are migrated from the migration source physical storage apparatus300associated with the entry to the migration destination physical storage apparatus300.

Next, various screens to be displayed on the management client500by the management computer400will be described.

FIG. 23is a configuration diagram of a virtual logical volume selection screen according to an embodiment.

The virtual logical volume selection screen2300is a screen displayed on the management client500by the virtual logical volume selection unit662so as to receive selection of a target virtual logical volume that is a target of performance improvement from the administrator.

The virtual logical volume selection screen2300includes a virtual logical volume list display area2310, a target virtual logical volume list display area2320, an “Add” button2330, an “Exclude” button2340, an “Update response performance” button2350, an “Enter” button2360, a “Manually specify handling order” button2370, a “Cancel” button2380, and a “Display time required for handling” button2390.

The virtual logical volume list display area2310displays information on each virtual logical volume managed in the storage system on each row. The information on each virtual logical volume is created on the basis of information on the virtual logical volume table610and the handling priority table642. Specifically, information in the goal response performance column2311is created on the basis of the handling priority table642. Note that the handling priority table642is created according to input to a handling priority configuration screen (not illustrated) displayed for configuring the priority of each virtual logical volume on the management client500by the handling priority configuration unit661. Examples of the priority to be configured may be “high”, “medium”, and “low”.

The target virtual logical volume list display area2320displays information on each target virtual logical volume selected as a target for handling for performance improvement on each row. The information on each target virtual logical volume is created on the basis of the information on the virtual logical volume table610and the handling priority table642. In the present embodiment, the information on the target virtual logical volumes further includes a predicted required time column2391in addition to the information on the virtual logical volumes in the virtual logical volume list display area2310.

The “Add” button2330is a button pressed for adding a virtual logical volume associated with a row in a selected state in the virtual logical volume list display area2310to the target virtual logical volumes that are targets of handling for performance improvement. When this button is pressed, the row of information on the virtual logical volume in the selected state is added into the target virtual logical volume list display area2320.

The “Exclude” button2340is a button pressed for excluding a target virtual logical volume associated with a row in a selected state in the target virtual logical volume list display area2320from the targets of handling for performance improvement. When this button is pressed, the row of information on the target virtual logical volume in the selected state is deleted from the target virtual logical volume list display area2320.

The “Update response performance” button2350is a button pressed for updating the response performance of the virtual logical volumes in the virtual logical volume list display area2310with latest information. When this button is pressed, the storage apparatus information collection unit602collects the latest response performances of the virtual logical volumes from the physical storage apparatuses300and reflects the collected response performances in the virtual logical volume list display area2310.

The “Display time required for handling” button2390is a button pressed for displaying predicted required times on a predicted required time column2391in the target virtual logical volume list display area2320. When this button is pressed, a migration time prediction process (seeFIG. 20) is performed to display the predicted required times on the predicted required time column2391. As a result, the administrator can properly know the time required for handing a target virtual logical volume.

The “Enter” button2360is a button pressed for confirming the target virtual logical volume selected in the virtual logical volume selection screen2300. When this button is pressed, a target virtual logical volume displayed in the target virtual logical volume list2320is determined to be the target virtual logical volume to be actually handled, and the virtual logical volume selection unit662registers the information on the target virtual logical volume into the target virtual logical volume table643.

The “Cancel” button2380is a button pressed for cancelling a selected target virtual logical volume in the virtual logical volume selection screen2300. When this button is pressed, display of the virtual logical volume selection screen2300is terminated without determining a target virtual logical volume displayed in the target virtual logical volume list2320to be the target virtual logical volume to be actually handled.

The “Manually specify handling order” button2370is a button pressed for manually configuring the handling order in which multiple target virtual logical volumes are handled by the administrator. When this button is pressed, the virtual logical volume handling order sequencing unit663displays a virtual logical volume handling order determination screen2400(seeFIG. 24) so as to receive specification of the handling order of the target virtual logical volumes from the administrator.

FIG. 24is a configuration diagram of the virtual logical volume handling order determination screen according to an embodiment.

The virtual logical volume handling order determination screen2400is a screen displayed on the management client500by the virtual logical volume handling order sequencing unit663so as to receive specification of the order in which handling of target virtual logical volumes for performance improvement is performed from the administrator, and is displayed when the “Manually specify handling order” button2370in the virtual logical volume selection screen2300inFIG. 23is pressed, for example.

The virtual logical volume handling order determination screen2400includes a virtual logical volume handling order display area2410, a “Move up” button2420, a “Move down” button2430, an “Enter” button2440, and a “Return” button2450.

The virtual logical volume handling order display area2410displays rows of information on target virtual logical volumes in the current handling order of the target virtual logical volumes.

The “Move up” button2420is a button pressed for moving up the handling order of the target virtual logical volume on a selected row in the virtual logical volume handling order display area2410. When this button is pressed, the corresponding target virtual logical volume is moved up by one in the handling order, and the row of the information on the target virtual logical volume in the virtual logical volume handling order display area2410is moved up by one row.

The “Move down” button2430is a button pressed for moving down the handling order of the target virtual logical volume on a selected row in the virtual logical volume handling order display area2410. When this button is pressed, the corresponding target virtual logical volume is moved down by one in the handling order, and the row of the information on the target virtual logical volume in the virtual logical volume handling order display area2410is moved down by one row.

The “Enter” button2440is a button pressed for confirming the handling order of the target virtual logical volumes determined in the virtual logical volume handling order determination screen2400. When this button is pressed, the virtual logical volume handling order sequencing unit663confirms the handling order of the target virtual logical volumes to be the order of the rows of the target virtual logical volumes displayed in the virtual logical volume handling order display area2410, rearranges the entries of the target virtual logical volume table643according to the confirmed order, and closes the virtual logical volume handling order determination screen2400. The virtual logical volume selection unit662then displays the rows of information on the target virtual logical volumes in the target virtual logical volume list display area2320according to the order of the entries stored in the target virtual logical volume table643. As a result, the rows of information on the target virtual logical volumes are displayed in the order specified by the administrator.

The “Return” button2450is a button pressed for returning to the virtual logical volume selection screen2300without confirming the handling order of the target virtual logical volumes determined in the virtual logical volume handling order determination screen2400. When this button is pressed, the virtual logical volume handling order sequencing unit663closes the virtual logical volume handling order determination screen2400.

With the virtual logical volume handling order determination screen2400, the administrator can determine the order in which the target virtual logical volumes are handled to be a desired order.

FIG. 25is a configuration diagram of a goal response performance editing screen according to an embodiment.

The goal response performance editing screen2500is a screen displayed on the management client500by the goal response performance configuration unit660so as to receive the goal response performance and the non-attainment permissible time for a virtual logical volume from the administrator.

The goal response performance editing screen2500includes a configuration target virtual logical volume display area2510, a goal response performance specification area2520, a goal response performance input area2530, a non-attainment permissible time input area2560, a “Determine” button2540, and a “Cancel” button2550.

A slide bar is displayed in the goal response performance specification area2520, allowing specification of the goal response performance by moving a mark for specification. Note that the goal response performance specified by using the goal response performance specification area2520is displayed in a numeric value in the goal response performance input area230.

The goal response performance input area2530displays the value of the goal response performance specified by using the goal response performance specification area2520. Note that the goal response performance input area2530can also receive input of a value of the goal response performance.

The non-attainment permissible time input area2560is an area for inputting the time (non-attainment permissible time) during which non-attainment of the goal response performance is permitted.

The “Determine” button2540is a button pressed for confirming the goal response performance and the non-attainment permissible time edited in the goal response performance editing screen2500. When this button is pressed, the goal response performance configuration unit660configures the values input in the goal response performance input area2530and the non-attainment permissible time input area2560into the goal response performance610iand the non-attainment permissible time610kof the entries associated with the virtual logical volume to be edited in the virtual logical volume table610, and into the goal response performance643fof the entries associated with the virtual logical volume to be edited in the target virtual logical volume table643.

The “Cancel” button2550is a button pressed for cancelling the goal response performance and the non-attainment permissible time edited in the goal response performance editing screen2500. When this button is pressed, the goal response performance configuration unit660closes the goal response performance editing screen2500.

Next, processing operation in the storage system according to the present embodiment will be described.

FIG. 16is a flowchart of a virtual logical volume management process according to an embodiment.

In the virtual logical volume management process, the virtual logical volume selection unit662first displays the virtual logical volume selection screen2300(seeFIG. 23) on the management client500on the basis of the virtual logical volume table610, receives selection of a target virtual logical volume made by the administrator from the management client500, and stores information on the target virtual logical volume in the target virtual logical volume table643(step1610).

Note that the virtual logical volume selection unit662may display all the virtual logical volumes in the storage system or some virtual logical volumes obtained by narrowing down multiple virtual logical volumes as candidates for selecting a target virtual logical volume on the virtual logical volume selection screen2300. The method for narrowing multiple virtual logical volumes down to some virtual logical volumes may be based on any condition of (A) virtual logical volumes that have not attained the goal response performance at the time point, (B) virtual logical volumes that have not attained the goal response performance continuously for a certain period of time (a time period specified by the administrator, for example) or longer or had not attained the goal response performance continuously for the certain period of time or longer, and (C) virtual logical volumes with high priority configured in advance, or a combination of any of (A) to (C). In this manner, selection of a target virtual logical volume by the administrator can be made easier and more proper.

Although the administrator selects a target virtual logical volume in the virtual logical volume selection screen2300in the present embodiment, a virtual logical volume that has not attained the goal response performance at the time point, a virtual logical volume that has not attained the goal response performance continuously for a certain period of time (a time period specified by the administrator, for example) or longer or had not attained the goal response performance continuously for the certain period of time or longer, or a virtual logical volume with high priority configured in advance may be determined to be a target virtual logical volume. In this manner, the target virtual logical volume can be properly determined.

Subsequently, the virtual logical volume selection unit662displays a virtual logical volume handling order determination screen (seeFIG. 24) on the management client500on the basis of the target virtual logical volume table643, receives specification of the handling order of the target virtual logical volumes made by the administrator from the management client500, and rearranges the order of entries of the respective target virtual logical volumes in the target virtual logical volume table643according to the specified handling order (step1620).

Subsequently, the access path search unit636receives information (such as target virtual logical volume IDs) on the target virtual logical volumes from the target virtual logical volume table643(step1630), and performs an access path search process (seeFIG. 22) (step1640). In the access path search process, a physical storage apparatus300appropriate for a window for a target virtual logical volume is determined.

Subsequently, the port change control unit606receives the result of the access path search process from the access path search unit636, and changes the access path to use the physical storage apparatus300contained in the result as the window (step1650). Specifically, the port change control unit606performs control to change the access path to the physical storage apparatus300contained in the result in the entry associated with the target virtual logical volume in the path management table620(more specifically, sets the access path classification620fof the entry associated with the physical storage apparatus300to “true”, and the access path classifications620fof the entries associated with other physical storage apparatuses300to “false”), and to make the multipath management program222of the host computer200change the path for which the physical storage apparatus contained in the result is a window to be the access path in the path management table223. As a result, the access path can be changed to a path for which an appropriate physical storage apparatus300is a window.

Subsequently, the migration destination storage apparatus selection unit630selects a physical storage apparatus300that is a window for the host computer200using the target virtual logical volume, that is, a physical storage apparatus300configured to be accessible by the host computer200without transfer of an I/O request between physical storage apparatuses300as a physical storage apparatus (migration destination physical storage apparatus) that is a migration destination to which data on the logical page of the target virtual logical volume is to be migrated on the basis of the information on the target virtual logical volume in the target virtual logical volume table643and the information in the path management table620, and registers the migration destination physical storage apparatus in the migration destination storage apparatus table650(step1660). Since this migration destination physical storage apparatus has better response performance than the other physical storage apparatuses300, the response performance can be improved by migrating data on the logical page to this physical storage apparatus.

Subsequently, the page selection unit632performs a page selection process (seeFIG. 17) (step1670). As a result of the page selection process, a migration target logical page is selected.

Subsequently, the exception target pool volume search unit634performs an exception target pool volume search process (seeFIG. 19) (step1680). As a result of the exception target pool volume search process, a pool volume to be excluded from migration destination of data on the logical page is determined.

Subsequently, the page migration control unit605determines a pool volume to which a migration target page is to be migrated on the basis of the page migration management table653and the pool volume table612, and migrates data on the migration target page to the pool volume (step1690). Specifically, the page migration control unit605migrates data on the migration target page (a page for which the migration target classification653gof the entry in the page migration management table653is “true”) to a physical page in the pool volume other than the exception target pool volume. As a result of this process, since the logical page in the virtual logical volume can be migrated to a storage area of a PDEV340in the physical storage apparatus300with high response performance, the response performance of the virtual logical volume can be improved. The “high response performance” may mean the highest response performance or may mean a relatively high response performance (specifically, a response performance within top P % (P>0), for example). Conversely, the “low response performance” may mean the lowest response performance or may mean a relatively low response performance (specifically, a response performance within bottom Q % (Q is equal to or smaller than (100−P); Q>0)).

When multiple logical pages are to be migrated in step1690, the order in which the logical pages are migrated may be determined according to any of the following methods (1) to (3):(1) referring to the sorted page migration management table654, and determining the migration order of the pages in descending order of the response performance improvement effect;(2) determining the migration order on the basis of the IOPS in the IOPS611eof the page table611; for example, determining the migration order of the pages in descending order of the IOPS; and(3) determining the migration order on the basis of the priority of the virtual logical volumes in the handling priority table642.

Note that “high improvement effect” may mean the highest improvement effect or may mean a relatively high improvement effect. Conversely, “low improvement effect” may mean the lowest improvement effect or may mean a relatively low improvement effect.

As a result of determining the migration order of logical pages in this manner, the logical pages can be migrated in proper order. For example, according to the method (1), the response performance can be improved early. Alternatively, according to the method (2), a page with a large IOPS, for example, can be migrated early and the I/O process can be effectively performed. Alternatively, according to the method (3), the response performance of a virtual logical volume with a high configured priority can be improved early.

FIG. 17is a flowchart of the page selection process according to an embodiment.

The page selection process is a process corresponding to step1670in the virtual logical volume management process (seeFIG. 16).

In the page selection process, the page selection unit632receives a virtual logical volume ID of the target virtual logical volume (step1710). Subsequently, the page selection unit632identifies an entry associated with the virtual logical volume ID on the basis of the virtual logical volume table610, acquires the response performance in the response performance610fof the entry (step1720), and further acquires the goal response performance in the goal response performance610i(step1730).

Subsequently, the page selection unit632obtains a difference between the acquired goal response performance and response performance (step1740).

Furthermore, the page selection unit632acquires a host computer ID in the host computer ID610don the basis of the identified entry (step1750). Subsequently, the page selection unit632acquires a physical storage apparatus ID of the migration destination storage apparatus from the migration destination storage apparatus table650(step1760).

Subsequently, the page selection unit632performs an improvement effect prediction process (seeFIG. 18) on the basis of the host computer ID, the physical storage apparatus ID of the migration destination storage apparatus, and the virtual logical volume ID of the target virtual logical volume (step1765). As a result of the improvement effect prediction process, the response performance improvement effect of migrating the logical page in the virtual logical volume can be known.

Subsequently, the page selection unit632sorts the entries in the page migration management table653in descending order of response performance improvement effect, and stores the sorting result into the sorted page migration management table654(step1770).

Subsequently, the page selection unit632performs processing of processes of a loop A (steps1775and1780) for logical pages associated with all the entries from a logical page associated with the first entry in the sorted page migration management table654.

In step1775in the processes of the loop A, the page selection unit632adds information (“true” in the present embodiment) indicating that the processing target logical page is a migration target page to the migration target classification653gof the entry, in the page migration management table653, associated with the processing target logical page.

In step1780, the page selection unit632determines whether or not a sum of the performance improvement effects resulting from migration of all the logical pages that are migration target pages exceeds the difference calculated in step1740. If the sum of the performance improvement effects exceeds the difference (Yes in step1780), this means that the response performance of the target virtual logical volume is equal to or larger than the goal response performance as a result of migrating all the logical pages that are migration target pages at the time point, and the page selection unit632thus exits the loop A and terminates the page selection process without any additional logical pages as migration target pages. If the sum of the performance improvement effects does not exceed the difference (No in step1780), the page selection unit632performs the processes in the loop A on a logical page associated with the next entry, and if the processes of loop A are completed on the logical pages associated with all the entries in the sorted page migration management table654, the page selection unit632exits the loop A and terminates the page selection process. According to the processes of the loop A, a logical page with a higher performance improvement effect is preferentially selected as a migration target page, which allows effective performance improvement with migration of a small number of pages. Furthermore, since only minimum logical pages required to attain the goal response performance are selected as migration target pages, the goal response performance can be attained by migration of a small number of logical pages.

FIG. 18is a flowchart of the improvement effect prediction process according to an embodiment.

The improvement effect prediction process is a process corresponding to step1765in the page selection process (seeFIG. 17).

The page selection unit632acquires an entry of a logical page associated with a target virtual logical volume ID from the page table611(step1820). The page selection unit632stores the acquired entry in the narrowed-down page table651. Although the storage apparatus information collection unit602acquire information on all the pages from the physical storage apparatus300, registers the information in the page table611, and then, in step1820, extracts a page of a target virtual logical volume from the page table611in the present embodiment, the page selection unit632may request the storage apparatus information collection unit602to acquire information on only a page associated with a target virtual logical volume from the physical storage apparatuses300to make the storage apparatus information collection unit602to acquire information on only the page associated with the target virtual logical volume from the physical storage apparatuses300in step1820, for example. In this manner, the amount of data acquired from the physical storage apparatuses300can be reduced and the capacity of the storage area consumed in the memory420can be reduced.

The page selection unit632acquires a physical storage apparatus ID of the physical storage apparatus300on the access path associated with the host computer ID of the host computer that uses the target virtual logical volume from the path management table620(step1830).

Subsequently, the page selection unit632transmits the virtual logical volume ID of the target virtual logical volume to the path response performance calculation unit631to perform a path response performance calculation process (seeFIG. 21) (step1840). As a result of the path response performance calculation process, the response performance of each path for the target virtual logical volume is calculated and registered in the path performance information table652.

Subsequently, the page selection unit632acquires performance information of each I/O path from the path performance information table652(step1850), and derives a decrease in response performance for each path (I/O transfer path) through which I/O is transferred (step1860). Specifically, the page selection unit632derives the decrease in response performance of each I/O transfer path by obtaining a difference between the response performance of a path that does not require I/O transfer and the response performance of the I/O transfer path.

Subsequently, the page selection unit632performs the process (step1870) of a loop B on all the pages acquired in step1820. In step1870, the page selection unit632calculates a predicted value to which the response performance of the target virtual logical volume improves when the data on the logical page are migrated to a physical storage apparatus300on a path (access path) that does not require I/O transfer from the physical storage apparatus300in which the data are currently stored, and stores the predicted value in the response performance improvement effect653fof an entry associated with the logical page in the page migration management table653. Note that the predicted value is calculated by the following expression, for example:
Predicted value=(decrease in response performance resulting from I/O transfer of I/O path for accessing to data on target logical page in step 1870) (IOPS of target logical page in step 1870)/(total IOPS of virtual logical volumes).

The page selection unit632then performs the process (step1870) of the loop B on all the pages acquired in step1820, and then terminates the improvement effect prediction process.

FIG. 19is a flowchart of the exception target pool volume search process according to an embodiment.

The exception target pool volume search process is a process corresponding to step1680in the virtual logical volume management process (seeFIG. 16).

The exception target pool volume search unit634acquires an entry of a migration target page from the page migration management table653(step1910). Subsequently, the exception target pool volume search unit634acquires a physical storage apparatus ID of a migration destination physical storage apparatus on the basis of the acquired entry (step1920).

Subsequently, the exception target pool volume search unit634acquires information (such as an RAID group ID) on a pool volume included in a pool to which the migration target page belongs and which exists in the migration destination physical storage apparatus from the pool volume table612(step1930).

Subsequently, the exception target pool volume search unit634acquires a threshold associated with the migration destination physical storage apparatus from the RAID group threshold table615(step1940).

Subsequently, the exception target pool volume search unit634performs processes (steps1950to1970) of a loop C on each pool volume acquired in step1930.

Specifically, the exception target pool volume search unit634acquires a usage associated with the RAID group ID of an RAID group included in the processing target pool volume from the RAID group table613(step1950). Subsequently, the exception target pool volume search unit634determines whether or not the acquired usage of the RAID group exceeds the threshold acquired in step1940(step1960). If the acquired usage of the RAID group exceeds the threshold acquired in step1940as a result of the determination (Yes in step1960), the exception target pool volume search unit634configures the exception target classification612eof the entry associated with the processing target pool volume in the pool volume table612to be “true” so that data on the migration target page will not be migrated to the pool volume (step1970) and performs the processes of the loop C on the next pool volume. If the acquired usage of the RAID group does not exceed the threshold acquired in step1940(No in step1960), the exception target pool volume search unit634performs the processes of the loop C on the next pool volume.

After performing the processes of the loop C on each pool volume acquired in step1930, the exception target pool volume search unit643then terminates the exception target pool volume search process.

According to the exception target pool volume search process, a pool volume where the usage of the RAID group on which the pool volume is based exceeds the threshold can be searched for, and the pool volume can be excluded from the migration destinations of the data on the logical page.

FIG. 20is a flowchart of a migration time prediction process according to an embodiment.

The migration time prediction process is performed when the “Display time required for handling” button2390in the virtual logical volume selection screen2300(seeFIG. 23) is pressed, for example. Note that, when the “Display time required for handling” button2390is pressed, the virtual logical volume ID of a virtual logical volume displayed on the target virtual logical volume list2320or the virtual logical volume ID of the virtual logical volume selected on the target virtual logical volume list2320is passed as the prediction target virtual logical volume ID to the page migration time prediction unit635.

The page migration time prediction unit635receives the virtual logical volume ID of the prediction target virtual logical volume (step2010). Subsequently, the page migration time prediction unit635causes the migration destination storage apparatus selection unit630and the page selection unit632to create the page migration management table653(step2020). Note that the creation of the page migration management table653by the migration destination storage apparatus selection unit630and the page selection unit632is performed similarly to the creation of the page migration management table653in other flowcharts.

Subsequently, the page migration time prediction unit635acquires an apparatus-to-apparatus transfer rate associated with the migration destination physical storage apparatus from the apparatus-to-apparatus transfer rate table614(step2030).

Subsequently, the page migration time prediction unit635repeats a process (step2040) of a loop D for all the physical storage apparatuses excluding the migration destination physical storage apparatus. Specifically, the page migration time prediction unit635predicts time (page migration predicted time) required for migration of data of one page that is a predetermined unit capacity from the processing target physical storage apparatus300to the migration destination physical storage apparatus on the basis of the transfer rate acquired in step2030(step2040). After performing the process (step2040) of the loop D on all the physical storage apparatuses excluding the migration destination physical storage apparatus, the page migration time prediction unit635then exits the loop D.

Subsequently, the page migration time prediction unit635repeats a process (step2060) of a loop E on all the migration target pages. Specifically, the page migration time prediction unit635adds a page migration predicted time required for migration of data on the page subjected to the loop process to the migration destination physical storage apparatus to a total migration predicted time (whose initial value is 0) (step2060). Alternatively, the number of pages to be migrated from each migration source physical storage apparatus300to the migration destination physical storage apparatus300may be obtained, and the total migration predicted time may be calculated by multiplying the number of pages by the page migration predicted time.

After performing the process (step2060) of the loop E on all the migration target pages, the page migration time prediction unit635then exits the loop E, stores the total migration predicted time in the predicted required time643hof the entry associated with the prediction target virtual logical volume in the target virtual logical volume table643(step2070), and terminates the migration time prediction process. When multiple prediction target virtual logical volume IDs are acquired, the page migration time prediction unit635performs the process ofFIG. 20for each virtual logical volume ID.

According to the migration time prediction process, the time required for migrating data on a migration target page of a target virtual logical volume can properly predicted, and the resulting information can be notified to the administrator. As a result, the administrator can take various measures taking the time for migrating data on a migration target page of a target virtual logical volume into consideration.

FIG. 21is a flowchart of the path response performance calculation process according to an embodiment.

The path response performance calculation process is a process corresponding to step1840in the improvement effect prediction process (seeFIG. 18).

The path response performance calculation unit631receives a virtual logical volume ID (step2110), and acquires entries of all pages associated with the virtual logical volume ID from the page table611(step2120).

Subsequently, the path response performance calculation unit631repeats a process (step2130) of a loop F on all the acquired pages. Specifically, the path response performance calculation unit631tallies the response performance (the response performance in the response performance611fof the entry) for each page for each I/O path (for each physical storage apparatus ID, for example) to the page, and calculates an average value of the response performance for each I/O path (step2130).

After performing the process (step2130) of the loop F on all the pages, the path response performance calculation unit631exits the loop F, stores the calculation result of the loop F in the path performance information table652(step2140), and terminates the path response performance calculation process.

According to the path response performance calculation process, the actual response performance of each path can be properly calculated.

FIG. 22is a flowchart of the access path search process according to an embodiment.

The access path search process is a process corresponding to step1640in the virtual logical volume management process (seeFIG. 16).

The access path search unit636receives a virtual logical volume ID (step2210), and acquires entries of all the pages associated with the virtual logical volume ID from the page table611(step2220).

Subsequently, the access path search unit636repeats a process (step2230) of a loop G on all the acquired pages. Specifically, the access path search unit636adds the transfer amount in the acquired amount611gof the acquired entry to the total transfer amount for the physical storage apparatus300in which data of the page are stored (step2230).

After performing the process (step2230) of the loop G for all the pages, the access path search unit636then exits the loop G, identifies the physical storage apparatus300with the largest total transfer amount in the calculation result of the loop G, determines the access path for receiving an I/O request for the processing target virtual logical volume to be the path for which the identified physical storage apparatus300is the window, passes this result to the port change control unit606(step2240), and terminates the access path search process. According to the access path search process, since a physical storage apparatus300with a large total transfer amount can be determined to be a window of an I/O request for a processing target virtual logical volume, the transfer amount of data between physical storage apparatuses300in response to an I/O request for the virtual logical volume can be reduced by changing the access path accordingly, and the I/O performance including the response performance of the virtual logical volume can be improved.

While embodiments of the present invention have been described above, the present invention is not limited to the embodiments but, needless to say, can be modified in various manners without departing from the gist thereof.

REFERENCE SIGNS LIST

300physical storage apparatus