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

System and method for enhancement of system bus to mezzanine bus transactions

Assignee: International Business Machines Corp
•
Filing: 1995-11-02
•
Granted: 1997-09-30
•
Expires: 2015-11-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system includes a host processor, a number of peripheral devices, and one or more bridges which may connect between the host, peripheral devices and other hosts or peripheral devices such as in a network. Each bridge, such as a PCI host bridge, connects between a primary bus (e.g system bus) and a secondary bus wherein for the purpose of clarity, the primary bus will be considered as the source for outbound transactions and the destination for inbound transactions and the secondary bus would be considered the destination for outbound transactions and the source for inbound transactions. The host bridge includes an outbound data path, an inbound data path, and a control mechanism. The outbound data path includes a queued buffer for storing transactions in order of receipt from the primary bus where the requests in the queued buffer may be mixed as between read requests and write transactions, the outbound path also includes a number of parallel buffers for storing read reply data and address information. The inbound path is a mirror image of the outbound path with read requests and write requests being stored in a sequential buffer and read replies being stored in a number of parallel buffers. Both the inbound path and the outbound path in the host bridge are controlled by a state machine which takes into consideration activity in both directions and permits or inhibits bypass transactions based on the protocol of the buses being interconnected through the bridge.

Inventors

  • 👤 Guy Lynn Guthrie
  • 👤 Danny Marvin Neal
  • 👤 Edward John Silha
  • 👤 Steven Mark Thurber

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 10:27
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/36; G06F13/38; G06F13/40; G06F13/4004; G06F13/4027

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 236 words
A data processing system, comprising: a system bus connecting at least one processor with a memory; an I/O bus, having a protocol different from said system bus; at least one peripheral device, connected to said I/O bus, that shares data with said memory and said at least one processor; and a bridge, for interconnecting said I/O bus to said system bus and controlling a sequence of transactions to prevent a deadlock condition by causing a first data transfer between said at least one peripheral device and said memory to be completed before a second data transfer between said at least one processor and said at least one peripheral device is completed; wherein said at least one peripheral device suspends processing activity until said first data transfer is completed; and wherein said bridge includes a first buffer for storing a request from said at least one peripheral device to said memory corresponding to said first data transfer; a second buffer for storing a request from said at least one processor to said at least one peripheral device corresponding to said second data transfer; a third buffer, parallel to said second buffer, for storing a reply from said memory including data corresponding to said first data transfer; and means for causing said reply from said memory to bypass said request from said at least one processor, such that said at least one peripheral device can continue processing activity.
Claim 2
Dependent Claim 236 words
A data processing system, comprising: a system bus connecting at least one processor with a memory; an I/O bus, having a protocol different from said system bus; at least one peripheral device, connected to said I/O bus, that shares data with said memory and said at least one processor; and a bridge, for interconnecting said I/O bus to said system bus and controlling a sequence of transactions to prevent a deadlock condition by causing a first data transfer between said at least one peripheral device and said memory to be completed before a second data transfer between said at least one processor and said at least one peripheral device is completed; wherein said at least one peripheral device suspends processing activity until said first data transfer is completed; and wherein said bridge includes a first buffer for storing a request from said at least one peripheral device to said memory corresponding to said first data transfer; a second buffer for storing a request from said at least one processor to said at least one peripheral device corresponding to said second data transfer; a third buffer, parallel to said second buffer, for storing a reply from said memory including data corresponding to said first data transfer; and means for causing said reply from said memory to bypass said request from said at least one processor, such that said at least one peripheral device can continue processing activity.
Claim 3
Dependent Claim 26 words
A system according to claim 1 wherein said first data transfer is a direct memory access of said memory by said at least one peripheral device.
Claim 4
Dependent Claim 23 words
A system according to claim 2 wherein said second data transfer is a load or store operation by said at least one processor.
Claim 5
Dependent Claim 25 words
A system according to claim 1, wherein said bridge comprises a first data path for transmitting transactions from said I/O bus to said system bus.
Claim 6
Dependent Claim 105 words
A system according to claim 4 wherein said first data path comprises: a first transaction router circuit connected to an input to said bridge for gating transactions to buffers in said first data path; at least one parallel buffer connected to said first transaction router circuit for storing read reply transactions; at least one sequential buffer connected to said first transaction router circuit for storing read request transactions and write transactions; a first transaction selection circuit connected to outputs of said parallel and sequential buffers for selecting one or more transactions to be output from said first data path under control of a state machine.
Claim 7
Dependent Claim 26 words
A system according to claim 5, wherein said bridge further comprises a second data path for transmitting transactions from said system bus to said I/O bus.
Claim 8
Dependent Claim 105 words
A system according to claim 6 wherein said second data path comprises: a second transaction router circuit connected to an input to said bridge for gating transactions to buffers in said first data path; at least one parallel buffer connected to said second transaction router circuit for storing read reply transactions; at least one sequential buffer connected to said second transaction router circuit for storing read request transactions and write transactions; a second transaction selection circuit connected to outputs of said parallel and sequential buffers for selecting one or more transactions to be output from said second data path under control of said state machine.
Claim 9
Dependent Claim 30 words
A data processing system according to claim 7, wherein said state machine controls gating of transactions in said first and second data path in accordance with a predetermined logic structure.
Claim 10
Independent Claim 256 words
A method of processing data in a data processing system, comprising the steps of: connecting at least one processor and a memory with a system bus; providing an I/O bus, having a protocol different from said system bus; connecting a plurality of peripheral devices, that share data with said memory and said at least one process, with said I/O bus; interconnecting said I/O bus to said system bus and controlling a sequence of transactions to prevent a deadlock condition by causing a first data transfer between one of said plurality of peripheral devices and said memory to be completed before a second data transfer between said at least one processor and said one of said plurality of peripheral devices is completed maintaining said one of said plurality of peripheral devices in a state where data processing activity is suspended until said first data transfer is completed wherein said step of interconnecting includes the steps of storing in a first buffer, a request from said at least one peripheral device to said memory corresponding to said first data transfer; storing in a second buffer, a request from said at least one processor to said at least one peripheral device corresponding to said second data transfer; storing in a third buffer, parallel to said second buffer, a reply from said memory including data corresponding to said first data transfer; and causing said reply from said memory to bypass said request from said at least one processor such that said at least one peripheral device can continue processing activity.
Claim 11
Independent Claim 256 words
A method of processing data in a data processing system, comprising the steps of: connecting at least one processor and a memory with a system bus; providing an I/O bus, having a protocol different from said system bus; connecting a plurality of peripheral devices, that share data with said memory and said at least one process, with said I/O bus; interconnecting said I/O bus to said system bus and controlling a sequence of transactions to prevent a deadlock condition by causing a first data transfer between one of said plurality of peripheral devices and said memory to be completed before a second data transfer between said at least one processor and said one of said plurality of peripheral devices is completed maintaining said one of said plurality of peripheral devices in a state where data processing activity is suspended until said first data transfer is completed wherein said step of interconnecting includes the steps of storing in a first buffer, a request from said at least one peripheral device to said memory corresponding to said first data transfer; storing in a second buffer, a request from said at least one processor to said at least one peripheral device corresponding to said second data transfer; storing in a third buffer, parallel to said second buffer, a reply from said memory including data corresponding to said first data transfer; and causing said reply from said memory to bypass said request from said at least one processor such that said at least one peripheral device can continue processing activity.
Claim 12
Dependent Claim 45 words
A method according to claim 9 wherein said first data transfer is a direct memory access of said memory by said one of said plurality of peripheral devices, and said second data transfer is a load or store operation by said at least one processor.
Claim 13
Dependent Claim 103 words
A data processing system including a processor connected to a memory by a system bus and at least one peripheral device connected to an I/O bus, comprising: a bridge for interconnecting said I/O bus to said system bus; means, within said bridge, for storing a first data transfer request from said peripheral device to said memory, and a second data transfer request from said processor to said peripheral device; wherein said bridge prevents a deadlock condition from occurring by causing a reply, from said memory to said peripheral device corresponding to said first data transfer request, to bypass said second data transfer request.
Claim 14
Dependent Claim 103 words
A data processing system including a processor connected to a memory by a system bus and at least one peripheral device connected to an I/O bus, comprising: a bridge for interconnecting said I/O bus to said system bus; means, within said bridge, for storing a first data transfer request from said peripheral device to said memory, and a second data transfer request from said processor to said peripheral device; wherein said bridge prevents a deadlock condition from occurring by causing a reply, from said memory to said peripheral device corresponding to said first data transfer request, to bypass said second data transfer request.
Claim 15
Dependent Claim 45 words
A system according to claim 11 wherein said means for storing comprises: a first buffer for storing said first data transfer request; a second buffer for storing said second data transfer request; and a third buffer, parallel to said second buffer, for storing said reply.
Claim 16
Dependent Claim 33 words
A system according to claim 12 wherein said bridge further comprises means for comparing an address of said second data transfer request and said reply to determine when said bypass is to occur.
Claim 17
Dependent Claim 42 words
A system according to claim 13 wherein said means for comparing comprises a table representing conditions when a deadlock condition may occur and said reply is to bypass said second data transfer request in order to prevent said deadlock condition from occurring.

References Cited (Backward Citations)

US5379386A Cited
US5542055A Cited
US5455915A Cited
US5546546A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-09-29 2001-03-31 2001-09-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-09-29 2005-03-31 2005-09-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-09-29 2009-03-31 2009-09-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag