Dynamic Memory Mapping for Low-Data Hibernation Storage
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, which also increases the size and cost of non-volatile memory and slows down booting times.
Innovation Solution
A dynamic memory map is built and tracked by software or the operating system to identify critical and non-critical memory regions. Only critical regions are copied during hibernation, reducing the amount of data transferred and processed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all memory regions are copied during hibernation, then the 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, rather than copying the entire memory space. This segmentation allows the system to preserve only essential state information while reducing power consumption and hibernation time.
Solution Approach 2:
Non-essential memory regions are extracted from the hibernation copy process. The system identifies and excludes non-critical memory regions from being copied to non-volatile storage, thereby reducing the amount of data transferred and the associated power consumption while maintaining sufficient state preservation for system recovery.
2Reliability
If all memory regions are copied during hibernation, then the system state is fully preserved, but hibernation time increases significantly
Solution Approach 1:
The memory space is segmented into critical and non-critical regions. By dividing memory into these segments, the system only copies the essential critical regions during hibernation, significantly reducing the time required while ensuring that sufficient state information is preserved for proper system recovery.
Solution Approach 2:
Instead of performing a complete memory copy, the system performs a partial copy of only the critical memory regions required for hibernation. This partial action approach achieves sufficient state preservation without the time penalty of copying the entire memory space.
3Reliability
If large quantities of data are copied to non-volatile memory, then the system state is preserved, but the size and cost of non-volatile memory increases
Solution Approach 1:
Memory regions are segmented into critical and non-critical categories. Only the critical segments are copied to non-volatile memory during hibernation, reducing the quantity of data stored and thereby decreasing the required non-volatile memory size and associated costs while maintaining adequate state preservation.
Solution Approach 2:
Non-essential memory regions are extracted from the hibernation copy process. By removing non-critical data from the copy operation, the system reduces the amount of data that must be stored in non-volatile memory, thereby reducing hardware requirements and costs.
4Reliability
If large quantities of data are copied during hibernation, then the system state is preserved, but booting time increases
Solution Approach 1:
The memory restoration process during booting is segmented to restore only critical regions first. This allows the system to recover essential state information quickly, reducing booting time while maintaining sufficient state preservation for proper system operation.
Solution Approach 2:
The system performs a partial restore of only the critical memory regions that were saved during hibernation, rather than restoring the entire memory space. This partial restoration approach significantly reduces booting time while maintaining adequate system state for operational recovery.
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.


