Near-Memory Compressed Memory Management for Lower Swap Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management techniques, such as swap, incur significant performance degradation due to the cost of moving data to auxiliary storage devices, as they rely on slower system buses and involve data retrieval from non-volatile memory, leading to inefficient memory usage.
Innovation Solution
Implementing a memory device with a near memory processing unit that compresses and stores data in a compressed memory area, allowing parallel processing of sub-pages across multiple channels, thereby reducing the overhead on the host apparatus and enhancing memory management efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is moved to auxiliary storage device using swap, then memory shortage is prevented, but performance degradation occurs due to slower system bus and data retrieval cost
Solution Approach 1:
The memory is divided into multiple channels, each capable of independent compression and storage operations. This segmentation allows parallel processing of data across multiple channels, increasing overall throughput while maintaining fast access speeds within each channel.
Solution Approach 2:
Data is compressed and stored in the compressed memory area before being needed by the application program. This preliminary compression action reduces the amount of data that needs to be transferred to auxiliary storage and minimizes retrieval costs when data is needed.
2Productivity
If data is compressed and stored in compressed memory area, then memory management efficiency is enhanced, but device complexity increases due to additional processing unit and memory area management
Solution Approach 1:
The near memory processing unit is integrated with the memory device, merging the compression processing function with the storage function. This integration eliminates the need for separate external processing units and reduces overall system complexity while maintaining high memory management efficiency.
Solution Approach 2:
The compressed memory area serves multiple functions: it stores compressed data, manages memory allocation, and provides fast access to frequently used data. This multi-functionality reduces the need for separate dedicated components, simplifying the overall device structure.
3Productivity
If sub-pages are processed in parallel across multiple channels, then processing rate is increased, but coordination complexity increases between processing units
Solution Approach 1:
Each processing unit independently manages its own channel's compression and storage operations without requiring extensive coordination with other channels. The system uses self-service mechanisms where each channel autonomously processes data, reducing coordination overhead while maintaining high processing rates.
Data Source
AI summary
A memory management method based on a compressed memory and an apparatus using the same are provided. A memory device includes a memory and a near memory processing unit. The memory includes a normal memory area for storing uncompressed data and a compressed memory area for storing compressed data. The near memory processing unit is configured to receive a first command to frontswap-store a huge page, which is stored in the normal memory area, in the compressed memory area; identify addresses of sub-pages of the huge page based on an address of the huge page; compress the sub-pages using the addresses of the sub-pages to generate compressed sub-pages; and store the compressed sub-pages in the compressed memory area. A size of the huge page is larger than a regular page.


