SAS-2 Bus Inactivity Timer

George Penokie gop at us.ibm.com
Fri Jul 7 11:35:42 PDT 2006


Formatted message: <A HREF="r0607073_f.htm">HTML-formatted message</A>

Steve,

I agree you have found a problem but the solution you have given in your 

proposal 06-273 is not the right one. The correct solution is to add in an 

item c) onto 

the list which states: start the Bus Inactivity Time Limit timer. With 

that then it would read:

If a Bus Inactivity Time Limit timer has been created and:

a) the connection is SSP or SMP and this state receives a Tx Frame 

message; or

b) the connection is STP and the phy is not both transmitting and 

receiving SATA_SYNC, 

then this state shall:

a) stop the Bus Inactivity Time Limit timer, if it is running;

b) initialize the Bus Inactivity Time Limit timer as specified in table 

123 (see 8.2.3.1); and

c) start the Bus Inactivity Time Limit timer.

That is all that is needed.

The change you are suggesting would make the description of this timer 

different than the others and have a ripple effect that would cause other 

changes throughout this section of the standard. Also, if you look at the 

definition of the Bus Inactivity Timer (see below) you will see that it is 

tied specifically to the frame transmit requests not ACKs, NAKs, etc. 

"The value in the BUS INACTIVITY TIME LIMIT field contains the maximum 

period that an SSP target port is permitted to maintain a connection (see 

4.1.10) without transferring a frame to the SSP initiator port. This value 

shall be the number of 100 ìs increments between frames that the SSP 

target port transmits during a connection. When this number is exceeded, 

the SSP target port shall prepare to close the connection (i.e., by 

requesting to have the link layer transmit DONE). This value may be 

rounded as defined in SPC-3. A value of zero in this field shall specify 

that there is no bus inactivity time limit. The bus inactivity time limit 

is enforced by the port layer (see 8.2.3)."

Bye for now,

George Penokie

Dept 9A8 030-3 A410

E-Mail:    gop at us.ibm.com

Internal:  553-5208

External: 507-253-5208

Stephen FINCH <steve.finch at st.com> 

Sent by: owner-t10 at t10.org

05/23/2006 04:14 PM

To

<t10 at t10.org>

cc

Subject

SAS-2 Bus Inactivity Timer

* From the T10 Reflector (t10 at t10.org), posted by:

* Stephen FINCH <steve.finch at st.com>

*

When going from SAS 1.1 to SAS 2 and incorporating changes contained per 

05-305r0, we accidentally broke the Bus Inactivity Timer.

In section 8.2.3.4.1 PL_PM3:Connected state description, it states:

“If:

    a) the protocol for the connection is SSP, the port is an SSP target 

port, and the BUS INACTIVITY TIME LIMIT

       field in the Disconnect-Reconnect mode page (see 10.2.7.1) is set 

to a non-zero value; or

    b) the protocol for the connection is STP, the port is an STP 

initiator port, and the STP BUS INACTIVITY TIME

       LIMIT field is not set to zero in the SMP REPORT GENERAL response 

for the destination STP target

       port,

then, upon entry into this state, this state shall:

    a) create a Bus Inactivity Time Limit timer;

    b) initialize the Bus Inactivity Time Limit timer as specified in 

table 122 (see 8.2.3.1); and

    c) start the Bus Inactivity Time Limit timer.

If a Bus Inactivity Time Limit timer has been created and:

    a) the connection is SSP or SMP and this state receives a Tx Frame 

message; or 

    b) the connection is STP and the phy is not both transmitting and 

receiving SATA_SYNC,

then this state shall:

    a) stop the Bus Inactivity Time Limit timer, if it is running; and

    b) initialize the Bus Inactivity Time Limit timer as specified in 

table 122 (see 8.2.3.1).”

My interpretation is the timer to be created when the connection is 

established.

When the transport requests a frame to be transmitted, the timer is 

stopped.

There is no case that it is again started.  Thus no timeout will occur. 

This is WRONG.

Proposed solution:

Add a third step to the actions to be taken after receiving a Tx Frame 

message so that the 

second “if” quoted above reads as follows:

“If a Bus Inactivity Time Limit timer has been created and:

    a) the connection is SSP or SMP and this state receives a Tx Frame 

message; or 

    b) the connection is STP and the phy is not both transmitting and 

receiving SATA_SYNC,

then this state shall:

    a) stop the Bus Inactivity Time Limit timer, if it is running; and

    b) initialize the Bus Inactivity Time Limit timer as specified in 

table 122 (see 8.2.3.1).

    c) start the Bus Inactivity Time Limit timer.”

Regards,

Stephen Finch

STMicroelectronics

303 381-3587

steve.finch at st.com

*

* 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