Virtual Memory Engine Namespace for Block Mode Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional virtual memory systems fail to provide block mode access to virtual memory namespaces across interleaved physical NVDIMM addresses, limiting their ability to manage memory namespaces effectively across multiple devices and handle dynamic changes such as 'hot removal' of physical memory devices during runtime.
Innovation Solution
A virtual memory engine is implemented that maps a continuous virtual memory address range to non-continuous physical memory device address ranges across multiple physical devices, defines virtual memory namespaces as continuous subsets of this range, and provides read and write block mode access through a global unique identifier, enabling efficient management and adjustment of virtual memory across multiple physical devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If virtual memory is mapped to interleaved physical NVDIMM address ranges across multiple devices, then memory capacity and distribution are improved, but block mode access capability is lost
Solution Approach 1:
The patent introduces a virtual memory namespace as an intermediary layer between the application and the interleaved physical NVDIMM address ranges. This namespace provides a continuous address space that masks the underlying non-continuous physical memory distribution, enabling block mode access while utilizing multiple physical devices. The virtual memory engine translates block access requests to the appropriate physical devices based on the namespace mapping.
2Adaptability or versatility
If physical memory devices are dynamically added or removed during runtime, then system adaptability is improved, but memory namespace consistency is compromised
Solution Approach 1:
The patent implements a dynamic virtual memory namespace that can be reconfigured at runtime based on the availability of physical NVDIMM devices. When devices are added or removed, the virtual memory engine dynamically adjusts the namespace mapping to maintain continuity and consistency. This allows the system to adapt to changing hardware configurations while preserving the illusion of a stable, continuous address space for applications.
3Ease of manufacture
If conventional virtual memory systems are used, then implementation simplicity is maintained, but block mode access across multiple devices is not supported
Solution Approach 1:
The patent extends conventional virtual memory functionality to provide multi-device block mode access while maintaining implementation simplicity. The virtual memory namespace is designed to work with standard memory access patterns, and the virtual memory engine handles the complexity of mapping to interleaved physical addresses. This allows existing applications to benefit from multi-device configurations without requiring changes to their access patterns or increasing implementation complexity significantly.
Data Source
AI summary
A virtual memory system includes a virtual memory engine coupled to a plurality of physical memory devices and a virtual memory database. During an initialization process, virtual memory engine uses a first unique global identifier to create virtual memory in the virtual memory database by mapping a continuous virtual memory address range to non-continuous physical memory device address ranges that are provided across the plurality of physical memory devices. During the initialization process, or subsequently during runtime, the virtual memory engine uses a second global unique identifier to define a virtual memory device namespace in the virtual memory that includes a first continuous subset of the continuous virtual member address range. During runtime, the virtual memory engine then provides read and write block mode access to the plurality of physical memory devices via the virtual memory device namespace defined in the virtual memory database.


