Memory Error Tracking With Retry and Spare-Bit Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern DRAM devices are increasingly susceptible to soft errors due to external factors like electrical noise and natural radiation, leading to multi-bit errors that conventional error correction codes struggle to handle effectively, often resulting in application failures without adequate fault tolerance or additional memory overhead.

Innovation Solution

The implementation of a retry mechanism and spare-bit insertion operations within a memory manager to differentiate between intermittent and persistent errors, allowing for multiple attempts at data retrieval and dynamic reconfiguration of memory bit usage to maintain data integrity without additional storage overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional error correction codes are used to handle soft errors, then single-bit errors can be detected and corrected, but multi-bit errors cannot be effectively handled, resulting in application failures

Engineering Contradiction:
Improveerror handling capabilityVSAvoidmulti-bit error handling
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic error handling approach where the system adapts its response based on the type of error detected. When a multi-bit error is detected, the system dynamically switches from standard ECC handling to a retry mechanism, allowing flexible adaptation to different error conditions without requiring separate hardware for each error type.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters based on error detection results. Upon detecting a multi-bit error, the system modifies its behavior by initiating a retry sequence with modified read parameters, effectively adapting the error correction strategy to handle multi-bit errors that conventional ECC cannot correct.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If retry mechanisms are implemented to handle multi-bit errors, then fault tolerance is improved, but memory access time increases due to multiple attempts

Engineering Contradiction:
Improvefault toleranceVSAvoidmemory access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The retry mechanism is designed to quickly skip through potential error conditions by implementing a limited number of retry attempts with modified parameters. If errors persist after the predetermined number of retries, the system quickly moves to alternative handling strategies, minimizing the time spent on repeated failed access attempts.

Inventive Principle:
Principle #21Skipping (Rushing through)

Solution Approach 2:

The system performs a predetermined number of retry attempts that may be excessive for some error types but necessary for others. This partial retry approach allows the system to handle intermittent errors effectively while maintaining acceptable performance for normal operations, balancing reliability improvement with time loss.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If spare bits are inserted to replace faulty memory bits, then persistent errors are corrected, but memory capacity is reduced

Engineering Contradiction:
Improvepersistent error correctionVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system extracts and removes faulty memory bits from active use by identifying persistent error locations through histogram analysis. These faulty bits are taken out of the functional memory array and replaced with spare bits, effectively removing the source of persistent errors while minimizing impact on overall memory capacity through selective extraction rather than blanket reduction.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a process where faulty memory locations are discarded from active use and recovered functionality is obtained through spare bit substitution. The histogram tracking mechanism identifies which bits should be discarded, and the spare bit mechanism recovers the lost capacity by redirecting functional bits to replace the discarded faulty ones.

Inventive Principle:
Principle #34Discarding and recovering

4Measurement precision

If histogram tracking is implemented to monitor single-bit errors, then error patterns are identified, but device complexity increases

Engineering Contradiction:
Improveerror pattern detectionVSAvoidmemory manager complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The histogram tracking structure is designed to serve multiple functions: it tracks single-bit error patterns, identifies persistent error locations, and provides data for spare bit insertion decisions. This multi-functionality reduces the need for separate tracking mechanisms, thereby limiting the increase in device complexity while maintaining precise error pattern detection capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8065573B2Method and apparatus for tracking, reporting and correcting single-bit memory errors
Publication Date: 2011.11.22 CRAY INC
  • US8065573B2 patent drawing
  • US8065573B2 patent drawing
  • US8065573B2 patent drawing

AI summary

Various embodiments include an apparatus comprising a memory device including a plurality of addressable memory locations, and a memory manager coupled to the memory device, the memory manager including a scheduling unit and a histogram data structure including a plurality of counters, the scheduling unit operable to detect a single-bit error in data read from the memory device, and to increment a value in a particular one of the plurality of counters, the particular one of the plurality of counters corresponding to the particular bit in the accessed data which incurred the single-bit error in the read data.