Phase Change Memory Writes Using Inverted Data for Stuck Cells
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage devices with nonvolatile memory face challenges in reducing error bits beyond their error correction capability, especially when storing data in phase change memory cells that are stuck, leading to reduced service life and inefficient use of memory regions.
Innovation Solution
The method involves inverting original data and performing encoding operations with flags to store inverted data in stuck memory cells, thereby reducing error bits within the error correction capability, allowing for the utilization of previously unusable memory regions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If original data is stored in stuck phase change memory cells, then the memory region can be utilized, but the number of error bits exceeds error correction capability
Solution Approach 1:
The patent inverts the original data before storing it in stuck phase change memory cells. By inverting the data bits (0 becomes 1, 1 becomes 0), the number of errors in stuck cells is reduced to within the error correction capability of the code, enabling successful data recovery while utilizing previously unusable memory regions.
Solution Approach 2:
The patent changes the data representation parameter by inverting the bit values. This parameter transformation converts data that would otherwise be uncorrectable in stuck cells into correctable data, allowing the memory system to overcome the stuck cell condition and maintain reliability.
2Reliability
If inverted data is stored in stuck memory cells, then error bits are reduced within error correction capability, but additional processing steps are required
Solution Approach 1:
The patent performs data inversion as a preliminary action before storing data in the memory. By inverting the data in advance and setting appropriate indication bits, the system prepares the data in a form that can be successfully recovered even from stuck cells, avoiding the need for complex real-time error handling during read operations.
Solution Approach 2:
The patent introduces indication bits as intermediaries that carry information about whether the stored data is inverted. These intermediary elements enable the read operation to correctly interpret the stored data by checking the indication bit and applying the appropriate inversion, thereby managing the additional processing complexity in a systematic way.
3Productivity
If data inversion is performed before storage, then previously unusable memory regions become usable, but encoding and flagging operations are required
Solution Approach 1:
The patent segments the data storage process into distinct components: original data, inverted data, and indication bits. By dividing the data structure into these segments, the system can selectively apply inversion only when needed (for stuck cells) and use the indication bits to manage the different data forms, thereby improving memory utilization without requiring complete reencoding of all data.
Solution Approach 2:
The patent creates a universal data storage scheme that can handle both normal memory cells and stuck phase change memory cells using the same infrastructure. By incorporating data inversion capability and indication bits into the existing error correction framework, the system achieves multi-functionality, allowing it to adapt to different memory cell conditions without requiring separate storage paths.
Data Source
AI summary
A method for operating a data storage device may include receiving first data; generating first flagged data by adding a first flag to the first data; generating first encoded flagged data by performing an encoding operation on the first flagged data; performing a first write operation for storing the first encoded flagged data in a target position of a phase change memory region; determining whether the first write operation succeeds or falls; generating second flagged data by adding a second flag to second data obtained by inverting the first data, when it is determined that the first write operation fails; generating second encoded flagged data by performing an encoding operation on the second flagged data; and performing a second write operation for storing the second encoded flagged data in the target position.


