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

Apparatus for controlling FIFO buffer data transfer by monitoring bus status and FIFO buffer thresholds

Assignee: Cirrus Logic Inc
•
Filing: 1995-01-04
•
Granted: 1998-06-23
•
Expires: 2015-01-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract This invention provides efficient and flexible data transfer management for a First-In First-Out (FIFO) buffer connects to a system bus and implements multiple data thresholds (e.g., two). Data transfer by the FIFO is controlled by either casually or more aggressively acquiring the system bus based on the amount of data inside the FIFO and on the state of the system bus. By balancing the bus activity level against the FIFO data level, bus access is facilitated at times when the bus has lower activity. This makes the FIFO less obtrusive when moving data across the bus. As a result, the bus is used more efficiently. The system bus is casually acquired when the FIFO data level reaches a soft threshold and the system bus is idle. Casual control of the system bus is relinquished when request from another device sharing the bus is received and a predetermined amount of data has been transferred. On the other hand, the system bus is more aggressively acquired when the FIFO data level reaches a hard threshold. Aggressive control of the system bus is relinquished only when data transfer is complete or when there is an emergency condition such as bus error. The thresholds can be dynamically adjusted based on the bus activity level. In another embodiment of the present invention, the amount of data transfer varies depending on whether the soft or hard threshold is crossed.

Inventors

  • 👤 Geary Leger
  • 👤 Sriraman Chari

Bibliographic Details

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

Claims Analysis

Total Claims: 42
Claim 1
Independent Claim 164 words
An apparatus for controlling data transfer by a first-in-first-out (FIFO) buffer coupled between a system bus and an external interface, comprising: means coupled to sad FIFO buffer for monitoring a status of said FIFO buffer, wherein said FIFO buffer has multiple data thresholds, said FIFO buffer status monitoring means keeps track of amount of data in said FIFO buffer by determining whether a data level crosses said multiple data thresholds; means coupled to said FIFO buffer monitoring means and said system bus for monitoring a status of said system bus, said system bus status monitoring means monitoring whether said system bus is idle, busy, or being requested by another device coupled to said system bus; and means coupled to said FIFO buffer monitoring means, said system bus status monitoring means, and said system bus for casually or more aggressively acquiring control of said system bus, selectively, for transferring data depending on said status of said FIFO buffer and said status of said system bus.
Claim 2
Independent Claim 164 words
An apparatus for controlling data transfer by a first-in-first-out (FIFO) buffer coupled between a system bus and an external interface, comprising: means coupled to sad FIFO buffer for monitoring a status of said FIFO buffer, wherein said FIFO buffer has multiple data thresholds, said FIFO buffer status monitoring means keeps track of amount of data in said FIFO buffer by determining whether a data level crosses said multiple data thresholds; means coupled to said FIFO buffer monitoring means and said system bus for monitoring a status of said system bus, said system bus status monitoring means monitoring whether said system bus is idle, busy, or being requested by another device coupled to said system bus; and means coupled to said FIFO buffer monitoring means, said system bus status monitoring means, and said system bus for casually or more aggressively acquiring control of said system bus, selectively, for transferring data depending on said status of said FIFO buffer and said status of said system bus.
Claim 3
Dependent Claim 53 words
The apparatus of claim 1, wherein said multiple data thresholds comprise a first and a second data threshold, the apparatus further comprises a means coupled to said FIFO buffer monitoring mean for dynamically adjusting at least one of said first and second data thresholds depending on fluctuating amount activities on said system bus.
Claim 4
Dependent Claim 39 words
The apparatus of claim 2 wherein said acquiring means casually acquires the control of said system bus for transferring data only during idle periods of said bus when said amount of data in said FIFO reaches said first threshold.
Claim 5
Dependent Claim 28 words
The apparatus of claim 3 wherein said acquiring means keeps track of the amount of the data transferred for determining whether a predetermined amount data has been transferred.
Claim 6
Dependent Claim 57 words
The apparatus of claim 4 wherein said acquiring means relinquishes said casual control of said system bus for transferring data after casually controlling said system bus to transfer a predetermined amount of data and after determining from said system bus monitoring means that a device coupled to said system bus is requesting the use of said bus.
Claim 7
Dependent Claim 33 words
The apparatus of claim 2 wherein said acquiring means more aggressively acquires the control of said system bus for transferring data when said amount of data in said FIFO reaches said second threshold.
Claim 8
Dependent Claim 44 words
The apparatus of claim 2 further comprises a means to count the number of times, Ri, that data level in said FIFO buffer reaches said first threshold in a predetermined period of time, Tr to determine the counts per time value, Cr, where Cr=Ri/Tr.
Claim 9
Dependent Claim 21 words
The apparatus of claim 7 further comprises a means to compare the counts per time, Cr, with a first predetermined value.
Claim 10
Dependent Claim 42 words
The apparatus of claim 8 wherein said first threshold level is adjusted in a direction to allow for less money storage room between said first threshold and said second threshold when said counts per time value, Cr, exceeds said first predetermined value.
Claim 11
Dependent Claim 21 words
The apparatus of claim 9 further comprises a means to compare the counts per time, Cr, with a second predetermined value.
Claim 12
Dependent Claim 43 words
The apparatus of claim 10 wherein said first threshold level is adjusted in a direction to allow for more memory storage room between said first threshold and said second threshold when said counts per time value, Cr, falls below said second predetermined value.
Claim 13
Dependent Claim 15 words
The apparatus of claim 11 wherein said first threshold adjustment stays within a predetermined range.
Claim 14
Independent Claim 162 words
An apparatus for controlling data transfer by a receiver first-in-first-out (FIFO) buffer coupled between a system bus and an external interface, comprising: means coupled to said FIFO buffer for monitoring a status of said FIFO buffer, wherein said FIFO buffer having multiple data thresholds, said FIFO buffer monitoring means monitoring whether a data level crosses a first or a second threshold to keep track of data amount in said FIFO buffer; means coupled to said FIFO buffer status monitoring means and said system bus for monitoring a status of said system bus, said system bus status monitoring means monitoring whether said system bus is idle, busy, or being requested by another device coupled to said system bus; and means responsive to said status of said FIFO buffer and said status of said data bus for casually or more aggressively acquiring control of said system bus, selectively, for transferring data received by said FIFO buffer from said external interface across said system bus.
Claim 15
Independent Claim 162 words
An apparatus for controlling data transfer by a receiver first-in-first-out (FIFO) buffer coupled between a system bus and an external interface, comprising: means coupled to said FIFO buffer for monitoring a status of said FIFO buffer, wherein said FIFO buffer having multiple data thresholds, said FIFO buffer monitoring means monitoring whether a data level crosses a first or a second threshold to keep track of data amount in said FIFO buffer; means coupled to said FIFO buffer status monitoring means and said system bus for monitoring a status of said system bus, said system bus status monitoring means monitoring whether said system bus is idle, busy, or being requested by another device coupled to said system bus; and means responsive to said status of said FIFO buffer and said status of said data bus for casually or more aggressively acquiring control of said system bus, selectively, for transferring data received by said FIFO buffer from said external interface across said system bus.
Claim 16
Dependent Claim 39 words
The apparatus of claim 13, further comprises a means coupled to said FIFO buffer monitoring means for dynamically adjusting at least one of said first and second data thresholds depending on fluctuating amount of activities on said system bus.
Claim 17
Dependent Claim 39 words
The apparatus of claim 13 wherein said acquiring means casually acquires the control of said system bus for transferring data only during idle periods of said bus when said amount of data in said FIFO reaches said first threshold.
Claim 18
Dependent Claim 28 words
The apparatus of claim 15 wherein said acquiring means keeps track of the amount of data transferred for determining whether a predetermined amount of data has been transferred.
Claim 19
Dependent Claim 56 words
The apparatus of claim 16 wherein said acquiring means relinquishes casual control of said system bus for transferring data after casually controlling said system bus to transfer a predetermined amount of data and after determining from said system bus monitoring means that a device coupled to said system bus is requesting the use of said bus.
Claim 20
Dependent Claim 33 words
The apparatus of claim 17 wherein said acquiring means more aggressively acquires the control of said system bus for transferring data when said amount of data in said FIFO reaches said second threshold.
Claim 21
Independent Claim 162 words
An apparatus for controlling data transfer by a transmitter first-in-first-out (FIFO) buffer coupled between a system bus and an external interface, comprising; means coupled to said FIFO buffer for monitoring a status of said FIFO buffer, wherein said FIFO buffer having multiple data thresholds, said FIFO buffer monitoring means monitoring whether a data level crosses a first or a second threshold to keep track of data amount in said FIFO buffer; means coupled to said FIFO buffer status monitoring means and said system bus for monitoring a status of said system bus, said system bus status monitoring means monitoring whether said system bus is idle, busy, or being requested by another device coupled to said system bus; and means responsive to said status of said FIFO buffer and said status of said data bus for casually or more aggressively acquiring control of said system bus, selectively, for transferring data received by said FIFO buffer from said external interface across said system bus.
Claim 22
Independent Claim 162 words
An apparatus for controlling data transfer by a transmitter first-in-first-out (FIFO) buffer coupled between a system bus and an external interface, comprising; means coupled to said FIFO buffer for monitoring a status of said FIFO buffer, wherein said FIFO buffer having multiple data thresholds, said FIFO buffer monitoring means monitoring whether a data level crosses a first or a second threshold to keep track of data amount in said FIFO buffer; means coupled to said FIFO buffer status monitoring means and said system bus for monitoring a status of said system bus, said system bus status monitoring means monitoring whether said system bus is idle, busy, or being requested by another device coupled to said system bus; and means responsive to said status of said FIFO buffer and said status of said data bus for casually or more aggressively acquiring control of said system bus, selectively, for transferring data received by said FIFO buffer from said external interface across said system bus.
Claim 23
Dependent Claim 39 words
The apparatus of claim 19, further comprises a means coupled to said FIFO buffer monitoring means for dynamically adjusting at least one of said first and second data thresholds depending on fluctuating amount of activities on said system bus.
Claim 24
Dependent Claim 39 words
The apparatus of claim 19 wherein said acquiring means casually acquires the control of said system bus for transferring data only during idle periods of said bus when said amount of data in said FIFO reaches said first threshold.
Claim 25
Dependent Claim 28 words
The apparatus of claim 21 wherein said acquiring means keeps track of the amount of data transferred for determining whether a predetermined amount of data has been transferred.
Claim 26
Dependent Claim 56 words
The apparatus of claim 22 wherein said acquiring means relinquishes casual control of said system bus for transferring data after casually controlling said system bus for transferring a predetermined amount of data and after determining from said system bus monitoring means that a device coupled to said system bus is requesting the use of said bus.
Claim 27
Dependent Claim 33 words
The apparatus of claim 19 wherein said acquiring means more aggressively acquires the control of said system bus for transferring data when said amount of data in said FIFO reaches said second threshold.
Claim 28
Independent Claim 125 words
A method for controlling data transfer by a FIFO buffer coupled to a system bus, said method comprising: monitoring an amount of data in said FIFO, wherein said FIFO buffer has multiple data thresholds and said FIFO buffer monitoring means keeps track of amount of data in said FIFO buffer monitoring by monitoring whether a data level crosses said multiple data thresholds; monitoring activity of said system bus by monitoring whether said system bus is idle, busy, or being requested by another device coupled to said system bus; and acquiring a casual or more aggressive control of said system bus, selectively, for transferring data to and from said FIFO buffer depending on a status of said FIFO buffer and a status of said system bus.
Claim 29
Independent Claim 125 words
A method for controlling data transfer by a FIFO buffer coupled to a system bus, said method comprising: monitoring an amount of data in said FIFO, wherein said FIFO buffer has multiple data thresholds and said FIFO buffer monitoring means keeps track of amount of data in said FIFO buffer monitoring by monitoring whether a data level crosses said multiple data thresholds; monitoring activity of said system bus by monitoring whether said system bus is idle, busy, or being requested by another device coupled to said system bus; and acquiring a casual or more aggressive control of said system bus, selectively, for transferring data to and from said FIFO buffer depending on a status of said FIFO buffer and a status of said system bus.
Claim 30
Dependent Claim 30 words
The method of claim 25, further comprises the step of dynamically adjusting at least one of said multiple data thresholds depending on fluctuating amount of activities on said system bus.
Claim 31
Independent Claim 162 words
An apparatus for controlling data transfer by a FIFO buffer coupled between a system bus and an external interface, comprising: first means for monitoring quantity of data stored in said FIFO buffer; second means for monitoring a status of said system bus by determining whether said system bus is idle, busy, or being requested by another device coupled to said system bus; means for establishing first and second data thresholds associated with said FIFO buffer; means for comparing data stored in said FIFO buffer to said first and second data thresholds; means response to said first monitoring means, said second monitoring means, and said comparing means for casually or more aggressively acquiring the control of said system bus, selectively, for transferring data depending on the state of said FIFO buffer and the state of said system bus; and means for dynamically adjusting at least one of said first and second data thresholds depending on the fluctuating amount of activities on said bus.
Claim 32
Independent Claim 162 words
An apparatus for controlling data transfer by a FIFO buffer coupled between a system bus and an external interface, comprising: first means for monitoring quantity of data stored in said FIFO buffer; second means for monitoring a status of said system bus by determining whether said system bus is idle, busy, or being requested by another device coupled to said system bus; means for establishing first and second data thresholds associated with said FIFO buffer; means for comparing data stored in said FIFO buffer to said first and second data thresholds; means response to said first monitoring means, said second monitoring means, and said comparing means for casually or more aggressively acquiring the control of said system bus, selectively, for transferring data depending on the state of said FIFO buffer and the state of said system bus; and means for dynamically adjusting at least one of said first and second data thresholds depending on the fluctuating amount of activities on said bus.
Claim 33
Dependent Claim 39 words
The apparatus of claim 27 wherein said acquiring means casually acquires the control of said system bus for transferring data only during idle periods of said bus when said amount of data in said FIFO reaches said first threshold.
Claim 34
Dependent Claim 28 words
The apparatus of claim 28 wherein said acquiring means keeps track of the amount of the data transferred for determining whether a predetermined amount data has been transferred.
Claim 35
Dependent Claim 57 words
The apparatus of claim 29 wherein said acquiring means relinquishes said casual control of said system bus for transferring data after casually controlling said system bus to transfer a predetermined amount of data and after determining from said system bus monitoring means that a device coupled to said system bus is requesting the use of said bus.
Claim 36
Dependent Claim 33 words
The apparatus of claim 27 wherein said acquiring means more aggressively acquires the control of said system bus for transferring data when said amount of data in said FIFO reaches said second threshold.
Claim 37
Dependent Claim 49 words
The apparatus of claim 27 wherein said threshold adjusting means comprises a means to count the number of times, Ri, that data level in said FIFO buffer reaches said first data threshold in a predetermined period of time, Tr to determine the counts per time value, Cr, where Cr=Ri/Tr.
Claim 38
Dependent Claim 21 words
The apparatus of claim 32 further comprises a means to compare the counts per time, Cr, with a first predetermined value.
Claim 39
Dependent Claim 42 words
The apparatus of claim 33 wherein said first threshold level is adjusted in a direction to allow for less money storage room between said first threshold and said second threshold when said counts per time value, Cr, exceeds said first predetermined value.
Claim 40
Dependent Claim 21 words
The apparatus of claim 34 further comprises a means to compare the counts per time, Cr, with a second predetermined value.
Claim 41
Dependent Claim 43 words
The apparatus of claim 35 wherein said first threshold level is adjusted in a direction to allow for more memory storage room between said first threshold and said second threshold when said counts per time value, Cr, falls below said second predetermined value.
Claim 42
Dependent Claim 15 words
The apparatus of claim 36 wherein said first threshold adjustment stays within a predetermined range.

References Cited (Backward Citations)

US5237660A Cited
US5278956A Cited
US5181201A Cited
US5295246A Cited
US5379399A Cited
US5440691A Cited
US5566175A Cited
US5299315A Cited
US5546543A Cited
US5506967A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-22 2001-12-22 2002-06-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-22 2005-12-22 2006-06-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-22 2009-12-22 2010-06-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag