Patent ID: 8560799
Filing Date: 2013-10-15
Classification: G06F

Abstract:
1. A virtual volume control method, wherein a controller: recognizes a plurality of virtual volumes which have a virtual storage area as control targets, partitions the virtual storage area of each virtual volume into a plurality of blocks, sets the blocks as pages which are access targets from an access request source, and allocates a storage area in a plurality of logical volumes that are configured in a plurality of types of storage devices having different performance to each page; measures an access frequency per a fixed time of each page of each of the virtual volumes: based on the measurement result, allocates a storage area in a logical volume on a high performance storage device among the storage devices to a page of which an access frequency per a fixed time is higher than a boundary value of the virtual volume, meanwhile, allocates a storage area in a logical volume on a low performance storage device among the storage devices to a page of which an access frequency per a fixed time is lower than the boundary value of the virtual volume; calculates a performance value of one or more virtual volumes which have performance requirements among the virtual volumes based on performance values of the storage devices allocated to the respective pages of the virtual volumes and access frequencies of the respective pages per a fixed time; determines whether the performance requirements of the virtual volumes are satisfied based on the calculated values; if there are any virtual volumes of which the performance requirements are not satisfied, calculates the number of additional pages which are allocated to the high performance storage devices among the storage devices to satisfy the performance requirements of the virtual volumes by adding the pages; and if the same or larger number of unallocated pages as/than the calculated number of additional pages do not exist in any of the virtual volumes, under the condition that, among virtual volumes other than the virtual volumes of which the performance requirements are not satisfied, there are any virtual volumes to which the same or larger number of pages as/than the calculated number of additional pages can be allocated, allocates the same or larger number pages as/than the calculated number of additional pages to that virtual volume, wherein the controller: if the same or larger number of unallocated pages as/than the calculated number of additional pages exist in any of the virtual volumes, releases, among the pages of that virtual volume, the same or larger number of pages as/than the calculated number of additional pages; allocates the released, same or larger number of pages as/than the number of additional pages to the virtual volume of which the performance requirements are not satisfied; if the same or larger number of unallocated pages as/than the calculated number of additional pages do not exist in any of the virtual volumes, determines whether the same or larger number of pages as/than the calculated number of additional pages exist in, among virtual volumes other than the virtual volume of which the performance requirement is not satisfied, a virtual volume which has the performance requirement; if the same or larger number of pages as/than the calculated number of additional pages exist in a virtual volume which has the performance requirement, releases, among the pages of this release target virtual volume, the same or larger number of pages as/than the calculated number of additional pages; allocates the released, same or larger number of pages as/than the number of additional pages, to the virtual volume of which the performance requirement is not satisfied; if the same or larger number of pages as/than the calculated number of additional pages do not exist in a virtual volume which has the performance requirement, determines whether the same or larger number of pages as/than the calculated number of additional pages exist in a virtual volume which does not have the performance requirement; if the same or larger number of pages as/than the calculated number of additional pages exist in a virtual volume which does not have the performance requirement, releases, among the pages of this release target virtual volume, the same or larger number of pages as/than the calculated number of additional pages; and allocates the released, same or larger number of pages as/than the number of additional pages, to the virtual volume of which the performance requirement is not satisfied.