Method/apparatus for dynamically changing FIFO draining...

Electrical computers and digital data processing systems: input/ – Input/output data processing – Input/output data buffering

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S029000, C710S040000, C710S041000, C710S053000, C710S057000

Reexamination Certificate

active

06192428

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to the field of computer systems, and specifically, to a method and apparatus for dynamically changing draining priority of a receive FIFO.
2. Background Information
Generally, first-in/first-out devices (“FIFOs”) are used to buffer data that originates from one bus architecture and is targeted to a device in another bus architecture. For example, a computer system may include a processor, memory, and one or more peripheral devices coupled together by a first bus architecture (e.g., a system bus). A second bus architecture may include a serial peripheral bus (e.g., a universal serial bus “USB”, a 1394 serial bus, IEEE 1394-1995 High Performance Serial Bus IEEE, 1995, etc.) with one or more peripheral devices coupled thereto. A bus bridge containing FIFOs therein is typically used to bridge and buffer transactions between the first and second bus architectures.
Data that is received in a receive FIFO from a peripheral device on the serial bus must be placed in memory for processing by the processor. If data is not placed in memory fast enough, a data over-run condition may occur (i.e., when data is received by a full FIFO to cause data already contained therein to be overwritten). Typical prior art receive FIFOs generate a request to drain the FIFO into memory when the FIFO becomes almost full (e.g., 90% full) and do not appear to have any programmable features to change this. However, before data can be drained from the FIFO into memory, access to the bus is required. The time that it takes to gain access to the bus (referred to as “bus latency”) is non-deterministic and depends on several factors including the bus speed, the number of devices requesting access to the bus, and the like. Thus, since the bus architecture is susceptible to bus latencies and the serial peripheral device that is originating the data cannot be throttled, an over-run condition may occur, thereby resulting in a loss of data.
The depth of the receive FIFO is one factor in determining the bus latency that the FIFO can handle without an over-run condition occurring. The issue of bus latency is exacerbated by the fact that prior to writing data from the receive FIFO into memory, one or more commands may need to be fetched from memory. That is, a typical data packet received in a FIFO may require a command fetch, data storage, and status write-back, all to different locations in memory.
One possible solution is to provide first and second FIFOs where when one FIFO becomes full with data, the data is switched to the other FIFO while the first FIFO drains. However, this possible solution requires two buffers which adds complexity to the system and decreases the granularity for draining the FIFOs. Moreover, this solution may still cause an over-run condition when using a high speed serial bus (e.g., a 1394 serial bus).
Accordingly, there is a need for a method and apparatus to dynamically change draining priority of a receive FIFO to prevent data over-run conditions.
SUMMARY OF THE INVENTION
In one aspect, the present invention is a method of dynamically changing draining priority in a first-in/first out (“FIFO”) device to prevent over-run errors. The method includes the steps of detecting data received in the FIFO, asserting a request to drain the FIFO, detecting when an amount of data received in the FIFO has reached a predetermined high watermark value, and asserting a higher priority request to drain the FIFO.


REFERENCES:
patent: 5121480 (1992-06-01), Bonke et al.
patent: 5208810 (1993-05-01), Park
patent: 5448701 (1995-09-01), Metz, Jr. et al.
patent: 5473604 (1995-12-01), Lorenz et al.
patent: 5541926 (1996-07-01), Saito et al.
patent: 5546543 (1996-08-01), Yang et al.
patent: 5592622 (1997-01-01), Isfeld et al.
patent: 5664223 (1997-09-01), Bender et al.
patent: 5687348 (1997-11-01), Whittaker
patent: 5717904 (1998-02-01), Ehlers et al.
patent: 5732094 (1998-03-01), Petersen et al.
patent: 5802059 (1998-09-01), Hayashi
patent: 5822300 (1999-05-01), Johnson et al.
patent: 5845239 (1998-12-01), Laczko, Sr. et al.
patent: 5854910 (1998-12-01), Gulick
patent: 5872919 (1999-02-01), Wakeland
patent: 5877741 (1999-03-01), Chee et al.
patent: 5881313 (1999-03-01), Ramakrishnan et al.
patent: 5904732 (1999-05-01), Greenley et al.
patent: 5983301 (1999-11-01), Baker et al.
patent: 5991304 (1999-11-01), Abramson
patent: 6026444 (2000-02-01), Quattromani et al.
patent: 6091707 (2000-07-01), Egbert et al.

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

Method/apparatus for dynamically changing FIFO draining... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method/apparatus for dynamically changing FIFO draining..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method/apparatus for dynamically changing FIFO draining... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2603732

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