Adaptive Buffer Descriptor Scheme for Short Packet Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network interface controllers (NICs) experience transmission latency due to delays when fetching packet data from host devices, which can be exacerbated by the need for multiple DMA fetches, especially when handling packets of varying lengths.
Innovation Solution
The implementation of adaptive buffer descriptor schemes, where short packets embed packet data directly into buffer descriptors and long packets use host memory addresses, allowing for optimized DMA operations and reduced latency by structuring buffer descriptors based on packet length.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the NIC uses a uniform buffer descriptor scheme for all packet lengths, then the device complexity is reduced, but transmission latency increases due to unnecessary DMA fetches for short packets
Solution Approach 1:
The patent implements a dynamic buffer descriptor scheme where the NIC adapts its operation mode based on packet length. For short packets, the NIC operates in embedded data mode where packet data is included directly in the buffer descriptor, eliminating DMA fetches. For long packets, it switches to address-only mode using traditional DMA operations. This dynamic adaptation resolves the contradiction by optimizing for speed when packets are short while maintaining manageable complexity through a clear threshold-based decision rule.
Solution Approach 2:
The patent changes the buffer descriptor structure parameter based on packet length. When packets are below a threshold length, the buffer descriptor includes embedded packet data rather than just memory addresses. This parameter change (from address-only to embedded data) reduces transmission latency for short packets by eliminating the need for separate DMA fetch operations, while the threshold-based approach keeps the system complexity manageable.
2Productivity
If the NIC embeds packet data directly into buffer descriptors for short packets, then the number of DMA fetches is reduced, but the buffer descriptor size increases
Solution Approach 1:
The patent segments the buffer descriptor into different formats based on packet length. For short packets, the buffer descriptor is segmented to include both control information and embedded packet data. For long packets, it uses a separate format with only control information and memory addresses. This segmentation allows the system to optimize for throughput when packets are short (by embedding data) while avoiding the size penalty for long packets, thus resolving the contradiction between productivity and buffer descriptor size.
Solution Approach 2:
The buffer descriptor dynamically changes its structure based on the packet length being transmitted. When a short packet is detected, the descriptor transitions to an embedded data format, increasing its effective size but reducing the number of DMA operations needed. This dynamic restructuring improves transmission throughput for short packets while the threshold-based approach ensures this size increase only occurs when beneficial, balancing productivity gains against memory usage.
3Length of stationary object
If the NIC uses multiple DMA fetches for long packets stored in host memory, then the buffer descriptor size remains small, but transmission latency increases
Solution Approach 1:
The patent implements a dynamic threshold mechanism that determines whether to use embedded data mode or address-only mode based on packet length. For long packets exceeding the threshold, the system uses address-only buffer descriptors with DMA fetches, accepting the time penalty but keeping buffer descriptor size small. For short packets below the threshold, it switches to embedded mode to eliminate DMA fetches. This dynamic approach resolves the contradiction by accepting increased latency only when necessary for long packets while optimizing for short packets.
Data Source
AI summary
Disclosed are various embodiments that provide short packet transmission by a network interface controller (NIC). The NIC may receive a signal indicating that a set of buffer descriptors is available for fetching from a host device. The NIC is configured to fetch the set of buffer descriptors from the host device, the set of buffer descriptors comprising a control flag, the control flag indicating whether the set of buffer descriptors comprises immediate packet data; and the NIC may transmit the immediate packet data as a transmit packet if the control flag indicates that the set of buffer descriptors comprises immediate packet data.


