Generating approximate usage measurements for shared cache memory systems

US9697126B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9697126-B2
Application numberUS-201514860993-A
CountryUS
Kind codeB2
Filing dateSep 22, 2015
Priority dateNov 25, 2014
Publication dateJul 4, 2017
Grant dateJul 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.

Generating approximate usage measurements for shared cache memory systems is disclosed. In one aspect, a cache memory system is provided. The cache memory system comprises a shared cache memory system. A subset of the shared cache memory system comprises a Quality of Service identifier (QoSID) tracking tag configured to store a QoSID tracking indicator for a QoS class. The shared cache memory system further comprises a cache controller configured to receive a memory access request comprising a QoSID, and is configured to access a cache line corresponding to the memory access request. The cache controller is also configured to determine whether the QoSID of the memory access request corresponds to a cache line assigned to the QoSID. If so, the cache controller is additionally configured to update the QoSID tracking tag.

First claim

Opening claim text (preview).

What is claimed is: 1. A shared cache memory system, comprising: a plurality of cache subdivisions; a plurality of Quality of Service identifier (QoSID) tracking tags each associated with a cache subdivision of the plurality of cache subdivisions; and a cache usage monitor configured to: associate each cache subdivision of the plurality of cache subdivisions with a QoS class of a plurality of QoS classes; receive a memory access request comprising a QoSID; access a cache subdivision corresponding to the memory access request among the plurality of cache subdivisions; determine whether the QoSID of the memory access request corresponds to the QoS class associated with the cache subdivision; update a QoSID tracking tag of the plurality of QoSID tracking tags associated with the cache subdivision corresponding to the memory access request based on the determination; and generate an approximate usage measurement for the QoS class of the plurality of QoS classes based on the plurality of QoSID tracking tags; wherein the cache usage monitor is configured to generate the approximate usage measurement for the QoS class of the plurality of QoS classes based on the plurality of OoSID tracking tags by being configured to: determine a fraction of the plurality of cache subdivisions associated with the QoS class: determine a count of the plurality of cache subdivisions associated with the QoS class for which the associated plurality of QoSID tracking tags is set: and divide the count of the plurality of cache subdivisions by the fraction to generate the approximate usage measurement. 2. The shared cache memory system of claim 1 , wherein each cache subdivision of the plurality of cache subdivisions comprises a cache line. 3. The shared cache memory system of claim 1 , wherein each cache subdivision of the plurality of cache subdivisions comprises a set of cache lines. 4. The shared cache memory system of claim 1 , wherein each cache subdivision of the plurality of cache subdivisions comprises a way of cache lines. 5. The shared cache memory system of claim 1 , wherein each cache subdivision of the plurality of cache subdivisions comprises a bank of cache lines. 6. The shared cache memory system of claim 1 , wherein the plurality of QoSID tracking tags are associated with a distributed subset of the plurality of cache subdivisions. 7. The shared cache memory system of claim 1 integrated into an integrated circuit (IC). 8. The shared cache memory system of claim 1 integrated into a device selected from the group consisting of: a set top box; an entertainment unit; a navigation device; a communications device; a fixed location data unit; a mobile location data unit; a mobile phone; a cellular phone; a computer; a portable computer; a desktop computer; a personal digital assistant (PDA); a monitor; a computer monitor; a television; a tuner; a radio; a satellite radio; a music player; a digital music player; a portable music player; a digital video player; a video player; a digital video disc (DVD) player; and a portable digital video player. 9. A shared cache memory system, comprising: a means for associating each cache subdivision of a plurality of cache subdivisions of the shared cache memory system with a Quality of Service (QoS) class of a plurality of QoS classes; a means for receiving a memory access request comprising a QoS identifier (QoSID); a means for accessing a cache subdivision corresponding to the memory access request among the plurality of cache subdivisions; a means for determining whether the QoSID of the memory access request corresponds to the QoS class plurality of QoS classes associated with the cache subdivision; a means for updating a QoSID tracking tag of a plurality of QoSID tracking tags associated with the cache subdivision corresponding to the memory access request based on the means for determining; and a means for generating an approximate usage measurement for the QoS class of the plurality of QoS classes based on the plurality of QoSID tracking tags; wherein the means for generating the approximate usage measurement for the QoS class of the plurality of QoS classes based on the plurality of QoSID tracking tags comprises: a means for determining a fraction of the plurality of cache subdivisions associated with the QoS class; a means for determining a count of the plurality of cache subdivisions associated with the QoS class for which the associated QoSID tracking tag is set; and a means for dividing the count of the plurality of cache subdivisions by the fraction to generate the approximate usage measurement. 10. The shared cache memory system of claim 9 , wherein each cache subdivision of the plurality of cache subdivisions comprises a cache line. 11. The shared cache memory system of claim 9 , wherein each cache subdivision of the plurality of cache subdivisions comprises a set of cache lines. 12. The shared cache memory system of claim 9 , wherein each cache subdivision of the plurality of cache subdivisions comprises a way of cache lines. 13. The shared cache memory system of claim 9 , wherein each cache subdivision of the plurality of cache subdivisions comprises a bank of cache lines. 14. The shared cache memory system of claim 9 , wherein the plurality of QoSID tracking tags are associated with a distributed subset of the plurality of cache subdivisions. 15. A method for approximating shared cache memory usage, comprising: associating each cache subdivision of a plurality of cache subdivisions of a shared cache memory system with a Quality of Service (QoS) class of a plurality of QoS classes; receiving a memory access request comprising a QoS identifier (QoSID); accessing a cache subdivision corresponding to the memory access request among the plurality of cache subdivisions; determining whether the QoSID of the memory access request corresponds to the QoS class of the plurality of QoS classes associated with the cache subdivision; updating a QoSID tracking tag of a plurality of QoSID tracking tags associated with the cache subdivision corresponding to the memory access request based on the determining; and generating an approximate usage measurement for the QoS class of the plurality of QoS classes based on the plurality of QoSID tracking tags; wherein generating the approximate usage measurement for the QoS class of the plurality of QoS classes based on the plurality of QoSID tracking tags comprises: determining a fraction of the plurality of cache subdivisions associated with the QoS class; determining a count of the plurality of cache subdivisions associated with the QoS class for which the associated QoSID tracking tag is set; and dividing the count of the plurality of cache subdivisions by the fraction to generate the approximate usage measurement. 16. The method of claim 15 , wherein each cache subdivision of the plurality of cache subdivisions comprises a cache line. 17. The method of claim 15 , wherein each cache subdivision of the plurality of cache subdivisions comprises a set of cache lines. 18. The method of claim 15 , wherein each cache subdivision of the plurality of cache subdivisions comprises a way of cache lines. 19. The method of claim 15 , wherein each cache subdivision of the plurality of cache subdivisions comprises a bank of cache lines. 20. The method of claim 15 , wherein the plurality of QoSID tracking tags are associated with a distributed subset of the plurality of cache subdivisions.

Assignees

Inventors

Classifications

  • Circuit details, i.e. tracer hardware · CPC title

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

  • Monitoring specific for caches · CPC title

  • Cache with multiple tag or data arrays being simultaneously accessible · CPC title

  • Performance evaluation by tracing or monitoring · 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 US9697126B2 cover?
Generating approximate usage measurements for shared cache memory systems is disclosed. In one aspect, a cache memory system is provided. The cache memory system comprises a shared cache memory system. A subset of the shared cache memory system comprises a Quality of Service identifier (QoSID) tracking tag configured to store a QoSID tracking indicator for a QoS class. The shared cache memory s…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3471. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 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).