Virtual Address Relocation in Persistent Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems using virtual memory, changes in physical address mappings across reboots or power failures can result in invalid virtual addresses, requiring relocation to maintain memory integrity, especially when pointers refer to old addresses.

Innovation Solution

A method to determine the offset between the old and new base addresses of a virtual address segment in persistent memory, allowing for the relocation of data structures and pointers to new valid locations using descriptor structures and machine-readable instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If virtual addresses are mapped to physical addresses using TLB for fast access, then access speed is improved, but memory integrity is compromised when physical address mappings change across reboots or power failures

Engineering Contradiction:
Improvememory access speedVSAvoidmemory address validity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent performs preliminary actions by detecting changes in base addresses of virtual address segments before they cause validity issues, and proactively relocating data structures and updating pointers to maintain address validity across reboots and power failures

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism that continuously monitors base address changes in virtual address segments, and triggers relocation operations when changes are detected, ensuring memory address validity is maintained while preserving fast access performance

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If base address of virtual address segment is changed to optimize memory allocation, then memory management flexibility is improved, but existing pointers become invalid requiring system-wide updates

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidpointer update complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the memory management problem by focusing updates only on affected data structures and pointers within specific virtual address segments, rather than requiring system-wide updates, thereby reducing complexity while maintaining allocation flexibility

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces manual or systematic pointer updating mechanisms with an automated relocation system that uses offset calculations to update pointers programmatically, reducing the complexity of memory management operations

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If data structures are relocated to new locations in persistent memory, then memory integrity across reboots is improved, but additional processing overhead is introduced

Engineering Contradiction:
Improvememory integrity across rebootVSAvoidrelocation processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs relocation operations as preliminary actions during allocation or when base address changes are detected, rather than waiting for failures to occur, reducing emergency processing time and ensuring integrity is maintained proactively

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service mechanisms where the system automatically detects base address changes and triggers relocation operations without external intervention, minimizing processing overhead by handling updates on-demand rather than through continuous monitoring

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10185651B2Relocating a virtual address in a persistent memory
Publication Date: 2019.01.22 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10185651B2 patent drawing
  • US10185651B2 patent drawing
  • US10185651B2 patent drawing

AI summary

Some examples described herein relate to relocating a virtual address in a persistent memory. An example includes determining whether a base address of a virtual address segment in a persistent memory has changed. In response to the determination that the base address of the virtual address segment has changed, an offset value between the base address of the virtual address segment and a new base address of the virtual address segment is determined. The offset value is used to relocate a virtual address of a primary data structure in the virtual address segment from a present location to a new location in the persistent memory. Then, a present location of a virtual address of an associated data structure of the primary data structure in the virtual address segment is determined. The offset value is used to relocate the virtual address of the associated data structure of the primary data structure from a current location to another location in the persistent memory.