Firmware Memory Partitioning for Boot State Preservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
During the boot-up process, data stored in system memory accessible by both firmware and the operating system (O/S) is often overwritten, making it inaccessible once the system enters runtime, which complicates the preservation and restoration of boot-up state data.
Innovation Solution
The implementation of a mechanism to store a snapshot of shared memory data in a firmware-only partition during boot-up, allowing for the restoration of this data later, enabling the system to reboot and operate with a different O/S while retaining services performed by the initial O/S.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the system uses shared memory partitions accessible by both firmware and O/S during boot-up, then boot-up services can be performed, but the data stored in this partition is overwritten by the O/S during runtime, making it inaccessible
Solution Approach 1:
The memory partition is divided into two distinct segments: a firmware-only partition for storing boot-up state data and a shared partition for O/S operations. This segmentation ensures that boot-up data stored in the firmware-only partition remains protected from overwriting by the O/S during runtime, while still allowing the shared partition to be fully utilized for its intended purposes.
Solution Approach 2:
The firmware-only partition acts as an intermediary storage mechanism. When boot-up services need to preserve state data, they write it to this protected partition. Later, when the system needs to restore this state data during runtime, it reads from the firmware-only partition. This intermediary partition mediates between the conflicting needs of boot-up data preservation and O/S memory usage.
2Loss of information
If the system restores boot-up state data to shared memory partition, then the data becomes accessible again, but the system must re-enter boot-up mode which adds complexity
Solution Approach 1:
Instead of restoring the original boot-up state by re-entering boot mode, the system creates a copy of the necessary state data from the firmware-only partition and places it in the shared memory partition. This copying approach allows the system to retain boot-up state information without actually re-executing the boot-up sequence, thereby avoiding the complexity of mode switching while still achieving data accessibility.
3Loss of information
If the system stores a snapshot of shared memory in firmware-only partition, then boot-up state data is preserved, but memory space is consumed that could be used during runtime
Solution Approach 1:
The memory partition is divided into two distinct segments: a firmware-only partition for storing boot-up state data and a shared partition for O/S operations. This segmentation ensures that boot-up data stored in the firmware-only partition remains protected from overwriting by the O/S during runtime, while still allowing the shared partition to be fully utilized for its intended purposes.
Data Source
AI summary
Technologies are disclosed herein for saving data, such as state data, during boot-up of a computer system, such that that data may be retrieved at a later time and restored to its original locations. The data that is stored may be from a shared partition of system memory that is accessible by both firmware services and runtime services, as enabled by an operating system and/or applications running on the computer system. The data may be stored in a partition of the system memory that is only accessible by firmware. In some embodiments, due to the data of the shared partition of the system memory being restored, some functions of the boot-up may not be repeated prior to loading a second operating system on the computer system.


