IP Library › Granted Patent US 10,318,153
Granted Patent B2
US 10,318,153 · App. 14/576,912 · Granted Jun 11, 2019

Techniques for changing management modes of multilevel memory hierarchy

Inventors: Sergey Blagodurov (Bellevue, WA); Mitesh Ramesh Meswani (Austin, TX); Gabriel H. Loh (Bellevue, WA); Mauricio Breternitz, Jr. (Austin, TX); Mark Richard Nutter (Austin, TX); John Robert Slice (Austin, TX); David Andrew Roberts (Santa Cruz, CA); Michael Ignatowski (Austin, TX); Mark Henry Oskin (Clinton, WA)
Assignee: Advanced Micro Devices, Inc.
G06F3/0604G06F3/0634G06F3/0673
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 10,318,153
App. No.
14/576,912
Granted
Jun 11, 2019
Kind
B2
Abstract

A processor modifies memory management mode for a range of memory locations of a multilevel memory hierarchy based on changes in an application phase of an application executing at a processor. The processor monitors the application phase (e.g., computation-bound phase, input/output phase, or memory access phase) of the executing application and in response to a change in phase consults a management policy to identify a memory management mode. The processor automatically reconfigures a memory controller and other modules so that a range of memory locations of the multilevel memory hierarchy are managed according to the identified memory management mode. By changing the memory management mode for the range of memory locations according to the application phase, the processor improves processing efficiency and flexibility.

Claims (37)

1. A method comprising:

in response to a change in a phase of an application executing at a processor:

selecting a range of memory locations of a multilevel memory;

reorganizing data stored at the selected range of memory locations based on a management mode of a first range of memory locations different from the selected range of memory locations;

transferring reorganized data stored at the selected range of memory locations to the first range of memory locations, and

changing the management mode of the selected range of memory locations.

2. The method of claim 1 , wherein changing the management mode of the selected range of memory locations further comprises:

transferring data stored at a second range of memory locations to the selected range of memory locations.

3. The method of claim 1 , further comprising:

detecting the change in the phase of the application based on run-time performance information.

4. The method of claim 1 , wherein the selected range of memory locations is a subset of memory locations of a type of memory of the multilevel memory.

5. The method of claim 1 , wherein changing the management mode comprises changing use of the selected range of memory locations from a hardware cache mode to a system memory mode.

6. The method of claim 1 , wherein changing the management mode comprises changing use of the selected range of memory locations from a system memory mode to a backing storage mode.

7. The method of claim 1 , wherein the phase of the application is selected from a group consisting of a computation-bound phase, a memory access phase, an input/output (I/O) phase, and a network communication phase.

8. A method, comprising:

in response to a change in a memory management mode from a first memory management mode to a second memory management mode for a first range of memory locations that are a subset of a first memory type of a multilevel memory hierarchy:

reorganizing first data stored at the first range of memory locations based on the memory management mode for a second range of memory locations, wherein different memory management modes are concurrently assigned to the first and second range of memory locations;

transferring the reorganized first data stored at the first range of memory locations to the second range of memory locations; and

transferring, based on the second memory management mode for the first range of memory locations, second data stored at a third range of memory locations to the first range of memory locations.

9. The method of claim 8 , further comprising:

initiating the change in the memory management mode in response to a change in a phase of an application executing at a processor.

10. The method of claim 8 , further comprising:

in response to the change in the memory management mode for the first range of memory locations, changing a set of virtual addresses corresponding to the first range of memory locations.

11. The method of claim 8 , wherein the first memory type is random access memory, and the change in the memory management mode comprises a change from a hardware cache mode to a system memory mode.

12. The method of claim 8 , wherein the first memory type is flash memory, and the change in the memory management mode comprises a change from a system memory mode to a backing storage mode.

13. A processor, comprising:

an application phase detector to identify an application phase for an application executing at the processor; and

a multilevel memory manager to:

in response to an indication from the application phase detector that the application phase has changed, select a range of memory locations of a multilevel memory;

reorganize data stored at the selected range of memory locations based on a management mode of a first range of memory locations different from the selected range of memory locations;

transfer the reorganized data stored at the selected range of memory locations to the first range of memory locations; and

change the management mode of the selected range of memory locations.

14. The processor of claim 13 , wherein the multilevel memory manager is to change the management mode of the selected range of memory locations by:

transferring data stored at a second range of memory locations to the selected range of memory locations.

15. The processor of claim 13 , wherein the multilevel memory manager is to change the management mode of the selected range of memory locations by:

changing a set of virtual addresses associated with the selected range of memory locations from a first set to a second set.

16. The processor of claim 13 , wherein the selected range of memory locations is a subset of memory locations of a memory type of the multilevel memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: BLAGODUROV, SERGEY; MESWANI, MITESH RAMESH; LOH, GABRIEL H.; BRETERNITZ, MAURICIO, JR; NUTTER, MARK R.; SLICE, JOHN ROBERT; ROBERTS, DAVID ANDREW; IGNATOWSKI, MICHAEL; OSKIN, MARK HENRY
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 034918/0734 →
Continuity (1)
Related Publication 20160179382A1 · Jun 23, 2016