Translation Table Sharing and Private Delta for Memory Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory subsystems fail to effectively compress data due to the presence of multiple identical or similar fragments in memory blocks, leading to inefficient use of memory resources.
Innovation Solution
A translation table with share and delta bits is used, where identical or similar memory blocks are identified and combined, with a private delta generated for non-shared fragments, allowing multiple entries to reference the same block and freeing up memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data compression is applied to reduce memory usage, then memory efficiency improves, but multiple identical or similar fragments remain in memory blocks reducing compression effectiveness
Solution Approach 1:
The patent merges multiple translation table entries that reference identical or similar memory blocks by combining them into a single shared entry. This is achieved through comparing memory block signatures and identifying duplicates, then consolidating references to reduce the number of separate entries while maintaining data integrity and access efficiency.
Solution Approach 2:
The patent creates a universal shared translation table entry that can serve multiple purposes: it can reference identical memory blocks for multiple virtual addresses, store signature information for compression identification, and maintain backward compatibility with existing translation mechanisms. This multi-functional entry structure enables both compression and efficient address translation.
2Quantity of substance
If multiple translation table entries reference identical memory blocks, then memory blocks are occupied, but combining these entries can free up memory blocks
Solution Approach 1:
Multiple translation table entries referencing identical memory blocks are merged into a single shared entry, reducing the total number of entries and freeing up memory blocks. The merging process involves comparing block signatures, identifying duplicates, and consolidating references while maintaining the ability to access all required memory blocks.
Solution Approach 2:
Instead of creating separate translation table entries for each reference to an identical memory block, the patent creates a single shared entry that is copied or referenced by multiple virtual addresses. This reduces redundancy while maintaining the ability to access the same memory block through different address translations.
3Ease of operation
If translation table entries include multiple pointers to memory fragments, then address translation is achieved, but memory efficiency decreases due to redundant references
Solution Approach 1:
The patent merges multiple pointers to identical memory fragments into a single shared reference within the translation table entry. By comparing signatures of memory blocks and identifying identical fragments, the system consolidates redundant pointers into one reference, reducing memory usage while preserving full address translation functionality.
Solution Approach 2:
Instead of storing multiple separate pointers to identical memory fragments, the patent creates a single reference that is effectively copied or shared across multiple translation table entries. This reduces the total number of pointer storage locations while maintaining the ability to access the same memory fragments through different translation paths.
Data Source
AI summary
A translation table has entries that each include a share bit and a delta bit, with pointers that point to a memory block that includes reuse bits. The share bit is set to indicate a translation table entry is sharing its memory block with another translation table entry. In addition, a translation table entry may include a private delta in the form of a pointer that references a memory fragment in the memory block that is not shared with other translation table entries, wherein the private delta references previously-stored content. When a translation table has a private delta, its delta bit is set. The private delta is generated by analyzing a data buffer for content that is similar to previously-stored content.


