NIC Virtual Switch DMA Packet Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Network Attached Storage systems, the existing virtual switch implementation in the host operating system leads to performance degradation due to unnecessary packet processing and copying, especially during packet flooding, as physical NICs are configured in promiscuous mode, resulting in high processor cycles and cache occupancy.

Innovation Solution

A virtual switch integrated into the Network Interface Card (NIC) performs direct memory access (DMA) operations, allowing packets to be directly copied to dedicated virtual machine memory based on MAC address, enabling selective receive mode and reducing unnecessary packet forwarding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If physical NICs are configured in promiscuous mode to support multiple virtual machines, then the device can receive packets for all supported MAC addresses, but performance degrades due to unnecessary packet processing and high processor cycle consumption

Engineering Contradiction:
Improveability to support multiple virtual machinesVSAvoidnetwork processing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the packet processing function by integrating a virtual switch directly into the NIC hardware. This allows the NIC to be divided into distinct processing paths: one for filtering packets based on MAC addresses and another for forwarding packets to the appropriate virtual machine. By segmenting the processing logic at the hardware level, the system can handle multiple virtual machines efficiently without requiring the host processor to process every packet.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The integrated virtual switch acts as an intermediary between the NIC and the virtual machines. Instead of the host processor directly handling all packet processing for multiple virtual machines, the virtual switch mediates by filtering and forwarding packets at the hardware level. This intermediary component relieves the processor from unnecessary packet processing while maintaining the ability to support multiple virtual machines.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If packets are copied from common buffer to reserved memory for each virtual machine, then packets can be delivered to the correct destination, but the copying process is time consuming and increases processor cache occupancy

Engineering Contradiction:
Improvepacket delivery accuracyVSAvoidpacket copying time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the packet copying function from the host processor and implements it directly in the NIC hardware through the integrated virtual switch. The virtual switch maintains separate buffer pools for different virtual machines and performs direct memory access to copy packets from the common buffer to the appropriate virtual machine's reserved memory without involving the host processor. This extraction of the copying function to hardware level eliminates the time penalty and cache occupancy issues.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the software-based packet copying mechanism (which required processor intervention and caused cache occupancy) with a hardware-based direct memory access system. The integrated virtual switch uses DMA controllers to perform packet copying directly between memory buffers without processor involvement, substituting the mechanical software execution with a more efficient hardware operation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If all packets are received and processed by the host processor, then comprehensive packet handling is achieved, but processor cycles and cache occupancy increase significantly

Engineering Contradiction:
Improvecomprehensive packet handlingVSAvoidprocessor cycle consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent introduces dynamic packet handling capabilities at the hardware level through the integrated virtual switch. The switch can dynamically filter packets based on MAC addresses, dynamically forward packets to appropriate virtual machine buffers, and dynamically manage buffer allocations. This dynamic processing at the hardware level eliminates the need for the host processor to handle every packet, significantly reducing processor cycle consumption while maintaining comprehensive packet handling capabilities.

Inventive Principle:
Principle #15Dynamics

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This solution improves network performance by reducing unnecessary packet processing and copying operations, enhancing efficiency and reducing processor load by configuring NICs in selective receive mode and performing direct memory access to dedicated virtual machine buffers.

Implementation Method 1

a virtual switch integrated into the Network Interface Card (NIC) performs direct memory access (DMA) operations, allowing packets to be directly copied to dedicated virtual machine memory

Methodology Applied
Scientific EffectDirect Memory Access (DMA):

Data Source

PatentUS8990799B1Direct memory access through virtual switch in device driver
Publication Date: 2015.03.24 EMC IP HLDG CO LLC
  • US8990799B1 patent drawing
  • US8990799B1 patent drawing
  • US8990799B1 patent drawing

AI summary

A virtual switch implemented in a NIC routes packets to a specific virtual machine of a group of supported virtual machines based on a unique MAC address assigned to that virtual machine. Packets which are addressed to the broadcast or a multicast address may be copied to all virtual machines associated with the virtual switch or may be passed to the NIC device driver so that it may be copied by software. The NIC operates in a selective mode whereby packets that are not addressed to a supported virtual machine are rejected or discarded. Further, the virtual switch routes the packets to the virtual machines by performing a DMA copy operation to dedicated memory associated with the virtual machine to which the packet is addressed. The NIC may also include dedicated memory for each supported MAC address in order to facilitate operation.