Boot Loader Read Error Recovery in NAND Flash Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
NAND flash memory devices often experience read inability errors, such as bad block, data retention, and read disturb errors, which can render devices inoperable when the boot loader block is corrupted, as existing solutions like memory refresh operations are ineffective for permanent errors.
Innovation Solution
A system and method that includes a non-volatile solid-state memory device with a boot loader stored at a predetermined block, a main controller, and a monitoring module to detect read disability errors, allowing the retrieval of a backup boot loader from a separate block when the primary block is corrupted, ensuring the device can boot even if the primary block is in a read inability state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a boot loader is stored in a predetermined block of NAND flash memory, then the device can execute the boot sequence upon powering up, but read inability errors (bad block, data retention, read disturb) can render the device inoperable when the boot loader block is corrupted
Solution Approach 1:
The patent applies preliminary action by pre-storing a backup boot loader in a different block of NAND flash memory before the primary boot loader block becomes corrupted. The monitoring module continuously checks the integrity of the primary boot loader block, and when corruption is detected, the system immediately switches to the pre-prepared backup boot loader, preventing device inoperability without requiring external intervention.
Solution Approach 2:
The monitoring module acts as an intermediary between the primary boot loader block and the execution system. It monitors the health status of the primary boot loader block and intermediates the switch to the backup boot loader when read inability errors are detected, thereby protecting the system from direct failure caused by block corruption.
2Reliability
If memory refresh operations are performed to correct read inability errors, then temporary errors may be recovered, but permanent errors (bad block) cannot be cured and the device becomes inoperable
Solution Approach 1:
The patent segments the boot loader functionality into two independent parts: the primary boot loader stored in a predetermined block and a backup boot loader stored in a different block. This segmentation allows the system to isolate permanent errors in one block while maintaining functionality through the other block, thereby handling both temporary and permanent errors effectively.
Solution Approach 2:
The system changes the operational parameter from attempting to repair corrupted blocks to switching between different block locations. When read inability errors are detected in the primary boot loader block, the system changes the block address parameter to access the backup boot loader, thereby adapting to permanent errors that cannot be corrected by refresh operations.
3Ease of operation
If the processor automatically retrieves the boot loader from a predetermined address, then the boot sequence can be initiated, but read inability errors in that block prevent accurate execution of the loading sequence
Solution Approach 1:
The monitoring module implements feedback by continuously checking the integrity of the boot loader block during the automatic boot sequence execution. When read inability errors are detected, the feedback mechanism triggers a switch to the backup boot loader, ensuring that the boot sequence continues accurately even when the primary block fails, thus maintaining both ease of operation and reliability.
Data Source
AI summary
A system and method for correcting a boot error is disclosed. The system comprises a solid-state nonvolatile memory device, the solid-state nonvolatile memory device storing a boot loader at a predetermined block having a first address on the solid-state nonvolatile memory device. The system further comprises a main controller that retrieves the boot loader from the predetermined block upon powering up. The system also includes a monitoring module configured to monitor an initial boot sequence of the main controller and to determine when the predetermined block has a read inability error. The main controller obtains a backup boot loader from a backup block when the monitoring module determines that the predetermined block is corrupted.


