Memory Access Control Device Merging Overlapping DMA Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In direct memory access (DMA) transfer methods, overlapping memory access requests lead to inefficient data transfer due to repeated access to the same address areas, causing bottlenecks and reducing data transfer performance.

Innovation Solution

A memory access control device detects overlapping address portions in DMA requests, merges these requests, and uses a multicast function to execute a single merged memory access, instructing simultaneous writing of data to multiple destination addresses, thereby improving data transfer efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple separate memory access requests are executed independently, then each request can be processed individually, but redundant access operations occur leading to increased transfer time and reduced data transfer performance

Engineering Contradiction:
Improvedata transfer performanceVSAvoidtransfer time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple memory access requests that have overlapping source address ranges into a single consolidated request. The memory access control device detects overlapping portions of source addresses among multiple requests, combines these requests into one merged request with unified source and destination address ranges, and executes the merged request to eliminate redundant memory access operations, thereby reducing transfer time and improving data transfer performance

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory access control device performs preliminary detection of overlapping address portions among multiple memory access requests before executing the actual data transfer. By identifying and merging overlapping requests in advance, the system prepares an optimized transfer plan that prevents redundant operations, thus reducing the overall transfer time and enhancing productivity

Inventive Principle:
Principle #10Preliminary action

2Productivity

If overlapping memory access requests are processed separately, then each request maintains its individual processing path, but repeated access to the same address areas causes bottlenecks

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidaccess operation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent consolidates multiple memory access requests with overlapping source address ranges into a single merged request. This merging operation reduces the number of separate access operations to the memory, eliminating bottlenecks caused by repeated access to the same address areas. The merged request maintains all necessary destination addresses while performing a single unified source address range access, thereby improving data transfer efficiency without proportionally increasing device complexity

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10409746B2Memory access control device and control method of memory access
Publication Date: 2019.09.10 FUJITSU LTD
  • US10409746B2 patent drawing
  • US10409746B2 patent drawing
  • US10409746B2 patent drawing

AI summary

A memory access control device includes: a memory configured to hold data from a host device; and a processor coupled to the memory, the processor: detects an overlapping portion of addresses of data transfer sources of a plurality of memory access requests; merges, in a case where the overlapping portion is detected, read accesses to the data transfer sources for the overlapping portion of the plurality of memory access requests collectively to generate a merged memory access request; executes a data transfer in accordance with the merged memory access request; and instructs writing of data transferred in the data transfer to a plurality of addresses of data transfer destinations of the plurality of memory access requests.