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.
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