Virtual Address Relocation in Persistent Memory
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
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
Data Source
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.


