IP Library Granted Patent US 9,008,079
Granted Patent B2
US 9,008,079 · App. 13/705,340 · Granted Apr 14, 2015

System and method for high-performance, low-power data center interconnect fabric

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,008,079
App. No.
13/705,340
Granted
Apr 14, 2015
Kind
B2
Abstract

A system and method are provided that support a routing using a tree-like or graph topology that supports multiple links per node, where each link is designated as an Up, Down, or Lateral link, or both, within the topology. The system may use a segmented MAC architecture which may have a method of re-purposing MAC IP addresses for inside MACs and outside MACs, and leveraging what would normally be the physical signaling for the MAC to feed into the switch.

Claims (52)

1. A system on a chip (SoC) configured for providing server functionality to one or more computing systems, comprising:

a plurality of processing cores each capable of being transitioned between a plurality of power states;

an interrupt controller coupled to each one of the processing cores; and

at least one auxiliary processor coupled to each one of the processing cores through the interrupt controller, wherein the interrupt controller is configured to receive an interrupt directed to a first one of the processing cores that is in an inactive state that inhibits processing of interrupts, wherein the interrupt controller is configured to provide the interrupt to the at least one auxiliary processor, and wherein, in response to receipt of the interrupt, the at least one auxiliary processor is configured to cause at least one of the processing cores to transition to an active state that enables processing of the interrupt;

wherein the interrupt comprises a communication request, and wherein the at least one auxiliary processor is configured to send a response message to a node from which the communication request was received, and wherein the at least one auxiliary processor is further configured to keep the communication request pending in a switching fabric until the communication request is provided to one of the processing cores.

2. The system on a chip of claim 1 , further comprising:

a communication media access control (MAC) structure coupled to at least one of the processing cores, wherein the communication MAC structure includes a central processing unit (CPU)-side MAC mirroring a fabric-side communication MAC.

3. The system on a chip of claim 1 , wherein the at least one auxiliary processor is configured to cause the communication request for the first one of the processing cores to be held in the switching fabric while the first one of the processing cores is in the inactive state, and wherein the at least one auxiliary processor is further configured to provide the communication request to the first one of the processing cores in response to a transition of the first one of the processing cores to the active state.

4. The system on a chip of claim 2 , wherein:

the at least one auxiliary processor is configured to cause the communication request to be held in the switching fabric in response to a determination by the at least one auxiliary processor that the first one of the processing cores is in the inactive state;

the at least one auxiliary processor is configured to assess the processing cores to determine a second one of the processing cores that is in the active state; and

the at least one auxiliary processor is configured to cause the communication request to be delivered to the second one of the processing cores such that the second one of the processing cores can perform a task initiated by the communication request, wherein delivery of the communication request to the second one of the processing cores is based on the determination that the second one of the processing cores is in the active state.

5. The system on a chip of claim 1 , wherein:

the at least one auxiliary processor is configured to enable each one of the processing cores to be selectively transitioned between the active state and the inactive state; and

the at least one auxiliary processor is configured to cause the communication request to be provided to the first one of the processing cores in response to a transition of the first one of the processing cores from the inactive state to the active state.

6. The system on a chip of claim 5 , further comprising a communication media access control (MAC) structure coupled to at least one of the processing cores, wherein the communication MAC structure includes a central processing unit (CPU)-side MAC mirroring a fabric-side communication MAC.

7. The system on a chip of claim 6 , further comprising:

one or more flash memory controllers coupled to at least one of the processing cores, wherein the one or more flash memory controllers are configured to enable one or more flash memory devices to be locally connected to and accessible by at least one of the processing cores.

8. The system on a chip of claim 1 , further comprising:

one or more flash memory controllers coupled to at least one of the processing cores, wherein the one or more flash memory controllers are configured to enable one or more flash memory devices to be locally connected to and accessible by at least one of the processing cores.

9. The system on a chip of claim 8 , wherein:

the at least one auxiliary processor is configured to cause the communication request to be held in the switching fabric in response to a determination by the at least one auxiliary processor that the first one of the processing cores is in the inactive state;

the at least one auxiliary processor is configured to assess the processing cores to determine a second one of the processing cores that is currently in the active state; and

the at least one auxiliary processor is configured to cause the communication request to be delivered to the second one of the processing cores.

10. The system on a chip of claim 9 wherein:

the at least one auxiliary processor is configured to assess the second one of the processing cores to determine an available processing power capacity prior to a delivery of the communication request to the second one of the processing cores; and

the at least one auxiliary processor is configured to cause the communication request to be delivered to the second one of the processing cores in response to a determination that the second one of the processing cores has sufficient processing power available to perform a task initiated by the communication request.

11. A system on a chip, comprising:

a plurality of processing cores each capable of being transitioned between a plurality of power states;

an interrupt controller coupled to each one of the processing cores;

one or more external ports configured to allow communication of information between the processing cores and one or more computing systems;

a switching fabric coupled to at least one of the processing cores and to the one or more external ports; and

at least one auxiliary processor coupled to the switching fabric and to each one of the processing cores, wherein the at least one auxiliary processor is coupled to each one of the processing cores through the interrupt controller, wherein the interrupt controller is configured to provide an interrupt to the at least one auxiliary processor, and wherein, in response to receipt of the interrupt by the at least one auxiliary, the at least one auxiliary processor is configured to cause at least one of the processing cores to transition from an inactive state that inhibits processing of the interrupt to an active state that enables processing of the interrupt;

wherein the interrupt comprises a communication request, and wherein the at least one auxiliary processor is configured to send a response message to a node from which the communication request was received, and wherein the at least on auxiliary processor is further configured to keep the communication request pending in the switching fabric until the communication request is provided to one of the processing cores.

12. The system on a chip of claim 11 , wherein:

the at least one auxiliary processor is configured to enable each one of the processing cores to be selectively transitioned between the active state and the inactive state;

the at least one auxiliary processor is configured to receive the communication request for a first one of the processing cores while the first one of the processing cores is in the inactive state; and

the at least one auxiliary processor is configured to cause the communication request to be provided to the first one of the processing cores in response to a transition of the first one of the processing cores from the inactive state to the active state.

13. The system on a chip of claim 11 , further comprising:

a communication media access control (MAC) structure coupled to the at least one of the processing cores, wherein the communication MAC structure includes a central processing unit (CPU)-side MAC mirroring a fabric-side communication MAC.

14. The system on a chip of claim 11 , wherein:

the communication request is directed to a first one of the processing cores, and wherein the at least one auxiliary processor is configured to cause the communication request to be held in the switching fabric in response to a determination by the at least one auxiliary processor that the first one of the processing cores is in the inactive state;

the at least one auxiliary processor is configured to assess the processing cores to determine a second one of the processing cores that is currently in the active state; and

the at least one auxiliary processor is configured to cause the communication request to be delivered to the second one of the processing cores such that the second one of the processing cores can perform a task initiated by the communication request.

15. The system on a chip of claim 13 , wherein:

the at least one auxiliary processor is configured to enable each one of the processing cores to be selectively transitioned between the active state and the inactive state;

the communication request is directed to a first one of the processing cores, and wherein the at least one auxiliary processor is configured to receive the communication request while the first one of the processing cores is in the inactive state; and

the at least one auxiliary processor is configured to cause the communication request to be provided to the first one of the processing cores in response to a transition of the first one of the processing cores from the inactive state to the active state.

16. The system on a chip of claim 13 , wherein:

the communication request is directed to a first one of the processing cores, and wherein the at least one auxiliary processor is configured to cause the communication request to be held in the switching fabric based on a determination by the at least one auxiliary processor that the first one of the processing cores is in the inactive state;

the at least one auxiliary processor is configured to assess the processing cores to determine a second one of the processing cores that is in the active state; and

the at least one auxiliary processor is configured to cause the communication request to be delivered to the second one of the processing cores such that the second one of the processing cores can perform a task initiated by the communication request.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPL. NO. 13/708,340 PREVIOUSLY RECORDED AT REEL: 030292 FRAME: 0207. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Mar 3, 2015
From: CALXEDA, INC.
To: SILICON VALLEY BANK
Reel/Frame 035121/0172 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2014
From: SILICON VALLEY BANK
To: III HOLDINGS 2, LLC
Reel/Frame 033551/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2014
From: CALXEDA, INC.
To: SILICON VALLEY BANK
Reel/Frame 033281/0855 →
RELEASE OF SECURITY INTEREST Recorded Jul 8, 2014
From: SILICON VALLEY BANK
To: CALXEDA, INC.
Reel/Frame 033281/0887 →
SECURITY AGREEMENT Recorded Apr 24, 2013
From: CALXEDA, INC.
To: SILICON VALLEY BANK
Reel/Frame 030292/0207 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2013
From: DAVIS, MARK BRADLEY; BORLAND, DAVID JAMES; EVANS, BARRY ROSS
To: CALXEDA, INC.
Reel/Frame 029749/0888 →