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

Look ahead bus transfer request

Assignee: International Business Machines Corp
•
Filing: 1990-11-14
•
Granted: 1993-01-12
•
Expires: 2010-11-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A technique for use in an I/O channel to increase bus bandwidth during DMA data transfers between main system memory and a communication link is disclosed, including a pair of buffers, a plurality of counters adapted to selectively contain a count of data increments therein, and enhanced DMA control logic for monitoring buffer data content amount, and at a predetermined time during a given transfer initiating a bus arbitration so that it is completed simultaneously with the given transfer, thereby enabling the next data transfer from the buffer in use to immediately commence.

Inventors

  • 👤 Roger N. Bailey
  • 👤 Robert L. Mansfield
  • 👤 Alexander K. Spencer

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 16:15
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/20; G06F13/28

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 182 words
Improved access control logic for optimizing bus usage during DMA block data transfers across a non-dedicated bus between a main memory and an external device comprising: first and second buffers for storing incremental data units of a contiguous data block to be transferred; logic means for determining a total count of incremental data units of said contiguous data block to be transferred; circuit means for interconnecting said bus and said external device for transferring incremental data units of said contiguous data block from one of said first or second buffers therebetween; means for storing data into the other of said first or second buffers during the transfer by said circuit means; means, associated with said means for transferring, for updating said total count of incremental data units to be transferred at each transfer; and means responsive to said updating means for continually issuing a bus request for transfer of a subsequent incremental data unit from said contiguous data block before completion of transfer of a previous incremental data unit until said updating means indicates that the contiguous data block transfer is complete.
Claim 2
Dependent Claim 182 words
Improved access control logic for optimizing bus usage during DMA block data transfers across a non-dedicated bus between a main memory and an external device comprising: first and second buffers for storing incremental data units of a contiguous data block to be transferred; logic means for determining a total count of incremental data units of said contiguous data block to be transferred; circuit means for interconnecting said bus and said external device for transferring incremental data units of said contiguous data block from one of said first or second buffers therebetween; means for storing data into the other of said first or second buffers during the transfer by said circuit means; means, associated with said means for transferring, for updating said total count of incremental data units to be transferred at each transfer; and means responsive to said updating means for continually issuing a bus request for transfer of a subsequent incremental data unit from said contiguous data block before completion of transfer of a previous incremental data unit until said updating means indicates that the contiguous data block transfer is complete.
Claim 3
Dependent Claim 69 words
The apparatus of claim 1 wherein, during data transfer from said external device to said main memory, said logic means further includes in-counter means associated with said buffer storage; and receive logic for counting incremental data units as they are received, loading said incremental data units in said one of said first or second buffers, and placing a total count of incremental data units received in said in-counter means.
Claim 4
Dependent Claim 39 words
The apparats of claim 2 wherein: said means for transferring includes means for placing said one of said first or second buffer contents on said non-dedicated bus; and said means for updating includes means for decrementing said in-counter means.
Claim 5
Dependent Claim 40 words
The apparatus of claim 1 wherein, during data transfer from said main memory to said external device, said means for determining further includes out-counter means adapted to accept a count of data increments from a processor controlling said main memory.
Claim 6
Dependent Claim 17 words
The apparatus of claim 4 wherein said means for updating comprises means for decrementing said out-counter means.
Claim 7
Independent Claim 165 words
A method of minimizing idle time of a shared I/O bus during DMA transfer, over the bus to a main memory from an external device, of a contiguous block of data in increments of a fixed size comprising the steps of: a. loading data of said contiguous block from the external device alternately in a pair of buffers, each adapted to contain an internal number of said fixed size increments; b. determining the data amount content of each buffer; c. initiating whenever step b indicates one buffer is full, a DMA transfer of a fixed size increment of data from that full buffer to the I/O bus; d. issuing a bus request for each subsequent data transfer from that buffer before transfer of a previous increment of data is complete as long as a buffer contains data to be transferred; e. storing data into the other buffer until full; and f. sequentially repeating steps a through e until the contiguous block of data is transferred.
Claim 8
Independent Claim 165 words
A method of minimizing idle time of a shared I/O bus during DMA transfer, over the bus to a main memory from an external device, of a contiguous block of data in increments of a fixed size comprising the steps of: a. loading data of said contiguous block from the external device alternately in a pair of buffers, each adapted to contain an internal number of said fixed size increments; b. determining the data amount content of each buffer; c. initiating whenever step b indicates one buffer is full, a DMA transfer of a fixed size increment of data from that full buffer to the I/O bus; d. issuing a bus request for each subsequent data transfer from that buffer before transfer of a previous increment of data is complete as long as a buffer contains data to be transferred; e. storing data into the other buffer until full; and f. sequentially repeating steps a through e until the contiguous block of data is transferred.
Claim 9
Dependent Claim 168 words
DMA control apparatus for transferring a contiguous block of data from a main system processor over a shared bus to an external device comprising: means for temporarily storing said contiguous block of data as a plurality of incremental data units to be transferred into a first and second buffer; means for indicating in real time how many incremental data units to be transferred remain; means responsive to said indicating means for placing incremental data units alternatingly from one of said first or second buffers on the bus until said indicating means indicates that the contiguous block of data has been transferred; means for storing data into the other of said first or second buffer during the bus transfer by said placing means; and means cooperable with said placing means for overlapping a bus request for transfer of a subsequent incremental data unit from those temporarily stored with transfer of a previous incremental data unit until said indicating means indicates that the contiguous block of data has been transferred.
Claim 10
Dependent Claim 168 words
DMA control apparatus for transferring a contiguous block of data from a main system processor over a shared bus to an external device comprising: means for temporarily storing said contiguous block of data as a plurality of incremental data units to be transferred into a first and second buffer; means for indicating in real time how many incremental data units to be transferred remain; means responsive to said indicating means for placing incremental data units alternatingly from one of said first or second buffers on the bus until said indicating means indicates that the contiguous block of data has been transferred; means for storing data into the other of said first or second buffer during the bus transfer by said placing means; and means cooperable with said placing means for overlapping a bus request for transfer of a subsequent incremental data unit from those temporarily stored with transfer of a previous incremental data unit until said indicating means indicates that the contiguous block of data has been transferred.
Claim 11
Dependent Claim 27 words
The DMA control apparatus of claim 7 additionally including: means connected to said means for placing for entering a hold state until a bus grant is received.
Claim 12
Independent Claim 128 words
A method of providing back to back DMA data transfers to a system processor main memory from a serial communication link comprising the steps of sequentially: (i) loading data from said link in one of a first or second buffer; (ii) maintaining a current count of data in each of said buffers; (iii) initiating bus arbitration only in response to said current count indicating a full condition in one of said buffers; (iv) alternatingly placing data from said one of said buffers on a bus to said main memory; (v) storing data into the other of said buffers while data from said one of said buffers is placed on the bus; and (vi) repeating the preceding steps until an end of data condition is detected on said link.
Claim 13
Independent Claim 128 words
A method of providing back to back DMA data transfers to a system processor main memory from a serial communication link comprising the steps of sequentially: (i) loading data from said link in one of a first or second buffer; (ii) maintaining a current count of data in each of said buffers; (iii) initiating bus arbitration only in response to said current count indicating a full condition in one of said buffers; (iv) alternatingly placing data from said one of said buffers on a bus to said main memory; (v) storing data into the other of said buffers while data from said one of said buffers is placed on the bus; and (vi) repeating the preceding steps until an end of data condition is detected on said link.
Claim 14
Dependent Claim 23 words
The method of claim 9, including after step (iii) the additional step of: entering a hold state until a bus grant is received.

References Cited (Backward Citations)

US4032899A Cited
US4060849A Cited
US4067059A Cited
US4181936A Cited
US4215400A Cited
US4449183A Cited
US4536839A Cited
US4627018A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-01-12 1996-07-13 1997-01-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-01-12 2000-07-13 2001-01-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-01-12 2004-07-13 2005-01-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag