← Back to Patent Explorer
US5905744A Expired / Lapsed US ⏱️ 0.0 years remaining

Test mode for multifunction PCI device

Assignee: NetApp Inc
•
Filing: 1997-09-30
•
Granted: 1999-05-18
•
Expires: 2017-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a multifunction PCI device containing identical backend functions or other large, redundant functional blocks, a single backend function is selected as a primary function while in test mode. All backend I/O channels are then simultaneously tested in parallel, with the same data and control signals from a PCI local bus being driven to all backend channels during the same test clock cycle. A single backend channel is designated as the primary for providing requisite handshaking signals during output to the backend I/O channels. Input data from each backend channel is received in parallel and compared, with miscompares being flagged to allow testing of the input data path from the respective backend I/O channel. Only signals from the primary backend I/O channel are designated for transmission to the PCI local bus. Signals from the remaining backend channels are received in parallel with and compared to the signals from the primary channel, and miscompare flags are generated for any discrepancies identified. The resulting parallel testing of all backend I/O channels within the multifunction device reduces the number of test vectors needed to achieve fault grade goals.

Inventors

  • 👤 Brian G. Reise
  • 👤 Paul J. Smith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 07:05
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/22; G06F11/26; G06F11/273; G06F11/2736

Claims Analysis

Total Claims: 43
Claim 1
Independent Claim 90 words
A method of testing a device connected to a first bus and to a plurality of additional buses, the method comprising: selecting a bus from the plurality of additional buses as a primary bus, leaving a plurality of unselected buses within the plurality of additional buses; receiving data in parallel from the plurality of unselected buses; comparing data received in parallel from the plurality of unselected buses to data from the primary bus; and detecting differences between data from the primary bus and data from the plurality of unselected buses.
Claim 2
Independent Claim 90 words
A method of testing a device connected to a first bus and to a plurality of additional buses, the method comprising: selecting a bus from the plurality of additional buses as a primary bus, leaving a plurality of unselected buses within the plurality of additional buses; receiving data in parallel from the plurality of unselected buses; comparing data received in parallel from the plurality of unselected buses to data from the primary bus; and detecting differences between data from the primary bus and data from the plurality of unselected buses.
Claim 3
Dependent Claim 28 words
The method of claim 1, further comprising: responsive to detecting differences between data from the primary bus and data from the plurality of unselected buses, setting a flag.
Claim 4
Dependent Claim 20 words
The method of claim 2, wherein the step of setting a flag further comprises: setting a flag in a register.
Claim 5
Dependent Claim 24 words
The method of claim 2, wherein the step of setting a flag further comprises: transmitting a flag to an external pin for the device.
Claim 6
Dependent Claim 34 words
The method of claim 1, wherein the step of selecting a primary bus further comprises: selecting the primary bus from among the plurality of additional buses, wherein the plurality of additional buses are similar.
Claim 7
Dependent Claim 36 words
The method of claim 5, wherein the step of selecting a primary bus further comprises: selecting the primary bus from among the plurality of additional buses, wherein the plurality of additional buses are each SCSI buses.
Claim 8
Dependent Claim 32 words
The method of claim 1, wherein the step of transferring data from the primary bus to the first bus further comprises: transferring control signals from the primary bus to the first bus.
Claim 9
Dependent Claim 21 words
The method of claim 1, further comprising: transferring data from the first bus to each of the plurality of additional buses.
Claim 10
Dependent Claim 36 words
The method of claim 8, wherein the step of transferring data from the first bus to the plurality of additional buses further comprises: transferring data from a PCI local bus to a plurality of SCSI buses.
Claim 11
Dependent Claim 34 words
The method of claim 1, wherein the step of transferring data from the first bus to the plurality of additional buses further comprises: transferring control signals from the primary bus to the first bus.
Claim 12
Dependent Claim 37 words
The method of claim 1, wherein the step of comparing data from the plurality of unselected buses to data from the primary bus precedes the step of transferring data from the primary bus to the first bus.
Claim 13
Dependent Claim 41 words
The method of claim 1, wherein the step of comparing data from the plurality of unselected buses to data from the primary bus further comprises: comparing synchronized data from the plurality of unselected buses with synchronized data from the primary bus.
Claim 14
Dependent Claim 20 words
The method of claim 1, further comprising: synchronizing data transfers between the first bus and the plurality of additional buses.
Claim 15
Dependent Claim 120 words
A multifunction device, comprising: a first interface to a first bus; a plurality of additional interfaces connected to additional buses; a multiplexer selecting a primary bus from the additional buses and leaving a plurality of unselected buses within the additional buses, the multiplexer selecting the primary bus for testing data transfers from the additional buses to the first bus, the multiplexer routing data transfers from the primary bus through an interface within the plurality of additional interfaces and the first interface to the first bus; and a comparator comparing data received in parallel through the plurality of additional interfaces from the plurality of unselected buses to data received through one of the plurality of additional interfaces from the primary bus.
Claim 16
Dependent Claim 120 words
A multifunction device, comprising: a first interface to a first bus; a plurality of additional interfaces connected to additional buses; a multiplexer selecting a primary bus from the additional buses and leaving a plurality of unselected buses within the additional buses, the multiplexer selecting the primary bus for testing data transfers from the additional buses to the first bus, the multiplexer routing data transfers from the primary bus through an interface within the plurality of additional interfaces and the first interface to the first bus; and a comparator comparing data received in parallel through the plurality of additional interfaces from the plurality of unselected buses to data received through one of the plurality of additional interfaces from the primary bus.
Claim 17
Dependent Claim 32 words
The device of claim 14, wherein the comparator generates a flag upon detection of differences between data from the primary bus and data from a bus within the plurality of unselected buses.
Claim 18
Dependent Claim 21 words
The device of claim 14, wherein the plurality of additional interfaces further comprise interfaces connected to a plurality of SCSI buses.
Claim 19
Dependent Claim 25 words
The device of claim 14, further comprising: a test control block signaling the multiplexer to select the primary bus for testing of the additional buses.
Claim 20
Dependent Claim 18 words
The device of claim 14, further comprising: a miscompare flag decision block storing the flag in a register.
Claim 21
Dependent Claim 22 words
The device of claim 14, further comprising: a miscompare flag decision block transmitting the flag to an external pin for the device.
Claim 22
Dependent Claim 132 words
A multifunction device, comprising: a first interface to a first bus, wherein the first interface comprises an interface to a PCI local bus; a plurality of additional interfaces connected to additional buses; a multiplexer selecting a primary bus from the additional buses and leaving a plurality of unselected buses within the additional buses, the multiplexer selecting the primary bus for testing data transfers from the additional buses to the first bus, the multiplexer routing data transfers from the primary bus through an interface within the plurality of additional interfaces and the first interface to the first bus; and a comparator comparing data received in parallel through the plurality of additional interfaces from the plurality of unselected buses to data received through one of the plurality of additional interfaces from the primary bus.
Claim 23
Dependent Claim 132 words
A multifunction device, comprising: a first interface to a first bus, wherein the first interface comprises an interface to a PCI local bus; a plurality of additional interfaces connected to additional buses; a multiplexer selecting a primary bus from the additional buses and leaving a plurality of unselected buses within the additional buses, the multiplexer selecting the primary bus for testing data transfers from the additional buses to the first bus, the multiplexer routing data transfers from the primary bus through an interface within the plurality of additional interfaces and the first interface to the first bus; and a comparator comparing data received in parallel through the plurality of additional interfaces from the plurality of unselected buses to data received through one of the plurality of additional interfaces from the primary bus.
Claim 24
Dependent Claim 161 words
A multifuntion device, comprising: a first interface to a first bus; a plurality of additional interfaces connected to additional buses; a multiplexer selecting a primary bus from the additional buses and leaving a plurality of unselected buses within the additional buses, the multiplexer selecting the primary bus for testing data transfers from the additional buses to the first bus, the multiplexer routing data transfers from the primary bus through an interface within the plurality of additional interfaces and the first interface to the first bus; a comparator comparing data received in parallel through the plurality of additional interfaces from the plurality of unselected buses to data received through one of the plurality of additional interfaces from the primary bus and a plurality of backend functions between the plurality of additional interfaces and the multiplexer, each backend function within the plurality of backend functions converting data from a first protocol for the first bus to a second protocol for the primary bus.
Claim 25
Dependent Claim 161 words
A multifuntion device, comprising: a first interface to a first bus; a plurality of additional interfaces connected to additional buses; a multiplexer selecting a primary bus from the additional buses and leaving a plurality of unselected buses within the additional buses, the multiplexer selecting the primary bus for testing data transfers from the additional buses to the first bus, the multiplexer routing data transfers from the primary bus through an interface within the plurality of additional interfaces and the first interface to the first bus; a comparator comparing data received in parallel through the plurality of additional interfaces from the plurality of unselected buses to data received through one of the plurality of additional interfaces from the primary bus and a plurality of backend functions between the plurality of additional interfaces and the multiplexer, each backend function within the plurality of backend functions converting data from a first protocol for the first bus to a second protocol for the primary bus.
Claim 26
Dependent Claim 174 words
A multifunction device, comprising: a first interface to a first bus; and a plurality of backend interfaces to backend buses, wherein the multifunction device has a first mode of operation in which data is transferred from the first interface to a single, selected backend interface within the plurality of backend interfaces and from the single, selected backend interface within the plurality of backend interfaces to the first interface; and wherein the multifunction device has a second mode of operation in which data is transferred simultaneously from the first interface to each backend interface within the plurality of backend interfaces, return data from the single selected backend interface within the plurality of backend interfaces is compared to return data received in parallel from plurality of unselected backend interfaces within the plurality of backend interfaces, a flag is generated upon detection of differences between return data from the single selected backend interface and return data from the plurality of unselected interfaces, and return data is transferred from the single selected backend interface to the first interface.
Claim 27
Dependent Claim 174 words
A multifunction device, comprising: a first interface to a first bus; and a plurality of backend interfaces to backend buses, wherein the multifunction device has a first mode of operation in which data is transferred from the first interface to a single, selected backend interface within the plurality of backend interfaces and from the single, selected backend interface within the plurality of backend interfaces to the first interface; and wherein the multifunction device has a second mode of operation in which data is transferred simultaneously from the first interface to each backend interface within the plurality of backend interfaces, return data from the single selected backend interface within the plurality of backend interfaces is compared to return data received in parallel from plurality of unselected backend interfaces within the plurality of backend interfaces, a flag is generated upon detection of differences between return data from the single selected backend interface and return data from the plurality of unselected interfaces, and return data is transferred from the single selected backend interface to the first interface.
Claim 28
Dependent Claim 18 words
The multifunction device of claim 22, wherein the first mode of operation is a normal mode of operation.
Claim 29
Dependent Claim 18 words
The multifunction device of claim 22, wherein the second mode of operation is a test mode of operation.
Claim 30
Dependent Claim 24 words
The multifunction device of claim 22, further comprising: a test control block switching the multifunction device between the first and second modes of operation.
Claim 31
Dependent Claim 133 words
A data processing system comprising: a processor connected to a local bus; a multifunction device connected to the local bus and to a plurality of backend I/O buses, the multifunction device including: an interface to the local bus; a plurality of backend interfaces to a plurality of backend I/O buses; a multiplexer selecting a primary bus from the plurality of backend buses for testing data transfers from the plurality of backend buses to the local bus, the multiplexer routing data transfers form the primary bus to the local bus through an interface within the plurality of backened interfaces and the interface; and a comparator comparing data received in parallel through the plurality of backend interfaces, the comparator detecting differences between data received from any other bus within the plurality of backend I/O buses.
Claim 32
Dependent Claim 133 words
A data processing system comprising: a processor connected to a local bus; a multifunction device connected to the local bus and to a plurality of backend I/O buses, the multifunction device including: an interface to the local bus; a plurality of backend interfaces to a plurality of backend I/O buses; a multiplexer selecting a primary bus from the plurality of backend buses for testing data transfers from the plurality of backend buses to the local bus, the multiplexer routing data transfers form the primary bus to the local bus through an interface within the plurality of backened interfaces and the interface; and a comparator comparing data received in parallel through the plurality of backend interfaces, the comparator detecting differences between data received from any other bus within the plurality of backend I/O buses.
Claim 33
Dependent Claim 36 words
The data processing system of claim 26, wherein the comparator generates a flag upon detection of differences between data from the primary bus and data from any other bus within the plurality of backend I/O buses.
Claim 34
Dependent Claim 142 words
A data processing system comprising: a processor connected to a local bus, wherein the local bus is a PCI local bus; a multifunction device connected to the local bus and to a plurality of backend I/0 buses, the multifunction device including: an interface to the local bus; a plurality of backend interfaces to a plurality of backend I/0 buses; a multiplexer selecting a primary bus from the plurality of backend buses for testing data transfers from the plurality of backend buses to the local bus, the multiplexer routing data transfers form the primary bus to the local bus through an interface within the plurality of backened interfaces and the interface; and a comparator comparing data received in parallel through the plurality of backend interfaces, the comparator detecting differences between data received from any other bus within the plurality of backend I/O buses.
Claim 35
Dependent Claim 142 words
A data processing system comprising: a processor connected to a local bus, wherein the local bus is a PCI local bus; a multifunction device connected to the local bus and to a plurality of backend I/0 buses, the multifunction device including: an interface to the local bus; a plurality of backend interfaces to a plurality of backend I/0 buses; a multiplexer selecting a primary bus from the plurality of backend buses for testing data transfers from the plurality of backend buses to the local bus, the multiplexer routing data transfers form the primary bus to the local bus through an interface within the plurality of backened interfaces and the interface; and a comparator comparing data received in parallel through the plurality of backend interfaces, the comparator detecting differences between data received from any other bus within the plurality of backend I/O buses.
Claim 36
Independent Claim 127 words
An apparatus comprising: an interface to a first bus; a plurality of backend functions; a primary backend function; a plurality of interfaces providing communication between primary backend function and the plurality of functions and a plurality of buses; and a multiplexer and comparator unit connected to the primary backend function and a plurality of backend functions, wherein during a test mode, the multiplexer and comparator unit performs a data comparison of data received in parallel from all of the plurality of backend functions to data received from the primary backend function to determine if a difference in data is present and wherein the multiplexer and comparator unit generates a signal indicating the difference in data in response to a determination that the difference in data is present.
Claim 37
Independent Claim 127 words
An apparatus comprising: an interface to a first bus; a plurality of backend functions; a primary backend function; a plurality of interfaces providing communication between primary backend function and the plurality of functions and a plurality of buses; and a multiplexer and comparator unit connected to the primary backend function and a plurality of backend functions, wherein during a test mode, the multiplexer and comparator unit performs a data comparison of data received in parallel from all of the plurality of backend functions to data received from the primary backend function to determine if a difference in data is present and wherein the multiplexer and comparator unit generates a signal indicating the difference in data in response to a determination that the difference in data is present.
Claim 38
Dependent Claim 24 words
The apparatus of claim 29, wherein data is data received from the plurality of interfaces for transfer to the interface to the first bus.
Claim 39
Dependent Claim 50 words
The apparatus of claim 29, wherein the multiplexer and compare unit includes another mode in which data is routed to and from a selected backend function selected from the primary backend function and the plurality of backend functions in routing data to and from the interface to the first bus.
Claim 40
Dependent Claim 19 words
The apparatus of claim 29, wherein the interface to the first bus in an interface to a PCI bus.
Claim 41
Dependent Claim 38 words
The apparatus of claim 29, wherein the backend function and the plurality of backend functions convert data from a first protocol for the first bus to a second protocol for the primary bus and the plurality of buses.
Claim 42
Independent Claim 141 words
A method for testing a multifunction device having a plurality of backend functions used to transfer data top and from input/output channels connected to the multifunction device, the method comprising: selecting a backend function from the plurality of backend functions as a primary backend function, wherein remaining backend functions other than the primary backend function are secondary backend functions; simultaneously testing all of the input/output channels in parallel by sending test data to all of the input/output channels through the primary backend function and the secondary backend functions during a clock cycle; and receiving input data from the input/output channels in parallel and comparing the input data from the input/output channels associated with the secondary backend functions to the input data from the input/output channel associated with the primary backend function to determine whether a difference in the input data occurs.
Claim 43
Independent Claim 141 words
A method for testing a multifunction device having a plurality of backend functions used to transfer data top and from input/output channels connected to the multifunction device, the method comprising: selecting a backend function from the plurality of backend functions as a primary backend function, wherein remaining backend functions other than the primary backend function are secondary backend functions; simultaneously testing all of the input/output channels in parallel by sending test data to all of the input/output channels through the primary backend function and the secondary backend functions during a clock cycle; and receiving input data from the input/output channels in parallel and comparing the input data from the input/output channels associated with the secondary backend functions to the input data from the input/output channel associated with the primary backend function to determine whether a difference in the input data occurs.

References Cited (Backward Citations)

US4878168A Cited
US4688222A Cited
US5214655A Cited
US4811345A Cited
US4964124A Cited
US5077689A Cited
US5351232A Cited
US5453990A Cited
US5497379A Cited
US5574945A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-05-17 2002-11-16 2003-05-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-05-17 2006-11-16 2007-05-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-05-17 2010-11-16 2011-05-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag