SoC Firmware Initialization via Shared Block Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
System on a chip circuits face challenges in efficiently initializing and sharing firmware images between embedded controllers and security controllers, as they typically require separate memory devices and lack effective methods for block media partition sharing during the boot process.
Innovation Solution
The implementation of a security controller that detects requests for embedded controller firmware via an enhanced serial peripheral interface (eSPI) transmission link, retrieves the firmware from block storage, and transmits it back to the embedded controller, enabling master attached flash sharing and utilizing drivers for data retrieval in a runtime environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate memory devices are used for each embedded controller, then firmware storage is reliable, but device complexity increases
Solution Approach 1:
The patent merges separate memory devices into a shared block storage system accessible by multiple embedded controllers through a common interface. The block storage contains partitioned firmware images that can be accessed by different controllers, eliminating the need for separate memory devices while maintaining reliable firmware storage through structured partitioning and access protocols.
Solution Approach 2:
The block storage device serves multiple functions: storing firmware for multiple embedded controllers, providing a common access interface, and supporting both initialization and runtime firmware retrieval. This universal storage solution replaces multiple dedicated memory devices, reducing overall system complexity while maintaining reliability through its multi-functional design.
2Reliability
If firmware is retrieved during initialization, then embedded controllers start up correctly, but initialization time increases
Solution Approach 1:
The patent implements preliminary action by pre-partitioning the block storage into dedicated firmware partitions before system initialization. Each embedded controller's firmware is pre-located in specific partitions, allowing the initialization process to directly access known locations without time-consuming searches or dynamic allocation, thus reducing initialization time while ensuring reliable firmware retrieval.
3Productivity
If block storage is shared between controllers, then memory utilization improves, but access control complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the shared block storage into distinct partitions, each dedicated to specific embedded controllers or firmware types. This segmentation allows efficient memory utilization through shared access while simplifying access control, as each controller is assigned specific partitions it can access without interfering with others, eliminating the need for complex dynamic access control mechanisms.
Data Source
AI summary
In one example, a system on a chip can include an embedded controller and a security controller that can detect, during an initialization process, a request for embedded controller firmware stored in block storage from the embedded controller via a transmission link. The security controller can also retrieve the embedded controller firmware stored in the block storage and transmit the embedded controller firmware to the embedded controller via the transmission link.


