Metadata Coherency Controller for Compressed Data Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphics processors face challenges in maintaining coherence and consistency across distributed graphics cores when handling compressed and uncompressed data, particularly due to differences in cache landing zones and metadata management.
Innovation Solution
The implementation of metadata coherency controller (MDCC) circuitry that caches metadata and enforces atomic access to compressed data, along with lock circuitry to ensure consistency across distributed MDCCs, addresses the coherence and consistency issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is compressed in cache at different levels, then cache space utilization is improved, but coherence and consistency management becomes more complex
Solution Approach 1:
The patent segments coherence management by introducing separate metadata caches for each graphics core that track compression status independently. Each MDCC maintains its own metadata about compressed blocks, allowing localized management rather than system-wide coherence protocols. This segmentation reduces the complexity of tracking compressed data across multiple caches while preserving space efficiency.
Solution Approach 2:
The patent introduces metadata as an intermediary layer between the compressed data in cache and the coherence control logic. The metadata cache stores information about compression status, block locations, and validity states without requiring direct inspection of the actual compressed data. This intermediary simplifies coherence management by providing a lightweight representation that can be tracked independently across distributed graphics cores.
2Productivity
If different graphics cores have different cache instances, then processing parallelism is improved, but maintaining consistency across cores becomes more difficult
Solution Approach 1:
Each graphics core has its own metadata cache instance that independently tracks compression metadata for its local cache. This segmentation allows parallel operation of multiple cores without requiring synchronized access to a shared coherence structure. Each core's MDCC manages its own metadata, enabling independent decision-making about compression and coherence while maintaining overall system consistency through standardized metadata formats.
3Quantity of substance
If compression status varies by cache level, then data storage efficiency is improved, but determining correct cache landing zones becomes more complex
Solution Approach 1:
The metadata cache acts as an intermediary that stores information about the compression status and location of data blocks. When data needs to be accessed or written, the system queries the metadata cache to determine the correct landing zone in the data cache, rather than attempting to infer compression status from the data itself or using complex addressing schemes. This intermediary layer simplifies the lookup process while maintaining storage efficiency.
4Adaptability or versatility
If both compressed and uncompressed data are stored in the same cache, then cache flexibility is improved, but read/write coherence becomes more challenging
Solution Approach 1:
The patent segments the cache system into distinct metadata tracking and data storage functions. The metadata cache specifically tracks the compression status and coherence state of each block, while the data cache stores the actual compressed or uncompressed data. This segmentation allows the data cache to flexibly store mixed compression states while the metadata cache provides the coherence control logic needed to manage reads and writes correctly.
Solution Approach 2:
The metadata cache provides feedback about the compression status and coherence state of data blocks to the coherence control logic. When a write operation occurs, the system queries the metadata to determine if the target block is compressed, and if so, uses the stored metadata to locate and update the correct data. This feedback mechanism ensures coherent updates without requiring the cache to be organized by compression status, maintaining flexibility while ensuring reliability.
Data Source
AI summary
Techniques are disclosed relating to data compression in graphics processors. In some embodiments, first and second graphics processor cores include respective shader processor circuitry configured to execute graphics shader programs. Cache circuitry may be configured to store surface data, including a compressed block of surface data and metadata for the compressed block of surface data. Lock control circuitry may lock metadata for the second graphics processor core for the compressed block of surface data based on an access to the metadata by the first graphics processor core and prevent read accesses to the compressed block by the second graphics processor core until the lock on the metadata is released. This may provide consistency across graphics cores for compressed data.


