IP Library Granted Patent US 11,586,563
Granted Patent B2
US 11,586,563 · App. 17/130,604 · Granted Feb 21, 2023

Distribution of data and memory timing parameters across memory modules based on memory access patterns

Inventors: Max Ruttenberg (Bellevue, WA); Vendula Venkata Srikant Bharadwaj (Bellevue, WA); Yasuko Eckert (Bellevue, WA); Anthony Gutierrez (Bellevue, WA); Mark H. Oskin (Bellevue, WA)
Assignee: Advanced Micro Devices, Inc.
G06F13/1668G11C11/4076
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,586,563
App. No.
17/130,604
Granted
Feb 21, 2023
Kind
B2
Abstract

A processor distributes memory timing parameters and data among different memory modules based upon memory access patterns. The memory access patterns indicate different types, or classes, of data for an executing workload, with each class associated with different memory access characteristics, such as different row buffer hit rate levels, different frequencies of access, different criticalities, and the like. The processor assigns each memory module to a data class and sets the memory timing parameters for each memory module according to the module's assigned data class, thereby tailoring the memory timing parameters for efficient access of the corresponding data.

Claims (35)

1. A method comprising:

identifying, for each of a plurality of memory modules, a corresponding memory access profile based on a type of data stored at each of the plurality of memory modules; and

setting a memory timing parameter for each of the plurality of memory modules based on the corresponding memory access profiles.

2. The method of claim 1 , wherein setting the memory timing parameters comprises:

setting the memory timing parameter for a first memory module to a first value; and

setting the memory timing parameter for a second memory module to a second value, the second value different from the first value.

3. The method of claim 1 , wherein the memory timing parameter includes at least one of a page loading parameter, a row precharge parameter, a column-to-column delay parameter, a row-to-row delay parameter, a four-bank activation window parameter, a write recovery (WR) parameter indicating a time between writing and precharging, a read to precharge (RTP) parameter indicating a time between a read and a precharge, and a refresh interval (REFI) parameter.

4. The method of claim 1 , wherein identifying the corresponding memory access profiles comprises identifying at least one of a row buffer hit rate, a number of processor stall cycles due to pending memory accesses, and a memory congestion metric.

5. The method of claim 1 , wherein identifying the type of data comprises identifying a corresponding criticality metric for data stored at each of the plurality of memory modules.

6. The method of claim 1 , further comprising:

transferring data from a first of the plurality of memory modules to a second of the plurality of memory modules based on the setting of the memory timing parameter for each of the plurality of memory modules.

7. The method of claim 1 , further comprising:

adjusting a power setting of at least one of the plurality of memory modules based on the corresponding memory access profiles.

8. The method of claim 1 , wherein each of the plurality of memory modules comprises a different memory module in a high-bandwidth memory (HBM) stack.

9. A processor comprising:

a memory controller configured to identify, for each of a plurality of memory modules, a corresponding memory access profile based on a type of data stored at each of the plurality of memory modules; and

wherein the memory controller is configured to set a memory timing parameter for each of the plurality of memory modules based on the corresponding memory access profiles.

10. The processor of claim 9 , wherein the memory controller is configured to set the memory timing parameters by:

setting the memory timing parameter for a first memory module to a first value; and

setting the memory timing parameter for a second memory module to a second value, the second value different from the first value.

11. The processor of claim 9 , wherein the memory timing parameter includes at least one of a page loading parameter, a row precharge parameter, a column-to-column delay parameter, a row-to-row delay parameter, a four-bank activation window parameter, a write recovery (WR) parameter indicating a time between writing and precharging, a read to precharge (RTP) parameter indicating a time between a read and a precharge, and a refresh interval (REFI) parameter.

12. The processor of claim 9 , wherein the memory controller is configured to identify the corresponding memory access profiles by identifying at least one of a row buffer hit rate, a number of processor stall cycles due to pending memory accesses, and a memory congestion metric.

13. The processor of claim 9 , wherein the memory controller is configured to identify the corresponding memory access profiles by identifying a corresponding criticality metric for data stored at each of the plurality of memory modules.

14. The processor of claim 9 , wherein the memory controller is further configured to:

transfer data from a first of the plurality of memory modules to a second of the plurality of memory modules based on the setting of the memory timing parameter for each of the plurality of memory modules.

15. The processor of claim 9 , wherein the memory controller is further configured to:

adjust a power setting of at least one of the plurality of memory modules based on the corresponding memory access profiles.

16. A method comprising:

identifying, for each of a plurality of memory modules, a corresponding memory access profile based on a workload to be executed at a processor;

setting a memory timing parameter for each of the plurality of memory modules based on the corresponding memory access profiles; and

adjusting a power setting of at least one of the plurality of memory modules based on the corresponding memory access profiles.

17. The processor of claim 9 , wherein the memory timing parameter includes a page loading parameter.

18. The processor of claim 9 , wherein the memory timing parameter includes a row precharge parameter.

19. The processor of claim 9 , wherein the memory timing parameter includes a column-to-column delay parameter.

20. The processor of claim 9 , wherein the memory timing parameter includes a row-to-row delay parameter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2021
From: RUTTENBERG, MAX; BHARADWAJ, VENDULA VENKATA SRIKANT; ECKERT, YASUKO; GUTIERREZ, ANTHONY; OSKIN, MARK H.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 057865/0711 →
Continuity (1)
Related Publication 20220197832A1 · Jun 23, 2022
Cited By (1)
US 12,299,498