Memory Controller Block Classification for Error Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As data processing quantities increase, contemporary memory devices face challenges in achieving reliable and fast data read operations, with existing technologies struggling to effectively detect and correct errors in data retrieval.
Innovation Solution
Implementing a method that uses different read schemes for memory blocks, where a first read scheme detects and corrects errors, and upon uncorrected errors, designates the block as a temporary bad block, and a second read scheme further attempts to correct data, improving data read reliability and speed by managing block designation levels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single read scheme is used for all memory blocks, then device complexity is reduced, but error detection and correction capability deteriorates
Solution Approach 1:
The patent applies local quality by differentiating memory blocks into multiple categories (good blocks, temporary bad blocks, bad blocks) and applying different read schemes to each category. Good blocks use a first read scheme with basic error correction, temporary bad blocks use a second read scheme with enhanced error correction, and bad blocks are skipped. This localized differentiation optimizes error detection and correction capability for each block type without requiring complex read schemes for all blocks uniformly.
2Reliability
If multiple read schemes are applied to different blocks, then error correction capability improves, but device complexity increases
Solution Approach 1:
The patent segments the memory device into distinct block categories: good blocks, temporary bad blocks, and bad blocks. Each segment is managed with appropriate read schemes - good blocks use standard reading, temporary bad blocks undergo re-reading with error correction, and bad blocks are excluded from operation. This segmentation simplifies the overall management by creating clear, actionable categories rather than requiring complex continuous adjustment.
Solution Approach 2:
The patent introduces dynamic block designation where blocks can transition between states. A block designated as temporary bad can be re-evaluated and potentially returned to good status through successful re-reading operations. This dynamic state management improves reliability by adapting to changing block conditions while avoiding permanent classification of blocks that can be recovered.
3Reliability
If all blocks are read using the first read scheme, then reading speed is maintained, but error correction reliability deteriorates
Solution Approach 1:
The patent applies partial action by selectively applying enhanced error correction only to temporary bad blocks rather than all blocks. Good blocks are read using the faster first read scheme without unnecessary error correction overhead, while only blocks that fail initial reading undergo the more time-consuming second read scheme with enhanced correction. This partial application maintains overall reading speed while ensuring error correction reliability where needed.
4Reliability
If blocks with uncorrected errors are repeatedly read, then error correction improves, but time consumption increases
Solution Approach 1:
The patent performs preliminary action by first attempting to read blocks using the first read scheme and only then initiating the second read scheme with enhanced error correction for blocks that fail. This preliminary screening prevents unnecessary time-consuming error correction operations on blocks that can be read successfully on the first attempt, thereby reducing overall time loss while maintaining effective error correction for problematic blocks.
Data Source
AI summary
A method of reading data in a memory system including a non-volatile memory device, includes reading first data stored in a first block using a first read scheme capable of detecting/correcting an error in the first data, and upon determining an uncorrected error in the first data, setting the first block as a first temporary bad block and reading second data stored in the first temporary bad block using a second read scheme different from the first read scheme.


