Metadata Coherency Controller for Compressed Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecache space utilizationVSAvoidcoherence management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If different graphics cores have different cache instances, then processing parallelism is improved, but maintaining consistency across cores becomes more difficult

Engineering Contradiction:
Improveprocessing parallelismVSAvoiddata consistency across cores
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvedata storage efficiencyVSAvoidcache landing zone determination
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecache flexibilityVSAvoidread/write coherence
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250103501A1Consistency for Compressed Data Across Graphics Cores
Publication Date: 2025.03.27 APPLE INC
  • US20250103501A1 patent drawing
  • US20250103501A1 patent drawing
  • US20250103501A1 patent drawing

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.