DMA Controller Multiple Inputs Job List Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing DMA controllers in electronic apparatuses lack flexibility in configuring and initiating multiple job lists, limiting their ability to efficiently manage data transfers between various peripherals and memory locations, especially in systems where multiple hosts need to share the DMA controller.

Innovation Solution

The implementation of a DMA controller with multiple inputs that can determine memory addresses and process job lists stored at different memory locations, allowing for preconfiguration of multiple job lists and initiation through a signal, enabling multiple hosts to share the DMA controller and perform various transfer operations efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a DMA controller is designed to handle only a single job list, then the device complexity is reduced, but the adaptability and versatility of the DMA controller deteriorates

Engineering Contradiction:
Improveability to process multiple job listsVSAvoidDMA controller structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The DMA controller is designed with multiple inputs (first input, second input, etc.) that can each trigger processing of different job lists stored at different memory addresses. This multi-functionality allows a single DMA controller to serve multiple hosts or peripheral devices, each with their own job lists, thereby improving adaptability without requiring separate dedicated DMA controllers for each host.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system segments job lists into separate memory locations, with each job list associated with a specific input or host. The DMA controller reads job lists from different memory addresses based on which input receives the trigger signal. This segmentation allows independent management of multiple job lists while using a single unified DMA controller structure.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a DMA controller is configured to support multiple hosts with separate job lists, then the adaptability improves, but the device complexity increases

Engineering Contradiction:
Improvemulti-host sharing capabilityVSAvoidconfiguration and initiation mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The DMA controller serves as a universal resource that can be shared by multiple hosts through its multiple inputs. Each host can configure job lists at different memory addresses and trigger the DMA controller through its corresponding input, allowing the single DMA controller to perform the function of multiple dedicated controllers and enabling efficient resource utilization in multi-processor systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20240320174A1Direct memory access controller
Publication Date: 2024.09.26 NORDIC SEMICONDUCTOR
  • US20240320174A1 patent drawing
  • US20240320174A1 patent drawing
  • US20240320174A1 patent drawing

AI summary

An electronic apparatus comprises a processor, memory, a direct memory access (DMA) controller, and a bus system. The processor and memory are coupled to the bus system. The DMA controller is coupled to the bus system at a bus connection point. The DMA controller comprises a plurality of inputs and circuitry configured, for each input of the inputs, in response to receiving a signal at the respective input, to: determine a respective memory address in dependence on which of the plurality of inputs received the signal; read from the memory a respective job list of one or more jobs located at the respective memory address, each job specifying a respective transfer operation for the DMA controller to perform; and perform each job in the job list by transferring data through the bus connection point in accordance with the respective transfer operation.