Programmable Diagnostic Memory Module for Subsystem Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for testing memory subsystems are limited in evaluating error detection/correction mechanisms and timing margins, as they typically involve fixed signal loading and external manipulation, failing to provide insights into internal memory module behavior and requiring time-consuming processes.

Innovation Solution

A diagnostic memory module with programmable elements, such as a processor core and programmable loading circuits, allows for flexible manipulation of memory subsystem behavior and signal observation at the actual storage location, enabling simulation of errors and noise injection to evaluate memory controller and subsystem designs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If fixed signal loading is used in memory testing, then the test setup is simple and reliable, but the ability to evaluate timing margins and error detection mechanisms is limited

Engineering Contradiction:
Improvetest reliabilityVSAvoidtesting flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements programmable loading circuits that can dynamically adjust signal loading conditions during memory testing. This allows the system to transition from fixed loading to variable loading, enabling evaluation of timing margins under different conditions while maintaining the reliability of controlled testing environments.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces programmable elements that can change loading parameters, drive strengths, and timing characteristics during operation. This enables comprehensive evaluation of memory subsystem performance across varying conditions without requiring multiple physical test modules, resolving the contradiction between testing simplicity and testing flexibility.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If external manipulation techniques are used to test memory subsystems, then the testing process is straightforward, but insights into internal memory module behavior are not provided

Engineering Contradiction:
Improvetesting easeVSAvoidinternal behavior information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent introduces test points and monitoring circuits positioned within the memory module itself, serving as intermediaries between external test equipment and internal memory behavior. These intermediaries enable non-intrusive observation of internal signals and operations, providing insights into memory behavior while maintaining ease of external testing through standardized interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If multiple load devices with different loading characteristics are inserted to change loading conditions, then timing margin evaluation is improved, but the testing process becomes time-consuming

Engineering Contradiction:
Improvetiming margin measurementVSAvoidtesting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements programmable loading circuits that can dynamically switch between different loading characteristics without physical intervention. This allows rapid evaluation of timing margins under multiple conditions through software control, eliminating the time-consuming process of physically removing and replacing load devices while maintaining measurement precision.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If passive loads are used to approximate actual memory module loading, then the test setup is simple, but the ability to simulate various error conditions and noise is limited

Engineering Contradiction:
Improvetest module complexityVSAvoiderror simulation capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces programmable elements that can dynamically adjust loading parameters, drive strengths, and introduce controlled noise and error conditions. This transforms simple passive loads into adaptive testing platforms capable of simulating various error scenarios while maintaining relatively simple hardware architecture through software-based control.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2179421B1Programmable diagnostic memory module
Publication Date: 2010.12.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2179421B1 patent drawingFigure 1
  • EP2179421B1 patent drawingFigure 2
  • EP2179421B1 patent drawingFigure 3

AI summary

A programmable diagnostic memory module provides enhanced testability of memory controller and memory subsystem design. The programmable diagnostic memory module includes an interface for communicating with an external diagnostic system, and the interface is used to transfer commands to the memory module to alter various behaviors of the memory module. The altered behaviors may be changing data streams that are written to the memory module to simulate errors, altering the timing and/or loading of the memory module signals, downloading programs for execution by a processor core within the memory module, changing driver strengths of output signals of the memory module, and manipulating in an analog domain, signals at terminals of the memory module such as injecting noise on power supply connections to the memory module. The memory module may emulate multiple selectable memory module types, and may include a complete storage array to provide standard memory module operation.