SYSTEM AND METHOD FOR CONTROLLING CACHE FLUSH SIZE
First Claim
1. A method for controlling cache flush size in an information handling system, comprising:
- setting a threshold value for modified cache lines in a cache;
writing to a cache line in the cache;
determining whether or not the writing causes the cache line to transition to a modified state;
in response to determining that that the writing causes the cache line to transition to the modified state;
incrementing a count of modified cache lines in the cache;
determining, dependent on the incremented count, whether or not the threshold value for modified cache lines in the cache is exceeded; and
flushing one or more modified cache lines in the cache to persistent memory, in response to determining that the threshold value for modified cache lines in the cache is exceeded.
13 Assignments
0 Petitions
Accused Products
Abstract
An information handling system may implement a method for controlling cache flush size by limiting the amount of modified cached data in a data cache at any given time. The method may include keeping a count of the number of modified cache lines (or modified cache lines targeted to persistent memory) in the cache, determining that a threshold value for modified cache lines is exceeded and, in response, flushing some or all modified cache lines to persistent memory. The threshold value may represent a maximum number or percentage of modified cache lines. The cache controller may include a field for each cache line indicating whether it targets persistent memory. Limiting the amount of modified cached data at any given time may reduce the number of cache lines to be flushed in response to a power loss event to a number that can be flushed using the available hold-up energy.
-
Citations
20 Claims
-
1. A method for controlling cache flush size in an information handling system, comprising:
-
setting a threshold value for modified cache lines in a cache; writing to a cache line in the cache; determining whether or not the writing causes the cache line to transition to a modified state; in response to determining that that the writing causes the cache line to transition to the modified state; incrementing a count of modified cache lines in the cache; determining, dependent on the incremented count, whether or not the threshold value for modified cache lines in the cache is exceeded; and flushing one or more modified cache lines in the cache to persistent memory, in response to determining that the threshold value for modified cache lines in the cache is exceeded. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An information handling system, comprising:
-
at least one cache; and a cache controller comprising circuitry to; store a threshold value for modified cache lines in a cache; detect a write to a cache line in the cache; determine whether or not the write causes the cache line to transition to a modified state; in response to a determination that that the write causes the cache line to transition to the modified state; increment a count of modified cache lines in the cache; determine, dependent on the incremented count, whether or not the threshold value is exceeded; flush one or more modified cache lines in the cache to persistent memory, in response to a determination that the threshold value is exceeded; and elide a flush of the one or more modified cache lines in the cache to persistent memory, in response to a determination that the threshold value is not exceeded. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A cache controller, comprising circuitry to:
-
store a threshold value for modified cache lines in a cache; detect a write to a cache line in the cache; determine whether or not the write causes the cache line to transition to a modified state; in response to a determination that that the write causes the cache line to transition to the modified state; increment a count of modified cache lines in the cache; determine, dependent on the incremented count, whether or not the threshold value is exceeded; flush one or more modified cache lines in the cache to persistent memory, in response to a determination that the threshold value is exceeded; and elide a flush of the one or more modified cache lines in the cache to persistent memory, in response to a determination that the threshold value is not exceeded. - View Dependent Claims (19, 20)
-
Specification