Isochronous Engine for Predictable Memory-Mapped Fabric Transfers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for isochronous data transfer between different memory-mapped domains in distributed systems, such as those using PCI-Express fabrics, suffer from low predictability and reliance on host controller software, making them unsuitable for time-based transfer models.

Innovation Solution

The implementation of an isochronous engine configured with isochronous periods for initiating and controlling DMA transfers across memory-mapped domains, ensuring synchronized data transfer between devices in different memory-mapped domains over a memory-mapped fabric, with priority given to the isochronous engine to maintain precise timing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If host controller software is used to initiate data transfers, then data transfer can be performed between different memory-mapped domains, but predictability and timing precision deteriorate due to software execution dependencies

Engineering Contradiction:
ImprovepredictabilityVSAvoidsoftware dependency
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

An isochronous engine is introduced as an intermediary device between the host controller and DMA controllers. This engine receives isochronous transfer requests from the host, translates them into precise timing-controlled DMA operations, and manages the actual data transfer. The intermediary layer isolates the host software from the timing-critical transfer operations, ensuring predictability while maintaining software configurability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces software-based transfer initiation with hardware-based isochronous engine control. The isochronous engine uses dedicated hardware circuits to generate precise timing signals and control DMA controllers, substituting the unreliable software timing mechanism with deterministic hardware timing. This substitution eliminates software execution variability while maintaining the ability to configure transfer parameters.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If DMA controllers are used for data transfer, then transfer operations can be performed without host intervention, but timing precision and isochronous control worsen due to lack of dedicated timing mechanisms

Engineering Contradiction:
Improveautonomous transfer capabilityVSAvoidtiming precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system segments the data transfer function into two distinct components: the isochronous engine that handles timing and control, and the DMA controllers that handle actual data movement. The isochronous engine is dedicated solely to generating precise timing signals and managing transfer scheduling, while DMA controllers focus on efficient data搬运. This segmentation allows each component to be optimized for its specific function, achieving both autonomous operation and precise timing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The isochronous engine implements periodic action by operating according to predetermined isochronous periods and time stamps. It generates regular timing intervals and uses these periodic signals to trigger DMA transfers at precise moments. This periodic timing mechanism ensures that data transfers occur at consistent, predictable intervals, achieving isochronous transfer characteristics while maintaining autonomous DMA operation.

Inventive Principle:
Principle #19Periodic action

3Adaptability or versatility

If multiple processors are connected over the fabric, then distributed computing capability is improved, but data transfer reliability between different domains deteriorates due to address translation and isolation requirements

Engineering Contradiction:
Improvedistributed computing capabilityVSAvoiddata transfer reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The isochronous engine acts as a mediator between processors in different memory-mapped domains. It handles the complex address translation requirements by translating isochronous transfer requests that span domain boundaries, ensuring that data transfers between domains occur reliably. The engine manages the isolation requirements while enabling controlled data exchange, maintaining transfer reliability despite the presence of multiple processors and domains.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8938559B2Isochronous data transfer between memory-mapped domains of a memory-mapped fabric
Publication Date: 2015.01.20 NATIONAL INSTRUMENTS CORP
  • US8938559B2 patent drawing
  • US8938559B2 patent drawing
  • US8938559B2 patent drawing

AI summary

Techniques for isochronous data transfer between different memory-mapped domains in a distributed system. A method includes configuring an isochronous engine with an isochronous period. The method further includes transferring data over a memory-mapped fabric from a first memory to a second memory during a specified portion of a cycle of the isochronous period. The first memory is comprised in a first device in a first memory-mapped domain of the memory-mapped fabric and the second memory is comprised in a second device in a second memory-mapped domain of the memory-mapped fabric. The method may further comprise translating one or more addresses related to the transferring. The memory-mapped fabric may be a PCI-Express fabric. The transferring may be performed by a DMA controller. A non-transparent bridge may separate the first and the second memory-mapped domains and may perform the translating.