Descriptor Ring I/O Communication Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualized computer systems face inefficiencies in input/output (IO) communication due to overhead from repeated or skipped descriptors in descriptor rings, leading to increased transfer bandwidth overhead, especially in PCIe data transfers.

Innovation Solution

Implementing a single descriptor ring for driver-to-virtual device and virtual device-to-driver communications, where the virtual device writes one executed descriptor for each I/O request, maintaining synchronization without repeating executed descriptors, allowing for continuous memory allocation and reduced small writes on communication buses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If repeated or skipped descriptors are used in descriptor rings for I/O communication, then synchronization between driver and virtual device can be maintained, but transfer bandwidth overhead increases

Engineering Contradiction:
Improvesynchronization between driver and virtual deviceVSAvoidtransfer bandwidth overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts and eliminates the redundant descriptor transmissions from the communication protocol. By removing the requirement to repeat or skip descriptors, the system eliminates the associated bandwidth overhead while maintaining synchronization through a more efficient mechanism using a single descriptor ring with position tracking.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the fundamental parameter of descriptor transmission from multiple repetitions or skips to a single transmission per I/O request. This parameter change transforms the communication efficiency by reducing the number of transmissions while using position indices to maintain synchronization reliability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If multiple small writes are performed on communication bus for descriptor transmission, then descriptor synchronization can be achieved, but transfer efficiency decreases

Engineering Contradiction:
Improvedescriptor synchronizationVSAvoidtransfer efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple small descriptor writes into a single continuous memory allocation and transmission. By combining descriptor transmissions into one operation per I/O request, the system achieves both synchronization reliability and improved transfer efficiency, eliminating the fragmentation caused by multiple small writes.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements continuous memory allocation for descriptor rings, eliminating gaps and interruptions in the transmission process. This continuity ensures that descriptors are transmitted efficiently without the breaks and re-synchronization overhead associated with multiple discrete write operations.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If descriptor rings are used for driver-to-virtual device communication, then I/O operations can be coordinated, but transfer overhead increases due to repeated descriptors

Engineering Contradiction:
ImproveI/O operation coordinationVSAvoidtransfer overhead
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent uses a single descriptor ring structure that is shared and referenced by both driver and virtual device, eliminating the need to create and transmit multiple copies of descriptors. Each party maintains a reference to the same descriptor memory location, reducing copying overhead while maintaining coordination capability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11741029B2System to use descriptor rings for I/O communication
Publication Date: 2023.08.29 RED HAT LLC
  • US11741029B2 patent drawing
  • US11741029B2 patent drawing
  • US11741029B2 patent drawing

AI summary

A system and method for input/output communication is disclosed. In one embodiment, a device identifies a queue including a plurality of input/output (I/O) descriptors, each of the plurality of I/O descriptors representing one of: an active descriptor associated with an active I/O request or an executed descriptor that is associated with an executed I/O request. The device retrieves, from a first index in the queue, one or more active descriptors associated with an I/O request. The device executes the I/O request. The device writes a first executed descriptor to a second index in the queue, where the first executed descriptor indicates the I/O request has been executed.