Reflective Copy Module for Seamless Memory Relocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems face challenges in relocating memory content between different physical locations without interrupting ongoing usage, particularly in non-uniform memory systems where a hypervisor may not be aware of direct memory access schedules, making seamless memory block movement technically challenging.

Innovation Solution

The implementation of a reflective copy module that uses a map page table to transparently move content from a source to a destination while maintaining continuous system operation, utilizing a reflective copy function to redirect user access and update page tables, ensuring no interruption or failure in direct memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory content is moved from source to destination, then memory re-allocation and optimization is achieved, but system operation may be interrupted or delayed

Engineering Contradiction:
Improvememory re-allocation efficiencyVSAvoidsystem operation delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by creating a reflective copy of the memory page table before actual memory content movement occurs. This preliminary setup allows the system to redirect accesses to the reflective copy during the move operation, ensuring continuous operation without interruption. The reflective copy is prepared in advance to handle any access requests that might occur during the memory relocation process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The reflective copy module acts as an intermediary between the original memory page table and the moving memory content. During the memory move operation, the reflective copy intercepts and handles memory access requests, redirecting them appropriately. This intermediary mechanism ensures that no access requests are lost or delayed during the memory relocation, maintaining system operation continuity while enabling efficient memory re-allocation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory blocks are moved transparently without interruption, then user perception of no error is maintained, but the complexity of managing direct memory access increases

Engineering Contradiction:
Improvememory access reliabilityVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system creates a reflective copy of the memory page table structure rather than directly manipulating the original during move operations. This copy mechanism allows the system to maintain the original page table intact while using the reflective copy to handle access redirection. The copying approach ensures reliability by preserving the original structure while enabling transparent memory movement, and the automation of the copying process minimizes the perceived complexity for users.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The reflective copy module automatically manages itself during memory move operations, handling access redirection and update synchronization without requiring external intervention. The module self-adjusts to redirect accesses to the correct location (original or destination) based on the move operation state, and automatically updates itself when the move completes. This self-service capability reduces the effective complexity burden on the system administrator or user.

Inventive Principle:
Principle #25Self-service

3Productivity

If a hypervisor manages memory relocation in non-uniform memory systems, then memory optimization across tiers is achieved, but awareness of direct memory access scheduling is lost

Engineering Contradiction:
Improvememory tier optimizationVSAvoiddirect memory access scheduling visibility
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The reflective copy module serves as an intermediary that bridges the hypervisor and the direct memory access operations. It intercepts access requests that would otherwise go directly to the memory hardware, allowing the hypervisor to manage memory relocation at the software level without needing to know the detailed timing and scheduling of direct memory access operations. The reflective copy handles the visibility and redirection transparently, enabling memory tier optimization while maintaining access scheduling independence.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system extracts the complexity of direct memory access scheduling from the hypervisor's responsibility by implementing the reflective copy mechanism at a lower level. The hypervisor can focus on high-level memory management and optimization decisions without being burdened by the detailed scheduling and visibility of individual direct memory access operations. The reflective copy infrastructure handles the extraction and management of access scheduling details independently.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10769074B2Computer memory content movement
Publication Date: 2020.09.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10769074B2 patent drawing
  • US10769074B2 patent drawing
  • US10769074B2 patent drawing

AI summary

In some examples, computer memory content movement may include ascertaining a request associated with content of computer memory. Based on a determination that the request is directed to the content that is to be moved from a source of the computer memory to a destination of the computer memory, a determination may be made as to whether the content is at the source, is in a process of being moved from the source to the destination, or has been moved from the source to the destination. Based on a determination that the content is at the source, the request may be performed using the source. Based on a determination that the content is in the process of being moved, the request may be performed using the source. Further, based on a determination that the content has been moved, the request may be performed using the destination.