IP Library › Granted Patent US 11,108,485
Granted Patent B2
US 11,108,485 · App. 16/860,688 · Granted Aug 31, 2021

Clock synchronization method and apparatus

Inventors: Xiang He (Beijing, CN); Yunlei Qi (Dongguan, CN); Jingfeng Chen (Dongguan, CN); Tao Lin (Shenzhen, CN); Junmin Song (Shenzhen, CN); Xinyuan Wang (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04J3/0661
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,108,485
App. No.
16/860,688
Granted
Aug 31, 2021
Kind
B2
Abstract

A clock synchronization method includes receiving, by a receiving apparatus, a plurality of data blocks using a plurality of physical layer modules (PHYs), where the plurality of data blocks include a plurality of head data blocks, performing, by the receiving apparatus, timestamp sampling on the plurality of data blocks to generate a plurality of receipt timestamps, aligning, by the receiving apparatus, the plurality of receipt timestamps using a first receipt timestamp as a reference, generating, by the receiving apparatus, a clock synchronization packet based on the plurality of data blocks, and writing, by the receiving apparatus, a value of a second receipt timestamp into the clock synchronization packet, where the second receipt timestamp is a receipt timestamp that is of a second data block and that is determined based on the plurality of aligned receipt timestamps.

Claims (37)

1. A clock synchronization method, implemented by receiving apparatus, wherein the clock synchronization method comprises:

receiving a plurality of data blocks using a plurality of physical layer modules (PHYs), wherein the plurality of data blocks comprises a plurality of head data blocks, wherein the plurality of head data blocks arrive first at the receiving apparatus in the plurality of data blocks, and wherein the plurality of head data blocks is in a one-to-one correspondence with the plurality of PHYs;

performing timestamp sampling on the plurality of data blocks to generate a plurality of receipt timestamps;

aligning the plurality of receipt timestamps using a first receipt timestamp as a reference, wherein the first receipt timestamp corresponds to a first data block in the plurality of receipt timestamps, wherein the first data block is received using a first PHY, and wherein the first PHY corresponds to a head data block that is last to arrive at the receiving apparatus in the plurality of head data blocks;

generating a clock synchronization packet based on the plurality of data blocks; and

writing a value of a second receipt timestamp into the clock synchronization packet, wherein the second receipt timestamp is of a second data block and is based on the plurality of receipt timestamps, wherein the second data block is for sending timestamp sampling in the plurality of data blocks, and wherein a sending timestamp of the second data block is of the clock synchronization packet.

2. The clock synchronization method of claim 1 , further comprising adjusting values of the plurality of receipt timestamps during a receiving period using the first receipt timestamp as a reference, wherein the receiving period is for performing timestamp sampling on the plurality of data blocks.

3. The clock synchronization method of claim 2 , wherein the receiving period is equal to a duration needed by the receiving apparatus to receive X-bit data, and wherein X is a value of a data bus bit width of the receiving apparatus.

4. The clock synchronization method of claim 2 , wherein the receiving period is equal to a duration needed by the receiving apparatus to receive X-bit data, and wherein X is a smaller value of data buffer bit widths of a serial-to-parallel conversion port of the receiving apparatus.

5. The clock synchronization method claim 1 , wherein before generating the clock synchronization packet, the clock synchronization method further comprises deleting a receipt timestamp other than the receipt timestamp corresponding to the first PHY.

6. The clock synchronization method of claim 1 , wherein the second data block corresponds to a start of frame delimiter (SFD) of the clock synchronization packet.

7. The clock synchronization method of claim 1 , wherein the clock synchronization packet is carried in a client payload of a flexible Ethernet (FlexE).

8. A clock synchronization apparatus, comprising:

a processor, and

a memory coupled to the processor and storing instructions that, when executed by the processor, cause the clock synchronization apparatus to be configured to:

receive a plurality of data blocks using a plurality of physical layer modules (PHYs), wherein the plurality of data blocks comprises a plurality of head data blocks, wherein the plurality of head data blocks arrive first at a receiving apparatus in the plurality of data blocks, and wherein the plurality of head data blocks is in a one-to-one correspondence with the plurality of PHYs;

perform timestamp sampling on the plurality of data blocks received by a communications unit to generate a plurality of receipt timestamps;

align the plurality of receipt timestamps using a first receipt timestamp as a reference, wherein the first receipt timestamp is a first data block in the plurality of receipt timestamps, wherein the first data block is received using a first PHY, and wherein the first PHY corresponds to a head data block that is last to arrive at the receiving apparatus in the plurality of head data blocks;

generate a clock synchronization packet based on the plurality of data blocks; and

write a value of a second receipt timestamp into the clock synchronization packet, wherein the second receipt timestamp of a second data block and that is based on the plurality of receipt timestamps, wherein the second data block is for sending timestamp sampling in the plurality of data blocks, and wherein a sending timestamp of the second data block is of the clock synchronization packet.

9. The clock synchronization apparatus of claim 8 , wherein the instruction further cause the clock synchronization apparatus to be configured to adjust values of the plurality of receipt timestamps during a receiving period using the first receipt timestamp as a reference, and wherein the receiving period is of performing timestamp sampling on the plurality of data blocks.

10. The clock synchronization apparatus of claim 9 , wherein the receiving period is equal to a duration needed by the receiving apparatus to receive X-bit data, and wherein X is a value of a data bus bit width of the receiving apparatus.

11. The clock synchronization apparatus of claim 9 , wherein the receiving period is equal to a duration needed by the receiving apparatus to receive X-bit data, and wherein X is a smaller value of data buffer bit widths of a serial-to-parallel conversion port of the receiving apparatus.

12. The clock synchronization apparatus of claim 8 , wherein the instructions further cause the clock synchronization apparatus to be configured to delete, a receipt timestamp other than the receipt timestamp corresponding to the first PHY.

13. The clock synchronization apparatus of claim 8 , wherein the second data block is of a start of frame delimiter (SFD) of the clock synchronization packet.

14. The clock synchronization apparatus of claim 8 , wherein the clock synchronization packet is carried in a client payload of a flexible Ethernet (FlexE).

15. A computer program product comprising computer-executable instructions for storage on a non-transitory computer-readable medium that, when executed by a processor, cause a clock synchronization apparatus to:

receive a plurality of data blocks using a plurality of physical layer modules (PHYs), wherein the plurality of data blocks comprises a plurality of head data blocks, wherein the plurality of head data blocks arrives first at a receiving apparatus in the plurality of data blocks, and wherein the plurality of head data blocks is in a one-to-one correspondence with the plurality of PHYs;

perform timestamp sampling on the plurality of data blocks to generate a plurality of receipt timestamps;

align the plurality of receipt timestamps using a first receipt timestamp as a reference, wherein the first receipt timestamp is of a first data block in the plurality of receipt timestamps, wherein the first data block is received using a first PHY, and wherein the first PHY is of a head data block that is last to arrive at the receiving apparatus in the plurality of head data blocks;

generate a clock synchronization packet based on the plurality of data blocks; and

write a value of a second receipt timestamp into the clock synchronization packet, wherein the second receipt timestamp is of a second data block and that is based on the plurality of receipt timestamps, wherein the second data block is for sending timestamp sampling in the plurality of data blocks, and wherein a sending timestamp of the second data block is of the clock synchronization packet.

16. The computer program product of claim 15 , wherein the instructions further cause the clock synchronization apparatus to adjust values of the plurality of receipt timestamps during a receiving period using the first receipt timestamp as a reference, and wherein the receiving period is of performing timestamp sampling on the plurality of data blocks.

17. The computer program product of claim 16 , wherein the receiving period is equal to a duration needed by the receiving apparatus to receive X-bit data, and wherein X is a value of a data bus bit width of the receiving apparatus or a smaller value of data buffer bit widths of a serial-to-parallel conversion port of the receiving apparatus.

18. The computer program product of claim 15 , wherein the instructions further cause the clock synchronization apparatus to wherein before the clock synchronization apparatus generates the clock synchronization packet, the instructions further cause the clock synchronization apparatus to be configured to delete a receipt timestamp other than the receipt timestamp corresponding to the first PHY.

19. The computer program product of claim 15 , wherein the second data block is of a start of frame delimiter (SFD) of the clock synchronization packet.

20. The computer program product of claim 15 , wherein the clock synchronization packet is carried in a client payload of a flexible Ethernet (FlexE).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2020
From: HE, XIANG; QI, YUNLEI; CHEN, JINGFENG; LIN, TAO; SONG, JUNMIN; WANG, XINYUAN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 053616/0400 →
Continuity (2)
Continuation PCTCN2017108417 · Oct 30, 2017
Related Publication 20200259578A1 · Aug 13, 2020
Cited By (2)
US 12,520,001 US 12,548,601