Virtual Page Table Invalidation for Memory Space Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual memory systems face inefficiencies in freeing up unused memory space due to computationally intensive and time-consuming large-scale write operations when decompressing and updating compression metadata, or inefficient memory operations with separate metadata storage.
Innovation Solution
The solution involves marking virtual page table entries as invalid without updating the reference count, allowing for the updating of free space bitmap entries to indicate freed memory without accessing or caching compressed pages, thereby reducing resource-intensive memory operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If large-scale write operations are performed to decompress and update compression metadata, then memory space can be freed, but the processing time and computational resources increase significantly
Solution Approach 1:
The system performs preliminary actions by maintaining a virtual page table that tracks the validity status of virtual pages before actual memory freeing is needed. When a virtual page is invalidated, the system proactively updates the free space bitmap without waiting for decompression operations, thereby preparing memory space for future allocations in advance and avoiding time-consuming processing when space is actually needed.
Solution Approach 2:
The invention extracts the compression metadata update operation from the memory freeing process. Instead of updating compression metadata when freeing memory, the system separates this function by maintaining a free space bitmap that independently tracks available memory, eliminating the need for computationally intensive decompression and metadata updates during space freeing operations.
2Quantity of substance
If compression metadata is updated during memory freeing, then memory space can be released, but the number of memory accesses and table look-ups increases
Solution Approach 1:
The invention extracts the compression metadata update operation from the memory freeing process. Instead of updating compression metadata when freeing memory, the system separates this function by maintaining a free space bitmap that independently tracks available memory, eliminating the need for computationally intensive decompression and metadata updates during space freeing operations.
Solution Approach 2:
The system creates a simplified copy of the memory tracking function by implementing a free space bitmap that mirrors the essential information needed for memory management. This bitmap copy tracks available space without requiring the full complexity of compression metadata, enabling efficient memory freeing operations that avoid multiple memory accesses and table look-ups.
3Loss of time
If virtual page table entries are marked invalid without updating reference count, then memory freeing is faster, but the reference count accuracy decreases
Solution Approach 1:
The invention extracts the reference count update function from the virtual page table invalidation process. When virtual pages are invalidated, the system does not update the reference count in compression metadata. Instead, it maintains a free space bitmap that independently tracks available memory, separating the invalidation operation from the reference counting mechanism and eliminating the need for accurate reference count updates during space freeing.
Solution Approach 2:
The free space bitmap serves as an intermediary between the virtual page table and the compression metadata. It absorbs the impact of invalidation operations, allowing virtual pages to be marked invalid without propagating updates to the reference count. This intermediary structure enables fast memory freeing while maintaining overall memory tracking accuracy through the bitmap.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Examples include a device for memory space management. Some examples include receiving, from a host, a space management request that identifies a virtual page address. The virtual page address may be associated with a compressed page that includes a compression metadata having a reference count that indicates a number of virtual pages of data in the compressed page. The virtual page table entry associated with the virtual page address in a virtual page table may be looked up. The virtual page table entry may identify the compressed page. In such examples, the virtual page table entry may be marked as invalid without updating the reference count in the compressed page. A determination may be made as to whether each virtual page table entry that identifies the compressed page is marked invalid. Based on the determination that each virtual page table entry that identifies the compressed page is invalid, a free space bitmap entry for the compressed page may be updated to indicate that the compressed page is free.