Evict Barrier Mechanism for Cache Coherency in Low Power Agents
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing systems with multiple agents having cache storage, ensuring coherency when an agent transitions to a state where its cache storage is unused is challenging, particularly due to the lack of acknowledgement for evict messages, which can lead to potential data loss and deadlocks.
Innovation Solution
Implementing an evict barrier message mechanism where a given agent performs a flush operation, issues evict messages, and only enters a state where its cache storage is unused after receiving a barrier response message from the coherency control circuitry, ensuring all evict messages have been processed and no outstanding coherency messages remain.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If an agent enters a low power state to reduce power consumption, then power consumption is reduced, but cache coherency may be compromised leading to data loss or deadlocks
Solution Approach 1:
The agent performs a flush operation before entering the low power state to evict all cached data. This preliminary action ensures that no stale data remains in the cache that could cause coherency issues later. The flush operation sends evict messages to the coherency control circuitry to clear the cache storage before the agent transitions to the power-saving state.
Solution Approach 2:
The system uses acknowledgment messages from the coherency control circuitry to confirm that evict messages have been processed. The agent waits for barrier response messages that provide feedback on the completion status of the flush operation, ensuring that cache coherency is maintained before transitioning to the low power state.
2Device complexity
If evict messages are issued without acknowledgement to reduce complexity, then message processing is simplified, but the agent cannot know when evict messages have been handled
Solution Approach 1:
The coherency control circuitry acts as an intermediary that receives evict messages from agents and provides barrier response messages as acknowledgment. This intermediary component tracks the processing status of evict messages and communicates this status back to agents through standardized barrier response messages, simplifying the overall system while maintaining visibility into message processing status.
3Reliability
If an agent flushes its cache before entering unused state, then cache coherency is maintained, but the agent must wait for confirmation messages increasing transition time
Solution Approach 1:
The coherency control circuitry autonomously tracks the processing status of evict messages for each agent and automatically generates barrier response messages when appropriate. This self-service mechanism eliminates the need for agents to implement complex tracking logic, allowing them to efficiently wait for confirmation without excessive overhead or delays.
Data Source
AI summary
An apparatus and method are disclosed for managing cache coherency. The apparatus has a plurality of agents with cache storage for caching data, and coherency control circuitry for acting as a point of coherency for the data by implementing a cache coherency protocol. In accordance with the cache coherency protocol the coherency control circuitry responds to certain coherency events by issuing coherency messages to one or more of the agents. A given agent is arranged, prior to entering a given state in which its cache storage is unused, to perform a flush operation in respect of its cache storage that may cause one or more evict messages to be issued to the coherency control circuitry. Further, once all evict messages resulting from performance of the flush operation has been issued, the given agent issues an evict barrier message to the coherency control circuitry. The apparatus ensures that the evict barrier message is only processed by the coherency control circuitry once all evict messages resulting from performance of the flush operation have been processed by the coherency control circuitry. When processing the evict barrier message, the coherency control circuitry issues a barrier response message to the given agent once it is determined that there are no outstanding coherency messages, and the given agent defers entering the given state until at least the barrier response message is received.


