DMA Module for Virtual Machine Control Block Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network and storage systems face challenges in efficiently managing and transferring control blocks between virtual machines sharing limited hardware resources, particularly in ensuring quality of service and optimizing resource allocation.

Innovation Solution

A system and method utilizing a DMA module that transfers control blocks between computing system memory and adapter memory, with dedicated memory locations for each virtual machine, and a quality of service entry to limit the number of control blocks transferred, ensuring efficient resource allocation and management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a shared hardware resource is presented to multiple virtual machines, then hardware resource utilization is improved, but control block transfer efficiency and quality of service deteriorate due to resource contention

Engineering Contradiction:
Improvehardware resource sharing capabilityVSAvoidcontrol block transfer efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The adapter memory is segmented into multiple queues, with each queue dedicated to a specific virtual machine. This segmentation allows independent control block transfer management for each VM, preventing interference between VMs while maintaining shared hardware resource access. The DMA module operates on these segmented queues to transfer control blocks efficiently without resource contention affecting transfer performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The DMA module serves as an intermediary between the computing system memory and adapter memory for control block transfers. It manages the transfer process by reading control blocks from computing system memory, writing them to appropriate adapter memory queues, and tracking transfer status. This intermediary function enables efficient resource allocation and maintains quality of service by controlling the transfer pace and priority.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If dedicated memory locations are allocated for each virtual machine, then quality of service and resource allocation control are improved, but memory management complexity increases

Engineering Contradiction:
Improvequality of service guaranteeVSAvoidmemory location management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Multiple virtual machine memory locations are merged into a single adapter memory structure organized as queues. Instead of managing separate physical memory regions for each VM, the system uses a unified memory space with queue-based organization. This merging simplifies memory management while maintaining dedicated access paths for each VM through the queue structure, reducing the complexity of tracking and allocating memory resources.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Each virtual machine is assigned a specific queue in the adapter memory, providing local quality of service guarantees. The DMA module maintains context information for each VM including its associated queue location and quality of service parameters. This approach provides dedicated memory access paths for each VM while using a unified memory management structure, balancing reliability with manageable complexity.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If quality of service entries are implemented to limit control block transfers, then resource allocation fairness is improved, but transfer speed and productivity deteriorate

Engineering Contradiction:
Improveresource allocation fairnessVSAvoidcontrol block transfer rate
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The DMA module implements periodic action by transferring control blocks in controlled cycles rather than continuously. Quality of service entries specify maximum transfer limits per period, and the DMA module respects these limits by pausing or throttling transfers when thresholds are approached. This periodic control ensures fair resource allocation across multiple VMs while maintaining high transfer rates during acceptable periods, balancing fairness with productivity.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8392629B1System and methods for using a DMA module for a plurality of virtual machines
Publication Date: 2013.03.05 MARVELL ASIA PTE LTD
  • US8392629B1 patent drawing
  • US8392629B1 patent drawing
  • US8392629B1 patent drawing

AI summary

A system comprising a plurality of virtual machines executed by a computing system; and an adapter; wherein the adapter includes a direct memory access (DMA) module for transferring control blocks to and from a computing system memory to an adapter memory, where the computing system memory has dedicated memory locations for each virtual machine to place the control blocks and the adapter memory has dedicated memory locations for storing the control blocks generated by each of the plurality of virtual machines.