Memory Management for Reference Data Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Biological information study applications require significant memory resources due to inefficient data management and lack of distinction between reference and target data, leading to high memory costs and performance degradation, especially in systems with limited memory.
Innovation Solution
A method and apparatus for memory management that allocates physical memory for reference data, maps it to virtual memory, and releases allocation when necessary, using a victim frame selection to optimize memory usage and prevent data duplication, thereby reducing memory requirements and improving arithmetic calculation efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If reference data is allocated separately for each application, then each application can access reference data independently, but memory usage increases significantly and memory costs increase
Solution Approach 1:
The patent merges reference data across multiple applications by implementing a shared memory pool where reference data is loaded once and shared by multiple applications. The memory management unit tracks which applications are using which reference data pages, allowing simultaneous access without duplication. This resolves the contradiction by combining memory resources while maintaining application independence through proper access control and tracking mechanisms.
Solution Approach 2:
The patent creates a universal reference data storage area that serves multiple applications simultaneously. The memory management system provides multi-functional capabilities by allowing the same physical memory pages to be mapped to multiple virtual address spaces of different applications. This universal storage area reduces overall memory usage while maintaining the ability to serve multiple applications independently.
2Quantity of substance
If KSM technique is used to share memory pages, then memory efficiency improves after stabilization, but initial execution requires high memory and cannot be supported
Solution Approach 1:
The patent implements preliminary action by pre-allocating a shared reference data memory pool before applications start executing. Reference data is loaded into this shared pool in advance, so when applications start, they can immediately access the pre-loaded data without requiring high initial memory or performing data copying. This resolves the contradiction by preparing memory resources beforehand, enabling both efficient sharing and immediate execution support.
Solution Approach 2:
The patent introduces an intermediary memory management unit that mediates between the physical memory and multiple applications. This intermediary layer manages the shared reference data pool, handling page allocation, tracking, and mapping without requiring applications to directly manage memory. It enables efficient memory sharing while providing the necessary infrastructure for initial execution without high memory requirements.
3Speed
If reference data is kept in memory cache, then access speed improves, but memory bandwidth is consumed and thrashing occurs in low-memory systems
Solution Approach 1:
The patent applies local quality by implementing a reference data specific cache structure within the shared memory pool, where frequently accessed reference data pages are kept in faster memory regions while less frequently accessed data can be in slower storage. The memory management unit tracks access patterns and dynamically adjusts which pages remain in high-speed cache versus being swapped to disk. This resolves the contradiction by providing fast access to needed data while managing bandwidth consumption through selective caching.
Solution Approach 2:
The patent implements dynamics by making the reference data cache structure adaptive and dynamic. The memory management unit continuously monitors access patterns and dynamically adjusts which reference data pages are kept in memory cache versus being swapped out. When memory pressure is detected, the system dynamically swaps out less frequently accessed reference data pages while maintaining quick access to frequently used ones. This dynamic approach balances access speed with memory bandwidth consumption based on actual usage patterns.
Data Source
AI summary
A method for memory management, include allocating an empty page of a physical memory for reference data according to execution of an application program, and mapping the empty page to a virtual memory; checking a physical address of the physical memory to which the reference data has been loaded; mapping the checked physical address to the virtual memory to which the empty page has been mapped, and mapping the reference data; and releasing allocation of the allocated physical memory when the reference data is mapped to the virtual memory.


