IP Library › Granted Patent US 11,580,025
Granted Patent B1
US 11,580,025 · App. 17/490,529 · Granted Feb 14, 2023

Cache prefetching with dynamic interleaving configuration modification

Inventors: Tarun Nakra (Austin, TX); Akhil Arunkumar (Santa Clara, CA); Vydhyanathan Kalyanasundharam (Santa Clara, CA); Chintan S. Patel (Austin, TX); Nithesh Kurella Lakshmi Narayanamurthy (Austin, TX)
Assignee: Advanced Micro Devices, Inc.
G06F12/0862G06F2212/602
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,580,025
App. No.
17/490,529
Granted
Feb 14, 2023
Kind
B1
Abstract

Systems and methods for coordinated memory-side cache prefetching and dynamic interleaving configuration modification involve modifying one or both of the prefetch distance or the prefetch degree used by prefetcher modules of one or more memory-side caches by modifying interleaving configuration data following detection of an interleaving reconfiguration trigger condition indicative, for example, of low prefetch accuracy, low prefetch coverage, high prefetch lateness, or a combination of these. In response an interleaving reconfiguration trigger condition, a processor modifies the interleaving configuration data for the processing system based on the prefetch performance characteristics associated with the interleaving reconfiguration trigger condition. In some embodiments, the interleaving configuration data is modified by changing which physical memory address indices are used to determine the bits that define the channel identification number to which that physical memory address is to be mapped.

Claims (35)

1. A method comprising:

detecting an interleaving reconfiguration trigger condition based on at least one prefetch performance characteristic; and

modifying, responsive to detecting the interleaving reconfiguration trigger condition, an interleaving configuration of a processing system, the interleaving configuration representing a mapping of physical memory addresses to memory devices via respective channels of a plurality of channels.

2. The method of claim 1 , further comprising:

prefetching, with at least one prefetcher module, data in accordance with respective ranges of prefetch distance and prefetch degree achievable with the modified interleaving configuration.

3. The method of claim 2 , wherein the interleaving reconfiguration trigger condition is indicative of a low prefetch accuracy of the at least one prefetcher module.

4. The method of claim 2 , wherein the interleaving reconfiguration trigger condition is indicative of a low prefetch coverage of the at least one prefetcher module.

5. The method of claim 2 , wherein the interleaving reconfiguration trigger condition is indicative of a high prefetch lateness of the at least one prefetcher module.

6. The method of claim 2 , wherein the interleaving reconfiguration trigger condition comprises a first interleaving reconfiguration trigger condition that is indicative of a high prefetch lateness of the at least one prefetcher module and a second interleaving reconfiguration trigger condition that is indicative of a low prefetch coverage or a low prefetch accuracy of the at least one prefetcher module.

7. A processing system comprising:

a processor, the processor configured to execute computer-readable instructions that, when executed, cause the processor to:

detect an interleaving reconfiguration trigger condition based on at least one prefetch performance characteristic; and

modify, responsive to detecting the interleaving reconfiguration trigger condition, an interleaving configuration representing a mapping of physical memory addresses to memory devices.

8. The processing system of claim 7 , further comprising:

at least one memory module comprising:

at least one memory-side cache; and

at least one cache controller coupled to the at least one memory-side cache and coupled to the processor, the at least one cache controller configured to implement a prefetcher module, and the at least one prefetch performance characteristic being representative of prefetch performance of the prefetcher module.

9. The processing system of claim 8 , wherein the prefetcher module is configured to:

prefetch data from the at least one memory module in accordance with respective ranges of prefetch distance and prefetch degree achievable with the modified interleaving configuration.

10. The processing system of claim 8 , wherein the interleaving reconfiguration trigger condition is indicative of a low prefetch accuracy of the prefetcher module.

11. The processing system of claim 8 , wherein the interleaving reconfiguration trigger condition is indicative of a low prefetch coverage of the prefetcher module.

12. The processing system of claim 8 , wherein the interleaving reconfiguration trigger condition is indicative of a high prefetch lateness of the prefetcher module.

13. The processing system of claim 8 , wherein the interleaving reconfiguration trigger condition comprises a first interleaving reconfiguration trigger condition that is indicative of a high prefetch lateness of the prefetcher module and a second interleaving reconfiguration trigger condition that is indicative of a low prefetch coverage or a low prefetch accuracy of the prefetcher module.

14. The processing system of claim 8 , wherein the processor comprises:

at least one configuration register configured to store interleaving configuration data, wherein the processor is configured to modify the interleaving reconfiguration by modifying the interleaving configuration data.

15. A processor comprising:

at least one configuration register configured to store interleaving configuration data that defines an interleaving configuration for a processing system, the interleaving configuration representing a mapping of physical memory addresses to memory devices via respective channels of a plurality of channels, and the processor being configured to execute computer-readable instructions that, when executed, cause the processor to:

detect an interleaving reconfiguration trigger condition based on at least one prefetch performance characteristic; and

modify, responsive to detecting the interleaving reconfiguration trigger condition, the interleaving configuration by modifying the interleaving configuration data based on the interleaving reconfiguration trigger condition.

16. The processor of claim 15 , wherein the interleaving reconfiguration trigger condition is indicative of a low prefetch accuracy of at least one prefetcher module.

17. The processor of claim 15 , wherein the interleaving reconfiguration trigger condition is indicative of a low prefetch coverage of at least one prefetcher module.

18. The processor of claim 15 , wherein the interleaving reconfiguration trigger condition is indicative of a high prefetch lateness of at least one prefetcher module.

19. The processor of claim 15 , wherein the interleaving reconfiguration trigger condition comprises a first interleaving reconfiguration trigger condition that is indicative of a high prefetch lateness of at least one prefetcher module and a second interleaving reconfiguration trigger condition that is indicative of a low prefetch coverage or a low prefetch accuracy of the at least one prefetcher module.

20. The processor of claim 15 , wherein the computer-readable instructions, when executed, further cause the processor to:

modify the interleaving configuration by modifying the interleaving configuration during a boot sequence following detection of the interleaving reconfiguration trigger condition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: NAKRA, TARUN; ARUNKUMAR, AKHIL; KALYANASUNDHARAM, VYDHYANATHAN; KURELLA LAKSHMI NARAYANAMURTHY, NITHESH; PATEL, CHINTAN S.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 057797/0509 →
Cited By (1)
US 12,596,641