Memory Controller ECC Encoding with Null Data Duplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face challenges in enhancing the reliability of memory chips due to errors that occur during data storage and retrieval, particularly in volatile memory devices like DRAM, which are prone to data loss when power is shut down.

Innovation Solution

A memory controller with an integrated error correction circuit that performs ECC encoding and decoding, utilizing null data units for data duplication and interleaving data, parities, and flags to enhance error correction and reliability across multiple memory chips.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ECC encoding is performed on data units, then error correction capability is improved, but data processing complexity increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddata processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The data is divided into multiple data units (e.g., 64-bit units) for independent ECC encoding. Each data unit can be processed separately, which reduces the complexity of handling large datasets and enables parallel processing. The encoding circuit processes each data unit individually to generate corresponding parity bits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Null data units are created and inserted into the data stream to duplicate valid data units. This copying mechanism provides redundant data that can be used for error correction without significantly increasing the overall data volume, as the null units are identical and can be generated efficiently.

Inventive Principle:
Principle #26Copying

2Reliability

If multiple data units are processed with ECC encoding, then reliability is improved, but processing time increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-calculating and storing ECC lookup tables and null data unit templates before actual data processing. During data transmission, the encoding circuit can quickly retrieve and apply pre-computed values rather than performing complex calculations in real-time, significantly reducing processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The encoding circuit operates continuously on data units as they arrive, maintaining a steady processing rate. By keeping the encoding process continuous and pipeline-based, the system minimizes idle time and ensures that error correction is performed without significant delays to data throughput.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If null data units are used for data duplication, then error correction is enhanced, but storage capacity requirements increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Null data units are strategically placed at specific locations within the data structure where they provide maximum error correction benefit with minimal storage overhead. The null units are inserted only where needed to create redundancy patterns that enable error correction without uniformly increasing storage capacity throughout the entire data structure.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12198778B2Memory controllers and memory systems including the same
Publication Date: 2025.01.14 SAMSUNG ELECTRONICS CO LTD
  • US12198778B2 patent drawing
  • US12198778B2 patent drawing
  • US12198778B2 patent drawing

AI summary

A memory controller that controls a memory module including a plurality of memory chips, the memory controller including an error correction circuit including an encoding circuit and a processor to control the error correction circuit. The encoding circuit, in a write operation, divides a user data set into data units, generates data flags indicating types of the data units, generates data parities based on the data units, generates flag parities based on the data flags, generates an encoded user data set by using at least one null data unit in which all or half of included data bits are zero, as a data duplication space for duplicating a valid data unit, generates a codeword set by interleaving the encoded user data set, the data parities, the data flags, the flag parities and a null bit bit-wisely, and transmits the codeword set to the memory module.