NAND Flash Error Recovery With Concatenated Block and Stream Codes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
NAND flash memory systems face challenges in error correction beyond the limits of conventional error correction codes, leading to uncorrectable errors and potential data loss, especially with newer memory technologies that have higher density but lower reliability.
Innovation Solution
The implementation of a concatenated error correction code system that combines an outer block code with a stream-based inner convolutional code, which processes data in streams and increases the data size, allowing for improved error detection and correction capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional error correction codes are used in NAND flash memory, then the system maintains simplicity and compatibility, but error correction capability is insufficient for higher density memory devices
Solution Approach 1:
The error correction code is segmented into an outer block code and an inner convolutional code, where the outer code handles block-level error correction and the inner code handles stream-level error correction. This segmentation allows each code to specialize in different error patterns, improving overall reliability without requiring a single complex code to handle all error types.
Solution Approach 2:
The patent uses a composite error correction approach by combining two different error correction codes (block code and convolutional code) into a concatenated code system. This composite structure leverages the strengths of both code types: the block code's ability to correct random errors and the convolutional code's ability to handle burst errors, achieving superior error correction capability compared to either code alone.
2Productivity
If data is stored in larger groups (pages) to achieve high density, then storage efficiency improves, but the likelihood of uncorrectable errors increases
Solution Approach 1:
The patent introduces a temporal dimension to error correction by using a stream-based convolutional code that processes data continuously across page boundaries. Unlike traditional block codes that treat each page independently, the convolutional code maintains state information across pages, enabling error correction that spans multiple pages and reducing the impact of burst errors within any single page.
3Productivity
If smaller geometry memory devices are used to maintain high density, then cost is reduced, but reliability and error correction capability deteriorate
Solution Approach 1:
The patent applies preliminary error correction by the outer block code before the data is potentially corrupted by storage errors, and then applies additional correction by the inner convolutional code during retrieval. This two-stage preliminary and ongoing correction approach ensures that errors are addressed at multiple stages, compensating for the lower inherent reliability of smaller geometry devices.
Data Source
AI summary
Apparatus and methods store stream-based error recovery data for a memory array, such as a NAND flash array. Conventionally, data is block coded per industry specification and stored in the memory array. Within the limits of the block code, this technique provides for correction of errors. By applying a stream-based inner code, that is, concatenating the outer block code with an outer code, the error correction can be further enhanced, enhancing the reliability of the device. This can also permit a relatively small-geometry device to be used in a legacy application.


