Cache control apparatus and method
AssigneeHitachi, Ltd.
InventorsYosuke Kasai, Manabu Obana, Akihiko Sakaguchi
Life of this patent
Estimating the term…
Abstract
A cache control apparatus is provided in a computer system including an access source and a storage apparatus. This device, based on I/O status information, which is information denoting the I/O status in accordance with an I/O command from the access source, determines whether or not the I/O performance from the access source drops. In a case where the result of this determination is affirmative, the cache control apparatus changes a cache utilization status specified from cache utilization status information, which is information denoting the cache utilization status related to a cache area, to a cache utilization status that improves I/O performance.
Claims19
A cache control apparatus provided in a computer system including an access source and a storage apparatus, wherein the access source issues an Input/Output (I/O) command;
- and the storage apparatus includes a plurality of storage devices and a controller including a cache memory, the cache memory includes an allocated cache area, and the controller executes input/output of data in response to the I/O command from the access source, and uses the cache area when executing this input/output, the cache control apparatus comprising:
- a storage resource;
- and
- a processor coupled to the storage resource,
- the storage resource storing:
- cache utilization status information, which is information denoting a cache utilization status of the cache area;
- and
- I/O status information, which is information denoting the I/O status in accordance with the I/O command from the access source,
- the processor:
- (X) determining, based on the I/O status information, whether or not the performance of an I/O from the access source drops;
- and
- (Y) executing cache control, in a case where the result of the determination in the (X) is affirmative,
- wherein the cache control is to change the cache utilization status specified from the cache utilization status information to a cache utilization status that improves I/O performance,
- wherein the access source is an application for issuing an I/O command specifying a logical volume, a plurality of applications are executed by one or more host apparatuses, a relay apparatus including a cache memory exists between the one or more host apparatuses and the storage apparatus, the plurality of storage devices are a plurality of logical volumes, the storage resource stores application management information, the I/O status information denotes the actual I/O performance and I/O increasing rate for each application/volume set, the cache utilization status information denotes I/O characteristics and a cache mode selected from among a plurality of cache modes for each cache area, the application management information denotes a required I/O performance for each application/volume set, the application/volume set is a set of the application and the logical volume to be input or output to/from this application data, the required I/O performance is the I/O performance required from the application, and is a value based on a log of the performance of I/O from the application, the processor acquires information from the one or more host apparatuses and/or the storage apparatus, and based on this information, updates the I/O status information, the cache utilization status information, and the application management information, each cache mode is defined based on the type of data that has been made to reside in the cache area and/or the capacity of the cache area, the processor executes the following processing (A) and (B) for a first set, which is an application/volume set including a first application and a first logical volume:
- (A) determination is made, on the basis of the required I/O performance, the actual I/O performance and the I/O increasing rate corresponding to the first set, whether or not I/O performance drops below this required I/O performance at a certain point in time in the future for the first set;
- and
- (B) in a case where the result of the determination in the (A) is affirmative, the following processing (b1) through (b6) is executed:
- (b1) determination is made whether or not the cache mode for a target cache area, which is the cache area allocated to the first logical volume, is suitable to I/O characteristics for the target cache area;
- (b2) in a case where the result of the determination in the (b1) is negative, as the cache control, the cache mode of the target cache area is changed to a different cache mode based on the I/O characteristics of the target cache area, or frequently read data of the data stored in the target cache area is made to reside in the target cache area;
- (b3) in a case where the result of the determination in the (b1) is affirmative, whether or not there is a first surplus cache area related to a first path is determined;
- (b4) in a case where the result of the determination in the (b3) is affirmative, as the cache control, an additional allocation of the first surplus cache area to the first logical volume is made;
- (b5) in a case where the result of the determination in the (b3) is negative, determination is made, based on the actual I/O performance the I/O increasing rate and the required I/O performance for a second set, which is a different application/volume set, as to whether or not at least a portion of the cache area allocated to a second logical volume belonging to the second set is releasable;
- and
- (b6) in a case where the result of the determination in the (b5) is affirmative, as the cache control a second surplus cache area, which is at least a portion of the cache area allocated to the second logical volume is released, and additionally at least a portion of the released the second surplus cache area is allocated to the first logical volume, and
- wherein the first path is the path between the first application and the first logical volume, the first surplus cache area is a storage area of the cache memory inside the relay apparatus through which the first path passes, and is a cache area that has not been allocated to any logical volume, and the capacity of the second surplus cache area is determined on the basis of the actual I/O performance, the I/O increasing rate, and the required I/O performance for the second set.
A cache control method executed by a computer system including an access source and a storage apparatus, wherein the access source issues an Input/Output (I/O) command, and the storage apparatus includes a plurality of storage devices, and a controller including a cache memory, the cache memory includes an allocated cache area, and the controller executes data input/output in response to the I/O command from the access source, and uses the cache area when executing this input/output, the cache control method comprising the steps of:
- (X) determining, based on I/O status information, which is information denoting an I/O status in accordance with the I/O command from the access source, whether or not performance of an I/O from the access source drops;
- and
- (Y) executing, in a case where the result of the determination in the (X) is affirmative, cache control for changing a cache utilization status specified from cache utilization status information, which is information denoting the cache utilization status related to the cache area, to a cache utilization status for improving I/O performance,
- wherein the access source is an application for issuing an I/O command specifying a logical volume, a plurality of applications are executed by one or more host apparatuses, a relay apparatus including a cache memory exists between the one or more host apparatuses and the storage apparatus, the plurality of storage devices are a plurality of logical volumes, the storage resource stores application management information, the I/O status information denotes the actual I/O performance and I/O increasing rate for each application/volume set, the cache utilization status information denotes I/O characteristics and a cache mode selected from among a plurality of cache modes for each cache area, the application management information denotes a required I/O performance for each application/volume set, the application/volume set is a set of the application and the logical volume to be input or output to/from this application data, the required I/O performance is the I/O performance required from the application, and is a value based on a log of the performance of I/O from the application, the processor acquires information from the one or more host apparatuses and/or the storage apparatus, and based on this information, updates the I/O status information, the cache utilization status information, and the application management information, each cache mode is defined based on the type of data that has been made to reside in the cache area and/or the capacity of the cache area the processor executes the following processing (A) and (B) for a first set, which is an application/volume set including a first application and a first logical volume:
- (A) determining, on the basis of the required I/O performance, the actual I/O performance and the I/O increasing rate corresponding to the first set, whether or not I/O performance drops below this required I/O performance at a certain point in time in the future for the first set;
- and
- (B) in a case where the result of the determining in the (A) is affirmative, the following processing (b1) through (b6) is executed:
- (b1) determining whether or not the cache mode for a target cache area, which is the cache area allocated to the first logical volume, is suitable to I/O characteristics for the target cache area;
- (b2) in a case where the result of the determining in the (b1) is negative, as the cache control, changing the cache mode of the target cache area to a different cache mode based on the I/O characteristics of the target cache area, or frequently read data of the data stored in the target cache area is made to reside in the target cache area;
- (b3) in a case where the result of the determining in the (b1) is affirmative, determining whether or not there is a first surplus cache area related to a first path;
- (b4) in a case where the result of the determining in the (b3) is affirmative, as the cache control, making an additional allocation of the first surplus cache area to the first logical volume;
- (b5) in a case where the result of the determining in the (b3) is negative, determining, based on the actual I/O performance, the I/O increasing rate and the required I/O performance for a second set, which is a different application/volume set, as to whether or not at least a portion of the cache area allocated to a second logical volume belonging to the second set is releasable;
- and
- (b6) in a case where the result of the determining in the (b5) is affirmative, releasing, as the cache control, a second surplus cache area, which is at least a portion of the cache area allocated to the second logical, and additionally allocating at least a portion of the released the second surplus cache area to the first logical volume, and
- wherein the first path is the path between the first application and the first logical volume, the first surplus cache area is a storage area of the cache memory inside the relay apparatus through which the first path passes and is a cache area that has not been allocated to any logical volume, and the capacity of the second surplus cache area is determined on the basis of the actual I/O performance, the I/O increasing rate, and the required I/O performance for the second set.
Dependencies are inferred from the claim text.