Consolidating MMIO Write Transactions for Network Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with multiple virtual machines, conventional methods for handling network packet transactions over a PCI-based bus result in increased traffic, leading to reduced packet processing speed due to the need for separate Memory-Mapped Input/Output (MMIO) write transactions for each data element.

Innovation Solution

The solution involves consolidating multiple data elements related to packet processing into a single MMIO write transaction, reducing bus traffic by combining the completion queue head pointer, interrupt delay value, and interrupt unmasking value into a single write transaction, thereby optimizing the communication between the host processor and the network device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If separate MMIO write transactions are used for each data element, then data transmission accuracy is maintained, but bus traffic increases and packet processing speed decreases

Engineering Contradiction:
Improvepacket processing speedVSAvoidbus traffic
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent combines multiple data elements (completion queue head pointer, interrupt delay value, interrupt unmasking value) that were previously transmitted in separate MMIO write transactions into a single consolidated write transaction. This merging reduces the number of transactions on the PCI-based bus, thereby reducing bus traffic while maintaining data transmission accuracy through proper formatting and sequencing of the combined data elements.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If multiple separate write transactions are performed, then individual data element integrity is ensured, but the number of bus operations increases

Engineering Contradiction:
Improveresource utilizationVSAvoidnumber of write transactions
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple write transactions into a single consolidated transaction that carries multiple data elements. This reduces the complexity of the transaction mechanism by decreasing the number of separate bus operations required, while maintaining data integrity through structured formatting of the combined data elements within the single transaction framework.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10754797B1Consolidating write transactions for a network device
Publication Date: 2020.08.25 AMAZON TECH INC
  • US10754797B1 patent drawing
  • US10754797B1 patent drawing
  • US10754797B1 patent drawing

AI summary

A network device stores information associated with a packet in a queue. The network device sends an interrupt to a host to notify the host of completion of processing the packet. A Memory-Mapped Input/Output (MMIO) write transaction is received that includes a pointer update associated with the queue and an interrupt unmasking value. The pointer is updated and the interrupt is unmasked based on receiving the single MMIO write transaction.