SAS Discovery Traffic Reduction via BCR Count Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for SAS discovery in a SAS domain are inefficient, leading to increased latencies and system disruptions due to the need to check all pathways for status changes, even when only a small subset is affected, especially in larger domains.
Innovation Solution
The method involves transmitting SMP DISCOVER Requests to all expanders, comparing BCR counts to determine which pathways have received BROADCAST (CHANGE) primitives, optimizing the SAS discovery algorithm to bypass unaffected expanders, and selectively directing subsequent requests to only affected pathways, thereby reducing unnecessary discovery operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full SAS discovery process is performed to check all pathways for status changes, then reliability of status change detection is improved, but latency and system disruption increase
Solution Approach 1:
The patent extracts only the essential information needed for discovery by using BCR counters to track which expanders have received change notifications. Instead of performing full discovery on all pathways, the system extracts and processes only the subset of expanders that actually need discovery, thereby reducing latency while maintaining detection reliability.
Solution Approach 2:
The system performs preliminary action by pre-tracking which expanders receive BROADCAST (CHANGE) primitives through BCR counters. This preliminary tracking allows the initiator to immediately identify affected expanders without having to probe all pathways, thus reducing discovery latency while ensuring no status changes are missed.
2Reliability
If SAS discovery is performed in large domains with many expanders, then coverage of status change detection is improved, but productivity and performance deteriorate
Solution Approach 1:
The patent segments the discovery process by dividing the SAS domain into affected and unaffected portions based on BCR counter information. The initiator segments the set of expanders into those that received change notifications and those that did not, performing discovery only on the affected segment. This segmentation maintains comprehensive coverage of status changes while dramatically improving productivity in large domains.
Solution Approach 2:
The system performs partial action by executing discovery operations only on the subset of expanders that actually received BROADCAST (CHANGE) primitives, rather than performing excessive full discovery on all expanders. This partial action approach maintains adequate coverage for detecting status changes while significantly improving operational efficiency in large-scale domains.
3Loss of information
If traditional SAS discovery algorithm is used to check all expanders, then completeness of discovery information is improved, but device complexity and overhead increase
Solution Approach 1:
The patent implements feedback mechanisms where expanders report their BCR counter values to the initiator in response to SMP DISCOVER requests. This feedback allows the initiator to determine which expanders received change notifications and adjust the discovery process accordingly. The feedback loop maintains complete discovery information while reducing algorithmic complexity by enabling selective processing based on actual domain conditions.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
The present invention is directed to a method (400) for deterministic Serial Attached Small Computer System Interface (SAS) discovery and configuration. The method includes transmitting (402) a Serial Management Protocol (SMP) DISCOVER Request from a node of a SAS domain to each expander of the SAS domain. The method further includes receiving (404) SMP DISCOVER Responses at the node from each expander of the SAS domain. The method further includes comparing (406) BROADCAST (CHANGE) RECEIVED (BCR) counts provided in each of the received SMP DISCOVER Responses to stored BCR counts, said stored BCR counts having been recorded and stored by the node prior to said transmitting of said SMP DISCOVER Request. The method further includes updating (408) the stored BCR counts based upon said received BCR counts. The method further includes selectively transmitting a second SMP DISCOVER Request from the node to at least one, but not all of the expanders of the SAS domain.