Proxy Cache Conditional Allocation for Coherent Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems face challenges in translating non-coherent transactions into coherent transactions for communication between non-coherent and coherent subsystems, leading to inefficiencies and increased silicon area usage due to the need for a single unit to perform multiple coherence functions.
Innovation Solution
A bridge system that translates non-coherent transactions into coherent transactions, buffers data coherently in a proxy cache, and classifies each coherent transaction based on attributes such as read/write, cache hit/miss, and temporal order, allowing dynamic allocation and deallocation policies to optimize cache usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single unit performs multiple coherence functions to translate non-coherent transactions into coherent transactions, then translation capability is improved, but silicon area usage increases
Solution Approach 1:
The bridge is divided into multiple specialized units: a first bridge unit for receiving non-coherent transactions, a second bridge unit for issuing coherent transactions, and a proxy cache for buffering data. This segmentation allows each unit to be optimized for its specific function, reducing the overall silicon area compared to a single monolithic unit performing all functions.
Solution Approach 2:
The proxy cache acts as an intermediary between the non-coherent subsystem and the coherent subsystem. It buffers data coherently and enables the translation function to be distributed across multiple units rather than concentrated in a single large unit, thereby reducing silicon area while maintaining translation capability.
2Reliability
If a proxy cache buffers all data coherently, then coherence is maintained, but bandwidth efficiency decreases due to unnecessary cache allocations
Solution Approach 1:
The bridge classifies each coherent transaction based on attributes such as read/write type, cache hit/miss status, and temporal order. Different cache allocation policies are applied locally to different transaction types: for example, bulk data transfer transactions may use different policies than random access transactions. This localized policy application maintains coherence where needed while avoiding unnecessary cache allocations, thereby improving bandwidth efficiency.
Solution Approach 2:
The cache allocation policy is made dynamic rather than static. The bridge adapts the cache allocation behavior based on the classification of each transaction and the current state of the proxy cache. This dynamic approach allows the system to optimize bandwidth efficiency by adjusting cache usage patterns to match the actual workload characteristics while maintaining coherence requirements.
Data Source
AI summary
A system and method are disclosed that include a bridge that translates non-coherent transactions, which are received from a non-coherent subsystem, into one or more coherent transactions to be issued to a coherent subsystem. The bridge also buffers data coherently in an internal cache, also known as a proxy cache, based on certain attributes of the non-coherent transaction. The invention may be applied to any cache, which receives read and write transactions that become coherent transactions.


