Memory-Access-Multiplexing Controller for Virtual Machine Bandwidth Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core processor systems, existing technologies lack effective methods for fine-grained control over memory access resources, leading to performance degradation due to conflicts between processors, which affects the efficiency of virtual machines in virtualized computing environments.

Innovation Solution

A memory-access-multiplexing memory controller is introduced to manage memory accesses from multiple hardware threads and processors based on externally specified policies, ensuring rational and policy-driven sharing of memory resources among them.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory access resources are shared among multiple processors without fine-grained control, then system simplicity is maintained, but memory bandwidth contention increases and performance degrades

Engineering Contradiction:
Improvememory access performanceVSAvoidmemory control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller is segmented into multiple independent arbitration units, each handling specific memory access streams from different processors or virtual machines. This segmentation enables fine-grained control over memory bandwidth allocation without requiring a completely complex centralized control structure, as each unit can operate semi-independently with its own arbitration logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of control by adding virtualization-aware arbitration layers above the traditional processor-memory interface. This dimensional addition allows memory access requests to be tagged and routed based on virtual machine identifiers, enabling fine-grained resource allocation without fundamentally redesigning the entire memory subsystem architecture.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If memory access is allowed without control policies, then ease of operation is maintained, but memory bandwidth contention causes performance degradation

Engineering Contradiction:
Improvevirtual machine efficiencyVSAvoidmemory access management
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The memory controller implements self-service mechanisms where arbitration policies are automatically applied based on pre-configured weights and priorities for different virtual machines. The system autonomously manages memory bandwidth allocation without requiring manual intervention or complex external control, as the arbitration logic internally enforces resource allocation policies based on virtual machine needs.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms where the memory controller monitors actual memory bandwidth usage by different virtual machines and dynamically adjusts arbitration decisions. This feedback loop enables the system to respond to changing workloads in real-time, ensuring that virtual machines receive appropriate memory resources based on actual demand rather than static allocations.

Inventive Principle:
Principle #23Feedback

3Productivity

If fine-grained memory control is implemented, then memory bandwidth contention is reduced, but device complexity increases

Engineering Contradiction:
Improvememory resource allocation efficiencyVSAvoidcontroller architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller is designed with universal arbitration logic that can handle multiple types of memory access requests from different sources (processors, I/O devices, virtual machines) through a unified framework. This multi-functionality allows the same control structure to manage diverse memory access patterns without requiring separate specialized controllers for each access type, thereby reducing overall complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an intermediary arbitration layer between the memory interface and the memory controller that handles the complexity of fine-grained resource allocation. This intermediary component translates high-level virtual machine memory requests into detailed arbitration decisions, shielding the main memory controller from complex allocation logic and reducing its architectural complexity while still enabling fine-grained control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11010053B2Memory-access-resource management
Publication Date: 2021.05.18 VMWARE INC
  • US11010053B2 patent drawing
  • US11010053B2 patent drawing
  • US11010053B2 patent drawing

AI summary

The present application is directed to a memory-access-multiplexing memory controller that can multiplex memory accesses from multiple hardware threads, cores, and processors according to externally specified policies or parameters, including policies or parameters set by management layers within a virtualized computer system. A memory-access-multiplexing memory controller provides, at the physical-hardware level, a basis for ensuring rational and policy-driven sharing of the memory-access resource among multiple hardware threads, cores, and/or processors.