Multi-level memory system power management apparatus and method
A multi-level memory architecture scheme to dynamically balance a number of parameters such as power, thermals, cost, latency and performance for memory levels that are progressively further away from the processor in the platform based on how applications are using memory levels that are further away from processor cores. In some examples, the decision making for the state of the far memory (FM) is decentralized. For example, a processor power management unit (p-unit), near memory controller (NMC), and/or far memory host controller (FMHC) makes decisions about the power and/or performance state of the FM at their respective levels. These decisions are coordinated to provide the most optimum power and/or performance state of the FM for a given time. The power and/or performance state of the memories adaptively change to changing workloads and other parameters even when the processor(s) is in a particular power state.
1 . An apparatus comprising:
a plurality of processing cores;
a first memory controller coupled to one or more first memory modules via a first link;
a second memory controller coupled to one or more second memory modules via a second link and a second-memory module control circuit device, wherein the one or more second memory modules are second level or higher, writeable non-volatile memory modules; and
a power management unit coupled to the plurality of processing cores, the first memory controller, and the second memory controller, wherein the power management unit is to determine power and/or performance policy and boundary conditions for the apparatus, and to communicate a power state for the first and/or second links via the first memory controller and/or the second memory controller,
wherein the second memory controller manages power of the one or more second memory modules via the second link based on a dynamic profile of workload fed to the second memory controller from the power management unit, and the second-memory module control circuit device manages a second memory module power, performance or thermal state based on second memory module parameters.
2 . The apparatus of claim 1 , wherein the second-memory device has precedence over the second memory controller and/or the power management unit to decide the power state of the second link.
3 . The apparatus of claim 1 , wherein the second memory controller includes a timer to determine exit latency from a power state of the second link, wherein the exit latency is considered by the second memory controller to determine a power state of the second link.
4 . The apparatus of claim 1 , wherein the power management unit receives memory access pattern hints for an operating system, and provides the memory access pattern hints to the second memory controller, wherein the second memory controller considers the memory access pattern hints to determine a power state of the second link.
5 . The apparatus of claim 1 , wherein the power and/or performance policy includes Hour of battery life, and quality of service.
6 . The apparatus of claim 1 , wherein the boundary conditions include power envelope, thermal limit, and maximum supply current.
7 . The apparatus of claim 1 , wherein the first link is a double data rate link, and wherein the first memory modules comprise dynamic random-access memory.
8 . The apparatus of claim 1 , wherein the second link is a peripheral component interface express link, wherein the second memory modules have slower exit latency than an exit latency of the first memory modules.
9 . The apparatus of claim 1 , wherein power state of the first and/or second links is decoupled from power states of the plurality of processing cores.
10 . A system comprising:
far memory modules;
near memory modules;
a processor coupled to the far memory modules and the near memory modules; and
a wireless device to allow the processor to communicate with another device, wherein the processor includes:
a plurality of processing cores;
a near memory controller coupled to the near memory modules via a first link;
a far memory controller coupled to the far memory modules via a second link; and
a power management unit coupled to the plurality of processing cores, the near memory controller, and the far memory controller, wherein the power management unit is to determine power and/or performance policy and boundary conditions for the processor, and to communicate a power state for the first and/or second links via the near memory controller and/or the far memory controller, wherein the far memory controller manages power of the far memory modules via the second link and based on a dynamic profile of workload fed to a memory control circuit device, wherein the memory control circuit device is coupled to the far memory modules and the far memory controller.
11 . The system of claim 10 , wherein the memory device has precedence over the far memory controller and/or the power management unit to decide the power state of the second link.
12 . The system of claim 10 , wherein the far memory controller includes a timer to determine exit latency from a power state of the second link, wherein the exit latency is considered by the far memory controller to determine a power state of the second link.