Memory Controller ECC Encoding Using Metadata-Linked Polynomials

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemetadata storageVSAvoiderror-correcting capacity
Core Design Contradiction:
Loss of informationVSReliability

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If metadata occupies slots in parity dies, then metadata can be stored, but chip-kill functionality is compromised

Engineering Contradiction:
Improvemetadata storage capacityVSAvoidchip-kill functionality
Core Design Contradiction:
Quantity of substanceVSObject-affected harmful factors

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12308857B2Devices, systems, and methods for encoding and decoding codewords
Publication Date: 2025.05.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12308857B2 patent drawing
  • US12308857B2 patent drawing
  • US12308857B2 patent drawing

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.