SoC Booting with Dual Firmware Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

During the booting process of a system-on-chip (SoC), if the firmware image stored in the read-only memory (ROM) is damaged or incomplete, the SoC cannot properly boot up, leading to operational failures.

Innovation Solution

The SoC is designed to read and verify two firmware images, one stored in ROM and another in external memory, allowing it to execute a backup or alternative firmware image if the primary one is damaged, ensuring a legal and complete firmware image is used for booting, even if the ROM image is faulty.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the SoC reads firmware image from ROM during booting, then the booting process can start, but if the firmware image is damaged the SoC cannot boot up properly

Engineering Contradiction:
Improvebooting reliabilityVSAvoidfirmware storage structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-storing multiple firmware images (first firmware image in ROM, second firmware image in external memory) before the booting process. When the system boots, it first attempts to use the ROM firmware image, and only if that fails does it proceed to the backup firmware image in external memory. This advance preparation ensures reliable booting without adding complex runtime decision-making structures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements beforehand cushioning by creating a backup firmware image stored in external memory that serves as a safety net. If the primary firmware image in ROM is damaged or corrupted, the system can fall back to the backup firmware image, preventing complete system failure. This cushioning mechanism protects against firmware corruption without requiring complex error handling during normal operation.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Adaptability or versatility

If the SoC uses a single firmware image from ROM, then the device complexity is low, but the flexibility in using firmware during boot up is limited

Engineering Contradiction:
Improvefirmware selection flexibilityVSAvoidfirmware storage and verification system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system performs preliminary verification of the firmware image's legal status and integrity before execution. The processor checks whether the first firmware image from ROM is legal and undamaged, and only if verification fails does it proceed to verify and use the second firmware image from external memory. This preliminary verification approach enables flexible firmware selection while maintaining a relatively simple operational structure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary verification process that acts as a mediator between the firmware storage media and the execution process. The processor verifies the legality and integrity of firmware images before execution, and can selectively switch between ROM and external memory firmware sources based on verification results. This intermediary verification layer provides adaptability without requiring complex firmware management structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9256744B2System-on-chip and booting method thereof
Publication Date: 2016.02.09 ASMEDIA TECHNOLOGY INC
  • US9256744B2 patent drawing
  • US9256744B2 patent drawing
  • US9256744B2 patent drawing

AI summary

A system-on-chip (SoC) and a booting method thereof are disclosed. The SoC is coupled to an external memory and includes a read only memory (ROM) and a processor. The ROM stores a first firmware image. The processor is coupled to the ROM. The processor reads the first firmware image from the ROM and verifies the state of the first firmware image. If the first firmware image is damaged, the processor reads a second firmware image from the external memory and verifies whether the second firmware image is legal. If the verification of the second firmware image succeeds, the processor reads and executes the second firmware image to perform a booting process.