ECC Parity Encoding for Metadata Storage in DDR Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In DDR memory systems, there is no available DRAM storage to store metadata due to the utilization of all storage for data and ECC parities, limiting the ability to store extra information required for security or performance purposes.
Innovation Solution
The system encodes metadata in ECC parities using multiple decoders to recover metadata without occupying additional DRAM storage, allowing for the storage of extra metadata by generating enhanced codewords that include metadata symbols and parities, which are then written to memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all DRAM storage is used to store data and ECC parities, then the ECC capability is maximized, but no storage space remains for metadata
Solution Approach 1:
The patent merges metadata with ECC parity data by encoding metadata into the parity symbols. Instead of storing metadata separately, it combines metadata and parity information into the same storage locations, allowing both ECC functionality and metadata storage to coexist within the same DRAM capacity.
Solution Approach 2:
The patent makes the ECC parity symbols serve dual purposes: traditional error correction functionality and metadata storage. By encoding metadata into the parity symbols, the same storage resources perform multiple functions, eliminating the need for separate metadata storage space.
2Quantity of substance
If multiple decoders are used to recover metadata from ECC parities, then metadata can be stored without additional DRAM storage, but the decoder complexity increases
Solution Approach 1:
The patent segments the decoding process into multiple parallel decoders, where each decoder handles a specific metadata value assumption. By dividing the decoding task across multiple decoders, the system can recover metadata without requiring additional storage, though this increases the number of decoder components.
Solution Approach 2:
The patent introduces an intermediary selection mechanism that chooses the correct decoded output from multiple decoders based on error detection results. This intermediary layer manages the complexity by coordinating multiple decoders and selecting the valid result, allowing metadata recovery without additional DRAM storage.
3Quantity of substance
If metadata is encoded in ECC parities, then storage efficiency is improved, but ECC code aliasing occurs
Solution Approach 1:
The patent applies partial encoding by only encoding certain metadata values into the parity symbols rather than all possible values. This partial action approach reduces the aliasing problem by limiting the encoding scope, while still achieving storage efficiency for the required metadata information.
Solution Approach 2:
The patent changes the encoding parameters by using different encoding schemes for different metadata values. By adjusting the encoding parameters based on the specific metadata content, the system maintains storage efficiency while reducing ECC code aliasing through parameter optimization.
Data Source
AI summary
Disclosed is a configuration to store metadata using an error correction code (ECC). The configuration receives at an ECC encoder of a memory controller, write data and an N-bit metadata, N comprising an integer greater than 0. The configuration generates a meta symbol using the N-bit metadata and creates an enhanced write data, the enhanced write data comprising the write data and the meta symbol generated by the N-bit metadata. The configuration encodes the enhanced write data and meta symbol to generate a parity. It deletes the meta symbol to generate an output, the output comprising an enhanced codeword and writes the enhanced codeword to a memory.


