Network Interface Card Timestamp Correction via Phase Difference Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing timestamping methods for data packets in network communication face inaccuracies due to clock synchronization issues between system clocks and network interface card clocks, leading to phase differences and timing errors.

Innovation Solution

A compute device with a network interface card that determines phase differences between system and network interface card clocks, using latency determiners to correct timestamp values and ensure precise timestamping by correlating clock cycles, thereby compensating for timing errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If standard timestamping methods are used without clock synchronization correction, then the timestamping process is simple and fast, but the timestamp precision is inaccurate due to phase differences between system clock and NIC clock

Engineering Contradiction:
Improvetimestamp precisionVSAvoidclock synchronization complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary clock synchronization by determining the phase difference between the system clock and NIC clock before timestamping operations. This advance calibration allows subsequent timestamps to be corrected automatically without adding complexity to the main data processing path.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A phase difference compensation mechanism acts as an intermediary between the system clock and NIC clock. This intermediary component calculates and applies corrections to timestamp values based on the determined phase difference, resolving the timing inaccuracy without requiring direct clock synchronization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If clock phase difference correction is implemented, then timestamp precision is improved, but the processing time and complexity increase

Engineering Contradiction:
Improvetimestamp accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The phase difference measurement and calculation is performed once in advance before the actual timestamping operations. This preliminary action ensures that subsequent timestamp corrections can be applied quickly using pre-calculated compensation values, minimizing processing time impact.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies partial correction by focusing only on the critical phase difference component that affects timestamp accuracy, rather than attempting to synchronize all clock parameters. This selective approach reduces processing overhead while maintaining sufficient timestamp precision for the application.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11671194B2Technologies for high-precision timestamping of packets
Publication Date: 2023.06.06 INTEL CORP
  • US11671194B2 patent drawing
  • US11671194B2 patent drawing
  • US11671194B2 patent drawing

AI summary

Technologies for high-precision timestamping of data packets is disclosed. Several sources of errors that may arise when timestamping the arrival or sending of data packets may be determined and corrected, including variable latencies, semi-static latencies, and fixed latencies. In the illustrative embodiment, a variable latency may arise due to a phase difference between a clock of a network interface card and a system clock. When a trigger pattern is detected, such as the start of a data packet, a trigger may be sent from a circuit synchronized to the clock of the network interface card to a circuit synchronized to the system clock. The phase difference between the edge of the clock on the network interface card and the edge of the clock of the system clock leads to an error in the timestamp value. Determining the phase difference allows for the error in the timestamp value to be corrected.