Methods and apparatus for multi-level cache hierarchies

US9251070B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9251070-B2
Application numberUS-201213720549-A
CountryUS
Kind codeB2
Filing dateDec 19, 2012
Priority dateDec 19, 2012
Publication dateFeb 2, 2016
Grant dateFeb 2, 2016

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 multi-level cache structure in accordance with one embodiment includes a first cache structure and a second cache structure. The second cache structure is hierarchically above the first cache. The second cache includes a tag array comprising a plurality of tag entries corresponding to respective addresses of data within a system memory; a selector array associated with the tag array; and a data array configured to store a subset of the data. The selector array is configured to specify, for each corresponding tag entry, whether the data array includes the data corresponding to that tag entry.

First claim

Opening claim text (preview).

What is claimed is: 1. A multi-level cache structure comprising: a first cache structure; a second cache structure, the second cache structure being hierarchically above the first cache; and the second cache comprising a tag array comprising a plurality of tag entries corresponding to respective addresses of data within a system memory; a selector array associated with the tag array; and a data array configured to store a subset of the data, wherein the tag array has an N-way associativity and the data array has M ways, where N and M are integers, with N being a larger integer than M; wherein the selector array comprises a plurality of bits that indicate, for each corresponding tag entry, whether or not data corresponding to the tag entry is present in the data array, and, when the data corresponding to the tag entry is present in the data array, a position of the data corresponding to the tag entry in the data array. 2. The multi-level cache structure of claim 1 , further including a status array associated with the tag array, wherein a validity and status of the data corresponding to each tag entry is determined based on the status array. 3. The multi-level cache structure of claim 1 , wherein the plurality of bits that indicate, for each corresponding tag entry, whether or not data corresponding to the tag entry is present in the data array, and, when the data corresponding to the tag entry is present in the data array, a position of the data corresponding to the tag entry in the data array comprise: a “data-valid” bit indicating whether or not data corresponding to the tag entry is present in the data array; and one or more “way-selector” bits indicating the position of the data corresponding to the tag entry in the data array. 4. The multi-level cache structure of claim 1 , wherein the second cache structure is a level-2 cache. 5. The multi-level cache structure of claim 1 , wherein the second cache structure is inclusive with respect to the first cache structure. 6. The multi-level cache structure of claim 1 , wherein the second cache structure is a set-associative cache. 7. A cache structure comprising: a tag array including a plurality of tag entries corresponding to respective addresses of data within a system memory; a selector array associated with the tag array; and a data array configured to store a subset of the data, wherein the tag array has an N-way associativity and the data array has M ways, where N and M are integers, with N being a larger integer than M; wherein the selector array comprises a plurality of bits that indicate, for each corresponding tag entry, whether or not data corresponding to the tag entry is present in the data array, and, when the data corresponding to the tag entry is present in the data array, a position of the data corresponding to the tag entry in the data array. 8. The cache structure of claim 7 , further including a status array associated with the tag array, wherein the subset of a validity and status of the data corresponding to each tag entry is determined based on the status array. 9. The cache structure of claim 7 , wherein the plurality of bits in the selector array that indicate, for each corresponding tag entry, whether or not data corresponding to the tag entry is present in the data array, and, when the data is present in the data array, the position of the data in the data array comprise: a “data-valid” bit indicating whether the data array includes the data corresponding to a tag entry; and one or more “way-selector” bits indicating the position of the data corresponding to the tag entry in the data array. 10. The cache structure of claim 9 , wherein the cache structure is four-way set associative. 11. The cache structure of claim 7 , wherein the cache structure is a level-2 cache. 12. The cache structure of claim 7 , wherein the cache structure is inclusive with respect to a lower-level cache structure. 13. The cache structure of claim 7 , wherein the cache structure is a set-associative cache. 14. A method for caching system memory data, comprising: storing a subset of the system memory data within a data array of a second cache structure, the second cache structure hierarchically above a first cache structure and comprising a tag array including a plurality of tag entries corresponding to respective addresses of data within the system memory; and a selector array associated with the tag array, wherein the tag array has an N-way associativity and the data array has M ways, where N and M are integers, with N being a larger integer than M; and indicating that the data array includes the subset of the system memory using the selector array and that tag array, wherein the indicating comprises setting, to corresponding values, some or all of a plurality of bits that indicate, for each corresponding tag entry, whether or not data corresponding to the tag entry is present in the data array, and, when the data corresponding to the tag entry is present in the data array, a position of the data corresponding to the tag entry in the data array. 15. The method of claim 14 , further including a status array associated with the tag array, wherein a validity and status of the data corresponding to each tag entry is determined based on the status array. 16. The method of claim 14 , wherein the plurality of bits that indicate, for each corresponding tag entry, whether or not data corresponding to the tag entry is present in the data array, and, when the data corresponding to the tag entry is present in the data array, a position of the data corresponding to the tag entry in the data array comprise: a “data-valid” bit indicating whether the data array includes the data corresponding to a tag entry; and one or more “way-selector” bits indicating the position of the data corresponding to the tag entry in the data array. 17. The method of claim 14 , wherein the second cache structure is inclusive with respect to the first cache structure. 18. The method of claim 14 , wherein the second cache structure is a set-associative cache.

Assignees

Inventors

Classifications

  • with multilevel cache hierarchies · CPC title

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · 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 US9251070B2 cover?
A multi-level cache structure in accordance with one embodiment includes a first cache structure and a second cache structure. The second cache structure is hierarchically above the first cache. The second cache includes a tag array comprising a plurality of tag entries corresponding to respective addresses of data within a system memory; a selector array associated with the tag array; and a da…
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 Feb 02 2016 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).