Programmable DMA Controller Bus Priority Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional direct memory access (DMA) controllers in microprocessor systems have limited flexibility due to their priority over the central processing unit (CPU) when accessing the shared memory bus, which can stall the CPU and restrict system performance, especially in scenarios requiring low-power modes and asynchronous event handling.

Innovation Solution

A programmable DMA controller system that allows for priority modes, independent operation from the CPU, and the ability to suspend or resume DMA channels based on control signals, enabling the CPU to enter power-saving modes while the DMA controller handles asynchronous events, and allowing only necessary components to be activated during transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the DMA controller has priority over the CPU when accessing the shared memory bus, then the DMA transfer speed and efficiency are improved, but the CPU may be stalled and system flexibility is reduced

Engineering Contradiction:
ImproveDMA transfer speedVSAvoidsystem flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic priority assignment where the DMA controller's bus priority is not fixed but can be adjusted based on system conditions. The CPU can temporarily suspend DMA channels when it needs bus access, and the DMA controller can resume channels when the CPU releases the bus. This dynamic adjustment resolves the contradiction by allowing high DMA priority during transfers while maintaining CPU flexibility when needed.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the DMA controller operates independently from the CPU, then the CPU can perform other functions and productivity is improved, but power management flexibility is reduced

Engineering Contradiction:
ImproveCPU availabilityVSAvoidpower management flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent enables dynamic control of DMA operation modes where the DMA controller can be suspended or resumed based on power management requirements. When the system enters low-power mode, the CPU can suspend DMA channels to save power while maintaining the capability to resume them when needed. This resolves the contradiction by allowing independent DMA operation for productivity while adding power management flexibility through suspend/resume capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of the DMA controller by introducing suspend and resume states. The DMA controller can transition between active, suspended, and resumed states based on system requirements. This parameter change allows the system to balance between independent operation (for productivity) and power management flexibility by adjusting the DMA's operational state.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the CPU is prohibited from accessing the memory bus during DMA transfer, then bus collision is prevented and DMA reliability is improved, but system adaptability is reduced

Engineering Contradiction:
ImproveDMA transfer reliabilityVSAvoidbus access flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic bus access control where the prohibition of CPU access during DMA transfer is not absolute but conditional. The CPU can request bus access by suspending DMA channels, and the DMA controller can grant temporary bus access while maintaining transfer reliability through proper state management. This resolves the contradiction by making bus access rules dynamic rather than static, allowing both reliability and adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9921985B2Direct memory access controller
Publication Date: 2018.03.20 MICROCHIP TECHNOLOGY INC
  • US9921985B2 patent drawing
  • US9921985B2 patent drawing
  • US9921985B2 patent drawing

AI summary

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.