DWS State transition during SNW

Mona monika.talwar at nsysinc.com
Wed Oct 31 03:17:14 PDT 2007


* From the T10 Reflector (t10 at t10.org), posted by:
* Mona <monika.talwar at nsysinc.com>
*
What state DWS state machine will be when device is receivig D.C idle on bus
.
For example, during Speed negotiation window, consider that SNW1 passed
successfuly and DWS state machine is in SP_DWS3,SyncAcquired state. Now
device will enter SNW-2. During RCDT both connected phys will transmit D.C.
idle. At this point of time the receiver will not be able to latch the
characters from the bus and hence will not generate any dword received
message. The DWS state machine will keep waiting for dword_received message
which it will not get.
[----------------------------------------------------------------------------
-
(As is mentioned on page# 314 if SAS2r11:
     Upon receiving a Find Dword message, the SP_DWS receiver shall monitor
     the input data stream and force each K28.5 character detected into the
first character position of a  possible dword. If the next three characters
are data characters with correct disparity, it shall send the dword as a
Dword Received (Primitive) message to the SP_DWS state machine. Until it
receives another Find Dword message, for every four characters it receives it
shall:
a) send a Dword Received (Invalid) message to the SP_DWS state machine if the
dword is an invalid dword (see 3.1.112);
b) send a Dword Received (Primitive) message to the SP_DWS state machine if
the dword is a primitive  (i.e., the dword contains a K28.5 character in the
first character position followed by three data characters); or
c) send a Dword Received (Data Dword) message to the SP_DWS state machine if
the dword is a data dword (i.e., it is not an invalid dword or a primitive).
Upon receiving a Find Dword message, the SP_DWS receiver shall monitor the
input data stream and force
each K28.5 character detected into the first character position of a possible
dword. If the next three characters
are data characters with correct disparity, it shall send the dword as a
Dword Received (Primitive) message to
the SP_DWS state machine. Until it receives another Find Dword message, for
every four characters it
receives it shall:
a) send a Dword Received (Invalid) message to the SP_DWS state machine if the
dword is an invalid
dword (see 3.1.112);
b) send a Dword Received (Primitive) message to the SP_DWS state machine if
the dword is a primitive
(i.e., the dword contains a K28.5 character in the first character position
followed by three data
characters); or
c) send a Dword Received (Data Dword) message to the SP_DWS state machine if
the dword is a data
dword (i.e., it is not an invalid dword or a primitive).
-----------------------------------------------------------------------------
]
 Instead it will received start_dws message from SP state machine(when SP
state machine enters SP10:SAS_AwaitALIGN). DWS state machine will ignore this
message and will keep waiting for dword_received message. 
But As per the specification, DWS shall restart everytime new SNW executes.
Please suggest me the correct behaviour of sas receiver in case D.C. idle is
detected on bus.
I will be thankful for the help provided.
Thanks
Mona
*
* 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