Network Timing Driver DMA Timestamp Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network timing systems experience delays and variable latency due to reliance on polling and interrupt mechanisms for fetching timestamps and metadata, which hinder efficient data packet reception and transmission operations.

Innovation Solution

The implementation of a device driver that utilizes a direct memory access (DMA) feature and a first-in-first-out (FIFO) mechanism to read and write data without requiring additional polling or interrupt operations, thereby reducing latency and improving deterministic latency in network timing systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If polling or interrupt mechanisms are used to fetch timestamps, then the driver can obtain timestamp data, but delay and variable latency occur

Engineering Contradiction:
Improvetimestamp reading accuracyVSAvoiddelay in reading timestamp
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the hardware component automatically perform the timestamp reading operation before the driver needs the data. The hardware reads the timestamp from the device and stores it in a buffer, so when the driver needs the timestamp, it is already available without requiring the driver to initiate a polling or interrupt operation, thereby eliminating the delay.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a buffer in the hardware component that stores pre-fetched timestamp data. This buffer acts as an intermediary between the timestamp source and the driver, allowing the driver to retrieve timestamps without directly interacting with the timing hardware through polling or interrupts, thus reducing latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If polling mechanisms are used to fetch timestamp data, then the driver can obtain timing information, but variable delay and reduced productivity occur

Engineering Contradiction:
Improvetimestamp data retrievalVSAvoiddata processing efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The hardware component performs self-service by automatically reading and storing timestamp data in its own buffer without requiring the driver to initiate fetch operations. This self-service mechanism eliminates the need for continuous polling by the driver, thereby improving productivity while ensuring timestamp information is always available when needed.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The hardware component performs preliminary action by pre-fetching and storing timestamp data before the driver needs it. This advance preparation ensures that timestamp information is readily available, eliminating variable delays associated with polling and significantly improving data processing efficiency.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If interrupt mechanisms are used to fetch timestamps, then real-time notification is achieved, but additional complexity and delay are introduced

Engineering Contradiction:
Improvetimestamp fetching reliabilityVSAvoiddriver mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the timestamp reading function from the driver and relocates it to the hardware component. By taking out this function from the software driver layer and implementing it in hardware, the system eliminates the need for complex interrupt handling and polling logic in the driver, reducing device complexity while maintaining reliable timestamp acquisition.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a buffer as an intermediary that decouples the timestamp generation and retrieval processes. This intermediary buffer allows the driver to obtain timestamps through simple memory access operations rather than complex interrupt mechanisms, reducing driver complexity while ensuring reliable timestamp fetching.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10762013B2Driver for network timing systems
Publication Date: 2020.09.01 ALTERA CORP
  • US10762013B2 patent drawing
  • US10762013B2 patent drawing
  • US10762013B2 patent drawing

AI summary

Devices and methods of providing drivers for software and hardware systems to avoid additional polling or interrupt mechanisms are provided. An electronic device includes a processor supporting a device driver to perform a data packet receiving operation or data packet transmission operation. The device driver causes the processor to receive one or more data packets to a port of the processor according to a time-synchronization protocol. The device driver polls the DMA feature for a completion status of the storing. The device driver causes the processor to determine a timestamp of the one or more data packets and to complete the data packet receiving operation without the device driver causing the processor to perform a polling operation or an interrupt operation to retrieve the timestamp of the one or more data packets.