Cache controller for non-volatile memory
First Claim
Patent Images
1. A method comprising:
- monitoring, using a data structure storing address tags of dirty cache lines, a quantity of the dirty cache lines in a cache that includes cache lines storing data and respective address tags, the dirty cache lines corresponding to data in a main memory;
computing, by a cache controller or a processor, a threshold that is based on a capacity of the data structure and that is less than a cache line storage capacity of the cache wherein computing the threshold comprises adjusting the threshold by the cache controller or the processor based on a frequency of cache flushes from the cache to the main memory;
comparing the quantity of the dirty cache lines to the threshold; and
causing a write back by the cache controller of at least one of the dirty cache lines to the main memory in response to a store event that causes the quantity of the dirty cache lines to satisfy the threshold.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus, systems and articles of manufacture are disclosed to control a cache. An example method includes monitoring cache lines in a cache, the cache lines storing recently written data to the cache, the recently written data corresponding to main memory, comparing a total quantity of the cache lines to a threshold that is less than a cache line storage capacity of the cache, and causing a write back of at least one of the cache lines to the main memory when a store event causes the total quantity of the cache lines to satisfy the threshold.
22 Citations
19 Claims
-
1. A method comprising:
-
monitoring, using a data structure storing address tags of dirty cache lines, a quantity of the dirty cache lines in a cache that includes cache lines storing data and respective address tags, the dirty cache lines corresponding to data in a main memory; computing, by a cache controller or a processor, a threshold that is based on a capacity of the data structure and that is less than a cache line storage capacity of the cache wherein computing the threshold comprises adjusting the threshold by the cache controller or the processor based on a frequency of cache flushes from the cache to the main memory; comparing the quantity of the dirty cache lines to the threshold; and causing a write back by the cache controller of at least one of the dirty cache lines to the main memory in response to a store event that causes the quantity of the dirty cache lines to satisfy the threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory machine readable storage medium comprising instructions that, when executed, cause a machine to:
-
monitor, using a data structure storing address tags of dirty cache lines, a quantity of the dirty cache lines in a cache that includes cache lines storing data and respective address tags, the dirty cache lines corresponding to data in a main memory; compute a threshold that is based on a capacity of the data structure and that is less than a cache line storage capacity of the cache, wherein computing the threshold comprises adjusting the threshold by the machine based on a frequency of cache flushes from the cache to the main memory; compare the quantity of the dirty cache lines to the threshold that is based on the capacity of the data structure and that is less than the cache line storage capacity of the cache; and cause a write back of at least one of the dirty cache lines to the main memory in response to a store event that causes the quantity of the dirty cache lines to satisfy the threshold. - View Dependent Claims (11, 12, 13, 14, 17)
-
-
15. An integrated circuit comprising:
-
a dirty address updater to; monitor, using a data structure storing address tags of dirty cache lines, a quantity of the dirty cache lines in a cache that includes cache lines storing data and respective address tags, the dirty cache lines storing data to be written back to a non-volatile memory, adjust a threshold that is based on a capacity of the data structure and that is less than a cache line storage capacity of the cache, wherein adjusting the threshold is further based on a frequency of cache flushes from the cache to the non-volatile memory, and compare the quantity of the dirty cache lines to the threshold; and a flush indicator to cause a write back of at least one of the dirty cache lines to the non-volatile memory in response to a store event that causes the quantity of the of dirty cache lines to satisfy the threshold. - View Dependent Claims (16, 18, 19)
-
Specification