Nand-Flash Boot Loader Backup Area Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems face startup failures due to bad blocks in Nand-Flash memory, which can occur during the boot loader write process or due to power failures during upgrades, as they cannot read or write to damaged blocks effectively.

Innovation Solution

A method and apparatus that utilize a backup area in the Nand-Flash memory to store a boot loader, allowing the system to switch to the backup area when a bad block is detected, ensuring the boot loader can be read from a valid location, and adjusting the correspondence between primary and backup addresses to redirect data to adjacent blocks if necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the boot loader is stored in the primary area of Nand-Flash, then the system can start up normally under normal conditions, but the system startup fails when a bad block occurs in the primary area

Engineering Contradiction:
Improvesystem startup reliabilityVSAvoidmemory structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The Nand-Flash memory is segmented into a primary area and a backup area. The primary area stores the boot loader for normal operation, while the backup area stores a copy for fault recovery. This segmentation allows the system to maintain startup reliability by switching to the backup area when the primary area contains bad blocks, without significantly increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The backup area is pre-configured with the boot loader before any faults occur. The correspondence relationship between primary and backup addresses is established in advance. When a bad block is detected in the primary area, the system can immediately switch to the pre-prepared backup area without needing to copy or reconstruct the boot loader, thus improving startup reliability while minimizing additional complexity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the system uses a backup area to store the boot loader, then the probability of startup failure is reduced, but the memory space and system complexity increase

Engineering Contradiction:
Improvestartup success rateVSAvoidmemory space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of creating a complete redundant copy of the entire Nand-Flash memory, the patent copies only the critical boot loader portion to a backup area. This selective copying approach ensures startup reliability by having a backup of the essential startup code, while minimizing memory space consumption by not duplicating the entire memory content.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The backup area is allocated specifically for the boot loader rather than creating a full memory mirror. This local quality approach concentrates the redundancy where it is most needed (at the startup phase) without wasting memory resources on redundant storage of non-critical data, thus balancing reliability improvement with memory space efficiency.

Inventive Principle:
Principle #3Local quality

3Reliability

If the system detects and switches to adjacent blocks when a bad block is found, then the boot loader can be read from valid locations, but the address management complexity increases

Engineering Contradiction:
Improveboot loader accessibilityVSAvoidaddress correspondence management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The correspondence relationship between primary and backup addresses is established in advance during system initialization or manufacturing. This pre-established mapping table allows the system to quickly switch to valid backup blocks when bad blocks are detected, ensuring boot loader accessibility without requiring complex real-time address management or search algorithms during startup.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediate address mapping mechanism that sits between the CPU and the physical Nand-Flash blocks. This intermediary layer translates logical addresses to physical addresses, automatically routing read operations to valid blocks (either primary or backup) while hiding the complexity of bad block management from the CPU. This mediator approach ensures boot loader accessibility while managing address correspondence complexity in a centralized, efficient manner.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9934097B2Method and apparatus for startup of a central processing unit and a computer system
Publication Date: 2018.04.03 HUAWEI TECH CO LTD
  • US9934097B2 patent drawing
  • US9934097B2 patent drawing
  • US9934097B2 patent drawing

AI summary

A startup method and apparatus, and a computer system. When a CPU fails to start a system, receiving, by a startup apparatus, a backup area selection instruction, where the backup area selection instruction is used to instruct the startup apparatus to read a boot loader from a backup area of Nand-Flash; receiving a program read instruction sent by the CPU, where the program read instruction includes a primary area address of the boot loader in the Nand-Flash; acquiring a backup address of the boot loader in the Nand-Flash from a correspondence between primary and backup addresses according to the primary area address; reading the boot loader from the backup address; and sending the boot loader to the CPU, such that the CPU starts the system according to the boot loader.