# US 2014/0156937 A1 · Systems and methods for background destaging storage tracks

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

- Number: US 2014/0156937 A1
- Document ID: US20140156937A1
- Status: Published application
- Kind: A1
- Application number: 14/174,690
- Filed: 2014-02-06
- Published: 2014-06-05
- Earliest claimed: 2010-12-10
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Brent C. BEARDSLEY; Michael T. BENHASE; Binny S. GILL; Lokesh M. GUPTA; Sonny E. WILLIAMS
- Web page: https://patentgrep.com/patent/US20140156937A1

## CPC

- G06F 12/12: Replacement control
- G06F 12/0804: with main memory updating (G06F12/0806 takes precedence)
- G06F 12/0831: using a bus scheme, e.g. with bus monitoring or watching means
- G06F 12/0848: {Partitioned cache, e.g. separate instruction and operand caches}
- G06F 12/0866: for peripheral storage systems, e.g. disk cache
- G06F 12/0868: Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
- G06F 12/0891: using clearing, invalidating or resetting means
- G06F 12/128: adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
- G06F 2212/1041: Resource optimization
- G06F 2212/282: Partitioned cache
- G06F 2212/313: In storage device
- G06F 2212/314: In storage network, e.g. network attached cache
- G06F 2212/604: Details relating to cache allocation
- 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

Storage tracks are destaged from the write cache if the host(s) is/are idle and are not destaged from the write cache if one or more of the hosts is/are not idle. The storage tracks are refrained from being destaged from the write cache if the at least one host is not idle. Each rank is monitored for write operations from the at least one host, and a determination is made if the at least one host is idle with respect to each respective rank based on monitoring each rank for write operations from the at least one host such that the at least one host may be determined to be idle with respect to a first rank and not idle with respect to a second rank.

## Claims

### Claim 1

A method for background destaging storage tracks from a write cache configured to store a plurality of storage tracks when at least one host is idle using a processor device, the method comprising:
destaging storage tracks from the write cache if the at least one host is idle;
refraining from destaging storage tracks from the write cache if the at least one host is not idle;
monitoring each rank for write operations from the at least one host; and
determining if the at least one host is idle with respect to each respective rank based on monitoring each rank for write operations from the at least one host such that the at least one host may be determined to be idle with respect to a first rank and not idle with respect to a second rank.

### Claim 2 (depends on 1)

The method of claim 1, further comprising performing each one of:
partitioning the write cache into a plurality ranks each comprising a portion of the plurality of storage tracks,
monitoring the write cache for write operations from the at least one host, and
determining if the at least one host is idle based on monitoring the write cache for write operations from the at least one host.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
destaging storage tracks from each respective rank when it is determined that the at least one host is idle with respect to a first set of ranks; and
refraining from destaging storage tracks from each rank when it is determined that the at least one host is not idle with respect to a second set of ranks such that storage tracks in the first set of ranks may be destaged while storage tracks in the second set of ranks are not being destaged.

### Claim 4 (depends on 3)

The method of claim 3, further comprising destaging four (4) tracks per second from each respective rank in which the at least one host is determined to be idle with respect to.

### Claim 5 (depends on 3)

The method of claim 3, further comprising:
determining that the at least one host is idle with respect to the first particular rank when the at least one host does not write to at least one storage track in the first particular rank within a predetermined amount of time when determining if the at least one host is idle with respect to each rank; and
determining that the at least one host is not idle with respect to the second particular rank when the at least one host writes to at least one storage track in the second particular rank within the predetermined amount of time when determining if the at least one host is idle with respect to each rank.

### Claim 6 (depends on 5)

The method of claim 5, further comprising setting a flag to a predetermined count on each respective rank every time one of the at least one host writes to at least one storage track on each rank.

### Claim 7 (depends on 6)

The method of claim 6, further comprising decrementing the flag on each respective rank for every predetermined unit of time in which the at least one host does not write data to each rank.

### Claim 8

A system for background destaging storage tracks from cache when at least one host is idle, the system comprising:
a write cache configured to store a plurality of storage tracks and configured to be coupled to the at least one host; and
a processor coupled to the write cache, wherein the processor comprises code that, when executed by the processor, causes the processor to:
destage storage tracks from the write cache if the at least one host is idle,
refrain from destaging storage tracks from the write cache if the at least one host is not idle,
monitor each rank for write operations from the at least one host, and
determining if the at least one host is idle with respect to each respective rank based on monitoring each rank for write operations from the at least one host such that the at least one host may be determined to be idle with respect to a first rank and not idle with respect to a second rank.

### Claim 9 (depends on 8)

The system of claim 8, wherein the processor performs each one of:
partitioning the write cache into a plurality ranks each comprising a portion of the plurality of storage tracks,
monitoring the write cache for write operations from the at least one host, and
determining if the at least one host is idle based on monitoring the write cache for write operations from the at least one host.

### Claim 10 (depends on 9)

The system of claim 9, wherein the processor:
destages storage tracks from each respective rank when it is determined that the at least one host is idle with respect to a first set of ranks; and
refrains from destaging storage tracks from each rank when it is determined that the at least one host is not idle with respect to a second set of ranks such that storage tracks in the first set of ranks may be destaged while storage tracks in the second set of ranks are not being destaged.

### Claim 11 (depends on 10)

The system of claim 10, wherein the processor utilizes four (4) destage tasks per second from each rank in which the at least one host is determined to be idle with respect to.

### Claim 12 (depends on 10)

The system of claim 10, wherein the processor:
determines that the at least one host is idle with respect to the first particular rank when the at least one host does not write to at least one storage track in the first particular rank within a predetermined amount of time when determining if the at least one host is idle with respect to each rank; and
determines that the at least one host is not idle with respect to the second particular rank when the at least one host writes to at least one storage track in the second particular rank within the predetermined amount of time when determining if the at least one host is idle with respect to each rank.

### Claim 13 (depends on 12)

The system of claim 12, wherein the processor sets a flag to a predetermined count on each respective rank every time the at least one host writes to at least one storage track in a particular rank.

### Claim 14 (depends on 13)

The system of claim 13, wherein the processor decrements the flag on each respective rank for every predetermined unit of time in which the at least one host does not write data to at least one storage track in a particular rank.

### Claim 15

A physical computer storage memory comprising a computer program product for background destaging storage tracks from a write cache configured to store a plurality of storage tracks when at least one host is idle, the computer program product comprising:
computer code for destaging storage tracks from the write cache if the at least one host is idle;
computer code for refraining from destaging storage tracks from the write cache if the at least one host is not idle;
computer code for monitoring each rank for write operations from the at least one host; and
computer code for determining if the at least one host is idle with respect to each respective rank based on monitoring each rank for write operations from the at least one host such that the at least one host may be determined to be idle with respect to a first rank and not idle with respect to a second rank.

### Claim 16 (depends on 15)

The physical computer storage memory of claim 15, wherein the computer program product further comprises:
computer code for monitoring the write cache for write operations from the at least one host; and
computer code for determining if the at least one host is idle based on monitoring the write cache for write operations from the at least one host.

### Claim 17 (depends on 15)

The physical computer storage memory of claim 15, wherein the computer program product further comprises:
computer code for destaging storage tracks from each respective rank when it is determined that the at least one host is idle with respect to a first set of ranks; and
computer code for refraining from destaging storage tracks from each rank when it is determined that the at least one host is not idle with respect to a second set of ranks such that storage tracks in the first set of ranks may be destaged while storage tracks in the second set of ranks are not being destaged.

### Claim 18 (depends on 17)

The physical computer storage memory of claim 17, wherein the computer program product further comprises computer code for utilizing four (4) destage tasks per second from each respective rank in which the at least one host is determined to be idle with respect to.

### Claim 19 (depends on 17)

The physical computer storage memory of claim 17, wherein the computer program product further comprises:
computer code for determining that the at least one host is idle with respect to the first particular rank when the at least one host does not write to at least one storage track in the first particular rank within a predetermined amount of time when determining if the at least one host is idle with respect to each rank; and
computer code for determining that the at least one host is not idle with respect to the second particular rank when the at least one host writes to at least one storage track in the second particular rank within the predetermined amount of time when determining if the at least one host is idle with respect to each rank.

### Claim 20 (depends on 19)

The physical computer storage memory of claim 19, wherein the computer program product further comprises computer code for:
setting a flag to a predetermined count on each respective rank every time one of the at least one host writes to at least one storage track on each rank; and
decrementing the flag on each respective rank for every predetermined unit of time in which the at least one host does not write data to each rank.
