Multi-core Cache Coherency Verification via Primary-Secondary Pattern Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The deployment of multi-core processors with cache coherency mechanisms in safety-critical avionics environments poses challenges in verifying the proper operation of hardware-based cache coherency, which is crucial for ensuring system reliability and safety.

Innovation Solution

A processor system and method that designates a primary core and secondary cores to test cache coherency by generating and comparing translation lookaside buffer mappings, locking cache lines, and performing data pattern updates and flushes to verify coherence, with the primary core logging fatal faults if mismatches occur, and switching core statuses in a round-robin manner.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multi-core cache coherency mechanism is deployed in safety-critical avionics environment, then processing capability is improved, but verification difficulty increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidverification difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent creates test copies of cache lines and data patterns to verify coherency. The primary core generates test data patterns and writes them to cache lines, then these patterns are copied/propagated to secondary cores through the cache coherency mechanism. By comparing the copied data at secondary cores with the original test patterns, the system can verify whether the cache coherency mechanism is functioning correctly without requiring complex external verification equipment.

Inventive Principle:
Principle #26Copying

2Reliability

If comprehensive cache coherency verification is performed, then system reliability is improved, but test complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidtest complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cache coherency verification system is self-testing, meaning the processor cores themselves generate and execute the test sequences. The primary core generates test data patterns, writes them to cache lines, and initiates the coherency verification process. Secondary cores receive notifications and automatically compare their cached data with the test patterns. This self-service approach eliminates the need for external test equipment and complex test orchestration, reducing test complexity while maintaining comprehensive verification.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent focuses verification on specific cache lines and data patterns rather than attempting to verify every possible state transition. The primary core selects particular cache lines to lock and update with specific test patterns, performing a targeted verification that is sufficient to detect coherency failures without exhaustively testing all possible scenarios. This partial action approach maintains reliability while reducing test complexity.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If cache line locking and flushing operations are performed, then coherency verification accuracy is improved, but processing overhead increases

Engineering Contradiction:
Improvecoherency verification accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The primary core performs preliminary actions by pre-locking the cache lines that will be used for testing before the actual verification begins. It also pre-generates the test data patterns and prepares the cache coherency mechanism in advance. This preliminary setup ensures that when the actual verification occurs, the cache lines are already in the correct state and the test patterns are ready, eliminating the need for repeated locking and flushing operations during the verification process, thus reducing processing overhead while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9812221B1Multi-core cache coherency built-in test
Publication Date: 2017.11.07 ROCKWELL COLLINS INC
  • US9812221B1 patent drawing
  • US9812221B1 patent drawing
  • US9812221B1 patent drawing

AI summary

A system and method for verifying cache coherency in a safety-critical avionics processing environment includes a multi-core processor (MCP) having multiple cores, each core having at least an L1 data cache. The MCP may include a shared L2 cache. The MCP may designate one core as primary and the remainder as secondary. The primary core and secondary cores create valid TLB mappings to a data page in system memory and lock L1 cache lines in their data caches. The primary core locks an L2 cache line in the shared cache and updates its locked L1 cache line. When notified of the update, the secondary cores check the test pattern received from the primary core with the updated test pattern in their own L1 cache lines. If the patterns match, the test passes; the MCP may continue the testing process by updating the primary and secondary statuses of each core.