IP Library Granted Patent US 7,415,002
Granted Patent B2
US 7,415,002 · App. 10/693,618 · Granted Aug 19, 2008

Circuit synchronization over asynchronous links

Assignee: Brocade Communications, Inc.
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 7,415,002
App. No.
10/693,618
Granted
Aug 19, 2008
Kind
B2
Abstract

A device that synchronizes circuits over asynchronous links is disclosed. Some embodiments of the invention include a device that comprises a plurality of circuits. One of the plurality of circuits is designated as a “master” circuit. The master circuit is configured to send a first synchronization signal to one or more of the plurality of circuits, and each circuit that receives the first synchronization signal is configured to responsively send a second synchronization signal to one or more of the plurality of circuits.

Claims (84)

1. A device that comprises:

a plurality of circuits coupled together by asynchronous links, wherein the plurality of circuits includes a master circuit,

wherein the master circuit is configured to send a first synchronization signal to one or more of the plurality of circuits,

wherein each circuit that receives the first synchronization signal is configured to responsively send a second synchronization signal to one or more of the plurality of circuits; and

wherein each one of the plurality of circuits that receives the first synchronization signal sets a word counter coupled to the circuit to a value based on an adjustment of a value indicated by the first synchronization signal and an upper bound of a round-trip latency between two of the plurality of circuits.

2. The device of claim 1 wherein one of the plurality of circuits is configured to transmit and receive packets to and from external sources.

3. The device of claim 1 wherein one of the plurality of circuits is configured to manipulate data stored in another one of the plurality of circuits.

4. The device of claim 1 wherein one or more of the plurality of circuits is configured to store packet portions.

5. The device of claim 1 wherein the first synchronization signal indicates a value of a word counter coupled to the master circuit.

6. The device of claim 1 wherein the second synchronization signal comprises a value from a word counter coupled to one of the plurality of circuits.

7. The device of claim 6 wherein the first synchronization signal indicates a value of a word counter coupled to the master circuit.

8. The device of claim 1 wherein the first synchronization signal is sent in response to one or both of a system reset and a power-on procedure.

9. The device of claim 1 wherein the second synchronization signal is sent in response to a hot-plug insertion of a circuit.

10. The device of claim 1 wherein the first synchronization signal comprises a value from a word counter coupled to the master circuit.

11. The device of claim 1 wherein the upper bound of the round trip latency is related to a deterministic and a nondeterministic delay.

12. The device of claim 1 wherein each one of the plurality of circuits that receives the second synchronization signal is configured to adjust delays of one or more first-in-first-out (FIFO) data structures that are coupled to the circuit that received the second synchronization signal.

13. The device of claim 12 wherein each one of the plurality of circuits that receives the second synchronization signal is configured to responsively send a third synchronization signal to one or more of the plurality of circuits, wherein each one of the plurality of circuits that receives the third synchronization signal adjusts the delays of one or more FIFO data structures that are coupled to the circuit that received the third synchronization signal.

14. The device of claim 1 wherein each circuit, except the master circuit, that receives the second synchronization signal sets a word counter coupled to the circuit to a value based on a value indicated by the second synchronization signal.

15. A method comprising:

sending a first synchronization signal from a master circuit to a second circuit;

setting a word counter coupled to the second circuit; and

sending a second synchronization signal from the second circuit to the master circuit or a third circuit;

wherein setting the word counter further comprises obtaining a value related to an upper bound of a round-trip latency between the master circuit and the second circuit.

16. The method of claim 15 wherein the first synchronization signal indicates a value of a word counter coupled to the master circuit.

17. The method of claim 15 wherein the second synchronization signal comprises a value from a word counter coupled to the second circuit.

18. The method of claim 15 wherein the first synchronization signal comprises a value from a word counter coupled to the master circuit.

19. The method of claim 15 wherein sending of the first synchronization signal occurs in response to one or both a system reset and a power-on procedure.

20. The method of claim 15 wherein each circuit that receives the first synchronization signal sets a word counter coupled to the circuit to a value based on an adjustment of a value indicated by the first synchronization signal and an upper bound of a round-trip latency between two of the plurality of circuits.

21. The method of claim 20 wherein the upper bound of the round trip latency is related to a deterministic and a nondeterministic delay.

22. A Fibre Channel (FC) fabric comprising:

a plurality of FC switches coupled together,

wherein at least one of the FC switches includes: a plurality of circuits coupled together by asynchronous links, wherein the plurality of circuits includes a master circuit, and wherein the master circuit is configured to send a first synchronization signal to one or more of the plurality of circuits, and wherein each circuit that receives the first synchronization signal is configured to responsively send a second synchronization signal to one or more of the plurality of circuits; and

wherein each one of the plurality of circuits that receives the first synchronization signal sets a word counter coupled to the circuit to a value based on an adjustment of a value indicated by the first synchronization signal and an upper bound of a round-trip latency between two of the plurality of circuits.

23. The fabric of claim 22 wherein one of the plurality of circuits is configured to transmit and receive packets to and from external sources.

24. The fabric of claim 22 wherein one of the plurality of circuits is configured to manipulate data stored in another one of the plurality of circuits.

25. The fabric of claim 22 wherein one or more of the plurality of circuits is configured to store packet portions.

26. The fabric of claim 22 wherein the first synchronization signal indicates a value of a word counter coupled to the master circuit.

27. The fabric of claim 22 wherein the second synchronization signal comprises a value from a word counter coupled to one of the plurality of circuits.

28. The fabric of claim 27 wherein the first synchronization signal indicates a value of a word counter coupled to the master circuit.

29. The fabric of claim 22 wherein the first synchronization signal is sent in response to one or both of a system reset and a power-on procedure.

30. The fabric of claim 22 wherein the first synchronization signal comprises a value from a word counter coupled to the master circuit.

31. The fabric of claim 22 wherein the upper bound of the round trip latency is related to a deterministic and a nondeterministic delay.

32. The fabric of claim 22 wherein each one of the plurality of circuits that receives the second synchronization signal is configured to adjust delays of one or more first-in-first-out (FIFO) data structures that are coupled to the circuit that received the second synchronization signal.

33. The fabric of claim 32 wherein each one of the plurality of circuits that receives the second synchronization signal is configured to responsively send a third synchronization signal to one or more of the plurality of circuits, wherein each one of the plurality of circuits that receives the third synchronization signal adjusts the delays of one or more FIFO data structures that are coupled to the circuit that received the third synchronization signal.

34. The device of claim 22 wherein each one of the plurality of circuits, except the master circuit, that receives the second synchronization signal sets a word counter coupled to the circuit to a value based on a value indicated by the second synchronization signal.

35. The fabric of claim 22 wherein the second synchronization signal is sent in response to a hot-plug insertion of a circuit.

36. A network comprising:

at least two nodes; and

a Fibre Channel (FC) fabric coupling the nodes,

wherein the fabric comprises a plurality of FC switches coupled together, at least one of the FC switches includes: a plurality of circuits coupled together by asynchronous links, wherein the plurality of circuits includes a master circuit, and wherein the master circuit is configured to send a first synchronization signal to one or more of the plurality of circuits, and wherein each circuit that receives the first synchronization signal is configured to responsively send a second synchronization signal to one or more of the plurality of circuits; and

wherein each one of the plurality of circuits that receives the first synchronization signal sets a word counter coupled to the circuit to a value based on an adjustment of a value indicated by the first synchronization signal and an upper bound of a round-trip latency between two of the plurality of circuits.

37. The network of claim 36 wherein one of the plurality of circuits is configured to transmit and receive packets to and from external sources.

38. The network of claim 36 wherein one of the plurality of circuits is configured to manipulate data stored in another one of the plurality of circuits.

39. The network of claim 36 wherein one or more of the plurality of circuits is configured to store packet portions.

40. The network of claim 36 wherein the first synchronization signal indicates a value of a word counter coupled to the master circuit.

41. The network of claim 36 wherein the second synchronization signal comprises a value from a word counter coupled to one of the plurality of circuits.

42. The network of claim 41 wherein the first synchronization signal indicates a value of a word counter coupled to the master circuit.

43. The network of claim 36 wherein the first synchronization signal is sent in response to one or both of a system reset and a power-on procedure.

44. The network of claim 36 wherein the first synchronization signal comprises a value from a word counter coupled to the master circuit.

45. The network of claim 36 wherein the upper bound of the round trip latency is related to a deterministic and a nondeterministic delay.

46. The network of claim 36 wherein each one of the plurality of circuits that receives the second synchronization signal is configured to adjust delays of one or more first-in-first-out (FIFO) data structures that are coupled to the circuit that received the second synchronization signal.

47. The network of claim 46 wherein each one of the plurality of circuits that receives the second synchronization signal is configured to responsively send a third synchronization signal to one or more of the plurality of circuits, wherein each one of the plurality of circuits that receives the third synchronization signal adjusts the delays of one or more first-in-first-out (FIFO) data structures that are coupled to the circuit that received the third synchronization signal.

48. The device of claim 36 wherein each circuit, except the master circuit, that receives the second synchronization signal sets a word counter coupled to the circuit to a value based on a value indicated by the second synchronization signal.

49. The network of claim 36 wherein the second synchronization signal is sent in response to a hot-plug insertion of a circuit.

50. A device that comprises:

a plurality of circuits coupled together by asynchronous links, wherein the plurality of circuits includes a master circuit,

wherein the master circuit is configured to send a first synchronization signal to one or more of the plurality of circuits,

wherein each circuit that receives the first synchronization signal is configured to responsively send a second synchronization signal to one or more of the plurality of circuits; and

wherein each one of the plurality of circuits that receives the second synchronization signal is configured to adjust delays of one or more first-in-first-out (FIFO) data structures that are coupled to the circuit that received the second synchronization signal.

51. A method comprising:

sending a first synchronization signal from a master circuit to a second circuit;

setting a word counter coupled to the second circuit; and

sending a second synchronization signal from the second circuit to the master circuit or a third circuit;

wherein each circuit that receives the first synchronization signal sets a word counter coupled to the circuit to a value based on an adjustment of a value indicated by the first synchronization signal and an upper bound of a round-trip latency between two of the plurality of circuits.

52. The method of claim 51 wherein the upper bound of the round trip latency is related to a deterministic and a nondeterministic delay.

53. A Fibre Channel (FC) fabric comprising:

a plurality of FC switches coupled together,

wherein at least one of the FC switches includes: a plurality of circuits coupled together by asynchronous links, wherein the plurality of circuits includes a master circuit, and wherein the master circuit is configured to send a first synchronization signal to one or more of the plurality of circuits, and wherein each circuit that receives the first synchronization signal is configured to responsively send a second synchronization signal to one or more of the plurality of circuits; and

wherein each one of the plurality of circuits that receives the second synchronization signal is configured to adjust delays of one or more first-in-first-out (FIFO) data structures that are coupled to the circuit that received the second synchronization signal.

54. A network comprising:

at least two nodes; and

a Fibre Channel (FC) fabric coupling the nodes,

wherein the fabric comprises a plurality of FC switches coupled together, at least one of the FC switches includes: a plurality of circuits coupled together by asynchronous links, wherein the plurality of circuits includes a master circuit, and wherein the master circuit is configured to send a first synchronization signal to one or more of the plurality of circuits, and wherein each circuit that receives the first synchronization signal is configured to responsively send a second synchronization signal to one or more of the plurality of circuits; and

wherein each one of the plurality of circuits that receives the second synchronization signal is configured to adjust delays of one or more first-in-first-out (FIFO) data structures that are coupled to the circuit that received the second synchronization signal.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; INRANGE TECHNOLOGIES CORPORATION; FOUNDRY NETWORKS, LLC
Reel/Frame 034792/0540 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →
SECURITY AGREEMENT Recorded Dec 22, 2008
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, INC.; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION
To: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT
Reel/Frame 022012/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2004
From: MARTIN, KREG A.; KREUZENSTEIN, RONALD K.; TERRY, JOHN M.
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 015149/0890 →
Continuity (1)
Related Publication 20050089012A1 · Apr 28, 2005