Patent ID: 9223734
Filing Date: 2015-12-29
Classification: G06F

Abstract:
1. A method of sharing of a function of a device with a plurality of hosts through a PCIe switch, the method comprising: presenting a function on a device to a first host of a plurality of hosts and a second host of the plurality of hosts through the switch; capturing read and write on the function's register set within the first host and within the second host, thereby enabling a management system of the switch to create a shadow copy of first host register sets and second host register sets; enabling creation of sets of shadow queues on the management system, wherein a first set of shadow queues is a first set of registers for read and write operations between the function and the first host and wherein a second set of shadow queues is a second set of registers for read and write operations between the function and the second host, said sets of shadow queues reflecting command and response queues in the first and second hosts; assigning, by the management system, for the function a first address for the first host and a second address for the second host, wherein the first address has a first prefix associated with the first host and the second address has a second prefix associated with the second host; intercepting a PCIe transaction from the function of the device for one of the first and second hosts; and translating a prefixed address to route the PCIe transaction to the appropriate host and to use the first set of shadow queues of the first set of registers to direct read and write operations from the first host to the function and use the second set of shadow queues of the second set of registers to direct read and write operations from the second host to the function based on the PCIe transaction.