Victim cache that supports draining write-miss entries
US-2024264952-A1 · Aug 8, 2024 · US
US9612970B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9612970-B2 |
| Application number | US-201414333981-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 17, 2014 |
| Priority date | Jul 17, 2014 |
| Publication date | Apr 4, 2017 |
| Grant date | Apr 4, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.