Memory Controller Selective ECC Data Chunking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As computing systems evolve to handle large data sets efficiently, they face increased energy consumption and heat generation due to improved performance and speed, necessitating a solution to optimize data processing while minimizing these drawbacks.

Innovation Solution

A data processing system with a memory controller that divides data into error-corrected and non-error-corrected groups, generates meta data for error correction, and transmits data chunks to a memory module, utilizing an ECC device to manage data storage and retrieval efficiently, with variable error correction based on data importance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction is applied to all data, then data reliability is improved, but energy consumption and processing time increase

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

Solution Approach 1:

The patent applies error correction selectively to specific data types based on their importance. Critical data such as weight parameters in neural networks receive full ECC protection, while less critical data such as activation values use reduced or no error correction. This local differentiation of quality levels resolves the contradiction by providing high reliability only where necessary, thereby reducing overall energy consumption while maintaining data reliability for critical operations.

Inventive Principle:
Principle #3Local quality

2Reliability

If error correction is applied to all data, then data reliability is improved, but processing speed decreases

Engineering Contradiction:
Improvedata reliabilityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system differentiates error correction application by data type and operational context. During training operations where data accuracy is paramount, full ECC is applied to maintain reliability. During inference operations where speed is more critical, reduced error correction is applied to critical data while skipping less critical data, thereby improving processing speed while maintaining adequate reliability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The error correction strategy dynamically adapts based on operational mode and data characteristics. The system can switch between full ECC, reduced ECC, and no ECC modes depending on the specific operation being performed and the criticality of the data being processed, resolving the static contradiction between reliability and speed through dynamic adjustment.

Inventive Principle:
Principle #15Dynamics

3Use of energy by moving object

If selective error correction is implemented, then energy consumption is reduced, but device complexity increases

Engineering Contradiction:
Improveenergy consumptionVSAvoiddevice complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent segments data into different categories based on criticality (e.g., weight parameters vs. activation values) and applies different error correction strategies to each segment. This segmentation allows the system to reduce overall complexity by not applying uniform full ECC to all data, while still maintaining necessary reliability for critical segments through targeted error correction.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11593202B2Data processing system, memory controller therefor, and operating method thereof
Publication Date: 2023.02.28 MIMIRIP LLC
  • US11593202B2 patent drawing
  • US11593202B2 patent drawing
  • US11593202B2 patent drawing

AI summary

A data processing system may include a memory module; and a controller configured to exchange data with the memory module in response to a request received from a host. The controller divide a first data into a first data group to error correction and a second data group not to error correction in response to the first data and a first data write request received from the host, generates a first meta data for error correction for the first data group, configures a first data chunk that includes the first data and the first meta data, and transmits the first data chunk to the memory module.