Method And Apparatus For A Shared Cache With Dynamic Partitioning

US2016019158A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016019158-A1
Application numberUS-201414334010-A
CountryUS
Kind codeA1
Filing dateJul 17, 2014
Priority dateJul 17, 2014
Publication dateJan 21, 2016
Grant date

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 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.

First claim

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

Assignees

Inventors

Classifications

  • 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

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 US2016019158A1 cover?
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 …
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 Thu Jan 21 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).