Functional Descriptor DMA Control for Non-Contiguous Memory Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional DMA controllers struggle with moving data between non-contiguous memory locations, requiring large descriptor tables and frequent CPU intervention, which impacts system throughput.

Innovation Solution

A DMA controller system utilizing functional descriptors and pattern matching circuits to manage data transfer between non-contiguous memory blocks independently of the CPU, using trigger configuration registers and address/count registers to control data transfer without large descriptor tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional DMA controllers use descriptor tables to manage non-contiguous data blocks, then data movement between non-contiguous memory locations is enabled, but large descriptor tables must be built by the CPU increasing device complexity and CPU overhead

Engineering Contradiction:
Improvesupport for non-contiguous data blocksVSAvoiddescriptor table management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the descriptor table management function from the CPU and relocates it to the DMA controller itself. The DMA controller now autonomously builds and manages its own descriptor tables without CPU intervention, eliminating the complexity burden from the CPU while maintaining support for non-contiguous data blocks.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The DMA controller performs self-service by automatically constructing descriptor tables based on scatter-gather list entries provided by the CPU. Once initialized, the DMA controller independently manages its own descriptor tables during data transfer operations, freeing the CPU from the complexity of descriptor table maintenance.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If CPU polls status bits to control operational flow, then flow control is achieved, but system throughput is reduced due to frequent CPU intervention

Engineering Contradiction:
Improveoperational flow controlVSAvoidsystem throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The DMA controller implements self-service flow control by autonomously monitoring status bits and managing its own operational flow. The controller independently determines when data transfers should pause or continue based on status conditions, eliminating the need for continuous CPU polling and intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where the DMA controller continuously monitors status bits and adjusts its operation accordingly. This closed-loop feedback allows the DMA controller to autonomously manage flow control based on real-time system conditions without CPU involvement.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If frequent CPU intervention is used for data movement control, then operational flexibility is maintained, but CPU overhead increases impacting overall system performance

Engineering Contradiction:
Improveoperational flexibilityVSAvoidCPU overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent extracts flow control responsibilities from the CPU and transfers them to the DMA controller. The DMA controller now independently manages operational flexibility through autonomous status monitoring and flow decision-making, eliminating the time-consuming CPU intervention while maintaining system adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12493570B2Device and methods for functional descriptor-based DMA controller
Publication Date: 2025.12.09 MICROCHIP TECHNOLOGY INC
  • US12493570B2 patent drawing
  • US12493570B2 patent drawing
  • US12493570B2 patent drawing

AI summary

A microcontroller may include a DMA controller, a pattern matching circuit and a memory. The DMA controller may read a first descriptor word in the memory at a location addressed by a first descriptor pointer, and may move an input word from a location in the memory addressed by a source payload pointer to a location in the memory addressed by a destination payload pointer. The pattern matching circuit may perform a pattern matching operation based on the input word and one or more register values. The first descriptor pointer may be modified based on the results of the pattern matching circuit and may generate a second descriptor pointer value.