NIC Kernel Bypass for iSCSI and NVMe/TCP Data Paths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional network protocol stacks implemented in the kernel of an operating system increase CPU utilization and I/O latency due to system calls, data copying, and TCP/IP processing required for iSCSI and NVMe/TCP data transmission.
Innovation Solution
Implementing iSCSI and NVMe/TCP protocol stacks in hardware of network adapters to bypass the kernel, allowing user space applications to directly interact with the network interface card (NIC) for data path traffic processing, reducing the need for system calls and data copying.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If network protocol stacks are implemented in the kernel of an operating system, then security and resource management are enhanced, but CPU utilization increases and I/O latency increases
Solution Approach 1:
The patent segments the network protocol stack into control plane (remaining in kernel) and data plane (offloaded to NIC hardware). This allows security and resource management functions to remain in the kernel while data transmission functions are hardware-accelerated, resolving the contradiction between reliability and productivity.
Solution Approach 2:
The patent introduces a hardware intermediary (NIC with integrated protocol stack) that mediates between the kernel and network traffic. The NIC handles data plane processing independently, reducing kernel involvement and CPU utilization while maintaining security through controlled interface access.
2Ease of operation
If system calls and TCP/IP processing are used for data transmission, then data can be transmitted over the network, but I/O latency and CPU utilization increase
Solution Approach 1:
The patent extracts TCP/IP processing functions from the software path and places them directly in NIC hardware. This eliminates the need for system calls and software-based TCP/IP processing, dramatically reducing I/O latency while maintaining data transmission capability.
Solution Approach 2:
The patent replaces the mechanical software processing system (system calls, kernel space transitions, software TCP/IP stack) with a hardware-based system in the NIC. This substitution eliminates the overhead of software execution and context switching, reducing I/O latency.
3Adaptability or versatility
If multiple system calls are used to transmit and receive data, then data communication can be established, but CPU utilization increases
Solution Approach 1:
The patent enables the NIC to serve itself by handling data plane processing independently through hardware-based protocol stacks. The NIC autonomously processes packets without requiring multiple system calls to the CPU, reducing CPU utilization while maintaining communication flexibility through programmable interfaces.
Data Source
AI summary
Techniques for host devices to offload iSCSI and NVMe/TCP data plane processing for data plane traffic to a NIC, and for the NIC to perform the data plane traffic processing in hardware. Traditionally, network protocol stacks have been implemented within the kernel of an operating system of a computing device. In light of this, iSCSI and NVMe/TCP user space applications running on host devices interact with a kernel of an operating system using system calls in order to send network traffic. However, the system calls, TCP/IP processing, and data copying required when communicating via the kernel increases CPU utilization as well as I/O latency. Techniques described herein include configuring the host device to enable kernel bypass for data path traffic for iSCSI and NVMe/TCP user space applications, and a NIC may include hardware configured to perform the iSCSI and NVMe/TCP processing for iSCSI and NVMe/TCP connections.


