SAS Expander Connection Priority Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing SAS protocols fail to provide a successful quality of service (QoS) scheme by solely relying on arbitration wait time (AWT) for connection priority, as they do not account for devices with higher average response times that require higher priority connections, potentially starving lower priority devices.
Innovation Solution
A connection management method that assigns priority values to each device, tracks waiting times, and adjusts these values post-connection to ensure higher priority devices are connected more frequently while allowing lower priority devices to communicate without starvation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If SAS expanders use arbitration wait time (AWT) as the sole criterion for connection priority, then connection management is simplified, but quality of service (QoS) cannot be successfully provided because devices with higher average response times are not prioritized appropriately
Solution Approach 1:
The patent introduces a new parameter called 'connection priority' that is independent of AWT. This parameter allows the system to differentiate between devices based on their importance rather than solely on wait time. The expander uses both AWT and connection priority parameters together to make connection decisions, resolving the contradiction by adding a new dimension to the arbitration process without completely redesigning the existing mechanism.
Solution Approach 2:
The connection priority parameter is dynamically adjusted based on device characteristics and connection history. The system can modify priority levels in response to changing conditions, allowing higher priority devices to receive more favorable treatment when needed while maintaining fairness for lower priority devices. This dynamic adjustment enables QoS support without requiring complex static configurations.
2Speed
If devices with shorter AWT are always connected first, then connection speed is improved, but lower priority devices are starved of communication opportunities
Solution Approach 1:
The system performs preliminary assessment of connection requests by evaluating both AWT and connection priority before granting connections. This preliminary action ensures that higher priority devices receive preferential treatment when conditions are favorable, while still reserving opportunities for lower priority devices. The expander proactively manages the arbitration process by considering multiple factors simultaneously rather than reacting solely to AWT changes.
Solution Approach 2:
The system incorporates feedback mechanisms where connection outcomes are monitored and used to adjust future arbitration decisions. When higher priority devices are connected, the system tracks this information and uses it to make more informed decisions about lower priority devices in subsequent arbitration rounds. This feedback loop prevents starvation by ensuring that lower priority devices still receive communication opportunities based on their priority level and current system state.
Data Source
AI summary
A connection management method for a plurality of networked devices, the method constituted of: assigning a priority value to each of the devices, the priority value representing a priority level associated with the respective device; receiving a plurality of connection requests, each of the connection requests being associated with a respective one of the plurality of devices; for each of the received connection requests, tracking the amount of time the respective device has been waiting for connection; for each of the received connection requests, assigning an arbitration wait time value representing the tracked amount of time; responsive to the assigned priority values and the assigned arbitration wait time values, connecting the device associated with one of the received connection requests to an expander port; and responsive to the connection, adjusting the respective priority value assigned to the connected device.


