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

Dynamic bus sizing of DMA transfers

Assignee: International Business Machines Corp
•
Filing: 1994-04-06
•
Granted: 1996-08-20
•
Expires: 2014-04-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A DMA controller is provided for transferring data between source and destination devices over an I/O bus. The DMA control circuit includes a bus interface unit for providing a bus size information at the beginning of each consecutive bus cycle and a look ahead responsive to the bus size information for providing a bus size control signal. A DMA control circuit responsive to the bus size control signal controls the bus width during contiguous transfer cycles. By dynamically adjusting the DMA control circuit, back to back data reads and writes may occur with no wait states inserted for generating the terminal count information.

Inventors

  • 👤 Nader Amini
  • 👤 Bechara F. Boury
  • 👤 Sherwood Brannon
  • 👤 Ian A. Concilio
  • 👤 Richard G. Hofmann
  • 👤 Terence J. Lohman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 04:54
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/20; G06F13/28

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 392 words
A direct memory access (DMA) controller for controlling transfers of data between devices in an information handling system; the transfers being conducted, over an input/output (I/O) bus of the system, (a) between memory devices in the system, (b) between input/output (I/O) devices in the system, and (c) between memory and I/O devices in the system; the I/O bus connecting the DMA controller with the memory and I/O devices, and certain of the transfers being conducted during a plurality of consecutive cycles of operation of the I/O bus in which the DMA controller has continuous access to the I/O bus; the I/O bus being configured to be able to transfer plural bytes of data in parallel between the DMA controller operating during the consecutive bus cycles to receive data in parallel form, from a selected one of the memory and I/O devices (hereafter a "source" device) and to transfer received data in parallel form to another selected one of the memory and I/O devices (hereafter a "destination" device) via the I/O bus; the DMA controller comprising: a bus control circuit for receiving bus size information from a selected one of said source and destination devices at the beginning of each of the consecutive cycles of bus operation, said bus size information indicating the parallel data transfer capacity of the respective device relative to the bus; a look ahead circuit responsive to said bus size information received at the beginning of each of the consecutive bus cycles for providing a bus size control information signal necessary for completing a data transfer relative to said respective device in a respective bus cycle, said look ahead circuit including: a plurality of bus size control information generator circuits for generating a plurality of bus size control information signals, each bus size control information signal being necessary for completing data transfer for a corresponding bus size; and a bus size selection circuit for selecting one of said plurality of bus size control information signals in response to said bus size information; and a direct memory access control generator responsive to said bus size control information signal in each said bus cycle for controlling said bus, later in the respective bus cycle to transfer data in parallel over said bus, between the DMA controller and the respective device, with a parallel width corresponding to said bus size control information.
Claim 2
Dependent Claim 392 words
A direct memory access (DMA) controller for controlling transfers of data between devices in an information handling system; the transfers being conducted, over an input/output (I/O) bus of the system, (a) between memory devices in the system, (b) between input/output (I/O) devices in the system, and (c) between memory and I/O devices in the system; the I/O bus connecting the DMA controller with the memory and I/O devices, and certain of the transfers being conducted during a plurality of consecutive cycles of operation of the I/O bus in which the DMA controller has continuous access to the I/O bus; the I/O bus being configured to be able to transfer plural bytes of data in parallel between the DMA controller operating during the consecutive bus cycles to receive data in parallel form, from a selected one of the memory and I/O devices (hereafter a "source" device) and to transfer received data in parallel form to another selected one of the memory and I/O devices (hereafter a "destination" device) via the I/O bus; the DMA controller comprising: a bus control circuit for receiving bus size information from a selected one of said source and destination devices at the beginning of each of the consecutive cycles of bus operation, said bus size information indicating the parallel data transfer capacity of the respective device relative to the bus; a look ahead circuit responsive to said bus size information received at the beginning of each of the consecutive bus cycles for providing a bus size control information signal necessary for completing a data transfer relative to said respective device in a respective bus cycle, said look ahead circuit including: a plurality of bus size control information generator circuits for generating a plurality of bus size control information signals, each bus size control information signal being necessary for completing data transfer for a corresponding bus size; and a bus size selection circuit for selecting one of said plurality of bus size control information signals in response to said bus size information; and a direct memory access control generator responsive to said bus size control information signal in each said bus cycle for controlling said bus, later in the respective bus cycle to transfer data in parallel over said bus, between the DMA controller and the respective device, with a parallel width corresponding to said bus size control information.
Claim 3
Dependent Claim 44 words
The DMA controller of claim 1, wherein said plurality of bus size control information generator circuits include an initial size control information generator circuit, said initial size control information generator circuit generating a size control information signal for an initial direct memory access transfer.
Claim 4
Dependent Claim 48 words
The DMA controller of claim 1 wherein said plurality of bus size control information generator circuits include an 8-bit bus size control information generator circuit, said 8-bit bus size control information generator circuit generating a size control information signal for transferring information via an eight bit wide bus.
Claim 5
Dependent Claim 48 words
The DMA controller of claim 1 wherein said plurality of bus size control information generator circuits include a 16-bit bus size control information generator circuit, said 16-bit bus size control information generator circuit generating a size control information signal for transferring information via a sixteen bit wide bus.
Claim 6
Dependent Claim 48 words
The DMA controller of claim 1 wherein said plurality of bus size control information generator circuits include a 32-bit bus size control information generator circuit, said 32-bit bus size control information generator circuit generating a size control information signal for transferring information via a 32 bit wide bus.
Claim 7
Dependent Claim 437 words
For a direct memory access (DMA) controller of an information handling system, look ahead apparatus, for generating bus size control information signals necessary for completing variable-width parallel data transfers through a parallel transfer I/O bus of said system, wherein said data transfers are conducted by said DMA controller between memory devices of said system, between I/O devices of said system, and between memory and I/O devices of said system; wherein said DMA controller is connected to said memory and I/O devices through said I/O bus; and wherein said DMA controller operates to conduct said data transfers in a plurality of consecutive data transfer cycles of said I/O bus, during which said DMA controller has continuous access to said I/O bus; said DMA controller operating during said consecutive bus cycles to receive data from a first selected one of said devices, via said I/O bus, and to transfer the same data to a second selected one of said devices via said I/O bus; said bus size control information signals being generated in each of said consecutive cycles in response to a bus size information function received by said DMA controller from a respective one of said first and second selected ones of said devices instantly in communication with said I/O bus, each said bus information function indicating a maximum parallel bus width that can be handled by the respective device; said parallel bus width corresponding to all or a predetermined fraction of the parallel data transfer capacity of said I/O bus; said DMA controller generating data transfer control information for the respective bus cycle based upon said bus size information functions and said control information signals, said look ahead apparatus comprising: means responsive to said bus size information function received from said selected first or second one of said devices, to generate a bus size select signal during each of said consecutive bus cycles; a plurality of bus size control information generator circuits for simultaneously generating a plurality of signals representing a plurality of different bus size data transfer control information signal functions, in each of said consecutive bus cycles, each said different bus size data transfer control information single function being necessary for completing a data transfer on said I/O bus with a corresponding one of a plurality of different parallel widths representing respectively different bus sizes; and a multiplexer circuit, said multiplexer circuit receiving said bus size select signal and said plurality of signals representing bus size data transfer control information signal functions and providing a selected one of said bus size data transfer control information signal functions in response to said bus size select signal.
Claim 8
Dependent Claim 437 words
For a direct memory access (DMA) controller of an information handling system, look ahead apparatus, for generating bus size control information signals necessary for completing variable-width parallel data transfers through a parallel transfer I/O bus of said system, wherein said data transfers are conducted by said DMA controller between memory devices of said system, between I/O devices of said system, and between memory and I/O devices of said system; wherein said DMA controller is connected to said memory and I/O devices through said I/O bus; and wherein said DMA controller operates to conduct said data transfers in a plurality of consecutive data transfer cycles of said I/O bus, during which said DMA controller has continuous access to said I/O bus; said DMA controller operating during said consecutive bus cycles to receive data from a first selected one of said devices, via said I/O bus, and to transfer the same data to a second selected one of said devices via said I/O bus; said bus size control information signals being generated in each of said consecutive cycles in response to a bus size information function received by said DMA controller from a respective one of said first and second selected ones of said devices instantly in communication with said I/O bus, each said bus information function indicating a maximum parallel bus width that can be handled by the respective device; said parallel bus width corresponding to all or a predetermined fraction of the parallel data transfer capacity of said I/O bus; said DMA controller generating data transfer control information for the respective bus cycle based upon said bus size information functions and said control information signals, said look ahead apparatus comprising: means responsive to said bus size information function received from said selected first or second one of said devices, to generate a bus size select signal during each of said consecutive bus cycles; a plurality of bus size control information generator circuits for simultaneously generating a plurality of signals representing a plurality of different bus size data transfer control information signal functions, in each of said consecutive bus cycles, each said different bus size data transfer control information single function being necessary for completing a data transfer on said I/O bus with a corresponding one of a plurality of different parallel widths representing respectively different bus sizes; and a multiplexer circuit, said multiplexer circuit receiving said bus size select signal and said plurality of signals representing bus size data transfer control information signal functions and providing a selected one of said bus size data transfer control information signal functions in response to said bus size select signal.
Claim 9
Dependent Claim 43 words
The apparatus of claim 6 wherein said plurality of bus size control information generator circuits include an initial size control information generator circuit, said initial size control information generator circuit generating a size control information signal for an initial direct memory access transfer.
Claim 10
Dependent Claim 47 words
The apparatus of claim 6 wherein said plurality of bus size control information generator circuits include an 8-bit bus size control information generator circuit, said 8-bit bus size control information generator circuit generating a size control information signal for transferring information via an eight bit wide bus.
Claim 11
Dependent Claim 47 words
The apparatus of claim 6 wherein said plurality of bus size control information generator circuits include a 16-bit bus size control information generator circuit, said 16-bit bus size control information generator circuit generating a size control information signal for transferring information via a sixteen bit wide bus.
Claim 12
Dependent Claim 47 words
The apparatus of claim 6 wherein said plurality of bus size control information generator circuits include a 32-bit bus size control information generator circuit, said 32-bit bus size control information generator circuit generating a size control information signal for transferring information via a 32 bit wide bus.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-08-20 2000-02-19 2000-08-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-08-20 2004-02-19 2004-08-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-08-20 2008-02-19 2008-08-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag