A digital processor system is disclosed that employs a bus bridge interfacing a primary bus to a secondary bus and which includes a transaction backoff signal line that provides an economical method of providing split transactions between the busses, of preventing deadlock situations between the busses, and of providing strong lock ordering across the busses. A primary bus master is backed-off the bus if it is attempting to access a device resident on the secondary bus and if mastership of the secondary bus cannot be attained by the bus bridge within a certain latency. The bus bridge further implements a method of prefetching read data from a device resident on the secondary bus in response to a primary bus master being backed-off the primary bus during a read operation.

Patent
   5708794
Priority
Aug 10 1993
Filed
Aug 05 1996
Issued
Jan 13 1998
Expiry
Aug 10 2013
Assg.orig
Entity
Large
28
6
all paid
1. A method for responding to a read request from a first bus master having ownership of a first bus of a processor system to read data from a device residing on a second bus of the processor system, the method comprising the steps of:
providing a bus bridge as the interface between the first bus and the second bus, the bus bridge including a prefetch buffer such that the first bus master need never have ownership of the second bus in order to receive data from the device residing on the second bus;
initiating the read request by the first bus master; detecting, by the bus bridge, whether a second bus master resident on the second bus currently owns the second bus;
asserting, by the bus bridge, a backoff signal on the first bus in response to the bus bridge detecting that the second bus master currently owns the second bus;
postponing the read request and relinquishing ownership of the first bus by the first bus master in response to the asserted backoff signal;
de-asserting the backoff signal on the first bus by the bus bridge before requesting ownership of the second bus;
requesting ownership of the second bus by the bus bridge;
issuing, by the bus bridge, the read data request to the device residing on the second bus when ownership of the second bus is granted to the bus bridge as a result of the ownership requesting step;
receiving, by the bus bridge, the requested data from the device residing on the second bus;
storing the received data in the prefetch buffer within the bus bridge;
relinquishing ownership of the second bus by the bus bridge;
waiting, subsequent to the second bus ownership relinquishing step, for the first bus master to regain ownership of the first bus and to subsequently re-initiate the read request to read data from the device residing on the second bus; and
providing the data stored by the bus bridge in the prefetch buffer to the first bus master in response to the re-initiated read request by the first bus master.
6. A method for responding to a read request from a first bus master having ownership of a first bus of a processor system to read data from a device residing on a second bus of the processor system, the method comprising the steps of:
providing a bus bridge interface means for requesting, storing, and transferring data requested by the first bus master having ownership of the first bus of a processor system to allow data received from a device residing on the second bus of the processor system to the first bus master without requiring the first bus master to have ownership of the second bus;
initiating the read request by the first bus master;
detecting, by the bus bridge interface means, whether the second bus master resident on the second bus currently owns the second bus;
asserting, by the bus bridge interface means, a backoff signal on the first bus in response to the bus bridge interface means detecting that the second bus master currently owns the second bus;
postponing the read request and relinquishing ownership of the first bus by the first bus master in response to the asserted backoff signal;
de-asserting the backoff signal on the first bus by the bus bridge interface means;
requesting ownership of the second bus by the bus bridge interface means;
issuing, by the bus bridge interface means, the read data request to the device residing on the second bus when ownership of the second bus is granted to the bus bridge interface means as a result of the ownership requesting step;
receiving, by the bus bridge interface means, the requested data from the device residing on the second bus;
storing the received data in a prefetch buffer within the bus bridge interface means;
relinquishing ownership of the second bus by the bus bridge interface means;
waiting, subsequent to the second bus ownership relinquishing step, for the first bus master to regain ownership of the first bus and to subsequently re-initiate the read request to read data from the device residing on the second bus; and
providing the data stored by the bus bridge interface means in the prefetch buffer to the first bus master in response to the re-initiated read request by the first bus master.
2. A method as in claim 1 wherein the first bus is a multi-processor bus which implements a MESI protocol for maintaining cache coherency.
3. A method as in claim 1 wherein the second bus has a peak bandwidth similar to that of the first bus.
4. A method as in claim 1 wherein the second bus has a peak bandwidth lower than that of the first bus.
5. A method as in claim 1 wherein the second bus is chosen from the group consisting of the PCI bus, EISA bus, and ISA bus.
7. A method as in claim 6 wherein the first bus is a multi-processor bus which implements a MESI protocol for maintaining cache coherency.
8. A method as in claim 6 wherein the second bus has a peak bandwidth similar to that of the first bus.
9. A method as in claim 6 wherein the second bus has a peak bandwidth lower than that of the first bus.
10. A method as in claim 6 wherein the second bus is chosen from the group consisting of the PCI bus, EISA bus, and ISA bus.

This application is a continuation of application Ser. No. 08/104,225, filed Aug. 10, 1993 now abandoned.

1. Field of the Invention

This invention relates to digital processor systems, and more particularly to those digital processor systems incorporating a bus bridge to provide an interface between independent busses.

2. Description of Related Art

High performance processor systems frequently incorporate more than one system bus. This provides an underlying performance capability offered by a high performance bus architecture while at the same time promoting compatibility with older and frequently lower performance bus architectures. Additionally, a system incorporating an older bus architecture allows a processor system to take advantage of a vast array of readily available and sometimes lower cost peripherals, while still preserving an otherwise high performance system.

Many bus architectures allow more than one potential device resident on the bus to initiate an operation on the bus. A device which can initiate a bus operation is frequently termed a bus master. A device responding to a bus operation acts as a bus slave. A given device which may act at times as a bus master and at other times as a bus slave, is nonetheless frequently known as a bus master. In a bus architecture that supports multiple bus masters, when a bus master desires to initiate an operation, the bus master requests ownership of the bus. Requests from one or more bus masters are arbitrated, and one is granted ownership of the bus to become the current bus master and can proceed to initiate the desired operation. At any given time, at most only one bus master can be the current bus master. During this time, other bus masters must wait until the current bus master relinquishes ownership of the bus.

Bus backoff provides the means to force a current bus master to terminate an initiated operation without a data transfer, thus requiring the bus master to re-arbitrate for the bus and to re-initiate the operation after again gaining ownership of the bus. For example, this occurs in systems adhering to the MESI (Modified Exclusive-Shared-Invalid) protocol to inject write-backs of modified cache lines before a requesting device is allowed to read the cache, thus ensuring cache coherency. The bus backoff may indicate to a current bus master that the targeted slave device is not capable of performing the operation initiated. Bus backoff may also indicate that an operation should be pre-empted by another bus master attempting to gain ownership of the bus.

Several different system busses in current use provide strong lock ordering for transactions between devices resident on the bus. When a current bus master locks the bus, the other bus masters on the bus are prevented from preempting the current bus master until the bus is relinquished by the current bus master.

In a system with two separate busses, each capable of arbitration for bus ownership between multiple bus masters, several problems can arise. For instance, if a bus master on the first bus requests an operation requiring a slave device on the second bus to respond, while at the same time a bus master on the second bus requests an operation requiring a slave device on the first bus to respond, a deadlock situation occurs. Neither operation can proceed since each bus master is waiting for the other to relinquish ownership before its requested operation can proceed.

A similar situation occurs when a current bus master on the first bus tries to lock the bus for an operation during a single bus tenure which may require access to, and consequently bus ownership of, the second bus. If the second bus is owned by a different bus master who is trying to get access to the first bus, and if the current bus master on the first bus will be unable to gain ownership of the second bus, the operation may result in deadlock.

Additionally, if the two busses in such a system are capable of different performance, severe penalties can result if the faster bus is constrained to operate at the speed of the slower bus whenever a device from one bus is responding to a requesting device on the other. In other words, if the busses together are limited in performance to the speed of the slower of the two busses whenever a communication occurs between a device on each bus, then the performance of the overall system may suffer greatly and any additional bandwidth available on the higher performance bus is wasted.

For this and other reasons, some systems support split transactions. In a system which supports split transactions, several operations may be initiated by a current bus master, and queued for completion at a later time. This frees the bus for other transactions during times when the bus would otherwise likely be waiting for the queued operations to complete. The mechanisms used to provide for split transactions, however, have typically introduced complicated and cumbersome requirements upon bus interface hardware and bus protocols.

An object of the present invention is providing high performance computer system features to low cost computer systems.

Advantages of the present invention in a high performance computer system having plural busses include the prevention of deadlocks between the busses, the provision of strong lock ordering across the busses, and the facilitation of split transactions between the busses. Each is provided in a convenient manner requiring little dedicated hardware, and in such a way as to present a straightforward extension of mechanisms and protocols typically already in place on one bus of the computer system to include similar operations for at least one other bus of the computer system.

Accordingly, these and other objects and advantages are achieved in a bus bridge which provides an interface between a first bus and a second bus of a processor system, a method of responding to a request from a bus master having ownership of the first bus to read data from a device residing on the second bus, which requires ownership of the second bus by the bus bridge, including the steps of asserting a backoff signal on the first bus, thereby causing the bus master on the first bus to postpone the request to read data and to relinquish ownership of the first bus; de-asserting the backoff signal on the first bus subsequent to the asserting step; requesting ownership of the second bus subsequent to the asserting step; issuing to the device residing on the second bus, when ownership of the second bus is granted as a result of the ownership requesting step, the request to read the data; receiving the data from the device residing on the second bus in response to the issuing step; storing the data received in the receiving step in a prefetch buffer within the bus bridge; waiting, subsequent to the storing step, for the bus master on the first bus to regain ownership of the first bus and to subsequently request to read the data from the device residing on the second bus; and providing the data stored in the prefetch buffer of the bus bridge to the bus master on the first bus in response to the subsequent request from the bus master on the first bus.

The features of the present invention which are believed to be novel are set forth with particularity in the appended claims. The invention, together with further objects and advantages thereof, may best be understood by making reference to the following description taken in conjunction with the accompanying drawings, in the several figures of which like reference numerals identify identical elements, and wherein:

FIG. 1 is a schematic diagram illustrating a system utilizing two separate busses with a bus bridge providing an interface between the two busses; and

FIG. 2 is a schematic diagram of the bus bridge shown in FIG. 1, and incorporating a bus backoff signal in accordance with the current invention.

FIG. 3 is a flow diagram depicting operation of the system when a current primary bus master attempts to read data from a device resident on a secondary bus.

FIG. 1 shows a processor system incorporating a primary bus 100 and a secondary bus 140. "Primary bus" refers to a bus that usually has one or more processors connected to it, and is usually faster than the "secondary bus". Coupled to the primary bus 100 is a first processor 110 and a second processor 112 as well as a shared memory block 120. Coupled to the secondary bus 140 is a first device 150 and a second device 152. Coupling the primary bus 100 to the secondary bus 140 is a bus bridge 130. Bus arbitration circuits 114 and 154 respectively arbitrate competing requests for ownership of the primary and secondary busses 100 and 140 in a manner well known in the art.

A block diagram of the bus bridge 130 is shown in FIG. 2. A TAL signal line 210 ("Try Again Later"), which is included in the control bus portion of the primary bus 100, is shared by all devices residing on the primary bus 100. Assertion of the TAL signal on the line 210 by the bus bridge 130 prevents deadlocks between the primary and secondary busses 100 and 140, provides strong lock ordering between the primary and secondary busses 100 and 140, and facilitates split transactions between the primary and secondary busses 100 and 140, all in a convenient manner requiring little dedicated hardware.

If the bus bridge 130 receives an operation request from a current bus master on the primary bus 100 (e.g. a current primary bus master 220) which requires ownership of the secondary bus 140 by the bus bridge 130 for the operation to complete, the current primary bus master 220 is backed off by the assertion of the TAL signal if the secondary bus 140 is currently owned by a bus master other than the bus bridge 130. If the secondary bus 140 is not owned by any other bus master, then the bus bridge 130 requests ownership of the secondary bus 140. This request is arbitrated with any other requests for ownership of the secondary bus 140 by other bus masters. If the ownership of the secondary bus 140 is granted to the bus bridge 130 within a certain time, the TAL signal remains deasserted and the requested operation proceeds. Otherwise the bus bridge 130 asserts the TAL signal, thus forcing the current primary bus master 220 to relinquish ownership of the primary bus 100. The certain time chosen is typically kept short to avoid having the current primary bus master 220 wait any longer than necessary before relinquishing the primary bus 100 for other use. This bus master must then re-arbitrate for the primary bus 100, and re-issue the operation request after gaining bus ownership once again. By asserting the TAL signal in this fashion, the bus bridge 130 prevents a deadlock situation where the current primary bus master 220 is stalled waiting for ownership of the secondary bus 140. Hence, the assertion of the TAL signal by the bus bridge 130 in a system in which the primary bus 100 is much higher performance than the secondary bus 140 prevents stalling of the primary bus 100 and the resultant waste of primary bus bandwidth.

The assertion of the TAL signal by the bus bridge 130 provides strong lock ordering across both the primary and secondary busses 100 and 140. The bus locking protocol of the primary bus 100 is extended across the bus bridge 130 to assure control of the secondary bus 140 as well, without using complicated request protocols or extra dedicated hardware.

If the current primary bus master 220 tries to lock the primary bus 100 for a bus tenure during which the current primary bus master 220 may seek to access devices on the secondary bus 140, the bus bridge 130 determines whether the secondary bus 140 is currently owned by a bus master other than the bus bridge 130. If so, the bus bridge 130 asserts the TAL signal, thus forcing the current primary bus master 220 to relinquish the primary bus 100 and try again later. If the secondary bus 140 is not currently owned by any bus master, then the bus bridge 130 requests ownership of the secondary bus 140. If granted ownership within a certain time, the bus bridge 130 acknowledges the primary bus lock request by leaving the TAL signal deasserted to allow the locked primary bus tenure to proceed. Since the bus bridge 130 then owns the secondary bus 140, any operation requests from the current primary bus master 220 to any device resident on the secondary bus 140 will proceed without delay.

Additionally, the assertion of the TAL signal by the bus bridge 130 allows split transactions between devices resident on different busses. FIG. 3 is a flow diagram depicting operation of the processor system when the current primary bus master 220 attempts to read from a device resident on secondary bus 140. Referring collectively to FIGS. 2 and 3, the current primary bus master 220 requests an operation to read from a device which is resident on the secondary bus 140, the bus bridge 130 asserts the TAL signal to force the current primary bus master 220 to abort the read operation if secondary bus 140 is currently owned by secondary bus master 230 (steps 302 and 303). The current primary bus master 220 relinquishes the primary bus 100, and must re-arbitrate later (steps 304). The bus bridge 130 deasserts the TAL signal to the primary bus (step 305). However, the bus bridge 130 then requests ownership of the secondary bus 140 (steps 304). When ownership is granted, the bus bridge 130 proceeds to issue the previously requested read operation to the device resident on the secondary bus 140 and stores the data in a prefetch buffer 202 within the bus bridge 130 (steps 304). When the read operation and data storage is complete, the bus bridge 130 relinquishes ownership of the secondary bus 140 (step 308). When the original read operation request is subsequently re-issued by the current bus master 220, the bus bridge 130 responds directly with the data from the prefetch buffer 202 without again having to gain ownership of the secondary bus 140 (step 309). If the read data is not yet present in the prefetch buffer 202 when the subsequent read request is re-issued, the bus bridge 130 asserts the TAL signal again to back the transaction off. Transactions are backed off as many times as is necessary until the read data is available or until the secondary bus 140 is owned by the bus bridge 130. Using the TAL signal, a split read transaction is accomplished without any burdensome queuing mechanism or without special protocols needed to initiate such a split transaction.

The use of the bus bridge 130 having the capability of asserting and deasserting the TAL signal is particularly advantageous in systems having a primary bus of much higher bandwidth than a secondary bus. For example, the primary bus 100 may be a high-speed 64-bit bus optimized for multiple independent processors such as the i486™ microprocessor and the Pentium™ microprocessor, available from Intel Corporation of Santa Clara, Calif. Typically, each independent microprocessor acts as a bus master to common blocks of memory and other shared resources on the primary bus 100, while the secondary bus 140 may be the industry standard ISA, EISA, or PCI ISA (Industry Standard Architecture), EISA (Extended Industry Standard Architecture), or PCI (Peripheral Component Interconnect) busses. Moreover, a system may include plural secondary busses and additional bus bridges substantially identical to the bus bridge 130, one interfacing a primary bus to, for example, an EISA bus, and another interfacing the primary bus to, for example, a PCI bus. Alternatively, a single bus bridge such as the bus bridge 130 can be used to interface a primary bus to a secondary bus architecture which is mappable to any number of desirable bus architectures. The TAL signal is used to backoff a primary bus operation when securing the ownership of the secondary bus, which may be needed to complete the operation, cannot be timely assured. In this way, other primary bus masters can vie for the ownership of the primary bus and direct operations on the primary bus without wasting the bandwidth of the primary bus, particularly since the latency until secondary bus ownership is available to the bus bridge may be much longer than similar latencies for the primary bus. However, the principles discussed above apply equally well to systems where the performance of the secondary bus is similar to or even identical with the performance of the primary bus. The primary and secondary busses may also be identical independent busses.

While the invention has been described with respect to the embodiments set forth above, the invention is not necessarily limited to these embodiments. Various modifications, improvements, and additions are possible. For example, the invention is not necessarily limited to any particular bus architecture. Moreover, other multiple-bus transactions not described above may utilize a backoff signal in the fashion described above to achieve similar results. It is therefore intended to cover in the appended claims all modifications, variations, and improvements which fall within the true spirit and scope of the invention. Accordingly, other embodiments, not described herein are not necessarily excluded from the scope of the invention, which is defined by the following claims.

Gaskins, Darius D., Parks, Terry J., Zeller, Charles

Patent Priority Assignee Title
5802055, Apr 22 1996 Apple Inc Method and apparatus for dynamic buffer allocation in a bus bridge for pipelined reads
5870567, Dec 31 1996 Hewlett Packard Enterprise Development LP Delayed transaction protocol for computer system bus
5918026, Dec 23 1996 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P PCI to PCI bridge for transparently completing transactions between agents on opposite sides of the bridge
5928346, Sep 11 1996 Hewlett Packard Enterprise Development LP Method for enhanced peripheral component interconnect bus split data transfer
5930485, Jan 07 1997 Apple Inc Deadlock avoidance in a computer system having unordered slaves
5987552, Jan 26 1998 U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT Bus protocol for atomic transactions
6260093, Mar 31 1998 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Method and apparatus for arbitrating access to multiple buses in a data processing system
6301629, Mar 03 1998 SHARED MEMORY GRAPHICS LLC High speed/low speed interface with prediction cache
6381667, Jul 13 1999 Round Rock Research, LLC Method for supporting multiple delayed read transactions between computer buses
6385686, Jul 13 1999 Round Rock Research, LLC Apparatus for supporting multiple delayed read transactions between computer buses
6529980, Jan 15 1997 Intel Corporation Superposition of host bridge status onto an existing request/grant signaling protocol
6754779, Aug 23 1999 GLOBALFOUNDRIES Inc SDRAM read prefetch from multiple master devices
6792495, Jul 27 1999 Intel Corporation Transaction scheduling for a bus system
6813251, Jul 27 1999 Intel Corporation Split Transaction protocol for a bus system
6877060, Aug 20 2001 U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT Dynamic delayed transaction buffer configuration based on bus frequency
6889265, Nov 05 2001 Intel Corporation Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller
7028124, Sep 26 2001 Intel Corporation Method and apparatus for dual queue head processing of interrupt endpoints
7512082, Dec 14 1999 Intel Corporation Tracking transaction status for a bus system providing legacy bus compatibility
7675871, Jul 27 1999 Intel Corporation Split transaction protocol for a bus system
7698524, Nov 30 2005 Samsung Electronics Co., Ltd. Apparatus and methods for controlling output of clock signal and systems including the same
7886087, Jul 27 1999 Intel Corporation Split transaction protocol for a bus system
8677032, Jul 27 1999 Intel Corporation Split transaction protocol for a bus system
9558142, Jul 27 1999 Intel Corporation Split transaction protocol for a bus system
9600436, Jul 27 1999 Intel Corporation Split transaction protocol for a bus system
9892081, Jul 27 1999 Intel Corporation Split transaction protocol for a bus system
9965410, Jan 21 2016 Qualcomm Incorporated Priority-based data communication over multiple communication buses
RE38428, May 21 1995 Apple Computer, Inc. Bus transaction reordering in a computer system having unordered slaves
RE44688, May 02 1995 Apple Inc. Bus transaction reordering in a computer system having unordered slaves
Patent Priority Assignee Title
5101479, Jul 21 1989 PRINCIPAL MUTUAL LIFE INSURANCE COMPANY, A CORP OF IA Bus device for generating and responding to slave response codes
5265211, Jan 02 1992 International Business Machines Corporation; INTERNATIONAL BUSINESS MACHINES CORPORATION A CORPORATION OF NEW YORK Arbitration control logic for computer system having dual bus architecture
5367695, Sep 27 1991 Sun Microsystems, Inc.; Sun Microsystems Inc Bus-to-bus interface for preventing data incoherence in a multiple processor computer system
5414820, Aug 23 1991 NEXGEN, INC Crossing transfers for maximizing the effective bandwidth in a dual-bus architecture
5544346, Jan 02 1992 International Business Machines Corporation System having a bus interface unit for overriding a normal arbitration scheme after a system resource device has already gained control of a bus
EP369264,
/////////////////////////////////////////////////////////////////////////////////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Aug 05 1996Dell USA, L.P.(assignment on the face of the patent)
Oct 29 2013ASAP SOFTWARE EXPRESS, INC BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013APPASSURE SOFTWARE, INC BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013Dell IncBANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013WYSE TECHNOLOGY L L C BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013SECUREWORKS, INC BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013Perot Systems CorporationBANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013GALE TECHNOLOGIES, INC BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013FORCE10 NETWORKS, INC BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013Dell USA L PBANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013BOOMI, INC BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013COMPELLENT TECHNOLOGIES, INC BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013CREDANT TECHNOLOGIES, INC BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013WYSE TECHNOLOGY L L C BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013SECUREWORKS, INC BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013Perot Systems CorporationBANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013GALE TECHNOLOGIES, INC BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013FORCE10 NETWORKS, INC BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013Dell USA L PBANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013DELL SOFTWARE INC BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013Dell Products L PBANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013DELL MARKETING L P BANK OF AMERICA, N A , AS COLLATERAL AGENTPATENT SECURITY AGREEMENT TERM LOAN 0318990261 pdf
Oct 29 2013DELL SOFTWARE INC BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013Dell Products L PBANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013APPASSURE SOFTWARE, INC BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013Dell USA L PBANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013DELL SOFTWARE INC BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013Dell Products L PBANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013DELL MARKETING L P BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013Dell IncBANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013CREDANT TECHNOLOGIES, INC BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013COMPELLENT TECHNOLOGIES, INC BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013BOOMI, INC BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013ASAP SOFTWARE EXPRESS, INC BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013FORCE10 NETWORKS, INC BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013GALE TECHNOLOGIES, INC BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013DELL MARKETING L P BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013CREDANT TECHNOLOGIES, INC BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013COMPELLENT TECHNOLOGIES, INC BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013BOOMI, INC BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013ASAP SOFTWARE EXPRESS, INC BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013APPASSURE SOFTWARE, INC BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013Dell IncBANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPATENT SECURITY AGREEMENT ABL 0318980001 pdf
Oct 29 2013WYSE TECHNOLOGY L L C BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013SECUREWORKS, INC BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Oct 29 2013Perot Systems CorporationBANK OF NEW YORK MELLON TRUST COMPANY, N A , AS FIRST LIEN COLLATERAL AGENTPATENT SECURITY AGREEMENT NOTES 0318970348 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTAPPASSURE SOFTWARE, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTASAP SOFTWARE EXPRESS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTDELL MARKETING L P RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTWYSE TECHNOLOGY L L C RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTSECUREWORKS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTPerot Systems CorporationRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTFORCE10 NETWORKS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTDELL SOFTWARE INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTCOMPELLENT TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTCREDANT TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTWYSE TECHNOLOGY L L C RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTSECUREWORKS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTPerot Systems CorporationRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTFORCE10 NETWORKS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTDELL SOFTWARE INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTDell USA L PRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTDell Products L PRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF NEW YORK MELLON TRUST COMPANY, N A , AS COLLATERAL AGENTDell IncRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650618 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTDell USA L PRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTDell Products L PRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTDell IncRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTASAP SOFTWARE EXPRESS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTAPPASSURE SOFTWARE, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTCOMPELLENT TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTCREDANT TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTDell IncRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTDell Products L PRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTDell USA L PRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTDELL SOFTWARE INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTFORCE10 NETWORKS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTPerot Systems CorporationRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTSECUREWORKS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTWYSE TECHNOLOGY L L C RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTDELL MARKETING L P RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTASAP SOFTWARE EXPRESS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTAPPASSURE SOFTWARE, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTCOMPELLANT TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTCREDANT TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400650216 pdf
Sep 07 2016BANK OF AMERICA, N A , AS COLLATERAL AGENTDELL MARKETING L P RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0400400001 pdf
Date Maintenance Fee Events
Aug 10 2001REM: Maintenance Fee Reminder Mailed.
Jan 04 2002M183: Payment of Maintenance Fee, 4th Year, Large Entity.
Jan 04 2002M186: Surcharge for Late Payment, Large Entity.
Jul 13 2005M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Jul 13 2009M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Jan 13 20014 years fee payment window open
Jul 13 20016 months grace period start (w surcharge)
Jan 13 2002patent expiry (for year 4)
Jan 13 20042 years to revive unintentionally abandoned end. (for year 4)
Jan 13 20058 years fee payment window open
Jul 13 20056 months grace period start (w surcharge)
Jan 13 2006patent expiry (for year 8)
Jan 13 20082 years to revive unintentionally abandoned end. (for year 8)
Jan 13 200912 years fee payment window open
Jul 13 20096 months grace period start (w surcharge)
Jan 13 2010patent expiry (for year 12)
Jan 13 20122 years to revive unintentionally abandoned end. (for year 12)