Network Interface Controller Direct Memory Access Switching Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network interface controllers (NICs) face limitations in achieving high-throughput, low-latency data transfers due to reliance on expansion buses like PCI Express, which can become bottlenecks in high-performance computing environments.
Innovation Solution
A network interface device that directly connects to system memory via DMA, incorporating a memory controller with switching logic to alternate between DMA and pass-through configurations, enabling direct data transfer between the host complex and system memory, thereby bypassing the expansion bus limitations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the NIC uses an expansion bus (PCI Express) to interface with system memory, then the device can be integrated into the host computer architecture, but the data transfer bandwidth is limited and latency increases
Solution Approach 1:
The patent extracts the memory interface function from the expansion bus path and creates a dedicated direct memory interface within the NIC. This separates the data transfer path from the traditional bus-based path, allowing high-speed direct memory access without being constrained by PCI Express bandwidth limitations.
Solution Approach 2:
The patent introduces a memory controller as an intermediary component that manages the direct interface between the NIC and system memory. This memory controller acts as a mediator that enables DMA operations and coordinates memory access, eliminating the need for complex bus transactions while maintaining system stability.
2Loss of time
If the NIC performs data transfer through multiple bus transactions, then data can be transferred between network and memory, but the transfer time increases and latency worsens
Solution Approach 1:
The patent segments the data transfer function into distinct modes: DMA mode for high-speed bulk data transfer and pass-through mode for direct memory access. This segmentation allows the system to optimize for speed during DMA operations while maintaining compatibility with existing memory architecture through pass-through operations.
Solution Approach 2:
The patent implements dynamic switching between different operational modes (DMA and pass-through) based on the specific data transfer requirements. The memory controller dynamically configures the interface to optimize performance for each operation type, adapting the data transfer mechanism to match the workload characteristics.
3Productivity
If the NIC uses direct memory access for data transfer, then bandwidth increases and latency decreases, but the device complexity and control requirements increase
Solution Approach 1:
The patent designs the memory controller to perform multiple functions: managing DMA data transfer operations, handling pass-through memory access, maintaining cache coherency, and coordinating with the host complex. This multi-functionality consolidates what would otherwise require separate components into a single integrated controller, managing complexity through functional integration.
Solution Approach 2:
The patent implements feedback mechanisms where the memory controller monitors memory access patterns and adjusts its operations accordingly. The controller receives status information from memory operations and modifies its behavior to optimize performance, handle errors, and maintain system consistency, thereby managing complexity through intelligent control loops.
Data Source
AI summary
A network interface device for a host computer includes a network interface, configured to transmit and receive data packets to and from a network. Packet processing logic transfers data to and from the data packets transmitted and received via the network interface by direct memory access (DMA) from and to a system memory of the host computer. A memory controller includes a first memory interface configured to be connected to the system memory and a second memory interface, configured to be connected to a host complex of the host computer. Switching logic alternately couples the first memory interface to the packet processing logic in a DMA configuration and to the second memory interface in a pass-through configuration.

