Hypervisor Memory Mapper for Local-Remote Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for managing data storage in computing devices often require increasing the number of resources, such as processors and memory, which can be inefficient and wasteful, especially when data needs to be stored across multiple devices.

Innovation Solution

A method and system utilizing a hypervisor to manage memory devices through a memory mapper, which identifies and utilizes both local and remote memory segments for data storage, allowing virtual machines to efficiently store data by mapping virtual memory to physical memory devices, both locally and remotely.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in local memory segments only, then data access speed is improved, but resource utilization deteriorates

Engineering Contradiction:
Improvedata access speedVSAvoidresource utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments memory storage into local and remote memory segments, allowing different portions of data to be stored in different locations. The memory mapper divides the address space to identify which segments are local and which are remote, enabling selective storage that optimizes both access speed for frequently used data and resource utilization for less accessed data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of remote memory access beyond traditional local memory boundaries. By implementing a memory mapper that can translate addresses to both local and remote memory segments, the system extends the memory addressable space across multiple devices, allowing data to be stored remotely while maintaining efficient access through address translation.

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

2Quantity of substance

If resources are increased to store data across multiple devices, then storage capacity is improved, but system complexity deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a memory mapper as an intermediary component that manages the complexity of multi-device memory storage. The memory mapper translates virtual addresses to physical addresses across local and remote memory segments, abstracting away the complexity of distributed memory management from the hypervisor and guest operating systems. This intermediary layer enables increased storage capacity while maintaining manageable system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If traditional resource allocation is used, then ease of operation is maintained, but resource efficiency deteriorates

Engineering Contradiction:
Improveease of operationVSAvoidresource efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements self-service memory management where the memory mapper automatically identifies whether memory segments are local or remote and handles the appropriate storage operations without requiring manual configuration or complex hypervisor intervention. The system autonomously optimizes data placement across local and remote segments based on address mapping, maintaining ease of operation while significantly improving resource efficiency through intelligent memory utilization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11334496B2Method and system for providing processor-addressable persistent memory to guest operating systems in a storage system
Publication Date: 2022.05.17 EMC IP HLDG CO LLC
  • US11334496B2 patent drawing
  • US11334496B2 patent drawing
  • US11334496B2 patent drawing

AI summary

A method for managing data includes obtaining, by a hypervisor on a host computing device, a write request for storing first data, and in response to the write request: identifying a first set of memory segments associated with the first data using a memory mapper, wherein the first set of memory segments is associated with a memory device, making a first determination that the memory device is local to the host computing device, and in response to the first determination: storing the first data in the first set of memory segments.