Background Memory Scrubbing for Idle-Cycle Error Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory testing technologies in mission-critical systems, such as automotive and industrial automation, face challenges in detecting errors in memory blocks that are infrequently accessed, as single-bit parity schemes fail to detect double-bit errors, and error correction codes require frequent access to detect bit errors effectively, which can lead to undetected errors in less accessed memory locations.

Innovation Solution

The implementation of a background memory test apparatus (BGMTA) that includes a schedulable memory scrubbing circuit for parity/ECC memory arrays and a known-state memory test circuit, which operate in parallel with processor execution, sequentially reading memory blocks during system bus idle cycles to perform periodic or continuous integrity testing, using CRC calculations for known-state memories and error detection for parity/ECC memories, thereby increasing the likelihood of error detection with minimal processor overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If single-bit parity schemes are used for memory error detection, then device complexity is reduced, but measurement precision deteriorates because double-bit errors cannot be detected

Engineering Contradiction:
Improveerror detection scheme complexityVSAvoiderror detection capability
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The memory array is segmented into multiple blocks, each with its own parity bits. This allows independent error detection in each block while maintaining overall system simplicity. The segmentation enables the system to use simple parity checks locally while achieving more comprehensive error detection coverage system-wide.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic background testing of memory blocks using the parity check circuits. Instead of continuous monitoring that would increase complexity, the system performs periodic checks during normal operation, maintaining simple hardware while achieving thorough error detection over time through repeated sampling of memory blocks.

Inventive Principle:
Principle #19Periodic action

2Measurement precision

If error correction codes (ECC) are used for memory testing, then measurement precision is improved for detecting bit errors, but productivity deteriorates due to frequent access requirements

Engineering Contradiction:
Improvebit error detection accuracyVSAvoidsystem throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs periodic background testing of memory blocks using parity checks during normal processor operation. This periodic sampling achieves thorough error detection without requiring continuous memory access, thus maintaining high system throughput while still providing accurate error detection capability.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The memory system performs self-testing through background parity check operations that automatically monitor memory blocks during normal operation. This self-service mechanism detects errors without external intervention or frequent processor involvement, maintaining productivity while ensuring measurement precision through continuous background monitoring.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If frequent memory access is performed for error detection, then measurement precision is improved, but productivity deteriorates due to impact on system throughput

Engineering Contradiction:
Improveerror detection frequencyVSAvoidsystem throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements periodic background testing that samples memory blocks at intervals during normal operation. This periodic approach achieves adequate error detection precision through repeated monitoring without requiring continuous memory access, thus maintaining high system throughput while still providing thorough error detection coverage over time.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The background parity check circuitry operates continuously in the background during normal processor operation, providing ongoing error detection capability. This continuous background monitoring maintains measurement precision through persistent surveillance without interrupting or slowing down the main processor operations, thereby preserving productivity.

Inventive Principle:
Principle #20Continuity of useful action

4Reliability

If background testing is performed during processor execution, then reliability is improved, but device complexity increases due to additional test circuits

Engineering Contradiction:
Improvememory integrity assuranceVSAvoidtest circuit architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The background test circuits utilize the existing memory bus and controller resources for both normal processor operations and background testing. The parity check circuits serve dual purposes: they support normal memory operations while simultaneously performing error detection during background testing modes, thereby improving reliability without proportionally increasing device complexity.

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

Solution Approach 2:

The memory system incorporates self-testing capability through background parity check operations that automatically monitor memory blocks during normal operation. This self-service mechanism provides improved reliability through continuous error detection without requiring complex external test equipment or sophisticated test control circuits, as the system tests itself using its own existing resources.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10062451B2Background memory test apparatus and methods
Publication Date: 2018.08.28 TEXAS INSTRUMENTS INC
  • US10062451B2 patent drawing
  • US10062451B2 patent drawing
  • US10062451B2 patent drawing

AI summary

A schedulable memory scrubbing circuit and/or a known-state memory test circuit (collectively, background memory test apparatus (“BGMTA”)) are located on-chip with an integrated computing system. The BGMTA operates in parallel with a system CPU but shares a system bus with the CPU. The BGMTA sequentially reads one word at a time from a block of memory to be tested during system bus idle cycles. The schedulable memory scrubbing circuit embodiment tests on-chip parity/ECC memory arrays using memory controller-implemented parity or ECC error detection to trigger error handling interrupts. The known-state memory test circuit embodiment performs CRC calculations on known-state memory arrays as each data word is read sequentially. A final resulting CRC calculation value is compared to a known CRC value for the block, sometimes referred to as a “golden CRC.” If the two CRC values differ, a CRC error interrupt is triggered for servicing by the CPU.