Selective Memory Mapping for Low-Power Hibernation Resume
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, allowing only critical regions to be copied during hibernation, thereby reducing the amount of data transferred and the energy consumed.
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 entire memory. This segmentation allows selective copying of only essential data, reducing power consumption while maintaining system state integrity.
Solution Approach 2:
Different memory regions are treated differently based on their importance. Critical regions (containing OS structures, process control blocks, file system metadata) are copied to non-volatile storage, while non-critical regions (cached data, temporary buffers) are discarded. This local quality approach ensures reliable state restoration without unnecessary energy expenditure.
2Reliability
If all memory regions are copied during hibernation, then complete system state is restored, but non-volatile memory size and cost increase
Solution Approach 1:
Memory is divided into critical and non-critical segments. Only critical segments are persisted to non-volatile storage during hibernation. This segmentation reduces the volume of data that must be stored, thereby reducing the required non-volatile memory capacity and associated costs.
Solution Approach 2:
Non-essential memory content is extracted and excluded from the hibernation copy operation. The OS identifies and excludes non-critical regions (such as page caches, buffer pools, and temporary data) from being written to non-volatile storage, reducing storage requirements while maintaining essential system state.
3Reliability
If all memory regions are copied during hibernation, then full system state is saved, but booting time after resumption increases
Solution Approach 1:
The hibernation process is segmented to copy only critical memory regions to non-volatile storage. This reduces the total data transfer volume during both hibernation and resume operations, thereby reducing the time loss associated with these operations while preserving essential system state.
Solution Approach 2:
Non-critical memory regions are extracted and excluded from the hibernation copy process. This extraction reduces the amount of data that must be written during hibernation and read during resume, directly reducing booting time while maintaining sufficient state restoration for system functionality.
4Use of energy by moving object
If critical memory regions are identified and copied selectively, then power consumption and storage requirements are reduced, but the complexity of memory management increases
Solution Approach 1:
The operating system's existing memory management mechanisms are leveraged to identify critical regions. The OS uses its own page tables, memory descriptors, and allocation metadata to automatically determine which regions are critical, eliminating the need for external analysis tools or manual configuration.
Solution Approach 2:
The memory management structures already present in the OS (such as page tables and memory descriptors) serve dual purposes: managing memory during normal operation and identifying critical regions for hibernation. This multi-functionality reduces the need for separate complexity-inducing mechanisms.
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.


