Fabric Controller CRC Replay in Non-Blocking Coherence Flow
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multiprocessor systems face limitations in message queuing depth and coherency bandwidth in snooping-based coherence protocols, leading to inefficiencies in memory coherence management, particularly in large-scale symmetric multiprocessing (SMP) systems.
Innovation Solution
Implementing a link-level cyclic redundancy check (CRC) replay mechanism in a non-blocking snooping protocol to handle replay events and manage temporary resource limitations, allowing for higher coherency network bandwidth utilization by dropping commands from the deskew buffer and sending partial responses, thereby ensuring fixed-time coherency broadcasts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If equal allocation of coherency bus bandwidth is used among all processing nodes, then bandwidth fairness is improved, but overall system bandwidth utilization deteriorates
Solution Approach 1:
The patent implements dynamic bandwidth allocation where processing nodes that need high bandwidth can obtain it temporarily. The system transitions from static equal allocation to dynamic allocation based on actual demand, allowing nodes to burst when needed while maintaining fairness as a baseline.
Solution Approach 2:
The system changes the bandwidth allocation parameter from fixed equal shares to variable shares based on demand. Nodes can request and receive increased bandwidth allocations when they have high demand, and return to baseline allocations when demand decreases, optimizing overall utilization.
2Reliability
If message tracking mechanisms are implemented in caching agents, then coherence message tracking capability is improved, but device complexity deteriorates
Solution Approach 1:
The patent extracts the message tracking function from individual caching agents and moves it to a centralized directory structure. This removes the complexity of message queues and tracking mechanisms from each caching agent while maintaining the capability to track coherence messages system-wide through the directory.
Solution Approach 2:
The directory acts as an intermediary between processing nodes and caching agents. Instead of caching agents directly tracking messages, the directory mediates by recording and managing coherence state information, simplifying the caching agent design while maintaining tracking capability.
3Device complexity
If limited queuing depth is used in caching agents, then device complexity is reduced, but loss of time deteriorates
Solution Approach 1:
The patent resolves the queuing depth limitation by moving the queuing function to a different dimension - from local caching agent queues to a distributed directory structure. Requests are handled through directory-mediated operations rather than deep local queues, reducing time loss without increasing local complexity.
Data Source
AI summary
Data processing in a data processing system including a plurality of processing nodes coupled to an interconnect includes receiving, by a fabric controller, a first command from a remote processing node via the interconnect. The fabric controller determines that the command includes a replay indication, the replay indication indicative of a replay event at one or more processing nodes of the plurality of processing nodes. The first command is dropped from a deskew buffer of the fabric controller responsive to the determining that the command includes the replay indication.


