Scaled set dueling for cache replacement policies

US10430349B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10430349-B2
Application numberUS-201615180995-A
CountryUS
Kind codeB2
Filing dateJun 13, 2016
Priority dateJun 13, 2016
Publication dateOct 1, 2019
Grant dateOct 1, 2019

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 processing system includes a cache that includes a cache lines that are partitioned into a first subset of the cache lines and a second subsets of the cache lines. The processing system also includes one or more counters that are associated with the second subsets of the cache lines. The processing system further includes a processor configured to modify the one or more counters in response to a cache hit or a cache miss associated with the second subsets. The one or more counters are modified by an amount determined by one or more characteristics of a memory access request that generated the cache hit or the cache miss.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a cache including cache lines that are partitioned into a first subset of the cache lines and second subsets of the cache lines; at least one counter associated with the second subsets of the cache lines; and a processor configured to modify the at least one counter in response to a cache hit associated with the second subsets, wherein the at least one counter is modified by an amount based on a degree of speculation of a memory access request that generated the cache hit, the degree of speculation based on at least one of: whether the memory access request is directed to an instruction cache or a data cache; and whether the cache hit is a result of a page table walk. 2. The apparatus of claim 1 , wherein the processor further is configured to increment the at least one counter in response to a cache hit to a first one of the second subsets and decrement the at least one counter in response to a cache hit to a second one of the second subsets. 3. The apparatus of claim 2 , wherein the processor is further configured to: increment the at least one counter by an amount that is determined based on a degree of speculation of the memory access request that generated the cache hit to the first one of the second subsets, and decrement the at least one counter by an amount that is determined based on a degree of speculation of the memory access request that generated the cache hit to the second one of the second subsets. 4. The apparatus of claim 1 , wherein the processor is further configured to: decrement the at least one counter in response to a cache miss associated with a first one of the second subsets; and increment the at least one counter in response to a cache miss to a second one of the second subsets. 5. The apparatus of claim 4 , wherein the processor is further configured to: decrement the at least one counter by an amount that is determined based on a latency associated with the cache miss associated with the first one of the second subsets; and increment the at least one counter by an amount that is determined based on a latency associated with the cache miss associated with the second one of the second subsets. 6. The apparatus of claim 5 , wherein the processor is further configured to: decrement the at least one counter by the same amount for all cache misses associated with the first one of the second subsets in response to detecting bandwidth limited operation based on feedback indicating bandwidth consumption, and increment the at least one counter by the same amount for all cache misses associated with the second one of the second subsets in response to detecting the bandwidth limited operation. 7. The apparatus of claim 1 , wherein: the second subsets use a corresponding plurality of cache replacement policies; and the processor is further configured to: select one of the plurality of cache replacement policies based on at least one value of the at least one counter; and configure the first subset to use the selected one of the plurality of cache replacement policies. 8. A method, comprising: partitioning cache lines into a first subset of the cache lines and second subsets of the cache lines; detecting a cache hit associated with the second subsets; and modifying at least one counter associated with the second subsets of the cache lines in response to the cache hit, wherein the at least one counter is modified by an amount based on a degree of speculation of a memory access request that generated the cache hit, the degree of speculation based on at least one of: whether the memory access request is directed to an instruction cache or a data cache; and whether the cache hit is a result of a page table walk. 9. The method of claim 8 , wherein modifying the at least one counter comprises: incrementing the at least one counter in response to a cache hit to a first one of the second subsets, and decrementing the at least one counter in response to a cache hit to a second one of the second subsets. 10. The method of claim 9 , wherein: incrementing the at least one counter comprises incrementing the at least one counter by an amount that is determined based on a degree of speculation of the memory access request that generated the cache hit to the first one of the second subsets; and decrementing the at least one counter comprises decrementing the at least one counter by an amount that is determined based on a degree of speculation of the memory access request that generated the cache hit to the second one of the second subsets. 11. The method of claim 8 , wherein modifying the at least one counter further comprises: decrementing the at least one counter in response to a cache miss associated with a first one of the second subsets; and incrementing the at least one counter in response to a cache miss to a second one of the second subsets. 12. The method of claim 11 , wherein: decrementing the at least one counter comprises decrementing the at least one counter by an amount that is determined based on a latency associated with the cache miss associated with the first one of the second subsets; and incrementing the at least one counter comprises incrementing the at least one counter by an amount that is determined based on a latency associated with the cache miss associated with the second one of the second subsets. 13. The method of claim 11 , wherein: decrementing the at least one counter comprises decrementing the at least one counter by the same amount for all cache misses associated with the first one of the second subsets in response to detecting bandwidth limited operation based on feedback indicating bandwidth consumption; and incrementing the at least one counter comprises incrementing the at least one counter by the same amount for all cache misses associated with the second one of the second subsets in response to detecting the bandwidth limited operation. 14. The method of claim 8 , wherein the second subsets use a corresponding plurality of cache replacement policies, the method further comprising: selecting one of the plurality of cache replacement policies based on at least one value of the at least one counter; and configuring the first subset to use the selected one of the plurality of cache replacement policies. 15. An apparatus, comprising: a cache including cache lines that are partitioned into a first subset and second subsets for storing information from a memory; at least one counter associated with the second subsets; and a processor configured to: selectively enable or disable set dueling to determine a cache replacement policy for the cache based on feedback indicating whether operation of at least one of the memory or the cache is bandwidth limited, wherein the set dueling chooses between first and second cache replacement policies implemented by the first and second subsets, respectively, on the basis of the at least one counter; and modify the at least one counter in response to a cache hit associated with the second subsets, wherein the at least one counter is modified by an amount based on a degree of speculation of a memory access request that generated the cache hit, the degree of speculation based on at least one of: whether the memory access request is directed to an instruction cache or a data cache; and whether the cache hit is a result of a page table walk. 16. The apparatus of claim 15 , wherein: the processor is further configured to modify the at least one counter in response to at least one of a cache hit or a cache miss associated with the seco

Assignees

Inventors

Classifications

  • using pseudo-associative means, e.g. set-associative or hashing · CPC title

  • with multilevel cache hierarchies · CPC title

  • Reconfiguration of cache memory · CPC title

  • with special data handling, e.g. priority of data or instructions, handling errors or pinning · CPC title

  • for peripheral storage systems, e.g. disk cache · 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 US10430349B2 cover?
A processing system includes a cache that includes a cache lines that are partitioned into a first subset of the cache lines and a second subsets of the cache lines. The processing system also includes one or more counters that are associated with the second subsets of the cache lines. The processing system further includes a processor configured to modify the one or more counters in response t…
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0811. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 01 2019 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).