Apparatus and method for shared least recently used (LRU) policy between multiple cache levels

US10055360B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10055360-B2
Application numberUS-201514975752-A
CountryUS
Kind codeB2
Filing dateDec 19, 2015
Priority dateDec 19, 2015
Publication dateAug 21, 2018
Grant dateAug 21, 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 method and apparatus are described for a shared LRU policy between cache levels. For example, one embodiment of the invention comprises: a level N cache to store a first plurality of entries; a level N+1 cache to store a second plurality of entries; the level N+1 cache to initially be provided with responsibility for implementing a least recently used (LRU) eviction policy for a first entry until receipt of a request for the first entry from the level N cache at which time the entry is copied from the level N+1 cache to the level N cache, the level N cache to then be provided with responsibility for implementing the LRU policy until the first entry is evicted from the level N cache, wherein upon being notified that the first entry has been evicted from the level N cache, the level N+1 cache to resume responsibility for implementing the LRU eviction policy with respect to the first entry.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a level N cache configured to store a first plurality of entries; and a level N+1 cache configured to store a second plurality of entries; the level N+1 cache configured to associate a first value with an entry upon receiving a request for the entry from the level N cache at which time the entry is to be copied from the level N+1 cache to the level N cache, the request configured to indicate Level N+1 cache entries currently stored in the level N cache, the first value configured to indicate that the entry is not to be aged in accordance with a Least Recently Used (LRU) policy implemented by the level N+1 cache, the level N+1 cache configured to maintain the first value until the entry is evicted from the level N cache, the level N+1 cache configured to associate the first value with entries within the level N+1 cache corresponding to the currently stored entries in the level N cache, wherein after being notified that the entry has been evicted from the level N cache, the level N+1 cache is configured to associate a second value with the entry, the second value configured to indicate that the entry is to begin aging in accordance with the LRU policy implemented by the level N+1 cache. 2. The apparatus as in claim 1 wherein the level N cache comprises a CPU cache and wherein the level N+1 cache comprises a memory-side cache. 3. The apparatus as in claim 1 wherein the first value comprises a first LRU value to indicate which is to be maintained by the level N+1 cache until being notified that the entry has been evicted from the level N cache. 4. The apparatus as in claim 3 wherein the first value comprises a Super Most Recently Used value. 5. The apparatus as in claim 4 wherein the second value comprises a second LRU value to indicate the entry is the Most Recently Used of all other entries in the level N+1 cache except for any entries having Super Most Recently Used values. 6. The apparatus as in claim 5 wherein the level N cache is to apply its own LRU policy with respect to its own entries, thereby ageing and evicting entries in accordance with its own LRU policy. 7. An apparatus comprising: a level N cache configured to store a first plurality of entries; a level N+1 cache configured to store a second plurality of entries in a plurality of level N+1 cache Ways, the level N+1 cache configured to provide an entry to the level N cache upon receiving a request for the entry from the level N cache; level N+1 cache synchronization logic configured to provide to the level N cache an indication of a level N+1 cache Way in the level N+1 cache in which the entry provided to the level N cache is stored, the level N cache configured to track the level N+1 cache Ways associated with each entry; and level N cache synchronization logic configured to provide an indication to the level N+1 cache synchronization logic of the level N+1 cache Ways for which it currently has stored entries when making a request for one or more cache entries from the level N+1 cache, the level N+1 cache configured to perform evictions of entries based on the indication provided by the level N cache. 8. The apparatus as in claim 7 wherein the level N cache comprises a CPU cache and wherein the level N+1 cache comprises a memory-side cache. 9. The apparatus as in claim 7 wherein to perform evictions of entries based on the indication provided by the level N cache, the level N+1 cache is to implement a Least Recently Used (LRU) policy in which entries which are indicated to be the stored in the level N cache are assigned a value indicating that these entries are Super Most Recently Used (SMRU). 10. The apparatus as in claim 9 wherein the level N+1 cache is to refrain from modifying LRU values associated with the entries indicated to be in the level N cache until the level N cache synchronization logic provides an indication that one or more of these entries are no longer in the level N cache. 11. The apparatus as in claim 10 wherein upon receiving the indication that one or more of these entries are no longer in the level N cache, the level N+1 cache is to begin applying the LRU policy to these entries, thereby ageing and evicting entries in accordance with the LRU policy. 12. The apparatus as in claim 11 wherein the level N cache is to apply its own LRU policy with respect to its own entries, thereby ageing and evicting entries in accordance with its own LRU policy. 13. The apparatus as in claim 7 wherein the level N cache synchronization logic includes a first bus having a width equal to a number of Ways in each level N+1 cache Set, the level N cache synchronizing logic to use the first bus to communicate the indication of the level N+1 cache Ways for which it currently has stored entries in the form of a bit vector transmitted over the first bus. 14. The apparatus as in claim 13 wherein the level N+1 cache synchronization logic includes a second bus having a width of N where 2 N is greater than or equal to the number of Ways in the level N+1 cache, the level N+1 cache synchronization logic to use the second bus to communicate the indication of the level N+1 cache Way in the level N+1 cache in which the entry provided to the level N cache is stored. 15. The apparatus as in claim 13 wherein the level N+1 cache is organized into a plurality of Sets, each Set comprising the plurality of level N+1 cache Ways, wherein the number of level N+1 cache Sets is a multiple of the Sets of the level N cache, wherein the level N cache synchronization logic is aware of the multiple and only marks bits in the bit vector if they are relevant to the level N+1 cache Set responsible for handling each request. 16. The apparatus as in claim 7 wherein the level N cache includes a metadata component and a data component, both the metadata component and the data component stored on a common semiconductor die, and wherein the level N+1 cache also includes a metadata component and a data component, wherein at least a first portion of the metadata component of the level N+1 cache is stored on the common semiconductor die and wherein the data component is stored off of the common semiconductor die. 17. The apparatus as in claim 16 wherein a second portion of the metadata component of the level N+1 cache is stored off of the common semiconductor die. 18. A method comprising: storing a first plurality of entries in a level N cache; storing a second plurality of entries in a level N+1 cache within a plurality of level N+1 cache Ways; providing an entry from the level N+1 cache to the level N cache upon receiving a request for the entry from the level N cache; providing to the level N cache an indication of a level N+1 cache Way in the level N+1 cache in which the entry provided to the level N cache is stored, the level N cache to track the level N+1 cache Ways associated with each entry; providing an indication to the level N+1 cache of the level N+1 cache Ways for which the level N cache currently has stored entries when making a request for one or more cache entries from the level N+1 cache; and performing evictions of entries in the level N+1 cache at least partially based on the indication provided by the level N cache. 19. The method as in claim 18 wherein the level N cache comprises a Level 1 (L1) cache and wherein the level N+1 cache comprises a Level 2 (L2) cache. 20. The method as in claim 18 wherein performing evictions of entries based on the indication provided by the level N cache comprises: implementin

Assignees

Inventors

Classifications

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · CPC title

  • Performance improvement · CPC title

  • G06F12/123Primary

    with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list · CPC title

  • Power efficiency · CPC title

  • Details 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 US10055360B2 cover?
A method and apparatus are described for a shared LRU policy between cache levels. For example, one embodiment of the invention comprises: a level N cache to store a first plurality of entries; a level N+1 cache to store a second plurality of entries; the level N+1 cache to initially be provided with responsibility for implementing a least recently used (LRU) eviction policy for a first entry u…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/123. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 21 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).