Hybrid DMA Queue and Status Table for Latency Hiding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-processing systems face inefficiencies due to the inability for application programs to monitor the status of Direct Memory Access (DMA) commands, leading to prolonged processing times and reduced throughput.

Innovation Solution

A hardware DMA command queue and software DMA status table, managed by a software snoop controller, allow application programs to track the status of DMA commands, enabling them to perform other tasks while waiting for data transfers to complete, thereby hiding the inherent latency of DMA operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If a conventional DMA command queue is used to store pending DMA commands, then data transfer operations can be initiated, but the application program cannot obtain status information about the DMA transfer, leading to inefficient processing throughput

Engineering Contradiction:
ImproveDMA transfer status informationVSAvoidprocessing throughput
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system divides the DMA status tracking into separate components: a hardware DMA command queue for storing commands and a software DMA status table for tracking completion status. This segmentation allows the application program to query status information without blocking the DMA transfer operations, resolving the contradiction between information availability and processing throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A snoop controller is introduced as an intermediary component that monitors DMA transfer completion and updates the software status table. This intermediary enables the application program to obtain status information asynchronously without interfering with the DMA transfer process, thereby maintaining high processing throughput while providing complete status visibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the application program waits for DMA transfer completion before proceeding, then data integrity is ensured, but processing latency increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements a feedback mechanism where the snoop controller continuously monitors DMA transfer completion and updates the status table. The application program can poll this status table to determine when transfers are complete, enabling it to proceed with subsequent operations only when data integrity is ensured, thus maintaining reliability while minimizing unnecessary waiting time.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The status table is pre-initialized and continuously updated by the snoop controller before the application program needs to query it. This preliminary preparation of status information allows the application program to make immediate decisions about data readiness without introducing processing latency, while still ensuring data integrity through accurate status reporting.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the application program continuously monitors DMA status, then processing efficiency improves, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The snoop controller automatically monitors DMA transfer completion and updates the status table without requiring complex intervention from the application program. This self-service approach allows the application program to simply query the status table with minimal overhead, improving processing efficiency while avoiding the need for complex monitoring logic in the application software.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The status monitoring functionality is merged into the existing DMA subsystem through the snoop controller and status table infrastructure. This integration allows the application program to obtain status information through simple table queries rather than implementing separate complex monitoring mechanisms, thereby improving processing efficiency without significantly increasing system complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7774512B2Methods and apparatus for hybrid DMA queue and DMA table
Publication Date: 2010.08.10 SONY INTERACTIVE ENTERTAINMENT LLC
  • US7774512B2 patent drawing
  • US7774512B2 patent drawing
  • US7774512B2 patent drawing

AI summary

Methods and apparatus provide for assigning an identifier to a DMA command, the identifier for association with an entry of a DMA table containing status information regarding the DMA command; receiving an indication that a DMA data transfer defined by the DMA command has been completed; and updating the status information of the entry of the DMA table associated with the DMA data transfer to indicate that the DMA data transfer has been completed.