Patent ID: 8024516

Claim:
A storage apparatus comprising: a disk device with plural logical volumes for storing a plurality of datasets; and a disk controller configured to control the disk device, wherein the disk controller comprises: a host interface configured to receive an access request from a host apparatus; a disk interface connected to the disk device; and a cache memory unit connected to the host interface and the disk interface and including a volatile cache memory and a non-volatile cache memory, the non-volatile cache memory including a cache-resident area and a backup area, wherein the disk controller has a first dataset stored in a first logical volume in the disk device resident in the cache-resident area formed in the non-volatile cache memory, wherein the host interface, for each receipt of a write request from the host apparatus, writes a second dataset according to the write request to a predetermined area in the volatile cache memory, and sets a dirty attribute in cache management information for the written second dataset to on, wherein, when the disk interface destages the second dataset written to the predetermined area in the volatile cache memory to a second logical volume in the disk device, the disk interface sets the dirty attribute in the cache management information for the destaged second dataset to off, and wherein the disk controller, at the time of a power shutdown, transfers, using a battery as a secondary power supply, the second data set for which the dirty attribute is on, from among a group of the second datasets that have been written to the volatile cache memory, to the backup area in the non-volatile cache memory, when writing the second dataset according to the write request to the volatile cache memory wherein, before the power shutdown, the disk controller configured to: acquire a size of the area in the volatile cache memory used by the group of the already-written second datasets for each of which the dirty attribute is on; judge whether the acquired area size exceeds a predetermined threshold value; and destage the first dataset written to the cache-resident area to the first logical volume and use the cache-resident area of the first dataset as the backup area if the disk controller determines that the acquired area size exceeds the predetermined threshold value.