Patent US2625192A successfully refreshed from Google Patents.
Patent US4241769A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5655151A Expired / Lapsed US ⏱️ 0.0 years remaining

DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer

Assignee: Apple Inc
•
Filing: 1994-01-28
•
Granted: 1997-08-05
•
Expires: 2014-01-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A direct memory access (DMA) controller is connected with the CPU bus of a computer system through a bus interface and also to an I/O bus, which is connectable to one or more I/O controllers. The DMA controller contains multiple channels, each corresponding to a particular I/O controller, which are coupled to both the bus interface and the I/O bus. Each of the channels contains at least one register set storing information for the transfer and a data buffer holding the data during a transfer between the I/O bus and the CPU bus.

Inventors

  • 👤 Michael J. Bowes
  • 👤 Brian A. Childers

Bibliographic Details

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

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 111 words
A direct memory access (DMA) controller designed to be coupled to a first bus and a second bus, said DMA controller comprising: a plurality of DMA channels; a different plurality of register sets corresponding to each channel of said plurality of DMA channels, wherein only one register set of said plurality of register sets corresponding to a particular DMA channel may be active at any one moment, and wherein each register set of the plurality of register sets corresponding to the particular DMA channel stores different information controlling a different DMA transfer via the particular DMA channel; and a data buffer corresponding to each channel of said plurality of DMA channels.
Claim 2
Dependent Claim 111 words
A direct memory access (DMA) controller designed to be coupled to a first bus and a second bus, said DMA controller comprising: a plurality of DMA channels; a different plurality of register sets corresponding to each channel of said plurality of DMA channels, wherein only one register set of said plurality of register sets corresponding to a particular DMA channel may be active at any one moment, and wherein each register set of the plurality of register sets corresponding to the particular DMA channel stores different information controlling a different DMA transfer via the particular DMA channel; and a data buffer corresponding to each channel of said plurality of DMA channels.
Claim 3
Dependent Claim 27 words
A direct memory access controller as claimed in claim 1 wherein said data buffer is configured such that said buffer operates in a first in-first out manner.
Claim 4
Dependent Claim 23 words
A direct memory access controller as claimed in claim 1 wherein each register set of said plurality of register sets comprises a counter.
Claim 5
Dependent Claim 24 words
A direct memory access controller as claimed in claim 1 wherein each register set of said plurality of register sets comprises an address register.
Claim 6
Dependent Claim 24 words
A direct memory access controller as claimed in claim 1 wherein each register set of said plurality of register sets comprises a command/status register.
Claim 7
Dependent Claim 21 words
A direct memory access controller as claimed in claim 1 wherein said plurality of register sets consists of two register sets.
Claim 8
Dependent Claim 45 words
A direct memory access controller as claimed in claim 1 further comprising a plurality of control registers corresponding to individual channels of said plurality of DMA channels and corresponding to said plurality of register sets corresponding to each channel of said plurality of DMA channels.
Claim 9
Dependent Claim 40 words
A direct memory access controller as claimed in claim 7 wherein each control register of said plurality of control registers contains a portion which denotes an active register set of said corresponding plurality of register sets at any given moment.
Claim 10
Dependent Claim 37 words
A direct memory access controller as claimed in claim 7 wherein each control register of said plurality of control registers contains a portion which denotes whether said channel is able to transfer data at any given moment.
Claim 11
Dependent Claim 42 words
A direct memory access controller as claimed in claim 1 wherein each register set of said plurality of register sets contains a portion which denotes programming of said register set is complete and that said register set is ready to transfer data.
Claim 12
Dependent Claim 54 words
A direct memory access controller as claimed in claim 1 wherein said direct memory access controller switches which register set of said plurality of register sets corresponding to the particular DMA channel is active in response to a termination of a transfer controlled by a first register set of said plurality of register sets.
Claim 13
Dependent Claim 152 words
A direct memory access (DMA) controller for coupling to a first bus and a second bus, said DMA controller comprising: a plurality of DMA channels; a different plurality of register sets associated with each channel of said plurality of DMA channels, wherein only one register set of said plurality of register sets associated with a particular DMA channel may be active at any given moment, wherein each register set of the plurality of register sets corresponding to the particular DMA channel stores different information controlling a different DMA transfer via the particular DMA channel, and wherein said plurality of register sets includes a counter means, an address storage means, and a control information storage means; and a data buffer associated with each channel of said plurality of DMA channels, said data buffer being configured such that data is loaded into and removed from said data buffer in a first in-first out manner.
Claim 14
Dependent Claim 152 words
A direct memory access (DMA) controller for coupling to a first bus and a second bus, said DMA controller comprising: a plurality of DMA channels; a different plurality of register sets associated with each channel of said plurality of DMA channels, wherein only one register set of said plurality of register sets associated with a particular DMA channel may be active at any given moment, wherein each register set of the plurality of register sets corresponding to the particular DMA channel stores different information controlling a different DMA transfer via the particular DMA channel, and wherein said plurality of register sets includes a counter means, an address storage means, and a control information storage means; and a data buffer associated with each channel of said plurality of DMA channels, said data buffer being configured such that data is loaded into and removed from said data buffer in a first in-first out manner.
Claim 15
Dependent Claim 45 words
A direct memory access controller as claimed in claim 12 further comprising a plurality of control registers corresponding to individual channels of said plurality of DMA channels and corresponding to said plurality of register sets associated with each channel of said plurality of DMA channels.
Claim 16
Dependent Claim 40 words
A direct memory access controller as claimed in claim 13 wherein each control register of said plurality of control registers contains a portion which denotes an active register set of the associated plurality of register sets at any given moment.
Claim 17
Dependent Claim 37 words
A direct memory access controller as claimed in claim 13 wherein each control register of said plurality of control registers contains a portion which denotes whether said channel is able to transfer data at any given moment.
Claim 18
Dependent Claim 42 words
A direct memory access controller as claimed in claim 12 wherein each register set of said plurality of register sets contains a portion which denotes programming of said register set is complete and that said register set is ready to transfer data.
Claim 19
Dependent Claim 54 words
A direct memory access controller as claimed in claim 12 wherein said direct memory access controller switches which register set of said plurality of register sets associated with the particular DMA channel is active in response to a termination of a transfer controlled by a first register set of said plurality of register sets.
Claim 20
Dependent Claim 216 words
A direct memory access (DMA) controller connected to a first bus through an interface and to a second bus, said DMA controller comprising: a plurality of DMA channels; a first register set and a second register set associated with each channel of said plurality of DMA channels, wherein only said first register set or said second register set may be active at any given moment, said first register set and said second register set each having a counter portion, an address storage portion, and a control information storage portion, said first register set and said second register set configured such that in response to a termination of a transfer via the associated DMA channel controlled by said first register set said second register set becomes active, and in response to a termination of a transfer via the associated DMA channel controlled by said second register set said first register set becomes active; a data buffer associated with each channel of said plurality of DMA channels, said data buffer being configured such that data is loaded into and removed from said data buffer in a first in-first out manner; and a plurality of control registers corresponding to individual channels of said plurality of DMA channels and corresponding to said first register set and said second register set.
Claim 21
Dependent Claim 216 words
A direct memory access (DMA) controller connected to a first bus through an interface and to a second bus, said DMA controller comprising: a plurality of DMA channels; a first register set and a second register set associated with each channel of said plurality of DMA channels, wherein only said first register set or said second register set may be active at any given moment, said first register set and said second register set each having a counter portion, an address storage portion, and a control information storage portion, said first register set and said second register set configured such that in response to a termination of a transfer via the associated DMA channel controlled by said first register set said second register set becomes active, and in response to a termination of a transfer via the associated DMA channel controlled by said second register set said first register set becomes active; a data buffer associated with each channel of said plurality of DMA channels, said data buffer being configured such that data is loaded into and removed from said data buffer in a first in-first out manner; and a plurality of control registers corresponding to individual channels of said plurality of DMA channels and corresponding to said first register set and said second register set.
Claim 22
Independent Claim 148 words
A method for transferring data between a first bus and a second bus utilizing a plurality of DMA channels wherein each channel of said plurality of DMA channels includes both a plurality of register sets containing control information and a data buffer, wherein each register set of the plurality of register sets corresponding to the particular DMA channel stores different information controlling a different DMA transfer via the particular DMA channel, the method comprising the steps of: determining an active register set of a first DMA channel of said plurality of DMA channels, said active register set being one of said plurality of register sets; transferring data from said first bus to said data buffer according to said control information contained in said active register set; and transferring data from said data buffer to said second bus according to said control information contained in said active register set.
Claim 23
Independent Claim 148 words
A method for transferring data between a first bus and a second bus utilizing a plurality of DMA channels wherein each channel of said plurality of DMA channels includes both a plurality of register sets containing control information and a data buffer, wherein each register set of the plurality of register sets corresponding to the particular DMA channel stores different information controlling a different DMA transfer via the particular DMA channel, the method comprising the steps of: determining an active register set of a first DMA channel of said plurality of DMA channels, said active register set being one of said plurality of register sets; transferring data from said first bus to said data buffer according to said control information contained in said active register set; and transferring data from said data buffer to said second bus according to said control information contained in said active register set.
Claim 24
Dependent Claim 49 words
A method for transferring data as claimed in claim 19 wherein said step of determining an active register set comprises determining which register set of said plurality of register sets of said first DMA channel has been programmed with the necessary control information and is ready to transfer data.
Claim 25
Dependent Claim 136 words
A computer system comprising: a first bus and a second bus; a central processing unit coupled to said first bus; a memory unit coupled to said first bus; and a direct memory access (DMA) controller coupled to said first bus and said second bus, said DMA controller including, a plurality of DMA channels, a plurality of register sets associated with each channel of said plurality of DMA channels, wherein only one register set of said plurality of register sets associated with a particular DMA channel may be active at any one moment, and wherein each register set of the plurality of register sets corresponding to the particular DMA channel stores different information controlling a different DMA transfer via the particular DMA channel, and a data buffer associated with each channel of said plurality of DMA channels.
Claim 26
Dependent Claim 136 words
A computer system comprising: a first bus and a second bus; a central processing unit coupled to said first bus; a memory unit coupled to said first bus; and a direct memory access (DMA) controller coupled to said first bus and said second bus, said DMA controller including, a plurality of DMA channels, a plurality of register sets associated with each channel of said plurality of DMA channels, wherein only one register set of said plurality of register sets associated with a particular DMA channel may be active at any one moment, and wherein each register set of the plurality of register sets corresponding to the particular DMA channel stores different information controlling a different DMA transfer via the particular DMA channel, and a data buffer associated with each channel of said plurality of DMA channels.
Claim 27
Dependent Claim 25 words
A computer system as claimed in claim 21 wherein said data buffer is configured such that said buffer operates in a first in-first out manner.
Claim 28
Dependent Claim 21 words
A computer system as claimed in claim 21 wherein each register set of said plurality of register sets comprises a counter.
Claim 29
Dependent Claim 22 words
A computer system as claimed in claim 21 wherein each register set of said plurality of register sets comprises an address register.
Claim 30
Dependent Claim 22 words
A computer system as claimed in claim 21 wherein each register set of said plurality of register sets comprises a command/status register.
Claim 31
Dependent Claim 43 words
A computer system as claimed in claim 21 further comprising a plurality of control registers corresponding to individual channels of said plurality of DMA channels and corresponding to said plurality of register sets associated with each channel of said plurality of DMA channels.
Claim 32
Dependent Claim 38 words
A computer system as claimed in claim 26 wherein each control register of said plurality of control registers contains a portion which denotes an active register set of said associated plurality of register sets at any given moment.
Claim 33
Dependent Claim 35 words
A computer system as claimed in claim 26 wherein each control register of said plurality of control registers contains a portion which denotes whether said channel is able to transfer data at any given moment.
Claim 34
Dependent Claim 40 words
A computer system as claimed in claim 21 wherein each register set of said plurality of register sets contains a portion which denotes programming of said register set is complete and that said register set is ready to transfer data.
Claim 35
Dependent Claim 52 words
A computer system as claimed in claim 21 wherein said direct memory access controller switches which register set of said plurality of register sets associated with the particular DMA channel is active in response to a termination of a transfer controlled by a first register set of said plurality of register sets.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-08-04 2001-02-03 2001-08-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-08-04 2005-02-03 2005-08-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-08-04 2009-02-03 2009-08-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag