Memory Controller Parallel Error Correction for SCM Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage class memory (SCM) devices face challenges in maintaining quality of service (QoS) due to longer latency performance compared to DRAM, particularly during error correction and garbage collection, which degrades service quality and increases latency.

Innovation Solution

A memory controller that performs selective and parallel error correction based on error correction options, including a variable error correction circuit and a fixed error correction circuit, to optimize latency and accuracy during data read operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction is performed on data read from SCM, then data reliability is improved, but latency increases and QoS deteriorates

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

Solution Approach 1:

The patent implements dynamic error correction by providing multiple error correction options (first option with reference latency and reference error correction level, second option with maximum error correction level) and selectively applying different correction intensities based on data characteristics and system state. This dynamic approach allows the system to adjust error correction strength in real-time, improving reliability when needed while minimizing latency impact when error rates are low.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of error correction level by offering at least two distinct error correction options. The first error correction option includes a reference latency and a reference error correction level, while the second option provides a maximum error correction level. By switching between these parameter settings, the system optimizes the balance between correction thoroughness and processing speed.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If comprehensive error correction is performed, then error correction accuracy is improved, but processing speed decreases

Engineering Contradiction:
Improveerror correction accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent applies partial error correction by providing a first error correction option with a reference error correction level that may be lower than the maximum available correction level. This partial correction approach is sufficient for many data types and system states, achieving adequate error correction accuracy without the full processing overhead of maximum correction, thus improving processing speed while maintaining acceptable reliability.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If error correction level is increased, then data accuracy is improved, but system resource consumption increases

Engineering Contradiction:
Improvedata accuracyVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts error correction intensity by selecting between multiple error correction options based on data characteristics, error rates, and system state. This dynamic adaptation ensures that high error correction levels (which consume more resources) are applied only when necessary, while lower correction levels are used during normal operation, optimizing the balance between data accuracy and resource consumption.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12079080B2Memory controller performing selective and parallel error correction, system including the same and operating method of memory device
Publication Date: 2024.09.03 SAMSUNG ELECTRONICS CO LTD
  • US12079080B2 patent drawing
  • US12079080B2 patent drawing
  • US12079080B2 patent drawing

AI summary

A memory controller is provided that is configured to control a memory accessed by a device connected to a host processor via a bus. The memory controller is configured to control a memory accessed by a device connected to a host processor via a bus, and includes a first interface circuit configured to communicate with the host processor; a second interface circuit configured to communicate with the memory; an error detection circuit configured to detect an error present in data received from the second interface circuit in response to a first read request received from the first interface circuit; a variable error correction circuit configured to correct the error based on at least one of a reference latency and a reference error correction level included in a first error correction option; and a fixed error correction circuit configured to correct the error in parallel with an operation of the variable error correction circuit.