Method and apparatus for flexible cache partitioning by sets and ways into component caches

US9612970B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9612970-B2
Application numberUS-201414333981-A
CountryUS
Kind codeB2
Filing dateJul 17, 2014
Priority dateJul 17, 2014
Publication dateApr 4, 2017
Grant dateApr 4, 2017

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.

Aspects include computing devices, systems, and methods for partitioning a system cache by sets and ways into component caches. A system cache memory controller may manage the component caches and manage access to the component caches. The system cache memory controller may receive system cache access requests specifying component cache identifiers, and match the component cache identifiers with records correlating traits of the component cache identifiers with in a component cache configuration table. The component cache traits may include a set shift trait, set offset trait, and target ways, which may define the locations of the component caches in the system cache. The system cache memory controller may also receive a physical address for the system cache in the system cache access request, determine an indexing mode for the component cache, and translate the physical address for the component cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for partitioning a system cache, comprising: loading a component cache configuration table configured to store a plurality of component cache identifiers correlated with a set shift trait configured to indicate a number of set groups in the system cache, a set offset trait configured to indicate a set group comprising a plurality of sets in which a component cache is located, and a target ways trait configured to indicate one or more ways in which the component cache is located, wherein the set shift trait is greater than zero indicates the component cache partitioned from the system cache by a plurality of set groups; receiving a system cache access request comprising a component cache identifier from a client; retrieving a first set shift trait, a first set offset trait, and a first target ways trait from the component cache configuration table correlated with the component cache identifier in the component cache configuration table; and partitioning system cache locations into a first component cache defined by the first set shift trait, the first set offset trait, and the first target ways trait. 2. The method of claim 1 , wherein receiving the system cache access request comprising the component cache identifier from the client comprises receiving a physical address of the system cache and a custom index. 3. The method of claim 2 , further comprising: retrieving an index mode from the component cache configuration table that is correlated with the component cache identifier in the component cache configuration table; determining whether the index mode indicates physical indexing or custom indexing; translating the physical address of the system cache to a physical address of the first component cache; and accessing the physical address of the first component cache to read from or write to the physical address of the first component cache. 4. The method of claim 3 , wherein translating the physical address of the system cache to the physical address of the first component cache comprises: combining a first set of bits of a set index of the physical address of the system cache with a tag of the physical address of the system cache, wherein a number of the first set of bits of the set index is determined by a value of the first set shift trait; replacing the first set of bits of the set index with a value of the first set offset trait; and replacing a second set of bits of the set index with a custom index when the determining the index mode indicates custom indexing. 5. The method of claim 1 , wherein receiving the system cache access request comprising the component cache identifier from the client comprises: receiving one or more traits of the first component cache; and updating one or more traits in the component cache configuration table corresponding to the received one or more traits correlated with the component cache identifier. 6. The method of claim 1 , further comprising: determining whether the component cache identifier exists in the component cache configuration table; and creating a record for the component cache identifier in the component cache configuration table in response to determining that the component cache identifier does not exist in the component cache configuration table. 7. The method of claim 1 , further comprising: loading the component cache configuration table at a boot time for a computing device; and including all possible combinations of the set shift trait, the set offset trait, and the target ways trait in the loaded component cache configuration table, wherein each combination is correlated with a different component cache identifier. 8. The method of claim 1 , further comprising: customizing an associativity per component cache according to the target ways trait of each component cache statically or dynamically at run time; and customizing a replacement policy per component cache according to a replacement policy trait of each component cache. 9. The method of claim 1 , further comprising customizing a cache line size per component cache. 10. A computing device, comprising: a processor; a system cache configured to provide fast access for storing and retrieving data connected to the processor; a system cache controller communicatively connected to the processor and the system cache and configured to perform operations comprising: loading a component cache configuration table configured to store a plurality of component cache identifiers correlated with a set shift trait configured to indicate a number of set groups in the system cache, a set offset trait configured to indicate a set group comprising a plurality of sets in which a component cache is located, and a target ways trait configured to indicate one or more ways in which the component cache is located, wherein the set shift trait is greater than zero indicates the component cache partitioned from the system cache by a plurality of set groups; receiving a system cache access request comprising a component cache identifier from a client; retrieving a first set shift trait, a first set offset trait, and a first target ways trait from the component cache configuration table correlated with the component cache identifier in the component cache configuration table; and partitioning system cache locations into a first component cache defined by the first set shift trait, the first set offset trait, and the first target ways trait. 11. The computing device of claim 10 , wherein the system cache controller is further configured to perform operations such that receiving the system cache access request comprising the component cache identifier from the client comprises receiving a physical address of the system cache and a custom index. 12. The computing device of claim 11 , wherein the system cache controller is configured to perform operations further comprising: retrieving an index mode from the component cache configuration table that is correlated with the component cache identifier in the component cache configuration table; determining whether the index mode indicates physical indexing or custom indexing; translating the physical address of the system cache to a physical address of the first component cache; and accessing the physical address of the first component cache to read from or write to the physical address of the first component cache. 13. The computing device of claim 12 , wherein the system cache controller is configured to perform operations such that translating the physical address of the system cache to the physical address of the first component cache comprises: combining a first set of bits of a set index of the physical address of the system cache with a tag of the physical address of the system cache, wherein a number of the first set of bits of the set index is determined by a value of the first set shift trait; replacing the first set of bits of the set index with a value of the first set offset trait; and replacing a second set of bits of the set index with a custom index when the determining the index mode indicates custom indexing. 14. The computing device of claim 10 , wherein the system cache controller is configured to perform operations such that receiving the system cache access request comprising the component cache identifier from the client comprises: receiving one or more traits of the first component cache; updating one or more traits in the component cache configuration table corresponding to the received one or more traits correlated with the component cache identifier. 15. The computing device of clai

Assignees

Inventors

Classifications

  • of parts of caches, e.g. directory or tag array · CPC title

  • Virtualized environment, e.g. logically partitioned system · CPC title

  • Address translation · CPC title

  • Hit rate improvement · 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 US9612970B2 cover?
Aspects include computing devices, systems, and methods for partitioning a system cache by sets and ways into component caches. A system cache memory controller may manage the component caches and manage access to the component caches. The system cache memory controller may receive system cache access requests specifying component cache identifiers, and match the component cache identifiers wit…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0895. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 04 2017 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).