US6067408A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Full duplex buffer management and apparatus
Assignee: Advanced Micro Devices Inc
•
Filing: 1996-02-22
•
Granted: 2000-05-23
•
Expires: 2016-02-22
Abstract
Abstract A node having a system interface adapter for intercoupling a fixed speed bus to a variable latency bus. The system interface adapter includes a receive FIFO buffer memory, a transmit FIFO buffer memory, and a memory buffer management unit. The memory buffer management unit dynamically awards priority between the two FIFOs for access to the variable latency bus in a fashion to minimize overflowing or underflowing the FIFOs while reducing the FIFO sizes. Priority between pending receive data transfers and pending transmit data transfers is resolved, in part, upon a whether a receive operation vis-a-vis the fixed-speed bus is underway.
Inventors
- 👤 Thomas J. Runaldue
- 👤 Jeffrey Roy Dwork
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 05:48
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/382; G06F13/385
Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
349 words
An apparatus for managing bi-directional data flow between a first data bus having a fixed data flow rate and a storage device connected to a second data bus wherein the second data bus has a variable latency for data flow, the apparatus comprising: a network interface, coupled to the first data bus, for receiving a first data packet from the first data bus and for transmitting a second data packet to the first data bus, said network interface asserting a receive activity signal while it receives said first data packet; a receive buffer memory, having a first predetermined physical size and a first predetermined logical size, coupled to said network interface, for storing a portion of said first data packet, said receive buffer memory asserting a receive data transfer request signal when one or more bytes are stored therein; a transmit buffer memory, having a second predetermined physical size, the second predetermined physical size differing from the first predetermined physical size and a second predetermined logical size, the second predetermined logical size differing from the first predetermined logical size, for storing a portion of said second data packet, and coupled to the network interface, said transmit buffer memory asserting a transmit data transfer request signal when a capacity for a number of bytes stored in said transmit buffer memory exceeds a predetermined number, and said transmit buffer memory asserting a frames signal when one or more frames are stored in said transmit buffer memory; and a memory buffer controller, coupled to said receive buffer memory, said transmit buffer memory, and the second data bus for controlling access to and from the second data bus by dynamically prioritizing data transfers to the storage device from said receive buffer memory and said transmit buffer memory responsive to said receive data transfer request signal, said receive activity signal, said transmit data transfer request signal and said frames signal, such that the memory buffer controller prioritizes a receive transfer over a transmit transfer according to a status of the transmit buffer memory and receive buffer memory and whether a receive operation is occurring.
Claim 2
Independent Claim
349 words
An apparatus for managing bi-directional data flow between a first data bus having a fixed data flow rate and a storage device connected to a second data bus wherein the second data bus has a variable latency for data flow, the apparatus comprising: a network interface, coupled to the first data bus, for receiving a first data packet from the first data bus and for transmitting a second data packet to the first data bus, said network interface asserting a receive activity signal while it receives said first data packet; a receive buffer memory, having a first predetermined physical size and a first predetermined logical size, coupled to said network interface, for storing a portion of said first data packet, said receive buffer memory asserting a receive data transfer request signal when one or more bytes are stored therein; a transmit buffer memory, having a second predetermined physical size, the second predetermined physical size differing from the first predetermined physical size and a second predetermined logical size, the second predetermined logical size differing from the first predetermined logical size, for storing a portion of said second data packet, and coupled to the network interface, said transmit buffer memory asserting a transmit data transfer request signal when a capacity for a number of bytes stored in said transmit buffer memory exceeds a predetermined number, and said transmit buffer memory asserting a frames signal when one or more frames are stored in said transmit buffer memory; and a memory buffer controller, coupled to said receive buffer memory, said transmit buffer memory, and the second data bus for controlling access to and from the second data bus by dynamically prioritizing data transfers to the storage device from said receive buffer memory and said transmit buffer memory responsive to said receive data transfer request signal, said receive activity signal, said transmit data transfer request signal and said frames signal, such that the memory buffer controller prioritizes a receive transfer over a transmit transfer according to a status of the transmit buffer memory and receive buffer memory and whether a receive operation is occurring.
Claim 3
Independent Claim
296 words
An apparatus for managing bi-directional data flow between a first data bus having a fixed data flow rate and a storage device connected to a second data bus wherein the second data bus has a variable latency for data flow, the apparatus comprising: a network interface, coupled to the first data bus, for receiving a first data packet from the first data bus and for transmitting a second data packet to the first data bus, said network interface asserting a receive activity signal while it receives said first data packet; a receive buffer memory, having a first predetermined physical size and a first predetermined logical size, coupled to said network interface, for storing a portion of said first data packet, said receive buffer memory asserting a receive data transfer request signal when one or more bytes are stored therein; a transmit buffer memory, having a second predetermined physical size, the second predetermined physical size differing from the first predetermined physical size and a second predetermined logical size, the second predetermined logical size differing from the first predetermined logical size, for storing a portion of said second data packet, and coupled to the network interface, said transmit buffer memory asserting a transmit data transfer request signal when a capacity for a number of bytes stored in said transmit buffer memory exceeds a predetermined number, and said transmit buffer memory asserting a frames signal when one or more frames are stored in said transmit buffer memory; and a memory buffer controller, coupled to said receive buffer memory, said transmit buffer memory, and the second data bus, for prioritizing a pending receive buffer data transfer over a pending transmit buffer memory data transfer when said receive activity signal is asserted to said memory buffer controller from said network interface.
Claim 4
Independent Claim
296 words
An apparatus for managing bi-directional data flow between a first data bus having a fixed data flow rate and a storage device connected to a second data bus wherein the second data bus has a variable latency for data flow, the apparatus comprising: a network interface, coupled to the first data bus, for receiving a first data packet from the first data bus and for transmitting a second data packet to the first data bus, said network interface asserting a receive activity signal while it receives said first data packet; a receive buffer memory, having a first predetermined physical size and a first predetermined logical size, coupled to said network interface, for storing a portion of said first data packet, said receive buffer memory asserting a receive data transfer request signal when one or more bytes are stored therein; a transmit buffer memory, having a second predetermined physical size, the second predetermined physical size differing from the first predetermined physical size and a second predetermined logical size, the second predetermined logical size differing from the first predetermined logical size, for storing a portion of said second data packet, and coupled to the network interface, said transmit buffer memory asserting a transmit data transfer request signal when a capacity for a number of bytes stored in said transmit buffer memory exceeds a predetermined number, and said transmit buffer memory asserting a frames signal when one or more frames are stored in said transmit buffer memory; and a memory buffer controller, coupled to said receive buffer memory, said transmit buffer memory, and the second data bus, for prioritizing a pending receive buffer data transfer over a pending transmit buffer memory data transfer when said receive activity signal is asserted to said memory buffer controller from said network interface.
Claim 5
Independent Claim
248 words
A method for dynamically allocating a variable-latency bus access priority between a first and a second data transfer, wherein the first data transfer includes a data transfer from a receive FIFO buffer memory to a storage device coupled to a variable-latency bus and the second data transfer includes a data transfer from the storage device to a transmit FIFO buffer memory, wherein the receive FIFO buffer memory stores a portion of a first packet received over a fixed-speed bus and the transmit FIFO buffer memory stores a portion of a second packet for transmission over the fixed-speed bus, comprising the steps of: prioritizing a pending first data transfer over a pending second data transfer when the receive FIFO buffer memory requests servicing, the receive FIFO buffer memory, having a first predetermined physical size and a first predetermined logical size, is receiving additional bytes from the fixed-speed bus, and the transmit FIFO buffer memory, the transmit FIFO buffer memory having a second predetermined physical size, the second predetermined physical size differing from the first predetermined physical size and a second predetermined logical size, the second predetermined logical size differing from the first predetermined logical size, stores one or more frames as indicated by a one or more frames signal; and prioritizing said pending second data transfer over pending first data transfer when the transmit FIFO buffer memory does not contain at least one frame, or the receive FIFO buffer memory is not receiving additional bytes from the fixed-speed bus.
Claim 6
Independent Claim
248 words
A method for dynamically allocating a variable-latency bus access priority between a first and a second data transfer, wherein the first data transfer includes a data transfer from a receive FIFO buffer memory to a storage device coupled to a variable-latency bus and the second data transfer includes a data transfer from the storage device to a transmit FIFO buffer memory, wherein the receive FIFO buffer memory stores a portion of a first packet received over a fixed-speed bus and the transmit FIFO buffer memory stores a portion of a second packet for transmission over the fixed-speed bus, comprising the steps of: prioritizing a pending first data transfer over a pending second data transfer when the receive FIFO buffer memory requests servicing, the receive FIFO buffer memory, having a first predetermined physical size and a first predetermined logical size, is receiving additional bytes from the fixed-speed bus, and the transmit FIFO buffer memory, the transmit FIFO buffer memory having a second predetermined physical size, the second predetermined physical size differing from the first predetermined physical size and a second predetermined logical size, the second predetermined logical size differing from the first predetermined logical size, stores one or more frames as indicated by a one or more frames signal; and prioritizing said pending second data transfer over pending first data transfer when the transmit FIFO buffer memory does not contain at least one frame, or the receive FIFO buffer memory is not receiving additional bytes from the fixed-speed bus.
References Cited (Backward Citations)
GB1564989A
Cited
GB2009983A
Cited
US4151598A
Cited
US4298954A
Cited
EP0029331A1
Cited
US4472803A
Cited
US4506324A
Cited
GB2133188A
Cited
EP0116863A1
Cited
US4590467A
Cited
EP0141742A2
Cited
US4918597A
Cited
GB2176917A
Cited
US4799215A
Cited
EP0225024A2
Cited
GB2184270A
Cited
EP0245765A2
Cited
US4823312A
Cited
GB2203616A
Cited
GB2222504A
Cited
EP0307931A2
Cited
US4841550A
Cited
US5335325A
Cited
US5175818A
Cited
US4945548A
Cited
US4942553A
Cited
US4893304A
Cited
EP0359137A2
Cited
EP0360721A2
Cited
GB2226739A
Cited
US5155810A
Cited
US5146564A
Cited
US5111294A
Cited
US5072420A
Cited
US5126999A
Cited
US5179661A
Cited
EP0425964A2
Cited
US5159591A
Cited
US5043981A
Cited
US5210749A
Cited
GB2248007A
Cited
US5136584A
Cited
US5165021A
Cited
WO1992015055A1
Cited
GB2256563A
Cited
US5440691A
Cited
US5448701A
Cited
US5546543A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-05-23 | 2003-11-22 | 2004-05-23 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-05-23 | 2007-11-22 | 2008-05-23 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-05-23 | 2011-11-22 | 2012-05-23 | $7700.00 | Window Closed / Lapsed |