Another SAS revision 4 errata
Elliott, Robert (Server Storage)
Elliott at hp.com
Fri Jun 27 16:28:53 PDT 2003
* From the T10 Reflector (t10 at t10.org), posted by:
* "Elliott, Robert (Server Storage)" <Elliott at hp.com>
*
> -----Original Message-----
> From: Hoglund, Tim [mailto:thoglund at lsil.com]
> Sent: Friday, June 27, 2003 11:15 AM
> Subject: Another SAS revision 4 errata
>
> Page 211, 7.15.9.1 State description (for
> XL6:Open_Response_Wait state),
> response generation is flawed as follows:
>
> To determine whether a Backoff Retry response or a Backoff
> Reverse Path response should be sent, items c), d), e), f)
> each compare the source SAS address and connection rate of
> the received OPEN address frame to the destination SAS
> address and connection rate of the transmitted OPEN address
> frame.
>
> While this works for a topology containing a single expander,
> it will fail (cause bad routing of OPEN address frames) for
> topologies containing multiple expanders as follows:
>
> Consider expanders X1, X2 and end devices A, B, C below:
>
> A---X1---X2---B
> |
> C
>
> A attempts to open B (source = A, dest = B)
> C attempts to open A (source = C, dest = A)
>
> Assume arbitration priority of Open(A to B) is higher than
> Open(C to A).
>
> If the opens cross on the wire between X1,X2 (both of which
> will be in XL6:Open_Response_Wait state) the following
> will occur:
>
> X1 received OPEN frame source = C
> X1 transmitted OPEN frame dest = B
>
> X2 received OPEN frame source = A
> X2 transmitted OPEN frame dest = A
>
> X1 will continue to wait due to the lower priority of the
> received OPEN address frame.
(side note: that's just because A to B has higher priority than
C to A. X1 is not comparing C to B for this.)
> X2 will generate Backoff Reverse Path and forward the
> Open(A to B) to C in error.
>
> (If arbitration priority was reversed, X2 would wait and X1
> would generate Backoff Retry in error.)
>
> What should be compared in each of these cases is the source
> SAS address and connection rate of the transmitted OPEN
> address frame to the destination SAS address and connection
> rate of the received OPEN address frame.
I agree. In 7.15.9.1 items c) d) e) and f), each of the
phrases:
"and the source SAS address and connection rate of the received
OPEN address frame are not equal to the destination SAS address
and connection rate of the transmitted OPEN address frame"
has "source" and "destination" backwards, and should be:
"and the _destination_ SAS address and connection rate of the
received OPEN address frame are not equal to the _source_ SAS
address and connection rate of the transmitted OPEN address
frame"
The losing phy is only capable of backing off towards its own
source, not its destination. So, that's the address it
should be using - the transmitted source.
This was broken in sas-r01b to sas-r01c when more detail was
added to the description. Previously the rules were worded
like this: "...OPEN address frame is received which requires
path resources already allocated to this pending connection."
Fortunately, the examples in G.6 and G.7 are correct.
G.6 (Backoff and retry) shows an outbound A to B request
being deferred in favor of an inbound B to C request. Had
the rules been literally followed, the received source B and
transmitted destination B would have matched, leading to
Backoff Reverse Path rather than Backoff Retry.
The introduction to G.6 is broken, though:
"Figure G.6 shows the condition which occurs when
a higher priority OPEN address frame (B to C) is received
by a phy which has previously forwarded an OPEN address
frame to a different destination (A to B)."
should be:
"Figure G.6 shows the condition which occurs when
a higher priority OPEN address frame (B to C) is received
by a phy which has previously forwarded an OPEN address
frame (A to B) whose source (A) differs from the winning
destination (C)."
The same goes for the G.7 introduction:
"Figure G.7 shows the condition which occurs when a higher
priority OPEN address frame (B to A) is received by a phy
which has previously forwarded an OPEN address frame to the
same destination (A to B)."
should be:
"Figure G.7 shows the condition which occurs when a higher
priority OPEN address frame (B to A) is received by a phy
which has previously forwarded an OPEN address frame (A to B)
whose source (A) matches the winning destination (A)."
> TimH
>
> ~~~~~~~~~~~~~~~~~~~~~~~
> Tim.Hoglund at lsil.com
> LSI Logic Corporation
> Storage Std Products
> 719/533-7450 (Voice)
> 719/533-7480 (Fax)
> ~~~~~~~~~~~~~~~~~~~~~~~
--
Rob Elliott, elliott at hp.com
Hewlett-Packard Industry Standard Server Storage Advanced Technology
https://ecardfile.com/id/RobElliott
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
More information about the T10
mailing list