Fine Grain Data Migration in Borrowed Memory Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer systems face challenges in efficiently managing memory across devices, particularly in providing seamless memory services over communication network connections, which limits the ability to expand memory capacity on demand.
Innovation Solution
The implementation of inter operating system memory services allows a borrower device to expand its memory capacity by using a communication link and the memory of a lender device, with the operating system seamlessly bridging the gap and allowing applications to use local and borrowed memory without distinction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory is expanded using borrowed memory from other devices, then memory capacity is improved, but system complexity increases due to inter-device communication and memory management overhead
Solution Approach 1:
The patent introduces a memory management unit (MMU) as an intermediary component that handles the complexity of borrowed memory management. The MMU translates virtual addresses to physical addresses across device boundaries, manages page tables, and coordinates with the lender device through standardized protocols, thereby shielding the application from the underlying system complexity while enabling memory capacity expansion.
Solution Approach 2:
The patent segments memory management into distinct functional components: virtual memory management within the borrower device, physical memory management at the lender device, and address translation through the MMU. This segmentation allows each component to operate independently with well-defined interfaces, reducing overall system complexity while enabling scalable memory expansion across multiple devices.
2Measurement precision
If fine-grain data migration is implemented at sub-page levels, then memory management precision is improved, but processing overhead increases
Solution Approach 1:
The patent divides a memory page into smaller sub-page granularities (e.g., 4KB pages divided into 512-byte or 1KB segments). This segmentation enables precise tracking and migration of only the necessary data portions between local and borrowed memory, improving memory management precision while allowing the MMU to handle the complexity of managing multiple granular levels through hierarchical data structures.
Solution Approach 2:
The patent applies different management strategies to different portions of memory based on their access patterns and importance. Frequently accessed or critical data is kept in local memory at fine-grain levels, while less critical data is migrated to borrowed memory. This local quality approach optimizes the balance between precision and processing overhead by applying intensive management only where necessary.
3Adaptability or versatility
If virtual address translation is performed across device boundaries, then memory accessibility is improved, but translation time increases
Solution Approach 1:
The patent pre-loads frequently accessed page table entries into the MMU's translation lookaside buffer (TLB) before they are needed. The system predicts which virtual-to-physical mappings will be required soon and performs the translation preparation in advance, reducing the actual translation time when those mappings are accessed. This preliminary action maintains high memory accessibility while minimizing translation delays.
Solution Approach 2:
The patent implements different translation strategies based on the characteristics of memory regions. For locally cached borrowed memory, fast translation is used with pre-computed physical addresses. For remote borrowed memory, the system uses hierarchical translation with caching of common mappings. This local quality approach optimizes translation time for different accessibility scenarios while maintaining versatile memory access across device boundaries.
Data Source
AI summary
Systems, methods and apparatuses of fine grain data migration in using memory as a service (MaaS) are described. For example, a memory status map can be used to identify the cache availability of sub-regions (e.g., cache lines) of a borrowed memory region (e.g., a borrowed remote memory page). Before accessing a virtual memory address in a sub-region, the memory status map is checked. If the sub-region has cache availability in the local memory, the memory management unit uses a physical memory address converted from the virtual memory address to make memory access. Otherwise, the sub-region is cached from the borrowed memory region to the local memory, before the physical memory address is used.


