Patent ID: 11922072
Assignee: H3 PLATFORM INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 12:
13. An apparatus comprising:
one or more PCIe interfaces configured to be electrically coupled to one or more single root input/output virtualization (SR-IOV) capable PCIe devices, wherein each SR-IOV capable PCIe device has at least one of (i) one or more namespaces, or (ii) one or more controller memory buffers, wherein each namespace represents an amount of storage space of the SR-IOV capable PCIe device, each controller memory buffer represents a memory space of the SR-IOV capable PCIe device, and the SR-IOV capable PCIe device provides one or more physical functions and a plurality of virtual functions that can access at least one of (i) one or more namespaces, or (ii) one or more partitions of one or more controller memory buffers; and
a PCIe switch configured to communicate with a plurality of host devices, wherein the PCIe switch is configured to assign one or more virtual functions to each host device, and enable the host devices to access at least one of (i) one or more namespaces, or (ii) one or more partitions of one or more controller memory buffers, through the assigned virtual functions;
wherein the SR-IOV capable PCIe device is configured to attach at least one of (i) one or more namespaces, or (ii) one or more partitions of one or more controller memory buffers to each virtual function, set at least one of (i) at least one namespace, or (ii) at least one partition of at least one controller memory buffer, to a shared state and allow multiple host devices to access at least one of (i) the shared namespace, or (ii) the shared partition of the controller memory buffer, using respective assigned virtual functions;
a management central processor unit (CPU); and
a memory device storing management software that when executed by the management CPU causes the management CPU to configure the PCIe switch and the SR-IOV capable PCIe devices to enable the host devices to access at least one of (i) the one or more namespaces, or (ii) the one or more controller memory buffers, using the virtual functions.