Embedded Flash OS Storage With Parity Recovery for Bad Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional embedded systems face challenges in initializing the operation system due to bad blocks in NAND-Flash memory, where only block 0 is guaranteed to be fault-free, leading to time-consuming data re-writing processes when OS information cannot be written correctly.
Innovation Solution
The processor divides operation system data into data block sets, performs a parity check to generate parity data, and stores both operation system and parity data in flash memory, allowing for data restoration in damaged blocks during system initialization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Nboot and OS information are written into Flash using JTAG or external Flash writer before device leaves factory, then data is stored in Flash memory, but writing time is time-consuming and bad blocks may cause writing failures requiring time-consuming re-writing processes
Solution Approach 1:
The patent performs bad block detection and data rewriting operations in advance during the factory initialization process, before the device is shipped. By proactively identifying problematic blocks and pre-rewriting data to alternative locations, the system eliminates the need for time-consuming re-writing operations after deployment, thus resolving the contradiction between writing reliability and time consumption.
Solution Approach 2:
The patent creates backup copies of critical data (Nboot and OS information) in multiple locations within Flash memory during initialization. This preparatory cushioning ensures that if a bad block is detected later, the system can immediately switch to backup copies without requiring time-consuming re-writing operations, thereby improving reliability while minimizing time loss.
2Quantity of substance
If only block 0 is guaranteed to be fault-free while other blocks may contain bad blocks, then Flash memory can store more data, but bad blocks in OS information blocks cause system initialization failures
Solution Approach 1:
The patent divides critical data (Nboot and OS information) into multiple separate blocks within Flash memory, rather than storing them in a single block. This segmentation allows the system to distribute data across multiple locations, so that if one block becomes bad, other blocks remain intact and can still provide the necessary information for system initialization, thus maintaining reliability while utilizing increased storage capacity.
Solution Approach 2:
The patent applies different quality standards to different blocks: block 0 is designated as the guaranteed fault-free boot block, while other blocks are used for OS information with the understanding that they may contain bad blocks. The system implements localized error handling for each block, ensuring that failures in non-critical blocks do not compromise overall system initialization, thereby enabling reliable operation despite varied block qualities.
Data Source
AI summary
An embedded electronic device is provided. The embedded electronic device comprises a flash memory and a processor. The flash memory comprises a plurality of data storage blocks. The processor performs a parity check process to determine parity data of operation system (OS) data, wherein the parity data serves as a backup for the operation system (OS) data. The processor stores the operation system (OS) data and corresponding parity data into the data storage block of the flash memory.


