Multi-Initiator Fault Detection via Back-Off and Joint Diagnostics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-initiator serial attached data storage environments, existing technologies face challenges in identifying and managing faulty links, leading to LINK RESET storms and disruption of the topology, as they lack effective methods to determine which commands are active and require aborting, resulting in inefficient error recovery and potential system instability.
Innovation Solution
A method is introduced to identify faulty links by having initiators in a multi-initiator topology monitor link disruptions, report detected issues, and execute a common diagnostic process with peer initiators to determine the faulty link, using a back-off period to prevent LINK RESET propagation and jointly issuing read and write requests to target devices to identify error sources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If initiators continuously issue LINK RESET commands to recover from link disruptions, then error recovery is attempted, but LINK RESET storms occur causing system instability
Solution Approach 1:
The patent applies preliminary anti-action by implementing a back-off period mechanism that prevents initiators from immediately issuing LINK RESET commands upon detecting a link disruption. Instead, initiators wait for a predetermined time period before attempting recovery, which prevents the cascade of LINK RESET commands that would otherwise create storms and system instability. This anticipatory restraint resolves the contradiction by sacrificing immediate error recovery attempts to maintain overall system stability.
2Reliability
If initiators abort all commands upon link disruption, then error recovery is enabled, but active command information is lost requiring comprehensive diagnostics
Solution Approach 1:
The patent applies preliminary action by having initiators track and maintain information about active commands before link disruptions occur. The command tracking mechanism records which commands are currently executing, allowing the system to resume appropriate commands after recovery without requiring comprehensive diagnostics. This preliminary information gathering resolves the contradiction by preserving command information in advance, enabling reliable error recovery without complete loss of operational context.
3Measurement precision
If a common diagnostic process is executed on all initiators, then faulty link identification accuracy is improved, but system complexity and diagnostic time increase
Solution Approach 1:
The patent applies segmentation by dividing the diagnostic process into targeted segments based on which initiators detected the link disruption. Instead of executing comprehensive diagnostics on all initiators in the system, the diagnostic process is segmented to involve only those initiators that are actually affected by or relevant to the specific link disruption. This segmented approach maintains high identification accuracy while reducing overall system complexity and diagnostic time compared to a blanket all-initiator diagnostic approach.
Data Source
AI summary
A storage system and method for identifying a faulty link the storage system is disclosed. The storage system includes a plurality of target devices and at least one expander configured to communicatively couple a plurality of initiators to the plurality of target devices. Each initiator of the plurality of initiators monitors occurrences of link disruptions independently, wherein upon detecting occurrences of a predetermined number of link disruptions within a predetermined time period, a reporting initiator reports a detection of a faulty link in the multi-initiator topology and requests an arbitrator to identify at least one peer initiator in the multi-initiator topology that shares at least one shared link with the reporting initiator. This reporting initiator and its peer initiators then jointly execute a common diagnostic process to identify the faulty link in the multi-initiator topology.


