Software-Assisted NIC Packet Routing for Protocol Flexibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network interface controllers (NICs) implemented entirely in hardware have limited configurability, leading to outdated functionality due to inflexible handling of updated network interface protocols and complex operations, which affects performance and compatibility.

Innovation Solution

Integrate a network interface controller (NIC) with both hardware logic circuits for frequent and simple operations and software-assisted processing for less frequent or complex operations, allowing for higher performance and forward compatibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If NIC is implemented entirely in hardware logic circuits, then processing speed and performance are improved, but adaptability to new protocols and configurability deteriorate

Engineering Contradiction:
Improvedata transfer performanceVSAvoidprotocol update adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The NIC functionality is segmented into two distinct parts: hardware logic circuits for commonly used operations and software for less frequent or complex operations. This segmentation allows the hardware to handle routine data transfers at high speed while the software provides flexibility for protocol updates and complex packet types, resolving the contradiction between performance and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects between hardware and software processing based on the packet type. Frequently occurring packet types are handled by fixed hardware logic for optimal performance, while less frequent or new packet types are routed to software for flexible handling. This dynamic approach allows the system to maintain high performance for common operations while adapting to new protocols when needed.

Inventive Principle:
Principle #15Dynamics

2Reliability

If NIC uses fixed hardware logic circuits, then operational reliability is improved, but flexibility for complex operations deteriorates

Engineering Contradiction:
Improveoperation reliabilityVSAvoidoperation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The NIC functionality is segmented into two distinct parts: hardware logic circuits for commonly used operations and software for less frequent or complex operations. This segmentation allows the hardware to handle routine data transfers at high speed while the software provides flexibility for protocol updates and complex packet types, resolving the contradiction between performance and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A packet type identification mechanism acts as an intermediary between incoming data packets and the processing units. This intermediary classifies packets and routes them to appropriate handlers - hardware for simple operations and software for complex ones - ensuring both reliable hardware processing and flexible software handling when needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If NIC handles all operations in hardware, then processing speed is improved, but device complexity increases

Engineering Contradiction:
Improvepacket processing speedVSAvoidhardware circuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The NIC functionality is segmented into two distinct parts: hardware logic circuits for commonly used operations and software for less frequent or complex operations. This segmentation allows the hardware to handle routine data transfers at high speed while the software provides flexibility for protocol updates and complex packet types, resolving the contradiction between performance and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Complex and less frequently used operations are extracted from the hardware logic and delegated to software processing. This extraction reduces hardware circuit complexity while maintaining high processing speeds for common operations that remain in hardware, eliminating the need for the hardware to be overly complex to handle all possible operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12561262B2Integrated circuits including network interface controllers for data transfers assisted by software and related methods
Publication Date: 2026.02.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12561262B2 patent drawing
  • US12561262B2 patent drawing
  • US12561262B2 patent drawing

AI summary

A network interface controller (NIC) circuit may control data transfers between a network interface and a memory interface circuit. The NIC circuit receives data packets on the network interface and determines whether a packet type of a data packet corresponds to one of a first plurality of operations or a second plurality of operations. For data packets that correspond to one of the first plurality of operations, the NIC circuit controls the memory interface circuit according to the packet type and for data packets that correspond to one of the second plurality of operations, the NIC sends a notification to a processor circuit in the IC to execute software instructions to control the memory interface circuit according to the packet type. The NIC circuit quickly processes data packets corresponding to the first plurality of operations without software involvement but relies on software assistance for the second plurality of operations.