Memory Controller ECC Encoding Using Metadata-Linked Polynomials
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for storing metadata in memory reduce the error-correcting capacity of ECC, as metadata occupies slots in parity dies, thereby compromising error correction capabilities.
Innovation Solution
The proposed solution involves using a memory controller that identifies an encoding polynomial associated with metadata from a predetermined list, generating a codeword using this polynomial and memory data, and decoding metadata by analyzing decoding results from multiple polynomials to determine the best decoding result without storing metadata in memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If metadata is stored in memory using conventional methods, then metadata can be associated with memory data, but the error-correcting capacity of ECC is reduced
Solution Approach 1:
The patent extracts metadata from the memory storage system entirely. Instead of storing metadata in memory slots that would reduce ECC capacity, the invention uses the memory controller to generate and utilize polynomials associated with metadata values during encoding and decoding operations. The metadata is effectively 'taken out' of the memory system and handled through mathematical operations in the memory controller.
Solution Approach 2:
The patent introduces polynomials as an intermediary mechanism between metadata and the ECC encoding/decoding process. Rather than directly storing metadata in memory, the system uses polynomials that are associated with metadata values to modify the encoding process. This intermediary approach allows metadata to be represented and utilized without occupying memory slots that would otherwise be available for error correction.
2Quantity of substance
If metadata occupies slots in parity dies, then metadata can be stored, but chip-kill functionality is compromised
Solution Approach 1:
The patent removes metadata storage from the parity die slots, extracting this function to the memory controller. By using polynomials associated with metadata values to guide the encoding process rather than storing metadata directly in memory slots, the system preserves all parity slots for their intended error correction and chip-kill functionality while still enabling metadata association through the polynomial mechanism.
Data Source
AI summary
A memory controller may receive memory data to be stored on a memory. A memory controller may receive metadata related to the memory data. The metadata may be selected from a predetermined list of metadata. A memory controller may identify an encoding polynomial of a plurality of polynomials that is associated with the metadata, each polynomial of the plurality of polynomials associated with different metadata from the predetermined list of metadata. A memory controller may generate a codeword using the encoding polynomial of the plurality of polynomials and the memory data.


