US 11,853,234 B2
Techniques for providing access of host-local storage to a programmable network interface component while preventing direct host CPU access
Boris Glimcher, Tel Aviv-Jaffa (IL); Aric Hadav, Tel Aviv (IL); and Amitai Alkalay, Kadima (IL)
Assigned to Dell Products L.P., Hopkinton, MA (US)
Filed by Dell Products L.P., Hopkinton, MA (US)
Filed on Jan. 5, 2022, as Appl. No. 17/568,813.
Prior Publication US 2023/0214333 A1, Jul. 6, 2023
Int. Cl. G06F 13/10 (2006.01); H04L 41/0803 (2022.01)
CPC G06F 13/102 (2013.01) [H04L 41/0803 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method of configuring a host system comprising:
configuring a switch to have a first logical partition, wherein a host processor and a network interface card (NIC) are connected to the switch, wherein the host processor is configured as a first root complex (RC) of the first logical partition, wherein the NIC is configured as a first endpoint of the first logical partition, wherein a first portion of lanes between a first port of the switch and a second port of the NIC are included in the first logical partition, wherein the first portion of lanes are included in a first connection between the switch and the NIC, and wherein the second port of the NIC is configured as a port of the first endpoint;
configuring the switch to have a second logical partition, wherein one or more local physical storage devices of the host system are each connected to the switch and are each configured as an endpoint of the second logical partition, wherein the NIC is configured as a second RC of the second logical partition, wherein a second portion of lanes between a third port of the switch and a fourth port of the NIC are included in the second logical partition, wherein the second portion of lanes are included in a second connection between the switch and the NIC, and wherein the fourth port of the NIC is configured as a port of the second RC; and
executing an application on a processor of the NIC, wherein said executing includes the application issuing an I/O command with a target address mapped to a physical location on a first of the one or more local physical storage devices of the host system, wherein the I/O command is sent over the second connection from the NIC to the switch and over a third connection from the switch to the first physical storage device.