Repurposing Dead Cache Blocks for Write-Back Hierarchy Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In processing systems with multilevel cache hierarchies employing a write-back policy, dead cache blocks with valid tags lead to inefficient use of cache space, causing unnecessary cache misses, re-fetches, lower performance, and higher power consumption due to the invalidation of cache lines in lower level caches.
Innovation Solution
Repurpose dead cache blocks by replacing invalid data with new valid data and storing the new tags in a dead block tag way or moving valid tags to a separate cache coherence tag way, allowing these blocks to be reused for storing new data, such as prefetch, duplicate, or compressed data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cache lines are invalidated in lower level caches to maintain coherence with higher level caches, then cache coherence is maintained, but cache space is wasted and performance decreases
Solution Approach 1:
The patent segments the tag storage function from the data storage function by introducing a separate dead block tag way. This allows the data block to be invalidated and reused while the tag is preserved in a dedicated coherence tracking structure, resolving the contradiction between maintaining coherence and utilizing cache space efficiently.
Solution Approach 2:
The patent extracts the coherence-tracking tag from the main cache structure and places it in a separate dead block tag way. This extraction allows the main cache block to be repurposed for new data while the extracted tag continues to serve coherence purposes, eliminating the waste of cache space.
2Reliability
If dead cache blocks are maintained with valid tags for coherence purposes, then cache coherence is ensured, but cache space utilization decreases
Solution Approach 1:
The patent adds a dimensional separation between tag storage and data storage by introducing a specialized dead block tag way structure. This dimensional change allows tags to persist in one dimension (coherence tracking) while data blocks are freed in another dimension (cache space), resolving the space utilization issue without compromising coherence.
Solution Approach 2:
The dead block tag way serves multiple functions: it maintains cache coherence information, enables identification of dead blocks, and allows the corresponding data blocks to be repurposed. This multi-functionality resolves the contradiction by making the tag structure serve both coherence and space management purposes.
3Productivity
If cache blocks are reused for new data, then cache efficiency improves, but cache coherence tracking becomes complex
Solution Approach 1:
By segmenting the tag storage into active tags and dead block tags, the patent simplifies coherence tracking. When a block is reused, the system only needs to manage tags in the dead block tag way, which are already identified as such, reducing the complexity of tracking coherence for reused blocks.
Solution Approach 2:
The dead block tag way acts as an intermediary structure that mediates between coherence requirements and block reuse. It provides a clear indication of which blocks are dead and can be safely reused, simplifying the coherence tracking logic by providing a dedicated intermediary structure for managing this transition.
Data Source
AI summary
A processing system having a multilevel cache hierarchy employs techniques for repurposing dead cache blocks so as to use otherwise wasted space in a cache hierarchy employing a write-back scheme. For a cache line containing invalid data with a valid tag, the valid tag is maintained for cache coherence purposes or otherwise, resulting in a valid tag for a dead cache block. A cache controller repurposes the dead cache block by storing any of a variety of new data at the dead cache block, while storing the new tag in a tag entry of a dead block tag way with an identifier indicating the location of the new data.


