Multi-Die Firmware Booting via Shared Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-die and multi-core computing platforms face inefficiencies in initializing links between dies, requiring multiple storage devices for firmware codes, which increases costs and wiring complexity.
Innovation Solution
Storing firmware codes for multiple dies in a single storage device, where slave dies download and execute their codes before the master die, allowing parallel execution and reduced boot time by enabling the master die to access the storage device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple storage devices are used to separately store firmware codes for different dies, then each die can independently access its firmware code, but the storage cost and wiring complexity increase
Solution Approach 1:
The patent merges multiple storage devices into a single shared storage device that stores firmware codes for all dies. This consolidation reduces the number of storage devices from multiple to one, thereby reducing wiring complexity while maintaining reliable firmware code access through a shared resource architecture.
Solution Approach 2:
The shared storage device performs multiple functions by storing firmware codes for different dies (e.g., master die, slave dies) and serving as a universal storage resource for the entire multi-die system. This multi-functionality eliminates the need for dedicated storage devices for each die, reducing overall system complexity.
2Ease of operation
If the master die loads firmware code first before slave dies, then the master die can initialize the system, but the total booting time increases due to sequential loading
Solution Approach 1:
The patent implements preliminary action by having slave dies load and execute their firmware codes before the master die loads its firmware code. This reordering of operations allows slave dies to be ready earlier, and the master die can subsequently initialize the links more efficiently, optimizing the overall booting sequence.
Solution Approach 2:
The patent ensures continuity of useful action by enabling parallel firmware loading and execution across multiple dies. While the master die loads its firmware, slave dies simultaneously load and execute theirs, eliminating idle waiting time and maintaining continuous productive activity throughout the booting process.
3Device complexity
If slave dies wait for master die to complete firmware execution before initializing links, then system initialization is simplified, but the booting time is extended
Solution Approach 1:
The patent introduces dynamics by allowing the initialization sequence to adapt based on firmware execution status. Slave dies can initiate link initialization as soon as their firmware is ready, rather than waiting for a fixed master die completion point. This dynamic approach balances initialization simplicity with time efficiency.
Solution Approach 2:
Slave dies perform preliminary firmware execution and link initialization preparation before the master die completes its full firmware loading. This preliminary action allows the system to start the link initialization process earlier, reducing total booting time while maintaining controlled initialization through the master die's eventual coordination.
Data Source
AI summary
A multi-die and multi-core computing platform in which multiple dies share the same storage device for firmware code storage is shown. After a slave die loads #1 firmware code from the storage device through a bus, the right to use the bus is released by the slave die and the slave die outputs a #0 enable signal to a master die. According to the #0 enable signal, the master die gains the right to use the bus. Through the bus, the master die loads #0 firmware code from the storage device. The slave die executes the #1 firmware code and the master die executes the #0 firmware code to initialize a link between the master and slave dies.


