Descriptor Management for Priority Data Transfer Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network interface controllers transmit and receive data in a first-come, first-served manner, which can lead to lower priority data being restricted from transmission, resulting in suboptimal quality of service in computer systems.
Innovation Solution
Implementing data transfer queues with priority levels in shared memory, where higher priority data is transferred before lower priority data, and employing a fairness algorithm to ensure that higher priority traffic does not completely block lower priority data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is transferred in first-come, first-served manner, then device complexity is reduced, but quality of service deteriorates due to inability to prioritize important data
Solution Approach 1:
The data transfer system is segmented into multiple priority levels (e.g., high priority and low priority queues). Each priority level has its own separate queue structure, allowing the system to handle different types of data traffic differently. This segmentation enables quality of service differentiation without requiring complete redesign of the entire data transfer mechanism.
Solution Approach 2:
The system changes the parameter of data transfer by introducing priority levels and using different transfer modes (interrupt-driven for high priority, DMA for low priority). This parameter change allows the system to improve quality of service for important data while maintaining overall system functionality.
2Reliability
If higher priority data is transferred first, then quality of service is improved, but lower priority data transmission may be completely blocked
Solution Approach 1:
The system uses feedback mechanisms where the host processor monitors the state of data queues and adjusts transfer operations accordingly. When low priority queues accumulate data, the system can switch to DMA mode for those queues, ensuring that lower priority data is not completely blocked while still maintaining quality of service for high priority data.
Solution Approach 2:
The data transfer mode is made dynamic rather than static. The system can switch between interrupt-driven and DMA transfer modes depending on the priority and state of data in different queues. This dynamic adaptation allows the system to balance quality of service requirements with overall data transmission productivity.
3Ease of operation
If interrupt-driven transfer is used for all data, then ease of operation is maintained, but productivity decreases due to processor overhead
Solution Approach 1:
Different data transfer methods are applied to different priority levels of data. High priority data uses interrupt-driven transfer for immediate attention and ease of control, while low priority data uses DMA transfer for improved efficiency and reduced processor overhead. This local differentiation optimizes both ease of operation and productivity for different data types.
Data Source
AI summary
Methods and network interface systems are provided for transferring data between a host and a network using a shared memory, in which separate data transfer queues are employed for transfer of data of different priorities. For receive data, the network interface scrutinizes the data and provides a corresponding entry in a receive data transfer queue of a particular priority according to the data. For transmit data, the network interface transmits data corresponding to entries in lower priority queues when all higher priority data has been transmitted or when a certain number of higher priority data frames have been transferred while a lower priority frame is waiting to be sent.


