Patent US5655151A successfully refreshed from Google Patents.
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
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 10:37
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.
References Cited (Backward Citations)
US4658350A
Cited
US4811306A
Cited
US4730248A
Cited
US4695952A
Cited
US4831523A
Cited
US5241661A
Cited
US5018098A
Cited
US5185877A
Cited
US5142672A
Cited
US4878166A
Cited
US5056011A
Cited
US5155830A
Cited
US5228130A
Cited
US5212795A
Cited
US4935868A
Cited
US5287457A
Cited
US5111425A
Cited
US5187780A
Cited
US5319792A
Cited
US5450559A
Cited
US5218692A
Cited
US5287471A
Cited
US5175825A
Cited
US5497501A
Cited
US5452432A
Cited
US5291582A
Cited
US5345566A
Cited
US5493687A
Cited
US5369748A
Cited
US5404522A
Cited
US5381538A
Cited
US5388217A
Cited
US5373493A
Cited
US5255374A
Cited
US5305317A
Cited
US5355452A
Cited
US5485584A
Cited
US5450551A
Cited
US5396602A
Cited
US5530902A
Cited
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 |