Flash Memory Scrub Read for Partial Block Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In flash memory systems, partial block reads can disturb data in memory cells not directly accessed, leading to data corruption that may exceed the corrective capabilities of error correction codes (ECCs), necessitating frequent scrub reads to maintain data integrity without degrading system performance.
Innovation Solution
Implementing a scrub read process that identifies and refreshes the most vulnerable pages or sectors within a block by analyzing factors such as physical location, read order, and data patterns, limiting the scrub read to a small portion of the block to minimize overhead and perform refresh operations in the background.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If frequent scrub reads are performed to correct data corruption from partial block reads, then data integrity is improved, but system performance deteriorates
Solution Approach 1:
The patent applies local quality by performing scrub reads selectively on only those pages within a block that are most vulnerable to data corruption, rather than uniformly scrubbing all pages. Pages are identified as vulnerable based on their physical location (e.g., pages adjacent to partially read pages) and data patterns (e.g., pages with data similar to corrupted pages). This targeted approach maintains data integrity for vulnerable pages while minimizing the performance overhead associated with scrub operations.
2Productivity
If partial block reads are performed to reduce read overhead, then read efficiency is improved, but data corruption risk increases
Solution Approach 1:
The patent applies preliminary anti-action by performing scrub reads on vulnerable pages before they can be corrupted by subsequent partial block reads. The system proactively identifies pages that are likely to be corrupted based on their proximity to partially read pages and their data similarity, and performs corrective scrub reads in advance. This prevents data corruption rather than merely detecting and correcting it after the fact, enabling efficient partial block reads while maintaining data integrity.
Data Source
AI summary
The quality of data stored in individual blocks of memory cells of a flash memory system is monitored by a scrub read of only a small portion of a block, performed after data are read from less than all of a block in response to a read command from a host or memory controller. The small portion is selected for the scrub read because of its greater vulnerability than other portions of the block to being disturbed as a result of the commanded partial block data read. This then determines, as the result of reading a small amount of data, whether at least some of the data in the block was disturbed by the command data read to a degree that makes it desirable to refresh the data of the block.


