Question: COMWAKE_Received sm variable

Sheffield, Robert L robert.l.sheffield at intel.com
Thu Jan 27 21:04:03 PST 2005


* From the T10 Reflector (t10 at t10.org), posted by:
* "Sheffield, Robert L" <robert.l.sheffield at intel.com>
*
Henry,

I agree this could be clarified - it can be addressed in letter-ballot
comments.

The text is technically correct. 

The ATTACHED SATA PORT SELECTOR bit is set to zero on entry to
SP0:OOB_COMINIT only when the transition to SP0:OOB_COMINIT is due to a
power-on reset. The value of ATTACHED SATA PORT SELECTOR is not changed
on entry to SP0:OOB_COMINIT if the transition is due to a normal state
transition. The reason is that we want to change the value of ATTACHED
SATA PORT SELECTOR and send the corresponding SATA Port Selector Change
confirmation only when the state machine detects an explicit change in
the configuration (i.e. the SATA Port Selector is installed or removed).
To accomplish this, the state machine must "remember" the value of the
ATTACHED SATA PORT SELECTOR bit, and only change the value based upon
whether a COMWAKE RECEIVED message is received in the appropriate state
in response to the COMINIT sent by the phy.

The COMWAKE Received state machine variable was created to help in this
detection because we realized that a SATA Port Selector could respond
with a COMWAKE to the COMINIT sent in SP0:OOB_COMINIT before the
transition from SP0:00B_COMINIT to SP1:OOB_AwaitCOMX, and SP1 needs a
way to know that the COMWAKE Detected message has already been received.
So the scope of the COMWAKE Received state machine variable is limited
to SP0 and SP1. Any transition to SP0 causes the COMWAKE Received state
machine variable to be set to zero. Anytime a COMWAKE Detected occurs in
response to sending COMINIT (in SP0 or SP1), it sets the COMWAKE
Received state machine variable. When taking the transition from SP1 to
SP0 due to a Hot-Plug timeout, SP1 checks the states of both the COMWAKE
Received and ATTACHED SATA PORT SELECTOR bits to determine if the SATA
PORT SELECTOR has "disappeared" since the last time it was detected, so
if the ATTACHED SATA PORT SELECTOR bit is still set (it was remembered),
but there was no COMWAKE response to the last COMINIT sent (COMWAKE
Recieived is zero), then the SATA port selector must have "disappeared".
When SP1 detects disappearance of the SATA Port Selector in this manner,
it sets the ATTACHED SATA PORT SELECTOR bit to zero and sends a SATA
Port Selector Change confirmation.

The above discussion is a very wordy description because it explains
"why" the SP0 and SP1 states and transitions are defined as they are. I
think you'll find reading the existing text in the standard that the
needed behavior is evident.

As I said, though, I think it can be clarified...

I suggest the following change in the wording:
In SAS1.1-r7, SP0:OOB_COMINIT section 6.8.3.2.1, 4th paragraph should
say:
"Entry into this state due to power on shall set the ATTACHED SATA PORT
SELECTOR bit to zero in the DISCOVER response. Any entry to this state
shall set the COMWAKE_Received state machine variable to zero."

The second sentence could be removed completely since it's redundant,
repeating what's said in subclause 6.8.

Thankyou for noticing the need for this clarification.

Regards,
Bob Sheffield
Intel Corporation


-----Original Message-----
From: henry_wong2 at agilent.com [mailto:henry_wong2 at agilent.com] 
Sent: Thursday, January 27, 2005 5:01 PM
To: t10 at t10.org
Cc: Sheffield, Robert L
Subject: Question: COMWAKE_Received sm variable

In SAS1.1-r7, section 6.8, the last sentence in the paragraph describing
the state machine variable COMWAKE_Received
says: "Any transition to SP0: OOB_COMINIT shall set COMWAKE_Received to
zero."

In SAS1.1-r7, SP0:OOB_COMINIT section 6.8.3.2.1, 4th paragraph says:
"Entry into this state due to power on shall set the ATTACHED SATA PORT
SELECTOR bit to zero in the DISCOVER response, and shall set the
COMWAKE_Received state machine variable to zero." 

TWO QUESTIONS:
  1) Which 'shall' is to be followed:  
       a) clear COMWAKE_Received on "any transition to 
          SP0" ?
     or 
       b) clear COMWAKE_Received on entry into SPO 
          "due to power on" (i.e. only from a 
          powering on cycle) ?   
  2) Is the other signal, ATTACHED SATA PORT SELECTOR
     (mentioned in section 6.8.3.2.1, 4th paragraph), 
     to be cleared on "entry .... due to power on" 
     described correct (versus clearing on any 
     transition) ...OR... should it be cleared on 
     "any transition to SP0" also ? 

==> The answer & clearification should be included in 
    the next/final revision (r8?) of the SAS1.1 draft.

Thanks!
Regards, Henry 
*
* 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