The SMP target port actions in SAS expander.
Shinji Ugawa
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>
*
Hi all,
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
expander device.
//////////
/// Question-1.
//
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?
method-aa.
The SMP target port is forever waiting to receive the SMP_REQUEST frame
or BREAK primitive from SMP initiator port.
method-bb.
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.
//////////
/// Question-2.
//
The SSP port discards a received frame which has illegal SOF-EOF sequence,
in SAS-1.1 spec 7.16.7.7. And I thought that the SMP target port should
discard a received SMP_REQUEST frame which has illegal SOF-EOF sequence.
Example-1.
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).
------> time
initiator [idle dw][idle dw][idle dw][idle dw]-[SOF]-[SMP_REQUEST(AAA)]-[EOF]...
target [__SOF__][_____SMP_REQUEST(BBB)____]-[SOF]-[SMP_REQUEST(AAA)]-[EOF]...
method-aa.
The SMP target port should process the complete SMP_REQUEST(AAA)
frame and it should discard the SMP_REQUEST(BBB) frame.
method-bb.
The SMP target port should transmit a BREAK primitive for the
breaking a SMP connection when it has received the SMP_REQUEST(BBB)
frame.
What do you think about both methods?
Example-2.
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?
------> time
target [SOF]-[SMP_REQUEST(1st)]-[EOF]-[SOF]-[SMP_REQUEST(2nd)]-[EOF]...
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.
-- Thanks
Shinji Ugawa
NEC System Technologies, Ltd.
External:(+81)89-947-7901
*
* 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