Dynamic powering of cache memory by ways within multiple set groups based on utilization trends

US10073787B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10073787-B2
Application numberUS-201615280779-A
CountryUS
Kind codeB2
Filing dateSep 29, 2016
Priority dateApr 18, 2016
Publication dateSep 11, 2018
Grant dateSep 11, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A set associative cache memory comprises an M×N memory array of storage entries arranged as M sets by N ways, both M and N are integers greater than one. Within each group of P mutually exclusive groups of the M sets, the N ways are separately powerable. A controller, for each group of the P groups, monitors a utilization trend of the group and dynamically causes power to be provided to a different number of ways of the N ways of the group during different time instances based on the utilization trend.

First claim

Opening claim text (preview).

The invention claimed is: 1. A set associative cache memory, comprising: an M×N memory array of storage entries arranged as M sets by N ways, both M and N are integers greater than one; within each group of P mutually exclusive groups of the M sets, the N ways are separately powerable; and a controller that, for each group of the P groups, monitors a utilization trend of the group and dynamically causes power to be provided to a different number of ways of the N ways of the group during different time instances based on the utilization trend, wherein the utilization trend of the group comprises a hit rate of the group, wherein the controller causes power to be provided to a smaller number of ways of the N ways of the group when the hit rate of the group is below a second predetermined hit rate threshold and the number of ways of the group to which the controller is currently causing power to be provided is all the N ways of the group, and wherein the controller causes power to be provided to a larger number of ways of the N ways of the group when the hit rate of the group is below a first predetermined hit rate threshold and the number of ways of the group to which the controller is currently causing power to be provided is less than all the N ways of the group, wherein the first predetermined hit rate threshold is higher than the second predetermined hit rate threshold. 2. The cache memory of claim 1 , further comprising: the utilization trend of the group further comprises an access frequency of the group. 3. The cache memory of claim 2 , further comprising: the controller causes power to be provided to a smaller number of ways of the N ways of the group when the hit rate of the group is above a fourth predetermined hit rate threshold and the access frequency of the group is less than a first predetermined access frequency threshold. 4. The cache memory of claim 2 , further comprising: the controller causes power to be provided to a smaller number of ways of the N ways of the group when the hit rate of the group is below a third predetermined hit rate threshold and the access frequency of the group is greater than a second predetermined access frequency threshold and the number of ways of the group to which the controller is currently causing power to be provided is all the N ways of the group. 5. The cache memory of claim 2 , further comprising: the controller causes power to be provided to a larger number of ways of the N ways of the group when the hit rate of the group is below the third predetermined hit rate threshold and the access frequency of the group is greater than the second predetermined access frequency threshold and the number of ways of the group to which the controller is currently causing power to be provided is less than all the N ways of the group. 6. The cache memory of claim 1 , further comprising: the utilization trend of the group comprises a measure of a number of storage entries in the group into which a cache line was prefetched but the cache line was evicted without being used. 7. The cache memory of claim 6 , further comprising: the controller causes power to be provided to a smaller number of ways of the N ways of the group when the number of storage entries in the group into which a cache line was prefetched but the cache line was evicted without being used is above a first predetermined entry number threshold. 8. The cache memory of claim 6 , further comprising: the controller causes power to be provided to a larger number of ways of the N ways of the group when the number of storage entries in the group into which a cache line was prefetched but the cache line was evicted without being used is below a second predetermined entry number threshold. 9. The cache memory of claim 1 , further comprising: the utilization trend of the group comprises an average victim cache line age of the group. 10. The cache memory of claim 9 , further comprising: the controller causes power to be provided to a smaller number of ways of the N ways of the group when the average victim cache line age of the group is above a first predetermined age threshold. 11. The cache memory of claim 9 , further comprising: the controller causes power to be provided to a larger number of ways of the N ways of the group when the average victim cache line age of the group is below a second predetermined age threshold and the number of ways of the group to which the controller is currently causing power to be provided is less than all the N ways of the group. 12. The cache memory of claim 9 , further comprising: the controller causes power to be provided to a smaller number of ways of the N ways of the group when the average victim cache line age of the group is below a second predetermined age threshold and the controller is currently causing power to be provided to all of the N ways of the group. 13. The cache memory of claim 1 , further comprising: the controller includes counters for monitoring the utilization trend of only Q of the P groups, Q is less than P; and the controller monitors the utilization trend of different collections of Q groups of the P groups in a time-multiplexed fashion. 14. A method for operating a set associative cache memory having an M×N memory array of storage entries arranged as M sets by N ways, both M and N are integers greater than one, within each group of P mutually exclusive groups of the M sets, the N ways are separately powerable, the method comprising: for each group of the P groups: monitoring a utilization trend of the group, wherein the utilization trend of the group comprises a hit rate of the group; and during different time instances, dynamically causing power to be provided to a smaller number of ways of the N ways of the group when the hit rate of the group is below a second predetermined hit rate threshold and the number of ways of the group to which power is currently being provided is all the N ways of the group, and dynamically causing power to be provided to a larger number of ways of the N ways of the group when the hit rate of the group is below a first predetermined hit rate threshold and the number of ways of the group to which power is currently being provided is less than all the N ways of the group, wherein the first predetermined hit rate threshold is higher than the second predetermined hit rate threshold. 15. The method of claim 14 , wherein the utilization trend of the group further comprises an access frequency of the group, the method further comprising: dynamically causing power to be provided to a smaller number of ways of the N ways of the group when the hit rate of the group is below a third predetermined hit rate threshold and the access frequency of the group is greater than a second predetermined access frequency threshold and the number of ways of the group to which power is currently being provided is all the N ways of the group. 16. The method of claim 14 , wherein the utilization trend of the group further comprises an access frequency of the group, the method further comprising: dynamically causing power to be provided to a larger number of ways of the N ways of the group when the hit rate of the group is below the third predetermined hit rate threshold and the access frequency of the group is greater than the second predetermined access frequency threshold and the number of ways of the group to which power is currently being provided is less than all the N ways of the group. 17. The method of claim 14 , wherein the utilization trend of the group further comprises an average

Assignees

Inventors

Classifications

  • with main memory updating (G06F12/0806 takes precedence) · CPC title

  • Performance improvement · CPC title

  • Cache with multiple tag or data arrays being simultaneously accessible · CPC title

  • with prefetch · CPC title

  • Reconfiguration of cache memory · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10073787B2 cover?
A set associative cache memory comprises an M×N memory array of storage entries arranged as M sets by N ways, both M and N are integers greater than one. Within each group of P mutually exclusive groups of the M sets, the N ways are separately powerable. A controller, for each group of the P groups, monitors a utilization trend of the group and dynamically causes power to be provided to a diffe…
Who is the assignee on this patent?
Via Alliance Semiconductor Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F12/0864. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 11 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).