Dynamic Memory Mapping for DMA Power Optimization
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If the system uses DRAM memory modules for memory access operations, then operation speed is improved, but power consumption increases
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.
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.
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
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.
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.
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
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.
Data Source
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.


