Cache Self-Testing Technique to Reduce Test Time
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If increased number of tests or duration of testing is performed, then reliability is improved, but productivity decreases
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.
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.
3Productivity
If constrained number of tests or duration of testing is performed, then productivity is improved, but reliability deteriorates
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.
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.
4Measurement precision
If expensive test equipment is used for complex integrated circuits, then measurement precision is improved, but manufacturing cost increases
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.
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.
Data Source
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.


