Memory Controller Selective ECC for SCM QoS and Tail 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 compared to DRAM, particularly during error correction and garbage collection, which degrades performance 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 all data read operations in SCM, then data reliability is improved, but latency increases and quality of service deteriorates

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

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting the error correction level based on latency requirements. The memory controller receives latency requirements from the host and selectively applies different error correction levels (first level for high latency tolerance, second level for low latency tolerance) to different data blocks. This allows the system to maintain data reliability while optimizing latency performance by using minimal error correction where possible.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamics by making the error correction process adaptive rather than static. The memory controller dynamically determines which data blocks require error correction and at what level, based on real-time latency requirements and error detection results. This dynamic approach allows the system to switch between aggressive error correction (when time permits) and minimal error correction (when latency is critical), resolving the contradiction between reliability and latency.

Inventive Principle:
Principle #15Dynamics

2Manufacturing precision

If high error correction level is applied to ensure data accuracy, then manufacturing precision is improved, but processing speed decreases

Engineering Contradiction:
Improveerror correction accuracyVSAvoiddata processing speed
Core Design Contradiction:
Manufacturing precisionVSSpeed

Solution Approach 1:

The patent applies partial action by selectively applying error correction only to data blocks that require it, rather than uniformly applying high-level error correction to all data. The memory controller first performs error detection on all read data, then applies error correction only to blocks that fail detection or have specific characteristics. This partial application of error correction maintains data accuracy where needed while preserving processing speed for data that doesn't require intensive correction.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the error correction parameter (correction level) based on data characteristics and latency requirements. Instead of using a fixed high error correction level for all data, the system adjusts the correction level dynamically - using first error correction level for data with higher latency tolerance and second error correction level for time-critical data. This parameter adjustment resolves the contradiction between correction accuracy and processing speed.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11720442B2Memory controller performing selective and parallel error correction, system including the same and operating method of memory device
Publication Date: 2023.08.08 SAMSUNG ELECTRONICS CO LTD
  • US11720442B2 patent drawing
  • US11720442B2 patent drawing
  • US11720442B2 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.