Multi-Die Firmware Booting via Shared Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefirmware code access reliabilityVSAvoidwiring complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvebooting procedure simplicityVSAvoidbooting time
Core Design Contradiction:
Ease of operationVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

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

Engineering Contradiction:
Improveinitialization complexityVSAvoidbooting time
Core Design Contradiction:
Device complexityVSLoss of time

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11216284B2Multi-die and multi-core computing platform and booting method therefor
Publication Date: 2022.01.04 VIA ALLIANCE SEMICON CO LTD
  • US11216284B2 patent drawing
  • US11216284B2 patent drawing
  • US11216284B2 patent drawing

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.