Using machine executing on a nic to access a third party storage not supported by a nic or host
US-2022206962-A1 · Jun 30, 2022 · US
US11853234B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11853234-B2 |
| Application number | US-202217568813-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 5, 2022 |
| Priority date | Jan 5, 2022 |
| Publication date | Dec 26, 2023 |
| Grant date | Dec 26, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A host can include a programmable network interface card (NIC) or “Smart NIC” which accesses host-local drives hidden from a host processor. One configuration can include a switch with a one logical partition including the NIC as a root complex (RC) and the local drives as end points (EPs), and with another logical partition including the host processor as an RC and the NIC as an EP. A second configuration can include the NIC and switch directly connected to the host processor with an access control component (ACC) configured on switch ports connected to the local drives. A third configuration can include the NIC and local drives directly connected to the host processor with the ACC configured on host processor ports connected to the local drives. The NIC can use a multi-layer driver to communicate with the ACC and local drives hidden behind the ACC.
Opening claim text (preview).
What is claimed is: 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. 2. The computer-implemented method of claim 1 , wherein the I/O command is serviced by the first local physical storage device. 3. The computer-implemented method of claim 1 , wherein the I/O command reads data from or writes data to the target address, wherein the target address is a logical address on a block device configured on the first local physical storage device of the host system. 4. The computer-implemented method of claim 1 , wherein the NIC, as the second RC of the second partition, enumerates the one or more local physical storage devices of the host system as endpoints of the second partition during discovery processing and uses the one or more local physical storage devices of the host system for storage capacity for storing data of one or more applications executing on one or more processors of the NIC, wherein the one or more applications include the application and wherein the one or more processors includes the processor. 5. The computer-implemented method of claim 4 , wherein the one more applications executing on one or more processors of the NIC include any of: a database application and a video streaming application. 6. The computer-implemented method of claim 1 , wherein the host processor, as the first RC of the first partition, enumerates the NIC as an endpoint during discovery processing. 7. The computer-implemented method of claim 1 , wherein the NIC is connected to a network, wherein one or more data storage systems are connected to the network and expose network storage over the network to the host system, wherein the host system is connected to the network through the switch and the NIC, and wherein the host system accesses the network storage of the one or more data storage systems through the network using the switch and the NIC connected to the network. 8. The computer-implemented method of claim 1 , wherein the one or more local physical storage devices of the host system are not directly exposed to the host processor and are not directly accessible to the host processor, and wherein the one or more local physical storage devices of the host system are directly exposed to the NIC and are directly accessible to the NIC. 9. A host system comprising: a host processor; a NIC connected directly to the host processor; a switch connected directly to the host processor; one or more local physical storage devices of the host system directly connected to one or more ports of the switch; wherein an access control component (ACC) is configured on the one or more ports of the switch directly connected to the one or more local physical storage devices of the host system; wherein a partition is configured that includes the host processor as an RC, the NIC as an endpoint, and the one or more ports of the switch, which are configured as the ACC and which are directly connected to the one or more local physical storage devices, as an endpoint; and wherein the NIC is configured with a processor that executes an application which issues commands to the ACC using a multi-layer driver, and wherein the commands include an I/O command directed to a target address mapped to a physical storage location on a first of the one or more local physical storage devices. 10. The host system of claim 9 , wherein the I/O command is serviced by the first local physical storage device, wherein the I/O command reads data from or writes data to the target address, wherein the target address is a logical address on a block device configured on the first local physical storage device of the host system, and wherein the I/O command is sent over a first connection between the NIC to the host CPU, over a second connection between the host CPU and the switch, and over a third connection between the switch and the first local physical storage device, wherein the third connection is between a first of the ports of the switch configured as a port of the ACC and another port of the first physical storage device. 11. The host system of claim 9 , wherein the host processor, as the RC of the partition, performs discovery processing that enumerates the NIC as an endpoint and that enumerates the one or more ports of the switch, which are configured as the ACC and which are directly connected to the one or more local physical storage devices, as an endpoint. 12. The host system of claim 9 , wherein the NIC is connected to a network, wherein one or more data storage systems are connected to the network and expose network storage over the network to the host system, wherein the host system is connected to the network through the switch and the NIC, and wherein the host system accesses the network storage of the one or more data storage systems through the network using the switch and the NIC connected to the network. 13. The host system of claim 9 , wherein the ACC is a non-transparent bridge (NTB). 14. The host system of claim 13 , wherein the multi-layer driver includes a standard kernel driver, an intermediate layer and an interface layer that communicates with the NTB and the one or more local physical storage devices of the host system. 15. The host system of claim 14 , wherein at runtime, the I/O command invokes a first routine in the standard kernel driver, the first routine invokes a second routine of the intermediate layer, and the second routine invokes a third routine of the interface layer. 16. A host system comprising: a host processor; a NIC connected directly to the host processor; one or more local physical storage devices of the host system directly connected to one or more ports of the host processor; wherein an ACC is configured on the one or more ports of the host processor directly connected to the one or more local physical storage devices of the host system; wherein a partition is configured that includes the
where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52) · CPC title
Configuration setting · CPC title
using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title
for initial configuration or provisioning, e.g. plug-and-play · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.