Sub Block Read Scrub for Non-Volatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional read scrub algorithms are inadequate for non-volatile memory devices with physical blocks logically partitioned into sub-blocks, as they fail to address the cumulative read disturb effects across sub-blocks, leading to data corruption and integrity issues.
Innovation Solution
A read scrub algorithm that utilizes a discrete read table or periodic scan to detect and mitigate read disturb effects by analyzing target and sister sub-blocks, determining whether to add them to a read scrub queue based on scrub thresholds and performing targeted scans to ensure data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional read scrub algorithms are used on physically partitioned blocks, then implementation simplicity is maintained, but data integrity deteriorates due to cumulative read disturb effects across sub-blocks
Solution Approach 1:
The patent divides a physical block into multiple sub-blocks and implements separate read scrub operations for each sub-block. This segmentation allows the system to track and mitigate read disturb effects within each sub-block independently, preventing cumulative damage across the entire block while maintaining manageable algorithm complexity through modular processing.
Solution Approach 2:
The patent performs preliminary analysis of read patterns and identifies sub-blocks that are likely to experience read disturb effects before actual data corruption occurs. By proactively adding these sub-blocks to the read scrub queue based on predicted stress accumulation, the system prevents data integrity issues rather than reacting to them after corruption occurs.
2Reliability
If read scrub operations are performed on all sub-blocks, then data integrity is improved, but processing time increases
Solution Approach 1:
The patent applies read scrub operations selectively to specific sub-blocks based on their individual read patterns and stress levels rather than uniformly processing all sub-blocks. This localized approach concentrates computational resources on sub-blocks that actually need scrubbing, maintaining high data integrity for at-risk sub-blocks while minimizing unnecessary processing time for sub-blocks with low read disturb risk.
Solution Approach 2:
The patent performs read scrub operations on a subset of sub-blocks that are identified as needing attention based on read pattern analysis, rather than exhaustively processing every sub-block. This partial action approach achieves sufficient data protection for the most vulnerable sub-blocks while accepting that some lower-risk sub-blocks may not receive scrubbing, thereby reducing overall processing time while maintaining acceptable data integrity levels.
3Productivity
If sub-blocks are added to read scrub queue based on target sub-block test only, then processing efficiency is improved, but data integrity deteriorates due to missed sister sub-block errors
Solution Approach 1:
The patent combines the target sub-block test (which evaluates the sub-block that underwent read operations) with the sister sub-block test (which evaluates adjacent sub-blocks that may have experienced collateral read disturb effects). This merged approach ensures that both directly affected and indirectly affected sub-blocks are identified and added to the read scrub queue, comprehensively capturing data integrity risks while maintaining processing efficiency through coordinated evaluation.
Data Source
AI summary
The disclosure relates in some aspects to a read scrub design for a non-volatile memory that includes a block comprising N wordlines partitioned into a first sub-block comprising a first subset of the N wordlines and a second sub-block comprising a second subset of the N wordlines different than the first subset. In some aspects, the disclosure relates to detecting a trigger event associated with a read command performed on the first sub-block. A target sub-block test is then performed in response to a detection of the trigger event to determine whether to add the first sub-block to a read scrub queue. If the first sub-block is added to the read scrub queue, a sister sub-block test is then performed to determine whether to add the second sub-block to the read scrub queue.


