There are some restrictions in 8.2.2.3.6 PL_OC2:Over_Control state frame transmission for task management functions. A SAS port does not send a task management function that might affect a command that is in flight.
 
There is no specific advice about waiting to send commands that may affect or depend on other commands that are also in-flight.  This includes:
- command with the ORDERED or HEAD OF QUEUE task attribute
- PERSISTENT RESERVE OUT command with the PREEMPT AND ABORT service action (aborts tasks already in the task set, if they've arrived yet)
 
If you send one of these in a connection before the ACK was received for the previous command (in its connection), there is no guarantee which one the device server will receive first.
 
Since a narrow port or a wide ports in only one connection at a time to another port already preserves ordering (due to the interlocked frame transmission rules), it's probably best for SAS-2 to include rules for these cases for wide ports with multiple connections to other wide ports as well.
 
--
Rob Elliott, elliott@hp.com
Hewlett-Packard Industry Standard Server Storage Advanced Technology
https://ecardfile.com/id/RobElliott

 


From: owner-t10@t10.org [mailto:owner-t10@t10.org] On Behalf Of Mignon Fernandez  
Sent: Tuesday, June 06, 2006 4:58 AM
To: t10@t10.org
Subject: SAS wide init/targ command transfers

Hello,
 
Based on how I understand the spec (sas1r10), it is possible for a wide Initiator and a wide Target to have simultaneous connections with each other on different PHYs.
 
For this scenario (a wide initiator having multiple simultaneous connections with a wide target), I could not find the info in the spec the rules or the restrictions of command transfer/processing (e.g. if only simple commands can be transmitted etc..). Can there be a case where a wide initiator sends an ordered command on one phy and another ordered command on another phy to the same wide Target? 
 
Thanks in advance,
Mignon Fernandez