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

Bidirectional FIFO buffer for interfacing between two buses of a multitasking system

Assignee: International Business Machines Corp
•
Filing: 1993-07-13
•
Granted: 1994-03-15
•
Expires: 2013-07-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Data transfers between a workstation bus and a graphics adapter bus are handled by a plurality of first-in-first-out (FIFO) buffers, each of which is independently operable to transfer data in a selected direction between the two buses. The FIFOs are accessible either directly by the workstation processor or by means of a DMA operation. Each FIFO is assigned a unique range of addresses in the address space of the workstation processor to permit a workstation process to transfer a block of data to or from a selected FIFO using a single instruction. Workstation writes (reads) to a FIFO are suspended in response to a first status signal indicating that the high (low) threshold for that FIFO has been reached and are restarted in response to a second status signal indicating that the low (high) threshold has been reached. A buffer counter indicating the amount of data in each FIFO is initialized at zero for outbound transfers from the workstation to the adapter or at the maximum buffer count for inbound transfers from the adapter to the workstation. The buffer count is incremented in response to accesses from the workstation side and is decremented in response to accesses from the adapter side, regardless of the direction of transfer.

Inventors

  • 👤 Gary Bischoff
  • 👤 Paul J. Milot
  • 👤 Marc Segre
  • 👤 Jeffrey S. Spencer
  • 👤 Leslie R. Wilson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 08:03
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/20; G06F13/28; G06F5/00; G06F5/06; G06F5/065; G06F2205/00; G06F2205/06; G06F2205/067

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 172 words
Apparatus for controlling a FIFO buffer to transfer data in a selected direction between a first line and a second line, said buffer having a first transfer mode in which data is transferred from said first line to said second line and a second transfer mode in which data is transferred from said second line to said first line, comprising: means for storing a buffer count indicating the amount of data in said buffer, said count ranging between a minimum count and a maximum count; means for initializing said buffer count in accordance with said transfer mode, said buffer count being initialized at said minimum count in said first transfer mode and being initialized at said maximum count in said second transfer mode; means for incrementing said count in either of said modes in response to the transfer of data between said first line and said buffer; and means for decrementing said count in either of said modes in response to the transfer of data between said second line and said buffer.
Claim 2
Dependent Claim 172 words
Apparatus for controlling a FIFO buffer to transfer data in a selected direction between a first line and a second line, said buffer having a first transfer mode in which data is transferred from said first line to said second line and a second transfer mode in which data is transferred from said second line to said first line, comprising: means for storing a buffer count indicating the amount of data in said buffer, said count ranging between a minimum count and a maximum count; means for initializing said buffer count in accordance with said transfer mode, said buffer count being initialized at said minimum count in said first transfer mode and being initialized at said maximum count in said second transfer mode; means for incrementing said count in either of said modes in response to the transfer of data between said first line and said buffer; and means for decrementing said count in either of said modes in response to the transfer of data between said second line and said buffer.
Claim 3
Independent Claim 168 words
A method of controlling a FIFO buffer to transfer data in a selected direction between a first line and a second line, said buffer having a first transfer mode in which data is transferred from said first line to said second line and a second transfer mode in which data is transferred from said second line to said first line, comprising the steps of: storing a buffer count indicating the amount of data in said buffer, said count ranging between a minimum count and a maximum count; initializing said buffer count in accordance with said transfer mode, said buffer count being initialized at said minimum count in said first transfer mode and being initialized at said maximum count in said second transfer mode; incrementing said count in either of said modes in response to the transfer of data between said first line and said buffer; and decrementing said count in either of said modes in response to the transfer of data between said second line and said buffer.
Claim 4
Independent Claim 168 words
A method of controlling a FIFO buffer to transfer data in a selected direction between a first line and a second line, said buffer having a first transfer mode in which data is transferred from said first line to said second line and a second transfer mode in which data is transferred from said second line to said first line, comprising the steps of: storing a buffer count indicating the amount of data in said buffer, said count ranging between a minimum count and a maximum count; initializing said buffer count in accordance with said transfer mode, said buffer count being initialized at said minimum count in said first transfer mode and being initialized at said maximum count in said second transfer mode; incrementing said count in either of said modes in response to the transfer of data between said first line and said buffer; and decrementing said count in either of said modes in response to the transfer of data between said second line and said buffer.
Claim 5
Dependent Claim 90 words
Apparatus for controlling the transfer of data between first and second processors via a FIFO buffer comprising: means for generating a count indicating the amount of data currently in said buffer; means for suspending the transfer of data between said first processor and said buffer in response to the determination of a predetermined relation between said count and a first threshold; and means for resuming said transfer between said first processor and said buffer in response to the determination of a predetermined relation between said count and a second threshold.
Claim 6
Dependent Claim 90 words
Apparatus for controlling the transfer of data between first and second processors via a FIFO buffer comprising: means for generating a count indicating the amount of data currently in said buffer; means for suspending the transfer of data between said first processor and said buffer in response to the determination of a predetermined relation between said count and a first threshold; and means for resuming said transfer between said first processor and said buffer in response to the determination of a predetermined relation between said count and a second threshold.
Claim 7
Dependent Claim 34 words
Apparatus as in claim 3 in which said transfer of data is from said first processor to said buffer, said first threshold being a high threshold and said second threshold being a low threshold.
Claim 8
Dependent Claim 34 words
Apparatus as in claim 3 in which said transfer of data is from said buffer to said first processor, said first threshold being a low threshold and said second threshold being a high threshold.
Claim 9
Dependent Claim 14 words
Apparatus as in claim 3 in which said first processor is a DMA controller.
Claim 10
Dependent Claim 14 words
Apparatus as in claim 3 in which said first processor is a central processor.
Claim 11
Dependent Claim 24 words
Apparatus as in claim 3 in which said suspending means generates a first interrupt signal and said resuming means generates a second interrupt signal.
Claim 12
Independent Claim 88 words
A method of controlling the transfer of data between first and second processors via a FIFO buffer comprising the steps of: generating a count indicating the amount of data currently in said buffer; suspending the transfer of data between said first processor and said buffer in response to the determination of a predetermined relation between said count and a first threshold; and resuming said transfer between said first processor and said buffer in response to the determination of a predetermined relation between said count and a second threshold.
Claim 13
Independent Claim 88 words
A method of controlling the transfer of data between first and second processors via a FIFO buffer comprising the steps of: generating a count indicating the amount of data currently in said buffer; suspending the transfer of data between said first processor and said buffer in response to the determination of a predetermined relation between said count and a first threshold; and resuming said transfer between said first processor and said buffer in response to the determination of a predetermined relation between said count and a second threshold.
Claim 14
Dependent Claim 35 words
A method as in claim 9 in which said transfer of data is from said first processor to said buffer, said first threshold being a high threshold and said second threshold being a low threshold.
Claim 15
Dependent Claim 35 words
A method as in claim 9 in which said transfer of data is from said buffer to said first processor, said first threshold being a low threshold and said second threshold being a high threshold.
Claim 16
Dependent Claim 98 words
Apparatus for controlling the transfer of data between first and second processors, said first processor generating an address signal indicating an address within a predetermined address space, said apparatus comprising: a FIFO buffer having a plurality of storage locations, said buffer having assigned thereto a predetermined range of addresses within said address space; means for coupling said buffer to said second processor; means for defining the storage location within said buffer for a next access by said first processor; and means responsive to an address signal within said predetermined range for accessing said buffer at said defined location.
Claim 17
Dependent Claim 98 words
Apparatus for controlling the transfer of data between first and second processors, said first processor generating an address signal indicating an address within a predetermined address space, said apparatus comprising: a FIFO buffer having a plurality of storage locations, said buffer having assigned thereto a predetermined range of addresses within said address space; means for coupling said buffer to said second processor; means for defining the storage location within said buffer for a next access by said first processor; and means responsive to an address signal within said predetermined range for accessing said buffer at said defined location.
Claim 18
Dependent Claim 32 words
Apparatus as in claim 12 in which said first processor generates a data signal with said address signal, said accessing means storing said data signal in said buffer at said defined location.
Claim 19
Dependent Claim 85 words
Apparatus as in claim 12 comprising a plurality of FIFO buffers, each of which has a plurality of unique storage locations and has assigned thereto a unique range of addresses within said address space, means for defining the storage location within each of said buffers for a next access by said first processor, said accessing means being responsive to an address signal within the address range of one of said buffers for selecting said buffer and for accessing said selected buffer at said defined location.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-03-14 1997-09-13 1998-03-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-03-14 2001-09-13 2002-03-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-03-14 2005-09-13 2006-03-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag