External Primary Memory Remapping for Scalable Local Memory Extension
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing systems face challenges when memory usage nearly equals or exceeds available local primary memory, leading to inefficiencies and limitations.
Innovation Solution
A scalable external memory system is introduced, allowing dynamic allocation and sharing of primary memory across multiple machines, enabling on-demand expansion and contraction of memory capacity without performance irregularities, and supporting migration of applications between physical machines while preserving metadata.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If local primary memory capacity is increased to handle high memory usage scenarios, then system performance and reliability are improved, but hardware cost and energy consumption increase significantly
Solution Approach 1:
The patent extends memory capacity from a single-machine local resource to a multi-machine distributed resource pool, transitioning from one-dimensional local expansion to multi-dimensional networked expansion. This allows systems to access additional memory capacity over the network without physically installing more memory in each machine, thereby improving reliability and capacity while avoiding the high costs of local hardware expansion.
Solution Approach 2:
The external memory system creates a shared memory pool that can be dynamically allocated to multiple machines and applications. This universal memory resource serves multiple purposes: extending capacity for individual systems, enabling data sharing between applications, providing backup storage, and supporting migration scenarios, thereby replacing the need for each system to have dedicated large memory capacity.
2Adaptability or versatility
If external memory systems are implemented to extend memory capacity, then memory scalability is improved, but system complexity increases
Solution Approach 1:
The patent introduces an external memory system with memory management components that act as intermediaries between local applications and remote memory resources. This intermediary layer handles the complexity of distributed memory management, address translation, and data synchronization, shielding applications from complexity while enabling scalable memory access.
Solution Approach 2:
The system creates virtual copies of memory addresses that map to physical locations in the external memory system. Applications interact with virtual memory addresses as if accessing local memory, while the external memory system maintains copies and mappings to actual remote storage locations, simplifying the interface while enabling scalability.
3Productivity
If memory is dynamically allocated across multiple machines, then resource utilization efficiency is improved, but access latency may increase
Solution Approach 1:
The patent divides the external memory system into multiple memory appliances or nodes that can be geographically and physically distributed. This segmentation allows memory capacity to scale across multiple independent units while maintaining manageable access latencies by keeping frequently accessed data in nearby nodes and less critical data in remote nodes.
Solution Approach 2:
The system performs preliminary actions by pre-loading and caching frequently accessed data in local or nearby memory buffers before actual access occurs. This anticipatory caching reduces the latency impact of remote memory access by having data ready in faster storage media before it is needed by applications.
Data Source
AI summary
Methods and systems are provided for allocating memory. An example method includes: allocating, for an application logic, a region of external primary memory included in a memory appliance; selecting, by a client device in response to a first request to reclaim a first portion of local primary memory in the client device, a portion of external primary memory from the region of external primary memory; copying data from the first portion of local primary memory to the portion of external primary memory; and converting a portion of a first virtual address space at the client device by remapping at least one virtual address in the first virtual address space at the client device from the first portion of local primary memory to the portion of external primary memory.


