Memory Data Folding Non-Blocking Error Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
During data folding in memory systems, program failures lead to excess delay and increased write amplification, reducing host performance and device life due to the need for physical block replacement and garbage collection, which disrupts the folding operation.
Innovation Solution
A non-blocking exception handling process marks pages with uncorrectable data errors instead of marking the entire block for garbage collection, allowing the folding operation to continue without replacing failed blocks until completion, reducing latency and write amplification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If physical block replacement and garbage collection are performed upon program failure during folding, then data integrity is maintained, but folding latency increases and device life is reduced
Solution Approach 1:
The patent segments the error handling approach by distinguishing between page-level failures and block-level failures. Instead of treating the entire block as failed, only the specific pages containing uncorrectable errors are marked as bad pages, while the rest of the block remains usable for continued folding operations.
Solution Approach 2:
The patent performs preliminary error detection and marking during the folding operation itself. By identifying and marking bad pages in real-time during folding, the system prepares the data structure for future recovery without interrupting the current folding process, enabling non-blocking error handling.
2Reliability
If physical block replacement is performed upon program failure, then reliable data storage is ensured, but write amplification increases
Solution Approach 1:
The patent applies segmentation by isolating only the affected pages rather than the entire block. This allows the system to maintain data reliability for the failed pages through targeted replacement while preserving the usability of successful pages, thereby reducing unnecessary data rewriting and write amplification.
Solution Approach 2:
The patent recovers usable data by identifying and preserving successfully folded pages while discarding only the bad pages. This selective approach allows the system to recover and reuse the majority of the block's capacity, minimizing write amplification compared to replacing entire blocks.
3Reliability
If entire blocks are marked for garbage collection upon program failure, then data consistency is maintained, but folding operation is disrupted
Solution Approach 1:
The patent segments the block into good pages and bad pages, allowing the folding operation to continue with good pages while only interrupting for the minimal necessary time to handle bad pages. This segmentation maintains data consistency without requiring complete block-level garbage collection interruptions.
Solution Approach 2:
The patent enables continuity of the folding operation by allowing it to proceed with pages that successfully folded, while handling failed pages in the background. This non-blocking approach maintains productive folding throughput while still ensuring data consistency through proper error marking and eventual recovery.
Data Source
AI summary
Methods, systems, and devices for programming failure handling during data folding are described. A memory system may support a non-blocking exception handling process for handling program failures that occur during folding. For example, if a program failure occurs at a given page, the memory system may mark the failed page as storing uncorrectable data (e.g., associated with an uncorrectable error correction code (UECC) error) rather than as being associated with the program failure. Based on the marking, the memory system may continue the folding operation, allowing the data to be moved to another page of a physical destination block. After the folding operation is complete, the memory system may replace a failed physical destination block that includes the failed page with a spare block and retire the failed physical destination block.


