Hypervisor Memory Namespace Access Mode Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory namespaces, such as NVDIMM, cannot be accessed in different memory or storage modes without losing data, limiting flexibility and efficiency in virtualized information handling systems.

Innovation Solution

A hypervisor-configured interface maintains a data structure for mapping namespaces to multiple access modes, allowing processors to access namespaces in various modes, including RAW, BLOCK, SECTOR, and DAX, through the use of a Non-Volatile Dual-Inline Memory Module (NVDIMM) Firmware Interface Table (NFIT) and associated metadata entries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a namespace is created with a specific access mode in existing systems, then the namespace can be accessed in that mode, but changing the mode of access results in non-retrieval of data storage

Engineering Contradiction:
Improveaccess mode flexibilityVSAvoiddata retrieval reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary data structure (mapping table) that sits between the namespace and access modes. This mapping table stores associations between namespaces and multiple access modes, allowing the system to translate between different access modes without directly accessing the underlying namespace, thereby preventing data loss during mode transitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation by maintaining multiple access mode parameters (RAW, BLOCK, SECTOR, DAX) for each namespace in the mapping data structure. This allows the system to switch between different access mode parameters for the same namespace without losing the underlying data, enabling flexible parameter changes while maintaining data integrity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If multiple operating systems run on a single information handling system through virtualization, then hardware resource utilization increases, but memory access flexibility is limited

Engineering Contradiction:
Improvehardware resource utilizationVSAvoidmemory access flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal mapping data structure that serves multiple virtual machines and operating systems simultaneously. This data structure maintains namespace-to-access-mode mappings that are accessible to multiple OSes through the virtualized environment, providing multi-functionality and enabling different OSes to access the same memory namespaces in different modes without conflict.

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

3Adaptability or versatility

If a single NVDIMM namespace is accessed in different memory or storage modes, then adaptability improves, but data loss occurs

Engineering Contradiction:
Improveaccess mode varietyVSAvoiddata loss
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent performs preliminary action by pre-establishing the mapping data structure that contains all possible namespace-to-access-mode associations before actual access occurs. This preliminary setup ensures that when mode switching is needed, the system can immediately retrieve the appropriate mapping information without performing operations that would cause data loss, thus preventing substance loss while maintaining adaptability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10782994B2Systems and methods for adaptive access of memory namespaces
Publication Date: 2020.09.22 DELL PROD LP
  • US10782994B2 patent drawing
  • US10782994B2 patent drawing
  • US10782994B2 patent drawing

AI summary

In accordance with embodiments of the present disclosure, an information handling system may include a memory subsystem and a processor subsystem communicatively coupled to the memory subsystem and configured to execute a hypervisor, wherein the hypervisor is configured to host a plurality of virtual machines and host an interface to the memory subsystem, wherein the interface is configured to maintain a data structure for mapping at least one namespace instantiated within the memory subsystem to a plurality of access modes for accessing the at least one namespace from the processor subsystem.