PCI-express function proxy
First Claim
1. A PCI-Express (PCIe) function proxy subsystem for enabling a plurality of servers to access a plurality of functions residing in a plurality of endpoint devices comprising:
- a PCIe fabric comprising at least one PCIe switch operable to couple the plurality of endpoint devices with a plurality of proxy devices; and
a proxy configuration manager for configuring each one of the plurality of proxy devices;
wherein each one of the plurality of proxy devices includes a memory configuration space,wherein the proxy configuration manager copies a configuration space of a target endpoint device to the memory configuration space of an associated proxy device,wherein the associated proxy device is coupled to a controlling server for executing by proxy a specific function of the target endpoint device.
5 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are described for executing embedded functions in endpoint devices by proxy in a shared PCI Express subsystem. The shared subsystem comprises a plurality of proxy devices coupled to a PCIe fabric, wherein each one of the proxy devices is associated with an endpoint device and coupled to a controlling server through a PCIe link. An associated proxy device comprises a copy of the configuration space of the target endpoint device. Embedded functions of an endpoint device can be accessed by controlling servers through the associated proxy devices. Devices in the shared subsystem use PCI protocol to communicate. The duplication of the endpoint configuration space in the proxy device is administrated by a proxy configuration manager. The proxy device translates destination addresses in upstream and downstream transactions. A proxy interrupt conveyance mechanism relays interrupt messages from an endpoint device to the controlling server via the associated proxy device.
65 Citations
20 Claims
-
1. A PCI-Express (PCIe) function proxy subsystem for enabling a plurality of servers to access a plurality of functions residing in a plurality of endpoint devices comprising:
-
a PCIe fabric comprising at least one PCIe switch operable to couple the plurality of endpoint devices with a plurality of proxy devices; and a proxy configuration manager for configuring each one of the plurality of proxy devices; wherein each one of the plurality of proxy devices includes a memory configuration space, wherein the proxy configuration manager copies a configuration space of a target endpoint device to the memory configuration space of an associated proxy device, wherein the associated proxy device is coupled to a controlling server for executing by proxy a specific function of the target endpoint device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for distributing functions embedded in endpoint devices to a plurality of servers in a PCI-Express subsystem, the method comprising:
-
providing a plurality of proxy devices, each one of the plurality of proxy devices coupled to one of a plurality of servers; copying a PCI configuration space of a target endpoint device to a memory configuration space of an associated proxy device, the associated proxy device coupled to a controlling server via a PCIe link; and executing a specific function of the target endpoint device through the associated proxy device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification