Credit Advance Question

Pooja Gupta pooja.gupta at synopsys.com
Wed Nov 12 03:00:13 PST 2014


Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1411120_f.htm">HTML-formatted message</a>

Hi All,
I read the "Credit Advance" feature in the SAS Specification SPL-4 (T10/BSR
INCITS 538 Revision 01, 8 October 2014)
The text added in the Spec for this feature everywhere talks about Credit
being advanced for the end receiving the OPEN Address Frame.
For Example (see the highlighted below),
=========================================================================
3.1.41 credit advance
SSP phy feature that increments a transmit SSP frame credit on receipt of an
OPEN address frame without
waiting for an RRDY
4.1.14 Advancing credit
If an SSP phy that implements credit advance receives an OPEN address frame
with the CREDIT ADVANCE
bit set to one, then the SSP phy:
1) increments the transmit SSP frame credit by one (see 6.18.9.1); and
2) ignores the next RRDY.
A destination SSP phy that does not implement the CREDIT ADVANCE bit (see
6.8.3) does not advance credit.
6.18.4 SSP flow control
If credit advance is implemented (see 4.1.14) and an OPEN address frame with
the CREDIT ADVANCE bit set to
one is received, then:
1) at the beginning of each connection a transmit SSP frame credit of zero is
established;
2) the transmit SSP frame credit is incremented by one (see 6.18.9.4);
3) the first RRDY received does not increment transmit SSP frame credit (see
6.18.9.4); and
4) each subsequent RRDY increments transmit SSP frame credit by one frame.
=========================================================================
But in SL_CC state machine, I could find an instance where it talks about the
end transmitting OAF (see the highlighted below):
=========================================================================
6.16.4.3.4 Transition SL_CC1:ArbSel to SL_CC3:Connected
If credit advance is implemented (see 4.1.14) and:
a) the CREDIT ADVANCE bit is set to one in the transmitted OPEN address
frame; and
b) the SAS PROTOCOL field is set to 001b (i.e., SSP) in the transmitted OPEN
address frame,
then this transition shall include an Advance Credit argument.
=========================================================================
And, this Advance Credit argument is sent to SSP link layer state machines as
Advance Credit
Message
6.16.4.5 SL_CC3:Connected state
if this state is entered with an Advance Credit argument, then this state
shall send an Advance Credit
message to the SSP link layer state machines (see 6.18.9).
6.18.9.4 SSP_TCM (transmit frame credit monitor) state machine
If an Advance Credit message is received, then this state machine shall:
1) increment transmit SSP frame credit by one frame;
2) ignore the first RRDY Received message received; and
3) add one transmit SSP frame credit for each subsequent RRDY Received
message received.
So, from the above snippets, it looks like Credit would get advanced for the
end transmitting OAF as well.
Is this understanding correct?
And, the OAF transmitter would also ignore the first RRDY received, if it
sent OAF with "Credit Advance" set to 1.
Is it correct?
Regards,
Pooja



More information about the T10 mailing list