IP Library › Granted Patent US 9,256,247
Granted Patent B2
US 9,256,247 · App. 13/734,753 · Granted Feb 9, 2016

Method and apparatus for communicating time information between time aware devices

Inventors: Raja Banerjea (Sunnyvale, CA); Donald Pannell (Cupertino, CA); Ken Kinwah Ho (San Jose, CA); Ken Yeung (Cupertino, CA); Mao Yu (San Jose, CA)
Assignee: MARVELL WORLD TRADE LTD.
G06F1/12G06F1/04H04J3/0664H04J3/0667
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,256,247
App. No.
13/734,753
Filed
Jan 4, 2013
Granted
Feb 9, 2016
Kind
B2
Art Unit
2116
USPC
713/503
Abstract

According to one embodiment, an apparatus includes a first processing unit operating according to a first clock, a second processing unit operating according to a second clock running separately from the first clock, and a synchronization controller coupled to the first communication unit and the second communication unit. The synchronization controller is configured to (i) cause the first communication unit to generate a first indication of time at which the first processing unit transmits a signal to the second processing unit, according to the first clock, (ii) cause the second processing unit to generate a second indication of time at which the second processing unit receives the signal, according to the second clock, and (iii) determine an offset between the first clock and the second clock based on the first indication of time and the second indication of time.

Claims (54)

1. An apparatus comprising:

a first processing unit operating according to a first clock;

a second processing unit operating according to a second clock running separately from the first clock;

a data interface for exchanging data packets between the first processing unit and the second processing unit;

a generic interface, separate from the data interface, for exchanging signals between the first processing unit and the second processing unit;

a synchronization controller coupled to the first processing unit and the second processing unit, wherein the synchronization controller is implemented on an integrated circuit and is configured to

(i) cause the first processing unit to generate a first indication of time at which the first processing unit transmits a signal to the second processing unit via the generic interface, according to the first clock,

(ii) cause the second processing unit to generate a second indication of time at which the second processing unit receives the signal, according to the second clock,

(iii) determine an offset between the first clock and the second clock based on the first indication of time and the second indication of time, and

(iv) determine a propagation delay associated with data packets exchanged via the data interface using the determined offset.

2. The apparatus of claim 1 , wherein the generic interface includes one of (i) a General Purpose Input/Output (GPIO) pin, (ii) a Peripheral Component Interconnect Express (PCIE) port, or (iii) a Secure Digital Input Output (SDIS) slot.

3. The apparatus of claim 1 , wherein the signal is a pulse.

4. The apparatus of claim 1 , wherein the synchronization controller is configured to periodically repeat operations (i) and (ii) to determine a difference in frequency between the first clock and the second clock.

5. The apparatus of claim 1 , wherein:

the first processing unit is one of (i) a wired communication unit configured to receive and transmit data via a wired communication link and (ii) a wireless communication unit configured to receive and transmit data via a wireless communication link, and

the second processing unit is the other one of the wired communication unit and the wireless communication unit,

wherein the apparatus is configured to forward data between the wired communication unit and the wireless communication unit.

6. The apparatus of claim 5 , wherein the wired communication link is an Ethernet link.

7. The apparatus of claim 1 , further comprising:

a first hardware register coupled to the first processing unit and to the synchronization controller to store the first indication of time; and

a second hardware register coupled to the second processing unit and to the synchronization controller to store the second indication of time.

8. A synchronization method in a device that includes (i) a first processing unit operating according to a first clock and (ii) a second processing unit operating according to a second clock running separately from the first clock, the method comprising:

causing the first processing unit to generate a first indication of time at which the first processing unit transmits a signal to the second processing unit via a generic interface, according to the first clock;

causing the second processing unit to generate a second indication of time at which the second processing unit receives the signal, according to the second clock,

determining an offset between the first clock and the second clock based on the first indication of time and the second indication of time;

determining a propagation delay associated with the device for data packets exchanged via a data interface using the determined offset, wherein the data interface is i) separate from the generic interface, and ii) between the first processing unit and the second processing unit.

9. The method of claim 8 , further comprising causing the first processing unit to transmit the signal via the generic interface, wherein the generic interface is one of (i) a General Purpose Input/Output (GPIO) pin, (ii) a Peripheral Component Interconnect Express (PCIE) port, or (iii) a Secure Digital Input Output (SDIS) slot.

10. The method of claim 8 , further comprising causing the first processing unit to transmit the signal in the form of a pulse.

11. The method of claim 8 , wherein the signal is associated with a command transmitted between the first processing unit and the second processing unit, wherein the command conforms to a messaging protocol defined for exchanging control information between the first processing unit and the second processing unit.

12. The method of claim 8 , further comprising:

causing the first processing unit to generate the signal as one of a plurality of signals;

generating multiple versions of the first indication of time and the second indication of time using the plurality of signals; and

determining a difference in frequency between the first clock and the second clock based on the multiple versions of the first indication of time and the second indication of time.

13. The method of claim 12 , wherein the first processing unit is a first communication unit and the second processing unit is a second communication unit, the method further comprising:

receiving a data packet via a port of the first communication unit;

determining the propagation delay associated with the device using the determined offset and the determined difference in frequency; and

transmitting the data packet via a port of the second communication unit, including providing an indication of the propagation delay.

14. The method of claim 13 , wherein the first communication unit is one of a wired communication unit and a wireless communication unit, and the second communication unit is the other of the wired communication unit and the wireless communication unit.

15. A communication device, comprising:

a first processing unit,

a second processing unit,

a synchronization controller coupled to the first processing unit and the second processing unit, wherein the synchronization controller is implemented on an integrated circuit,

a data interface for exchanging data packets between the first processing unit and the second processing unit, and

a generic interface, separate from the data interface, via which the first processing unit is coupled to the second processing unit;

wherein the first processing unit comprises a first clock according to which the first processing unit operates;

wherein the second processing unit comprises a second clock running separately from the first clock and according to which the second processing unit operates; and

wherein the first processing unit is configured to (i) transmit a periodic signal to the second processing unit via the generic interface, and (ii) generate a first indication of time at which the first processing unit transmits the periodic signal to the second processing unit, according to the first clock,

wherein the synchronization controller is configured to (i) cause the second processing unit to generate a second indication of time at which the second processing unit receives the periodic signal, according to the second clock, (ii) generate a synchronization parameter based on the first indication of time and the second indication of time, and (iii) determine a propagation delay associated with data packets exchanged via the data interface using the synchronization parameter.

16. The processing unit of claim 15 , wherein the generic interface includes one of (i) a General Purpose Input/Output (GPIO) pin, (ii) a Peripheral Component Interconnect Express (PCIE) port, or (iii) a Secure Digital Input Output (SDIS) slot.

17. The processing unit of claim 15 , wherein the periodic signal is a pulse.

18. The processing unit of claim 15 , wherein the synchronization parameter includes at least one of (i) an offset between the first clock of the first processing unit and the second clock of the second processing unit and (ii) a difference in frequency between the first clock of the first processing unit and the second clock of the second processing unit.

19. The processing unit of claim 15 , wherein:

the first processing unit is one of (i) a wired communication unit configured to receive and transmit data via a wired communication link and (ii) a wireless communication unit configured to receive and transmit data via a wireless communication link; and

the second processing unit is the other one of the wired communication unit and the wireless communication unit.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2013
From: BANERJEA, RAJA; PANNELL, DONALD; HO, KEN KINWAH; YEUNG, KEN; YU, MAO
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 029694/0010 →
LICENSE Recorded Jan 25, 2013
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 029694/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2013
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 029694/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2013
From: MARVELL INTERNATIONAL LTD.
To: MARVELL WORLD TRADE LTD
Reel/Frame 029694/0115 →
Continuity (3)
Provisional Application 61582953 · Jan 4, 2012
Provisional Application 61708866 · Oct 2, 2012
Related Publication 20130173950A1 · Jul 4, 2013