Hierarchical in-memory sort engine
US-9424308-B2 · Aug 23, 2016 · US
US2016011998A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016011998-A1 |
| Application number | US-201514860398-A |
| Country | US |
| Kind code | A1 |
| Filing date | Sep 21, 2015 |
| Priority date | Dec 15, 2006 |
| Publication date | Jan 14, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system has at least one bus, a central processing unit (CPU) coupled with the bus, a memory coupled with the bus, a direct memory access (DMA) controller having a plurality of DMA channels and operating independently from the CPU and being coupled with the bus, wherein for access to the bus the DMA controller is programmable in a first mode to have priority over the CPU and in a second mode in which at least one DMA channel of the DMA controller is suspended from accessing the bus.
Opening claim text (preview).
1 . A microcontroller comprising: a bus; a central processing unit (CPU) coupled with said bus; a memory coupled with said bus; a plurality of peripherals coupled with the bus; a direct memory access (DMA) controller having a plurality of DMA channels and operating independently from said CPU and being coupled with said bus, wherein for access to said bus said DMA controller is programmable in a first mode to have priority over said CPU and the plurality of peripherals and in a second mode to immediately suspend data transfer on all DMA channels and grant the CPU direct access to the bus. 2 . The system according to claim 1 , further comprising a control register coupled with said DMA controller and for programming said DMA controller, said control register comprising a bit for setting said first or second mode. 3 . The system according to claim 1 , wherein said first or second mode are programmable through a control signal fed to said DMA controller. 4 . The system according to claim 1 , wherein each of said plurality of DMA channels has an assigned priority level. 5 . The system according to claim 1 , wherein said DMA controller comprises for each channel a channel control register. 6 . The system according to claim 5 , wherein each channel control register comprises a programmable bit controlling whether said channel is enabled or disabled. 7 . The system according to claim 4 , wherein said first or second mode is programmable through a control signal fed to said DMA controller comprising a priority level. 8 . A method for performing a data transmission over a bus coupled with a master device and a direct memory access (DMA) controller; the method comprising: providing said master device, DMA controller and a plurality of peripheral devices within a microcontroller, wherein the CPU, the DMA controller and the plurality of peripheral devices are coupled within the microcontroller through the bus; upon request for a DMA data transmission, granting the DMA controller access to said bus; programming said DMA controller to suspend said DMA data transmission; granting the master device access to said bus; performing at least one bus access by said master device; programming said DMA controller to resume said DMA data transmission. 9 . The method according to claim 8 , wherein said steps of programming said DMA controller are performed by a configurable register. 10 . The method according to claim 9 , wherein said steps of programming said DMA controller are performed by setting and resetting a bit in said configurable register. 11 . The method according to claim 8 , wherein said steps of programming said DMA controller are performed by feeding a control signal to said DMA controller. 12 . The method according to claim 11 , wherein said control signal is generated from an exception signal fed to the master device. 13 . The method according to claim 8 , wherein if a data transfer of said data transmission has been initiated by said DMA controller before suspension has been initiated then finishing said data transfer and then suspending access of said DMA controller. 14 . The method according to claim 8 , wherein said master device is a central processing unit (CPU) and said step of programming is performed by said CPU. 15 . The method according to claim 8 , wherein said master device is a peripheral device and said step of programming is performed by a central processing unit. 16 - 23 . (canceled) 24 . A method for performing a data transmission over a bus coupled with a master device and a direct memory access (DMA) controller having a plurality of DMA channels; the method comprising: providing the master device, bus, a plurality of peripheral devices and the DMA controller within a microcontroller; assigning each of said plurality of DMA channels a priority level; upon request for a DMA data transmission, granting the DMA controller access to said bus with one of said plurality of DMA channels; feeding a suspend command having a priority level to said DMA controller; if said priority level in said suspend command is higher than a priority level of said DMA channel having access to said bus, then suspending any DMA channel having a lower priority than said priority level in said suspend command from accessing said bus; if no other DMA channel has access to said bus, then granting the master device access to said bus; performing at least one bus access by said master device; feeding a resume command to said DMA controller to resume said DMA data transmission. 25 . The method according to claim 8 , wherein said DMA controller is operable to cycle through multiple DMA channels transactions of DMA channels having the same priority level. 26 . The method according to claim 24 , wherein said DMA controller is operable to cycle through multiple DMA channels transactions of DMA channels having the same priority level. 27 . The method according to claim 24 , wherein said master device is a central processing unit of the microcontroller. 28 . The method according to claim 24 , wherein said steps of programming said DMA controller are performed by setting and resetting a bit in a configurable register of the microcontroller.
using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title
Synchronisation and timing concerns (synchronisation on a memory bus G06F13/4234) · CPC title
with priority control · CPC title
with priority control · CPC title
using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.