Flash Memory Disturb Error Logging and Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
NAND flash memory devices suffer from limited endurance and disturb errors, which cause bits in surrounding pages to be altered, leading to unreliable data storage due to the inability to erase individual pages and the inefficiency of existing error correction codes in addressing these errors.
Innovation Solution
A method and system that involve reading a previously programmed page, comparing its contents to an expected value, logging errors, and using this error data to correct disturbances during subsequent read operations, thereby ensuring accurate data retrieval and storage by employing techniques like stuck bit encoding and error logging in a cache or flash translation layer table.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correction codes are used to protect data stored in NAND flash devices, then data reliability is improved, but the codes may not be able to correct disturb errors properly and efficiently
Solution Approach 1:
The patent performs preliminary detection of disturb errors by reading previously programmed pages and comparing their contents to expected values before data retrieval operations. Error locations are identified and logged in advance, allowing for targeted correction during subsequent read operations rather than relying solely on generic error correction codes
Solution Approach 2:
The patent introduces an error log as an intermediary data structure that stores detected error information separately from the main data storage. This error log acts as a mediator between the disturb error detection mechanism and the error correction process, enabling efficient lookup and correction of specific error locations without processing entire pages
2Device complexity
If individual pages cannot be erased, then block erase capability is maintained, but disturb errors in blank pages cause faulty values in subsequently written data
Solution Approach 1:
The patent performs preliminary detection of disturb errors in blank pages by reading the page contents and comparing them to expected values (all ones for erased pages) before writing new data. This preliminary detection allows the system to identify and log error locations in advance, preventing faulty values from being written
Solution Approach 2:
The patent implements a feedback mechanism where detected disturb errors are logged and used to inform subsequent write operations. The error log provides feedback about which pages or locations have disturb errors, allowing the system to apply targeted corrections or adjustments when writing data to those locations
3Adaptability or versatility
If pages are marked as invalid and mapped to different physical pages, then logical address refresh is accomplished, but disturb errors may still affect the mapped pages
Solution Approach 1:
The patent introduces an error log as an intermediary layer between the address mapping mechanism and the physical page data. Even when pages are mapped to different physical locations, the error log maintains records of disturb errors that can affect any mapped page, providing continuous error protection regardless of the physical location
Data Source
AI summary
Program disturb error logging and correction for a flash memory including a computer implemented method for storing data. The method includes receiving a write request that includes data and a write address of a target page in a memory. A previously programmed page at a specified offset from the target page is read from the memory. Contents of the previously programmed page are compared to an expected value of the previously programmed page. Error data is stored in an error log in response to contents of the previously programmed page being different than the expected value of the previously programmed page, the error data describing an error in the previously programmed page and the error data used by a next read operation to the previously programmed page to correct the error in the previously programmed page. The received data is written to the target page in the memory.


