Non-Volatile Memory Read Status Detection Using Fixed Sequence Markers

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata integrityVSAvoiddata status determination accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveread operation signalingVSAvoidread status accuracy
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #32Color changes

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

Engineering Contradiction:
Improvedata validation accuracyVSAvoiddata status information
Core Design Contradiction:
Measurement precisionVSLoss of information

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8281065B2Systems and methods for determining the status of memory locations in a non-volatile memory
Publication Date: 2012.10.02 APPLE INC
  • US8281065B2 patent drawing
  • US8281065B2 patent drawing
  • US8281065B2 patent drawing

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.