Virtual PCIe Memory Allocation for VMs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for managing memory in virtual machines rely on static allocation or require external tools, leading to inefficient resource utilization and lack of flexibility, as they cannot dynamically adjust memory allocation during the runtime of virtual machines.

Innovation Solution

A method and apparatus that enables dynamic memory allocation for virtual machines by using a virtual PCIe device to request memory from a host memory management module, allowing for self-contained memory management without external tools, through a virtual machine memory management module that communicates with a virtual machine manager and configures memory spaces according to user process requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If static memory allocation is used, then memory allocation is simple, but memory utilization efficiency deteriorates due to excessive pre-allocation

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The patent implements dynamic memory allocation by introducing a memory management module that allows virtual machines to request and allocate memory spaces on-demand during runtime. The host memory management module receives allocation requests from virtual machines and dynamically assigns physical memory spaces, transforming the static allocation model into a dynamic one that adapts to actual memory needs, thereby improving memory utilization efficiency while maintaining allocation simplicity through automated management.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If memory hot-plugging is used, then memory can be dynamically allocated, but system complexity deteriorates due to requirement of external management software

Engineering Contradiction:
Improvememory dynamic allocation capabilityVSAvoidsystem structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a self-contained memory management system where the memory management module embedded within the virtual machine can independently initiate memory allocation requests without requiring external management software. The host memory management module automatically processes these requests and allocates memory spaces, enabling the system to serve itself and eliminating the need for additional external tools, thus maintaining adaptability while reducing system complexity.

Inventive Principle:
Principle #25Self-service

3Loss of energy

If dynamic memory allocation is implemented, then memory utilization efficiency improves, but ease of operation deteriorates due to complex allocation management

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidmemory allocation operation simplicity
Core Design Contradiction:
Loss of energyVSEase of operation

Solution Approach 1:

The patent implements a feedback mechanism where the memory management module continuously monitors memory allocation requests from virtual machines and automatically adjusts memory space assignments. The host memory management module receives feedback from allocation requests, processes them according to available resources, and returns allocation results, creating a closed-loop system that maintains high memory utilization efficiency while keeping operations simple through automated decision-making and eliminating the need for manual intervention.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240176640A1Method and apparatus for managing memory
Publication Date: 2024.05.30 MONTAGE TECHNOLOGY CO LTD
  • US20240176640A1 patent drawing
  • US20240176640A1 patent drawing
  • US20240176640A1 patent drawing

AI summary

A method and apparatus for managing memory are provided. The method for managing memory includes: while a virtual machine is running, receiving, by a virtual machine memory management module, a memory allocation request sent by a user process in the virtual machine; sending, by the virtual machine memory management module according to the memory allocation request sent by the user process, the memory allocation request to a virtual PCIe device in a virtual machine manager to enable the virtual PCIe device to request memory from a host memory management module; and acquiring, by the virtual machine memory management module via the virtual PCIe device, a memory space allocated by the host memory management module and configuring the memory space to the user process. The method for managing memory can improve the efficiency of memory utilization.