The SMP target port actions in SAS expander.
ugawa-sxa at necst.nec.co.jp
Tue Mar 9 21:49:48 PST 2004
* From the T10 Reflector (t10 at t10.org), posted by:
* Shinji Ugawa <ugawa-sxa at necst.nec.co.jp>
The SMP target port in SAS expander is an important unit for the SMP
functions processing (i.e. it processes the PHY CONTROL function for any
other PHYs in the expander). I thought that the expander should not hang
its SMP target port.
So, I have two questions about the SMP target port actions in SAS
What should the SMP target port do, if the SMP target port never receives
a SMP_REQUEST frame when that port has connected with a SMP initiator port?
The SMP target port is forever waiting to receive the SMP_REQUEST frame
or BREAK primitive from SMP initiator port.
When the SMP target port detects a timeout of any Time Limit timer, it
sends a BREAK primitive to SMP initiator port. But it is difficult to
decide that an initial value of this timer is dealt with any SAS domains.
The SSP port discards a received frame which has illegal SOF-EOF sequence,
in SAS-1.1 spec 220.127.116.11. And I thought that the SMP target port should
discard a received SMP_REQUEST frame which has illegal SOF-EOF sequence.
1st. The SMP initiator port has transmitted a SMP_REQUEST frame. Please
refer to the figure below. The SMP target port receives two
SMP_REQUEST frames because the first idle dword has changed to the
SOF primitive for bit errors (i.e. The SMP_REQUEST(BBB) is
incomplete for the targe port).
initiator [idle dw][idle dw][idle dw][idle dw]-[SOF]-[SMP_REQUEST(AAA)]-[EOF]...
The SMP target port should process the complete SMP_REQUEST(AAA)
frame and it should discard the SMP_REQUEST(BBB) frame.
The SMP target port should transmit a BREAK primitive for the
breaking a SMP connection when it has received the SMP_REQUEST(BBB)
What do you think about both methods?
I believe that the SMP initiator port transmits a single SMP_REQUEST
frame. What if the SMP target port has received double SMP_REQUEST
frames in once SMP connection by something accident?
I thought that the SMP target port should be processing the first
SMP_REQUEST frame and it will discard the second SMP_REQUEST frame.
Otherwise, the SMP target port should transmit a BREAK primitive
for the breaking the SMP connection.
NEC System Technologies, Ltd.
* 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