CN113810145A - 接收端时间戳准确性 - Google Patents
接收端时间戳准确性 Download PDFInfo
- Publication number
- CN113810145A CN113810145A CN202110641671.6A CN202110641671A CN113810145A CN 113810145 A CN113810145 A CN 113810145A CN 202110641671 A CN202110641671 A CN 202110641671A CN 113810145 A CN113810145 A CN 113810145A
- Authority
- CN
- China
- Prior art keywords
- phy
- pipeline
- symbols
- receive
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 53
- 238000012545 processing Methods 0.000 claims description 16
- 238000012937 correction Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 4
- 108700009949 PTP protocol Proteins 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001152 differential interference contrast microscopy Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/067—Details of the timestamp structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
- H04J3/0697—Synchronisation in a packet node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17325—Synchronisation; Hardware support therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
- H04L7/0012—Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在一个实施方式中,网络设备包括网络接口端口,其被配置为通过分组数据网络从网络节点接收数据符号,至少一些符号被包括在数据分组中;以及控制器电路,包括物理层(PHY)电路,其包括配置为处理接收到的数据符号的接收PHY管线电路,以及计数器,其被配置为维持指示接收PHY管线电路中的数据符号数量的计数器值。
Description
技术领域
本发明涉及网络设备,尤其但不排他地涉及接收端处理。
背景技术
在计算机网络中,每个节点(例如,交换机或端点)通常都有自己的实时时钟。在许多应用中,希望不同节点的实时时钟精确地同步。然而,由于在节点之间分配时钟同步消息所涉及的延迟和抖动,可能难以实现这种同步。
精确时间协议(PTP)被认为是解决此问题的方案。该协议使网络节点能够使用节点和主设备之间的消息传递来确定其各自时钟的偏移,以达到纳秒级的精度。为了测量时钟偏移时的最大精度,通常使用基于硬件的时间戳,例如,Weibel和Bechaz在2004年IEEE1588大会(2004年9月28日)上的“Implementation and Performance of Time StampingTechniques(时间戳技术的实现和性能)”中所述,将其通过引用并入本文。PTP硬件时钟(PHC)是根据PTP格式运行的硬件时钟(例如,包括振荡器和计数器)。PHC被同步到网络中的主机。
成功运行PTP协议通常需要接收到的分组的准确时间戳,以便时间戳点不受网络负载或接收节点的CPU负载的影响。因此,网络接口控制器(NIC)或其他网络节点中的硬件时间戳通常比软件时间戳更好,后者可能会遭受CPU负载误差的影响,而硬件时间戳则更为准确和稳定。
现在描述示例,同步。在第一步中,同步频率。主设备在时间t1发送同步消息,该消息在时间t2到达从设备。主设备在时间t3发送同步消息,该消息在时间t4到达从设备。从设备根据以下计算漂移:
[t4-t2–(t3-t1)]/(t3-t1)。
然后,从设备可以基于漂移来调整其时钟,以同步其时钟的频率。
然后,主设备在时间t5发送另一同步消息,该消息在时间t6由从设备接收。然后,从设备在时间t7发送延迟请求消息。然后,主设备在时间t8发送另一消息,该消息包括主设备接收到延迟请求的时间。从设备可以将往返时间计算为等于:
t8-t5–(t7-t6)。
因此,从主设备到从设备的单向延迟由以下给出:
[t8-t5–(t7-t6)]/2。
然后,主设备在时间t9发送另一消息。当从设备在t10接收到消息时,从设备知道相位为t10加上单向延迟。
Kagan的美国专利8,370,675描述了一种时钟同步的方法,该方法包括计算实时时钟电路的本地时钟时间与参考时钟时间之间的偏移值,并将该偏移值加载到与实时时钟电路相关的寄存器中。然后将本地时钟时间与寄存器中的值相加,以给出与参考时钟同步的本地时钟时间的调整值。
发明内容
根据本公开的实施方式,提供了一种网络设备,包括:网络接口端口,其被配置为通过分组数据网络从网络节点接收数据符号,至少一些符号包括在数据分组中;以及控制器电路,包括物理层(PHY)电路,所述物理层电路包括接收PHY管线电路,其被配置为处理接收到的数据符号,以及计数器,其被配置为维持指示所述接收PHY管线电路中的数据符号的数量的计数器值。
进一步根据本公开的实施方式,所述接收PHY管线电路被配置为识别所述数据分组之一的帧开始定界符;以及计算所识别的帧开始定界符的时间戳。
更进一步根据本公开的实施方式,所识别的帧开始定界符的数据分组包括填充有第一CRC码的循环冗余校验(CRC)字段,其中所述控制器电路被配置为检查所述第一CRC码,响应于所述数据分组,计算第二CRC码,所述第二CRC码比所述第一CRC码更短以及将所述第二CRC码和计算出的时间戳插入到所述CRC字段中,以代替所述第一CRC码。
另外,根据本公开的实施方式,所识别的帧开始定界符的数据分组包括从所述分组数据网络中的主时钟接收的时间同步消息。
此外,根据本公开的实施方式,该设备包括硬件时钟,其被配置为维持时钟值,其中所述接收PHY管线电路被配置为根据给定的符号时序来处理所接收的数据符号的到达,以及响应于基于所述计数器值和所述符号时序的调整而减少的时钟值,计算所识别的帧开始定界符何时进入所述接收PHY管线电路的时间戳,并且所述控制器电路被配置为将计算出的时间戳分配给所识别的帧开始定界符的数据分组之一。
进一步根据本公开的实施方式,所述控制器电路被配置为响应于所计算出的时间戳和所述硬件时钟的当前时钟值来计算扩展时间戳;以及生成包括所述扩展时间戳的控制消息。
仍进一步根据本公开的实施方式,所述接收PHY管线电路被配置为响应于所述计数器值除以所述符号的符号频率来计算所述调整。
另外,根据本公开的实施方式,所述接收PHY管线电路被配置为响应于所述计数器值乘以所述符号的符号周期来计算所述调整。
此外,根据本公开的实施方式,所述接收PHY管线电路被配置为以非恒定延迟来处理所述符号,使得所述符号中的不同的相应符号在各自不同的时间长度内驻留在所述接收PHY管线电路中。
进一步根据本公开的实施方式,所述计数器被配置为:响应于进入所述接收PHY管线电路的所述符号中的一些符号,递增所述计数器值;以及响应于离开所述接收PHY管线电路的所述符号中的一些符号,递减所述计数器值。
仍进一步根据本公开的实施方式,所述接收PHY管线电路被配置为响应于事件以及符号的给定数量设置所述计数器值,所述事件指示所述接收PHY管线电路中的符号的给定数量。
另外,根据本公开的实施方式,所述事件包括在所述接收PHY管线电路中实现块锁定。
此外,根据本公开的实施方式,所述事件包括:在所述接收PHY管线电路中实现对前向纠错FEC块的锁定;以及所述给定的数量是所述FEC块的大小。
进一步根据本公开的实施方式,所述计数器被配置为响应于在所述接收PHY管线电路中消耗的所述符号中的一些符号来使所述计数器值递减。
仍进一步根据本公开的实施方式,所述接收PHY管线电路被配置为如果所述消耗符号仍在所述接收PHY管线电路中,则响应于所述消耗符号沿着所述接收PHY管线电路何时到达所述计数器使所述计数器值递减。
另外,根据本公开的实施方式,所述接收PHY管线电路被配置为在所述接收PHY管线电路中的相应位置处将相应的控制信号插入到所述接收PHY管线电路中,在所述相应位置处从所述接收PHY管线电路去除所述消耗符号中的相应符号。
根据本公开的另一实施方式,还提供一种包括网络设备的计算机系统,该计算机系统包括网络接口端口,其被配置为通过分组数据网络从网络节点接收数据符号,至少一些符号包括在数据分组中;硬件时钟,其被配置为维持时钟值;以及控制器电路,所述控制器电路包括物理层(PHY)电路,所述物理层电路包括接收PHY管线电路,其被配置为:根据给定的符号时序来处理所接收的数据符号的到达;以及识别所述数据分组之一的帧开始定界符,以及计数器,用于维持指示所述接收PHY管线电路中的数据符号数量的计数器值,其中所述接收PHY管线电路被配置为响应于基于所述计数器值和所述符号时序的第一调整而减少的时钟值,计算所识别的帧开始定界符何时进入所述接收PHY管线电路的时间戳,并且所述控制器电路被配置为将计算出的时间戳分配给所识别的帧开始定界符的数据分组之一,所识别的帧开始定界符的数据分组包括从所述分组数据网络中的主时钟接收的时间同步消息,以及包括处理器的主机设备,所述处理器被配置为运行软件指令以:接收所述时间同步消息并响应于所述时间同步消息计算对所述硬件时钟的时钟值的第二调整,其中所述硬件时钟被配置为响应于计算出的第二调整而调整所述时钟值。
此外,根据本公开的实施方式,所述计数器被配置为响应于进入所述接收PHY管线电路的所述符号中的一些符号,递增所述计数器值;以及响应于离开所述接收PHY管线电路的所述符号中的一些符号,递减所述计数器值。
进一步根据本公开的实施方式,所述接收PHY管线电路被配置为响应于事件以及符号的给定数量设置所述计数器值,所述事件指示所述接收PHY管线电路中的符号的给定数量。
仍进一步根据本公开的实施方式,所述计数器被配置为响应于在所述接收PHY管线电路中消耗的所述符号中的一些来使所述计数器值递减。
另外,根据本公开的实施方式,所述接收PHY管线电路被配置为:如果所述消耗符号仍在所述接收PHY管线电路中,则响应于何时所述消耗符号将沿着所述接收PHY管线电路到达所述计数器使所述计数器值递减。
根据本公开的又一个实施方式,还提供了一种联网方法,包括:通过分组数据网络从网络节点接收数据符号,至少一些符号包括在数据分组中,并维持时钟值;根据给定的符号时序来处理所接收的数据符号的到达,识别所述数据分组之一的帧开始定界符,维持指示接收PHY管线电路中的数据符号数量的计数器值,响应于基于所述计数器值和所述符号时序的调整而减少的时钟值,计算所识别的帧开始定界符何时进入所述接收PHY管线电路的时间戳,并将计算出的时间戳分配给所识别的帧开始定界符的数据分组之一。
附图说明
通过以下结合附图的详细描述,将会理解本发明,其中:
图1是根据本发明的实施方式构造和操作的计算机系统的框图;
图2是图1的系统中的PHY接收管线电路系统处理符号的框图;
图3是图1的系统中PHY接收管线电路消耗符号的框图;
图4是包括图1的系统中的计数器重置方法中的步骤的流程图;
图5A和图5B是包括图1的系统中的时间戳计算方法中的步骤的流程图;
图6是包括图1的系统中将计算出的时间戳分配给数据分组的方法中的步骤的流程图;
图7是示出图6的方法的框图;
图8是包括图1的系统中扩展计算出的时间戳的方法中的步骤的流程图;
图9是示出图8的方法的框图;
图10是图1的系统中的硬件时钟的框图;以及
图11是包括图1的系统中的时间同步方法中的步骤的流程图。
具体实施方式
如前所述,成功运行PTP协议通常需要接收到的分组的准确时间戳,以便时间戳点不受网络负载或PTP分组的中央处理单元(CPU)处理的影响。因此,网络接口控制器(NIC)或其他网络节点中的硬件时间戳通常比软件时间戳更好,软件时间戳可能会遭受CPU负载错误。
在许多应用中,甚至硬件时间戳也可能无法提供更高的精度(例如,最高可达皮秒),这是因为硬件处理不是在单一步骤中处理分组,而是沿着长而复杂的管线处理,这通常会延迟大约1微秒。
因此,为了消除由长而复杂的管线引起的错误,期望在发生缓冲和延迟之前,尽可能地接近管线的开始计算时间戳。在设备的接收端,管线的起点通常在物理层(PHY)中。
由于PHY处理接收到的符号而不在分组级别进行处理,因此在PHY的早期加盖时间戳具有挑战性。仅稍后在PHY中,在已经发生延迟之后,才可以识别用于识别分组的开始的帧定界符(SFD)。IEEE1588标准将分组的时间戳定义为该分组的SRD的时间戳。然而,即使可以在PHY中识别分组的开始,分组的性质,例如PTP分组与其他分组的相对性质也是未知的。此外,在PHY层中,由于在通道偏移、加扰和前向纠错(FEC)编码之前接收原始位,因此符号的到达时间不容易计算。
另一方面,如果在分组成帧后执行时间戳记,则准确性会受到影响,这是因为管线的延迟可能不是恒定的,并且由于物理编码层(PCS)标记、FEC奇偶校验、FEC存储和转发以及管线中的任何缓冲而可能遭受高抖动。
一些网络设备(例如,NIC或交换机)可以包括恒定延迟的PHY管线。因此,具有恒定延迟PHY管线的设备的解决方案是基于从本地时钟给定的当前时间减去PHY管线的恒定延迟来计算PHY管线末端处的SFD时间戳。
但是,其他网络设备包括可变延迟PHY管线,这会导致高性能并提供较低的延迟。但是,对于这种可变延迟设备,上述时间戳方法在计算时间戳时可能无法提供足够的准确性。
本发明的实施方式通过提供一种网络设备来解决上述问题,该网络设备使用计数器来计算接收PHY管线中的时间戳,该计数器维持管线中数据符号的数量的计数器值。在识别出SFD之后,可以基于当前时间(由本地时钟给定)和SFD的数据符号在管线中所花费的时间,向PHY管线的末端计算SFD的时间戳。尽管管线延迟可以是可变的,但是根据给定的符号时序,例如根据由网络设备操作的通信协议规定的符号率来处理(例如,输入到管线中)每个数据符号的到达。因此,由计数器值给定的管线中的符号数量以及给定的符号时序可用于计算管线中SFD的数据符号所花费的时间。然后,可以基于当前时间减去管线中SFD的数据符号花费的时间来计算时间戳。因此,时间戳是在PHY层中计算的,通常这是在网络设备的处理管线中获得准确延迟信息的最后机会。
PHY层不解析分组,例如,不识别PTP分组。然后在网络设备中的PHY层之后识别分组之后,可以将时间戳添加到与所识别的SFD相关联的分组。在一些实施方式中,时间戳被添加到每个SFD,从而每个分组被准确地加上时间戳。因此,当在处理的较后阶段识别出PTP分组时,每个PTP分组都具有准确的时间戳。在一些实施方式中,诸如循环冗余校验(CRC)字段的现有分组字段可以用于存储时间戳。可以检查CRC字段中的现有CRC码,并且如果检查成功,则可以计算替换的较短CRC码。然后,替换的CRC码可以与计算出的时间戳一起存储在CRC字段中。
在一些实施方式中,所计算的时间戳可以仅包括与SFD进入管线相关联的时间的最低有效位(LSB)。与SFD进入管线相关联的时间的最高有效位(MSB)可以存储在其他位置。在稍后的阶段,可以使用存储的值来扩展计算出的时间戳。可以将扩展的时间戳添加到控制消息中,以转发到主机,例如,用于精确地处理PTP同步消息。在一些实施方式中,不需要MSB被显式地保存,因为基于计算时间戳与扩展时间戳之间的延迟足够短的假设本地时钟的时间(当扩展时间戳时)将包括MSB。
对于进入PHY管线的数据符号,该计数器递增;对于离开PHY管线至媒体访问控制(MAC)电路的数据符号,该计数器递减。但是,维持管线中数据符号数量的准确计数并不是容易的事。这是由于各种因素引起的,包括诸如服务位(例如,标记,FEC奇偶校验等)的数据符号在PHY管线中被消耗并且没有退出PHY管线。消耗的数据符号由计数器识别并解决。如果消耗的数据符号此时仍在PHY管线中,则根据消耗的数据符号离开PHY管线的时间,对消耗的数据符号使计数器递减。可以在PHY管线中的相应位置处插入相应的控制信号,从该位置,相应消耗的符号从PHY管线中被去除。
另一因素是在实现块锁定,PHY管线接收符号之前知道何时以及如何重置计数器,但是通常直到实现块锁定之后才从管线释放符号。块锁定定义为完成链接过程,该过程可能包括锁定到传入的位流,与块开始和结束位置对齐以及在多个通道上倾斜。因此,在块锁定之前运行计数器可以容易导致计数器超限和/或无意义的计数器值。因此,当可能知道管道为空时,计数器通常不会从启动状态运行。相反,响应于识别与PHY管线中的符号的数量的已知值(或该值的良好估计)相关联的事件,计数器被重置。当已知PHY管线中的符号数量等于或非常接近与FEC锁定相关联的FEC块的已知大小时,一个这样的事件是实现FEC锁定。
系统描述
通过引用结合到本文中的文件应被认为是本申请的组成部分,除了在这些结合文件中以与本说明书中明确或隐含的定义相抵触的方式定义任何术语之外,应该仅考虑本说明书的定义。
现在参考图1,其是根据本发明的实施方式构造和操作的计算机系统10的框图。计算机系统10包括连接到主机计算机14的网络设备12(例如,NIC)。主机计算机14包括处理器16,以执行各种处理任务,可选地包括运行PTP软件18,将参考图10和图11更详细地描述。实际上,处理器16的一些或全部功能可以组合在单个物理组件中,或者替代地,使用多个物理组件来实现。这些物理组件可以包括硬连线或可编程设备,或两者的组合。在一些实施方式中,处理器16的至少一些功能可以在适当的软件的控制下由可编程处理器执行。该软件可以例如通过网络以电子形式下载到设备。替代地或附加地,软件可以存储在有形的,非暂时性的计算机可读存储介质中,例如光学,磁性或电子存储器中。
在一些实施方式中,网络设备12和主机计算机14的功能可以组合在任何合适的网络设备中,例如,包括运行PTP软件的CPU的网络交换机。
网络设备12包括网络接口端口24,硬件时钟26,缓冲器28,控制器电路30和主机接口32。
网络接口端口24被配置为通过分组数据网络22从网络节点20接收数据符号。至少一些符号被包括在数据分组中。在一些实施方式中,网络接口端口24被配置为从主时钟设备34接收PTP同步消息中包括的数据符号。
硬件时钟26被配置为根据诸如协调世界时(UTC)的任何合适的时间标准来维持时钟值。参考图10和图11更详细地描述硬件时钟26。缓冲器28被配置为存储由网络设备12的各个元件使用的数据。主机接口32被配置为在网络设备12和主机计算机14之间传输数据。主机接口32可以包括任何合适的接口,例如但不限于外围组件互连快速(PCIe)接口。
控制器电路30包括物理层(PHY)电路36和MAC电路38。PHY电路36被配置为在物理层处理数据符号。MAC电路38被配置为在接收和发送管线(未示出)中的数据链路层处处理分组。控制器电路30可以执行其他转发和处理功能。
PHY电路36包括接收PHY管线电路40和发送管线电路42,用于分别处理接收到的数据符号和要发射的数据符号。PHY电路36还包括计数器44,以维持指示接收PHY管线电路40中的数据符号的数量的计数器值。参考图2至图5B更详细地描述接收PHY管线电路40。
现在参考图2,其是在图1的系统10中处理数据符号46的接收PHY管线电路40的框图。图2示出了在左侧进入PHY管线电路40在右侧离开管线的数据符号46。计数器44耦合到接收PHY管线电路40,并且被配置为响应于符号46(从网络接口端口24(图1))进入接收PHY管线电路40而递增计数器值,并响应于符号46离开接收PHY管线电路40(朝向MAC电路38(图1))而递减计数器值。
图2示出了被识别为SFD 48的数据符号46之一。接收PHY管线电路40通常被配置为检测每个SFD,甚至可以丢弃在MAC电路38中的那些SFD。可以在接收PHY管线电路40中的最后阶段执行SFD的检测。数据符号46进入接收PHY管线电路40的符号率是恒定的并且是已知的。因此,在接收PHY管线电路系统40的末端,SFD48的数据符号46已经在接收PHY管线电路40中花费的时间t与如由计数器44维持的计数器值给出的当前在管线中的数据符号46的数量成比例。因为已知符号率,可以响应于当前计数器值和符号率来计算时间t。时间t可以用于计算所识别的SFD 48进入接收PHY管线电路系统40的时间,如参考图5A和图5B更详细地描述的。
现在参考图3,其是消耗图1的系统10中的符号50的接收PHY管线电路40的框图。由接收PHY管线电路系统40处理进入接收PHY管线电路40的一些数据符号46并且朝MAC电路38(图1)离开接收PHY管线电路系统40。其他符号46进入接收PHY管线电路40,并且在接收PHY管线电路40内被消耗,并且不朝MAC电路38离开接收PHY管线电路40。一些消耗的符号50在图3中以示例的方式示出。如下面更详细地描述的,消耗的符号50被控制信号52代替。消耗的符号50的示例是服务位(例如,标记、FEC奇偶校验位等)。可以基于其他数据的存在来检测消耗的符号50。例如,当检测到FEC块时,接收PHY管线电路40知道存在被去除的奇偶符号,因此接收PHY管线电路40将例如通过将控制信号52添加到接收PHY管线电路40来补偿被去除的FEC奇偶符号。标记可以是物理层符号,这些物理层符号由接收PHY管线电路40消耗,并且不转发到MAC电路38。
当控制信号52到达接收PHY管线电路40的末端时,控制信号52将被计数为离开接收PHY管线电路40的符号,并且计数器值将相应地递减。
因此,接收PHY管线电路40被配置为,如果消耗的符号50此时仍在接收PHY管线电路40中,则响应于消耗的符号50何时将沿着接收PHY管线电路40到达计数器44而递减计数器值。在一些实施方式中,接收PHY管线电路40被配置为在接收PHY管线电路40中的相应位置处将相应的控制信号52插入到接收PHY管线电路40中,在该位置处从接收PHY管线电路40中去除了相应消耗的符号50。计数器44被配置为响应于在接收PHY管线电路40中被消耗的符号50来递减计数器值。
现在参考图4,其是包括图1的系统10中的计数器重置方法中的步骤的流程图60。因为在实现块锁定之前,接收PHY管线电路40接收符号46,但是通常不从接收PHY管线电路40释放符号46直到实现块锁定之后,所以知道何时以及如何重置计数器44(图3)是有意义的。因此,在块锁定之前运行计数器44很容易导致计数器超限和/或无意义的计数器值,因为计数器在块锁定之前不会递减。因此,当可以知道接收PHY管线电路40为空时,计数器44通常不从启动状态运行。取而代之的是,响应于识别与接收PHY管线电路40中的符号46的数量的已知值(或该值的良好估计)相关联的事件而重置计数器44。一种这样的事件是当为了实现FEC锁定,识别了一些标记并且累积了整个FEC块以检查FEC块的奇偶校验时实现FEC锁定。因此,在实现FEC锁定时,已知接收PHY管线电路40中的符号数量等于或非常接近累积在接收PHY管线电路40中的FEC块的已知大小。另一种此类事件是当可以估计接收PHY管线电路40的每个通道中有多少个数据符号时,实现块锁定。然后,针对该事件将计数器44重置为接收PHY管线电路40中符号46的已知或估计数量。通常,按照协议,某些事件可以很好地估计接收PHY管线电路40内部的位数。
因此,接收PHY管线电路40被配置为检测(框62)指示以下情况的事件(例如,在接收PHY管线电路40中实现块锁定,或者在接收PHY管线电路40中实现FEC块的锁定):在接收PHY管线电路40中符号46的给定数量(例如,FEC块的大小),并且响应于检测到事件来设置(框64)计数器值,并且响应于与检测到的事件相关联的接收PHY管线电路40中符号46的给定(已知或估计)数量来设置计数器值)。
图5A和图5B是包括图1的系统10中的时间戳计算方法中的步骤的流程图70、81。现在参考图5A。还参考图3。
接收PHY管线电路系统40被配置为根据给定的符号时序来处理所接收的数据符号的到达。接收PHY管线电路系统40被配置为在物理层处理数据符号46(框72)。接收PHY管线电路系统40被配置为以非恒定延迟来处理符号46,使得不同的相应符号46在接收PHY管线电路系统40中停留相应不同的时间长度。
现在更详细地描述框72的步骤的子步骤。接收PHY管线电路系统40被配置为从网络接口端口24(图1)接收数据符号46(框74)。接收PHY管线电路40被配置为消耗一些数据符号46(框76)。接收PHY管线电路40被配置为将相应的控制信号52在接收PHY管线电路40中的相应位置处插入(框78)到接收PHY管线电路40中,从该相应位置中将相应消耗的符号50从接收PHY管线电路40中去除。以这种方式,接收PHY管线电路40被配置为,如果消耗的符号仍在接收PHY管线电路40中,则响应于消耗的符号50沿着接收PHY管线电路40何时到达计数器44而递减计数器值。接收PHY管线电路40被配置为(框80)将未从接收PHY管线电路40消耗的数据符号46转发到MAC电路38。
框74至框80的步骤通常在同时和/或大约同时执行。例如,当数据符号46进入接收PHY管线电路40时,其他数据符号46正被接收PHY管线电路40处理和/或消耗,并且其他数据符号46正朝MAC电路38(图1)离开接收PHY管线电路40。
现在参考图5B。还参考图3。接收PHY管线电路40被配置为识别(框82)数据分组之一的SFD。接收PHY管线电路40被配置为响应于当前时钟值(由硬件时钟26维持)并基于计数器值和符号时序的调整而减少,计算(框84)所识别的SFD何时进入接收PHY管线电路40的时间戳。在一些实施方式中,接收PHY管线电路40被配置为响应于计数器值除以符号46的符号频率来计算调整。在其他实施方式中,接收PHY管线电路40被配置为响应于计数器值除以符号的符号周期来计算调整。
接收PHY管线电路40被配置为将时间戳保存(框86)到缓冲器28(图1)。随后从缓冲器28中检索时间戳,并将其添加到所识别的SFD的分组中,如参考图6和图7更详细地描述的。对随后的SFD重复框82-86的步骤。
时间戳可以由通过计算的调整(例如,基于计数器值和符号率)调整的当前时间的LSB表示。通过计算的调整来调整的当前时间的MSB可以在稍后的阶段被添加到时间戳,如参考图8和图9更详细地描述的。通过计算的调整调整的当前时间的最高有效位(MSB)可以存储在其他位置。在一些实施方式中,不需要MSB被显式地保存,因为基于计算时间戳与扩展时间戳之间的延迟足够短的假设,硬件时钟26的当前时间(当在以后的阶段中扩展时间戳时)将包括MSB。
现在参考图6和图7,图6是包括图1的系统10中将计算出的时间戳分配给数据分组90的方法中的步骤的流程图88。
当所识别的SFD退出接收PHY管线电路40时,并且通常在进入MAC电路38(图1)之前,控制器电路30(图1)被配置为从缓冲器28(图1)检索(框94)计算的时间戳100。控制器电路30被配置为将计算出的时间戳100分配(框96)给所识别的SFD的数据分组90。将时间戳添加到与已识别的SFD相关联的数据分组中的一个原因是为了允许带有精确时间戳的分组的全线速(线速)。
为了在不扩展数据路径的情况下将时间戳100添加到数据分组90,可以将计算出的时间戳100添加到数据分组90的现有字段,例如CRC字段92。例如,假定CRC字段92具有32位的长度并且计算的时间戳100具有26位的长度。然而,在一些实施方式中,CRC字段92和计算出的时间戳100可以具有任何合适的长度。
CRC字段92填充有现有的CRC码(例如32位)。因此,现有的CRC码可以由较短的CRC码98(例如6位)和计算出的时间戳100(例如26位)替换。
因此,控制器电路30被配置为:检查(框102)现有的CRC码;(使用任何合适的CRC算法)响应于数据分组计算(框104)较短的替换CRC码98;并将较短的替换CRC码98和计算出的时间戳100插入CRC字段92中,以替换现有的CRC码。
现在参考图8和图9,图8是包括在图1的系统10中扩展计算的时间戳100的方法中的步骤的流程图106。现在参考图9,其是示出图8的方法的框图。
控制器电路30被配置为接收(框108)具有计算出的时间戳100(例如26位)的数据分组90(图7)。控制器电路30被配置为从硬件时钟26(图1)检索(框110)当前时钟值118。从检索到的当前时钟值118中选择当前时钟值118的MSB(例如64位)(包括在数据分组90进入接收PHY管线电路40时的时间的MSB)。控制器电路30被配置响应于计算出的时间戳100和硬件时钟26的当前时钟值118的MSB,计算(框112)扩展的时间戳120(例如80位)。控制器电路30被配置为生成(框114)包括扩展时间戳120的控制消息122,并将控制消息122提供(框116)到主机计算机14(图1)。
框108-116的以上步骤可以在控制器电路30中的任何合适的位置处执行。
现在参考图10和图11,图10是图1的系统10中的硬件时钟26的框图。图11是包括图1的系统10中的时间同步方法中的步骤的流程图130。
硬件时钟26可以包括振荡器124,锁相环126和寄存器128。振荡器124驱动锁相环126,该锁相环126提供对振荡器124提供的频率的调整。频率调整由锁相环126提供给寄存器128,该频率调整根据任何合适的标准,例如UTC,维持当前时间。然后可以根据需要将当前时间从寄存器128提供给接收PHY管线电路40和网络设备12的其他元件。
由网络设备12处理的一些分组是从主时钟设备34(图1)接收的PTP同步消息或其他时间同步消息。消息由PTP软件18(图1)处理,如下面更详细描述的。
主计算机14的处理器16(图1)被配置为运行PTP软件18的软件指令以:接收(框132)时间同步消息;响应于时间同步消息,计算(框134)对硬件时钟26的时钟值(例如,漂移)的调整138,并且将调整138提供(框136)给硬件的锁相环126。硬件时钟26的锁相环126被配置为响应于所计算的调整138来调整存储在寄存器128中的时钟值。
为了清楚起见,在单独的实施方式的上下文中描述的本发明的各种特征也可以在单个实施方式中组合提供。相反,为简洁起见,在单个实施方式的上下文中描述的本发明的各种特征也可以单独地或以任何合适的子组合来提供。
通过示例引用了上述实施方式,并且本发明不受以上已经具体示出和描述的内容的限制。相反,本发明的范围包括上述各种特征的组合和子组合,以及本领域技术人员在阅读前述说明后将想到的并且其在现有技术中未公开的变型和修改。
Claims (22)
1.一种网络设备,包括:
网络接口端口,所述网络接口端口被配置为通过分组数据网络从网络节点接收数据符号,所述符号中的至少一些符号包括在数据分组中;和
控制器电路,所述控制器电路包括物理层(PHY)电路,所述物理层电路包括:
接收PHY管线电路,所述接收PHY管线电路被配置为处理接收到的数据符号;以及
计数器,所述计数器被配置为维持指示所述接收PHY管线电路中的数据符号的数量的计数器值。
2.根据权利要求1所述的设备,其中所述接收PHY管线电路被配置为:
识别所述数据分组之一的帧开始定界符;以及
计算所识别的帧开始定界符的时间戳。
3.根据权利要求2所述的设备,其中所识别的帧开始定界符的所述数据分组包括填充有第一CRC码的循环冗余校验(CRC)字段,其中所述控制器电路被配置为:
检查所述第一CRC码;
响应于所述数据分组,计算第二CRC码,所述第二CRC码比所述第一CRC码更短;以及
将所述第二CRC码和计算出的时间戳插入到所述CRC字段中,以代替所述第一CRC码。
4.根据权利要求2所述的设备,其中所识别的帧开始定界符的所述数据分组包括从所述分组数据网络中的主时钟接收的时间同步消息。
5.根据权利要求2所述的设备,还包括:硬件时钟,所述硬件时钟被配置为维持时钟值,其中:
所述接收PHY管线电路被配置为:
根据给定的符号时序来处理所接收的数据符号的到达;以及
响应于基于所述计数器值和所述符号时序的调整而减少的所述时钟值,计算所识别的帧开始定界符何时进入所述接收PHY管线电路的时间戳;和
所述控制器电路被配置为将计算出的时间戳分配给所识别的帧开始定界符的所述数据分组之一。
6.根据权利要求5所述的设备,其中所述控制器电路被配置为:
响应于所计算出的时间戳和所述硬件时钟的当前时钟值来计算扩展时间戳;以及
生成包括所述扩展时间戳的控制消息。
7.根据权利要求5所述的设备,其中所述接收PHY管线电路被配置为响应于所述计数器值除以所述符号的符号频率来计算所述调整。
8.根据权利要求5所述的设备,其中所述接收PHY管线电路被配置为响应于所述计数器值乘以所述符号的符号周期来计算所述调整。
9.根据权利要求1所述的设备,其中所述接收PHY管线电路被配置为以非恒定延迟来处理所述符号,使得所述符号中的不同的相应符号在各自不同的时间长度内驻留在所述接收PHY管线电路中。
10.根据权利要求1所述的设备,其中所述计数器被配置为:响应于进入所述接收PHY管线电路的所述符号中的一些符号,递增所述计数器值;以及响应于离开所述接收PHY管线电路的所述符号中的一些符号,递减所述计数器值。
11.根据权利要求10所述的设备,其中所述接收PHY管线电路被配置为响应于事件以及所述符号的给定数量设置所述计数器值,所述事件指示所述接收PHY管线电路中的所述符号的所述给定数量。
12.根据权利要求11所述的设备,其中所述事件包括在所述接收PHY管线电路中实现块锁定。
13.根据权利要求11所述的设备,其中:所述事件包括:在所述接收PHY管线电路中实现对前向纠错(FEC)块的锁定;以及所述给定的数量是所述FEC块的大小。
14.根据权利要求10所述的设备,其中所述计数器被配置为响应于在所述接收PHY管线电路中消耗的所述符号中的一些符号来使所述计数器值递减。
15.根据权利要求14所述的设备,其中所述接收PHY管线电路被配置为:如果所述消耗符号仍在所述接收PHY管线电路中,则响应于何时所述消耗符号将沿着所述接收PHY管线电路到达所述计数器使所述计数器值递减。
16.根据权利要求15所述的设备,其中所述接收PHY管线电路被配置为在所述接收PHY管线电路中的相应位置处将相应的控制信号插入到所述接收PHY管线电路中,在所述相应位置处从所述接收PHY管线电路去除所述消耗符号中的相应符号。
17.一种计算机系统,包括:
网络设备,包括:网络接口端口,所述网络接口端口被配置为通过分组数据网络从网络节点接收数据符号,所述符号中的至少一些符号包括在数据分组中;硬件时钟,所述硬件时钟被配置为维持时钟值;以及控制器电路,所述控制器电路包括物理层(PHY)电路,所述物理层电路包括:
接收PHY管线电路,所述接收PHY管线电路被配置为:根据给定的符号时序来处理所接收的数据符号的到达;以及识别所述数据分组之一的帧开始定界符;和
计数器,用于维持指示所述接收PHY管线电路中的所述数据符号的数量的计数器值,其中:
所述接收PHY管线电路被配置为响应于基于所述计数器值和所述符号时序的第一调整而减少的所述时钟值,计算所识别的帧开始定界符何时进入所述接收PHY管线电路的时间戳;和
所述控制器电路被配置为将计算出的时间戳分配给所识别的帧开始定界符的所述数据分组之一,所识别的帧开始定界符的所述数据分组包括从所述分组数据网络中的主时钟接收的时间同步消息;和
包括处理器的主机设备,所述处理器被配置为运行软件指令以:接收所述时间同步消息并响应于所述时间同步消息计算对所述硬件时钟的所述时钟值的第二调整,其中所述硬件时钟被配置为响应于计算出的第二调整而调整所述时钟值。
18.根据权利要求17所述的系统,其中所述计数器被配置为:响应于进入所述接收PHY管线电路的所述符号中的一些符号,递增所述计数器值;以及响应于离开所述接收PHY管线电路的所述符号中的一些符号,递减所述计数器值。
19.根据权利要求18所述的系统,其中所述接收PHY管线电路被配置为响应于事件以及所述符号的给定数量设置所述计数器值,所述事件指示所述接收PHY管线电路中的所述符号的所述给定数量。
20.根据权利要求18所述的系统,其中所述计数器被配置为响应于在所述接收PHY管线电路中消耗的所述符号中的一些符号来使所述计数器值递减。
21.根据权利要求20所述的系统,其中所述接收PHY管线电路被配置为:如果所述消耗符号仍在所述接收PHY管线电路中,则响应于何时所述消耗符号将沿着所述接收PHY管线电路到达所述计数器使所述计数器值递减。
22.一种联网方法,包括:
通过分组数据网络从网络节点接收数据符号,所述符号中的至少一些符号包括在数据分组中;
维持时钟值;
根据给定的符号时序来处理所接收的数据符号的到达;
识别所述数据分组之一的帧开始定界符;
维持指示接收PHY管线电路中的所述数据符号的数量的计数器值;
响应于基于所述计数器值和所述符号时序的调整而减少的所述时钟值,计算所识别的帧开始定界符何时进入所述接收PHY管线电路的时间戳;以及
将计算出的时间戳分配给所识别的帧开始定界符的所述数据分组之一。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/900,931 | 2020-06-14 | ||
US16/900,931 US11552871B2 (en) | 2020-06-14 | 2020-06-14 | Receive-side timestamp accuracy |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113810145A true CN113810145A (zh) | 2021-12-17 |
Family
ID=78718949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110641671.6A Pending CN113810145A (zh) | 2020-06-14 | 2021-06-09 | 接收端时间戳准确性 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11552871B2 (zh) |
CN (1) | CN113810145A (zh) |
DE (1) | DE102021205793A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11283454B2 (en) | 2018-11-26 | 2022-03-22 | Mellanox Technologies, Ltd. | Synthesized clock synchronization between network devices |
US20220123850A1 (en) * | 2020-10-15 | 2022-04-21 | Nxp B.V. | Physical layer device with precision timing |
TWI782694B (zh) * | 2021-09-06 | 2022-11-01 | 智原科技股份有限公司 | 時序調整電路、時序不對稱消除方法及接收電路 |
US12028155B2 (en) | 2021-11-24 | 2024-07-02 | Mellanox Technologies, Ltd. | Controller which adjusts clock frequency based on received symbol rate |
US11907754B2 (en) | 2021-12-14 | 2024-02-20 | Mellanox Technologies, Ltd. | System to trigger time-dependent action |
US11835999B2 (en) | 2022-01-18 | 2023-12-05 | Mellanox Technologies, Ltd. | Controller which adjusts clock frequency based on received symbol rate |
US11706014B1 (en) | 2022-01-20 | 2023-07-18 | Mellanox Technologies, Ltd. | Clock synchronization loop |
US20230308378A1 (en) * | 2022-03-25 | 2023-09-28 | Amazon Technologies, Inc. | Trusted or attested packet timestamping |
US11917045B2 (en) | 2022-07-24 | 2024-02-27 | Mellanox Technologies, Ltd. | Scalable synchronization of network devices |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960242A (zh) * | 2006-10-17 | 2007-05-09 | 中控科技集团有限公司 | 实现时钟同步的方法、装置、系统及分布式系统 |
CN101496322A (zh) * | 2006-07-27 | 2009-07-29 | 思科技术公司 | 一致的分布式时间戳计数器 |
CN102869087A (zh) * | 2012-09-26 | 2013-01-09 | 重庆邮电大学 | 工业物联网芯片的硬件时间同步实现方法 |
US8699406B1 (en) * | 2009-05-13 | 2014-04-15 | Dust Networks, Inc. | Timing synchronization for wireless networks |
CN108270504A (zh) * | 2017-01-03 | 2018-07-10 | 格芯公司 | 在乙太网的精密时间协议下利用高准确度时戳辅助装置的纳秒准确度 |
US10084559B1 (en) * | 2015-03-06 | 2018-09-25 | Marvell International Ltd. | System and method for maintaining a time of day in a port of a PHY module |
US20190273571A1 (en) * | 2019-05-13 | 2019-09-05 | Intel Corporation | High accuracy time stamping for multi-lane ports |
US20190386763A1 (en) * | 2018-06-14 | 2019-12-19 | Microchip Technology Incorporated | Performing PHY-Level Hardware Timestamping and Time Synchronization in Cost-Sensitive Environments |
Family Cites Families (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE466123B (sv) | 1989-04-25 | 1991-12-16 | Kvaser Consultant Ab | Anordning foer att synkonisera data i ett datoriserat system, som innefattar en gemensam seriell datakommunikationskanal |
DE4140017C2 (de) | 1991-12-04 | 1995-01-05 | Nec Electronics Germany | Verfahren zum Betreiben von über einen Datenbus durch seriellen Datenaustausch miteinander kommunizierenden Rechnereinheiten |
CA2091962A1 (en) | 1992-03-31 | 1993-10-01 | Mark L. Witsaman | Clock synchronization system |
US5564285A (en) | 1994-09-22 | 1996-10-15 | Thermo King Corporation | Method of converting a time based data logger to a time and random event based data logger |
US5491792A (en) | 1994-09-23 | 1996-02-13 | Forney International, Inc. | Sequence of events system using a redundant analog I/O board system |
US5592486A (en) * | 1995-03-17 | 1997-01-07 | Advanced Micro Devices, Inc. | System and method for efficiently monitoring information in a network having a plurality of repeaters |
GB2298951B (en) | 1995-03-17 | 1999-10-27 | Olivetti Res Ltd | Addition of time information |
US5896524A (en) | 1997-02-06 | 1999-04-20 | Digital Equipment Corporation | Off-line clock synchronization for multiprocessor event traces |
US6289023B1 (en) | 1997-09-25 | 2001-09-11 | Hewlett-Packard Company | Hardware checksum assist for network protocol stacks |
US6084856A (en) * | 1997-12-18 | 2000-07-04 | Advanced Micro Devices, Inc. | Method and apparatus for adjusting overflow buffers and flow control watermark levels |
US6144714A (en) | 1998-01-06 | 2000-11-07 | Maker Communications, Inc. | Programmable fractional frequency digital frequency synthesizer for synchronous residual time stamp service clock regenerator phase locked loop |
US6199169B1 (en) | 1998-03-31 | 2001-03-06 | Compaq Computer Corporation | System and method for synchronizing time across a computer cluster |
US6449291B1 (en) | 1998-11-24 | 2002-09-10 | 3Com Corporation | Method and apparatus for time synchronization in a communication system |
US6556638B1 (en) | 1999-02-22 | 2003-04-29 | Godigital Networks Corporation | Method and apparatus for providing increased data speed using synchronization and bit robbing techniques |
US6535926B1 (en) | 1999-09-30 | 2003-03-18 | Rockwell Automation Technologies, Inc. | Time synchronization system for industrial control network using global reference pulses |
US6643787B1 (en) | 1999-10-19 | 2003-11-04 | Rambus Inc. | Bus system optimization |
US6807134B2 (en) | 1999-12-28 | 2004-10-19 | Matsushita Electric Industrial Co., Ltd. | Asymmetry detection apparatus, jitter detection apparatus, and recording/reproduction apparatus |
US7035269B2 (en) | 2000-02-02 | 2006-04-25 | Mcgill University | Method and apparatus for distributed synchronous clocking |
US6877043B2 (en) | 2000-04-07 | 2005-04-05 | Broadcom Corporation | Method for distributing sets of collision resolution parameters in a frame-based communications network |
US6718476B1 (en) | 2000-11-27 | 2004-04-06 | Sony Corporation | Method of synchronizing each local clock to a master clock in a data bus system |
US7023816B2 (en) | 2000-12-13 | 2006-04-04 | Safenet, Inc. | Method and system for time synchronization |
WO2002080440A1 (en) | 2001-03-29 | 2002-10-10 | Nokia Corporation | Method for synchronizing a first clock to a second clock, processing unit and synchronization system |
US7415609B1 (en) | 2001-04-23 | 2008-08-19 | Diebold, Incorporated | Automated banking machine system and method |
US7650158B2 (en) | 2001-08-21 | 2010-01-19 | Broadcom Corporation | System and method for synchronizing wireless communication devices |
US6918049B2 (en) | 2002-03-26 | 2005-07-12 | Semtech Corporation | Method and apparatus for controlling the phase of the clock output of a digital clock |
US7245627B2 (en) | 2002-04-23 | 2007-07-17 | Mellanox Technologies Ltd. | Sharing a network interface card among multiple hosts |
US7334124B2 (en) | 2002-07-22 | 2008-02-19 | Vormetric, Inc. | Logical access block processing protocol for transparent secure file storage |
US7111184B2 (en) | 2002-09-06 | 2006-09-19 | Freescale Semiconductor, Inc. | System and method for deterministic communication across clock domains |
US7447975B2 (en) | 2002-09-12 | 2008-11-04 | Hewlett-Packard Development Company, L.P. | Supporting cyclic redundancy checking for PCI-X |
US7209525B2 (en) | 2002-11-18 | 2007-04-24 | Agere Systems Inc. | Clock and data recovery with extended integration cycles |
US7076715B2 (en) | 2003-01-31 | 2006-07-11 | Rockwell Automation Technologies, Inc. | Safety network using phantom address information |
US7254646B2 (en) | 2003-06-23 | 2007-08-07 | Hewlett-Packard Development Company, L.P. | Analysis of causal relations between intercommunicating nodes |
US7340630B2 (en) | 2003-08-08 | 2008-03-04 | Hewlett-Packard Development Company, L.P. | Multiprocessor system with interactive synchronization of local clocks |
US7483448B2 (en) | 2004-03-10 | 2009-01-27 | Alcatel-Lucent Usa Inc. | Method and system for the clock synchronization of network terminals |
US7412475B1 (en) | 2004-03-23 | 2008-08-12 | Sun Microsystems, Inc. | Error detecting arithmetic circuits using hexadecimal digital roots |
SE528607C2 (sv) | 2004-04-30 | 2006-12-27 | Kvaser Consultant Ab | System och anordning för att tidsmässigt relatera händelser i ett fordon |
US20050268183A1 (en) | 2004-05-25 | 2005-12-01 | Barmettler Mark G | Local area network measurement test device |
US7403547B2 (en) | 2004-07-15 | 2008-07-22 | Arris International, Inc. | Method and system for synchronizing separated edge QAM devices located remotely from a CMTS |
US7440474B1 (en) | 2004-09-15 | 2008-10-21 | Avaya Inc. | Method and apparatus for synchronizing clocks on packet-switched networks |
US7623552B2 (en) | 2004-10-14 | 2009-11-24 | Temic Automotive Of North America, Inc. | System and method for time synchronizing nodes in an automotive network using input capture |
US7983769B2 (en) | 2004-11-23 | 2011-07-19 | Rockwell Automation Technologies, Inc. | Time stamped motion control network protocol that enables balanced single cycle timing and utilization of dynamic data structures |
US7496686B2 (en) | 2005-01-28 | 2009-02-24 | Gencsus | Localizing a remote event timestamp from a network device with an independent clock method and apparatus |
US7750685B1 (en) | 2005-03-17 | 2010-07-06 | Rf Micro Devices, Inc. | Frequency measurement based frequency locked loop synthesizer |
JP2007017158A (ja) | 2005-07-05 | 2007-01-25 | Sharp Corp | テスト回路、遅延回路、クロック発生回路、及び、イメージセンサ |
JP4624898B2 (ja) | 2005-09-28 | 2011-02-02 | 富士通株式会社 | 光伝送装置 |
JP2007134928A (ja) | 2005-11-10 | 2007-05-31 | Renesas Technology Corp | Rfアナログ信号処理ユニットと、それを搭載したモバイル端末装置 |
US7636767B2 (en) | 2005-11-29 | 2009-12-22 | Cisco Technology, Inc. | Method and apparatus for reducing network traffic over low bandwidth links |
US7447931B1 (en) | 2005-12-09 | 2008-11-04 | Rockwell Automation Technologies, Inc. | Step time change compensation in an industrial automation network |
US7558156B2 (en) | 2006-01-06 | 2009-07-07 | Agilent Technologies, Inc. | Acoustic location and enhancement |
US7487229B2 (en) | 2006-03-30 | 2009-02-03 | Intel Corporation | Methods and apparatus to synchronize local times at nodes in a computer network |
US20080069150A1 (en) | 2006-09-19 | 2008-03-20 | Sig Harold Badt | Precision Time Protocol Emulation for Network Supportive of Circuit Emulation Services |
US8341454B1 (en) | 2007-12-28 | 2012-12-25 | Marvell International Ltd. | Rendering a video stream based on digital clock generated based on timing information |
US7941684B2 (en) | 2008-02-28 | 2011-05-10 | Advanced Micro Devices, Inc. | Synchronization of processor time stamp counters to master counter |
JP5223427B2 (ja) | 2008-04-09 | 2013-06-26 | 日本電気株式会社 | クロック同期システム |
US8370675B2 (en) | 2009-01-28 | 2013-02-05 | Mellanox Technologies Ltd. | Precise clock synchronization |
US20100280858A1 (en) | 2009-04-30 | 2010-11-04 | Embarq Holdings Company, Llc | System and method for a small form pluggable ethernet demarcation device |
US8407478B2 (en) | 2009-07-07 | 2013-03-26 | Mellanox Technologies Ltd. | Control message signature for device control |
JP5429867B2 (ja) | 2009-10-23 | 2014-02-26 | Necインフロンティア株式会社 | 通信装置および網同期方法 |
US8649271B2 (en) | 2010-01-25 | 2014-02-11 | Ixia | Testing network equipment |
EP2408128B1 (en) | 2010-07-15 | 2017-06-07 | Alcatel Lucent | Interworking agent adapted to interact between network and Precision Time Protocol entities |
US8615091B2 (en) | 2010-09-23 | 2013-12-24 | Bose Corporation | System for accomplishing bi-directional audio data and control communications |
US8930647B1 (en) | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
CN103620991A (zh) | 2011-05-06 | 2014-03-05 | Fts电脑技术有限公司 | 用于实行高可用性的最高级主时钟的网络和方法 |
US8989589B2 (en) | 2011-08-18 | 2015-03-24 | Cisco Technology, Inc. | Method and apparatus for testing using a transceiver module |
US8904216B2 (en) | 2011-09-02 | 2014-12-02 | Iota Computing, Inc. | Massively multicore processor and operating system to manage strands in hardware |
CN103051406B (zh) | 2011-10-17 | 2017-02-08 | 中兴通讯股份有限公司 | 一种1588‑2008协议中时钟同步的方法及系统 |
US9397960B2 (en) | 2011-11-08 | 2016-07-19 | Mellanox Technologies Ltd. | Packet steering |
US8879552B2 (en) | 2012-02-22 | 2014-11-04 | Telefonaktiebolaget L M Ericsson (Publ) | Precision time protocol offloading in a PTP boundary clock |
WO2013137863A1 (en) | 2012-03-13 | 2013-09-19 | Rambus Inc. | Clock and data recovery having shared clock generator |
EP2832066A4 (en) | 2012-03-30 | 2015-08-12 | Ericsson Telefon Ab L M | METHOD AND SYSTEM FOR ROBUST PRECISION TIME PROTOCOL SYNCHRONIZATION |
US8806284B2 (en) | 2012-05-02 | 2014-08-12 | Avalanche Technology Inc. | Method for bit-error rate testing of resistance-based RAM cells using a reflected signal |
US9130687B2 (en) | 2012-05-23 | 2015-09-08 | Anue Systems, Inc. | System and method for direct passive monitoring of packet delay variation and time error in network packet communications |
EP2701318B1 (en) | 2012-08-22 | 2015-04-15 | Alcatel Lucent | A method for synchronizing distributed clocks by the precision time protocol, in a telecommunication network |
US9100167B2 (en) | 2012-11-30 | 2015-08-04 | Broadcom Corporation | Multilane SERDES clock and data skew alignment for multi-standard support |
US9549234B1 (en) | 2012-12-28 | 2017-01-17 | Enginuity Communications Corporation | Methods and apparatuses for implementing a layer 3 internet protocol (IP) echo response function on a small form-factor pluggable (SFP) transceiver and providing a universal interface between an SFP transceiver and network equipment |
US9071234B2 (en) | 2013-03-07 | 2015-06-30 | Raytheon Company | High-resolution link-path delay estimator and method for estimating a signal-path delay |
EP2974140B1 (en) | 2013-03-14 | 2017-09-27 | Exfo Inc. | Pass-through test device |
US9172647B2 (en) | 2013-04-25 | 2015-10-27 | Ixia | Distributed network test system |
US20150078405A1 (en) | 2013-09-18 | 2015-03-19 | Alcatel Lucent Canada Inc. | Monitoring clock accuracy in asynchronous traffic environments |
US9270395B2 (en) | 2014-05-05 | 2016-02-23 | Telefonaktiebolaget L M Ericsson (Publ) | Method for robust PTP synchronization with default 1588V2 profile |
US9787418B2 (en) | 2014-09-09 | 2017-10-10 | Endace Technology Limited | Pluggable time signal adapter modules for selecting a time reference interface |
US9971619B2 (en) | 2014-10-15 | 2018-05-15 | Keysight Technologies Singapore (Holdings) Pte Ltd | Methods and systems for forwarding network packets within virtual machine host systems |
US9344265B2 (en) | 2014-10-15 | 2016-05-17 | Anue Systems, Inc. | Network packet timing synchronization for virtual machine host systems |
US10320646B2 (en) | 2014-12-31 | 2019-06-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus and method to use PTP timestamps for two-way delay and delay variation measurement in IP networks |
US9819541B2 (en) | 2015-03-20 | 2017-11-14 | Cisco Technology, Inc. | PTP over IP in a network topology with clock redundancy for better PTP accuracy and stability |
RO131471A2 (ro) | 2015-04-21 | 2016-10-28 | Ixia, A California Corporation | Metode, sisteme şi suport citibil pe calculator pentru testarea calităţii tactului recuperat |
US10027601B2 (en) | 2015-06-03 | 2018-07-17 | Mellanox Technologies, Ltd. | Flow-based packet modification |
US10637776B2 (en) | 2016-08-30 | 2020-04-28 | Sean Iwasaki | Multi-functional circuity for communications networks and methods and devices utilizing same |
US9843439B2 (en) | 2016-01-27 | 2017-12-12 | Ciena Corporation | System and method for managing holdover |
WO2017137906A1 (en) | 2016-02-09 | 2017-08-17 | King Abdullah University Of Science And Technology | Ad hoc networking scheme for mobile cyber-physical systems |
US10014937B1 (en) | 2016-03-11 | 2018-07-03 | Juniper Networks, Inc. | Timing synchronization and intrusion detection via an optical supervisory channel (OSC) |
US10020905B2 (en) | 2016-04-19 | 2018-07-10 | Centurylink Intellectual Property Llc | Accurate synchronization as a service |
US10054977B2 (en) | 2016-04-28 | 2018-08-21 | International Business Machines Corporation | Controlling system clocks in virtual machines |
US10320952B2 (en) | 2016-05-16 | 2019-06-11 | Mellanox Technologies Tlv Ltd. | System-wide synchronized switch-over of multicast flows |
US10237008B2 (en) | 2016-06-10 | 2019-03-19 | Apple Inc. | Synchronization with different clock transport protocols |
US9958497B2 (en) | 2016-08-31 | 2018-05-01 | Te Connectivity Corporation | Testing pluggable module |
US10382191B2 (en) | 2016-11-30 | 2019-08-13 | Juniper Networks, Inc. | Efficient unicast signaling in a precision time protocol enabled packet network |
US10164759B1 (en) | 2016-12-13 | 2018-12-25 | Amazon Technologies, Inc. | Distributed precision time architecture |
CN106817183B (zh) | 2016-12-27 | 2019-03-08 | 天津七六四通信导航技术有限公司 | 一种电力授时中的ptp精准时间协议授时模块及实现方法 |
US10396922B2 (en) | 2017-02-07 | 2019-08-27 | Texas Instruments Incorporated | Apparatus and mechanism to support multiple time domains in a single soc for time sensitive network |
US10419323B2 (en) | 2017-04-24 | 2019-09-17 | Cisco Technology, Inc. | Modulation analyzer module |
US9979998B1 (en) | 2017-05-02 | 2018-05-22 | Amazon Technologies, Inc. | System for time synchronization of audio devices |
US10727966B1 (en) | 2017-08-30 | 2020-07-28 | Amazon Technologies, Inc. | Time synchronization with distributed grand master |
US10887211B2 (en) * | 2017-09-18 | 2021-01-05 | Microsemi Storage Solutions, Inc. | Indirect packet classification timestamping system and method |
JP2019092107A (ja) | 2017-11-16 | 2019-06-13 | 富士通株式会社 | 送受信装置、これを用いた光伝送装置、及びプラガブルインタフェースの最適化方法 |
US20190158909A1 (en) | 2017-11-17 | 2019-05-23 | Qualcomm Incorporated | Extending synchronous media playback to a bluetooth-only sink device in a connected media environment |
US10313103B1 (en) | 2018-01-24 | 2019-06-04 | Ciena Corporation | Systems and methods for precise time synchronization with optical modules |
US10673883B2 (en) | 2018-05-14 | 2020-06-02 | Cisco Technology, Inc. | Time synchronization attack detection in a deterministic network |
US11277455B2 (en) | 2018-06-07 | 2022-03-15 | Mellanox Technologies, Ltd. | Streaming system |
CN108829493A (zh) | 2018-06-22 | 2018-11-16 | 山东超越数控电子股份有限公司 | 一种虚拟机时间同步方法与装置 |
US11483127B2 (en) | 2018-11-18 | 2022-10-25 | Mellanox Technologies, Ltd. | Clock synchronization |
US10778406B2 (en) | 2018-11-26 | 2020-09-15 | Mellanox Technologies, Ltd. | Synthesized clock synchronization between networks devices |
US11283535B2 (en) | 2019-03-20 | 2022-03-22 | Arris Enterprises Llc | Method of remotely monitoring the timing performance of a PTP slave |
US11299168B2 (en) | 2019-04-16 | 2022-04-12 | Baidu Usa Llc | Time synchronization scheme between different computation nodes in autonomous driving system |
US10944852B2 (en) | 2019-04-23 | 2021-03-09 | Cisco Technology, Inc. | Computer network packet transmission timing |
US20200401434A1 (en) | 2019-06-19 | 2020-12-24 | Vmware, Inc. | Precision time protocol in a virtualized environment |
US11652561B2 (en) | 2019-06-21 | 2023-05-16 | Intel Corporation | Techniques for determining timestamp inaccuracies in a transceiver |
US11336318B2 (en) | 2020-01-14 | 2022-05-17 | Dell Products L.P. | Transceiver device port configuration and monitoring system |
WO2021195147A1 (en) * | 2020-03-23 | 2021-09-30 | Marvell Israel (M.I.S.L) Ltd. | One-step timestamping in network devices |
CN113542090B (zh) * | 2020-04-14 | 2023-07-14 | 宁波弘讯科技股份有限公司 | 一种EtherCAT主从站一体网桥控制器及控制方法 |
US20220066978A1 (en) | 2020-08-27 | 2022-03-03 | Qualcomm Incorporated | Missed clock compensation for radio frequency front end timed-trigger accuracy |
-
2020
- 2020-06-14 US US16/900,931 patent/US11552871B2/en active Active
-
2021
- 2021-06-08 DE DE102021205793.4A patent/DE102021205793A1/de active Pending
- 2021-06-09 CN CN202110641671.6A patent/CN113810145A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101496322A (zh) * | 2006-07-27 | 2009-07-29 | 思科技术公司 | 一致的分布式时间戳计数器 |
CN1960242A (zh) * | 2006-10-17 | 2007-05-09 | 中控科技集团有限公司 | 实现时钟同步的方法、装置、系统及分布式系统 |
US8699406B1 (en) * | 2009-05-13 | 2014-04-15 | Dust Networks, Inc. | Timing synchronization for wireless networks |
CN102869087A (zh) * | 2012-09-26 | 2013-01-09 | 重庆邮电大学 | 工业物联网芯片的硬件时间同步实现方法 |
US10084559B1 (en) * | 2015-03-06 | 2018-09-25 | Marvell International Ltd. | System and method for maintaining a time of day in a port of a PHY module |
CN108270504A (zh) * | 2017-01-03 | 2018-07-10 | 格芯公司 | 在乙太网的精密时间协议下利用高准确度时戳辅助装置的纳秒准确度 |
US20190386763A1 (en) * | 2018-06-14 | 2019-12-19 | Microchip Technology Incorporated | Performing PHY-Level Hardware Timestamping and Time Synchronization in Cost-Sensitive Environments |
US20190273571A1 (en) * | 2019-05-13 | 2019-09-05 | Intel Corporation | High accuracy time stamping for multi-lane ports |
Non-Patent Citations (2)
Title |
---|
CHANDRA MALLELA等: "Timing models for PTP in Ethernet networks", 《2017 IEEE INTERNATIONAL SYMPOSIUM ON PRECISION CLOCK SYNCHRONIZATION FOR MEASUREMENT, CONTROL, AND COMMUNICATION (ISPCS)》, 5 October 2017 (2017-10-05) * |
阿永嘎;叶凌云;: "网络式仪器总线同步协议的精确时间戳生成方法的研究", 机电工程, no. 11, 20 November 2010 (2010-11-20) * |
Also Published As
Publication number | Publication date |
---|---|
US11552871B2 (en) | 2023-01-10 |
US20210392065A1 (en) | 2021-12-16 |
DE102021205793A1 (de) | 2021-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113810145A (zh) | 接收端时间戳准确性 | |
US10887211B2 (en) | Indirect packet classification timestamping system and method | |
JP5330247B2 (ja) | パケット・ネットワークを介した単方向のタイミング・メッセージ・トランスポートのための方法および装置 | |
CN110224775B (zh) | 一种时间信息确定的方法、装置及设备 | |
US9252903B2 (en) | System and method for accounting for time that a packet spends in transit through a transparent clock | |
JP3845114B2 (ja) | データ入出力間に予め設定されたタイミング関係を設けたシステム並びにこのようなシステムの送信機及び受信機 | |
US8166216B1 (en) | Floating frame timing circuits for network devices | |
CN103563287B (zh) | 同步设备和同步方法 | |
US20080117938A1 (en) | Synchronization Module | |
EP2976866B1 (en) | Timestamp correction in a multi-lane communication link with skew | |
Exel | Mitigation of asymmetric link delays in IEEE 1588 clock synchronization systems | |
KR20150143801A (ko) | 타임스탬프를 생성하는 방법, 장치, 그리고 시스템 | |
WO2014052972A1 (en) | High accuracy 1588 timestamping over high speed multi lane distribution physical code sublayers | |
US8644350B2 (en) | Packet-based timing measurement | |
EP2448168A1 (en) | Method and system for bearing time synchronization protocol in optical transport network | |
US11349587B2 (en) | Generating a timestamp | |
CN102197611A (zh) | 用于分组网络同步的方法和设备 | |
CN114586297B (zh) | 一种同步方法及设备 | |
CN114172604A (zh) | 时延补偿方法、装置、设备及计算机可读存储介质 | |
EP2106052A2 (en) | Communication system, transmitting apparatus, receiving apparatus, communication method and record medium for transferring a clock in a packet network | |
US9442511B2 (en) | Method and a device for maintaining a synchronized local timer using a periodic signal | |
US10784976B2 (en) | Nanosecond accuracy of timestamping by leveraging alignment marker and method for producing the same | |
CN112640355B (zh) | 一种mac装置及时间点估算方法 | |
US20090193317A1 (en) | Method and system for signal error determination and correction in a flexray communication system | |
EP2506507A1 (en) | A method for controlling the throughput of a data transmitter as a function of the bandwidth of a data packet transmission link |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |