Parallel Firmware Boot for Multi-Chip Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-chip system boot processes are serialized and slow due to the inability to utilize parallelism immediately after power-on, as hardware elements like memory and inter-processor buses are not initialized, requiring a single processor to perform initialization, which does not scale with increasing processor chips.

Innovation Solution

A parallel firmware boot process is implemented where each processor chip initializes independently with its own address space, and a master processor is selected to configure and control other chips, allowing for a unified configuration and coherent resource access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single processor performs initialization in a multi-chip system, then the boot process can be completed with simple hardware configuration, but the boot process becomes serialized and slow

Engineering Contradiction:
Improvehardware configuration complexityVSAvoidboot speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The boot process is segmented into two distinct phases: an isolated boot phase where each processor initializes independently as if it were alone, and a unified configuration phase where processors are coordinated. This segmentation allows parallel execution during the isolated phase, dramatically improving boot speed while maintaining manageable complexity through the structured transition to unified configuration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processor performs preliminary initialization actions in the isolated boot phase before the system requires coordinated operation. By completing individual initialization tasks beforehand, processors can then transition to the unified phase with minimal additional configuration, effectively preparing the system for parallel operation in advance.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If each processor is customized for multi-chip operation, then parallel boot is enabled, but firmware complexity and maintenance difficulty increase

Engineering Contradiction:
Improveparallel boot capabilityVSAvoidfirmware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A single universal firmware image is designed to function in multiple modes: it can boot each processor independently in the isolated phase and then adapt to coordinated operation in the unified phase. This universal firmware eliminates the need for multiple customized firmware versions, reducing complexity while maintaining parallel boot capability through mode switching rather than code duplication.

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

Solution Approach 2:

The firmware operates dynamically, transitioning processors from an isolated boot mode to a unified configuration mode. This dynamic adaptation allows the same firmware code to serve different operational requirements without requiring static customization for each processor configuration, thereby reducing firmware complexity while enabling parallel operation.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If address relocation is performed during runtime to support multi-chip configuration, then a single firmware image can be used, but the boot process slows down

Engineering Contradiction:
Improvefirmware image compatibilityVSAvoidboot time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Address configuration is performed preliminarily during the isolated boot phase before the system transitions to unified operation. By establishing address mappings in advance during the parallel initialization phase, the system avoids time-consuming address relocation during runtime, thus maintaining fast boot performance while supporting multi-chip configurations.

Inventive Principle:
Principle #10Preliminary action

4Stability of the object's composition

If synchronization points are added between parallel boot phases, then system coherence is maintained, but boot process speed decreases

Engineering Contradiction:
Improvesystem coherenceVSAvoidboot speed
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

A dedicated unified configuration phase acts as an intermediary between the parallel isolated boot phase and the coordinated multi-chip operation phase. This intermediary phase establishes system-wide coherence through centralized configuration without requiring frequent synchronization points during the critical parallel boot phase, thus maintaining both system coherence and boot speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9229730B2Multi-chip initialization using a parallel firmware boot process
Publication Date: 2016.01.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9229730B2 patent drawing
  • US9229730B2 patent drawing
  • US9229730B2 patent drawing

AI summary

Mechanisms, in a multi-chip data processing system, for performing a boot process for booting each of a plurality of processor chips of the multi-chip data processing system are provided. With these mechanisms, a multi-chip agnostic isolated boot phase operation is performed, in parallel, to perform an initial boot of each of the plurality of processor chips as if each of the processor chips were an only processor chip in the multi-chip data processing system. A multi-chip aware isolated boot phase operation of each of the processor chips is performed in parallel, where each of the processor chips has its own separately configured address space. In addition, a unified configuration phase operation is performed to select a master processor chip from the plurality of processor chips and configure other processor chips in the plurality of processor chips to operate as slave processor chips that are controlled by the master processor chip.