UNIVERSAL PCI EXPRESS PORT
First Claim
1. A method for managing transactions between a Peripheral Component Interconnect Express (PCIe) host connected to a first interconnect fabric and a PCIe endpoint connected to a second interconnect fabric, wherein the first interconnect fabric are remotely and communicably connected to each other over a communication network, the method comprising:
- receiving a communication at the first interconnect fabric from the second interconnect fabric indicating that the PCIe endpoints is discovered on a PCIe bus of the second interconnect fabric;
connecting the PCIe endpoint to a root complex interface of the second interconnect fabric;
providing a virtual network interface card (vNIC) having a local address, wherein the local address is used to address the PCIe endpoint at the root complex interface of the second interconnect fabric;
associating the PCIe host with the PCIe endpoint in a virtual topology, wherein the virtual topology comprises a virtual address for the PCIe endpoint; and
providing a mapping for translating between the virtual address and the local address.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are disclosed herein for providing a universal PCIe port. In one example, the same port is configured to accept a PCIe connection as a host or an endpoint symmetrically. Downstream transactions towards an endpoint can be intercepted and a virtual address in the downstream transaction can be translated to a local address using a mapping. The downstream transactions can be forwarded to the endpoint using the local address instead of the virtual address. For endpoints that share the same local address with multiple hosts, a reverse lookup may be provided to determine which one of the hosts a local address corresponds when forwarding upstream transactions. PCIe over Ethernet is provided as one embodiment for allowing remote PCIe endpoints to be associated with a local host transparently.
73 Citations
20 Claims
-
1. A method for managing transactions between a Peripheral Component Interconnect Express (PCIe) host connected to a first interconnect fabric and a PCIe endpoint connected to a second interconnect fabric, wherein the first interconnect fabric are remotely and communicably connected to each other over a communication network, the method comprising:
-
receiving a communication at the first interconnect fabric from the second interconnect fabric indicating that the PCIe endpoints is discovered on a PCIe bus of the second interconnect fabric; connecting the PCIe endpoint to a root complex interface of the second interconnect fabric; providing a virtual network interface card (vNIC) having a local address, wherein the local address is used to address the PCIe endpoint at the root complex interface of the second interconnect fabric; associating the PCIe host with the PCIe endpoint in a virtual topology, wherein the virtual topology comprises a virtual address for the PCIe endpoint; and providing a mapping for translating between the virtual address and the local address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more computer-readable non-transitory media that includes code for execution and when executed by a processor operable to perform operations for managing transactions between a Peripheral Component Interconnect Express (PCIe) host connected to a first interconnect fabric and a PCIe endpoint connected to a second interconnect fabric, wherein the first interconnect fabric are remotely and communicably connected to each other over a communication network, the operations comprising:
-
receiving a communication at the first interconnect fabric from the second interconnect fabric indicating that the PCIe endpoints is discovered on a PCIe bus of the second interconnect fabric; connecting the PCIe endpoint to a root complex interface of the second interconnect fabric; providing a virtual network interface card (vNIC) having a local address, wherein the local address is used to address the PCIe endpoint at the root complex interface of the second interconnect fabric; associating the PCIe host with the PCIe endpoint in a virtual topology, wherein the virtual topology comprises a virtual address for the PCIe endpoint; and providing a mapping between the virtual address and the local address. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A first interconnect fabric of a server chassis, the first interconnect fabric having one or more processors for managing transactions between a Peripheral Component Interconnect Express (PCIe) host connected to a first interconnect fabric and a PCIe endpoint connected to a second interconnect fabric, wherein the first interconnect fabric are remotely and communicably connected to each other over a communication network, the first interconnect fabric configured to:
-
receive a communication from the second interconnect fabric indicating that the PCIe endpoints is discovered on a PCIe bus of the second interconnect fabric; connect the PCIe endpoint to a root complex interface of the second interconnect fabric; provide a virtual network interface card (vNIC) having a local address, wherein the local address is used to address the PCIe endpoint at the root complex interface of the second interconnect fabric; associate the PCIe host with the PCIe endpoint in a virtual topology, wherein the virtual topology comprises a virtual address for the PCIe endpoint; and provide a mapping between the virtual address and the local address. - View Dependent Claims (17, 18, 19, 20)
-
Specification