Hardware Memory Scrubbing for Transient Error Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems employing semiconductor memory devices face issues with errors, particularly transient soft errors that can lead to system crashes and incorrect conclusions about memory module functionality if left uncorrected, causing unnecessary resource allocation and potential system halts.

Innovation Solution

A hardware-based memory scrubbing system that includes a controller with an engine for proactive error detection and correction, utilizing a pseudorandom number generator to test memory and maintain an error log, and firmware to manage scrubbing operations, ensuring data coherence and reducing system downtime by identifying and correcting errors before they become persistent.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If software-based error detection is used, then system complexity is reduced, but error detection speed and system reliability deteriorate

Engineering Contradiction:
Improvesystem complexityVSAvoiderror detection capability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces an intermediary hardware component (scrubbing engine with ECC logic) that operates between the memory system and the processor. This hardware intermediary continuously monitors and corrects memory errors independently, allowing the main software system to remain simple while gaining enhanced error detection and correction capabilities through the dedicated hardware subsystem.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If proactive memory scrubbing is implemented, then system stability improves, but processing time and productivity worsen

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The scrubbing engine operates periodically at predetermined intervals rather than continuously interfering with processor operations. During normal processing, the engine performs scrubbing operations in background cycles, only interrupting the processor when actual errors are detected and need correction. This periodic operation maintains system stability while minimizing impact on productivity.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The memory scrubbing system provides self-service by automatically detecting and correcting errors without requiring processor intervention or software involvement. The scrubbing engine independently manages error correction, allowing the main processing system to continue operations without waiting for error handling, thus maintaining high productivity while ensuring system stability.

Inventive Principle:
Principle #25Self-service

3Reliability

If hardware-based error correction is used, then reliability improves, but device complexity and manufacturing cost worsen

Engineering Contradiction:
Improveerror correction capabilityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements preliminary error correction by continuously scrubbing memory during normal operation before errors can propagate and cause system failures. The scrubbing engine proactively identifies and corrects soft errors in advance, preventing them from becoming hard errors that would require complex hardware intervention or system resets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scrubbing engine creates and maintains a copy of the memory error state through ECC (Error Correction Code) mechanisms. By working with error metadata and syndrome information rather than directly manipulating all memory data, the system achieves robust error correction with reduced hardware complexity compared to full redundancy approaches.

Inventive Principle:
Principle #26Copying

4Measurement precision

If continuous memory monitoring is performed, then error detection precision improves, but energy consumption and processing overhead worsen

Engineering Contradiction:
Improveerror detection precisionVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The scrubbing engine maintains continuous monitoring of memory integrity through background scrubbing operations that run independently of the main processor. This continuous action ensures high error detection precision by constantly checking memory states, while the separate execution context prevents energy consumption from adding to the processor's power draw during active computation.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8307259B2Hardware based memory scrubbing
Publication Date: 2012.11.06 SK HYNIX INC
  • US8307259B2 patent drawing
  • US8307259B2 patent drawing
  • US8307259B2 patent drawing

AI summary

This application relates to hardware based memory scrubbing. One disclosed embodiment may comprise a system that includes an engine, implemented in hardware, configured to initiate a request for data residing in associated memory. An error system is configured to detect errors in data that has been read from associated memory in response to the request for the data, the error system maintaining a log of entries corresponding to errors detected by the error system. An identifier is associated with each of the entries in the log that result from the request initiated by the engine to differentiate from other entries in the log.