Memory Controller Retry Flow Using Syndrome-Weighted Erasure Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face high latency due to exhaustive retry flows when decoding uncorrectable error checking and correction (ECC) errors, particularly in 3D XPoint memories using low-density parity-check (LDPC) encoding, as they indiscriminately attempt to decode erasure codewords without prioritization, leading to decreased quality of service (QoS).
Innovation Solution
A memory controller that computes the syndrome weight of erasure codewords and prioritizes decoding those with smaller syndrome weights, reducing latency by focusing on codewords more likely to be successfully decoded, and incorporates hints from the firmware or operating system regarding potentially faulty memory dies or partitions to optimize the retry flow.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the retry flow sequentially decodes all partition erasure codewords or die erasure codewords exhaustively, then the system ensures complete error correction coverage, but the decoding latency increases significantly
Solution Approach 1:
The patent applies preliminary action by computing syndrome weights for all erasure codewords before the actual decoding process. This allows the system to pre-evaluate the likelihood of successful decoding for each codeword and establish a prioritized decoding sequence in advance, avoiding the need to sequentially attempt decoding of all codewords equally
Solution Approach 2:
The patent changes the parameter used for decoding prioritization from a uniform sequential approach to a syndrome-weight-based approach. By computing and utilizing syndrome weights as a metric, the system transforms the decoding order from arbitrary/sequential to optimized based on error probability, decoding codewords with lower syndrome weights (higher success probability) first
2Ease of operation
If the system decodes erasure codewords without prioritization, then the implementation is simpler, but the quality of service deteriorates due to high latency
Solution Approach 1:
The system performs preliminary computation of syndrome weights before decoding, which adds a small upfront computational step but enables highly optimized decoding ordering. This preliminary action maintains relative implementation simplicity while dramatically improving quality of service by avoiding wasted decoding attempts on low-probability codewords
Data Source
AI summary
A memory controller system includes error correction circuitry and erasure decoder circuitry. A retry flow is triggered when the memory controller's error checking and correction (ECC) detects an uncorrectable codeword. Error correction circuitry generates erasure codewords from the codeword with uncorrectable errors. The memory controller computes the syndrome weight of the erasure codewords. For example, the erasure decoder circuitry receives the erasure codewords and computes the syndrome weights. Error correction circuitry orders the erasure codewords based on their corresponding syndrome weights. Then error correction circuitry selects a subset of the codewords, and sends them to erasure decoder circuitry. Erasure decoder circuitry receives the selected codewords and decodes them.


