Patent US5859980A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5859980A Expired / Lapsed US ⏱️ 0.0 years remaining

Network interface having adaptive transmit start point for each packet to avoid transmit underflow

Assignee: Advanced Micro Devices Inc
•
Filing: 1996-02-08
•
Granted: 1999-01-12
•
Expires: 2016-02-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A network interface transmits data packets between a host computer and a network and includes a first in first out (FIFO) buffer memory with an adaptive transmit start point determined for each data packet. The network interface receives data packets from the host computer via a peripheral component interconnect (PCI) bus. A FIFO control determines the byte length of each data packet based on the header information contained in the first few received bytes of the packet. The FIFO control also measures a minimum fill time indicating the time necessary to fill the FIFO buffer memory with a predetermined minimum amount of data necessary before transmission by the FIFO buffer memory. The FIFO control calculates the time to fill the FIFO buffer memory with each packet based on the determined length and the measured minimum fill time. The time to empty the packet from the FIFO buffer memory is also calculated based upon the length of the packet and predetermined network transmission rates. If the time to empty the packet from the FIFO buffer memory is greater than or equal to the time to fill the FIFO buffer memory, the transmit start point is set to the predetermined minimum amount; otherwise, the transmit start point is adjusted in accordance with the difference in time between filling and emptying the FIFO buffer memory with the packet, a FIFO fill rate based on the measured minimum fill time, and a coefficient that accounts for latencies in the PCI bus.

Inventors

  • 👤 Mohan Kalkunte

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 08:12
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/90; H04L49/9063; H04L49/901; H04L49/9031

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 177 words
A network interface comprising: a computer bus interface receiving data packets from a host computer, each of the data packets comprising a plurality of data bytes; a first in first out (FIFO) buffer receiving the data bytes of each said packets from the computer bus interface and having a predetermined byte storage requirement before transmission of the data bytes; a network bus interface outputting data from said FIFO buffer onto a network bus at a network transmission rate; and means for setting a transmit start point of said FIFO buffer for said each data packets, wherein the setting means comprises: (1) means for determining a byte length for said each data packet, and (2) means for measuring a time interval for the FIFO buffer to receive a number of said bytes of said each data packet corresponding to said predetermined byte storage requirement, said setting means setting the transmit start point in response to the determined byte length of said each data packet, the determined time interval, the network transmission rate, and said predetermined byte storage requirement.
Claim 2
Dependent Claim 177 words
A network interface comprising: a computer bus interface receiving data packets from a host computer, each of the data packets comprising a plurality of data bytes; a first in first out (FIFO) buffer receiving the data bytes of each said packets from the computer bus interface and having a predetermined byte storage requirement before transmission of the data bytes; a network bus interface outputting data from said FIFO buffer onto a network bus at a network transmission rate; and means for setting a transmit start point of said FIFO buffer for said each data packets, wherein the setting means comprises: (1) means for determining a byte length for said each data packet, and (2) means for measuring a time interval for the FIFO buffer to receive a number of said bytes of said each data packet corresponding to said predetermined byte storage requirement, said setting means setting the transmit start point in response to the determined byte length of said each data packet, the determined time interval, the network transmission rate, and said predetermined byte storage requirement.
Claim 3
Dependent Claim 67 words
The network interface of claim 1, wherein said setting means further comprises: (3) means for calculating a fill time of said FIFO for said each data packet; (4) means for calculating a removal time of said each data packet, said setting means setting said transmit start point in response to a comparison between the calculated fill time and the calculated removal time for said each data packet.
Claim 4
Dependent Claim 62 words
The network interface of claim 2, wherein said setting means comprises means for calculating a differential buffer capacity, if said removal time is less than said fill time, by multiplying a difference of said removal time and said fill time by a host computer latency coefficient and a fill rate representing said predetermined byte storage requirement divided by said measured time interval.
Claim 5
Dependent Claim 182 words
A network interface comprising: a computer bus interface receiving data packets from a host computer, each of the data packets comprising a plurality of data bytes; a first in first out (FIFO) buffer receiving the data bytes of each said packets from the computer bus interface and having a predetermined byte storage requirement before transmission of the data bytes; a network bus interface outputting data from said FIFO buffer onto a network bus at a network transmission rate; and means for setting a transmit start point of said FIFO buffer for said each data packets wherein the setting means comprises: a length determining unit configured for determining a length of said each data packet; a fill time calculator configured for determining a first total time to fill the FIFO buffer with the corresponding each data packet based on the corresponding length; and a removal time calculator configured for determining a second total time to remove the corresponding each data packet based on the corresponding length, the setting means setting the transmit start point based on the determined first and second total times.
Claim 6
Dependent Claim 182 words
A network interface comprising: a computer bus interface receiving data packets from a host computer, each of the data packets comprising a plurality of data bytes; a first in first out (FIFO) buffer receiving the data bytes of each said packets from the computer bus interface and having a predetermined byte storage requirement before transmission of the data bytes; a network bus interface outputting data from said FIFO buffer onto a network bus at a network transmission rate; and means for setting a transmit start point of said FIFO buffer for said each data packets wherein the setting means comprises: a length determining unit configured for determining a length of said each data packet; a fill time calculator configured for determining a first total time to fill the FIFO buffer with the corresponding each data packet based on the corresponding length; and a removal time calculator configured for determining a second total time to remove the corresponding each data packet based on the corresponding length, the setting means setting the transmit start point based on the determined first and second total times.
Claim 7
Dependent Claim 137 words
A network interface comprising: a computer bus interface configured for receiving a data packet from a host computer, the data packet composed of data bytes; a first in first out (FIFO) buffer configured for receiving the data bytes of the data packet from the computer bus interface and having a predetermined byte storage requirement before transmission of the data bytes; a network media interface configured for outputting data from said FIFO buffer onto a network media at a prescribed network transmission rate; and a buffer controller configured for setting a transmit start point for the data packet, the transmit start point specifying a number of stored data bytes in the FIFO buffer causing output of the stored data bytes from the FIFO buffer and having a value greater than or equal to the predetermined byte storage requirement.
Claim 8
Dependent Claim 137 words
A network interface comprising: a computer bus interface configured for receiving a data packet from a host computer, the data packet composed of data bytes; a first in first out (FIFO) buffer configured for receiving the data bytes of the data packet from the computer bus interface and having a predetermined byte storage requirement before transmission of the data bytes; a network media interface configured for outputting data from said FIFO buffer onto a network media at a prescribed network transmission rate; and a buffer controller configured for setting a transmit start point for the data packet, the transmit start point specifying a number of stored data bytes in the FIFO buffer causing output of the stored data bytes from the FIFO buffer and having a value greater than or equal to the predetermined byte storage requirement.
Claim 9
Dependent Claim 71 words
The network interface of claim 5, wherein the buffer controller comprises: a length determining unit configured for determining a length of the data packet; a fill time calculator configured for determining a first total time to fill the FIFO buffer with the data packet based on the corresponding length; and a removal time calculator configured for determining a second total time to remove the data packet based on the corresponding length.
Claim 10
Dependent Claim 55 words
The network interface of claim 6, wherein the buffer controller further comprises a time interval counter configured for counting a time interval for storing in the FIFO buffer a number of data bytes corresponding to the predetermined byte storage requirement, the fill time calculator determining the first total time based on the counted time interval.

References Cited (Backward Citations)

US5257250A Cited
US5136582A Cited
US5210749A Cited
US5315580A Cited
US5159447A Cited
EP0577115A2 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-01-11 2002-07-13 2003-01-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-01-11 2006-07-13 2007-01-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-01-11 2010-07-13 2011-01-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag