CPC G06F 3/0659 (2013.01) [G06F 3/061 (2013.01); G06F 3/0664 (2013.01); G06F 3/0679 (2013.01); G06F 2212/7203 (2013.01)] | 19 Claims |
1. A multiple function storage device, comprising:
an enclosure;
a storage device associated with the enclosure, including:
a connector to receive a first message using a first protocol, the first message originating at a host;
a physical function (PF) and a virtual function (VF) exposed by the storage device via the connector;
storage for data relating to the first message; and
a controller to manage writing a write data to the storage and reading a read data from the storage; and
a bridging device associated with the enclosure, including:
a first Non-Volatile Memory Express (NVMe) over Fabrics (NVMeoF) submission/completion queue pair for the host, the first NVMeoF submission/completion queue pair using the first protocol;
a second NVMeoF submission/completion queue pair for the host, the second NVMeoF submission/completion queue pair using the first protocol;
a first NVMe submission/completion queue pair for the PF, the first NVMe submission/completion queue pair using a second protocol;
a second NVMe submission/completion queue pair for the VF, the second NVMe submission/completion queue pair using the second protocol;
an embedded network interface controller (eNIC) to receive a second message using the second protocol from the host, the second message received using the first NVMe submission/completion queue pair or the second NVMe submission/completion queue pair;
a write buffer to store the write data to be written to the storage device by the host;
a read buffer to store the read data to be read from the storage device for the host;
a bridge circuit to translate the second message using the second protocol into the first message using the first protocol; and
a root port to identify the storage device and to transmit the first message to the VF using the first NVMeoF submission/completion queue pair or the second NVMe submission/completion queue pair,
wherein the bridging device is configured to map the host to the VF.
|