IP Library Granted Patent US 8,880,756
Granted Patent B1
US 8,880,756 · App. 13/932,925 · Granted Nov 4, 2014

Direct memory access controller

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,880,756
App. No.
13/932,925
Granted
Nov 4, 2014
Kind
B1
Abstract

Systems and methods for direct memory access are described. One example system includes a memory module that includes a first memory portion that maintains transfer descriptors of direct memory access (DMA) channels, and a second memory portion that maintains transfer descriptors of enabled DMA channels. The system includes a controller coupled to the memory module, the controller includes one or more DMA channels coupled to a system bus, a channel arbiter that selects one of the enabled DMA channels as an active DMA channel for data transfer including re-arbitrating after each burst or beat in a given transfer, and an active channel buffer that receives a transfer descriptor of the active DMA channel from the second memory portion. The controller is configured to write back the transfer descriptor of the active DMA channel into the second memory portion when the active DMA channel loses arbitration.

Claims (66)

1. A system comprising:

a memory module including:

a first memory portion that maintains transfer descriptors of direct memory access (DMA) channels, and

a second memory portion that maintains transfer descriptors of enabled DMA channels; and

a controller coupled to the memory module, the controller including:

one or more DMA channels coupled to a system bus,

a channel arbiter that selects one of the enabled DMA channels as an active DMA channel for data transfer based on one or more criteria including re-arbitrating after each burst or beat in a given transfer, and

an active channel buffer that receives a transfer descriptor of the active DMA channel from the second memory portion,

wherein the controller is configured to write back the transfer descriptor of the active DMA channel into the second memory portion when the active DMA channel loses arbitration during data transfer.

2. The system of claim 1 , wherein the controller is configured to communicate with one or more peripheral devices, and wherein each peripheral device is associated with a DMA channel.

3. The system of claim 1 , wherein each transfer descriptor of the first memory portion corresponds to a peripheral device.

4. The system of claim 1 , wherein the channel arbiter receives DMA transfer requests for the DMA channels, and wherein a DMA transfer request of a DMA channel is triggered by one or more of:

a peripheral device,

software, or

an event.

5. The system of claim 1 , wherein the controller uses the active DMA channel for data transfer and updates the transfer descriptor of the active DMA channel in the active channel buffer.

6. The system of claim 1 further comprising:

a first dedicated interface between the first memory portion of the memory module and the controller; and

a second dedicated interface between the second memory portion of the memory module and the controller.

7. The system of claim 5 , wherein the first dedicated interface is a single directional interface coupling the first memory portion to the controller.

8. The system of claim 1 , wherein the active channel buffer is a register.

9. The system of claim 1 , wherein the controller is coupled to a peripheral bus interface to enable configuration of the controller by an external device.

10. The system of claim 1 , wherein a transfer descriptor defines a block data transfer and includes one or more parameters:

a source address of a transfer,

a destination address of the transfer,

a number of remaining transfer beats,

control data including transfer settings, or

an address of a next descriptor.

11. The system of claim 10 , wherein during data transfer the controller is configured to update one or more parameters of the transfer descriptor of the active DMA channel including:

the source address of a transfer,

the destination address of the transfer, or

the number of remaining transfer beats.

12. The system of claim 1 , wherein software is configured to enable or disable the DMA channels.

13. The system of claim 10 , further comprising:

when a number of remaining transfer beats of a transfer descriptor of an enabled DMA channel reaches zero, the DMA channel is disabled and the transfer descriptor of the DMA channel is removed from the second memory portion.

14. A method comprising:

enabling one or more direct memory access (DMA) channels;

receiving transfer requests for enabled DMA channels;

arbitrating among enabled DMA channels having pending transfer requests, based on one or more criteria;

selecting one of the enabled DMA channels as an active DMA channel based on the arbitrating;

fetching a first transfer descriptor of the active DMA channel;

performing data transfer using the active DMA channel; and

during the performing, checking to determine when the active DMA channel has a priority that is less than a priority for another one of the enabled DMA channels and when so, disabling the then active DMA channel including writing back to memory a current state of the first transfer descriptor and making the another one of the enabled DMA channels the active DMA channel.

15. The method of claim 14 , wherein performing data transfer further includes:

transferring bursts of data;

updating the first transfer descriptor of the active DMA channel after each burst of data including a number of remaining transfer beats; and

performing, after each burst of data, one of:

disabling the active DMA channel and clearing the first descriptor of the active DMA channel when the number of remaining transfer beats reaches zero, or

interrupting the data transfer and re-storing the updated first transfer descriptor of the active DMA channel when losing arbitration.

16. The method claim 14 , wherein a transfer descriptor including one or more parameters:

a source address of a transfer,

a destination address of the transfer,

the number of remaining transfer beats,

control data including transfer settings, or

an address of a next descriptor.

17. The method of claim 15 , wherein updating the transfer descriptor further comprises updating one or more parameters of the transfer descriptor including:

the number of remaining transfer beats,

the source address of a transfer, or

the destination address of the transfer.

18. The method of claim 14 , wherein enabling one or more direct memory access (DMA) channels include:

fetching transfer descriptors of the DMA channels, and

storing the received transfer descriptors of the enabled DMA channels.

19. The method of claim 14 , further comprising:

retrieving a second descriptor of the active DMA channel when the number of remaining transfer beats of the first descriptor reaches zero, wherein the second descriptor is retrieved using an address of a next descriptor of the first transfer descriptor.

20. The method of claim 14 , further comprising:

assigning priority levels to each DMA channel, wherein a DMA channel with higher priority level interrupts any ongoing data transfers through DMA channels with lower priority levels.

Assignments (23)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: ATMEL CORPORATION
Reel/Frame 059262/0105 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2018
From: ATMEL CORPORATION
To: MICROCHIP TECHNOLOGY INCORPORATED
Reel/Frame 046874/0877 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
SECURITY INTEREST Recorded Feb 10, 2017
From: ATMEL CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041715/0747 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Apr 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ATMEL CORPORATION
Reel/Frame 038376/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2014
From: ATMEL NANTES S.A.S.
To: ATMEL CORPORATION
Reel/Frame 033624/0715 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2014
From: ATMEL ROUSSET S.A.S.
To: ATMEL CORPORATION
Reel/Frame 033624/0712 →
PATENT SECURITY AGREEMENT Recorded Jan 3, 2014
From: ATMEL CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
Reel/Frame 031912/0173 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT NAME OF FIRST-LISTED ASSIGNOR TO: FRODE MILCH PEDERSEN. PREVIOUSLY RECORDED ON REEL 030739 FRAME 0336. ASSIGNOR(S) HEREBY CONFIRMS THE ORIGINAL RECORDATION SUBMISSION INCORRECTLY LISTED NAME OF FIRST-LISTED ASSIGNOR AS FRODE MILCVH PEDERSEN.. Recorded Aug 2, 2013
From: PEDERSEN, FRODE MILCH; DANIELSEN, STEIN
To: ATMEL CORPORATION
Reel/Frame 030949/0378 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2013
From: BIRSAN, LAURENTIU; JOUIN, SEBASTIEN
To: ATMEL; NANTES S.A.S.
Reel/Frame 030739/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2013
From: PEDERSEN, FRODE MILCVH; DANIELSEN, STEIN
To: ATMEL CORPORATION
Reel/Frame 030739/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2013
From: GRAFFET, NICOLAS
To: ATMEL ROUSSET S.A.S.
Reel/Frame 030739/0261 →