Quality of service dirty line tracking

US2021073137A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2021073137-A1
Application numberUS-201916562128-A
CountryUS
Kind codeA1
Filing dateSep 5, 2019
Priority dateSep 5, 2019
Publication dateMar 11, 2021
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.

Systems, apparatuses, and methods for generating a measurement of write memory bandwidth are disclosed. A control unit monitors writes to a cache hierarchy. If a write to a cache line is a first time that the cache line is being modified since entering the cache hierarchy, then the control unit increments a write memory bandwidth counter. Otherwise, if the write is to a cache line that has already been modified since entering the cache hierarchy, then the write memory bandwidth counter is not incremented. The first write to a cache line is a proxy for write memory bandwidth since this will eventually cause a write to memory. The control unit uses the value of the write memory bandwidth counter to generate a measurement of the write memory bandwidth. Also, the control unit can maintain multiple counters for different thread classes to calculate the write memory bandwidth per thread class.

First claim

Opening claim text (preview).

What is claimed is: 1 . A processor comprising: a cache hierarchy; and a control unit configured to: increment a counter when a cache line is modified for a first time since the cache line entered the cache hierarchy; generate a measurement of write memory bandwidth based on a value of the counter; and cause a number of write operations that are conveyed to a memory subsystem to be reduced responsive to the measurement of write memory bandwidth exceeding a given threshold. 2 . The processor as recited in claim 1 , wherein the control unit is further configured to: detect a write operation targeting a first cache line; and increment the counter responsive to determining that the write operation to the first cache line is a first modification of the first cache line since the first cache line entered the cache hierarchy. 3 . The processor as recited in claim 2 , wherein the control unit is further configured to keep the counter unchanged responsive to determining that the write to the first cache line is not the first modification of the first cache line since the first cache line entered the cache hierarchy. 4 . The processor as recited in claim 1 , wherein the control unit is further configured to: record a first value of the counter at a first point in time; record a second value of the counter at a second point in time, wherein the second point in time is subsequent to the first point in time; and calculate the measurement of write memory bandwidth as being equal to a difference between the second value and the first value divided by a number of clock cycles that elapsed between the first point in time and the second point in time. 5 . The processor as recited in claim 1 , wherein the control unit is further configured to: maintain a plurality of counters for a plurality of different thread classes, wherein each counter tracks a write memory bandwidth for a separate thread class; detect a first write to a given cache line since the given cache line has entered the cache hierarchy; and increment a counter that corresponds to a thread class to which the given cache line belongs. 6 . The processor as recited in claim 1 , wherein the control logic is further configured to add the measurement of write memory bandwidth to a given measurement of read memory bandwidth to calculate a total memory bandwidth. 7 . The processor as recited in claim 6 , wherein the control logic is further configured to compare the total memory bandwidth to one or more thresholds. 8 . A method comprising: incrementing, by a control unit, counter when a cache line is modified for a first time since the cache line entered a cache hierarchy; generating a measurement of write memory bandwidth based on a value of the counter; and causing a number of write operations that are conveyed to a memory subsystem to be reduced responsive to the measurement of write memory bandwidth exceeding a given threshold. 9 . The method as recited in claim 8 , further comprising: detecting a write operation targeting a first cache line; and incrementing the counter responsive to determining that the write operation to the first cache line is a first modification of the first cache line since the first cache line entered the cache hierarchy. 10 . The method as recited in claim 9 , further comprising keeping the counter unchanged responsive to determining that the write to the first cache line is not the first modification of the first cache line since the first cache line entered the cache hierarchy. 11 . The method as recited in claim 8 , further comprising: recording a first value of the counter at a first point in time; recording a second value of the counter at a second point in time, wherein the second point in time is subsequent to the first point in time; and calculating the measurement of write memory bandwidth as being equal to a difference between the second value and the first value divided by a number of clock cycles that elapsed between the first point in time and the second point in time. 12 . The method as recited in claim 8 , further comprising: maintaining a plurality of counters for a plurality of different thread classes, wherein each counter tracks a write memory bandwidth for a separate thread class; detecting a first write to a given cache line since the given cache line has entered the cache hierarchy; and incrementing a counter that corresponds to a thread class to which the given cache line belongs. 13 . The method as recited in claim 8 , further comprising adding the measurement of write memory bandwidth to a given measurement of read memory bandwidth to calculate a total memory bandwidth. 14 . The method as recited in claim 8 , further comprising comparing the total memory bandwidth to one or more thresholds. 15 . A system comprising: a memory subsystem; and a processor coupled to the memory subsystem; wherein the processor is configured to: increment a counter when a cache line is modified for a first time since the cache line entered a cache hierarchy; generate a measurement of write memory bandwidth based on a value of the counter; and cause a number of write operations that are conveyed to a memory subsystem to be reduced responsive to the measurement of write memory bandwidth exceeding a given threshold. 16 . The system as recited in claim 15 , wherein the processor is further configured to: detect a write operation targeting a first cache line; and increment the counter responsive to determining that the write operation to the first cache line is a first modification of the first cache line since the first cache line entered the cache hierarchy. 17 . The system as recited in claim 16 , wherein the processor is further configured to keep the counter unchanged responsive to determining that the write to the first cache line is not the first modification of the first cache line since the first cache line entered the cache hierarchy. 18 . The system as recited in claim 15 , wherein the processor is further configured to: record a first value of the counter at a first point in time; record a second value of the counter at a second point in time, wherein the second point in time is subsequent to the first point in time; and calculate the measurement of write memory bandwidth as being equal to a difference between the second value and the first value divided by a number of clock cycles that elapsed between the first point in time and the second point in time. 19 . The system as recited in claim 15 , wherein the processor is further configured to: maintain a plurality of counters for a plurality of different thread classes, wherein each counter tracks a write memory bandwidth for a separate thread class; detect a first write to a given cache line since the given cache line has entered the cache hierarchy; and increment a counter that corresponds to a thread class to which the given cache line belongs. 20 . The system as recited in claim 15 , wherein the control logic is further configured to add the measurement of write memory bandwidth to a given measurement of read memory bandwidth to calculate a total memory bandwidth.

Assignees

Inventors

Classifications

  • G06F12/126Primary

    with special data handling, e.g. priority of data or instructions, handling errors or pinning · CPC title

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · CPC title

  • using clearing, invalidating or resetting means · CPC title

  • with a shared cache · CPC title

  • with main memory updating (G06F12/0806 takes precedence) · 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 US2021073137A1 cover?
Systems, apparatuses, and methods for generating a measurement of write memory bandwidth are disclosed. A control unit monitors writes to a cache hierarchy. If a write to a cache line is a first time that the cache line is being modified since entering the cache hierarchy, then the control unit increments a write memory bandwidth counter. Otherwise, if the write is to a cache line that has alre…
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/126. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Mar 11 2021 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).