IP Library Granted Patent US 8,571,014
Granted Patent B2
US 8,571,014 · App. 13/039,199 · Granted Oct 29, 2013

Distributed packet-based timestamp engine

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 8,571,014
App. No.
13/039,199
Granted
Oct 29, 2013
Kind
B2
Abstract

A system handles timing information within a packet-switched network. The system classifies packets for processing depending on the packet type. After classification, a new timestamp value may be produced depending on the packet classification. The new timestamp value may use a timestamp value from the received packet, a value from a local clock, and an offset value. The timestamp value may be written into the packet, depending on the packet classification, and checksum-type fields may additionally be updated in the packet. In some embodiments, multiple physical layer circuits are integrated with a local clock circuit.

Claims (92)

1. A physical layer communication device, comprising:

a local clock configured to supply time values;

a receive block coupled to the local clock and configured to receive packets from a communication network and produce, depending on classifications of the received packets, timestamp values using time values from the local clock indicative of arrival times of the packets, further comprising;

a receive packet classifier configured to assign one of a plurality of classifications to each of the received packets;

a receive time calculator coupled to the receive packet classifier and the local clock and configured to produce the timestamp values depending on the assigned classifications; and

a receive packet writer coupled to the receive time calculator and configured to write, depending on the assigned classifications, the produced timestamp values into the received packets; and

a transmit block coupled to the local clock and configured to transmit packets to the communication network and produce, depending on classifications of the transmitted packets, timestamp values using time values from the local clock indicative of transmittal times of the packets;

wherein the plurality of classifications includes a third classification, and wherein the receive time calculator is configured to extract received timestamp values from the received packets and configured to produce, for received packets assigned the third classification, timestamp values equal to the extracted timestamp values plus time values from the local clock indicative of arrival times of the packets plus an offset.

2. The physical layer communication device of claim 1 , wherein the receive block comprises:

a receive packet classifier configured to assign one of a plurality of classifications to each of the received packets;

a receive time calculator coupled to the receive packet classifier and the local clock and configured to produce the timestamp values depending on the assigned classifications; and

a receive packet writer coupled to the receive time calculator and configured to write, depending on the assigned classifications, the produced timestamp values into the received packets.

3. The physical layer communication device of claim 2 , wherein the plurality of classifications includes a first classification, and wherein the receive time calculator is configured to produce, for received packets assigned the first classification, timestamp values equal to time values from the local clock indicative of arrival times of the packets.

4. The physical layer communication device of claim 2 , wherein the plurality of classifications includes a second classification, and wherein the receive time calculator is configured to extract received timestamp values from the received packets and configured to produce, for received packets assigned the second classification, timestamp values equal to the extracted timestamp values minus time values from the local clock indicative of arrival times of the packets plus an offset.

5. The physical layer communication device of claim 1 , wherein the plurality of classifications includes first and second classifications, and wherein the receive time calculator is configured to extract received timestamp values from the received packets and configured to produce, for received packets assigned the first classification, timestamp values equal to time values from the local clock indicative of arrival times of the packets; and configured to produce, for received packets assigned the second classification, timestamp values equal to the extracted timestamp values minus time values from the local clock indicative of arrival times of the packets plus an offset.

6. The physical layer communication device of claim 5 , wherein the receive packet writer is configured to write the produced timestamp values into the received packets for received packets assigned the first, second, or third classification.

7. The physical layer communication device of claim 1 , wherein the transmit block comprises:

a transmit packet classifier configured to assign one of a plurality of classifications to each of the transmitted packets;

a transmit time calculator coupled to the transmit packet classifier and the local clock and configured to produce the timestamp values depending on the assigned classifications; and

a transmit packet writer coupled to the transmit time calculator and configured to write, depending on the assigned classifications, the produced timestamp values into the transmitted packets.

8. The physical layer communication device of claim 7 , wherein the plurality of classifications includes a first classification, and wherein the transmit time calculator is configured to produce, for transmitted packets assigned the first classification, timestamp values equal to time values from the local clock indicative of transmittal time of the packets.

9. A physical layer communication device, comprising:

a local clock configured to supply time values;

a receive block coupled to the local clock and configured to receive packets from a communication network and produce, depending on classifications of the received packets, timestamp values using time values from the local clock indicative of arrival times of the packets, and to provide the packets to an interface coupled to the transmit block; and

a transmit block coupled to the local clock and configured to transmit packets to the communication network and produce, depending on classifications of the transmitted packets, timestamp values using time values from the local clock indicative of transmittal times of the packets, comprising:

a transmit packet classifier configured to assign one of a plurality of classifications to each of the transmitted packets;

a transmit time calculator coupled to the transmit packet classifier and the local clock and configured to produce the timestamp values depending on the assigned classifications; and

a transmit packet writer coupled to the transmit time calculator and configured to write, depending on the assigned classifications, the produced timestamp values into the transmitted packets;

wherein the plurality of classifications includes a second classification, and wherein the transmit time calculator is configured to extract transmit timestamp values from the transmitted packets and configured to produce, for transmitted packets assigned the second classification, timestamp values equal to the extracted timestamp values plus time values from the local clock indicative of transmittal time of the packets plus an offset.

10. A physical layer communication device, comprising:

a local clock configured to supply time values;

a receive block coupled to the local clock and configured to receive packets from a communication network and produce, depending on classifications of the received packets, timestamp values using time values from the local clock indicative of arrival times of the packets, and to provide the packets to an interface coupled to the transmit block; and

a transmit block coupled to the local clock and configured to transmit packets to the communication network and produce, depending on classifications of the transmitted packets, timestamp values using time values from the local clock indicative of transmittal times of the packets, comprising:

a transmit packet classifier configured to assign one of a plurality of classifications to each of the transmitted packets;

a transmit time calculator coupled to the transmit packet classifier and the local clock and configured to produce the timestamp values depending on the assigned classifications; and

a transmit packet writer coupled to the transmit time calculator and configured to write, depending on the assigned classifications, the produced timestamp values into the transmitted packets;

wherein the plurality of classifications includes a third classification, and wherein the transmit time calculator is configured to extract transmit timestamp values from the transmitted packets and configured to produce, for transmitted packets assigned the third classification, timestamp values equal to the extracted timestamp values minus time values from the local clock indicative of transmittal time of the packets plus an offset.

11. The physical layer communication device of claim 10 , wherein the plurality of classifications includes first, and second classifications, and wherein the transmit time calculator is configured to extract transmit timestamp values from the transmitted packets and configured to produce, for transmitted packets assigned the first classification, timestamp values equal to time values from the local clock indicative of transmittal time of the packets; and configured to produce, for transmitted packets assigned the second classification, timestamp values equal to the extracted timestamp values plus time values from the local clock indicative of transmittal time of the packets plus an offset.

12. The physical layer communication device of claim 11 , wherein the trans packet writer is configured to write the produced timestamp values into the transmitted packets for transmitted packets assigned the first, second, or third classification.

13. A physical layer communication device, comprising:

a receive local clock configured to supply time values;

receiver circuitry configured to receive an input signal, produce received packets from the input signal, and supply a detection signal to the receive local clock when a timing reference point is detected in the input signal, wherein the time values supplied by the receive local clock are indicative of times when the detection signal is received by the receive local clock;

a receive packet classifier coupled to the receiver circuitry and configured to assign one of a plurality of receive classifications to each of the received packets;

a receive time calculator coupled to the receive packet classifier and the receive local clock and configured to produce receive timestamp values depending on the assigned receive classifications; and

a receive packet writer coupled to the receive time calculator and configured to write, depending on the assigned receive classifications, the produced timestamp values into the received packets.

14. The physical layer communication device of claim 13 , further comprising a receive FIFO coupled to receive local clock to receive the time values and supply the received time values and an indication of the associated packet to a higher-layer device.

15. The physical layer communication device of claim 13 , further comprising:

a transmit local clock configured to supply time values;

a transmit packet classifier configured to accept transmit packets and assign one of a plurality of transmit classifications to each of the transmit packets;

a transmit time calculator coupled to the transmit packet classifier and the transmit local clock and configured to produce transmit timestamp values depending on the assigned transmit classifications;

a transmit packet writer coupled to the transmit time calculator and configured to write, depending on the assigned transmit classifications, the produced transmit timestamp values into the transmit packets; and

transmit circuitry coupled to the transmit packet writer to receive the transmit packets and configured to transmit an output signal formed from the transmit packet and supply a detection signal to the transmit local clock when a timing reference point is transmitted in the output signal, wherein the time values supplied by the transmit local clock are indicative of times when the detection signal is received by the transmit local clock.

16. The physical layer communication device of claim 15 , wherein the receive local clock is configured to operate in a time domain associated with the input signal and the transmit local clock is configured to operate in a time domain associated with the output signal.

17. A method for handling timing information in a communication device, the method comprising:

receiving a packet from a communication link;

classifying the packet to have a classification selected from a plurality of classification types;

for at least one of the classification types, extracting a timestamp value from the packet and producing a timestamp value equaling the extracted timestamp value minus the time the packet was received by the communication device plus an offset; and

for at least one of the classification types, writing the produced timestamp into the packet; and

supplying the packet having the written timestamp to a higher-level device.

18. The method of claim 17 , wherein classifying the packet comprises classifying the packet according to a timestamp protocol associated with the packet.

19. The method of claim 17 , further comprising, for at least one classification type, extracting a timestamp value from the packet and wherein producing a timestamp value based on the time the packet is received by the communication device comprises producing a new timestamp value based on the extracted timestamp value and the time the packet is received by the communication device.

20. The method of claim 17 , wherein the plurality of classification types includes a first type, a second type, and a third type, and wherein:

for the first type and the second type, producing a timestamp value based on the time the packet is received by the communication device comprises producing a timestamp value equaling the time the packet was received by the communication device.

21. The method of claim 17 , wherein writing the produced timestamp into the packet writes the produced timestamp at a location in the packet defined by a format of the packet.

22. A method for handling timing information in a communication device, the method comprising:

receiving a packet from a higher-level device;

classifying the packet to have a classification selected from a plurality of classification types;

for at least one of the classification types, producing a timestamp value based on the time the packet is transmitted by the communication device;

for at least one of the classification types, writing the produced timestamp into the packet;

transmitting the packet having the written timestamp to a communication network; and

wherein the plurality of classification types includes a first type, a second type, and a third type, and wherein:

for the first type and the second type, producing a timestamp value based on the time the packet is transmitted by the communication device comprises producing a timestamp value equaling the time the packet is transmitted by the communication device;

for the third type, producing a timestamp value based on the time the packet is transmitted by the communication device comprises extracting a timestamp value from the packet and producing a timestamp value equaling the extracted timestamp value plus the time the packet is transmitted by the communication device plus an offset; and

the at least one of the classification types for which the method writes the produced timestamp into the packet comprises the second type and the third type.

23. The method of claim 22 , wherein classifying the packet comprises classifying the packet according to a timestamp protocol associated with the packet.

24. The method of claim 22 , further comprising, for at least one classification type, extracting a timestamp value from the packet and wherein producing a timestamp value based on the time the packet is transmitted by the communication device comprises producing a new timestamp value based on the extracted timestamp value and the time the packet is transmitted by the communication device.

25. The method of claim 22 , wherein writing the produced timestamp into the packet writes the produced timestamp at a location in the packet defined by a format of the packet.

26. A communication network node, comprising:

a local clock configured to supply time values;

a first receive block coupled to the local clock and configured to receive packets from a first link in a communication network and produce, depending on classifications of the received packets, timestamp values using time values from the local clock indicative of arrival times of the packets;

a first transmit block coupled to the local clock and configured to transmit packets to the first link in the communication network and produce, depending on classifications of the transmitted packets, timestamp values using time values from the local clock indicative of transmittal times of the packets;

a second receive block coupled to the local clock and configured to receive packets from a second link in the communication network and produce, depending on classifications of the received packets, timestamp values using time values from the local clock indicative of arrival times of the packets; and

a second transmit block coupled to the local clock and configured to transmit packets to the second link in the communication network and produce, depending on classifications of the transmitted packets, timestamp values using time values from the local clock indicative of transmittal times of the packets.

27. A communication system, comprising:

a plurality of line cards each comprising:

a physical layer device comprising:

a receive block configured to receive packets from a communication network and produce, depending on classifications of the received packets, timestamp values using time values indicative of arrival times of the packets; and

a transmit block configured to transmit packets to the communication network and produce, depending on classifications of the transmitted packets, timestamp values based on a residence time calculated as the difference between the arrival time and a transmit time; and

a media access controller coupled to the physical layer device and configured to process the receive packets and the transmit packets according to a media access protocol; and

a system card coupled to the plurality of line cards, the system card comprising:

a switch fabric configured to couple the receive packets and the transmit packets between the plurality of line cards; and

a physical layer device configured to provide timestamp processing associated with times the receive packets and the transmit packets are received by and transmitted from the system card.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.), INC.; MICROSEMI FREQUENCY AND TIME CORPORATION; MICROSEMI COMMUNICATIONS, INC.; MICROSEMI SOC CORP.; MICROSEMI CORP. - POWER PRODUCTS GROUP; MICROSEMI CORP. - RF INTEGRATED SOLUTIONS
Reel/Frame 046251/0391 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2017
From: MICROSEMI COMMUNICATIONS, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 042523/0577 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.) INC. (F/K/A LEGERITY, INC., ZARLINK SEMICONDUCTOR (V.N.) INC., CENTELLAX, INC., AND ZARLINK SEMICONDUCTOR (U.S.) INC.); MICROSEMI FREQUENCY AND TIME CORPORATION (F/K/A SYMMETRICON, INC.); MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMICONDUCTOR CORPORATION); MICROSEMI SOC CORP. (F/K/A ACTEL CORPORATION); MICROSEMI CORP. - POWER PRODUCTS GROUP (F/K/A ADVANCED POWER TECHNOLOGY INC.); MICROSEMI CORP. - RF INTEGRATED SOLUTIONS (F/K/A AML COMMUNICATIONS, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037691/0697 →
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2016
From: BANK OF AMERICA, N.A.
To: MICROSEMI CORPORATION; MICROSEMI CORP.-ANALOG MIXED SIGNAL GROUP, A DELAWARE CORPORATION; MICROSEMI SOC CORP., A CALIFORNIA CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.) INC., A DELAWARE CORPORATION; MICROSEMI FREQUENCY AND TIME CORPORATION, A DELAWARE CORPORATION; MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMICONDUCTOR CORPORATION), A DELAWARE CORPORATION; MICROSEMI CORP.-MEMORY AND STORAGE SOLUTIONS (F/K/A WHITE ELECTRONIC DESIGNS CORPORATION), AN INDIANA CORPORATION
Reel/Frame 037558/0711 →
MERGER AND CHANGE OF NAME Recorded May 13, 2015
From: VITESSE SEMICONDUCTOR CORPORATION; LLIU100 ACQUISITION CORP.
To: MICROSEMI COMMUNICATIONS, INC.
Reel/Frame 035651/0708 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Apr 29, 2015
From: MICROSEMI COMMUNICATIONS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035532/0925 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2011
From: JOERGENSEN, THOMAS KIRKEGAARD; BRANSCOMB, BRIAN; EHLERS, KRISTIAN
To: VITESSE SEMICONDUCTOR CORPORATION
Reel/Frame 026985/0409 →