Bridge Protocol Deadlock Detection Early Response
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data processing apparatuses with different protocol domains operating under write progress and snoop progress protocols can experience deadlocks when a write target address matches a snoop target address, leading to stalled requests and inefficient resource utilization.
Innovation Solution
A bridge is implemented to detect deadlock conditions and issue early responses to pending requests, allowing one protocol domain to service the other request, while also merging write requests to manage buffer space and prevent repeated deadlocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a bridge connects two protocol domains operating under different coherency protocols, then data coherency can be maintained across domains, but deadlock conditions can occur when write target addresses match snoop target addresses
Solution Approach 1:
The bridge performs preliminary detection of deadlock conditions by comparing write target addresses with snoop target addresses before requests are fully processed. When a potential deadlock is detected, the bridge proactively issues an early response to one of the conflicting requests, preventing the deadlock from fully developing and allowing the other request to proceed without indefinite stalling.
Solution Approach 2:
The bridge acts as an intermediary between the first protocol domain operating under write progress protocol and the second protocol domain operating under snoop progress protocol. It mediates the conflicting protocols by detecting deadlocks and issuing early responses, thereby reconciling the incompatible progress protocols and enabling requests to complete across domain boundaries.
2Adaptability or versatility
If the first protocol domain operates under write progress protocol and the second under snoop progress protocol, then each domain can maintain its coherency rules, but requests may be blocked indefinitely when addresses match
Solution Approach 1:
The bridge performs preliminary detection of address conflicts between write and snoop requests before they result in complete blocking. By detecting when a write target address matches a snoop target address, the bridge can issue an early response in advance, preventing the indefinite blocking that would otherwise occur due to the conflicting progress protocols.
Solution Approach 2:
The system changes the state parameter of request handling by introducing early responses that alter the normal progression of write and snoop requests. This parameter change allows requests to bypass the deadlock condition inherent in conflicting progress protocols, thereby maintaining both protocol compatibility and request throughput.
3Productivity
If the bridge issues early responses to resolve deadlocks, then request throughput is improved, but buffer management complexity increases
Solution Approach 1:
The bridge performs preliminary detection of deadlock conditions by comparing addresses before requests are fully processed. This early detection enables the bridge to issue timely early responses that resolve deadlocks before they cause complete blocking, thereby improving throughput while managing buffer resources more efficiently.
Solution Approach 2:
The bridge implements a feedback mechanism where it continuously monitors the state of pending write and snoop requests, detects address conflicts, and responds by issuing early responses. This feedback loop allows the bridge to dynamically manage buffer resources and request flow, improving throughput while maintaining controlled complexity through systematic monitoring and response.
Data Source
AI summary
A data processing apparatus (2) comprises a first protocol domain A configured to operate under a write progress protocol and a second protocol domain B configured to operate under a snoop progress protocol. A deadlock condition is detected if a write target address for a pending write request issued from the first domain A to the second domain B is the same as a snoop target address or a pending snoop request issued from the second domain B to the first domain A. When the deadlock condition is detected, a bridge (4) between the domains may issue an early response to a selected one of the deadlocked write and snoop requests without waiting for the selected request serviced. The early response indicates to the domain that issued the selected request that the selected request has been serviced, enabling the other request to be serviced by the issuing domain.


