Comment on 08-206 rev. 4

Gerry.Houlder at Gerry.Houlder at
Mon Feb 9 08:42:49 PST 2009

* From the T10 Reflector (t10 at, posted by:
* Gerry.Houlder at
So my opinion is based on what meaning the SASPhyPwrMgmt variable means to
the SP state machine. It has states of active, partial, or slumber. We know
that the partial and slumber states relater to having the SAS transmitter
in a lower power state that could mean clocks are turned off or other kinds
are circuits are turned off so that the transmitter is not capable of
transmitting anything other than D.C. Idle. I believe the active state of
this variable should relate to the transmitter being fully powered on and
able to transmit things other than D.C. Idle. This means the variable needs
to set to active in order to begin sending COMINIT, COMSAS, COMWAKE, or a
synchronized string of primitives.
We don't need this variable to relate to the readiness of the link. We have
Phy Ready state and a host of other states that indicate intermediate steps
to wake up and train the link for full operation. We need this variable to
indicate that the transmitter hardware is fully powered up and ready to
send something other than D.C. idle.
	     "Craig Stoops"						   
	     <craig at expertio.c						   
	     om>							To 
	     No Phone Info	       Gerry.Houlder at	   
	     Available							cc 
				       t10 at			   
	     02/03/2009 10:03	       Re: Comment on 08-206 rev. 4	   
Hi Gerry,
I'd like to differ for the following reasons:
1) Although it is set to ACTIVE when we start the cominit, it doesn't
really matter since SAS PHY is NOT_READY. So I think technically it
doesn't matter if you set ACTIVE then or not until after SP15 when READY
is signaled.
2) On the other hand, in PS_ALIGN0, we do not infact know that the wakeup
will be successful of not. Align exchange could fail, and an OOB sequence
might be needed to recover. Unlike the the other case above, SAS PHY is
still READY in this PS state. The combination of READY and ACTIVE signals
that the Port Layer can request connections, and that we want to know they
will be opened or rejected in a reasonable time, which can't be guaranteed
until we are back to SP15 - A cominit sequence can take a while.
I'd make the arguement that maybe even ACTIVE shouldn't be set in the
first case until we get to SP15, basically advertising a status of NONE.
Any, that's my two cents.
Craig Stoops
ExpertIO, Inc.
"Your Storage Protocol Verification Experts"
> * From the T10 Reflector (t10 at, posted by:
> * Gerry.Houlder at
> *
> 08-206 creates a SASPhyPwrMgmt state machine variable that can assume
> states of Active, Partial, or Slumber. I presume Active means the
> transmitter is ready to send primitives  or signals (i.e., in a condition
> to send anything other than DC Idle).
> The variable is set to active on entry to OOB_COMINIT. This makes sense
> me, since the transmitter is about to transmit a COMINIT signal on the
> interface.
> I think this variable should also be set to Active on entry to the
> SAS_PS_ALIGN0 state, since the transmitter is expected to send ALIGN (0)
> primitives at this point. According to current wording, however, the
> variable is not set to active until the transition from SAS_PS_ALIGN1 to
> PHY_Ready. This seems wrong to me.
> I think this variable shall be set to Active upon entry to the
> SAS_PS_ALIGN0 state. Alternatively, it could be set to Active on exiting
> SAS_PS_Phy_Low_Power state since this is the only place that transitions
> to
> the SAS_PS_ALIGN0 state. Then the reference to this variable is not
> in clause (Transition from Align1 to Phy Ready).
> Comments anyone? If this is agreeable, I'd like to have George
> this change into the integrated version of the proposal.
> *
> * For T10 Reflector information, send a message with
> * 'info t10' (no quotes) in the message body to majordomo at
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list