Thanks to those who
responded - it seems like the question was ambiguous.
Per Serial ATA 2.5
specification Port Selector section, the behavior of presence of SATA Port
Selector is to transmit COMWAKE before transmit COMINIT from the port selector.
It is clear that an attached SATA Port Selector can be determined if received
COMWAKE before receiving COMINIT which is what described in the SP0:OOB_COMINIT
state and the SP1:OOB_AwaitCOMX state.
SP4:OOB_COMSAS may be
entered after detected and transmitted COMINIT. Therefore, can a SATA Port
Selector be determined in SP4 when receiving COMWAKE? As it’s pointed out,
similar question applies to SP3:OOB_AwaitCOMINIT_Sent state where it has
received COMINIT already.
Regards,
Neil
Chang
From: Duerk,
Vicky P
Sent: Monday, July 31,
2006 11:06 PM
To: Chang, Neil;
t10@t10.org
Subject: RE:
sas2r04 section 6.8 SP state machine SATA port selector support
question
Neil,
COMWAKE_Received state
machine variable indicates “whether a COMWAKE detected message
was received in the SP0:OOB_COMINIT state or the
SP1:OOB_AwaitCOMX state since the last time the SP0:OOB_COMINIT
state was entered”. This variable is used in the SP1 state in the
hot-plug timer timeout case to transition to SP0.
6.8.3.3.2
Transition SP1:OOB_AwaitCOMX to SP0:OOB_COMINIT
This transition shall occur if the
Hot-Plug Timeout timer expires.
If the COMWAKE_Received state machine
variable is set to zero and the ATTACHED SATA PORT
SELECTOR bit is
set to one in the SMP DISCOVER
response (see 10.4.3.5) and the SMP DISCOVER LIST response
(see
10.4.3.12.3), the state machine
shall, before the transition:
a) set the ATTACHED SATA
PORT SELECTOR bit to zero in the SMP DISCOVER
response and the SMP DISCOVER LIST response; and
b) send a SATA Port Selector Change
confirmation to the link layer.
This particular sentence that you
mentioned in the first paragraph of your email does not prohibit COMWAKE from
being detected in some other states other than SP0 and SP1. In fact,
besides the SP4: OOB_COMSAS state that you discovered that does receive “COMWAKE
detected message”, there is another state SP3: AwaitCOMINIT_Sent state that
respond to COMWAKE detected message as well. The difference is SP3 and SP4
does not need to maintain the extra COMWAKE_Received state machine
variable. I don’t see any inconsistency here.
Vicky
From:
owner-t10@t10.org [mailto:owner-t10@t10.org] On Behalf Of Chang, Neil
Sent: Monday, July 31, 2006 6:43
PM
To: t10@t10.org
Subject: sas2r04 section 6.8 SP state
machine SATA port selector support question
6.8 SP (phy
layer) state machine
6.8.1 SP state
machine overview
…
If the phy supports SATA port
selectors, the SP state machine shall maintain a COMWAKE_Received state machine
variable to indicate whether a COMWAKE detected message was received in the
SP0:OOB_COMINIT
state or the SP1:OOB_AwaitCOMX state since the last time the
SP0:OOB_COMINIT state was entered,…
Later in 6.8.3.6 SP4:OOB_COMSAS
state, it states (in page
210),
Upon entry into this state, this
state shall send a Transmit COMSAS message to the SP
transmitter.
This state waits for receipt of a
COMSAS Transmitted message and/or a COMSAS Detected
message.
If the phy supports SATA port
selectors, the ATTACHED SATA PORT SELECTOR
bit is set to zero in the
SMP
DISCOVER response (see 10.4.3.5),
and this state receives a COMWAKE
Detected message, this state shall:
a) set the ATTACHED SATA
PORT SELECTOR bit to one in the SMP DISCOVER
response; and
b) send a SATA Port Selector Change
confirmation to the link layer.
Question: It states earlier that
COMWAKE_Received state machine variable shall be maintained to indicate that
COMWAKE_detected message was received in SP0 and SP1 states. But later in
SP4:OOB_COMSAS state, it indicates that it could receive COMWAKE detected
message. Is it just specification inconsistence? Or any comments are
appreciated.
Thanks,
Neil
Chang