Bus Driver for Multi-Port Ethernet Adaptability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing NDIS driver is not compatible with multiple physical Ethernet ports, as it is designed to control a single port for a PCIe function, limiting the expression of multiple Ethernet ports and requiring additional configurations to support new communications or commands.

Innovation Solution

The use of a bus driver that provides access to multiple physical Ethernet ports as physical device objects, abstracting device initialization, resource allocation, and management, and utilizing IDPF drivers to communicate with the OS through virtual channel messages, enabling compatibility with multiple Ethernet ports and new capabilities such as virtual functions and networking services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single NDIS driver is used for a PCIe function, then the driver structure remains simple and compatible with existing interfaces, but it cannot support multiple physical Ethernet ports

Engineering Contradiction:
Improvesupport for multiple Ethernet portsVSAvoiddriver structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the driver into a bus driver layer and multiple NDIS driver instances. Each NDIS driver handles a specific Ethernet port independently, while the bus driver provides unified management. This segmentation allows multiple ports to be supported without requiring a complete redesign of the NDIS interface layer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bus driver acts as an intermediary between the PCIe device and the NDIS drivers. It provides a unified interface to the OS while managing multiple NDIS driver instances, thereby maintaining NDIS compatibility while enabling multi-port support without increasing NDIS complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If NDIS driver is updated to support new communications or commands, then new capabilities are enabled, but existing compatibility with single-port design is broken

Engineering Contradiction:
Improvenew communications or commands capabilityVSAvoidcompatibility with existing NDIS interface
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The bus driver provides a universal interface that works with both single-port and multi-port configurations. It maintains compatibility with existing NDIS single-port expectations while simultaneously enabling multi-port and future capability support through its abstracted management layer.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The driver architecture is made dynamic by allowing the bus driver to manage varying numbers of NDIS driver instances. The system can adapt from single-port to multi-port operation without changing the fundamental NDIS interface, enabling future-proof compatibility.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If multiple NDIS drivers are used for multiple Ethernet ports, then port expressibility is improved, but driver configuration and management becomes complex

Engineering Contradiction:
Improvenumber of expressible Ethernet portsVSAvoiddriver configuration and management
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent merges the management of multiple NDIS drivers into a single bus driver. The bus driver handles resource allocation, initialization, and coordination of multiple NDIS instances, thereby reducing the overall configuration and management burden despite supporting multiple ports.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240119020A1Driver to provide configurable accesses to a device
Publication Date: 2024.04.11 INTEL CORP
  • US20240119020A1 patent drawing
  • US20240119020A1 patent drawing
  • US20240119020A1 patent drawing

AI summary

Examples described herein relate to utilizing a bus driver to present a peripheral device comprising a single physical function to a host operating system (OS) as a plurality of peripheral devices, associating the plurality of presented peripheral devices with a corresponding plurality of physical Ethernet ports; and enabling the host OS to interact with the plurality of peripheral devices. In some examples, the number of the plurality of peripheral devices correlates to the number of physical Ethernet ports associated with the peripheral device.