A storage system includes a storage device that stores data and a storage control apparatus that controls the storage device. The storage device is, for example, a non-volatile data storage device such as a hard disk drive (HDD) or a solid state drive (SSD). The storage control apparatus controls the storage device in response to a data write request or a data read request received from a host server and executes corresponding write processing of data into the storage device or read processing of data from the storage device. Hereinafter, a data write request is referred to as a “write command”, and a data read request is referred to as a “read command”. In addition, a write command and a read command are collectively referred to as a “command”. In addition, input of a command to the storage control apparatus is referred to as an “access”.
The storage control apparatus includes, for example, a dynamic random access memory (DRAM) as a cache memory. When the storage control apparatus has received a write command from the host server, the storage control apparatus stores data that is a target of the write command in the cache memory, and then, executes storage processing of the data stored in the cache memory into the storage device. In addition, in a case in which the storage control apparatus has received a read command from the host server, when data that is a target of the read command is stored in the cache memory, the storage control apparatus reads the data from the cache memory. The data that has been read from the cache memory is transmitted to the host server. When data that is a target of the read command is not stored in the cache memory, the storage control apparatus reads the data from the storage device. The data that has been read from the storage device is transmitted to the host server and also stored in the cache memory.
The capacity of the cache memory is smaller than the capacity of the storage device, thus, it is desirable that the storage control apparatus select a piece of data to be stored in the cache memory from among pieces of data stored in the storage device. In other words, the storage control apparatus executes processing in which a piece of data to be deleted is identified from among pieces of data stored in the cache memory in order to ensure the free capacity of the cache memory, and the identified data is deleted. As an algorithm for identifying data to be deleted from the cache memory, for example, a least recently used (LRU) scheme is known. In the LRU scheme, a management list is updated in accordance with the most recent access time to data stored in the cache memory, and a piece of data having the oldest most recent access time is preferentially deleted from the cache memory from among the pieces of data stored in the cache memory. The storage control apparatus executes processing in which the management list is updated in accordance with an access in order to manage the cache memory. Japanese Laid-open Patent Publication No. 2015-191604 and Japanese Laid-open Patent Publication No. 2007-334752 are related arts.