DMA Controller with Integrated Digital Filter for Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The semiconductor industry faces challenges in maintaining performance and energy efficiency as the benefits from photolithographic scaling slow down, leading to increased processor resource utilization during memory operations like DMA, which can be inefficient and power-intensive.

Innovation Solution

Implementing a DMA system that performs direct memory access with integrated digital filtering, allowing data to be filtered during transfer without extensive CPU or GPU usage, using a DMA controller with configuration registers to manage filter types and parameters, and a line buffer to process data in a window fashion, thereby reducing overhead and enabling low-power processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If data filtering is performed using CPU or GPU during DMA operations, then filtering quality is improved, but processor resource utilization increases and energy consumption rises

Engineering Contradiction:
Improvefiltering qualityVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The filtering function is extracted from the CPU/GPU and implemented as dedicated hardware logic within the DMA controller. This allows filtering operations to be performed in parallel with data transfer using specialized circuitry (such as lookup tables and combinatorial logic) rather than consuming processor resources, thereby maintaining filtering quality while reducing overall system energy consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

A line buffer is introduced as an intermediary component between the memory interface and the filter logic. The line buffer temporarily stores data lines, enabling the filter to process data at its own pace without blocking the high-speed memory interface. This mediator allows the filtering operation to be decoupled from the transfer operation, improving both performance and energy efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If CPU or GPU is used for data filtering during DMA operations, then comprehensive processing capability is improved, but processor availability for other tasks decreases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidprocessor availability
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The filtering functionality is merged directly into the DMA controller hardware, combining data transfer and filtering operations into a single integrated unit. This allows the processor to initiate a DMA transfer with filtering enabled and then immediately attend to other tasks, as the filtering is performed autonomously by the DMA hardware during the transfer operation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The DMA controller with integrated filter operates autonomously once configured by the processor. The filter logic automatically processes data as it flows through the DMA engine without requiring processor intervention, enabling the processor to service other tasks while the DMA subsystem handles both transfer and filtering independently.

Inventive Principle:
Principle #25Self-service

3Productivity

If filtering is performed after complete data transfer using processor, then memory bandwidth is improved, but overall system performance and energy efficiency deteriorate

Engineering Contradiction:
Improvememory bandwidthVSAvoidsystem performance per watt
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The filtering operation continues concurrently with the data transfer operation rather than waiting for transfer completion. As data flows continuously through the DMA engine from memory to destination, the integrated filter continuously processes the data stream, eliminating idle time and ensuring that every byte transferred is simultaneously being filtered, maximizing both bandwidth utilization and energy efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10310998B2Direct memory access with filtering
Publication Date: 2019.06.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10310998B2 patent drawing
  • US10310998B2 patent drawing
  • US10310998B2 patent drawing

AI summary

Methods, apparatus, and computer-readable storage media are disclosed for applying filtering operations to data transferred as part of a direct memory access (DMA) operation. In one example of the disclosed technology, a system includes a processor, memory, and a direct memory access (DMA) engine coupled to the memory for reading a set of data from a selected range of read memory addresses for the memory without using the processor. A line buffer coupled to the DMA engine is configured to receive DMA read data and temporarily store a portion, but not all of the data set being read by the DMA engine in a line buffer. A digital filter is configured to apply a filtering operation to a windowed subset of the buffered portion of the data set, producing filtered data that is stored to a selected range of write memory addresses for the memory, without using the processor.