SAS DONE Credit Timeout clarifications
Elliott, Robert (Server Storage)
Elliott at hp.com
Fri May 2 16:45:16 PDT 2003
* From the T10 Reflector (t10 at t10.org), posted by:
* "Elliott, Robert (Server Storage)" <Elliott at hp.com>
*
This is a multi-part message in MIME format.
------_=_NextPart_001_01C31104.E1F78137
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
A few additional clarifications throughout the standard would help
clarify some of the DONE handling.=20
(I'm not putting these in yet; we can discuss them Monday)=20
1. Add an explanation about why the timer is stopped when credit is
exhausted:=20
If the Wait For DONE (NORMAL) message or the Wait for DONE (CREDIT
TIMEOUT) message has been=20
received, the DONE timeout timer shall be stopped after:=20
a) the Rx Credit Status (Exhausted) message is received; and=20
b) the Rx Credit Control (Blocked) message has not been received.=20
<<Add:=20
Stopping the timer ensures that, if credit remains exhausted long =
enough
that the Credit Timeout timer of the other phy in the connnection
expires, the other phy is able to transmit a DONE (CREDIT TIMEOUT).
>>=20
2. This timer is hidden in the state machine and not always mentioned =
in
7.2.6.3 DONE.=20
The DONE (ACK/NAK TIMEOUT) description does mention that the =
transmitter
will transmit BREAK=20
in 1 ms unless DONE arrives. That kind of wording is missing from DONE
(CREDIT TIMEOUT).=20
DONE (ACK/NAK TIMEOUT)=20
The SSP state machine (see 7.16.7) timed out waiting for an ACK=20
or NAK and the transmitter is going to transmit BREAK in 1 ms=20
unless DONE is received within 1 ms of transmitting the DONE=20
(ACK/NAK TIMEOUT).=20
DONE (CREDIT TIMEOUT)=20
Timed out waiting for an RRDY or received a CREDIT BLOCKED.=20
<<Change to:=20
The SSP state machine (see 7.16.7) timed out waiting for an=20
RRDY or received a CREDIT BLOCKED and the transmitter is=20
going to transmit BREAK if credit is extended for 1 ms without=20
receiving a frame or a DONE.=20
>>=20
3. In 7.16.6 (Closing an SSP connection) there is no mention of this
timer.=20
Either go with a simple approach:=20
<<=20
After transmitting DONE, the source phy initializes and starts a=20
1 ms DONE Timeout timer (see 7.16.7.5).=20
>>=20
or try to provide more details:=20
>>=20
After transmitting DONE (ACK/NAK TIMEOUT), the source phy shall=20
initialize and start a 1 ms DONE Timeout timer (see 7.16.7.5). If it=20
does not receive a DONE before the timer expires, it shall break the=20
connection (see 7.12.7).=20
After transmitting DONE (NORMAL) or DONE (CREDIT TIMEOUT), the=20
source phy shall initialize and start a 1 ms DONE Timeout timer=20
every time credit for incoming frames is extended (see 7.16.7.5). If it =
does not receive a frame or a DONE before the timer expires, it shall=20
break the connection (see 7.12.7).=20
>>=20
--=20
Rob Elliott, elliott at hp.com=20
Hewlett-Packard Industry Standard Server Storage Advanced Technology=20
<https://ecardfile.com/id/RobElliott>
https://ecardfile.com/id/RobElliott=20
------_=_NextPart_001_01C31104.E1F78137
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
SAS DONE Credit Timeout clarifications A few additional clarifications = throughout the standard would help clarify some of the DONE = handling. (I'm not putting these in yet; we can = discuss them Monday) 1. Add an explanation about why the = timer is stopped when credit is exhausted: If the Wait For DONE (NORMAL) message = or the Wait for DONE (CREDIT TIMEOUT) message has been
received, the DONE timeout timer = shall be stopped after:
a) the Rx Credit Status (Exhausted) = message is received; and
b) the Rx Credit Control (Blocked) = message has not been received. <<Add:
Stopping the timer ensures that, if = credit remains exhausted long enough that the Credit Timeout timer of = the other phy in the connnection expires, the other phy is able to = transmit a DONE (CREDIT TIMEOUT). >> 2. This timer is hidden in the state = machine and not always mentioned in 7.2.6.3 DONE. The DONE (ACK/NAK TIMEOUT) description = does mention that the transmitter will transmit BREAK
in 1 ms unless DONE arrives. = That kind of wording is missing from DONE (CREDIT TIMEOUT). DONE (ACK/NAK TIMEOUT)
The SSP state machine (see 7.16.7) = timed out waiting for an ACK
or NAK and the transmitter is going = to transmit BREAK in 1 ms
unless DONE is received within 1 ms = of transmitting the DONE
(ACK/NAK TIMEOUT). DONE (CREDIT TIMEOUT)
Timed out waiting for an RRDY or = received a CREDIT BLOCKED.
<<Change to:
The SSP state machine (see 7.16.7) = timed out waiting for an
RRDY or received a CREDIT BLOCKED and = the transmitter is
going to transmit BREAK if credit is = extended for 1 ms without
receiving a frame or a DONE.
>> 3. In 7.16.6 (Closing an SSP = connection) there is no mention of this timer. Either go with a simple = approach:
<<
After transmitting DONE, the source = phy initializes and starts a
1 ms DONE Timeout timer (see = 7.16.7.5).
>> or try to provide more details:
>>
After transmitting DONE (ACK/NAK = TIMEOUT), the source phy shall
initialize and start a 1 ms DONE = Timeout timer (see 7.16.7.5). If it
does not receive a DONE before the = timer expires, it shall break the
connection (see 7.12.7). After transmitting DONE (NORMAL) or = DONE (CREDIT TIMEOUT), the
source phy shall initialize and start = a 1 ms DONE Timeout timer
every time credit for incoming frames = is extended (see 7.16.7.5). If it
does not receive a frame or a DONE = before the timer expires, it shall
break the connection (see = 7.12.7).
>> --
Rob Elliott, elliott at hp.com
Hewlett-Packard Industry Standard = Server Storage Advanced Technology
https://ecardfile.com/id/RobElliott
------_=_NextPart_001_01C31104.E1F78137--
More information about the T10
mailing list