Morphable ECC Encoder for NVDIMM Metadata Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory solutions face challenges in managing Error Correcting Code (ECC) bits and metadata bits efficiently, leading to weaker ECC systems and varying metadata requirements across different systems, which complicates error correction and metadata exchange in Non-Volatile Dual In-Line Memory Modules (NVDIMMs and future DDRx interfaces.

Innovation Solution

A coding mechanism that divides the encoder/decoder into an 'always on' part for basic error detection using Cyclic Redundancy Check (CRC) and a switchable part for error correction, allowing for flexible allocation of ECC and metadata bits by using a mode register to control the operation of additional encoders/decoders, supporting multiple ECC algorithms and varying metadata needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If ECC bits are allocated for metadata exchange, then metadata communication capability is improved, but error correction capability deteriorates

Engineering Contradiction:
Improvemetadata exchange capabilityVSAvoiderror correction capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements dynamic allocation of ECC bits between metadata and error correction based on operational mode. The system can switch between different configurations: using more ECC bits for metadata in certain modes, and allocating more bits for error correction in other modes. This dynamic reconfiguration resolves the contradiction by allowing the system to adapt bit allocation to specific needs rather than having a fixed allocation that must compromise between the two functions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of ECC bit allocation dynamically based on operational requirements. By modifying the number of bits dedicated to metadata versus error correction according to different operating conditions, the system optimizes both metadata exchange capability and error correction capability at different times, resolving the fundamental trade-off between these two functions.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If different numbers of ECC bits are allocated for different systems, then adaptability to varying metadata requirements is improved, but system complexity increases

Engineering Contradiction:
Improveflexibility for varying metadata needsVSAvoidECC configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal ECC system that can function in multiple configurations within a single device. The same hardware infrastructure supports different bit allocations for metadata and error correction, allowing one system to serve multiple purposes and accommodate different metadata requirements without requiring separate dedicated systems for each configuration.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system employs dynamic configuration capabilities that allow it to adapt its ECC bit allocation to match specific system requirements. Through programmable control and mode switching, the system can reconfigure its bit allocation on-the-fly, providing flexibility for varying metadata needs while managing complexity through software-controlled configuration rather than hardware proliferation.

Inventive Principle:
Principle #15Dynamics

3Productivity

If a dedicated channel is used for metadata delivery, then metadata exchange efficiency is improved, but hardware complexity increases

Engineering Contradiction:
Improvemetadata exchange efficiencyVSAvoidhardware channel requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes the existing ECC channel multi-functional by allowing it to carry both error correction data and metadata. Instead of adding a separate dedicated hardware channel for metadata, the system repurposes the existing ECC infrastructure to handle both functions, thereby improving metadata exchange efficiency without increasing hardware complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system merges the metadata transmission function with the existing ECC channel, combining two functions into a single communication path. This consolidation allows efficient metadata exchange while avoiding the hardware overhead of a separate dedicated channel, as the same physical infrastructure serves both error correction and metadata delivery purposes.

Inventive Principle:
Principle #5Merging (Combining)

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This solution enhances error detection and correction capabilities while accommodating different metadata requirements, optimizing ECC strength and metadata support in a single device, thereby improving memory transaction efficiency and flexibility.

Implementation Method 1

an 'always on' part for basic error detection using Cyclic Redundancy Check (CRC)

Methodology Applied
Scientific EffectCyclic Redundancy Check (CRC):

Data Source

PatentUS10552256B2Morphable ECC encoder/decoder for NVDIMM over DDR channel
Publication Date: 2020.02.04 SAMSUNG ELECTRONICS CO LTD
  • US10552256B2 patent drawing
  • US10552256B2 patent drawing
  • US10552256B2 patent drawing

AI summary

A hardware coding mechanism is described. The coding mechanism may include a first encoder to produce a first code using a base number of bits and a second encoder to produce a second code using a supplementary number of bits. The second code and the first code together may be stronger than the first code alone. A mode register stored in a storage may specify whether a switch to the second encoder is open or closed: the first coder is always used.