Page Table Entries for Selective Uncompressed Page Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face inefficiencies in managing physical memory resources due to the need to balance between uncompressed and compressed data, where accessing compressed data requires decompression, leading to increased latency and inefficient use of memory space.
Innovation Solution
A memory node system that caches uncompressed pages while maintaining compressed versions, allowing direct access to uncompressed data when needed and evicting less frequently accessed uncompressed pages to free up memory space, thereby optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If compressed data is stored in memory to optimize space utilization, then memory space efficiency is improved, but access latency increases due to decompression requirements
Solution Approach 1:
The patent segments data into compressed and uncompressed portions within the same memory page. Specifically, a memory page is divided into a compressed data portion and an uncompressed data portion, allowing the system to store more data in the same memory space while providing immediate access to frequently accessed uncompressed data without decompression overhead.
Solution Approach 2:
The patent applies different data formats (compressed vs. uncompressed) to different portions of the same memory page based on access patterns. Frequently accessed data is maintained in uncompressed form in specific portions of the page, while less frequently accessed data is compressed, optimizing both space utilization and access speed locally within each page.
2Loss of time
If uncompressed pages are cached in memory to reduce access latency, then data access speed is improved, but memory space consumption increases
Solution Approach 1:
The patent dynamically adjusts the proportion of compressed versus uncompressed data within each memory page based on access patterns. The system monitors data access frequency and automatically rebalances the compressed/uncompressed portions, converting frequently accessed compressed data to uncompressed form and vice versa, thereby optimizing the trade-off between access speed and space utilization in real-time.
Solution Approach 2:
The patent changes the compression state parameter of data within memory pages based on access patterns. By transitioning data between compressed and uncompressed states dynamically, the system optimizes memory usage while maintaining fast access to frequently used data, directly addressing the contradiction between space efficiency and access speed.
3Speed
If all memory pages are kept uncompressed to maximize access speed, then data retrieval time is reduced, but memory capacity is wasted
Solution Approach 1:
The patent segments each memory page into multiple portions with different compression states. This allows the system to maintain high retrieval speed for frequently accessed data in uncompressed portions while efficiently storing less frequently accessed data in compressed portions, thereby maximizing effective memory capacity without sacrificing access speed for hot data.
Solution Approach 2:
The patent merges compressed and uncompressed data portions within the same memory page structure. This hybrid approach combines the space efficiency of compression with the speed of uncompressed data, allowing the memory system to achieve both high capacity utilization and fast access speeds simultaneously by appropriately mixing compressed and uncompressed data in each page.
Data Source
AI summary
A buffer/interface device of the memory node may read and compress blocks of data (e.g., pages). When a memory buffer device compresses a block of data, it may keep storing the original uncompressed version in the original memory location (e.g., physical memory page). In this manner, an access directed to the block of data may be satisfied with the uncompressed version retrieved from the original memory location (e.g., physical memory page) without having to perform a decompression operation. As memory space is needed for other purposes (e.g., for an uncompressed copy of a recently decompressed block or as host allocated memory occupies more space), the original uncompressed versions of blocks (pages) that have not been accessed relatively recently (e.g., relative to other kept original uncompressed versions) may be evicted and replaced by other blocks of data (e.g., either compressed or uncompressed).


