Flash Memory Targeted Read Scrub Algorithm
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory systems face data corruption due to read disturb effects, where memory cells adjacent to those being read can be unintentionally stressed, leading to bit errors, and existing read scrub processes often result in unnecessary data copying that affects performance and lifespan.
Innovation Solution
A targeted read scrub algorithm that identifies and scans only the most susceptible word line for errors, placing blocks with error thresholds in a refresh queue for later correction during background processes, without relying on counters for frequency determination.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If automatic read scrub is performed at regular intervals using counters, then data integrity is improved, but processing overhead and storage resource consumption increase
Solution Approach 1:
The patent applies preliminary action by proactively identifying word lines susceptible to read disturb effects before errors occur. The controller determines which word lines are most vulnerable based on their physical characteristics and read patterns, then performs targeted scans on these specific word lines rather than waiting for errors to accumulate and triggering a full block scan.
Solution Approach 2:
The patent implements local quality by differentiating treatment across different word lines within the same block. Instead of uniformly scanning all word lines or using a single counter for the entire block, the controller applies localized error scanning only to specific word lines that exhibit higher susceptibility to read disturb effects, based on their individual characteristics and access patterns.
2Reliability
If frequent read scrub operations are performed, then data integrity is improved, but performance and lifespan of the flash memory device deteriorate
Solution Approach 1:
The patent applies local quality by performing error scans only on specific word lines that are most susceptible to read disturb effects, rather than scanning entire blocks uniformly. This localized approach significantly reduces the number of scan operations required while maintaining effective error detection and correction.
Solution Approach 2:
The patent implements partial action by performing error scans on only a subset of word lines within a block - specifically those identified as most vulnerable to read disturb effects. This partial scanning approach is sufficient to maintain data integrity while avoiding the performance penalty of scanning all word lines in every block.
3Quantity of substance
If MLC flash memory is used to increase capacity, then storage density is improved, but susceptibility to read disturb effects and data corruption increases
Solution Approach 1:
The patent applies local quality by identifying and treating specific word lines within MLC flash memory that are most susceptible to read disturb effects. Rather than applying uniform error correction across all word lines, the controller targets vulnerable regions based on their specific characteristics, effectively managing the increased susceptibility inherent in high-density MLC storage.
Solution Approach 2:
The patent implements feedback by continuously monitoring error patterns in MLC flash memory and using this information to dynamically adjust which word lines require error scanning. The controller learns from past error occurrences and read patterns to identify vulnerable word lines, creating a feedback loop that optimizes error detection resources based on actual device behavior.
Data Source
AI summary
A method and system have been described for counteracting and correcting for read disturb effects in blocks of flash memory. The method may include the step of a controller of the memory system performing a read scrub scan on only a portion of one targeted word line in a block at desired intervals. The controller may calculate whether a read scrub scan is necessary based on a probabilistic determination that is calculated in response to each received host read command. The controller may then place a block associated with the targeted word line into a refresh queue if a number of errors are detected in the targeted word line that meets or exceeds a predetermined threshold. The block refresh process may include copying the data from the block into a new block during a background operation.


