# US 11,307,631 B2 · Dynamic voltage frequency scaling based on active memory barriers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,307,631 B2
- Document ID: US11307631B2
- Status: Granted
- Kind: B2
- Application number: 16/425,414
- Filed: 2019-05-29
- Published: 2020-12-03
- Granted: 2022-04-19
- Earliest claimed: 2019-05-29
- Assignees: Advanced Micro Devices, Inc.
- Applicants: Advanced Micro Devices, Inc.
- Inventors: Vedula Venkata Srikant Bharadwaj
- Web page: https://patentgrep.com/patent/US11307631B2

## CPC

- G06F 1/3225: of memory devices
- G06F 1/324: by lowering clock frequency
- G06F 1/3275: {Power saving in memory, e.g. RAM, cache}
- G06F 1/3296: by lowering the supply or operating voltage
- G11C 7/222: {Clock generating, synchronizing or distributing circuits within memory device}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A processing unit includes compute units partitioned into one or islands that are provided with operating voltages and clock signals having clock frequencies independent of providing operating voltages or clock signals to other islands of compute units. The processing unit also includes dynamic voltage and frequency scaling (DVFS) hardware configured to compute one or more numbers of active memory barriers in the one or more islands. The DVFS hardware is also configured to modify the operating voltages or clock frequencies provided to the one or more islands in response to a change in numbers of active memory barriers in the one or more islands. In some cases, the operating voltage or clock frequency provided to an island is increased in response to the number of active memory barriers in the island decreasing. The operating voltage or clock frequency provided to the island is decreased in response to the number of active memory barriers in the island increasing.

## Claims

### Claim 1

A processing unit comprising:
compute units partitioned into at least one island that is provided with at least one operating voltage and a clock signal having at least one clock frequency independent of providing operating voltages or clock signals to other islands of compute units; and
dynamic voltage and frequency scaling (DVFS) hardware configured to compute at least one number of active memory barriers in the at least one island and modify the at least one operating voltage or the at least one clock frequency provided to the at least one island in response to a change in the at least one number of active memory barriers in the at least one island.

### Claim 2 (depends on 1)

The processing unit of claim 1, wherein the compute units are partitioned into a plurality of islands that are independently provided with operating voltages and clock signal having clock frequencies, and wherein the DVFS hardware is configured to compute numbers of active memory barriers in the plurality of islands.

### Claim 3 (depends on 2)

The processing unit of claim 2, wherein the DVFS hardware is configured to modify at least one of a first operating voltage and a first clock frequency of a first clock signal provided to a first island in the plurality of islands in response to a change in a first number of active memory barriers in the first island.

### Claim 4 (depends on 3)

The processing unit of claim 3, wherein the DVFS hardware is configured to modify the at least one of the first operating voltage and the first clock frequency independent of operating voltages and clock frequencies of clock signals supplied to other islands in the plurality of islands.

### Claim 5 (depends on 3)

The processing unit of claim 3, wherein the DVFS hardware is configured to increase the at least one of the first operating voltage and the first clock frequency in response to a decrease in the first number of active memory barriers in the first island.

### Claim 6 (depends on 3)

The processing unit of claim 3, wherein the DVFS hardware is configured to decrease the at least one of the first operating voltage and the first clock frequency in response to an increase in the first number of active memory barriers in the first island.

### Claim 7 (depends on 3)

The processing unit of claim 3, wherein the DVFS hardware is configured to modify the at least one of the first operating voltage and the first clock frequency in response to a change in the first number of active memory barriers from a first range of numbers of active memory barriers to a second range of numbers of active memory barriers.

### Claim 8 (depends on 3)

The processing unit of claim 3, wherein the DVFS hardware is configured to evaluate the number of active memory barriers at an end of a predetermined time interval and to modify the at least one of the first operating voltage and the first clock frequency in response to a change in the number of active memory barriers between a beginning and an end of the predetermined time interval.

### Claim 9 (depends on 8)

The processing unit of claim 8, wherein the predetermined time interval is a minimum time interval determined based on a comparison of an overhead required to modify the at least one of the first operating voltage in the first clock frequency and a potential power savings or performance gain produced by the modification.

### Claim 10

A method comprising:
computing at least one number of active memory barriers in at least one island comprising at least one compute unit of a plurality of compute units, wherein the at least one island is provided with at least one operating voltage and at least one clock signal having at least one clock frequency independent of providing operating voltages or clock signals to other islands of compute units; and
modifying the at least one operating voltage or the at least one clock frequency provided to the at least one island in response to a change in the at least one number of active memory barriers in the at least one island.

### Claim 11 (depends on 10)

The method of claim 10, wherein computing the at least one number of active memory barriers comprises computing numbers of active memory barriers in a plurality of islands that include mutually exclusive subsets of the plurality of compute units, and wherein the plurality of islands that are independently provided with operating voltages and clock frequencies.

### Claim 12 (depends on 11)

The method of claim 11, wherein modifying the at least one operating voltage or the at least one clock frequency comprises modifying at least one of a first operating voltage and a first clock frequency provided to a first island in the plurality of islands in response to a change in a first number of active memory barriers in the first island.

### Claim 13 (depends on 12)

The method of claim 12, wherein modifying the at least one operating voltage or the at least one clock frequency comprises modifying the at least one of the first operating voltage and the first clock frequency independent of operating voltages and clock frequencies of clock signals supplied to other islands in the plurality of islands.

### Claim 14 (depends on 12)

The method of claim 12, wherein modifying the at least one operating voltage or the at least one clock frequency comprises increasing the at least one of the first operating voltage and the first clock frequency in response to a decrease in the first number of active memory barriers in the first island.

### Claim 15 (depends on 12)

The method of claim 12, wherein modifying the at least one operating voltage or the at least one clock frequency comprises decreasing the at least one of the first operating voltage and the first clock frequency in response to an increase in the first number of active memory barriers in the first island.

### Claim 16 (depends on 12)

The method of claim 12, wherein modifying the at least one operating voltage or the at least one clock frequency comprises modifying the at least one of the first operating voltage and the first clock frequency in response to a change in the first number of active memory barriers from a first range of numbers of active memory barriers to a second range of numbers of active memory barriers.

### Claim 17 (depends on 12)

The method of claim 12, wherein modifying the at least one operating voltage or the at least one clock frequency comprises evaluating the number of active memory barriers at an end of a predetermined time interval and modifying the at least one of the first operating voltage and the first clock frequency in response to a change in the number of active memory barriers between a beginning and an end of the predetermined time interval.

### Claim 18 (depends on 17)

The method of claim 17, wherein the predetermined time interval is a minimum time interval determined based on a comparison of an overhead required to modify the at least one of the first operating voltage in the first clock frequency and a potential power savings or performance gain produced by the modification.

### Claim 19

A processing unit comprising:
compute units partitioned into islands that are provided with operating voltages and clock signals having clock frequencies independent of providing operating voltages or clock signals to other islands of compute units, wherein the compute units concurrently execute wavefronts; and
dynamic voltage and frequency scaling (DVFS) hardware configured to modify the operating voltages or the clock frequencies provided to the islands in response to changes in numbers of wavefronts in the islands that are waiting for memory access requests to complete.

### Claim 20 (depends on 19)

The processing unit of claim 19, wherein the DVFS hardware is configured to modify a first operating voltage or a first clock frequency provided to a first island in the islands in response to a change in a first number of wavefronts in the first island that are waiting for memory access requests to complete, where in the first operating voltage of the first clock frequency are modified independently of operating voltages or clock frequencies provided to other islands.
