# US 11,030,116 B2 · Processing cache miss rates to determine memory space to add to an active cache to reduce a cache miss rate for the active cache

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,030,116 B2
- Document ID: US11030116B2
- Status: Granted
- Kind: B2
- Application number: 16/417,637
- Filed: 2019-05-20
- Published: 2019-09-05
- Granted: 2021-06-08
- Earliest claimed: 2017-06-21
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Kyler A. Anderson; Kevin J. Ash; Matthew G. Borlick; Lokesh M. Gupta
- Web page: https://patentgrep.com/patent/US11030116B2

## CPC

- G06F 12/128: adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
- G06F 12/0808: with cache invalidating means (G06F12/0815 takes precedence)
- G06F 12/0831: using a bus scheme, e.g. with bus monitoring or watching means
- G06F 12/0871: Allocation or management of cache space
- G06F 12/122: of the least frequently used [LFU] type, e.g. with individual count value
- G06F 12/12: Replacement control
- G06F 2212/312: In storage controller
- G06F 2212/621: Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided are a computer program product, system, and method for processing cache miss rates to determine memory space to add to an active cache to reduce a cache miss rate for the active cache. During caching operations to the active cache, information is gathered on an active cache miss rate based on a rate of access to tracks that are not indicated in the active cache list and a cache demote rate. A determination is made as to whether adding additional memory space to the active cache would result in the active cache miss rate being less than the cache demote rate when the active cache miss rate exceeds the cache demote rate. A message is generated indicating to add the additional memory space when adding the additional memory space would result in the active cache miss rate being less than the cache demote rate.

## Claims

### Claim 1

A computer program product for managing an active cache in a computer system to cache tracks stored in a storage, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising:
determining whether adding additional memory space to the active cache would result in an active cache miss rate being less than a cache demote rate when the active cache miss rate exceeds the cache demote rate; and
generating a message to a user of the computer system indicating to add the additional memory space to the active cache in response to determining that adding the additional memory space would result in the active cache miss rate being less than the cache demote rate.

### Claim 2 (depends on 1)

The computer program product of claim 1, wherein the operations further comprise:
for each time interval of a plurality of time intervals, multiplying a number of the active cache misses per unit of time and an Input/Output (“I/O”) size to determine the active cache miss rate; and
for each of the time intervals, gathering an amount of data per unit of time that was removed from the active cache, wherein the cache demote rate is based on the amount of data removed from the active cache during the time intervals.

### Claim 3 (depends on 1)

The computer program product of claim 1, wherein the additional memory space corresponds to memory space in the computer system that is not yet made available for use in the active cache, wherein the message to the user indicates to add to the active cache the additional memory space in the computer system not yet made available for use, wherein the operations further comprise:
receiving an instruction to add the additional memory space to the active cache in response to the user accepting to add the additional memory space; and
adding the memory space in the computer system to the active cache to expand a size of the active cache in response to the receiving the instruction.

### Claim 4 (depends on 1)

The computer program product of claim 1, wherein the operations further comprise:
indicating a track demoted from the active cache in a ghost cache list; and
determining whether a ghost cache miss rate is less than the cache demote rate when the active cache miss rate exceeds the cache demote rate, wherein the additional memory space comprises an amount of memory space associated with the ghost cache list in response to determining that the ghost cache miss rate is less than the cache demote rate.

### Claim 5 (depends on 4)

The computer program product of claim 4, wherein tracks indicated in the ghost cache list are not stored in the active cache.

### Claim 6 (depends on 1)

The computer program product of claim 1, wherein there are a plurality of N ghost cache lists ordered from 1 to N, wherein tracks demoted from the active cache are indicated in ghost cache list 1, and wherein the operations further comprise:
for ghost cache lists i=2 through N, indicating in ghost cache list i a track demoted from ghost cache list (i-1), wherein ghost cache miss rate i for the ghost cache list i is based on a rate over time of accesses to tracks that are not indicated in the active cache or any of the ghost cache lists 1 through i, wherein the additional memory space comprises a total amount of space associated with the ghost cache lists 1 through i in response to determining that one of ghost cache miss rates for the ghost cache list i is less than the cache demote rate.

### Claim 7 (depends on 6)

The computer program product of claim 6, wherein the operations further comprise:
demoting a track indicated in the ghost cache list 1 in response to the ghost cache list 1 being full when a track is demoted from the active cache to make an entry available in the ghost cache list 1 to indicate the track being demoted from the active cache; and
for ghost cache lists 2 through N, demoting a track indicated in the ghost cache list i in response to the ghost cache list i being full when a track is demoted from the ghost cache list (i-1) to make an entry available in the ghost cache list i to indicate the track being demoted from the ghost cache list (i-1).

### Claim 8

A system coupled to a storage having tracks, comprising:
a processor;
an active cache implemented in at least one memory device; and
a computer readable storage medium having computer program code that in response to being executed by the processor performs operations, the operations comprising:
determining whether adding additional memory space to the active cache would result in an active cache miss rate being less than a cache demote rate when the active cache miss rate exceeds the cache demote rate; and
generating a message to a user of the system indicating to add the additional memory space to the active cache in response to determining that adding the additional memory space would result in the active cache miss rate being less than the cache demote rate.

### Claim 9 (depends on 8)

The system of claim 8, wherein the operations further comprise:
for each time interval of a plurality of time intervals, multiplying a number of the active cache misses per unit of time and an Input/Output (“I/O”) size to determine the active cache miss rate; and
for each of the time intervals, gathering an amount of data per unit of time that was removed from the active cache, wherein the cache demote rate is based on the amount of data removed from the active cache during the time intervals.

### Claim 10 (depends on 8)

The system of claim 8, wherein the additional memory space corresponds to memory space in the system that is not yet made available for use in the active cache, wherein the message to the user indicates to add to the active cache the additional memory space in the system not yet made available for use, wherein the operations further comprise:
receiving an instruction to add the additional memory space to the active cache in response to the user accepting to add the additional memory space; and
adding the memory space in the system to the active cache to expand a size of the active cache and a size of the active cache in response to the receiving the instruction.

### Claim 11 (depends on 8)

The system of claim 8, wherein the operations further comprise:
indicating a track demoted from the active cache in a ghost cache list; and
determining whether a ghost cache miss rate is less than the cache demote rate when the active cache miss rate exceeds the cache demote rate, wherein the additional memory space comprises an amount of memory space associated with the ghost cache list in response to determining that the ghost cache miss rate is less than the cache demote rate.

### Claim 12 (depends on 11)

The system of claim 11, wherein tracks indicated in the ghost cache list are not stored in the active cache.

### Claim 13 (depends on 8)

The system of claim 8, wherein there are a plurality of N ghost cache lists ordered from 1 to N, wherein tracks demoted from the active cache are indicated in ghost cache list 1, and wherein the operations further comprise:
for ghost cache lists i=2 through N, indicating in ghost cache list i a track demoted from ghost cache list (i-1), wherein ghost cache miss rate i for the ghost cache list i is based on a rate over time of accesses to tracks that are not indicated in the active cache or any of the ghost cache lists 1 through i, wherein the additional memory space comprises a total amount of space associated with the ghost cache lists 1 through i in response to determining that one of ghost cache miss rates for the ghost cache list i is less than the cache demote rate.

### Claim 14 (depends on 13)

The system of claim 13, wherein the operations further comprise:
demoting a track indicated in the ghost cache list 1 in response to the ghost cache list 1 being full when a track is demoted from the active cache to make an entry available in the ghost cache list 1 to indicate the track being demoted from the active cache; and
for ghost cache lists 2 through N, demoting a track indicated in the ghost cache list i in response to the ghost cache list i being full when a track is demoted from the ghost cache list (i-1) to make an entry available in the ghost cache list i to indicate the track being demoted from the ghost cache list (i-1).

### Claim 15

A method for managing an active cache in a computer system to cache tracks stored in a storage, comprising:
determining whether adding additional memory space to the active cache would result in an active cache miss rate being less than a cache demote rate when the active cache miss rate exceeds the cache demote rate; and
generating a message to a user of the computer system indicating to add the additional memory space to the active cache in response to determining that adding the additional memory space would result in the active cache miss rate being less than the cache demote rate.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
for each time interval of a plurality of time intervals, multiplying a number of the active cache misses per unit of time and an Input/Output (“I/O”) size to determine the active cache miss rate; and
for each of the time intervals, gathering an amount of data per unit of time that was removed from the active cache, wherein the cache demote rate is based on the amount of data removed from the active cache during the time intervals.

### Claim 17 (depends on 15)

The method of claim 15, wherein the additional memory space corresponds to memory space in the computer system that is not yet made available for use in the active cache, wherein the message to the user indicates to add to the active cache the additional memory space in the computer system not yet made available for use, further comprising:
receiving an instruction to add the additional memory space to the active cache in response to the user accepting to add the additional memory space; and
adding the memory space in the computer system to the active cache to expand a size of the active cache and a size of the active cache in response to the receiving the instruction.

### Claim 18 (depends on 15)

The method of claim 15, further comprising:
indicating a track demoted from the active cache in a ghost cache list; and
determining whether a ghost cache miss rate is less than the cache demote rate when the active cache miss rate exceeds the cache demote rate, wherein the additional memory space comprises an amount of memory space associated with the ghost cache list in response to determining that the ghost cache miss rate is less than the cache demote rate.

### Claim 19 (depends on 18)

The method of claim 18, wherein tracks indicated in the ghost cache list are not stored in the active cache.

### Claim 20 (depends on 15)

The method of claim 15, wherein there are a plurality of N ghost cache lists ordered from 1 to N, wherein tracks demoted from the active cache are indicated in ghost cache list 1, further comprising:
for ghost cache lists i=2 through N, indicating in ghost cache list i a track demoted from ghost cache list (i-1), wherein ghost cache miss rate i for the ghost cache list i is based on a rate over time of accesses to tracks that are not indicated in the active cache or any of the ghost cache lists 1 through i, wherein the additional memory space comprises a total amount of space associated with the ghost cache lists 1 through i in response to determining that one of ghost cache miss rates for the ghost cache list i is less than the cache demote rate.
