Virtual Non-Volatile Memory Allocation for VMs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face challenges in efficiently allocating non-volatile memory to virtual machines, as they often rely on external devices that are slow, power-intensive, and limited in accessibility, restricting simultaneous access and increasing power consumption.
Innovation Solution
The allocation of virtual non-volatile memory within the data storage system's global memory, using non-contiguous blocks represented as contiguous virtual memory, eliminates the need for external devices, reducing power consumption and providing fast data access speeds comparable to the fastest memory technologies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If external devices are used for non-volatile memory storage, then data persistence is achieved, but power consumption increases and access speed decreases
Solution Approach 1:
The patent merges the non-volatile memory storage function with the existing global memory infrastructure of the storage system. By integrating NV memory blocks into the global memory that is already connected to the storage system's processing units, the system eliminates the need for separate external storage devices, thereby reducing power consumption while maintaining data persistence capability.
Solution Approach 2:
The global memory is designed to serve multiple functions: it provides volatile memory for active processing and non-volatile memory for data persistence. This multi-functional approach allows the same memory infrastructure to handle both temporary and permanent storage needs, eliminating the requirement for dedicated external storage devices and reducing overall power consumption.
2Reliability
If external devices are used for non-volatile memory storage, then data persistence is achieved, but data access speed decreases
Solution Approach 1:
By combining non-volatile memory blocks with the global memory that is already integrated into the storage system's processing architecture, the system achieves fast data access speeds comparable to volatile memory. The processing units can directly access NV memory blocks through the existing high-speed interconnects, eliminating the slow data transfer bottleneck associated with external storage devices.
3Reliability
If external devices are used for storage, then data persistence is provided, but simultaneous accessibility to multiple VMs is restricted
Solution Approach 1:
The global memory is segmented into multiple non-volatile memory blocks that can be independently allocated to different virtual machines. This segmentation allows multiple VMs to simultaneously access different NV memory blocks without interference, providing both data persistence and parallel accessibility to multiple virtual machines at the same time.
Solution Approach 2:
The patent introduces a virtualization layer that maps virtual memory addresses to physical NV memory blocks. This dimensional abstraction allows multiple VMs to access the same physical NV memory infrastructure simultaneously through virtual address spaces, enabling both persistence and concurrent accessibility without physical conflicts.
4Adaptability or versatility
If non-contiguous NV memory blocks are allocated, then flexibility in allocation is improved, but memory management complexity increases
Solution Approach 1:
The hypervisor acts as an intermediary between the VMs and the physical NV memory blocks. It manages the mapping between virtual memory addresses and non-contiguous physical blocks, handling the complexity of allocation and allocation flexibility. VMs interact with memory through a simplified virtual address space, while the hypervisor handles the complex non-contiguous block management in the background.
Data Source
AI summary
One or more aspects of the present disclosure relate to allocating virtual memory to one or more virtual machines (VMs). The one or more VMs can be established by a hypervisor of a storage device. The virtual memory can be allocated to the established one or more VMs. The virtual memory can correspond to non-volatile (NV) memory of a global memory of the storage device.


