Cache Block Eviction with Hot Element Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems reduce cache performance by evicting memory blocks based on access temperature, leading to the loss of frequently accessed elements due to the evaluation of memory blocks as a whole, despite containing both frequently and rarely accessed elements.
Innovation Solution
Determine a temperature index value for each memory block, migrate valuable elements to other memory blocks with sufficient space before eviction, and delete the memory block to avoid losing high-value elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a memory block is evicted based on overall access temperature, then cache space is released efficiently, but frequently accessed elements may be lost
Solution Approach 1:
The patent segments the memory block evaluation into two levels: block-level temperature for eviction decisions and element-level temperature for migration decisions. This segmentation allows the system to evaluate the overall cache status at the block level while protecting valuable individual elements through element-level analysis, thus resolving the contradiction between efficient space release and performance preservation.
Solution Approach 2:
The patent applies local quality by treating different elements within the same memory block differently based on their individual access temperatures. High-temperature elements are identified and migrated to other blocks, while low-temperature elements remain subject to block-level eviction. This localized differentiation ensures that valuable elements are protected while maintaining overall cache efficiency.
2Device complexity
If a memory block with mixed access patterns is evicted, then cache management is simplified, but valuable elements are lost
Solution Approach 1:
The patent implements preliminary action by performing element-level temperature evaluation and migration before the memory block eviction occurs. This advance preparation ensures that valuable elements are relocated to safe locations before the block is cleared, preventing information loss while maintaining relatively simple block-level management procedures.
Solution Approach 2:
The patent introduces an intermediary element (the element temperature evaluation mechanism) that mediates between the simple block-level eviction policy and the need to protect valuable elements. This intermediary layer performs selective element assessment and migration, bridging the gap between simplified management and information preservation.
3Reliability
If element-level evaluation is performed before eviction, then cache performance is maintained, but system complexity increases
Solution Approach 1:
The patent applies self-service by enabling elements to effectively evaluate themselves through temperature metrics. Each element's access pattern automatically generates a temperature value that indicates its value, eliminating the need for complex external evaluation mechanisms. This self-service approach maintains cache performance while limiting complexity growth.
Solution Approach 2:
The patent uses parameter changes by transforming complex access pattern analysis into a simple temperature parameter. This parameter transformation allows the system to make sophisticated eviction decisions based on easily calculable temperature values, maintaining performance while controlling complexity through parameter abstraction.
Data Source
AI summary
Implementations of the present specification describe evicting a memory block in a cache, including determining a temperature index value of a memory block in a cache, where the memory block is a storage unit of the cache. Based on the temperature index value of the memory block in the cache, determining a to-be-evicted memory block that needs to be cleared in the cache. A target element in the to-be-evicted memory block is migrated to a target memory block in the cache, where the target memory block is a memory block that is retained in the cache and whose available storage space is greater than storage space required by the target element. The to-be-evicted memory block is deleted from the cache.


