SAS Storage Controller I/O Suppression for Link Disconnection Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems using SAS as the backend communication standard, issuing I/O commands during the discover process can lead to error responses due to disconnected physical links between expanders, resulting in deteriorated I/O performance and redundancy issues, as the system fails to detect link disconnections promptly, causing unnecessary use of communication paths and increased processing time.
Innovation Solution
Implementing I/O suppression and routing control mechanisms that determine link connectivity before proceeding with the discover process, using wide link bundle commands to set SAS address information for multiple phy ports simultaneously and batch delete commands to remove unnecessary SAS address information, thereby reducing the time communication paths are unused and minimizing the number of CRI commands required.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If I/O commands are issued during the discover process, then I/O operations can proceed concurrently, but error responses increase due to undetected link disconnections
Solution Approach 1:
The system performs a discover process before issuing I/O commands to detect link disconnections in advance. This preliminary action identifies unavailable communication paths, preventing subsequent I/O commands from being sent to disconnected storage devices, thereby reducing error responses while maintaining I/O concurrency on available paths.
2Reliability
If the discover process is carried out to detect link disconnections, then reliability improves, but I/O performance deteriorates due to communication path occupation
Solution Approach 1:
The discover process is executed as a preliminary step before normal I/O operations to detect link disconnections. By completing the discovery phase first, the system establishes accurate topology information and identifies available communication paths, enabling subsequent I/O operations to proceed without interruption from discover commands occupying the same paths.
Solution Approach 2:
The system segments the operation timeline into distinct phases: a discover phase for detecting link disconnections, followed by an I/O phase for data operations. This temporal segmentation allows the discover process to complete its reliability-checking function without continuously occupying communication paths, thereby maintaining I/O performance during the data operation phase.
3Reliability
If I/O suppression is applied during the discover process, then error responses are reduced, but communication paths remain unused for longer periods
Solution Approach 1:
I/O suppression is applied as a preliminary measure during the discover process to prevent I/O commands from being sent to potentially disconnected storage devices. This suppression is maintained only until the discover process completes and link status is confirmed, thereby minimizing the time communication paths remain unused while ensuring error responses are reduced during the critical discovery phase.
4Manufacturing precision
If multiple CRI commands are issued to set SAS address information for each phy port, then routing control accuracy improves, but processing time increases
Solution Approach 1:
The system merges multiple CRI commands into a single batched command that sets SAS address information for multiple phy ports simultaneously. This consolidation maintains the accuracy of routing control by ensuring all necessary address information is correctly configured, while reducing the total number of commands issued and the associated processing time during the discover process.
Data Source
AI summary
Each communication path between controllers and a plurality of storage devices has a plurality of expanders coupled in series. In order to shorten the time during which the communication path is not used for I/O, either (A) the length of time for which I/O suppression is set for the communication path is shortened, or (B) the overall time it takes for processing other than I/O processing is shortened. In the (A), a determination as to whether or not the coupling between the expanders has been disconnected is made for the I/O-suppressed communication path, and in a case where the result of this determination is negative, a discover process is carried out after releasing the I/O suppression with respect to this communication path. In the (B), the number of command issue times of updating routing control information of the expander is reduced.


