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

Method and apparatus for minimizing asynchronous transmit FIFO under-run and receive FIFO over-run conditions

Assignee: Intel Corp
•
Filing: 1998-02-13
•
Granted: 1999-11-23
•
Expires: 2018-02-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A circuit adapted to a first-in/first-out device ("FIFO") is disclosed. The circuit includes a counter and a first end of packet detector that is coupled to the counter. The first end of packet detector increments the counter if an end of packet is detected at an input of the FIFO. The circuit also includes a second end of packet detector coupled to the counter. The second end of packet detector decrements the counter if an end of packet is detected at an output of the FIFO. A detector circuit is coupled to an output of the counter and requests a bus transaction in response to the output of the counter. In another aspect, the present invention is a method of preventing data over-run errors in a receive FIFO having an input and an output. The method includes the steps of monitoring an input of the receive FIFO to determine a number of data packets received, monitoring an output of the receive FIFO for an end of packet to determine a number of data packets drained, and asserting a busy acknowledge line if the difference between the number of data packets received and the number of data packets drained is greater than and alternatively equal to a predetermined value.

Inventors

  • 👤 Darren L. Abramson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 19:32
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/382; G06F13/385

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 104 words
Adapted to a first-in/first-out device (FIFO), a circuit comprising: a counter; a first end of packet detector coupled to said counter, said first end of packet detector to increment said counter if an end of packet is detected at an input of the FIFO; a second end of packet detector coupled to said counter, said second end of packet detector to decrement said counter if an end of packet is detected at an output of the FIFO; and a detector circuit coupled to an output of said counter, said detector circuit to request a bus transaction in response to said output of said counter.
Claim 2
Dependent Claim 104 words
Adapted to a first-in/first-out device (FIFO), a circuit comprising: a counter; a first end of packet detector coupled to said counter, said first end of packet detector to increment said counter if an end of packet is detected at an input of the FIFO; a second end of packet detector coupled to said counter, said second end of packet detector to decrement said counter if an end of packet is detected at an output of the FIFO; and a detector circuit coupled to an output of said counter, said detector circuit to request a bus transaction in response to said output of said counter.
Claim 3
Dependent Claim 65 words
The circuit of claim 1 further comprising: an OR gate having a first input coupled to the detector circuit, a second input, and an output; and a signal line coupled to the second input of the OR gate, the signal line having a FIFO full signal thereon, said FIFO full signal being asserted to indicate that the FIFO is filled beyond a predetermined threshold value.
Claim 4
Dependent Claim 39 words
The circuit of claim 2 wherein the output of the OR gate is asserted to request a bus transaction in response to said output of said counter being greater than zero and alternatively said FIFO full signal being asserted.
Claim 5
Dependent Claim 32 words
The circuit of claim 3 further comprising a DMA engine coupled to the input of the FIFO, said DMA engine to retrieve and place one or more data packets in said FIFO.
Claim 6
Dependent Claim 21 words
The circuit of claim 4 wherein a data packet has a length that is greater than a depth of the FIFO.
Claim 7
Independent Claim 58 words
A method of reducing under-run errors in a first-in/first-out ("FIFO"), comprising: receiving at least a portion of a data packet in the FIFO; monitoring an input of the FIFO to detect an end of the data packet; and asserting a request line to transmit the data in the FIFO if the end of the data packet is detected.
Claim 8
Independent Claim 58 words
A method of reducing under-run errors in a first-in/first-out ("FIFO"), comprising: receiving at least a portion of a data packet in the FIFO; monitoring an input of the FIFO to detect an end of the data packet; and asserting a request line to transmit the data in the FIFO if the end of the data packet is detected.
Claim 9
Dependent Claim 27 words
The method of claim 6 further comprising monitoring an output of the FIFO to detect the end of the data packet at an output of the FIFO.
Claim 10
Dependent Claim 43 words
The method of claim 6 further comprising de-asserting the request line if the end of the data packet is detected at an output of the FIFO and an end of a subsequent data packet is not detected at the input of the FIFO.
Claim 11
Dependent Claim 20 words
The method of claim 6 further comprising asserting the request line if the FIFO is filled beyond a predetermined threshold.
Claim 12
Dependent Claim 55 words
The method of claim 6 wherein monitoring the input of the FIFO comprises: detecting a header of the data packet that is received by the FIFO; determining the size of the data packet in response to detecting the header of the data packet; and counting the number of units of data received by the FIFO.
Claim 13
Dependent Claim 124 words
Adapted to a first-in/first-out device (FIFO), a circuit comprising: a counter; a first end of packet detector coupled to a first input of said counter, said first end of packet detector to increment said counter if an end of packet is detected at an input of the FIFO; a second end of packet detector coupled to a second input of said counter, said second end of packet detector to decrement said counter if an end of packet is detected at an output of the FIFO; a register to be loaded with a predetermined value; and a comparator to compare a count value provided by said counter and the predetermined value provided by said register and to assert an acknowledge busy signal in response thereto.
Claim 14
Dependent Claim 124 words
Adapted to a first-in/first-out device (FIFO), a circuit comprising: a counter; a first end of packet detector coupled to a first input of said counter, said first end of packet detector to increment said counter if an end of packet is detected at an input of the FIFO; a second end of packet detector coupled to a second input of said counter, said second end of packet detector to decrement said counter if an end of packet is detected at an output of the FIFO; a register to be loaded with a predetermined value; and a comparator to compare a count value provided by said counter and the predetermined value provided by said register and to assert an acknowledge busy signal in response thereto.
Claim 15
Dependent Claim 35 words
The circuit of claim 11 wherein said comparator asserts said acknowledge busy signal if said count value is equal to said predetermined value and alternatively if said count value is greater than said predetermined value.
Claim 16
Dependent Claim 30 words
The circuit of claim 12 further comprising a DMA engine coupled to the output of the FIFO, said DMA engine to drain one or more data packets from the FIFO.
Claim 17
Dependent Claim 20 words
The circuit of claim 13 wherein each of the one or more packets includes asynchronous data and alternatively isochronous data.
Claim 18
Dependent Claim 58 words
The circuit of claim 14 further comprising a data packet detector coupled to the input of said FIFO, said data packet detector to transmit said one or more data packets to said FIFO if said one or more data packets are addressed to the FIFO, otherwise said data packet detector to ignore said one or more data packets.
Claim 19
Independent Claim 83 words
A method of preventing data over-run errors in a first-in/first-out ("FIFO"), comprising: monitoring an input of the FIFO for an end of packet to determine a number of data packets received; monitoring an output of the FIFO for an end of packet to determine a number of data packets drained; and asserting a busy acknowledge signal if the difference between the number of data packets received and the number of data packets drained is greater than and alternatively equal to a predetermined value.
Claim 20
Independent Claim 83 words
A method of preventing data over-run errors in a first-in/first-out ("FIFO"), comprising: monitoring an input of the FIFO for an end of packet to determine a number of data packets received; monitoring an output of the FIFO for an end of packet to determine a number of data packets drained; and asserting a busy acknowledge signal if the difference between the number of data packets received and the number of data packets drained is greater than and alternatively equal to a predetermined value.
Claim 21
Dependent Claim 35 words
The method of claim 16 further comprising de-asserting said busy acknowledge signal if the difference between the number of data packets received and the number of data packets drained is less than said predetermined value.
Claim 22
Dependent Claim 12 words
The method of claim 17 wherein said predetermined value is user programmable.
Claim 23
Dependent Claim 59 words
The method of claim 16 wherein asserting a busy acknowledge signal comprises asserting a busy acknowledge signal to indicate that the FIFO is busy and to prevent further receipt of data packets if the difference between the number of data packets received and the number of data packets drained is greater than and alternatively equal to the predetermined value.
Claim 24
Dependent Claim 49 words
The method of claim 16 wherein monitoring the input of the receive FIFO comprises: detecting a header of the packet; determining a size of the packet responsive to detecting the header of the packet; and counting a number of units of data to determine the end of the packet.
Claim 25
Dependent Claim 126 words
A computer system, comprising: a first bus; a second bus; and a circuit coupled between the first and second buses, the circuit including, a first-in/first-out device (FIFO), a counter, a first end of packet detector coupled to said counter, said first end of packet detector to increment said counter if an end of packet is detected at an input of the FIFO, a second end of packet detector coupled to said counter, said second end of packet detector to decrement said counter if an end of packet is detected at an output of the FIFO, and a detector circuit coupled to an output of said counter, said detector circuit to request a bus transaction on the second bus in response to said output of said counter.
Claim 26
Dependent Claim 126 words
A computer system, comprising: a first bus; a second bus; and a circuit coupled between the first and second buses, the circuit including, a first-in/first-out device (FIFO), a counter, a first end of packet detector coupled to said counter, said first end of packet detector to increment said counter if an end of packet is detected at an input of the FIFO, a second end of packet detector coupled to said counter, said second end of packet detector to decrement said counter if an end of packet is detected at an output of the FIFO, and a detector circuit coupled to an output of said counter, said detector circuit to request a bus transaction on the second bus in response to said output of said counter.
Claim 27
Dependent Claim 16 words
The computer system of claim 21 wherein the first bus comprises a peripheral component interconnect bus.
Claim 28
Dependent Claim 14 words
The computer system of claim 21 wherein the second bus comprises a serial bus.
Claim 29
Dependent Claim 69 words
The computer system of claim 21 wherein the circuit further comprises: an OR gate having a first input coupled to the detector circuit, a second input, and an output; and a signal line coupled to the second input of the OR gate, the signal line having a FIFO full signal thereon, said FIFO full signal being asserted to indicate that the FIFO is filled beyond a predetermined threshold value.
Claim 30
Dependent Claim 43 words
The computer system of claim 21 wherein the circuit further comprises a DMA engine coupled to the first bus and the input of the FIFO, said DMA engine to place said packet received from a device on the first bus in said FIFO.
Claim 31
Dependent Claim 146 words
A computer system comprising: a first bus; a second bus; and a circuit coupled between the first and second buses, the circuit including, a first-in/first-out device (FIFO), a counter, a first end of packet detector coupled to a first input of said counter, said first end of packet detector to increment said counter if an end of packet is detected at an input of the FIFO, a second end of packet detector coupled to a second input of said counter, said second end of packet detector to decrement said counter if an end of packet is detected at an output of the FIFO, a register to be loaded with a predetermined value, and a comparator to compare a count value provided by said counter and the predetermined value provided by said register and to assert an acknowledge busy signal on the second bus in response thereto.
Claim 32
Dependent Claim 146 words
A computer system comprising: a first bus; a second bus; and a circuit coupled between the first and second buses, the circuit including, a first-in/first-out device (FIFO), a counter, a first end of packet detector coupled to a first input of said counter, said first end of packet detector to increment said counter if an end of packet is detected at an input of the FIFO, a second end of packet detector coupled to a second input of said counter, said second end of packet detector to decrement said counter if an end of packet is detected at an output of the FIFO, a register to be loaded with a predetermined value, and a comparator to compare a count value provided by said counter and the predetermined value provided by said register and to assert an acknowledge busy signal on the second bus in response thereto.
Claim 33
Dependent Claim 16 words
The computer system of claim 26 wherein the first bus comprises a peripheral component interconnect bus.
Claim 34
Dependent Claim 14 words
The computer system of claim 26 wherein the second bus comprises a serial bus.
Claim 35
Dependent Claim 45 words
The computer system of claim 26 wherein the circuit further comprises a DMA engine coupled to the output of the FIFO and the first bus, said DMA engine to drain one or more data packets from the FIFO to a device on the first bus.
Claim 36
Dependent Claim 26 words
The computer system of claim 26 wherein the circuit further comprises a data packet detector coupled to the input of said FIFO and the second bus.

References Cited (Backward Citations)

US4907225A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag