Power Efficient Level One Data Cache Access With Pre-Validated Tags
US-2015220436-A1 · Aug 6, 2015 · US
US2016019158A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016019158-A1 |
| Application number | US-201414334010-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 17, 2014 |
| Priority date | Jul 17, 2014 |
| Publication date | Jan 21, 2016 |
| Grant date | — |
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 dynamically 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 and reserve locations in the system cache corresponding to the component caches correlated with component cache identifiers of the requests. Reserving locations in the system cache may activate the locations in the system cache for use by a requesting client, and may also prevent other client from using the reserved locations in the system cache. Releasing the locations in the system cache may deactivate the locations in the system cache and allow other clients to use them. A client reserving locations in the system cache may change the amount of locations it has reserved within its component cache.
Opening claim text (preview).
What is claimed is: 1 . A method for dynamically partitioning a system cache, comprising: receiving a system cache access request comprising a component cache identifier from a client; retrieving a set shift trait and a set offset trait from a component cache configuration table correlated with the component cache identifier in the component cache configuration table; and activating locations in the system cache correlating to at least a portion of a group of ways of a component cache within a group of sets indicated by the set shift trait and the set offset trait. 2 . The method of claim 1 , wherein activating the locations in the system cache correlating to at least the portion of the group of ways of the component cache within the group of sets indicated by the set shift trait and the set offset trait comprises reserving the locations in the system cache. 3 . The method of claim 2 , wherein reserving the locations in the system cache comprises setting reserved indicators in a component cache reserve table for the locations in the system cache. 4 . The method of claim 3 , further comprising: updating the reserved indicators to change a number of locations reserved in the system cache correlating to an updated portion of the group of ways and the group of sets. 5 . The method of claim 2 , further comprising: updating a component cache active ways table with an indication of the portion of the group of ways of the component cache that are active, wherein reserving the locations in the system cache comprises reserving the ways of the indication of component cache active ways table. 6 . The method of claim 1 , further comprising: preventing another client from accessing the locations in the system cache. 7 . The method of claim 1 , further comprising: releasing at least a portion of the locations in the system cache; and deactivating locations in the system cache correlating to the released locations in the system cache. 8 . The method of claim 1 , wherein the component cache identifier is a first component cache identifier and the component cache is a first component cache, further comprising: loading a bonus vector for at least the first component cache identifier configured to indicate one or more ways for the first component cache associated with the first component cache identifier to expand into; receiving a reserved vector for at least the first component cache identifier configured to indicate one or more ways to be reserved for the first component cache; determining whether one or more ways of the reserved vector are reserved by a second component cache; deactivating the second component cache to unreserve the one or more ways reserved by the second component cache in response to determining that the second component cache has reserved one or more ways of the reserved vector; determining whether using the first component cache includes using one or more of the ways of the bonus vector; determining whether one or more ways of the bonus vector are reserved by the second component cache in response to determining that the request to use the first component cache includes the use of one or more of the ways of the bonus vector; deactivating the second component cache to unreserve the one or more ways reserved by the second component cache in response to determining that the second component cache has reserved one or more ways of the bonus vector; and reserving one or more unreserved ways for the first component cache. 9 . 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: receiving a system cache access request comprising a component cache identifier from a client; retrieving a set shift trait and a set offset trait from a component cache configuration table correlated with the component cache identifier in the component cache configuration table; and activating locations in the system cache correlating to at least a portion of a group of ways of a component cache within a group of sets indicated by the set shift trait and the set offset trait. 10 . The computing device of claim 9 , wherein the system cache controller is configured to perform operations such that activating the locations in the system cache correlating to at least the portion of the group of ways of the component cache within the group of sets indicated by the set shift trait and the set offset trait comprises reserving the locations in the system cache. 11 . The computing device of claim 10 , wherein the system cache controller is configured to perform operations such that reserving the locations in the system cache comprises setting reserved indicators in a component cache reserve table for the locations in the system cache. 12 . The computing device of claim 11 , wherein the system cache controller is configured to perform operations further comprising: updating the reserved indicators to change a number of locations reserved in the system cache correlating to an updated portion of the group of ways and the group of sets. 13 . The computing device of claim 10 , wherein the system cache controller is configured to perform operations further comprising: updating a component cache active ways table with an indication of the portion of the group of ways of the component cache that are active, wherein reserving the locations in the system cache comprises reserving the ways of the indication of component cache active ways table. 14 . The computing device of claim 9 , wherein the system cache controller is configured to perform operations further comprising: preventing another client from accessing the locations in the system cache. 15 . The computing device of claim 9 , wherein the system cache controller is configured to perform operations further comprising: releasing at least a portion of the locations in the system cache; and deactivating locations in the system cache correlating to the released locations in the system cache. 16 . The computing device of claim 9 , wherein the component cache identifier is a first component cache identifier and the component cache is a first component cache, and wherein the system cache controller is configured to perform operations further comprising: loading a bonus vector for at least the first component cache identifier configured to indicate one or more ways for the first component cache associated with the first component cache identifier to expand into; receiving a reserved vector for at least the first component cache identifier configured to indicate one or more ways to be reserved for the first component cache; determining whether one or more ways of the reserved vector are reserved by a second component cache; deactivating the second component cache to unreserve the one or more ways reserved by the second component cache in response to determining that the second component cache has reserved one or more ways of the reserved vector; determining whether using the first component cache includes using one or more of the ways of the bonus vector; determining whether one or more ways of the bonus vector are reserved by the second component cache in response to determining that the request to use the first component cache includes the use of one or more of the ways of the bonus vector; deactivating the second component cache to unreserve the one or more ways reserved by the
of parts of caches, e.g. directory or tag array · CPC title
using pseudo-associative means, e.g. set-associative or hashing · CPC title
Power management, i.e. event-based initiation of a power-saving mode · CPC title
using selective caching, e.g. bypass · CPC title
of access to content, e.g. by caching · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.