Cache Dirty-Bit Compression for Lower Tracking Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The overhead and bandwidth consumption associated with tracking dirty data in cache hierarchies are high due to the need for individual dirty tracking bits for each byte, especially when large portions of cache lines are modified, leading to inefficient data management and increased memory usage.
Innovation Solution
Implementing a cache controller that compresses dirty tracking bits at configurable granularity levels based on traffic patterns, assigning dirty bits per byte during residency and compressing them into fewer bits when evicted, reducing the number of bits required to track dirty data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If individual dirty tracking bits are assigned to each byte of cache data, then dirty data tracking accuracy is improved, but memory overhead and bandwidth consumption increase
Solution Approach 1:
The patent merges multiple contiguous dirty tracking bits into a single compressed tracking entry. Instead of using one bit per byte, the system combines N contiguous bits representing N bytes into a single compressed entry, reducing the total number of tracking bits required while maintaining the ability to track dirty data accurately at the byte level.
Solution Approach 2:
The patent changes the representation parameter of dirty tracking from one bit per byte to a compressed format where multiple bytes are represented by a single tracking entry. This parameter change reduces the quantity of tracking bits needed while preserving the functional capability to identify modified data.
2Measurement precision
If individual dirty tracking bits are assigned to each byte of cache data, then dirty data tracking accuracy is improved, but bandwidth consumption increases
Solution Approach 1:
The patent merges multiple contiguous dirty tracking bits into a single compressed tracking entry. Instead of using one bit per byte, the system combines N contiguous bits representing N bytes into a single compressed entry, reducing the total number of tracking bits required while maintaining the ability to track dirty data accurately at the byte level.
Solution Approach 2:
The patent changes the representation parameter of dirty tracking from one bit per byte to a compressed format where multiple bytes are represented by a single tracking entry. This parameter change reduces the quantity of tracking bits needed while preserving the functional capability to identify modified data.
3Reliability
If more dirty tracking bits are allocated to track modified data, then dirty data tracking coverage is improved, but cache storage capacity for actual data decreases
Solution Approach 1:
The patent merges multiple contiguous dirty tracking bits into a single compressed tracking entry. Instead of using one bit per byte, the system combines N contiguous bits representing N bytes into a single compressed entry, reducing the total number of tracking bits required while maintaining the ability to track dirty data accurately at the byte level.
Solution Approach 2:
The patent changes the representation parameter of dirty tracking from one bit per byte to a compressed format where multiple bytes are represented by a single tracking entry. This parameter change reduces the quantity of tracking bits needed while preserving the functional capability to identify modified data.
Data Source
AI summary
A cache controller of a cache assigns a dirty tracking bit for each dirty byte of a cache line. Once a predetermined interval has elapsed without any accesses to the cache line or to a cache set that includes the cache line, the cache controller compresses contiguous dirty tracking bits for each portion of the cache line. Compressing the dirty tracking bits for contiguous dirty portions of the cache line allows the cache to store more dirty data using fewer dirty tracking bits, reducing area cost and bandwidth among levels of a memory hierarchy.


