DMA Controller Request Regulation via Buffer Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing direct memory access (DMA) systems face inefficiencies due to unnecessary interrupts and processor cycles caused by excessive data transfer requests from FIFOs, leading to suboptimal performance and increased processor interruption.

Innovation Solution

Implementing a method where a storage unit stores a predetermined number of data transfer requests, allowing the DMA controller to process a larger number of requests than typically allowed, thereby restricting excessive requests and reducing processor interruptions by regulating data transfer requests through counters and separate logic for TX and RX FIFOs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the DMA controller is programmed to service a large number of TX and RX requests, then the productivity of data transfer is improved, but the processor is interrupted more frequently and processor cycles are consumed

Engineering Contradiction:
Improvedata transfer throughputVSAvoidprocessor interruption time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The buffer unit autonomously monitors its own data buffer status and generates data request signals without requiring processor intervention. The buffer unit self-manages the DMA controller programming by automatically updating the request limit register based on buffer occupancy, eliminating the need for processor interrupts to manage data transfer requests.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The buffer unit acts as an intermediary between the FIFOs and the DMA controller, filtering and regulating data transfer requests. It receives requests from both TX and RX FIFOs, evaluates buffer status, and selectively forwards requests to the DMA controller based on available buffer space, preventing excessive requests from reaching the processor.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the TX FIFO and RX FIFO independently issue data transfer requests, then the adaptability of the system is improved, but the device complexity increases due to multiple independent request generation logics

Engineering Contradiction:
Improveindependent FIFO operation capabilityVSAvoidrequest generation logic complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The buffer unit consolidates request management for both TX and RX FIFOs into a single control structure. Both FIFOs issue requests to the same buffer unit, which centralizes the decision-making logic for data transfer requests. This merging reduces the overall system complexity while preserving the independent operational capabilities of each FIFO.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The buffer unit serves multiple functions: it acts as a data buffer, a request filter, a request regulator, and a DMA controller programmer. This multi-functional design eliminates the need for separate control logic for each FIFO, reducing device complexity while maintaining the ability to handle both transmit and receive operations independently.

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

3Productivity

If the buffer unit allows excessive data transfer requests to be serviced, then the productivity is improved, but harmful factors increase due to processor overload and system instability

Engineering Contradiction:
Improvedata transfer rateVSAvoidprocessor overload
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The buffer unit continuously monitors buffer occupancy and uses this feedback to dynamically control request issuance. When the buffer is full, the buffer unit stops generating data request signals, automatically throttling data transfers. This feedback mechanism prevents processor overload by ensuring requests are only generated when the buffer can actually accept data.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The buffer unit preemptively prevents excessive requests from being generated by monitoring buffer status before requests are issued. The request limit register is pre-configured with maximum buffer capacity, and the buffer unit blocks requests that would exceed this limit, preventing processor overload before it occurs.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS9032112B1Automatic direct memory access (DMA)
Publication Date: 2015.05.12 MARVELL ASIA PTE LTD
  • US9032112B1 patent drawing
  • US9032112B1 patent drawing
  • US9032112B1 patent drawing

AI summary

In one embodiment, a method includes storing, in a storage unit, a number of data transfer requests to issue for a data request signal. Data transfer requests are issued to a direct memory access (DMA) controller of a system for transfer of data to a buffer unit. The stored number of data transfer requests is determined. The issuance of data transfer requests are stopped when the stored number of data transfer requests is met.