Non-Volatile Memory Read Status Detection Using Fixed Sequence Markers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing non-volatile memory systems face challenges in accurately determining the status of memory locations, leading to misinterpretation of data integrity and failure to distinguish between correct and disturbed data, especially due to phenomena like program disturb which can cause memory locations to change state.
Innovation Solution
Incorporating a fixed predetermined sequence in the metadata field of data vectors stored in non-volatile memory, ensuring that even all-zero vectors are not misinterpreted as valid data, by introducing a non-zero value that differentiates them from no-access vectors and valid codewords, thus preventing misinterpretation of read operations and ensuring accurate data status determination.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correction codes are used to detect and correct data errors in non-volatile memory, then data integrity is improved, but the ability to distinguish disturbed data from correct data deteriorates due to program disturb phenomena
Solution Approach 1:
The data vector is segmented into multiple portions, with at least one portion dedicated to storing a fixed predetermined sequence. This segmentation allows the system to maintain error correction capabilities while introducing a unique identifier that distinguishes disturbed data from correct data, resolving the contradiction between reliability and measurement precision.
Solution Approach 2:
A fixed predetermined sequence serves as an intermediary element within the data vector. This sequence acts as a marker that enables the memory system to identify disturbed pages without compromising the error correction functionality, thereby maintaining both data integrity and accurate status determination.
2Ease of operation
If all-zero vectors are used to indicate no-access or failed read operations, then the signaling is simplified, but misinterpretation occurs when valid data contains all zeros
Solution Approach 1:
Instead of using all-zero vectors globally to indicate no-access operations, the invention introduces a fixed predetermined sequence with specific non-zero characteristics in at least one portion of the data vector. This local quality change ensures that valid all-zero data can be distinguished from no-access indicators, maintaining both ease of operation and reliability.
Solution Approach 2:
The fixed predetermined sequence acts as a distinctive marker or 'color' that changes the appearance of valid data vectors. By ensuring that valid data vectors contain this specific non-zero sequence, the system can reliably distinguish them from no-access vectors without complicating the signaling mechanism.
3Measurement precision
If the metadata field is used to store error correcting code data and logical addresses, then data validation and addressing are improved, but the field may contain all zeros leading to misinterpretation
Solution Approach 1:
The fixed predetermined sequence is preliminarily embedded in the metadata field during the data vector creation process, before the data is written to memory. This preliminary action ensures that the metadata field always contains distinguishing information, preventing loss of data status information while maintaining accurate validation capabilities.
Data Source
AI summary
Systems and methods are provided for storing data in a portion of a non-volatile memory (“NVM”) such that the status of the NVM portion can be determined with high probability on a subsequent read. An NVM interface, which may receive write commands to store user data in the NVM, can store a fixed predetermined sequence (“FPS”) with the user data. The FPS may ensure that a successful read operation on a NVM portion is not misinterpreted as a failed read operation or as an erased NVM portion. For example, if the NVM returns an all-zero vector when a read request fails, the FPS can include at least one “1” or one “0”, as appropriate, to differentiate between successful and unsuccessful read operations. In some embodiments, the FPS may also be used to differentiate between disturbed data, which passes an error correction check, and correct data.


