Memory Controller Selective Error Correction Granularity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory error protection systems face inefficiencies due to increased bandwidth and power overhead, particularly when using strong error correction codes that require fetching excessive data, and they often fail to adapt to varying access granularities needed by different applications, leading to suboptimal performance and energy usage.

Innovation Solution

Implementing a memory system with selective granularity and error protection techniques that dynamically adjust based on application behaviors and memory utilization, allowing for different memory modes with varying access granularities and error protection strengths, managed by a memory controller that determines the optimal mode for each memory page or application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If strong error correction codes (e.g., chipkill-ECC) are employed to detect and correct memory errors, then memory reliability is improved, but bandwidth and power overhead increase due to overfetching data

Engineering Contradiction:
Improvememory error protectionVSAvoidbandwidth and power overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically changes the error correction code parameters and data fetch size based on the actual error rate and application requirements. Instead of always using strong ECC with large fetch sizes, the system adjusts the code strength and fetch granularity to match the actual needs, reducing unnecessary bandwidth and power consumption while maintaining adequate reliability

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The memory error protection system transitions from a static configuration to a dynamic one where the error correction level and data fetch size are adjusted in real-time based on monitored error rates and application characteristics. This allows the system to optimize the trade-off between reliability and energy consumption adaptively

Inventive Principle:
Principle #15Dynamics

2Reliability

If a fixed large access granularity is used for memory operations, then error protection capability is improved, but performance deteriorates for applications with low spatial locality due to overfetching

Engineering Contradiction:
Improveerror protection capabilityVSAvoidmemory access performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The memory access operations are segmented into different granularity levels based on application requirements. The system divides memory accesses into fine-grained operations for applications with low spatial locality and coarse-grained operations for applications with high spatial locality, allowing each application to use the optimal access size without forcing a uniform large granularity on all workloads

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different memory access granularities and error protection levels are applied locally to different applications or memory regions based on their specific characteristics. Applications with low spatial locality receive fine-grained access with lighter error protection, while applications with high spatial locality receive coarse-grained access with stronger error protection, optimizing both performance and reliability for each local context

Inventive Principle:
Principle #3Local quality

3Loss of energy

If a fixed small access granularity is used for memory operations, then bandwidth efficiency is improved for applications with low spatial locality, but error protection capability is reduced

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoiderror protection capability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system dynamically adjusts the error protection capability based on the access granularity being used. When fine-grained memory accesses are employed for bandwidth efficiency, the system applies lighter error correction codes appropriate for the smaller data units. When coarse-grained accesses are used, stronger error protection is applied. This dynamic matching ensures adequate error protection at each granularity level without over-provisioning

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10318365B2Selective error correcting code and memory access granularity switching
Publication Date: 2019.06.11 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10318365B2 patent drawing
  • US10318365B2 patent drawing
  • US10318365B2 patent drawing

AI summary

Example methods, systems, and apparatus to provide selective memory error protection and memory access granularity are disclosed herein. An example system includes a memory controller to determine a selected memory mode based on a request. The memory mode indicates that a memory page is to store a corresponding type of error protection information and is to store data for retrieval using a corresponding access granularity. The memory controller is to store the data and the error protection information in the memory page for retrieval using the error protection information and the access granularity.