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@t10.org
[mailto:owner-t10@t10.org] On Behalf Of Mona
Sent: Wednesday,
June 07, 2006 10:12 PM
To: t10@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
----------------------------------