IP Library Granted Patent US 11,349,587
Granted Patent B2
US 11,349,587 · App. 15/941,422 · Granted May 31, 2022

Generating a timestamp

Inventors: Nigel Antoine Gulstone (San Jose, CA); David Wolk Mendel (Sunnyvale, CA); Sita Rama Chandrasekhar Mallela (Penang, MY); Rajiv Dattatraya Kane (Fremont, CA)
Assignee: Intel Corporation
H04J3/067H04J3/0697
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,349,587
App. No.
15/941,422
Granted
May 31, 2022
Kind
B2
Abstract

Particular embodiments described herein provide for an electronic device that can be configured to determine that a packet needs a timestamp, determine an initial timestamp for a reference block, communicate the reference block to a monitor engine, receive an asynchronous pulse from the monitor engine after the monitor engine received the reference block, determine a synchronization timestamp for the asynchronous pulse, and determine the timestamp for the packet based on the initial timestamp for the reference block and the synchronization timestamp for the asynchronous pulse.

Claims (55)

1. At least one non-transitory machine readable medium comprising one or more instructions that, when executed by at least one processor, causes the at least one processor to:

determine an initial timestamp for a reference block;

communicate the reference block to monitor circuitry;

receive an asynchronous pulse generated by the monitor circuitry responsive to the monitor circuitry's receipt of the reference block communication;

determine a synchronization timestamp for the asynchronous pulse;

determine a number of bits between the reference block and a reference bit of a packet; and

determine a timestamp for the packet based on the initial timestamp for the reference block, the synchronization timestamp for the asynchronous pulse, and the number of bits between the reference block and the reference bit of the packet.

2. The at least one non-transitory machine readable medium of claim 1 , wherein the one or more instructions further cause the at least one processor to:

subtract a known transmit time of the asynchronous pulse from a time when the asynchronous pulse was received to determine the synchronization timestamp.

3. The at least one non-transitory machine readable medium of claim 1 , wherein a path of the reference block goes through a digital processing block.

4. The at least one non-transitory machine readable medium of claim 1 , wherein the monitor circuitry engine is below a digital processing block.

5. The at least one non-transitory machine readable medium of claim 1 , wherein the packet is from a virtual machine.

6. The at least one non-transitory machine readable medium of claim 1 , wherein the timestamp is a 1-step timestamp or a 2-step timestamp.

7. An electronic device comprising:

memory;

timestamp circuitry; and

at least one processor, wherein the timestamp circuitry is configured to cause the at least one processor to:

determine an initial timestamp for a reference block;

communicate the reference block to monitor circuitry;

receive an asynchronous pulse generated by the monitor circuitry responsive to the monitor circuitry's receipt of the reference block communication;

determine a synchronization timestamp for the asynchronous pulse;

determine a number of bits between the reference block and a reference bit of a packet; and

determine a timestamp for the packet based on the initial timestamp for the reference block, the synchronization timestamp for the asynchronous pulse, and the number of bits between the reference block and the reference bit of the packet.

8. The electronic device of claim 7 , wherein the timestamp circuitry is further configured to cause the at least one processor to:

subtract a known transmit time of the asynchronous pulse from a time when the asynchronous pulse was received to determine the synchronization timestamp.

9. The electronic device of claim 7 , wherein a path of the reference block goes through a digital processing block.

10. The electronic device of claim 7 , wherein the asynchronous pulse has a fixed latency.

11. A method comprising:

determining an initial timestamp for a reference block;

communicating the reference block to monitor circuitry;

receiving an asynchronous pulse generated by the monitor circuitry responsive to the monitor circuitry's receipt of the reference block communication;

determining a synchronization timestamp for the asynchronous pulse;

determining a number of bits between the reference block and a reference bit of a packet; and

determining a timestamp for the packet based on the initial timestamp for the reference block, the synchronization timestamp for the asynchronous pulse, and the number of bits between the reference block and the reference bit of the packet.

12. The method of claim 11 , further comprising:

subtracting a known transmit time of the asynchronous pulse from a time when the asynchronous pulse was received to determine the synchronization timestamp.

13. The method of claim 11 , wherein a path of the reference block goes through a digital processing block.

14. The method of claim 11 , wherein the asynchronous pulse has a fixed latency.

15. The method of claim 11 , wherein the timestamp is a 1-step timestamp or a 2-step timestamp.

16. A system for generating a timestamp, the system comprising:

memory;

one or more processors; and

timestamp circuitry, wherein the timestamp circuitry is configured to:

determine an initial timestamp for a reference block;

communicate the reference block to monitor circuitry;

receive an asynchronous pulse generated by the monitor circuitry responsive to the monitor circuitry's receipt of the reference block communication;

determine a synchronization timestamp for the asynchronous pulse;

determine a number of bits between the reference block and a reference bit of a packet; and

determine a timestamp for the packet based on the initial timestamp for the reference block, the synchronization timestamp for the asynchronous pulse, and the number of bits between the reference block and the reference bit of the packet.

17. The system of claim 16 , wherein the timestamp circuitry is further configured to:

subtract a known transmit time of the asynchronous pulse from a time when the asynchronous pulse was received to determine the synchronization timestamp.

18. The system of claim 16 , wherein a path of the reference block goes through a digital processing block.

19. The system of claim 16 , wherein the asynchronous pulse has a fixed latency.

20. The system of claim 16 , wherein the packet is from a virtual machine.

21. The system of claim 16 , wherein the timestamp is a 1-step timestamp or a 2-step timestamp.

Assignments (3)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: INTEL CORPORATION
To: ALTERA CORPORATION
Reel/Frame 072704/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2018
From: GULSTONE, NIGEL ANTOINE; MENDEL, DAVID WOLK; MALLELA, SITA RAMA CHANDRASEKHAR; KANE, RAJIV DATTATRAYA
To: INTEL CORPORATION
Reel/Frame 045716/0626 →
Continuity (1)
Related Publication 20190044637A1 · Feb 7, 2019