Sector-Based Compressed Memory Access for Variable-Size Pages
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Compressed memory systems face challenges in managing variable-sized memory pages and efficiently locating data due to dynamic changes in compressibility, leading to issues with memory management and address translation, resulting in stability problems and poor memory utilization.
Innovation Solution
A sector-based memory compression system that converts physical memory access requests into sector-based requests, using sector-based translation metadata to locate and manage compressed memory blocks with fixed logical sizes and varying physical sizes, allowing for efficient data access and management of free space without requiring extensive metadata.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If variable-sized memory pages are used in compressed memory systems, then memory utilization is improved, but address translation complexity and latency increase
Solution Approach 1:
The patent segments the variable-sized compressed memory pages into fixed-size blocks (e.g., 4KB blocks). Each block is independently addressable and managed, eliminating the need for complex address translation across variable boundaries. The fixed block size provides regularity that simplifies address calculation while the variable page size maintains compression efficiency.
2Quantity of substance
If variable-sized memory pages are used in compressed memory systems, then memory utilization is improved, but system stability deteriorates
Solution Approach 1:
The patent implements dynamic block allocation within pages, where blocks are allocated and freed based on actual memory access patterns and compression needs. The system dynamically adjusts the number of blocks per page while maintaining fixed block sizes, enabling flexible memory management that adapts to changing workloads without compromising system stability.
3Measurement precision
If extensive metadata is used to manage compressed memory pages, then address translation accuracy is improved, but memory overhead increases
Solution Approach 1:
The patent extracts address translation information from extensive page-level metadata into a compact block-level structure. Each fixed-size block contains condensed translation information that is sufficient for address mapping, eliminating the need for large page tables and reducing memory overhead while maintaining accurate address translation.
4Ease of operation
If fixed logical size blocks are used in compressed memory, then address translation simplicity is improved, but physical space utilization may worsen
Solution Approach 1:
The patent merges multiple fixed logical size blocks into variable-sized compressed pages, where adjacent blocks with similar compression characteristics are grouped together. This merging maintains the simplicity of fixed-size block addressing while improving physical space utilization through efficient compression at the page level, reducing wasted space from fixed-block boundaries.
Data Source
AI summary
A method for accessing compressed computer memory residing in physical computer memory is disclosed. In the method, compressed memory blocks are represented as sectors, wherein all sectors contain a fixed number of compressed memory blocks, have a fixed logical size in the form of the fixed number of compressed memory blocks, and have varying physical sizes in the form of the total size of data stored in the respective compressed memory blocks. The method involves providing sector-based translation metadata to keep track of the sectors within a compressed memory page, receiving a physical memory access request comprising an address in the physical computer memory, using the address in the physical memory access request to derive a memory block index, using the memory block index and the fixed logical size of the sectors to determine a sector id, using the sector-based translation metadata to locate a sector having the sector id in the compressed memory page, and using the address of the physical memory access request to locate the requested data within said sector.


