Dynamic Memory Power Management Using Lookup Table Bank Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Portable computing devices (PCDs) face significant power drain due to self-refresh operations of volatile memory components during idle periods, which reduces battery life and affects overall quality of service (QoS).
Innovation Solution
A method and system for dynamic memory management using a memory page lookup table (LUT) to identify and migrate data from an active memory bank to a lower bank, allowing the upper bank to be powered down, thereby reducing the sleep current and maintaining data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If self-refresh operations are performed on volatile memory components during idle periods, then data integrity is maintained, but power consumption increases significantly
Solution Approach 1:
The volatile memory is divided into multiple banks, allowing selective self-refresh operations on individual banks rather than the entire memory. The memory management unit identifies which banks contain valid data and activates self-refresh only for those specific banks, segmenting the refresh operation to reduce overall power consumption while maintaining data integrity for active data.
Solution Approach 2:
Different refresh policies are applied to different memory banks based on their content status. Banks containing valid data maintain full self-refresh operations to ensure data integrity, while banks with invalid or redundant data can enter lower power states. This local differentiation optimizes power consumption by applying refresh operations only where necessary.
2Quantity of substance
If memory size is increased to enhance device functionality, then storage capacity improves, but sleep current increases due to higher self-refresh requirements
Solution Approach 1:
The large volatile memory is organized into multiple smaller banks that can be independently managed. The memory management unit tracks which banks contain valid data and enables self-refresh only for those specific banks during idle periods. This segmentation allows the system to support large total memory capacity while minimizing sleep current by activating refresh operations only for the necessary subset of banks.
Solution Approach 2:
The system dynamically changes the refresh rate and power state parameters of individual memory banks based on their content validity status. Banks with valid data maintain standard refresh rates, while banks with invalid data reduce refresh frequency or enter power-down states. This parameter adjustment optimizes the balance between memory capacity utilization and power consumption during idle periods.
3Use of energy by moving object
If the PCD enters sleep mode to conserve power, then power consumption decreases, but the time required to resume operation increases due to memory re-initialization
Solution Approach 1:
Before entering sleep mode, the memory management unit performs preliminary actions by identifying and validating data in each memory bank, marking banks as valid or invalid. During sleep mode, only the necessary banks maintain self-refresh operations. Upon wake-up, the system can quickly resume because the validity status of each bank is already determined, avoiding time-consuming memory re-initialization and enabling faster restoration of operational state.
Solution Approach 2:
The memory refresh system operates dynamically, adjusting the self-refresh status of individual banks based on real-time validity assessments. During sleep mode, the system maintains a dynamic balance between power savings and data availability by keeping only necessary banks in refreshed state. This dynamic approach reduces both power consumption and wake-up time compared to static full-memory refresh approaches.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
Various embodiments of methods and systems for hardware (HW) based dynamic memory management in a portable computing device (PCD) are disclosed. One exemplary method includes generating a lookup table (LUT) to track each memory page located across multiple portions of a volatile memory. The records in the LUT are updated to keep track of data locations. When the PCD enters a sleep state to conserve energy, the LUT may be queried to determine which specific memory pages in a first portion of volatile memory (e.g., an upper bank) contain data content and which pages in a second portion of volatile memory (e.g., a lower bank) are available for receipt of content. Based on the query, the location of the data in the memory pages of the upper bank is known and can be quickly migrated to memory pages in the lower bank which are identified for receipt of the data.