ECC Memory Encoding with Poison Markers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing error correction code (ECC) protected memories face challenges in efficiently encoding and managing erroneous data, as extra storage is required and existing methods can alter ECC states, leading to incorrect error detection and correction.
Innovation Solution
A method is introduced to use an extra symbol in ECC to mark data as error-free or erroneous, allowing for efficient encoding and decoding of data integrity, and propagating a poison marker across all ECC words to prevent corruption and ensure accurate error detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If extra storage bits are used to save poisoned data indicators, then data integrity marking capability is improved, but storage cost and complexity increase
Solution Approach 1:
The patent reuses existing ECC check symbols for dual purposes: normal error correction and poison data indication. By making check symbols configurable between data and check roles, the system achieves poison marking capability without adding extra storage bits, resolving the contradiction between reliability improvement and complexity increase
Solution Approach 2:
The patent dynamically changes the role of ECC symbols based on configuration mode. In poison indication mode, check symbols are repurposed to indicate poisoned data. This parameter change allows the same hardware to provide both error correction and poison marking without additional storage resources
2Reliability
If error indicators are encoded into ECC at faulty memory locations, then poison marking capability is improved, but ECC state stability deteriorates
Solution Approach 1:
The patent separates poison indication from normal data storage by using dedicated poison indicator bits within the ECC structure. This segmentation allows poison marking to occur without interfering with the normal ECC correction capability, maintaining ECC state stability while enabling poison detection
Solution Approach 2:
The patent introduces poison indicator bits as intermediary elements that mediate between data integrity status and ECC state. These indicator bits provide a safe mechanism to mark poisoned data without directly altering the ECC check symbols, thus preserving ECC state stability
3Productivity
If ECC code is shortened by forcing unused symbols to zero, then storage efficiency is improved, but poison indication capability deteriorates
Solution Approach 1:
The patent makes check symbols universal by allowing them to function as either data or check symbols based on configuration. This enables the shortened ECC code to still provide poison indication capability by configuring check symbols in poison indication mode, resolving the contradiction between storage efficiency and poison indication capability
Data Source
AI summary
A method and device are described for encoding erroneous data in an error correction code (ECC) protected memory. In one embodiment, incoming data including a plurality of data symbols and a data integrity marker is received. At least one extra symbol is used to mark the incoming data as error-free data or erroneous data (i.e., poison) based on the data integrity marker. ECC may be created to protect the data symbols. The ECC may include a plurality of check symbols, a plurality of unused symbols and the at least one extra symbol. In another embodiment, an error marker may be propagated from a single ECC word to all ECC words of data block (e.g., a cache line, a page, and the like) to prevent errors due to corruption of the error marker caused by faulty memory in the erroneous ECC word.


