CXL Memory Module ECC Poison Flag Handling via Error Injection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Semiconductor memory devices face challenges in efficiently managing poison flags due to unreliable data transmission from host devices, leading to potential mis-correction during error correction processes.
Innovation Solution
The implementation of a controller with an error correction code (ECC) circuit and an error injecting circuit that generates and injects variable error symbols into codewords to manage poison flags efficiently, using Reed-Solomon encoding and error-and-erasure decoding to exceed the error correction capability of the ECC circuit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a volatile memory device manages poison flags together with data, then poison flag management is achieved, but device complexity increases due to additional management requirements
Solution Approach 1:
The patent merges the poison flag management function with the existing ECC (error correction code) structure. The controller determines whether to inject error symbols based on poison flag information, and the memory device stores codewords that may contain injected error symbols. This integration allows the system to manage poison flags without adding separate dedicated storage structures, thereby reducing overall device complexity while maintaining reliability.
Solution Approach 2:
The patent introduces error symbols as an intermediary mechanism between the poison flag and the stored data. Instead of directly storing poison flags in memory, the system uses error symbols injected into codewords as a mediator to encode poison flag information. This intermediary approach allows the memory device to indirectly manage poison flags through the existing ECC framework, avoiding the need for additional management overhead.
2Reliability
If error correction capability is increased to handle poisoned data, then data reliability improves, but the risk of mis-correction increases when poison flags are not properly managed
Solution Approach 1:
The patent applies preliminary anti-action by injecting error symbols into codewords before storage when poison flags are detected. This pre-injection of error symbols creates a deliberate error pattern that prevents the ECC circuit from performing incorrect corrections. When the memory device reads the data, the injected error symbols ensure that the ECC decoder identifies the poisoned state and avoids attempting correction, thereby preventing mis-correction while maintaining data reliability.
Solution Approach 2:
The patent converts the harmful effect of poison flags into a beneficial error correction mechanism. Instead of treating poison flags as mere data corruption markers, the system uses injected error symbols to actively prevent mis-correction. The error symbols that would normally be seen as harmful are instead utilized as a protective mechanism that guides the ECC decoder to correctly identify and handle poisoned data, transforming the potential harm into a protective benefit.
3Reliability
If additional storage space is allocated for poison flags, then poison flag management becomes more reliable, but storage capacity is reduced
Solution Approach 1:
The patent merges the poison flag storage function with the existing ECC codeword structure. The controller integrates poison flag information into the error correction code processing flow, determining whether to inject error symbols based on poison flag status. This merging allows the system to store and manage poison flag information within the existing storage framework without allocating additional dedicated space, thereby maintaining storage capacity while ensuring reliable poison flag management.
Solution Approach 2:
The patent makes the ECC codeword structure multi-functional by using it for both error correction and poison flag management. The same codeword that stores data and parity information for error correction also encodes poison flag status through injected error symbols. This universal approach allows the system to perform multiple functions (error correction and poison flag management) within the existing storage capacity, eliminating the need for separate dedicated storage for poison flags.
Data Source
AI summary
An example CXL (Compute eXpress Link)-based memory module includes a memory device and a controller. The memory device includes a plurality of volatile memory cells and stores data or reads the stored data. The controller communicates with a host device through a CXL interface and controls the memory device. The controller includes an error correction code (ECC) circuit that generates a first codeword by adding a parity vector generated based on Reed-Solomon encoding to data received from the host device, an error injecting circuit that generates an error symbol and generates a second codeword by injecting the error symbol into at least a portion of the first codeword, and a memory device interface that controls the memory device such that the second codeword where the error symbol is injected is stored in the memory device. The controller determines a number of error symbols to be injected into the second codeword.


