Firmware Update Hand-Off Block for Single Boot Cycle Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing information handling systems face challenges in efficiently updating firmware, particularly in accessing and executing multiple updates during a single boot cycle without data loss or corruption, especially in constrained memory environments and varying hardware configurations.
Innovation Solution
The method involves determining the presence of firmware updates in a boot partition during reboot, reading the updates without initializing queues or enabling the storage device controller, and executing them by creating a firmware update hand-off block that is passed through pre-EFI initialization to the DXE foundation, utilizing NVMe properties and multi-capsule protocols for storing and executing updates in a continuous block of data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If firmware updates are stored in traditional storage locations and accessed during boot, then the system can perform updates, but the boot process becomes complex and time-consuming with multiple initialization steps
Solution Approach 1:
The firmware updates are prepared and stored in the boot partition before the boot process begins. The update capsules are packaged with metadata describing the updates, allowing the system to automatically identify and execute them during boot without requiring complex manual intervention or additional initialization steps.
Solution Approach 2:
The patent combines the boot process with the firmware update execution by storing update capsules in the boot partition. This merging allows the system to perform both booting and updating in a single unified process, eliminating the need for separate complex initialization sequences and reducing overall boot time.
2Productivity
If multiple firmware updates are executed during a single boot cycle, then update efficiency improves, but data loss or corruption may occur in constrained memory environments
Solution Approach 1:
The firmware updates are segmented into individual capsule payloads, each containing a single update or a small group of related updates. This segmentation allows the system to process and execute updates in manageable chunks during the boot process, preventing memory overload and ensuring data integrity even in constrained environments.
Solution Approach 2:
The boot partition acts as an intermediary storage layer between the storage device and the execution environment. It temporarily holds the update capsules and their metadata, allowing the system to read, validate, and execute updates without directly manipulating raw storage data, thereby preventing corruption and ensuring reliable execution.
3Ease of operation
If the storage device controller is enabled during boot partition access, then normal storage operations can be performed, but the boot process cannot access updates efficiently
Solution Approach 1:
The patent extracts the boot partition access mechanism from the normal storage controller initialization sequence. By providing a dedicated simplified interface for reading the boot partition before controller initialization, the system can efficiently access update capsules without requiring the full storage controller to be enabled, thus maintaining both accessibility and performance.
4Speed
If firmware updates are stored in a continuous block of data in the boot partition, then access speed improves, but the storage structure becomes more complex
Solution Approach 1:
The storage structure is pre-organized during system setup, with update capsules and their metadata arranged in a continuous block within the boot partition. This preliminary structuring eliminates the need for complex runtime search and indexing operations, allowing fast sequential access during boot while maintaining a relatively simple storage layout that is easy to implement.
Data Source
AI summary
This disclosure describes systems and methods for performing an update or multiple updates to firmware on an information handling system in a single reboot cycle. According to some aspects of the disclosure, firmware updates may be stored in a boot partition. During reboot, an information handling system may determine whether a firmware update is present in the boot partition, and when a firmware update is present performing the update. According to some aspects of the disclosure, performing the update may include creating a firmware update hand-off block (HOB), which may correspond to the firmware update and identify where the update is stored in the boot partition.


