[SAS] Terminating a STP connection

Seto, Pak-lung pak-lung.seto at intel.com
Fri May 30 06:09:57 PDT 2003


* From the T10 Reflector (t10 at t10.org), posted by:
* "Seto, Pak-lung" <pak-lung.seto at intel.com>
*
SATA v4.0

7.2.7.4 SATA_R_RDY and SATA_X_RDY (Receiver ready and transmitter ready)
When a SATA port has a frame to transmit, it transmits SATA_X_RDY and waits
for SATA_R_RDY before
transmitting the frame. Expander devices shall not transmit SATA_R_RDY or
SATA_X_RDY on the SATA
physical link until the STP connection is established.

7.17.4 Opening an STP connection
If no STP connection exists when the SATA host port in an STP/SATA bridge
receives a SATA_X_RDY from
the attached SATA device port, the STP target port in the STP/SATA bridge
shall establish an STP connection
to the appropriate STP initiator port before it transmits a SATA_R_RDY to
the SATA device.

7.17.5 Closing an STP connection
Either STP port (i.e., either the STP initiator port or the STP target port)
may originate closing an STP
connection. An STP port shall not originate closing an STP connection after
sending a SATA_X_RDY or
SATA_R_RDY until after both sending and receiving SATA_SYNC. An STP port
shall transmit CLOSE after
receiving a CLOSE if it has not already transmitted CLOSE.


--------------
d--> scrambled data

Based on 7.17.5, it looks like the only time that a STP connection can be
closed normally is when both sides are sending and receiving SATA_SYNC.
What happen after the STP connection is closed, the SATA target sends X_RDY,
X_RDY, CONT, d,d,d,d,d,d,d.  Since there is no STP connection is
established,
the X_RDY will be lost when the expander re-connected to the initiator.  Is
the expander responsible (if it support STP) after the STP connection is
re-established to send
out X_RDY, X_RDY, CONT first before pass the d,d,d,d,d,d from the SATA
target thru the STP path?

Why in 7.2.7.4, it said "Expander devices shall not transmit SATA_R_RDY or
SATA_X_RDY on the SATA physical link until the STP connection is
established"?
The expander is not the one that is going to generate SATA_R_RDY, it is just
passing it thru when it received from the SATA_X_RDY recipient?

In 7.17.4 "If no STP connection exists when the SATA host port in an
STP/SATA bridge receives a SATA_X_RDY from the attached SATA device port,
the STP target
port in the STP/SATA bridge shall establish an STP connection to the
appropriate STP initiator port before it transmits a SATA_R_RDY to the SATA
device."
This is the same question as above, the STP/SATA bridge should not be the
one that is generating SATA_R_RDY?, it should be the one that just passes
the SATA_R_RDY
received from one node to another?

In 7.17.5 the STP connection closing condition, why the SYNC rece/sent state
is the only time an STP connection is allowed to terminate?  It should be
able to terminate a STP connection between X_RDY and SYNC?

Am I missing something?

Pak
*
* 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