IP Library › Granted Patent US 12,316,726
Granted Patent B2
US 12,316,726 · App. 18/507,951 · Granted May 27, 2025

One-step timestamping in network devices

Inventors: Nitzan Dror (Ramot Hashavim, IL); Lenin Patra (Dublin, CA); Jeng-Jong Chen (Santa Clara, CA)
Assignee: Marvell Israel (M.I.S.L) Ltd.
H04L7/0016
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,316,726
App. No.
18/507,951
Granted
May 27, 2025
Kind
B2
Abstract

A physical layer (PHY) processor of a network device receives: a timing packet that includes initial timing information, and one or more indicators of one or more parameters to be used by the PHY processor for embedding timing information into the timing packet, the one or more indicators including at least i) an indicator indicating that the timing packet is a type of packet into which timing information is to be embedded by the PHY device, ii) an indicator of a location of a field in the timing packet at which the timing information is to be embedded into the timing packet by the PHY device, and iii) an indicator of whether timing information in the timing packet needs to be updated by the PHY device. The PHY processor updates, based on the one or more indicators, the initial timing information in the timing packet.

Claims (60)

1. A method for processing timing packets for synchronization in a network device, the method comprising:

receiving, at a media access control (MAC) processor of the network device, a timing packet to be transmitted by the network device;

performing initial processing of the timing packet by the MAC processor, including generating a plurality of indicators of parameters to be used by a PHY device of the network device for embedding timing information into the timing packet, the plurality of indicators including at least i) a packet type indicator indicating that the timing packet is a type of packet into which timing information is to be embedded by the PHY device, ii) a location indicator indicating a location of a field in the timing packet at which the timing information is to be embedded into the timing packet by the PHY device, and iii) a wraparound indicator indicating whether a wraparound of a value of the field is to be accounted for by the PHY device; and

transferring i) the timing packet and ii) the plurality of indicators from the MAC processor to the PHY device for further processing of the timing packet based on the plurality of indicators and subsequent transmission of the timing packet from the network device.

2. The method of claim 1 , further comprising:

generating, by the MAC processor, a control header to include the plurality of indicators generated for the timing packet; and

inserting, by the MAC processor, the control header into the timing packet prior to transferring the timing packet to the PHY device.

3. The method of claim 2 , further comprising:

generating, by the MAC processor, a PHY tag to be included in the control header, including generating the PHY tag to include one or more indicator among the plurality of indicators;

generating, by the MAC processor, the control header to include the PHY tag in an extension field of the control header; and

inserting the control header at a predetermined location within the timing packet prior to transferring the timing packet to the PHY device.

4. The method of claim 3 , wherein inserting the control header at the predetermined location in the timing packet comprises replacing, with the control header, a preamble at a beginning of the timing packet.

5. The method of claim 4 , wherein generating the PHY tag includes generating the PHY tag to include one or both of the location indicator and the wraparound indicator.

6. The method of claim 5 , generating the PHY tag includes generating the PHY tag to further include a checksum update indicator indicating whether a checksum update is needed for the timing packet.

7. The method of claim 1 , wherein receiving the timing packet comprises receiving one of i) a timing packet generated by a host processor of the network device, the timing packet including a correction field into which the PHY device is to embed the timing information or ii) a timing packet previously received by the network device, the timing packet previously received by the network device including a correction field to be used for indicating a residence time of the timing packet in the network device.

8. A network device configured to operate in a network, the network device comprising:

a media access control (MAC) processor configured to:

receive a timing packet to be transmitted by the network device,

generate a plurality of indicators of parameters to be used by a PHY device of the network device for embedding timing information into the timing packet, the plurality of indicators including at least i) a packet type indicator indicating that the timing packet is a type of packet into which timing information is to be embedded by the PHY device, ii) a location indicator indicating a location of a field in the timing packet at which the timing information is to be embedded into the timing packet by the PHY device, and iii) a wraparound indicator indicating whether a wraparound of a value of the field is to be accounted for by the PHY device, and

transfer i) the timing packet and ii) the plurality of indicators to the PHY device for further processing of the timing packet based on the plurality of indicators and subsequent transmission of the timing packet from the network device.

9. The network device of claim 8 , wherein the MAC processor is further configured to:

generate a control header to include the plurality of indicators; and

insert the control header into the timing packet prior to transferring the timing packet to the PHY device.

10. The network device of claim 9 , wherein the MAC processor is further configured to:

generate a PHY tag to be included in the control header;

generate the control header to include the PHY tag in an extension field of the control header; and

insert the control header at a predetermined location within the timing packet prior to transferring the timing packet to the PHY device.

11. The network device of claim 10 , wherein the MAC processor is configured to replace, with the control header, a preamble at a beginning of the timing packet.

12. The network device of claim 10 , wherein the MAC processor is configured to generate the PHY tag to include one or both of the location indicator and the wraparound indicator.

13. The network device of claim 12 , wherein the MAC processor is configured to generate the PHY tag to further include a checksum update indicator indicating whether a checksum update is needed for the timing packet.

14. The network device of claim 8 , wherein:

the timing packet is one of i) a timing packet generated by a host processor of the network device, the timing packet including a correction field into which the PHY device is to embed the timing information or ii) a timing packet previously received by the network device, the timing packet previously received by the network device including a correction field to be used for indicating a residence time of the timing packet in the network device.

15. The network device of claim 8 , wherein the timing information to be embedded in the timing packet indicates one of i) a time corresponding to transmission of the timing packet from the network device or ii) a residence time of the timing packet in the network device.

16. A network device configured to operate in a network, the network device comprising:

a media access control (MAC) processor coupled to a physical layer (PHY) device, wherein the MAC processor is configured to:

receive a timing packet to be transmitted by the network device,

generate a plurality of indicators of parameters to be used by a PHY device of the network device for embedding timing information into the timing packet, the plurality of indicators including at least i) a packet type indicator indicating that the timing packet is a type of packet into which timing information is to be embedded by the PHY device, ii) a location indicator indicating a location of a field in the timing packet at which the timing information is to be embedded into the timing packet by the PHY device, and iii) a wraparound indicator indicating whether a wraparound of a value of the field is to be accounted for by the PHY device, and

transfer i) the timing packet and ii) the plurality of indicators to the PHY device for further processing of the timing packet based on the plurality of indicators and subsequent transmission of the timing packet from the network device;

the PHY device being configured to:

receive i) the timing packet from the MAC processor and ii) the plurality of indicators from the MAC processor,

embed, based on the plurality of indicators, timing information into the timing packet, and

forward the timing packet to one or more network ports of the network device for transmission of the timing packet from the network device.

17. The network device of claim 16 , wherein:

the timing packet is one of i) a timing packet generated by a host processor of the network device, the timing packet including a correction field into which the PHY device is to embed the timing information or ii) a timing packet previously received by the network device, the timing packet previously received by the network device including a correction field to be used for indicating a residence time of the timing packet in the network device,

the field in the timing packet at which the timing information is to be embedded into the timing packet by the PHY device is the correction field, and

the timing information to be embedded in the timing packet indicates one of i) a time corresponding to transmission of the timing packet from the network device or ii) a residence time of the timing packet in the network device.

18. The network device of claim 16 , wherein:

the MAC processor is configured to receive a timing packet that includes i) a timestamp and ii) a value of a correction field generated based on a clock maintained by a host processor of the network device, and

the PHY device is configured to embed the timing information into the timing packet at least by updating the value of the correction field based on a clock maintained by the PHY device of the network device.

19. The network device of claim 16 , wherein the PHY device is configured to:

locate, based on the location indicator and without parsing the timing packet to locate the field within the timing packet, the field in the timing packet at which the timing information is to be embedded into the timing packet by the PHY device,

determine a value of the field in the timing packet for embedding timing information into the timing packet by the PHY device,

determine, based on the wraparound indicator, whether the wraparound of the value of the field is to be accounted for by the PHY device,

in response to determining that the wraparound of the value of the field is to be accounted for, add additional time to the value of the field to account for the wraparound, and

update the value of the field in the timing packet to embed the timing information into the timing packet.

20. The network device of claim 19 , wherein:

the MAC processor is configured to generate the plurality of indicators to further include a checksum update indicator indicating whether a checksum update is needed for the timing packet, and

the PHY device is configured to,

determine, based on the checksum update indicator, whether a checksum update is needed for the timing packet, and

in response to determining that a checksum update is needed for the timing packet, perform an incremental update of a checksum trailer field in the timing packet.

Continuity (4)
Continuation 18105156 · Feb 2, 2023
Continuation 17210347 · Mar 23, 2021
Provisional Application 62993524 · Mar 23, 2020
Related Publication 20240089075A1 · Mar 14, 2024
References Cited (46)
US 8948037B1 · Mizrahi · 2015 [cited by applicant]
US 9172485B2 · Mizrahi · 2015 [cited by applicant]
US 9407733B1 · Mizrahi · 2016 [cited by applicant]
US 9806835B2 · Mizrahi · 2017 [cited by applicant]
US 11575495B2 · Dror · 2023 [cited by examiner]
US 11818241B2 · Dror et al. · 2023 [cited by applicant]
US 20020021717A1 · Hedayat et al. · 2002 [cited by applicant]
US 20080273521A1 · Shao et al. · 2008 [cited by applicant]
US 20090310572A1 · Wang et al. · 2009 [cited by applicant]
US 20100223399A1 · Kim et al. · 2010 [cited by applicant]
US 20170111483A1 · Wang et al. · 2017 [cited by applicant]
US 20200252320A1 · Zemach et al. · 2020 [cited by applicant]
EP 2254267A1 · 2010 [cited by applicant]
WO 2001088746A1 · 2001 [cited by applicant]
WO 20110108870A2 · 2011 [cited by applicant]
WO 2012065823A1 · 2012 [cited by applicant]
International Search Report and Written Opinion in International Patent Application No. PCT/US2021/023777, mailed Jul. 2, 2021 (15 pages). [cited by applicant]
Abdul, et al., “Integration of HSR and IEEE1588 over Ethernet networks,” Proc. of the 2010 Int'l IEEE Symposium on Precision Clock Synchronization for Measurement, Control and Communication, pp. 77-82 (Sep. 27-Oct. 1, 2… [cited by applicant]
Abstract of IEEE 802.1AS Standard, “802.1AS—Timing and Synchronization,” The Institute of Electrical and Electronics Engineers, Inc., available at http://www.ieee802.org/1/pages/802.1as.html, 1 page (Mar. 30, 2011). [cited by applicant]
Aldana et al., IEEE P802.11—Wireless LANs, “CIDs 46,47,48 Regarding Fine Timing Measurement,” The Institute of Electrical and Electronics Engineers, Inc., doc.: IEEE 802.11 11-12-1249-04-000m, pp. 1-17 (Jan. 2013). [cited by applicant]
Alizadeh et al., “DCTCP: Efficient packet transport for the commoditized data center,” SIGCOMM, pp. 1-15 (2010). [cited by applicant]
Appenzeller et al., “Sizing router buffers,” SIGCOMM, pp. 1-15 (2004). [cited by applicant]
Chin et al., “IEEE 1588 Clock Synchronization using Dual Slave Clocks in a Slave,” IEEE Communications Letters, vol. 13, No. 6, pp. 456-458 (Jun. 2009). [cited by applicant]
Corlett et al. “Statistics of One⋅ Way Internet Packet Delays”, Internet Engineering Task Force, available at http://tools.ietf.org/id/draft-corlett-statistics-of-packet-delays-00.txt, pp. 1-9 (Aug. 2002). [cited by applicant]
Gurewitz et al., “Estimating One-Way Delays from Cyclic-Path Delay Measurements,” Proc. of Twentieth Annual Joint Conf. of the IEEE Computer and Comm. Societies (IEEE Infocom 2001), vol. 2, pp. 1038-1044 (2001). [cited by applicant]
Gurewitz et al., “One-Way Delay Estimation Using Network Wide Measurements,” IEEE Trans. on Information Theory, vol. 52, No. 6, pp. 2710-2724 (2006). [cited by applicant]
IEEE P1588TM D2.2 “Draft Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems,” The Institute of Electrical and Electronics Engineers, Inc., 2008. [cited by applicant]
IEEE P802.1AS/D0.8, “Draft Standard for Local and Metropolitan Area Networks-Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks,” The Institute of Electrical and Electronics Engine… [cited by applicant]
IEEE Std 802.11e/D11.0, “IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements, Part 11: Wireless Medium Access C… [cited by applicant]
IEEE Std. 1588TM-2008 (Revision of IEEE Std. 1588-2002), “IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems,” The Institute for Electrical and Electronics Enginee… [cited by applicant]
IEEE Std. C37.238TM-2011, “IEEE Standard Profile for Use of IEEE 1588TM Precision Time Protocol in Power System Applications,” Institute for Electrical and Electronics Engineers, Inc., pp. 1-66 (Jul. 2011). [cited by applicant]
ITU-T Recommendation G.8265.1/Y.1365.1, “Precision time protocol telecom profile for frequency synchronization,” Int'l Telecommunication Union, pp. 1-28 (Oct. 2010). [cited by applicant]
IEC 62439-3, “Industrial communication networks—High availability automation networks—Part 3: Parallel Redundancy Protocol (PRP) and High-availability Seamless Redundancy (HSR),” International Electrotechnical Commissio… [cited by applicant]
Lee, “An Enhanced IEEE 1588 Time Synchronization Algorithm for Asymmetric Communication Link Using Block Burst Transmission”, IEEE Communications Letters, vol. 12, No. 9, pp. 687-689 (Sep. 2008). [cited by applicant]
Lv et al., “An Enhanced IEEE 1588 Time Synchronization for Asymmetric Communication Link in Packet Transport Network,” IEEE Communications Letters, vol. 14. No. 8. pp. 764-766 (Aug. 2010). [cited by applicant]
Mills et al., “Network Time Protocol Version 4: Protocol and Algorithms Specification,” Request for Comments: 5905, Internet Engineering Task Force (IETF), pp. 1-111 (Jun. 2010). [cited by applicant]
Mills, “Internet Time Synchronization: The Network Time Protocol,” Network Working Group Request for Comments, No. 1129, pp. 1-29 (Oct. 1989). [cited by applicant]
Mizrahi, “Slave Diversity: Using Multiple Paths to Improve the Accuracy of Clock Synchronization Protocols,” 2012 IEEE Int'l Symposium on Precision Clock Synchronization for Measurement, Control, and Communication (ISPC… [cited by applicant]
Mukherjee, “On the Dynamics and Significance of Low Frequency Components of Internet Load,” Internetworking: Research and Experience, vol. 5, No. 4. pp. 163-205 (1992). [cited by applicant]
Paxson, “End-to-End Internet Packet Dynamics,” IEEE/ACM Transactions on Networking, vol. 7(3), pp. 277-292 (Jun. 23, 1997). [cited by applicant]
Shpiner et al., “Multi-Path Time Synchronization,” Internet Engineering Task Force (IETF), pp. 1-15 (Oct. 15, 2012). [cited by applicant]
Simanic et al., “Compensation of Asymmetrical Latency for Ethernet Clock Synchronization,” Proc. of the 2011 Int'l IEEE Symposium on Precision Clock Synchronization for Measurement, Control and Communication (ISPCS), 20… [cited by applicant]
Weber et al., “High availability seamless automation ring (Draft IEC 62439-3) and IEEE 1588 time sync dependencies,” Institute for Electrical and Electronics Engineers, Inc, pp. 1-7 (Oct. 2010). [cited by applicant]
Zarick et al., “The Impact of Network Latency on the Synchronization of Real-World IEEE 1588-2008 Devices,” Proc. of the 2010 Int'l IEEE Symposium on Precision Clock Synchronization for Measurement, Control and Communic… [cited by applicant]
Zhang et al., “PDV-based PTP LSP Setup, Reoptimization and Recovery,” Internet Engineering Task Force, pp. 1-17 (Oct. 2011). [cited by applicant]
First Office Action for Chinese Application No. 202180034977.3, mailed Jan. 25, 2025. (13 pages). [cited by applicant]