Direct Memory Access Engine Serial Link Data Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In wireless communications devices, the processor experiences high load when accessing data from an analogue baseband chip via a serial link, particularly for control data, due to the need for memory access requests and responses, which complicates the association of data with its storage location.

Innovation Solution

A method using a direct memory access engine to generate and sequentially transmit memory access requests over a serial link, with the returned data values appended with their storage addresses, allowing efficient handling and storage of data in the processor's memory, reducing processor load by enabling independent and out-of-order request handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor directly handles memory access requests over the serial link, then data access is possible, but the processor load increases significantly

Engineering Contradiction:
Improvedata access efficiencyVSAvoidprocessor load
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

A dedicated DMA engine is introduced as an intermediary between the processor and the serial link. The DMA engine handles memory access requests independently, freeing the processor from this burden while maintaining efficient data transfer capabilities through the serial link to the analogue baseband chip.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system functionality is segmented into distinct components: the processor handles high-level signal processing tasks, while the DMA engine handles low-level memory access requests. This segmentation allows each component to specialize in its designated function, improving overall system efficiency and reducing processor load.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If memory access requests are handled sequentially over the serial link, then data transfer is possible, but the association of data with its storage location becomes complex

Engineering Contradiction:
Improvedata associationVSAvoidrequest handling complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The DMA engine prepares and queues memory access requests in advance, organizing them before transmission over the serial link. This preliminary organization simplifies the association between data and its storage location, as the DMA engine maintains the mapping information and ensures proper sequencing of requests and responses.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8275921B2Accessing data
Publication Date: 2012.09.25 ICERA INC
  • US8275921B2 patent drawing
  • US8275921B2 patent drawing
  • US8275921B2 patent drawing

AI summary

A method of accessing data in a device comprising: a first integrated circuit having a processor, a memory connected to the processor and a direct memory access engine operatively coupled to the memory and to the microprocessor; a second integrated circuit comprising storage means for holding data values in respective locations, the second integrated circuit being connected to the first integrated circuit via a serial link, the method comprising: the processor generating a plurality of memory access requests independent from one another and supplying a bundle of said independent memory access requests to the direct memory access engine, each memory access request comprising an address of a storage location in the storage means; the direct memory access engine sequentially supplying the memory access requests via the serial link to the second integrated circuit; the second integrated circuit returning a data value responsive to each memory access request and appending to the data value said address of the location where the data value was stored in the storage means; and storing in the memory of the first integrated circuit the returned data value and its appended address.