SAS Transport layer- ST_IFR/ST_ITS State machines

Evans, Mark Mark_Evans at maxtor.com
Thu Jun 8 10:07:52 PDT 2006


Formatted message: <A HREF="r0606084_f.htm">HTML-formatted message</A>

Hi Monika,
For question 1:  I think there probably should be some more words in the
description in 9.2.6.2.2.2 clarifying that, in this case, the last
action by the ST_ITS state machine was sending a Transmission Complete
(Task Failed x) to the ST_IFR state machine for the frame transmitted
for the previous Send Task Management Request.	The fact that an error
occured during transmission of the previous frame is context maintained
by the	ST_ITS state machine.  The additional words could be something
like, "If the ST_ITS state machine for the tag specified in the Send
Task Management Request is currently in use (i.e., a this state sent a
Transmission Status (Task Failed x) to the ST_IFR state machine for the
previous Transmit Frame request), ..."
For question 2:  There is a little SCSI magic going on here.  The
initiator transport layer MAY look at the CDB, but that isn't required.
The Send SCSI Command request contains either a Data-In Buffer Size or a
Data-Out Buffer Size.  This is all that's required to specify whether
the command requires data transfer and, if so, in which direction.
Therefore, the data size is specified.
Regards,
Mark Evans 
________________________________
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Mona
Sent: Wednesday, June 07, 2006 10:12 PM
To: t10 at t10.org
Subject: SAS Transport layer- ST_IFR/ST_ITS State machines
Hello !! 
Could anybody please clear my doubts in SAS transport layer!!
<>I have some doubts . I am referring SAS Revision 3a, released on 22
April 2006</>
<></>Following are the queries :
1.In the ST_IFR state machine it has been stated on page 383(section
9.2.6.2.2.2)that 
"If the ST_ITS state machine for the tag specified in the Send Task
Management Request is currently in use,then this state machine shall set
the retransmit bit argument to one. If the ST_ITS state machine for the
tag specified in the Send Task Management Request is not currently in
use, then this state machine shall set the Retransmit Bit argument to
zero."
I am not able to figure out which scenario is being talked out here. As
per my understanding, ST_ITS state-machine is busy when 
ST_IFR assigns it any task. After ST_ITS state machine sends
Transmission status(nak or ack/nak time-out etc) to ST_IFR state
machine,
the ST_ITS state machine corresponding to that tag becomes free.
Moreover, Is there any static binding b/w ST_ITS state machine and TAG,
or that ST_IFR can allocate any state-machine when TASK/COMMAND request
arrives? I am concerned if I have missed something. 
2.Is CDB field's contents are visible to transport layer?
If no then how does Transport layer comes to know whether the COMMAND is
a read command or write command.
If Yes, then why does data size need to be specified exclusively in the
Execute Command request from Application layer when 
TRANSFER LENGTH/PARAMETER LIST LENGTH/ALLOCATION LENGTH are there in CDB
to specify the size of the data.
-- 
----------------------------------
Best regards
Mona
nSys
http://www.nsysinc.com
Accelerating designs
+1-510-402-4544
----------------------------------
-- 
----------------------------------
Best regards
Mona
nSys
http://www.nsysinc.com
Accelerating designs
+1-510-402-4544
----------------------------------



More information about the T10 mailing list