SoC Booting Exception Recovery via Dual Bootset Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems and embedded devices face challenges in detecting exceptions during the booting process and bootloader updates, leading to incomplete debugging information and the need for professional assistance for recovery.

Innovation Solution

A system-on-chip (SoC) with a non-volatile memory storing two bootsets and an exception detector that activates after initialization to detect exceptions and generate a reset signal, allowing a processor to perform a second booting operation using a different bootset, enabling autonomous reboot and exception information provision.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single bootset is used for booting operation, then the device structure is simple, but the device cannot recover from booting exceptions and requires professional intervention

Engineering Contradiction:
Improvebooting exception recovery capabilityVSAvoidbootset storage structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The bootset storage is segmented into multiple regions (first region and second region) with separate bootsets. When an exception occurs during booting from the first bootset, the system can switch to the second bootset in a different region, enabling recovery without professional intervention and improving reliability without excessive complexity.

Inventive Principle:
Principle #1Segmentation

2Difficulty of detecting and measuring

If the exception detector is activated early in the booting process, then exception detection capability is improved, but the device cannot provide debugging information to users

Engineering Contradiction:
Improveexception detection capabilityVSAvoiddebugging information availability
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of information

Solution Approach 1:

The exception detector is activated after the initialization bootloader executes preliminary setup. This timing allows the detector to be ready for exception detection while the system has already gathered necessary debugging information, resolving the contradiction between early detection and information availability.

Inventive Principle:
Principle #10Preliminary action

3Speed

If full power consumption mode is used during booting, then the booting speed is fast, but the device cannot be turned off when exceptions occur

Engineering Contradiction:
Improvebooting speedVSAvoidpower consumption control
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system dynamically adjusts power state based on booting status. During active booting, full power is consumed for fast operation. When exceptions occur or booting completes, the system can transition to low-power states, allowing the device to be turned off properly and providing power consumption control without sacrificing booting speed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11372652B2Application processor, system on chip, and method of booting device
Publication Date: 2022.06.28 SAMSUNG ELECTRONICS CO LTD
  • US11372652B2 patent drawing
  • US11372652B2 patent drawing
  • US11372652B2 patent drawing

AI summary

A system on chip (SOC) is provided. The system on chip includes a non-volatile memory, an exception detector, and a processor. The non-volatile memory stores a first bootset in a first region, the first bootset including a booting operation bootloader for a first booting operation and stores a second bootset in a second region that is different from the first region. The exception detector is activated after execution of an initialization bootloader, detects an exception occurrence in the system on chip, and generates a reset signal in response to the exception occurrence that is detected. The processor performs a second booting operation by using the second bootset in response to the reset signal received from the exception detector during the first booting operation performed by using the first bootset.