Dynamic Memory Mapping for DMA Power Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems face inefficiencies in memory utilization due to the use of multiple types of memory modules with different performance attributes, such as DRAM and PCM, where PCM is energy-efficient but slower, and DRAM is faster but more power-consuming, leading to suboptimal performance and power usage in DMA operations.

Innovation Solution

A method and system that monitor performance metrics of the DMA engine to reconfigure the address translation table, mapping virtual addresses from faster but more power-hungry memory modules to slower but more energy-efficient modules when underutilized, and vice versa when the DMA engine is overutilized, to optimize memory access operations based on current utilization rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the system uses DRAM memory modules for memory access operations, then operation speed is improved, but power consumption increases

Engineering Contradiction:
Improvememory access speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system dynamically remaps virtual memory addresses to different physical memory modules (DRAM or PCM) based on the utilization level of the data access engine. When the data access engine is underutilized, the system remaps addresses to use PCM memory for power savings. When the data access engine is overutilized, the system remaps addresses to use DRAM memory for performance. This dynamic adaptation resolves the contradiction between speed and power consumption by adjusting memory allocation in real-time based on system workload.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the mapping parameters in the address translation table to redirect memory access operations between different memory module types. By modifying which virtual addresses map to which physical memory modules (DRAM or PCM), the system can optimize the balance between operation speed and power consumption according to current utilization conditions.

Inventive Principle:
Principle #35Parameter changes

2Use of energy by moving object

If the system uses PCM memory modules for memory access operations, then power consumption is reduced, but operation speed decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidmemory access speed
Core Design Contradiction:
Use of energy by moving objectVSSpeed

Solution Approach 1:

The system employs dynamic remapping of virtual memory addresses to select between PCM and DRAM memory modules based on data access engine utilization. When utilization is low, PCM memory is used to reduce power consumption. When utilization is high, the system switches to DRAM memory to ensure adequate operation speed. This dynamic selection resolves the contradiction by adapting memory allocation to current system demands.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system modifies the address translation table parameters to change which virtual addresses map to PCM versus DRAM memory modules. By adjusting these mapping parameters based on utilization metrics, the system can optimize the trade-off between power consumption and operation speed for PCM memory access.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If the system statically allocates memory addresses to specific memory modules, then system complexity is reduced, but adaptability to different utilization conditions deteriorates

Engineering Contradiction:
Improvememory allocation complexityVSAvoidadaptability to utilization changes
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system implements a feedback mechanism where the operating system monitors the utilization level of the data access engine and uses this information to dynamically remap virtual memory addresses. The feedback loop continuously adjusts memory allocation based on current utilization conditions, enabling the system to adapt to changing workload demands while maintaining relatively simple memory management through automated remapping based on utilization thresholds.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10303618B2Power savings via dynamic page type selection
Publication Date: 2019.05.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10303618B2 patent drawing
  • US10303618B2 patent drawing
  • US10303618B2 patent drawing

AI summary

An operating system monitors a performance metric of a direct memory access (DMA) engine on an I/O adapter to update a translation table used during DMA operations. The translation table is used during a DMA operation to map a virtual address provided by the I/O adapter to a physical address of a data page in the memory modules. If the DMA engine is being underutilized, the operating system updates the translation table such that a virtual address maps to physical address corresponding to a memory location in a more energy efficient memory module. However, if the DMA engine is over-utilized, the operating system may update the translation table such that the data used in the DMA engine is stored in memory modules that provide quicker access times—e.g., the operating system may map virtual addresses to physical addresses in DRAM rather than phase change memory.