SoC Internal to External Memory Data Transmission via Task Queue

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In system-on-chip (SoC) data transmission, the processor often wastes resources due to improper timing in initiating data transfer tasks with a Direct Memory Access (DMA) device, leading to waiting periods and reduced efficiency in data transfer between internal and external memories.

Innovation Solution

A data transmission method utilizing a task queue to manage execution information for DMA tasks, allowing the processor to send tasks sequentially to the DMA device, reducing waiting times and improving resource utilization by maintaining continuous processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor initiates data transmission tasks with the DMA device in real-time, then the processor can execute other computing tasks during transmission, but the DMA device remains idle when no tasks are available, causing processor waiting time and resource waste

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidprocessor waiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The processor pre-generates and queues multiple data transmission tasks in advance before the DMA device completes previous tasks. This ensures that when the DMA device finishes one task, there are already subsequent tasks ready to execute, eliminating idle time and processor waiting periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By maintaining a task queue with pre-generated transmission tasks, the system ensures continuous operation of the DMA device without idle periods. The processor can continuously fetch and submit new tasks from the queue, keeping the data transmission pipeline full and eliminating gaps in useful action.

Inventive Principle:
Principle #20Continuity of useful action

2Ease of operation

If the processor waits for DMA task completion before initiating the next task, then task execution is sequential and simple to manage, but the processor cannot execute other computing tasks during transmission, wasting computing resources

Engineering Contradiction:
Improvetask management simplicityVSAvoidprocessor utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The data transmission workflow is segmented into independent tasks that are queued and processed sequentially by the DMA device. Each task is self-contained with specific source and destination addresses, allowing the processor to manage tasks through simple queue operations while the DMA handles execution independently, improving both simplicity and processor utilization.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If the DMA device operates with idle periods between tasks, then the system can manage task timing more flexibly, but the transmission interval increases, reducing overall data transmission throughput

Engineering Contradiction:
Improvetask timing flexibilityVSAvoiddata transmission throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Multiple data transmission tasks are generated and queued in advance before the DMA device completes previous operations. This preliminary preparation ensures that when the DMA device becomes available, tasks are already ready to execute immediately, maintaining high throughput while preserving timing flexibility through the queue structure.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11822958B2Method and a device for data transmission between an internal memory of a system-on-chip and an external memory
Publication Date: 2023.11.21 ALIBABA GROUP HOLDING LTD
  • US11822958B2 patent drawing
  • US11822958B2 patent drawing
  • US11822958B2 patent drawing

AI summary

A data transmission method and device for data transmission between an internal memory of a system-on-chip and an external memory coupled to the system-on-chip. The method is executed by a processor of the system-on-chip, including steps of: adding execution information of at least one data transmission task to be executed to a task queue; sending execution information of one data transmission task in the task queue to a direct access device for the direct access device to execute the data transmission task; and receiving an interrupt request sent by the direct access device, where the interrupt request is used to indicate completion of the execution of the data transmission task, so that the processor sends execution information of a next data transmission task to be executed in the task queue to the direct access device.