Provided are a method, system, and program for performing initialization operations in a system including a bus, bus interface and at least one bus device communicating on the bus. The bus interface includes memory capable of being accessed over the bus by the at least one bus device. All bus devices capable of communicating on the bus are detected and each detected bus device and bus interface is configured with base addresses that enable transmission of Input/Output (I/O) requests over the bus to the memory in the bus interface and memory in any bus device including memory accessible over the bus. Testing is performed on the base addresses of the memory in each bus device including memory accessible over the bus by issuing I/O requests to the base addresses of the memory in each bus device. memory in the bus interface is tested by issuing I/O requests to the base addresses of the memory in the bus interface over the bus.
|
12. A method for performing a verification of a bus interface including an embedded device and memory, wherein the bus interface enables communication with a bus, wherein the bus interface memory is capable of being accessed by one bus device communicating over the bus, and wherein the embedded device uses the bus interface to communicate on the bus, comprising:
causing the bus device to test the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus; and causing the embedded device to test the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus, whereby the tests performed by the bus device and embedded device test whether the bus interface is capable of handling requests from multiple bus devices over the bus.
40. An article of manufacture of code for performing a verification of a bus interface including an embedded device and memory, wherein the bus interface enables communication with a bus, wherein the bus interface memory is capable of being accessed by one bus device communicating over the bus, and wherein the embedded device uses the bus interface to communicate on the bus, wherein the code causes operations comprising:
causing the bus device to test the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus; and causing the embedded device to test the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus, whereby the tests performed by the bus device and embedded device test whether the bus interface is capable of handling requests from multiple bus devices over the bus.
1. A method for performing initialization operations in a system including a bus, bus interface, at least one bus device communicating on the bus, wherein the bus interface includes memory capable of being accessed over the bus by the at least one bus device, comprising:
detecting all bus devices capable of communicating on the bus; configuring each detected bus device and bus interface with base addresses that enable transmission of Input/Output (I/O) requests over the bus to the memory in the bus interface and memory in any bus device including memory accessible over the bus; testing the base addresses of the memory in each bus device including memory accessible over the bus by issuing I/O requests to the base addresses of the memory in each bus device; and testing the memory in the bus interface by issuing I/O requests to the base addresses of the memory in the bus interface over the bus.
28. A system for performing a verification of a bus interface, comprising:
a bus interface; an embedded device within the bus interface; a memory within the bus interface; a bus, wherein the bus interface enables communication with the bus; at least one bus device capable of accessing the bus interface memory over the bus, wherein the embedded device uses the bus interface to communicate on the bus; logic implemented in one bus device to test the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus; and logic implemented in the embedded device to test the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus, whereby the tests performed by the bus device and embedded device test whether the bus interface is capable of handling requests from multiple bus devices over the bus.
48. A system for performing a verification of a bus interface, comprising:
a bus interface including an embedded device and memory; a bus, wherein the bus interface enables communication with the bus; a bus device communicating over the bus, wherein the bus interface memory is capable of being accessed by one bus device communicating over the bus, and wherein the embedded device uses the bus interface to communicate on the bus; means for causing the bus device to test the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus; and means for causing the embedded device to test the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus, whereby the tests performed by the bus device and embedded device test whether the bus interface is capable of handling requests from multiple bus devices over the bus.
43. A system for performing initialization operations in a system including a bus, bus interface, at least one bus device communicating on the bus, wherein the bus interface includes memory capable of being accessed over the bus by the at least one bus device, comprising:
means for detecting all bus devices capable of communicating on the bus; means for configuring each detected bus device and bus interface with base addresses that enable transmission of Input/Output (I/O) requests over the bus to the memory in the bus interface and memory in any bus device including memory accessible over the bus; means for testing the base addresses of the memory in each bus device including memory accessible over the bus by issuing I/O requests to the base addresses of the memory in each bus device; and means for testing the memory in the bus interface by issuing I/O requests to the base addresses of the memory in the bus interface over the bus.
33. An article of manufacture including code for performing initialization operations in a system including a bus, bus interface, at least one bus device communicating on the bus, wherein the bus interface includes memory capable of being accessed over the bus by the at least one bus device, wherein the code causes operations comprising:
detecting all bus devices capable of communicating on the bus; configuring each detected bus device and bus interface with base addresses that enable transmission of Input/Output (I/O) requests over the bus to the memory in the bus interface and memory in any bus device including memory accessible over the bus; testing the base addresses of the memory in each bus device including memory accessible over the bus by issuing I/O requests to the base addresses of the memory in each bus device; and testing the memory in the bus interface by issuing I/O requests to the base addresses of the memory in the bus interface over the bus.
17. A system for performing initialization operations, comprising:
(a) a bus; (b) a bus interface; (c) at least one bus device communicating on the bus; (d) memory within the bus interface capable of being accessed over the bus by the at least one bus device; (e) an initialization device that uses the bus interface to communicate on the bus; (f) logic implemented in the initialization device to initialize communication on the bus by performing: (i) detecting all bus devices capable of communicating on the bus; (ii) configuring each detected bus device and bus interface with base addresses that enable transmission of Input/Output (I/O) requests over the bus to the memory in the bus interface and memory in any bus device including memory accessible over the bus; (iii) testing the base addresses of the memory in each bus device including memory accessible over the bus by issuing I/O requests to the base addresses of the memory in each bus device; and (iv) testing the memory in the bus interface by issuing I/O requests to the base addresses of the memory in the bus interface over the bus. 2. The method of
transmitting the I/O requests to the initiator, wherein the initiator transmits the I/O requests to the bus, and wherein the target accesses the I/O requests placed on the bus by the initiator and performs the requested I/O requests, whereby the I/O requests testing the memory on the bus interface further test circuitry connecting the target and the bus.
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
transmitting the I/O requests to the primary target over the primary bus, wherein the primary target transmits the I/O requests to the initiator, and wherein the initiator sends the I/O requests to the secondary bus, wherein the secondary target accesses the I/O requests placed on the secondary bus by the initiator and performs the requested I/O requests to the base addresses of the memory in the bridge, whereby the I/O requests testing the memory in the bridge tests circuitry connecting the secondary target and the secondary bus.
9. The method of
10. The method of
writing data to the base addresses of the memory; reading the base addresses to which data was written; and for each base address to which data was written, comparing the data read with the data written to determine whether the data read and written to each base address is the same, wherein there is an error if the data read and written data does not match.
11. The method of
13. The method of
transmitting the I/O requests to the initiator, wherein the initiator transmits the I/O requests to the bus, and wherein the target accesses the I/O requests placed on the bus by the initiator and performs the requested I/O requests, whereby the I/O requests from the initiator testing the memory on the bus interface further test circuitry connecting the target and bus.
14. The method of
15. The method of
16. The method of
18. The system of
an initiator and target in the bus interface, wherein the memory in the bus interface is accessible through the target, and wherein the logic implemented in the initialization device further performs: transmitting the I/O requests to the initiator, wherein the initiator transmits the I/O requests to the bus, and wherein the target accesses the I/O requests placed on the bus by the initiator and performs the requested I/O requests, whereby the I/O requests testing the memory on the bus interface further test circuitry connecting the target and the bus.
19. The system of
20. The system of
22. The system of
a primary bus; a secondary bus, wherein the bus interface comprises a bridge between the primary bus and secondary bus, wherein the logic implemented in the initialization device for detecting and configuring all the bus devices detects and configures all the bus devices capable of communicating on the primary bus and the secondary bus.
23. The system of
24. The system of
a primary target in the bridge to receive requests from the primary bus; a secondary target in the bridge to receive requests from the secondary bus, wherein the memory in the bridge is accessible through the secondary target; an initiator in the bridge, and wherein the logic implemented in the initialization device for testing the memory in the bus interface further transmits the I/O requests to the primary target over the primary bus, wherein the primary target transmits the I/O requests to the initiator, and wherein the initiator sends the I/O requests to the bus, wherein the secondary target accesses the I/O requests placed on the secondary bus by the initiator and performs the requested I/O requests to the base addresses of the memory in the bridge, whereby the I/O requests testing the memory in the bridge tests circuitry connecting the secondary target and the secondary bus.
25. The system of
26. The system of
writing data to the base addresses of the memory; reading the base addresses to which data was written; and for each base address to which data was written, comparing the data read with the data written to determine whether the data read and written to each base address is the same, wherein there is an error if the data read and written data does not match.
27. The system of
a Direct memory Access (DMA) engine, wherein the initialization device transmits the DMA engine the writes to test the memory in the bus interface.
29. The system of
an initiator in the bus interface; a target in the bus interface, wherein the memory in the bus interface is accessible through the target, and wherein the logic implemented in the embedded device for testing the memory in the bus interface further transmits the I/O requests to the initiator, wherein the initiator transmits the I/O requests to the bus, and wherein the target accesses the I/O requests placed on the bus by the initiator and performs the requested I/O requests, whereby the I/O requests from the initiator testing the memory on the bus interface further test circuitry connecting the target and bus.
30. The system of
31. The system of
32. The system of
34. The article of manufacture of
transmitting the I/O requests to the initiator, wherein the initiator transmits the I/O requests to the bus, and wherein the target accesses the I/O requests placed on the bus by the initiator and performs the requested I/O requests, whereby the I/O requests testing the memory on the bus interface further test circuitry connecting the target and the bus.
35. The article of manufacture of
36. The article of manufacture of
37. The article of manufacture of
transmitting the I/O requests to the primary target over the primary bus, wherein the primary target transmits the I/O requests to the initiator, and wherein the initiator sends the I/O requests to the bus, wherein the secondary target accesses the I/O requests placed on the secondary bus by the initiator and performs the requested I/O requests to the base addresses of the memory in the bridge, whereby the I/O requests testing the memory in the bridge tests circuitry connecting the secondary target and the secondary bus.
38. The article of manufacture of
39. The article of manufacture of
writing data to the base addresses of the memory; reading the base addresses to which data was written; and for each base address to which data was written, comparing the data read with the data written to determine whether the data read and written to each base address is the same, wherein there is an error if the data read and written data does not match.
41. The article of manufacture of
transmitting the I/O requests to the initiator, wherein the initiator transmits the I/O requests to the bus, and wherein the target accesses the I/O requests placed on the bus by the initiator and performs the requested I/O requests, whereby the I/O requests from the initiator testing the memory on the bus interface further test circuitry connecting the target and bus.
42. The article of manufacture of
44. The system of
45. The system of
transmitting the I/O requests to the primary target over the primary bus, wherein the primary target transmits the I/O requests to the initiator, and wherein the initiator sends the I/O requests to the bus, wherein the secondary target accesses the I/O requests placed on the secondary bus by the initiator and performs the requested I/O requests to the base addresses of the memory in the bridge, whereby the I/O requests testing the memory in the bridge tests circuitry connecting the secondary target and the secondary bus.
46. The system of
47. The system of
writing data to the base addresses of the memory; reading the base addresses to which data was written; and for each base address to which data was written, comparing the data read with the data written to determine whether the data read and written to each base address is the same, wherein there is an error if the data read and written data does not match.
49. The system of
transmitting the I/O requests to the initiator, wherein the initiator transmits the I/O requests to the bus, and wherein the target accesses the I/O requests placed on the bus by the initiator and performs the requested I/O requests, whereby the I/O requests from the initiator testing the memory on the bus interface further test circuitry connecting the target and bus.
|
1. Field of the Invention
The present invention relates to a method, system, and program for testing a bus interface.
2. Description of the Related Art
The Peripheral Component Interconnect (PCI) bus architecture provides a low latency path through which devices implementing the PCI architecture can communicate. Details of the PCI bus architecture are described in the publication "PCI Local Bus Specification," Revisions 2.2 (Dec. 1998), published by the PCI Special Interest Group, which publication is incorporated herein by reference in its entirety. Each PCI device that communicates on the PCI bus includes a configuration space including information used to address the device on the PCI bus. During initialization, a device designated as the master processor accesses the PCI bus to detect all the PCI devices present on the PCI bus, builds a consistent address map, and then writes the PCI device base addresses to the configuration space registers of each PCI device. The base address registers define the addresses that other PCI devices on the PCI bus use to communicate with the PCI device to which the addresses are assigned. The base register addresses map into the Input/Output (I/O) space of the device as well as the memory space.
As part of a power-on self test (POST) during initialization, the master processor will test the PCI devices by reading and writing data to the assigned base addresses in the PCI devices to determine whether the read/write operations complete successfully. During the POST initialization, the master processor also tests the memory and registers of the PCI interface used by the master processor. Prior art PCI devices provide a separate bus interface between the master processor and the memory elements of the PCI interface used by the master processor that is separate from the PCI interface. For instance, in the prior art, the master processor may be embedded in a PCI card including memory and registers and the PCI bus interface would include a separate non-PCI bus interface on the card between the processor and the memory elements on the PCI card. Additionally, the master processor may be implemented in an Application Specific Integrated Circuit (ASIC) that includes the PCI interface and PCI memory and registers. During initialization, the master processor would use the non-PCI bus interface on the PCI card to test the memory and registers of the PCI interface used by the master processor. After the master processor verifies the accessibility of the base addresses assigned to the external PCI devices as well as the internal memory elements on the PCI card used by the master processor for PCI communication, the master processor would continue with initialization.
The above prior art initialization architecture requires the use of an additional non-PCI bus interface to test the memory registers of the master processor PCI interface. Further, because an internal interface is used to test the memory elements of the master processor PCI interface, the pins and other PCI interface circuitry between the PCI bus and the master processor PCI interface are not tested because the master processor tests the PCI interface memory elements on the internal non-PCI bus interface.
For these reasons, there is a need in the art for improved techniques for initializing a PCI or other type of bus interface device.
Provided are a method, system, and program for performing initialization operations in a system including a bus, bus interface and at least one bus device communicating on the bus. The bus interface includes memory capable of being accessed over the bus by the at least one bus device. All bus devices capable of communicating on the bus are detected and each detected bus device and bus interface is configured with base addresses that enable transmission of Input/Output (I/O) requests over the bus to the memory in the bus interface and memory in any bus device including memory accessible over the bus. Testing is performed on the base addresses of the memory in each bus device including memory accessible over the bus by issuing I/O requests to the base addresses of the memory in each bus device. Memory in the bus interface is tested by issuing I/O requests to the base addresses of the memory in the bus interface over the bus.
In further implementations, the bus interface includes an initiator and target, and the memory in the bus interface is accessible through the target. Testing the memory in the bus interface further comprises transmitting the I/O requests to the initiator. The I/O requests are transmitted to the bus and the target accesses the I/O requests placed on the bus by the initiator and performs the requested I/O requests. The I/O requests testing the memory on the bus interface test circuitry connecting the target and the bus.
Still further, the I/O requests to the memory of the bus interface comprise internal wrap signals between the initiator and target on the bus interface.
The bus interface, bus, and bus devices may implement the Peripheral Component Interconnect (PCI) architecture.
In still further implementations, the bus interface comprises a bridge between a primary bus and secondary bus. In such case, detecting and configuring all the bus devices comprises detecting and configuring all the bus devices capable of communicating on the primary bus and the secondary bus.
Further provided are a method, system, and program for performing a verification of a bus interface including an embedded device and memory. The bus interface enables communication with a bus. The bus interface memory is capable of being accessed by one bus device communicating over the bus and the embedded device uses the bus interface to communicate on the bus. The bus device tests the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus. The embedded device tests the memory in the bus interface by issuing Input/Output (I/O) requests to the memory in the bus interface over the bus, whereby the tests performed by the bus device and embedded device test whether the bus interface is capable of handling requests from multiple bus devices over the bus.
Described implementations provide a technique for testing the operability of memory devices within a bus interface using I/O requests transmitted using the lines connecting the bus and bus interface.
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
In the following description, reference is made to the accompanying drawings which form a part hereof and which illustrate several embodiments of the present invention. It is understood that other embodiments may be utilized and structural and operational changes may be made without departing from the scope of the present invention.
Described implementations utilize a wrap signal to test the memory elements on a PCI interface used by a master processor during initialization of a PCI bus system.
A wrap signal comprises a data request transmitted from the initiator function 4 to the target function 8 on the same PCI interface 2. The bold lines in
If (at block 88) all the write/read tests succeeded, then the master processor 52 sends (at block 92) a PCI write command through the initiator 58 to the PCI bus 54 that targets an address in the target 60 configuration space. In response, the target 60 would assert control over the request on the PCI bus 54 and write the requested data to the specified base address location in one target memory location 62, 64, 66. After writing the data to a memory location accessible to the PCI bus 54 through the target 60, the master processor 52 would issue (at block 94) a PCI read command to the PCI bus 54 to read the data from the address locations to which data was written. If (at block 96) the read data is not the same as the data written to any tested addressable location, then the master processor 52 would generate (at block 98) an error message indicating the target addresses where the error occurred. If (at block 96) the data read from addressable locations in the memory elements 62, 64, 66 behind the target 60 is the same as the data written, then the master processor 52 proceeds (at block 100) with the configuration knowing that the target 60 memory elements are operational.
With the logic of
The master processor 260 then issues (at block 310) write and read commands to the base addresses of the memory in each determined PCI device and PCI bridge. If (at block 312) the write/read test did not succeed for every tested PCI bridge 250, 264 and PCI device 256, 258, i.e., the written data did not match the read data, then an error message is generated (at block 314) indicating the PCI bridge(s) and/or PCI device(s) that failed the test. The addresses where the failure occurred may also be listed. If (at block 312) all the write/read tests passed or from block 314,control proceeds to block 318 where the master processor 260 sends PCI read and write commands to the base addresses assigned to the memory elements 274, 276, and 278 accessed through the secondary target 272. Such commands would be passed through the host/PCI bridge 264 to the primary target 266 over the primary PCI bus 252. The primary target 266 would select the requests from the primary PCI bus 252 and buffer the requests in the FIFO buffer 268. The initiator 270 would then access the commands from the FIFO buffer 268 and transmit the requests to the secondary PCI bus 254. The secondary target 272 would assert control over the request directed toward a base address in one of the memory elements 274, 276, and 278 accessed through the secondary target 272.
If (at block 320) the data read from all of the targeted memory elements 274, 276, and 278 is the same as what was written, then the master processor 260 proceeds (at block 322) with initialization. Otherwise, if (at block 320) there was a failure at one of the targeted addresses of the memory elements 274, 276, and 278, then an error message is generated (at block 324) indicating the targeted addresses where the error occurred.
As with the initialization described with respect to
In further implementations, the wrap signal may be utilized in the design verification phase when developing a PCI type device. During PCI design testing, the target in the PCI device must be tested to determine whether the target can handle requests from multiple initiators. In the prior art, to perform such testing, the PCI developer must attach the PCI prototype device to a PCI bus and then attach multiple PCI driver models to the same PCI bus, each including initiator and target hardware. The multiple PCI driver models would then be programmed to initiate requests to the target on the PCI prototype device to test the ability of the target to handle requests from multiple initiators. The design and coordination of the operations of multiple PCI drivers, including testing of posted writes and delayed reads, requires considerable development effort.
The described architecture and logic of
The described logic for performing initialization and test verification operations may be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term "article of manufacture" as used herein refers to code or logic implemented in hardware logic (e.g., an integrated circuit chip, Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), etc.) or a computer readable medium (e.g., magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CDROMs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, firmware, programmable logic, etc.). Code in the computer readable medium is accessed and executed by a processor. The code in which preferred embodiments are implemented may further be accessible through a transmission media or from a file server over a network. In such cases, the article of manufacture in which the code is implemented may comprise a transmission media, such as a network transmission line, wireless transmission media, signals propagating through space, radio waves, infrared signals, etc. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the present invention, and that the article of manufacture may comprise any information bearing medium known in the art.
In the described implementations, the initialization and configuration operations, and internal wrap signal testing, were performed by a processor device. In alternative implementations, any type of device may perform the initialization, such as a Basic Input Operating System (BIOS) component or other hardware device dedicated to initialization or configuration. Alternatively, the processor performing the initialization and configuration may be designed to perform operations unrelated to configuration and initialization. Still further, the initialization operations may be distributed across multiple hardware components and/or processors.
In the described implementations, an initialization device that initializes the configuration space of the PCI devices uses the internal wrap signal to test the memory on the bus interface or bridge. In alternative implementations, the component that tests the operation of memory within a PCI device using the internal wrap signal may not perform initialization operations. In implementations including a DMA engine between the initiator and master processor, the DMA engine may perform the testing operations, thereby relieving the master processor of such burden.
In the described implementations, the initialization did not complete if the wrap signal testing of the memory elements failed. In alternative implementations, the initialization may proceed with errors noted.
In further implementations, the PCI architecture may include additional PCI devices and bridges than those shown in
The described bus and bridge implementations utilized the PCI architecture. However, in alternative interface implementations, bus and bridge technology known in the art other than PCI may be used to implement the bridge and bus interfaces.
Certain logic was described as being performed by specific components, such as the processor, initiator, target, PCI driver model, etc. Notwithstanding, described as being implemented within specific components may be implemented elsewhere.
The described implementations discussed the use of PCI read and write operations to test the operation of addressable memory elements. Any type of read and write operation may be used to test the memory operation, such as posted writes, delayed reads, delayed writes, etc.
In the described implementations, the memory in the bridge and bus interface was tested by comparing data read from the memory with what was originally written. In alternative implementations, the memory may be tested in a manner different than comparing data read with what was originally written.
In the described implementations, the master processor functions as an initialization device that configures the address space of the PCI interface. In alternative implementations, multiple devices or device components may perform the initialization operations described with respect to the master processor.
The preferred logic of
The foregoing description of the described implementations has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Patent | Priority | Assignee | Title |
7131056, | Feb 01 2002 | DR JOHANNES HEIDENHAIN GMBH | Method for checking an interface |
7227381, | Dec 20 2003 | Samsung Electronics Co., Ltd. | Input buffer and semiconductor device including the same |
7263571, | Dec 20 2001 | Intel Corporation | Bus segment decoder |
7366872, | Dec 30 2003 | Intel Corporation | Method for addressing configuration registers by scanning for a structure in configuration space and adding a known offset |
8683109, | Aug 05 2008 | Hitachi, Ltd. | Computer system and bus assignment method |
9934117, | Mar 24 2015 | Honeywell International Inc. | Apparatus and method for fault detection to ensure device independence on a bus |
Patent | Priority | Assignee | Title |
4760553, | Jun 03 1985 | INTERNATIONAL BUSINESS MACHINES CORPORATION A CORP OF NEW YORK | Terminal system configuration tracing method and apparatus |
5142683, | Mar 09 1987 | Unisys Corporation | Intercomputer communication control apparatus and method |
5371892, | Dec 19 1989 | Hewlett-Packard Company | Method for configuring a computer bus adapter circuit board without the use of jumpers or switches |
5590374, | Sep 10 1993 | Fujitsu Semiconductor Limited | Method and apparatus for employing a dummy read command to automatically assign a unique memory address to an interface card |
5634037, | Feb 26 1993 | Fujitsu Limited | Multiprocessor system having a shared memory with exclusive access for a requesting processor which is maintained until normal completion of a process and for retrying the process when not normally completed |
5764929, | Dec 18 1995 | International Business Machines Corporation | Method and apparatus for improving bus bandwidth by reducing redundant access attempts |
5832241, | Feb 23 1995 | Intel Corporation | Data consistency across a bus transactions that impose ordering constraints |
5850530, | Dec 18 1995 | International Business Machines Corporation | Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data |
5970069, | Apr 21 1997 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | Single chip remote access processor |
5987555, | Dec 22 1997 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Dynamic delayed transaction discard counter in a bus bridge of a computer system |
6016525, | Mar 17 1997 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | Inter-bus bridge circuit with integrated loopback capability and method for use of same |
6018810, | Dec 12 1997 | Hewlett Packard Enterprise Development LP | Fault-tolerant interconnection means in a computer system |
6026461, | Aug 14 1995 | Data General Corporation | Bus arbitration system for multiprocessor architecture |
6078976, | Jun 24 1997 | Matsushita Electric Industrial Co., Ltd. | Bridge device that prevents decrease in the data transfer efficiency of buses |
6212590, | Dec 22 1997 | SAMSUNG ELECTRONICS CO , LTD | Computer system having integrated bus bridge design with delayed transaction arbitration mechanism employed within laptop computer docked to expansion base |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 09 2002 | MOY, ANDREW | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012494 | /0516 | |
Jan 11 2002 | International Business Machines Corporation | (assignment on the face of the patent) | / | |||
Jun 30 2014 | International Business Machines Corporation | ARUBA NETWORKS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033249 | /0051 | |
May 29 2015 | ARUBA NETWORKS, INC | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 035814 | /0518 | |
Aug 07 2015 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ARUBA NETWORKS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036379 | /0274 | |
Nov 15 2017 | ARUBA NETWORKS, INC | Hewlett Packard Enterprise Development LP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 045921 | /0055 |
Date | Maintenance Fee Events |
Oct 12 2004 | ASPN: Payor Number Assigned. |
Jan 11 2008 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 02 2012 | REM: Maintenance Fee Reminder Mailed. |
Sep 28 2012 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Sep 28 2012 | M1555: 7.5 yr surcharge - late pmt w/in 6 mo, Large Entity. |
Apr 27 2016 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 16 2007 | 4 years fee payment window open |
May 16 2008 | 6 months grace period start (w surcharge) |
Nov 16 2008 | patent expiry (for year 4) |
Nov 16 2010 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 16 2011 | 8 years fee payment window open |
May 16 2012 | 6 months grace period start (w surcharge) |
Nov 16 2012 | patent expiry (for year 8) |
Nov 16 2014 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 16 2015 | 12 years fee payment window open |
May 16 2016 | 6 months grace period start (w surcharge) |
Nov 16 2016 | patent expiry (for year 12) |
Nov 16 2018 | 2 years to revive unintentionally abandoned end. (for year 12) |