Method and tool for computer bus fault isolation and recovery design verification
First Claim
1. A method of verifying error detection and recovery designs, comprising:
- connecting an error injection tool to a selected bus conductor within a bus;
monitoring the bus for a predetermined transaction or cycle when a selected device is driving the bus;
responsive to detecting the predetermined transaction or cycle on the bus, overdriving the selected bus conductor to a logic high or a logic low to inject an error on the bus for one cycle;
monitoring a response of the bus to the injected error; and
responsive to determining that an error was not infected onto the bus, repeating the steps of monitoring the bus for a predetermined transaction or cycle when a selected device is driving the bus, responsive to detecting the predetermined transaction or cycle on the bus, overdriving the selected bus conductor to a logic high or a logic low to inject an error on the bus, and monitoring a response of the bus to the injected error, until an error is successfully injected onto the bus.
1 Assignment
0 Petitions
Accused Products
Abstract
An error injection tool, connected to a bus to be tested in such a manner as not to interfere with normal operation, is employed for error detection and recovery design verification. The error injection tool is connected to the bus to be tested within a data processing system, the system is powered on, and applications simulating normal system loading are run. A desired error is then selected, and the error injection tool is actuated. The error injection tool monitors bus cycles and transactions through selected signals and, upon detecting an appropriate cycle or transaction, overdrives a selected conductor within the bus being tested to inject an error. The selected bus conductor is overdriven (forced) to a logic high or a logic low for a single clock cycle, simulating the intermittent nature of errors likely to occur during normal operation. Bus error signals are then monitored to ascertain whether the error was successfully injected. If not, subsequent attempts during appropriate bus cycles or transaction may continue until error injection is successful. Once an error is successfully injected, the operation of fault isolation and recovery facilities for the bus being tested may be observed to ascertain whether they are properly functioning. The error injection tool is inexpensive, readily built from off-the-shelf components, easily adaptable to a variety of bus architectures, and very simple to employ.
82 Citations
26 Claims
-
1. A method of verifying error detection and recovery designs, comprising:
-
connecting an error injection tool to a selected bus conductor within a bus;
monitoring the bus for a predetermined transaction or cycle when a selected device is driving the bus;
responsive to detecting the predetermined transaction or cycle on the bus, overdriving the selected bus conductor to a logic high or a logic low to inject an error on the bus for one cycle;
monitoring a response of the bus to the injected error; and
responsive to determining that an error was not infected onto the bus, repeating the steps of monitoring the bus for a predetermined transaction or cycle when a selected device is driving the bus, responsive to detecting the predetermined transaction or cycle on the bus, overdriving the selected bus conductor to a logic high or a logic low to inject an error on the bus, and monitoring a response of the bus to the injected error, until an error is successfully injected onto the bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
connecting the error injection tool to a processor local bus.
-
-
3. The method of claim 1, wherein the step of connecting an error injection tool to a selected bus conductor within a bus further comprises:
connecting the error injection tool to a system bus.
-
4. The method of claim 1, wherein the step of connecting an error injection tool to a selected bus conductor within a bus further comprises:
connecting the error injection tool to a memory bus.
-
5. The method of claim 1, wherein the step of connecting an error injection tool to a selected bus conductor within a bus further comprises:
connecting the error injection tool to a peripheral component interconnect bus.
-
6. The method of claim 1, wherein the step of monitoring the bus for a predetermined transaction or cycle further comprises:
monitoring the bus for an address tenure.
-
7. The method of claim 1, wherein the step of monitoring the bus for a predetermined transaction or cycle further comprises:
monitoring the bus for a data tenure.
-
8. The method of claim 1, wherein the step of overdriving the selected bus conductor to a logic high or a logic low to inject an error on the bus further comprises:
overdriving the selected bus conductor for a single bus cycle.
-
9. The method of claim 1, wherein the step of overdriving the selected bus conductor to a logic high or a logic low to inject an error on the bus further comprises:
-
disconnecting a first bus conductor; and
overdriving a second bus conductor to a logic high or a logic low for a single bus cycle.
-
-
10. The method of claim 1, wherein the step of monitoring a response of the bus to the injected error further comprises:
monitoring bus error signals to determine whether an error was successfully injected onto the bus.
-
11. An error injection tool for verifying error detection and recovery designs, comprising:
-
control logic receiving a plurality of bus signals and an activation signal; and
an error injector including an output adapted for selective connection to a selected bus conductor within a bus and an input receiving an enable signal from the control logic, wherein the error injector overdrives the selected bus conductor to a logic high or a logic low to inject an error on the bus when the enable signal is actuated, wherein the control logic, responsive to detecting actuation of the activation signal;
monitors the bus for a predetermined transaction or cycle;
responsive to detecting the predetermined transaction or cycle on the bus, actuates the enable signal to the error injector; and
monitors a response of the bus to determine if an error was successfully injected. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
monitors the bus for the predetermined transaction or cycle;
responsive to detecting the predetermined transaction or cycle on the bus, actuates the enable signal to the error injector; and
monitors a response of the bus to determine if an error was successfully injected.
-
-
24. The error injection tool of claim 11, wherein the control logic, responsive to detecting the predetermined transaction or cycle on the bus, actuates the enable signal for a single cycle.
-
25. The error injection tool of claim 11, wherein the control logic and the error injector are mounted on a standard PCI expansion board with the present signals open, the control logic receiving the plurality of bus signals from conductors connected to corresponding contacts in a PCI bus expansion slot receiving the PCI expansion board.
-
26. A method of verifying error detection and recovery designs, comprising:
-
monitoring a bus for a transaction into which a desired fault is to be injected;
responsive to detecting the transaction, overdriving a bus conductor during a cycle following the transaction to inject a fault onto the bus;
monitoring a bus error signal to determine if the fault was successfully injected onto the bus; and
responsive to detecting assertion of the bus error signal, monitoring a response of fault isolation and recovery facilities to the injected fault to verify proper operation of the fault isolation and recovery facilities.
-
Specification