Non-Volatile Memory Word Line Programming Order for Error Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing non-volatile storage systems face challenges in error recovery due to data inconsistencies when reading back data from storage devices, as current techniques such as Error Correction Codes (ECC) can be time-consuming and not always successful.
Innovation Solution
The proposed solution involves varying the programming order of word lines in non-volatile storage systems, either by reversing the sequential order or programming different sets of word lines in different orders, to improve error recovery. This includes changing the programming order based on program/erase cycle counts and identifying problem word lines to place them earlier or later in the sequence, which helps in reducing un-recoverable errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Error Correction Codes (ECC) are used to recover data from non-volatile memory, then data reliability is improved, but processing time increases and recovery may still fail
Solution Approach 1:
The system performs preliminary actions by varying the programming order of word lines during data writing. This creates diverse data placement patterns in advance, so that when read errors occur, the probability of error overlap is reduced without needing time-consuming processing during recovery
2Ease of manufacture
If the same programming order is used for all word lines, then programming process is simple, but error recovery capability is reduced
Solution Approach 1:
The system dynamically changes the programming order of word lines based on different conditions (e.g., different blocks, different pages, or error patterns). This dynamic adjustment improves error recovery capability while maintaining reasonable process complexity through systematic order variation rather than random changes
Solution Approach 2:
The system inverts or reverses the programming order for certain word lines or blocks. By programming word lines in reverse order or using different sequences for different sections, the system reduces the likelihood of simultaneous failures and improves error recovery without significantly complicating the overall programming process
Data Source
AI summary
An apparatus includes non-volatile memory and a control circuit configured to program the non-volatile memory. The control circuit is configured to change a programming order. In one aspect, the control circuit changes the order in which word lines are programmed from one point in time to another. In one aspect, the control circuit uses one order for programming one set of word lines and a different order for a different set of word lines. The sets of word lines could be in different sub-blocks, memory blocks, or memory dies. Such programming order differences can improve performance of error recovery.


