Cache Self-Testing Technique to Reduce Test Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity of integrated circuits, particularly those with multiple processor cores and cache memories, poses challenges in functional verification and manufacturing defects, leading to high testing costs and potential reliability issues due to the need for sophisticated and expensive test equipment.

Innovation Solution

The implementation of systems and methods that allow for cache memory testing by identifying a portion of the cache memory to store external cache test code, which is then executed to test the cache memory on a cache-line-granular basis, with fault information stored and used to retire non-functional cache lines, leveraging a service processor external to the processor for this process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If sophisticated and expensive automated test equipment is used to test cache memories, then measurement precision and reliability are improved, but device complexity and manufacturing costs increase

Engineering Contradiction:
Improvecache test precisionVSAvoidtest equipment complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The cache memory tests itself by executing test code stored within its own structure. The processor core fetches and executes cache test code that performs self-diagnosis, eliminating the need for external sophisticated test equipment. This self-service approach allows the cache to identify faulty cache lines and generate fault information autonomously.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The processor core is made multi-functional by enabling it to execute not only normal processing instructions but also cache test code. This universal approach allows the same hardware to serve both computational purposes and self-testing purposes, removing the need for dedicated test equipment.

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

2Reliability

If increased number of tests or duration of testing is performed, then reliability is improved, but productivity decreases

Engineering Contradiction:
Improvecache reliabilityVSAvoidmanufacturing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache memory structure is prepared in advance to hold test code and fault information. Test code is pre-loaded into the cache, and the structure is designed to automatically capture and store fault information during testing, eliminating the need for lengthy external testing procedures and enabling rapid reliability assessment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The mechanical/physical testing process using external equipment is replaced with a software-based approach where the processor executes test code. This substitution allows comprehensive testing to be performed through instruction execution rather than physical measurement, significantly reducing test time while maintaining reliability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If constrained number of tests or duration of testing is performed, then productivity is improved, but reliability deteriorates

Engineering Contradiction:
Improvemanufacturing throughputVSAvoidproduct reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The cache performs comprehensive self-testing by executing test code that systematically checks all cache lines. This self-service mechanism ensures complete coverage of cache functionality without requiring external equipment or extended testing time, maintaining high reliability while preserving manufacturing throughput.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The testing process rushes through comprehensive cache validation by executing test code at processor speed. Rather than using slow external measurement equipment, the system rapidly completes thorough testing through internal code execution, achieving both high productivity and reliability simultaneously.

Inventive Principle:
Principle #21Skipping (Rushing through)

4Measurement precision

If expensive test equipment is used for complex integrated circuits, then measurement precision is improved, but manufacturing cost increases

Engineering Contradiction:
Improvetest measurement precisionVSAvoidmanufacturing cost
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The cache memory autonomously performs its own testing using internal resources. The processor executes test code that the cache itself stores, and the cache generates its own fault information. This eliminates the need for expensive external test equipment, dramatically reducing manufacturing costs while maintaining measurement precision through systematic self-diagnosis.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Instead of using expensive physical test equipment, the system creates a software copy of the testing functionality within the cache itself. The test code replicates the measurement functions that would otherwise require dedicated hardware, providing the same measurement precision at minimal cost.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8904227B2Cache self-testing technique to reduce cache test time
Publication Date: 2014.12.02 ORACLE INT CORP
  • US8904227B2 patent drawing
  • US8904227B2 patent drawing
  • US8904227B2 patent drawing

AI summary

A method for identifying, based on instructions stored externally to a processor containing a cache memory, a functional portion of the cache memory, then loading cache test code into the functional portion of the cache memory from an external source, and executing the cache test code stored in the cache memory to test the cache memory on a cache-line-granular basis and store fault information.