Memory Reclaiming via Virtual Address Space Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory reclaiming methods in computers often result in application data loss and slower restart speeds due to direct killing of application programs during memory reclamation, as they completely clean up memory without considering the running state of the application.
Innovation Solution
A memory reclaiming method that determines the running state of an application program to selectively reclaim virtual address space, allowing only reclaimable memory segments to be cleared, thereby minimizing data loss and improving restart speed by allocating memory based on access frequency ranges and prioritizing less-frequently accessed data for reclamation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of substance
If direct killing of application programs is used during memory reclaiming, then memory cleanup is complete, but application data is lost and restart speed becomes slower
Solution Approach 1:
The patent segments the virtual address space of application programs into multiple segments based on their reclaimability characteristics. Instead of treating the entire address space as a single unit, the system divides it into reclaimable and non-reclaimable segments, allowing selective cleanup of only the reclaimable portions while preserving critical data segments.
Solution Approach 2:
The patent applies different quality treatments to different segments of the virtual address space. Reclaimable segments are cleaned up to free memory, while non-reclaimable segments are preserved to maintain application data integrity. This local differentiation resolves the contradiction by applying appropriate actions to specific regions rather than uniformly to the entire address space.
2Loss of substance
If direct killing of application programs is used during memory reclaiming, then memory is released, but application restart speed becomes slower
Solution Approach 1:
By segmenting the virtual address space and selectively reclaiming only appropriate segments, the system avoids complete application termination. This allows memory to be released from reclaimable segments while maintaining the application process structure, thereby enabling faster restart since the application doesn't need to be fully reinitialized.
Solution Approach 2:
The system performs preliminary classification of virtual address space segments into reclaimable and non-reclaimable categories before memory reclaiming occurs. This preliminary action identifies which segments can be safely cleaned up, allowing the system to prepare for efficient memory release without compromising application restart performance.
3Productivity
If complete memory cleanup is performed, then memory is fully reclaimed, but application data is lost
Solution Approach 1:
The virtual address space is divided into multiple segments with different reclaimability characteristics. This segmentation enables the system to reclaim memory from appropriate segments while preserving segments containing critical application data, thus achieving both efficient memory reclamation and data integrity protection.
Solution Approach 2:
Different quality treatments are applied to different segments based on their content and importance. Reclaimable segments undergo complete cleanup to maximize memory recovery, while non-reclaimable segments are preserved to maintain data integrity. This localized approach resolves the contradiction between reclamation efficiency and data protection.
Data Source
AI summary
Example memory reclaiming methods and apparatuses are provided to resolve a problem that application data is lost and a restart speed of an application becomes slower in a manner of reclaiming a memory by killing the application. One example memory reclaiming method includes determining an application program that occupies a to-be-reclaimed memory and selecting at least one virtual address space segment according to a running state of the application program. A virtual address space that is in the selected at least one virtual address space segment and that is occupied by the application program is reclaimed. The application program is not directly killed, but instead, only a memory occupied by application data that can be cleared in the running state is reclaimed according to the running state of the application program. Therefore, less application data is lost.


