IP Library Granted Patent US 10,432,337
Granted Patent B2
US 10,432,337 · App. 15/150,979 · Granted Oct 1, 2019

Apparatus and method for timestamping of data packets

Inventors: Eric Baden (Saratoga, CA); Ankit Bansal (San Jose, CA); Sharath Gargeshwari (Cupertino, CA)
Assignee: Avago Technologies International Sales Pte. Limited
H04J3/0697H04J3/0661H04L43/0852H04L43/0894H04L69/28
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 10,432,337
App. No.
15/150,979
Granted
Oct 1, 2019
Kind
B2
Abstract

An apparatus and method for timestamping data packets are provided. The apparatus includes an input bit counter responsive to input bits entering a physical layer (PHY) device and an output bit counter responsive to output bits transmitted by the PHY device. A timestamp for an incoming bit is calculated based on a number of bits awaiting transmission by the PHY device at the time of arrival of the incoming bit. The number of bits awaiting transmission by the PHY device is determined based on the first count and the second count.

Claims (54)

1. A communications device, comprising:

an input bit counter configured to maintain a first count responsive to input bits received by a physical layer (PHY) device from a media access control (MAC) sublayer;

an output bit counter configured to maintain a second count responsive to output bits transmitted by the PHY device onto a physical medium; and

control circuitry configured to:

upon receipt, by the PHY device from the MAC sublayer, of a first bit of a data packet, determine a number of bits awaiting transmission by the PHY device onto the physical medium based on the first count and the second count;

calculate a timestamp for the data packet based on the determined number of bits and a pre-determined bit transmission rate of the PHY device, wherein the timestamp indicates a time of transmission of the first bit of the data packet by the PHY device onto the physical medium; and

insert the timestamp into a timestamp field of the data packet.

2. The communications device of claim 1 , wherein the control circuitry is configured to subtract the second count from the first count to determine the number of bits awaiting transmission by the PHY device onto the physical medium.

3. The communications device of claim 1 , wherein the control circuitry is configured to:

divide the determined number of bits by the pre-determined bit transmission rate of the PHY device to determine a PHY latency for the first bit of the data packet; and

add the determined PHY latency to a current clock time to determine the timestamp for the data packet.

4. The communications device of claim 1 , wherein the input bits include a data block having a pre-defined number of bits, and wherein the control circuitry is further configured to:

determine a number of overhead bits that are added to the pre-defined number of bits of the data block due to processing by the PHY device before transmission onto the physical medium; and

control the input bit counter to increment the first count by the pre-defined number of bits of the data block adjusted by the number of overhead bits.

5. The communications device of claim 4 , wherein the number of overhead bits is responsive to one or more of: line encoding bits added to the data block, alignment marker insertion bits added to the data block, Forward Error Correction (FEC) compression bits removed from the data block, and FEC parity bits added to the data block.

6. The communications device of claim 1 , wherein the PHY device includes a plurality of transmission lanes, and wherein the input bit counter and the output bit counter correspond to a first transmission lane of the plurality of transmission lanes.

7. The communications device of claim 1 , wherein the input bit counter and the output bit counter are associated with different clock domains, the control circuitry further configured to:

compute a cross-domain transfer time error associated with transferring one or more of the first count and the second count to another clock domain; and

determine the number of bits awaiting transmission by the PHY device using the computed cross-domain transfer time error.

8. The communications device of claim 6 , further comprising:

a second input bit counter configured to maintain a third count responsive to input bits received by a second transmission lane of the PHY device from the MAC sublayer; and

a second output bit counter configured to maintain a fourth count responsive to output bits transmitted by the second transmission lane of the PHY device onto the physical medium.

9. A method of processing data packets, comprising:

receiving, by a physical layer (PHY) device, input bits including a data packet from a media access control (MAC) sublayer;

determining a number of bits awaiting transmission by the PHY device onto a physical medium based on a first count and a second count, the first count responsive to a number of the input bits that entered the PHY device, and the second count responsive to a number of bits transmitted by the PHY device onto the physical medium; and

calculating a timestamp for the data packet based on the determined number of bits awaiting transmission by the PHY device and a pre-determined bit transmission rate of the PHY device, wherein the timestamp indicates a time of transmission of the first bit of the data packet by the PHY device onto the physical medium;

inserting the timestamp into a timestamp field of the data packet; and

transmitting the data packet on to the physical medium using the PHY device.

10. The method of claim 9 , further comprising:

incrementing the first count responsive to the number of the input bits that entered the PHY device; and

incrementing the second count responsive to transmitting the data packet on the physical medium using the PHY device.

11. The method of claim 9 , wherein determining the number of bits awaiting transmission by the PHY device onto the physical medium comprises subtracting the second count from the first count.

12. The method of claim 9 , further comprising:

dividing the determined number of bits by the pre-determined bit transmission rate of the PHY device to determine a PHY latency for the first bit of the data packet; and

adding the determined PHY latency to a current clock time to calculate the timestamp for the data packet.

13. The method of claim 9 , wherein the input bits include a data block having a pre-defined number of bits, the method further comprising:

determining a number of overhead bits that are added to the pre-defined number of bits of the data block due to processing of the data block by the PHY device before transmission onto the physical medium; and

incrementing the first count responsive to receiving the data block by the pre-defined number of bits of the data block adjusted by the number of overhead bits.

14. The method of claim 13 , wherein the number of overhead bits is responsive to one or more of: line encoding bits added to the data block, alignment marker insertion bits added to the data block, Forward Error Correction (FEC) compression bits removed from the data block, and FEC parity bits added to the data block.

15. The method of claim 9 , further comprising:

computing a cross-domain transfer time error associated with transferring one or more of the first count and the second count to another clock domain; and

determining the number of bits awaiting transmission by the PHY device using the computed cross-domain transfer time error.

16. A communications device, comprising:

an input bit counter configured to maintain a first count responsive to input bits received by a physical layer (PHY) device from a media access control (MAC) sublayer;

an output bit counter configured to maintain a second count responsive to output bits transmitted by the PHY device onto a physical medium; and

control circuitry configured to:

upon receipt, by the PHY device from the MAC sublayer, of a first bit of a data packet, determine a number of bits awaiting transmission by the PHY device onto the physical medium based on the first count and the second count; and

calculate a timestamp for the data packet based on the determined number of bits and a pre-determined bit transmission rate of the PHY device, wherein the timestamp is at least partially calculated by dividing the determined number of bits by the pre-determined bit transmission rate of the PHY device to determine a PHY latency for the first bit of the data packet.

17. The communications device of claim 16 , wherein the control circuitry is further configured to add the determined PHY latency to a current clock time to determine the timestamp for the data packet.

18. The communications device of claim 17 , wherein the control circuitry is further configured to insert the timestamp into a timestamp field of the data packet for transmission of the data packet onto the physical medium by the PHY device.

19. The communications device of claim 16 , wherein the timestamp indicates a time of transmission of the first bit of the data packet by the PHY device onto the physical medium.

20. The communications device of claim 16 , wherein the PHY device includes a plurality of transmission lanes, and wherein the input bit counter and the output bit counter correspond to a first transmission lane of the plurality of transmission lanes, the communications device further comprising:

a second input bit counter configured to maintain a third count responsive to input bits received by a second transmission lane of the PHY device from the MAC sublayer; and

a second output bit counter configured to maintain a fourth count responsive to output bits transmitted by the second transmission lane of the PHY device onto the physical medium.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2016
From: BADEN, ERIC; BANSAL, ANKIT; GARGESHWARI, SHARATH
To: BROADCOM CORPORATION
Reel/Frame 038539/0124 →
Continuity (2)
Provisional Application 62162380 · May 15, 2015
Related Publication 20160337114A1 · Nov 17, 2016