Memory Controller Error Correction for Processor Cycle Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices, such as RAM modules and hard disk drives, can experience errors due to external factors like cosmic rays and alpha particle emissions, leading to processor interruptions and reduced available processor cycles for task execution as the processor is required to correct these errors.

Innovation Solution

A memory controller is introduced to autonomously correct errors and fix hardware failures in data storage devices during a memory scrubbing operation using Error-Correcting Codes (ECC) without involving the processor, thereby increasing available processor cycles by performing these tasks independently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor corrects errors in stored data, then data integrity is maintained, but processor cycles are reduced and task execution efficiency decreases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessor cycle availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The error correction function is extracted from the processor and assigned to a dedicated memory controller. The memory controller independently inspects data blocks, detects errors, and performs corrections using ECC without involving the processor, thereby maintaining data integrity while preserving processor cycles for task execution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

A memory controller is introduced as an intermediary component between the memory and the processor. This intermediary handles error correction autonomously, preventing errors from reaching the processor and eliminating the need for processor intervention in error correction tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the processor performs memory scrubbing operations, then errors are detected and corrected, but system performance and available processor cycles decrease

Engineering Contradiction:
Improveerror detection and correctionVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The memory controller performs self-service by autonomously conducting memory scrubbing operations. It independently inspects data blocks for errors, performs corrective actions using ECC, and verifies corrections without requiring processor involvement, thereby maintaining reliability while avoiding performance degradation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The memory controller performs preliminary error detection and correction during memory scrubbing operations before data is accessed by the processor. This preliminary action prevents errors from affecting processor operations, ensuring both reliability and performance.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If error correction is performed using traditional methods involving the processor, then errors are corrected, but the number of available processor cycles for task execution is reduced

Engineering Contradiction:
Improveerror correction capabilityVSAvoidprocessor cycle loss
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The error correction workload is extracted from the processor and transferred to the memory controller. The memory controller independently performs error detection, correction, and verification, eliminating the time the processor would spend on these tasks and maximizing processor cycle availability for productive work.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10176043B2Memory controller
Publication Date: 2019.01.08 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10176043B2 patent drawing
  • US10176043B2 patent drawing
  • US10176043B2 patent drawing

AI summary

Example implementations relate to a memory controller. For example, an apparatus includes a data storage device and a memory controller coupled to the data storage device. The memory controller is to perform, during a memory scrubbing operation, a corrective action to correct an error associated with a data block stored in the data storage device. The memory control is to determine, during the memory scrubbing operation, whether the corrective action is successful. In response to a determination that the corrective action is a failed corrective action, the memory controller is to fix a hardware failure of the data storage device based on a type of the hardware failure.