Dynamic Memory Mapping for Faster, Lower-Power Hibernation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hibernation in computing systems consumes significant power and time due to the need to copy large quantities of data from volatile to non-volatile memory, increasing storage costs and slowing down boot times.
Innovation Solution
A dynamic memory map is created to identify critical and non-critical memory regions, allowing only critical regions to be copied during hibernation, reducing the amount of data transferred and stored.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all memory regions are copied during hibernation, then system state is fully preserved, but power consumption and hibernation time increase significantly
Solution Approach 1:
The memory space is segmented into critical and non-critical regions. The OS identifies and marks specific memory regions that must be preserved during hibernation, while other regions can be discarded. This segmentation allows the system to copy only essential data to non-volatile storage, significantly reducing power consumption and hibernation time while maintaining system reliability.
Solution Approach 2:
Non-critical memory regions are extracted from the hibernation copy process. The system identifies memory regions that do not need to be preserved (such as cached data or temporary buffers) and excludes them from the copy operation, thereby reducing the amount of data transferred and the energy required for hibernation.
2Reliability
If all memory regions are copied during hibernation, then complete system state is restored, but hibernation time increases
Solution Approach 1:
By dividing memory into critical and non-critical segments, the system only copies essential data during hibernation. This reduces the total volume of data that needs to be written to non-volatile storage and read back during resume, directly decreasing hibernation time while ensuring complete restoration of critical system state.
Solution Approach 2:
The system performs partial copying of memory regions during hibernation, copying only the critical portions necessary for system restoration. This partial action approach achieves sufficient system state recovery without the time penalty of copying entire memory contents.
3Reliability
If large quantities of data are copied to non-volatile memory, then all data is preserved, but storage size requirements and costs increase
Solution Approach 1:
Memory is segmented into critical and non-critical regions, and only critical regions are copied to non-volatile storage during hibernation. This segmentation strategy reduces the quantity of data that must be stored, thereby decreasing storage size requirements and associated costs while preserving essential system data.
Solution Approach 2:
Non-essential memory regions are extracted from the hibernation copy process. By identifying and excluding non-critical data (such as temporary buffers, cached information, or user data that can be regenerated), the system reduces the total data volume requiring persistent storage.
Data Source
AI summary
A computing system has a processing device (e.g., CPU, FPGA, or GPU) and memory regions (e.g., in a DRAM device) used by the processing device during normal operation. The computing system is configured to: monitor use of the memory regions in volatile memory; based on monitoring the use of the memory regions, identify at least one of the memory regions of the volatile memory; initiate a hibernation process; and during the hibernation process, copy data stored in the identified memory regions to non-volatile memory.


