Memory Controller XOR Recovery for Multi-Codeword Decode Failures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory systems face challenges in achieving high accuracy for error correction during data retrieval from nonvolatile memory, particularly when decoding fails across multiple storage areas.
Innovation Solution
The proposed memory system employs a memory controller that generates and uses XOR data to correct errors by performing exclusive OR operations on successfully and unsuccessfully decoded codewords, thereby improving decoding accuracy through redundant data distribution and intra-area error correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correction coding is applied to protect data in memory system, then data reliability is improved, but decoding complexity increases when multiple storage areas fail
Solution Approach 1:
The patent divides the error correction process into multiple stages: first attempting standard decoding on individual codewords, then using XOR operations on successfully decoded codewords to generate correction data for failed decoding attempts. This segmentation of the decoding process reduces overall complexity by handling different failure scenarios through distinct procedural paths.
Solution Approach 2:
The patent introduces XOR data as an intermediary element that mediates between successfully decoded and unsuccessfully decoded codewords. By generating XOR data from successful decodings and using it to correct failures, the system creates a bridge that simplifies the overall error correction process without requiring complex direct decoding of all failed areas.
2Reliability
If multiple codewords are stored in nonvolatile memory for error correction, then error correction capability is improved, but data retrieval time increases when decoding fails
Solution Approach 1:
The patent performs preliminary XOR operations on successfully decoded codewords to generate correction data before attempting to recover from decoding failures. This preliminary action prepares correction information in advance, reducing the time required for recovery operations when failures occur.
Solution Approach 2:
The patent implements a skip strategy by first attempting standard decoding procedures, and only when those fail does it proceed to the more time-consuming XOR-based recovery process. This skipping of unnecessary steps reduces average retrieval time by quickly handling successful cases while reserving complex recovery methods for actual failures.
3Measurement precision
If XOR data is generated from successfully decoded codewords to correct failures, then decoding accuracy is improved, but processing overhead increases
Solution Approach 1:
The patent applies XOR operations selectively only to the specific bit positions where decoding failures occur, rather than processing entire codewords uniformly. This localized approach improves decoding accuracy at failure points while minimizing unnecessary processing overhead in successfully decoded areas.
Solution Approach 2:
The patent performs partial XOR operations only on the portions of codewords that actually failed decoding, rather than reprocessing entire codewords. This partial action approach achieves the necessary decoding accuracy improvement while avoiding excessive processing overhead on already-successful data segments.
Data Source
AI summary
A memory system includes a nonvolatile memory and a memory controller that encodes first XOR data generated by performing an exclusive OR operation on pieces of user data, wherein a value of each bit of the XOR data is generated by performing an exclusive OR operation on values of bits that are at one of a plurality of bit positions of a piece of user data, generates codewords by encoding the plurality of pieces of user data and the generated XOR data, respectively, and stores the codewords in the nonvolatile memory. The memory controller also performs a read operation by reading the codewords from the nonvolatile memory and decoding them. When the decoding of two or more of the codewords fails, the memory controller generates second XOR data, and corrects the value of one of the bits corresponding to a codeword whose decoding failed, based on the second XOR data.


