SATA tunneling in SAS

Ayyavu, Vetrivel vetri at lsil.com
Wed Oct 23 12:15:44 PDT 2002


* From the T10 Reflector (t10 at t10.org), posted by:
* "Ayyavu, Vetrivel" <vetri at lsil.com>
*
Hi,

       The discussion is about STP Transport layer Section 9.3.1 SATA
tunneling (Page 247 - Revision 2b, 19OCT2002).

1)

This is the paragraph..........

"
	Table 84 shows a target port transmitting a SATA frame to an
expander port. The expander device opens a connection to an STP initiator
port or to an expander port on the path to the STP initiator port solely for
the frame

 
      Table 84 - SATA target port transmitting a frame

SATA target port to Exp port	 Exp port to exp or STP initiator port	
          SATA_SYNC	           Idle dword	
          SATA_XRDY	       OPEN address frame	
          <repeats>	        SATA_XRDY	
          <repeats>	          <repeats>	
    <wait for SATA_RRDY	    <wait for SATA_RRDY>	
         SATA_SOF	          SATA_SOF	
               FIS	                FIS	
             CRC	               CRC	
        SATA_EOF	          SATA_EOF	
        SATA_WTRM             	         SATA_WTRM	
        SATA_SYNC	              CLOSE	

"
As per the table, the expander port sends OPEN address frame to STP
initiator/Exp port  when there is SATA_XRDY primitive from the SATA target
port. After transmitting OPEN address frame, the expander connects the SATA
target directly with STP initiator/Exp port without waiting for
OPEN_ACCEPT/OPEN_REJECT. As shown in the table, the SATA_XRDY primitives are
flowing from STP initiator/Exp port to SATA target port, the SATA target can
decode the SATA_XRDY and gives back SATA_RRDY (assuming that the SATA target
is ready)......then SOF, FIS etc. (Pls correct me if I'm wrong in
understanding the above table this way)

I beleieve the expander can connect the SATA target port with STP
initiator/Exp port only after receiving OPEN_ACCEPT primitive. Otherwise,
when STP initiator/EXP port is busy, it will not send RRDY primitives and
the connections will be hanging for RRDY (both expander <--> STP
Initiator/Exp and expander <--> SATA Target).

2)

As I understood, the flow will be like this
            
SATA target port to Exp port	 Exp port to exp or STP initiator port	
          SATA_SYNC	       Idle dword	
          SATA_XRDY	       OPEN address frame	
          <repeats>	       Idle dword (waits for OPEN Accept/Reject)

          <repeats>	          <repeats>	
    <wait for SATA_RRDY>	          <Received OPEN Accept>	
         SATA_SOF	          SATA_SOF	
               FIS	                FIS	
             CRC	               CRC	
        SATA_EOF	          SATA_EOF	
        SATA_WTRM             	         SATA_WTRM	
        SATA_SYNC	              CLOSE	

The expander sends OPEN Address frame and waits for OPEN_ACCEPT/OPEN_REJECT
primitives from the STP Initiator/Exp port and if it receives OPEN_ACCEPT
then it signals RRDY to SATA target port and connects the SATA target
directly with STP Intiator/Exp port. 

Simillarly, for Table 85 (STP initiator port transmitting a frame) also.

The question is .........

Which is correct 1) or 2)?.

Please correct me if anything wrong here.

thanks,
Vetri. A
LSI Logic,
Email: vetri at lsil.com







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