SCSI Tagged Commands Question

Gary_Peterson at DGC.ceo.dg.com Gary_Peterson at DGC.ceo.dg.com
Mon Mar 6 07:18:01 PST 1995


CEO comments:
Attached.
 
Please respond to:  Gary_Peterson at DGC.ceo.dg.com
 
Thanks.


CEO document contents:  
To:    John Lohmeyer

CC:    SCSI Reflector

From:  Gary S. Peterson                Gary_Peterson at DGC.ceo.dg.com
       Data General Corp.

Re:    SCSI-2/SCSI-3 Overlapped Tagged Command Handling

Date:  March 1, 1995

       We have a question regarding the proper handling of overlapped tagged
commands to a disk drive. According to the SCSI-2 spec, the drive should treat
an attempt to reissue an in-use tag as an Incorrect Initiator Connection,
clearing the tagged command queue and returning a ABORTED COMMAND/OVERLAPPED
COMMANDS ATTEMPTED, as per 7.5.2.

       However, consider the following:

       Select w/ATN (7,0)
           Message Out /C0 20 0C (Tag)
           Command     /2A 00 00 2E 0B E9 00 00 3D 00
           Message In  /04 (Disconnect)
       Bus Free

       Select w/ATN (7,0)
           Message Out /C0 20 0C (Tag)
           Command     /2A 00 00 2E 0B E9 00 00 3D 00
           Message In  /04 (Disconnect)
       Bus Free

       Select w/ATN (7,0)
           Message Out /C0 20 0E (Tag)
           Command     /2A 00 00 32 F6 52 00 00 16 00
           Message In  /04 (Disconnect)
       Bus Free

       Reselect (0,7)
           Message In  /80 20 0C (Tag)
           Status      /02 (Check Condition)
           Message In  /00

       Select w/ATN (7,0)
           Message Out /C0 01 03 01 19 08 (Identify, SDTR)
           Message In  /01 03 01 19 08 (SDTR)
           Command     /03 00 00 00 12 00
           Data In     /70 00 0B 00 00 00 00 0A 00 00 00 00 4E 00 01 00 00 00
           Status      /00
           Message In  /00
       Bus Free

       Reselect (0,7)
           Message In  /80 20 0E (Tag)
               .
               .
               .  
Our questions:

1.     What is supposed to happen with the Tag 0E command?  That is, when the
       drive clears its queue, is it when it detects the error (parsing the
       second 0C command) or when it reports the check condition (after
       receiving the 0E command)?

2.     According to the SCSI-2 spec, "if a target receives a queue tag that is
       currently in use for the I_T_L nexus, it shall respond as defined in
       7.5.2". (section 6.6.17).

       Does this imply that a target is responsible for validating the tag ID
       before disconnecting, to prevent the condition described above?





More information about the T10 mailing list