Boot Engine Shadowing Non-XIP Memory for Error-Free Boot

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Booting from non-XIP memory, such as NAND flash, is complex and time-consuming due to the need for error correction and detection, and existing hardware-based methods require intricate ECC hardware, while software methods are slower but simpler.

Innovation Solution

A booting system that uses a boot engine with only error detection (EDC) capabilities, shadowing boot loader and OS images from non-XIP memory to XIP memory, with duplicate images stored across different blocks to reduce error likelihood, and optionally dividing OS images into parts for faster error detection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If hardware-based boot engine method is used, then booting time is reduced, but device complexity increases due to complicated ECC hardware

Engineering Contradiction:
Improvebooting timeVSAvoidhardware complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts the ECC (error correction capability) hardware component from the boot engine, retaining only the EDC (error detection capability). This separation eliminates the complex ECC hardware while maintaining the essential error detection function during booting, thus reducing device complexity without significantly impacting booting time performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent employs a simplified boot engine with EDC capability instead of full ECC capability. The reduced functionality is acceptable for the temporary booting phase, as the system can handle errors during normal operation through software mechanisms. This approach uses a cheaper, simpler hardware component for a limited-purpose operation.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Device complexity

If software-based boot method is used, then device complexity is reduced, but booting time increases

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

Solution Approach 1:

The patent applies partial action by implementing only the essential EDC (error detection) functionality in hardware rather than full ECC (error correction) functionality. This partial hardware implementation provides sufficient error detection capability for booting while avoiding the complexity of full ECC hardware, striking a balance between speed and simplicity.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If ECC capabilities are included in boot engine, then error correction is improved, but device complexity increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the ECC (error correction) capability from the boot engine, retaining only the essential EDC (error detection) functionality. This extraction maintains sufficient reliability for booting operations while significantly reducing hardware complexity, as error correction is not required during the temporary booting phase.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a simplified EDC-based boot engine instead of a full ECC-based system. The reduced functionality is acceptable for the temporary booting phase, as the system can handle errors during normal operation through software mechanisms. This approach uses a cheaper, simpler hardware component for a limited-purpose operation.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS7555678B2System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
Publication Date: 2009.06.30 MEDIATEK INC
  • US7555678B2 patent drawing
  • US7555678B2 patent drawing
  • US7555678B2 patent drawing

AI summary

A booting system is disclosed for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting. The booting system includes: a non-XIP memory for storing a boot loader code and a plurality of operation system (OS) images, wherein the OS images in the non-XIP memory correspond to a same source image; an XIP memory for storing a shadowed boot loader code and OS images; a Central Processing Unit (CPU) for executing the OS images stored in the XIP memory; a code shadowing module for performing error detection checking on the OS images in the non-XIP memory and shadowing the boot loader code and OS images to the XIP memory; and a non-XIP interface for enabling the boot engine to access the non-XIP memory.