NIC Backup Buffer Descriptors for VM Memory Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, memory overcommitment and virtual machine migration lead to translation errors due to reallocation of unpinned memory, causing communication failures between network interface cards and virtual machines.

Innovation Solution

Implement error handling mechanisms in network interface cards to retrieve backup buffer descriptors from hypervisor queues when translation errors occur, ensuring data packets are stored or transmitted using reallocated memory regions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If unpinned memory is allocated to virtual machines to enable overcommitment, then memory utilization increases, but translation errors occur during memory reallocation causing communication failures

Engineering Contradiction:
Improvememory utilizationVSAvoidcommunication reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The NIC proactively establishes backup buffer descriptors in advance before translation errors occur. These backup descriptors contain alternative memory addresses that can be used immediately when the original pinned memory is reallocated, preventing communication failures without requiring reactive error handling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system prepares compensatory measures by creating backup buffer descriptors that cushion against potential translation errors. When memory reallocation causes a translation error, the backup descriptor serves as a pre-prepared safety net, allowing the NIC to continue operations without interruption or data loss.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If pinned memory is assigned to virtual machines to ensure stable memory addresses, then translation errors are prevented, but memory overcommitment and live migration become impossible

Engineering Contradiction:
Improvememory address stabilityVSAvoidmemory flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The memory management system is segmented into primary buffer descriptors (using unpinned memory for flexibility) and backup buffer descriptors (providing stability). This segmentation allows the system to use unpinned memory for overcommitment while maintaining reliable communication paths through the backup descriptors, resolving the conflict between flexibility and stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Backup buffer descriptors act as intermediaries between the NIC and the virtual machine's unpinned memory. When the original memory addresses become invalid due to reallocation, the backup descriptors serve as intermediary references that redirect communication to valid memory locations, maintaining stability without requiring pinned memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If backup buffer descriptors are implemented in NIC to handle translation errors, then communication reliability is maintained, but device complexity increases

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidNIC complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The backup buffer descriptors are simplified copies of the primary descriptors, containing only the essential memory address information needed for error recovery. This copying approach maintains reliability without duplicating the full complexity of the descriptor management system, as the backups use a standardized format that requires minimal processing.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3928205B1I/O to unpinned memory supporting memory overcommit and live migration of virtual machines
Publication Date: 2025.08.27 GOOGLE LLC
  • EP3928205B1 patent drawingFigure 1
  • EP3928205B1 patent drawingFigure 2
  • EP3928205B1 patent drawingFigure 3

AI summary

Systems and methods of error handling in a network interface card (NIC) (140) are provided. For a data packet destined for a local virtual machine (VM) (150a, 150b, 150c), if the NIC cannot determine a valid translation memory address for a virtual memory address in a buffer descriptor from a receive queue of the VM, the NIC can retrieve a backup buffer descriptor from a hypervisor queue (130), and store the packet in a host memory (115) location indicated by an address in the backup buffer descriptor. For a transmission request from a local VM, if the NIC cannot determine a valid translated address for a virtual memory address in the packet descriptor from a transmit queue of the VM, the NIC can send a message to a hypervisor backup queue, and generate and transmit a data packet based on data in a memory page reallocated by the hypervisor.