Compressed Page Cache Migration for Low-Latency Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in balancing data access latency and bandwidth efficiency when compressing memory blocks into multiple compressed pages, leading to congestion and increased power consumption due to random access patterns.
Innovation Solution
A cache structure is implemented to decompress only the accessed compressed pages, tracking access metrics to determine when to decompress all pages into a larger memory space, reducing latency while conserving bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory blocks are compressed into multiple compressed pages, then memory bandwidth efficiency is improved, but data access latency increases due to decompression overhead
Solution Approach 1:
The memory block is divided into multiple compressed pages, allowing selective decompression of only the accessed pages rather than decompressing the entire block. This segmentation enables the system to maintain high compression ratios for stored data while reducing decompression overhead by processing only necessary portions.
Solution Approach 2:
Instead of decompressing all compressed pages in a memory block, the system performs partial decompression by selecting and decompressing only the specific pages that are accessed. This partial action reduces the decompression workload and associated latency while maintaining the bandwidth efficiency benefits of compression.
2Speed
If all compressed pages are decompressed into allocated memory space, then data access speed is improved, but memory bandwidth consumption increases
Solution Approach 1:
The system applies different quality levels of data storage to different portions of the memory block based on access patterns. Frequently accessed pages are decompressed and stored in allocated memory space for fast access, while less frequently accessed pages remain compressed. This local differentiation optimizes both access speed and bandwidth consumption by matching storage format to access frequency.
Solution Approach 2:
The system dynamically determines which compressed pages to decompress based on real-time or predicted access patterns. This dynamic approach allows the system to adaptively allocate memory resources, decompressing pages that are likely to be accessed while keeping others compressed, thereby optimizing the trade-off between access speed and bandwidth consumption.
3Adaptability or versatility
If random access patterns are used on compressed pages, then data retrieval flexibility is improved, but congestion and power consumption increase
Solution Approach 1:
The system performs preliminary decompression of compressed pages that are predicted to be accessed based on access pattern analysis. By anticipating future access requests and pre-decompressing relevant pages, the system reduces the need for repeated decompression operations, thereby lowering power consumption while maintaining flexible random access capability.
Solution Approach 2:
The system monitors access patterns to compressed pages and uses this feedback information to optimize decompression decisions. By analyzing historical access data, the system can identify frequently accessed pages and prioritize their decompression, reducing overall power consumption while maintaining the flexibility to handle random access requests efficiently.
Data Source
AI summary
Disclosed are techniques for storing data decompressed from the compressed pages of a memory block when servicing data access request from a host device of a memory system to the compressed page data in which the memory block has been compressed into multiple compressed pages. A cache buffer may store the decompressed data for a few compressed pages to save decompression memory space. The memory system may keep track of the number of accesses to the decompressed data in the cache and the number of compressed pages that have been decompressed into the cache to calculate a metric associated with the frequency of access to the compressed pages within the memory block. If the metric does not exceed a threshold, additional compressed pages are decompressed into the cache. Otherwise, all the compressed pages within the memory block are decompressed into a separately allocated memory space to reduce data access latency.


