DMA Controller Buffer Segmentation for Short Payload Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing DMA technologies face challenges in reducing latency for short payloads and managing resources effectively, leading to increased latency and resource usage during data transfer in parallel computers, especially when handling variable-length packets and fixed-length packets.

Innovation Solution

The proposed solution involves a DMA controller that stores the packet header and a portion of the data in separate memories, allowing for single access to the packet buffer for short payloads and optimizing resource allocation by classifying packets based on length, thereby reducing latency and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a high-density buffer such as SRAM is used as a receive buffer to store a large amount of packets, then throughput of data transfer is improved, but access latency increases compared to usual receive buffers

Engineering Contradiction:
Improvethroughput of data transferVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The receive buffer is segmented into multiple regions: a first receive buffer region with high-speed access (using flip-flops or registers) and a second receive buffer region with high density (using SRAM). This segmentation allows the system to utilize both the speed advantage of the first region and the capacity advantage of the second region, thereby improving throughput while minimizing access latency for frequently accessed data.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a receive buffer for storing a large amount of payloads is implemented to transfer payloads with long message lengths at high throughput, then throughput is improved, but resources provided in the information processing apparatus increase

Engineering Contradiction:
ImprovethroughputVSAvoidresources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Different regions of the receive buffer are assigned different storage media based on local requirements: the first receive buffer region uses high-speed but resource-intensive flip-flops or registers for data requiring frequent access, while the second receive buffer region uses resource-efficient SRAM for data requiring large storage capacity but less frequent access. This local quality differentiation optimizes the balance between throughput and resource consumption.

Inventive Principle:
Principle #3Local quality

3Productivity

If different receive buffers are provided for variable-length packets and fixed-length packets, then data transfer efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The receive buffer is designed as a unified multi-functional structure that can handle both variable-length packets and fixed-length packets. The buffer includes a first receive buffer region and a second receive buffer region that can be flexibly allocated based on packet type and length requirements, eliminating the need for completely separate buffer structures for different packet types while maintaining data transfer efficiency.

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

Data Source

PatentUS10489322B2Apparatus and method to improve performance in DMA transfer of data
Publication Date: 2019.11.26 FUJITSU LTD
  • US10489322B2 patent drawing
  • US10489322B2 patent drawing
  • US10489322B2 patent drawing

AI summary

An apparatus includes a first memory and a direct memory access (DMA) controller. The DMA controller includes a second memory to store the received packet and a third memory, and receives a packet including a header where information for DMA is registered and data to be stored in the first memory. The DMA controller acquires and stores, in the third memory, the header and a beginning portion of a given length from beginning of the data of the packet stored in the second memory. The DMA controller reads the data included in the packet from the third memory when it is determined, based on the header, that a data length of the data included in the packet is less than or equal to the given length, and performs storage of the read data by DMA in the first memory.