IP Library Granted Patent US 11,552,871
Granted Patent B2
US 11,552,871 · App. 16/900,931 · Granted Jan 10, 2023

Receive-side timestamp accuracy

Inventors: Ran Sela (Givat Shmuel, IL); Liron Mula (Ramat Gan, IL); Ran Ravid (Tel Aviv, IL); Guy Lederman (Rishon Lezion, IL); Dotan David Levi (Kiryat Motzkin, IL)
Assignee: MELLANOX TECHNOLOGIES, LTD.
H04L43/106H04J3/0667H04J3/0697H04L43/0852G06F15/17325H04L7/0012H04L7/0033H04L2463/121
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 11,552,871
App. No.
16/900,931
Granted
Jan 10, 2023
Kind
B2
Abstract

In one embodiment, a network device, includes a network interface port configured to receive data symbols from a network node over a packet data network, at least some of the symbols being included in data packets, and controller circuitry including physical layer (PHY) circuitry, which includes receive PHY pipeline circuitry configured to process the received data symbols, and a counter configured to maintain a counter value indicative of a number of the data symbols in the receive PHY pipeline circuitry.

Claims (46)

1. A network device, comprising:

a network interface port configured to receive data symbols from a network node over a packet data network, at least some of the symbols being comprised in data packets;

a hardware clock configured to maintain a clock value; and

controller circuitry comprising physical layer (PHY) circuitry, which includes:

receive PHY pipeline circuitry configured to process arrival of the received data symbols; and

a counter configured to maintain a counter value indicative of a number of the data symbols in the receive PHY pipeline circuitry, wherein the receive PHY pipeline circuitry is configured to: identify a start of frame delimiter of one of the data packets; and compute a timestamp of when the identified start of frame delimiter entered the receive PHY pipeline circuitry based on the clock value and the counter value, the controller circuitry being configured to assign the computed timestamp to the one of the data packets of the identified start of frame delimiter.

2. The device according to claim 1 , wherein the one of the data packets of the identified start of frame delimiter includes a cyclic redundancy check (CRC) field populated with a first CRC code, wherein the controller circuitry is configured to:

check the first CRC code;

compute a second CRC code responsive to the one of the data packets, the second CRC code being shorter than the first CRC code; and

insert the second CRC code and the computed timestamp in the CRC field in place of the first CRC code.

3. The device according to claim 1 , wherein the one of the data packets of the identified start of frame delimiter includes a time synchronization message received from a master clock in the packet data network.

4. The device according to claim 1 , wherein the receive PHY pipeline circuitry is configured to:

process arrival of the received data symbols according to a given symbol timing; and

compute the timestamp of when the identified start of frame delimiter entered the receive PHY pipeline circuitry, responsive to the clock value reduced by an adjustment based on the counter value and the symbol timing.

5. The device according to claim 1 , wherein the controller circuitry is configured to:

compute an expanded timestamp responsive to the computed timestamp and a current clock value of the hardware clock; and

generate a control message including the expanded timestamp.

6. The device according to claim 4 , wherein the receive PHY pipeline circuitry is configured to compute the adjustment responsive to the counter value divided by a symbol frequency of the symbols.

7. The device according to claim 4 , wherein the receive PHY pipeline circuitry is configured to compute the adjustment responsive to the counter value multiplied by a symbol period of the symbols.

8. The device according to claim 1 , wherein the receive PHY pipeline circuitry is configured to process the symbols with a non-constant delay such that different respective ones of the symbols reside in the receive PHY pipeline circuitry for respective different lengths of time.

9. The device according to claim 1 , wherein the counter is configured to: increment the counter value responsive to ones of the symbols entering the receive PHY pipeline circuitry; and decrement the counter value responsive to ones of the symbols exiting the receive PHY pipeline circuitry.

10. The device according to claim 9 , wherein the receive PHY pipeline circuitry is configured to set the counter value responsive to: an event, which indicates a given number of the symbols in the receive PHY pipeline circuitry; and the given number of the symbols.

11. The device according to claim 10 , wherein the event includes achieving block lock in the receive PHY pipeline circuitry.

12. The device according to claim 10 , wherein: the event includes achieving lock of a forward error correction (FEC) block in the receive PHY pipeline circuitry; and the given number is a size of the FEC block.

13. The device according to claim 9 , wherein the counter is configured to decrement the counter value responsive to ones of the symbols consumed in the receive PHY pipeline circuitry.

14. The device according to claim 13 , wherein the receive PHY pipeline circuitry is configured to decrement the counter value responsive to when the consumed symbols would have reached the counter along the receive PHY pipeline circuitry if the consumed symbols were still in the receive PHY pipeline circuitry.

15. The device according to claim 14 , wherein the receive PHY pipeline circuitry is configured to insert respective control signals in the receive PHY pipeline circuitry at respective positions in the receive PHY pipeline circuitry from where respective ones of the consumed symbols are removed from the receive PHY pipeline circuitry.

16. A computer system, comprising:

a network device, comprising: a network interface port configured to receive data symbols from a network node over a packet data network, at least some of the symbols being comprised in data packets; a hardware clock configured to maintain a clock value; and controller circuitry comprising physical layer (PHY) circuitry, which includes:

receive PHY pipeline circuitry configured to: process arrival of the received data symbols according to a given symbol timing; and identify a start of frame delimiter of one of the data packets; and

a counter to maintain a counter value indicative of a number of the data symbols in the receive PHY pipeline circuitry, wherein:

the receive PHY pipeline circuitry is configured to compute a timestamp of when the identified start of frame delimiter entered the receive PHY pipeline circuitry responsive to the clock value reduced by a first adjustment based on the counter value and the symbol timing; and

the controller circuitry is configured to assign the computed timestamp to the one of the data packets of the identified start of frame delimiter, the one of the data packets of the identified start of frame delimiter including a time synchronization message received from a master clock in the packet data network; and

a host device comprising a processor configured to run software instructions to: receive the time synchronization message and compute a second adjustment to the clock value of the hardware clock responsive to the time synchronization message, wherein the hardware clock is configured to adjust the clock value responsive to the computed second adjustment.

17. The system according to claim 16 , wherein the counter is configured to: increment the counter value responsive to ones of the symbols entering the receive PHY pipeline circuitry; and decrement the counter value responsive to ones of the symbols exiting the receive PHY pipeline circuitry.

18. The system according to claim 17 , wherein the receive PHY pipeline circuitry is configured to set the counter value responsive to: an event, which indicates a given number of the symbols in the receive PHY pipeline circuitry; and the given number of the symbols.

19. The system according to claim 17 , wherein the counter is configured to decrement the counter value responsive to ones of the symbols consumed in the receive PHY pipeline circuitry.

20. The system according to claim 19 , wherein the receive PHY pipeline circuitry is configured to decrement the counter value responsive to when the consumed symbols would have reached the counter along the receive PHY pipeline circuitry if the consumed symbols were still in the receive PHY pipeline circuitry.

21. A networking method, comprising:

receiving data symbols from a network node over a packet data network, at least some of the symbols being comprised in data packets;

maintaining a clock value;

processing arrival of the received data symbols according to a given symbol timing;

identifying a start of frame delimiter of one of the data packets;

maintaining a counter value indicative of a number of the data symbols in receive PHY pipeline circuitry;

computing a timestamp of when the identified start of frame delimiter entered the receive PHY pipeline circuitry responsive to the clock value reduced by an adjustment based on the counter value and the symbol timing; and

assigning the computed timestamp to the one of the data packets of the identified start of frame delimiter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2020
From: SELA, RAN; MULA, LIRON; RAVID, RAN; LEDERMAN, GUY; LEVI, DOTAN DAVID
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 052935/0898 →
Continuity (1)
Related Publication 20210392065A1 · Dec 16, 2021
Cited By (5)
US 12,381,806 US 12,645,251 US 12,669,843 US 12,712,703 US 12,726,426