Expectation Based Event Verification for Memory Agent Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing and testing computer architectures, especially those with multiple cache memories, is complex due to the intricate interactions between memory agents and caches, requiring extensive and data-intensive testing procedures to verify proper operation.

Innovation Solution

A method and apparatus for testing agents in a computer system by monitoring inputs and outputs, generating expected outputs, and comparing them with actual outputs using transaction records and expectation records, allowing for black-box style testing without probing the internal state of the agent.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extensive testing procedures are used to verify proper operation of memory agents and caches, then reliability of the system is improved, but device complexity and difficulty of detecting and measuring increases

Engineering Contradiction:
Improvesystem operation correctnessVSAvoidtesting procedure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a testing mechanism that acts as an intermediary between the memory agents/caches and the verification process. This testing mechanism generates expected output signals independently and compares them with actual output signals, serving as a mediator that simplifies the testing approach while maintaining thorough verification of system operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates copies of input signals to generate expected output signals through translation. By copying the input signal flow and translating it through the same logic that the system under test uses, the testing mechanism can verify correctness without requiring complex internal probing or multiple parallel testing paths.

Inventive Principle:
Principle #26Copying

2Measurement precision

If internal state probing is used to verify agent operation, then measurement precision is improved, but device complexity and ease of operation worsens

Engineering Contradiction:
Improveverification accuracyVSAvoidtesting simplicity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The testing mechanism serves as an intermediary that verifies system operation through external observation of input and output signals rather than requiring internal state probing. This approach maintains verification accuracy by comparing expected versus actual outputs while greatly simplifying the testing operation through black-box methodology.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent uses copying of input signals to generate expected outputs externally, eliminating the need to probe internal agent states. This copying approach allows complete verification of agent operation through external signal observation alone, improving ease of operation while maintaining measurement precision.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If multiple memory agents and caches are implemented to support multiple processors, then adaptability of the system is improved, but device complexity and loss of information increases

Engineering Contradiction:
Improvemulti-processor supportVSAvoidmemory system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The testing mechanism is designed with universality to handle multiple memory agents, caches, and processors through a single unified approach. The same testing apparatus can verify operation across different memory configurations and processor setups by monitoring inputs and outputs, eliminating the need for separate testing procedures for each component and reducing overall system complexity.

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

Solution Approach 2:

The testing mechanism acts as an intermediary that manages the complexity of multiple memory agents and caches by providing a unified verification interface. Rather than requiring separate verification paths for each memory component, the intermediary testing approach consolidates verification through centralized monitoring and comparison of expected versus actual signals across all components.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If detailed monitoring of data transmissions is performed to verify agent operation, then measurement precision is improved, but loss of time and productivity decreases

Engineering Contradiction:
Improvetransaction verification accuracyVSAvoidtesting duration
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The testing mechanism operates continuously alongside normal system operation, monitoring data transmissions in real-time without interrupting or slowing down the system under test. This continuous monitoring approach maintains high measurement precision by capturing all transactions while minimizing testing time through parallel execution rather than sequential verification.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent uses copying of data transmission signals to enable verification without interfering with the original transaction flow. By creating copies of input and output signals for comparison purposes, the system can perform detailed verification of agent operation while the original transactions proceed uninterrupted, thereby maintaining both measurement precision and productivity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7818646B1Expectation based event verification
Publication Date: 2010.10.19 VALTRUS INNOVATIONS LTD
  • US7818646B1 patent drawing
  • US7818646B1 patent drawing
  • US7818646B1 patent drawing

AI summary

A computer implemented method of verifying events generated by an agent includes detecting an input signal at an input of the agent, generating an expected output signal based at least in part on the input signal, detecting an output signal at an output of the agent, wherein the output signal is a translation of the input signal generated by the agent, and comparing the output signal with the expected output signal to verify whether the agent produced the output signal correctly based on the input signal.