SoC Cache Hint Translation Bridge Unit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Communicating and sharing cacheability information across different domains in a System on Chip (SoC) with multiple protocols is challenging, as cache hints generated in one domain may not be properly recognized or acted upon in other domains, especially when legacy components with one protocol need to interact with memory subsystems using a different protocol.

Innovation Solution

A bridge unit is used to translate cache hint encodings from one protocol to another, facilitating communication between domains by generating new cache hints compatible with the memory subsystem's protocol, and a programmable override function can generate new cache hints based on transaction attributes like read/write transactions, stream, and address range.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a legacy component uses a first protocol to generate cache hints, then the component can operate with its existing protocol compliance, but the cache hints cannot be properly recognized or acted upon by memory subsystems using a different protocol

Engineering Contradiction:
Improveprotocol compatibilityVSAvoidcache hint information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

A bridge unit is introduced as an intermediary component between the legacy component using the first protocol and the memory subsystem using the second protocol. The bridge unit receives cache hints from the legacy component, translates them from the first protocol format to the second protocol format, and forwards them to the memory subsystem. This intermediary approach enables protocol compatibility while preserving the integrity and meaning of cache hint information across different protocol domains.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the external cache has additional capabilities not supported by the first protocol's cache hint encodings, then the external cache can perform advanced operations, but the requesting agent cannot specify these capabilities

Engineering Contradiction:
Improvecache capabilityVSAvoidcache hint specification
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The bridge unit performs parameter changes by translating cache hint encodings from the first protocol to the second protocol. When the external cache has additional capabilities, the bridge unit maps the limited encodings from the first protocol to the appropriate encodings in the second protocol that can represent the external cache's capabilities. This may involve expanding encoding values or utilizing reserved encodings in the first protocol to convey information about advanced cache operations.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If a bridge unit translates cache hint encodings between different protocols, then cacheability information can be communicated across domains, but translation complexity is introduced

Engineering Contradiction:
Improvecache hint communicationVSAvoidbridge unit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The bridge unit implements a translation table or mapping structure that copies and adapts cache hint encodings from the first protocol to the second protocol. Instead of implementing complex real-time translation logic, the bridge unit uses pre-defined mapping tables that store the correspondence between encoding values of the two protocols. This copying approach simplifies the bridge unit's operation while ensuring reliable translation of cache hint information.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9367474B2Translating cache hints
Publication Date: 2016.06.14 APPLE INC
  • US9367474B2 patent drawing
  • US9367474B2 patent drawing
  • US9367474B2 patent drawing

AI summary

Systems and methods for translating cache hints between different protocols within a SoC. A requesting agent within the SoC generates a first cache hint for a transaction, and the first cache hint is compliant with a first protocol. The first cache hint can be set to a reserved encoding value as defined by the first protocol. Prior to the transaction being sent to the memory subsystem, the first cache hint is translated into a second cache hint. The memory subsystem recognizes cache hints which are compliant with a second protocol, and the second cache hint is compliant with the second protocol.