A method executed by a storage apparatus comprising a controller coupled to a host computer and a plurality of physical storage devices coupled to the controller, comprising
- creating a basic volume based on the plurality of physical storage devices;
- creating a first virtual volume based on the basic volume;
- creating a first auxiliary volume based on the plurality of physical storage devices;
- storing area information indicating that a basic storage area in the basic volume is associated with a first virtual storage area in a first virtual volume;
- in the case in which a read request to the first virtual storage area is issued from the host computer, determining whether or not a first auxiliary storage area in the first auxiliary volume is associated with the first virtual storage area based on the area information;
- in the case in which the first auxiliary storage area is not associated with the first virtual storage area, executing a read access to the basic storage area;
- measuring a read access frequency to the basic storage area;
- in the case in which the read access frequency to the basic storage area is a value equal to or larger than a predetermined first copy threshold value, copying data of the basic storage area to the first auxiliary storage area;
- and
- storing that the first auxiliary storage area as substitute for the basic storage area is associated with the first virtual storage area into the area information, wherein
- in the case in which the read access frequency to the basic storage area is a value less than a predetermined second copy threshold value, storing that the basic storage area as substitute for the first auxiliary storage area is associated with the first virtual storage area into the area information;
- creating a first pool based on the plurality of physical storage devices;
- allocating a physical storage area in the first pool to the first auxiliary volume;
- creating a plurality of pools including the first pool based on the plurality of physical storage devices;
- and
- creating a second virtual volume based on the basic volume,
- wherein the area information indicates that the first auxiliary storage area is associated with a second virtual storage area in the second virtual volume and the first auxiliary storage area is associated with the first virtual storage area, and
- in the case in which a read request to the first virtual storage area is issued from the host computer, determining whether or not the first auxiliary storage area is associated with the first virtual storage area based on the area information;
- in the case in which the first auxiliary storage area is associated with the first virtual storage area, executing a read access to the first auxiliary storage area;
- in the case in which a read request to the second virtual storage area is issued from the host computer, determining whether or not the first auxiliary storage area is associated with the second virtual storage area based on the area information;
- in the case in which the first auxiliary storage area is associated with the second virtual storage area, executing a read access to the first auxiliary storage area;
- measure a read access frequency to the first auxiliary storage area;
- computing a read access frequency to the first auxiliary volume based on a read access frequency to the first auxiliary storage area;
- determining whether or not a read access frequency to the first auxiliary volume is equal to or larger than a predetermined duplicate threshold value;
- in the case in which a read access frequency to the first auxiliary volume is equal to or larger than the duplicate threshold value, allocating a physical storage area in the plurality of pools to a second auxiliary storage area in the second auxiliary volume;
- coping data in the first auxiliary storage area to the second auxiliary storage area;
- and
- storing that the second auxiliary storage area as substitute for the first auxiliary storage area is associated with the second virtual storage area into the area information.