IP Library › Granted Patent US 11,200,192
Granted Patent B2
US 11,200,192 · App. 14/622,661 · Granted Dec 14, 2021

Multi-mode system on a chip

Inventors: David James Borland (Austin, TX); Mark Bradley Davis (Austin, TX)
Assignee: Amazon Technologies. lac.
G06F13/4221G06F13/385
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,200,192
App. No.
14/622,661
Granted
Dec 14, 2021
Kind
B2
Abstract

A system on a chip (SoC) can be configured to operate in one of a plurality of modes. In a first mode, the SoC can be operated as a network compute subsystem to provide networking services only. In a second mode, the SoC can be operated as a server compute subsystem to provide compute services only. In a third mode, the SoC can be operated as a network compute subsystem and the server compute subsystem to provide both networking and compute services concurrently.

Claims (45)

1. A system on a chip (SoC) comprising:

a management compute subsystem comprising a processor, memory and a network interface, wherein the network interface is configured to connect to a remote entity over a network and wherein the management compute subsystem is configured to execute instructions from the memory on the processor to operate the SoC in one of a plurality of modes;

a network compute subsystem comprising a first set of processing cores, caches, and memory controllers and configured to execute instructions for managing network traffic for a host system external to the SoC, the managing of the network traffic for the host system including monitoring and shaping of network traffic between the host system and a client computer, and the first set of processing cores, caches, and memory controllers forming a first set of resources that are pre-allocated to the network compute subsystem; and

a server compute subsystem comprising a second set of processing cores, caches, and memory controllers and configured to execute instructions for providing compute services to the client computer, the second set of processing cores, caches, and memory controllers forming a second set of resources that are separate from the first set of resources and pre-allocated to the server compute subsystem,

wherein

in a first mode, the SoC is configured by the management compute subsystem to operate the network compute subsystem,

in a second mode, the SoC is configured by the management compute subsystem to operate the server compute subsystem,

in a third mode, the SoC is configured by the management compute subsystem to operate the network compute subsystem and the server compute subsystem concurrently, with the network compute subsystem being configured to manage network traffic for the host system and manage network traffic for the server compute subsystem,

in the first mode, the management compute subsystem prevents the server compute subsystem from providing the compute services by deactivating or repurposing the second set of processing cores, caches, and memory controllers, and

in the second mode, the management compute subsystem prevents the network compute subsystem from managing the network traffic for the host system by deactivating or repurposing the first set of processing cores, caches, and memory controllers.

2. The SoC of claim 1 , wherein in the second mode the SoC is further configured to repurpose the network compute subsystem as a second server compute subsystem.

3. The SoC of claim 1 , the SoC further comprising reconfigurable processing and memory resources, wherein the SoC is further configured to assign at least a portion of the reconfigurable processing and memory resources to operate as resources for the server compute subsystem in the second mode or to operate as resources for the network compute subsystem in the first mode.

4. The SoC of claim 1 , wherein the network compute subsystem includes a first interface to communicate with the host system, a second interface to communicate with the server compute subsystem and a third interface to communicate with a network.

5. The SoC of claim 1 , wherein the first mode, the second mode, and the third mode are operational modes, and wherein the management compute subsystem determines which operational mode the SoC will use based on a hardware configuration, a software configuration, or a policy.

6. The SoC of claim 5 , wherein the determination of which operational mode the SoC will use is performed at power-up.

7. A system on a chip (SoC) configured to:

operate in one of a plurality of modes, wherein

in a first mode, the SoC is configured to operate a network compute subsystem for managing network traffic by executing instructions on a first set of processing and memory resources, the managing including monitoring and shaping of traffic between a host system and a client computer, the host system being communicatively coupled to the SoC, and the first set of processing and memory resources being pre-allocated to the network compute subsystem,

in a second mode, the SoC is configured to operate a server compute subsystem for providing compute services to the client computer by executing instructions on a second set of processing and memory resources, the second set of processing and memory resources being pre-allocated to the server compute subsystem and separate from the first set of processing and memory resources, and

in a third mode, the SoC is configured to operate the network compute subsystem and the server compute subsystem concurrently, with the network compute subsystem being configured to manage network traffic for the server compute subsystem,

the SoC comprising a management compute subsystem, wherein the management compute subsystem is configured to configure the SoC in one of the plurality of modes by executing instructions on a processor, wherein in the first mode, the management compute subsystem prevents the server compute subsystem from providing the compute services by deactivating or repurposing the second set of processing and memory resources, and wherein in the second mode, the management compute subsystem prevents the network compute subsystem from managing the network traffic by deactivating or repurposing the first set of processing and memory resources.

8. The SoC of claim 7 , wherein in the first mode, the SoC is configured to operate the network compute subsystem on a Peripheral Component Interconnect Express (PCIe) device in the host system.

9. The SoC of claim 7 , wherein in the second mode, the SoC is configured to operate the server compute subsystem on a Peripheral Component Interconnect Express (PCIe) device in the host system.

10. The SoC of claim 7 , wherein in the second mode, the SoC is configured to operate as a general purpose processor in the host system.

11. The SoC of claim 7 , wherein in the second mode, the SoC is further configured to reconfigure the first set of processing and memory resources to operate as resources for the server compute subsystem.

12. The SoC of claim 7 , wherein the SoC is further configured to repurpose the network compute subsystem as a second server compute subsystem in the second mode.

13. The SoC of claim 7 , the SoC comprising reconfigurable processing and memory resources, wherein the SoC is further configured to assign at least a portion of the reconfigurable processing and memory resources to the network compute subsystem in the first mode.

14. The SoC of claim 7 , the SoC comprising reconfigurable processing and memory resources, wherein the SoC is further configured to assign at least a portion of the reconfigurable processing and memory resources to the server compute subsystem in the second mode.

15. The SoC of claim 7 , wherein in the third mode, the SoC is further configured to operate the server compute subsystem as a second host system and to operate the network compute subsystem to manage network traffic for the second host system.

16. The SoC of claim 7 , wherein

the first set of processing and memory resources includes a first processing core, a first cache, and a first memory controller, and

the second set of processing and memory resources includes a second processing core, a second cache, and a second memory controller.

17. A system comprising:

a plurality of System-on-Chips (SoCs), the plurality of SoCs comprising a first SoC and a second SoC, the second SoC communicatively coupled to the first SoC, wherein the first SoC is configured to operate in one of a plurality of modes, and wherein

in a first mode, the first SoC is configured to operate a first network compute subsystem by executing instructions on a first set of processing resources from a first set of memory resources, the first set of processing resources and the first set of memory resources being pre-allocated to the first network compute subsystem, wherein instructions executed on the first set of processing resources cause the first network compute subsystem to monitor and shape network traffic between a host system and a client computer, the host system being communicatively coupled to the first SoC,

in a second mode, the first SoC is configured to operate a first server compute subsystem by executing instructions on a second set of processing resources from a second set of memory resources, the second set of processing resources and the second set of memory resources being pre-allocated to the first server compute subsystem and separate from the first set of processing resources and the first set of memory resources, wherein the instructions executed on the second set of processing resources cause the first server compute subsystem to provide compute services to the client computer, and

in a third mode, the first SoC is configured to operate the first network compute subsystem and the first server compute subsystem concurrently, the first SoC comprising a first management compute subsystem, wherein the first management compute subsystem is configured to execute instructions on a third set of processing resources from a third set of memory resources to configure the first SoC in one of the plurality of modes,

in the first mode, the first management compute subsystem prevents the first server compute subsystem from providing compute services by deactivating or repurposing the second set of processing resources and the second set of memory resources, and

in the second mode, the first management compute subsystem prevents the first network compute subsystem from managing network traffic by deactivating or repurposing the first set of processing resources and the first set of memory resources.

18. The system of claim 17 , wherein the second SoC is also configured to operate in one of the plurality of modes, and wherein

in the first mode, the second SoC is configured to operate a second network compute subsystem, the second network compute subsystem comprising a fourth set of processing and memory resources,

in the second mode, the second SoC is configured to operate a second server compute subsystem, the second server compute subsystem comprising a fifth set of processing and memory resources, and

in the third mode, the second SoC is configured to operate the second network compute subsystem and the second server compute subsystem concurrently.

19. The system of claim 18 , wherein the first SoC is configured in the first mode and the second SoC is configured in the second mode with the second network compute subsystem repurposed as a third server compute subsystem, and wherein the first SoC is further configured to reconfigure the second set of processing and memory resources to operate as resources for the first network compute subsystem.

20. The system of claim 17 , wherein the second SoC is a general purpose SoC.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2015
From: BORLAND, DAVID JAMES; DAVIS, MARK BRADLEY
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 035495/0780 →
Continuity (1)
Related Publication 20160239454A1 · Aug 18, 2016