Flash Memory Reprogramming for Failed Page Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory devices, particularly NAND and NOR flash devices, face programming failures due to malfunctioning memory cells and manufacturing defects, which require effective reprogramming methods to restore data integrity.
Innovation Solution
A method and apparatus for reprogramming data in flash memory systems, where a processing unit identifies failed pages and transfers data from a lower page to an upper page by obtaining host page numbers and directing the access interface to program data from a first block to a second block, ensuring consecutive pages are associated with correct host page numbers and using dummy values to facilitate successful reprogramming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is programmed into flash memory blocks, then data storage is achieved, but programming failures occur due to malfunctioning memory cells and manufacturing defects
Solution Approach 1:
The patent performs preliminary actions by detecting programming failures immediately after attempting to program data into flash memory blocks. When a failure is detected, the system proactively initiates reprogramming procedures before the data becomes permanently lost or corrupted, thereby maintaining high reliability despite the presence of defective memory cells
Solution Approach 2:
The patent introduces an intermediary reprogramming mechanism that acts as a mediator between the initial programming attempt and final data storage. When programming failures occur due to manufacturing defects or cell malfunctions, this intermediary process detects the failure and redirects data to alternative blocks for reprogramming, effectively bypassing defective areas and ensuring data integrity
2Reliability
If reprogramming is performed to fix failed pages, then data integrity is maintained, but additional programming operations increase processing time
Solution Approach 1:
The patent implements a self-service reprogramming mechanism where the flash memory system automatically detects programming failures and performs corrective reprogramming operations without external intervention. The system monitors its own programming operations, identifies failed pages, and autonomously initiates reprogramming sequences, thereby maintaining data integrity while minimizing the need for external retry operations that would increase overall processing time
Solution Approach 2:
The patent employs feedback mechanisms by continuously monitoring programming operation results and using this information to trigger appropriate corrective actions. When programming failures are detected, the feedback loop activates reprogramming sequences for affected pages, ensuring data integrity is maintained while the feedback-driven approach prevents unnecessary reprogramming of successfully written data, thus optimizing processing time
3Reliability
If entire blocks are erased and reprogrammed, then data integrity is restored, but productivity decreases due to loss of existing data in the block
Solution Approach 1:
The patent applies segmentation by dividing the flash memory into smaller programmable units (pages) within blocks, rather than treating entire blocks as atomic units. When programming failures occur, only the specific failed pages are identified and reprogrammed individually or in small groups, while the remaining valid pages in the same block are preserved. This segmented approach maintains data integrity for affected pages while retaining productivity by avoiding erasure and reprogramming of entire blocks
Solution Approach 2:
The patent implements local quality by applying different treatment to different regions within a flash memory block based on their programming status. Successful pages maintain their original state, while only failed pages undergo reprogramming. This localized approach ensures data integrity is restored precisely where needed without unnecessarily affecting other data in the block, thereby maintaining high productivity and data retention efficiency
Data Source
AI summary
A method for reprogramming data, performed by a processing unit, is disclosed to include at least the following steps. When a page data has failed to be programmed into a first block of a storage unit and the failed page is an upper page of the first block, a host page number associated with a first lower page of memory cells of the first block of a wordline is obtained, where the memory cells comprises the failed page. When the failed page is an upper page, data from the first lower page to the upper page of the first block is programmed into a second block of the storage unit.


