Detecting the use of stale data values due to weak consistency
US-2015378811-A1 · Dec 31, 2015 · US
US9697126B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9697126-B2 |
| Application number | US-201514860993-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 22, 2015 |
| Priority date | Nov 25, 2014 |
| Publication date | Jul 4, 2017 |
| Grant date | Jul 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.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.