IP Library Granted Patent US 9,602,271
Granted Patent B2
US 9,602,271 · App. 14/726,945 · Granted Mar 21, 2017

Sub-nanosecond distributed clock synchronization using alignment marker in ethernet IEEE 1588 protocol

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 9,602,271
App. No.
14/726,945
Granted
Mar 21, 2017
Kind
B2
Abstract

A method for determining a slave clock to master clock time difference with an alignment marker. The method selects and transmits a first alignment marker at a first time by a transmitter that has a master clock in a first message to a receiver that has a slave clock. Subsequent to transmitting the first message, the method further transmits a second message that contains the first time and an identity of the first alignment marker. The method further receives the first message and records a second time that the first message is received. The method further receives the second message and the first time and the identity of the first alignment marker. The method further determines a transmission delay and generates a time difference from the slave clock to the master clock.

Claims (55)

1. A method for determining a slave clock to master clock time difference with an alignment marker, the method comprising:

receiving, by a processor, a first message that was sent at a first time and that includes a first alignment marker, wherein the processor has a slave clock, wherein the first alignment marker was selected by a computing device that has a master clock;

recording, by the processor, a second time that the first message was received;

receiving, by the processor, a second message that indicates the first time at which the first message was sent and an identity of the first alignment marker, wherein the second message was transmitted subsequent to the first message being transmitted;

identifying, by the processor, the first alignment marker in a receiver based, at least in part, on the identity of the first alignment marker;

determining, by the processor, a delay that is associated with data transmission between the receiver and a transmitter, the delay being determined based on information acquired during transmission of messages between the processor and the computing device; and

generating, by the processor, a time difference from the slave clock to the master clock based, at least in part, on the delay, the first time, and the second time.

2. The method of claim 1 , wherein the determining of the delay is comprised of:

selecting, by the processor, a second alignment marker;

transmitting, by the processor, at a third time, the second alignment marker as part of a third message to the computing device;

subsequent to transmitting the third message, transmitting, by the processor, a fourth message to the computing device that contains an identity of the second alignment marker;

receiving, by the processor, a fifth message that indicates a fourth time at which the third message was received by the computing device and the identity of the second alignment marker; and

computing, by the processor, the delay using the third time and the fourth time.

3. The method of claim 2 , wherein the time difference from the slave clock to the master clock is calculated as (t 4 +t 1 −t 3 −t 2 )/2, where t 1 is the first time, t 2 is the second time, t 3 is the third time, and t 4 is the fourth time.

4. The method of claim 1 , wherein the first alignment marker is in virtual lane 0 .

5. The method of claim 2 , wherein the first alignment marker and the second alignment marker are in virtual lane 0 .

6. The method of claim 1 , wherein the second message is a sync message.

7. The method of claim 2 , wherein the second message, the fourth message, and the fifth message are sync messages.

8. A computer program product for determining a slave clock to master clock time difference with an alignment marker, the computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media and executable by a processor, the program instructions comprising:

program instructions to receive a first message that was sent at a first time and that includes a first alignment marker, wherein the processor has a slave clock, wherein the first alignment marker was selected by a computing device that has a master clock;

program instructions to record a second time that the first message was received;

program instructions to receive a second message that indicates the first time at which the first message was sent and an identity of the first alignment marker, wherein the second message was transmitted subsequent to the first message being transmitted;

program instructions to identify the first alignment marker in a receiver based, at least in part, on the identity of the first alignment marker;

program instructions to determine a delay in the receiver that is associated with data transmission between the receiver and a transmitter, the delay being determined based on information acquired during transmission of messages between the processor and the computing device; and

program instructions to generate a time difference from the slave clock to the master clock based, at least in part, on the delay, the first time, and the second time.

9. The computer program product of claim 8 , wherein the program instructions to determine the delay are comprised of:

program instructions to select a second alignment marker;

program instructions to transmit at a third time, the second alignment marker as part of a third message to the computing device;

program instructions to, subsequent to transmitting the third message, transmitting, a fourth message to the computing device that contains an identity of the second alignment marker;

program instructions to receive a fifth message that indicates a fourth time at which the third message was received by the computing device and the identity of the second alignment marker; and

program instructions to compute the delay using the third time and the fourth time.

10. The computer program product of claim 9 , wherein program instructions calculate the time difference from the slave clock to the master clock as (t 4 +t 1 −t 3 −t 2 )/2, where t 1 is the first time, t 2 is the second time, t 3 is the third time, and t 4 is the fourth time.

11. The computer program product of claim 8 , wherein the first alignment marker is in virtual lane 0 .

12. The computer program product of claim 9 , wherein the first alignment marker and the second alignment marker are in virtual lane 0 .

13. The computer program product of claim 8 , wherein the second message is a sync message.

14. The computer program product of claim 9 , wherein the second message, the fourth message, and the fifth message are sync messages.

15. A computer system for determining a slave clock to master clock time difference with an alignment marker, the computer system comprising:

one or more computer processors, one or more computer readable storage media, and program instructions stored on the computer readable storage media for execution by a processor of the one or more processors, the program instructions comprising:

program instructions to receive a first message that was sent at a first time and that includes a first alignment marker, wherein the processor has a slave clock, wherein the first alignment marker was selected by a computing device that has a master clock;

program instructions to record a second time that the first message is received;

program instructions to receive a second message that indicates the first time at which the first message was sent and an identity of the first alignment marker, wherein the second message was transmitted subsequent to the first message being transmitted;

program instructions to identify the first alignment marker in a receiver based, at least in part, on the identity of the first alignment marker;

program instructions to determine a delay that is associated with data transmission between the receiver and a transmitter, the delay being determined based on information acquired during transmission of messages between the processor and the computing device; and

program instructions to generate a time difference from the slave clock to the master clock based, at least in part, on the delay, the first time, and the second time.

16. The computer system of claim 15 , wherein the program instructions to determine the delay are comprised of:

program instructions to select a second alignment marker;

program instructions to transmit at a third time, the second alignment marker as part of a third message to the computing device;

program instructions to, subsequent to transmitting the third message, transmitting, a fourth message to the computing device that contains an identity of the second alignment marker;

program instructions to receive a fifth message that indicates a fourth time at which the third message was received by the computing device and the identity of the second alignment marker; and

program instructions to compute the delay using the third time and the fourth time.

17. The computer system of claim 16 , wherein program instructions calculate the time difference from the slave clock to the master clock as (t 4 +t 1 −t 3 −t 2 )/2, where t 1 is the first time, t 2 is the second time, t 3 is the third time, and t 4 is the fourth time.

18. The computer system of claim 15 , wherein the first alignment marker is in virtual lane 0 .

19. The computer system of claim 16 wherein the first alignment marker and the second alignment marker are in virtual lane 0 .

20. The computer system of claim 15 , wherein the second message is a sync message.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2016
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 037542/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 037409/0869 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2015
From: BENJAMINI, YIFTACH; LIU, YANG; SONG, CHENG WEI; YANG, KAI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035754/0996 →