Apparatus for supporting multiple delayed read transactions...

Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus interface architecture

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S305000

Reexamination Certificate

active

06385686

ABSTRACT:

BACKGROUND
1. Field of the Invention
The present invention relates to the design of computer system buses for transferring data between computer system components. More specifically, the present invention relates to a system that supports multiple delayed read transactions between computer buses.
2. Related Art
In order to improve computer system performance, some processors, such as the Intel Pentium, are designed to drive an additional request across a computer system bus before the current bus request is completed. This technique is known as “bus pipelining.” (The Intel Pentium is manufactured by the Intel Corporation of Santa Clara, Calif.)
Bus pipelining improves computer system performance because more than one bus transaction can be processed at the same time. However, this performance advantage can be lost when both requests are read operations directed from a processor bus, such as the Pentium Processor Bus, to a peripheral bus, such as the PCI bus. This is due to the fact that on certain peripheral buses, such as the PCI bus, a bus master can send a retry command back to the processor if the current request is delayed or cannot otherwise be completed immediately. When such a retry command is received by a processor bus, such as the Pentium Processor Bus, the retry command causes both the current request and the pipelined request to be terminated and re-attempted by the processor. (The term “Pentium Processor Bus” as used in this specification refers to a bus adhering to the protocol described in Volume 1 of the “The Pentium Family Developer's Manual,” published in 1995 by the Intel Corporation.)
Consequently, in order to maintain ordering of transactions on the processor bus, the pipelined read request cannot be given to the peripheral bus until the current read request is guaranteed to complete. This removes the performance advantage of pipelining.
What is needed is a system that allows a pipelined read request to proceed in parallel with a current read request on a peripheral bus in spite of the fact that a retry on a processor bus causes all requests on the processor bus to be terminated and retried.
SUMMARY
One embodiment of the present invention provides a system that supports multiple delayed read transactions. The system includes a host bus and a peripheral bus. The system also includes a receiving mechanism that is configured to receive a first request and a pipelined request that originate from the host bus and are directed to the peripheral bus. The first request and the pipelined request are stored in a first buffer and a second buffer. The system additionally includes a sending mechanism that is configured to send the first request to the peripheral bus, so that the first request is processed when the peripheral bus becomes available. If the pipelined request is received and if the pipelined request is a read operation, the sending mechanism is configured to send the pipelined request to the peripheral bus, so that the pipelined request will be processed when the peripheral bus becomes available. The system also includes a retry mechanism that issues a retry request across the host bus that causes both the first request and the pipelined request to be retried at a later time on the host bus so that the host bus can be freed up for other transactions.
In one embodiment of the present invention, the system additionally includes a data returning mechanism that returns the read data across the host bus in the case where the first request is a read operation that was previously requested and the read data has been returned by the peripheral bus.
In one embodiment of the present invention, the receiving mechanism is configured to wait a predetermined amount of time for the pipelined request. In a variation on this embodiment, the receiving mechanism includes a programmable counter that contains the predetermined amount of time.
One embodiment of the present invention includes a host bridge that couples together the host bus and the peripheral bus, wherein the receiving mechanism, the sending mechanism, the retry mechanism the first buffer and the second buffer are located on the host bridge. In a variation on this embodiment, the host bridge includes a host slave module that acts as a slave device on the host bus, and a peripheral master module that acts as a master device on the peripheral bus.
In one embodiment of the present invention, the receiving mechanism is configured to receive a programmable delay enable signal that enables delayed read operations.


REFERENCES:
patent: 5533204 (1996-07-01), Tipley
patent: 5535340 (1996-07-01), Bell et al.
patent: 5708794 (1998-01-01), Parks et al.
patent: 5764929 (1998-06-01), Kelley et al.
patent: 5850530 (1998-12-01), Chen et al.
patent: 5870567 (1999-02-01), Hausauer et al.
patent: 5951663 (1999-09-01), Jayakumar et al.
patent: 6047120 (2000-04-01), Bell
patent: 6216190 (2001-04-01), Chin et al.
patent: 6275887 (2001-08-01), Derr et al.
patent: 6327636 (2001-12-01), Guthrie et al.
Intel Bus Functional Description, Jun. 1, 1995, PCI Local Bus Specification, Revision 2.1, pp. 6-24—6-33 (pub. by: PCI Special Interest Group).

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Apparatus for supporting multiple delayed read transactions... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Apparatus for supporting multiple delayed read transactions..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus for supporting multiple delayed read transactions... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2863571

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.