SAM R14, ABORT TASK for untagged tasks

Bob Snively Bob.Snively at eng.sun.com
Tue Aug 9 01:17:40 PDT 1994


Folks,

Gary is right in saying that ABORT TASK SET is incorrectly specified as optional
(at least on page 60 of revision 13, which is the latest I have).  
ABORT TASK should be optional and ABORT TASK SET should be mandatory.

Let me see if the following table helps clarify this:


doc	FUNCTION     (code)	Condition	What is reset

SCSI-1	ABORT		06	ITL		Any Proc for LUN from this init
							(normally only one untagged)

SCSI-2	ABORT		06	ITLx		All Proc for LUN from this init


SCSI-2	ABORT		06	IT		"Current" process (normally null)


SCSI-2	ABORT TAG	0D	ITLQ		Tagged Proc only


SIP	ABORT		06	ITLx		All Proc for LUN from this init


SIP	ABORT		06	IT		"Current" process (normally null)


SIP 	ABORT TAG	0D	ITLQ		Tagged Proc only

SAM	ABORT TASK SET	xx	NA		All Proc for LUN from this init

SAM	ABORT TASK	xx	NA		Tagged Proc only


>From this, it is clear that:
		ABORT TASK SET == ABORT 
and :
		ABORT TASK == ABORT TAG

Historically, in SCSI-1, SCSI-2, and SIP, the ABORT TAG was optional and
only valid if tagged queueing was implemented.  By extension, ABORT TASK
should be optional in SAM and only valid if tagged queueing was implemented.

Historically, in SCSI-1, SCSI-2, and SIP, the ABORT command was mandatory
and implemented by all devices.  By extension, the ABORT TASK SET should
be mandatory in SAM and implemented by all devices.

By the rules for SAM, both the ABORT TASK and the ABORT TASK SET functions
should be defined by the mapping functions, SIP, FCP, etc.  However, 
the implementations of those mapping functions are only required to
implement ABORT TASK if they support tagged queueing. 

Just in case there is any misunderstanding, both ABORT TASK and ABORT TASK SET
are defined in FCP and make use of the Recovery Abort function, which
uses the unfortunately named FC-PH function of ABTS (Abort Sequence).
At present, the ABORT TASK function is mandatory for FCP because all
tasks, even untagged ones, can be identified explicitly.  This is a 
matter of FCP overkill, but probably mostly harmless.  The ABORT TASK SET
function is of course mandatory, since it maps to the SCSI function of
ABORT.

 

>From 73632.1106 at compuserve.com Tue Aug  9 13:27 PDT 1994
>Date: 09 Aug 94 13:16:43 EDT
>To: SCSI Reflector ADMIN <scsi at WichitaKS.NCR.COM>
>Subject: SAM R14, ABORT TASK for untagged tasks
>Content-Type: text
>Content-Length: 1386
>X-Lines: 31
>
>Clause 5.1 of SAM says that the ABORT TASK function is optional for
>untagged tasks.  This is contrary to SCSI-2.  
>
>SCSI-2 has two mechanisms for aborting tasks: The ABORT TAG message and
>the ABORT message for a fully identified task of any type.  These are BOTH
>ABORT TASK FUNCTIONS.
>
>SAM does not specify ABORT TAG only.  It specifies that the ABORT TASK
>task management functions identifies the task to be aborted.  IN SIP, that
>can always be accomplished by fully identifying a task (tagged or
>untagged) and sending the ABORT message.  SCSI-2 for tagged tasks
>permitted the ABORT TAG message and allowed it to be applied, optionally,
>to untagged tasks.
>
>SAM has the ABORT TASK function confused with the ABORT TAG and ABORT
>messages.  What SAM says in revision 14 is that it may be impossible to
>abort an untagged task if the logical unit does not support the ABORT TAG
>message in SIP.  This is incorrect.  
>
>Each protocol must identify how any task, individually, is capable of
>being aborted.  For SIP, there is one guaranteed way, and one guaranteed
>only for tagged tasks.  Therefore, SIP and all other protocols must
>support the ABORT TASK task management function for all tasks.  SIP just
>has two ways which are an implementation choice to use.
>
>This must be fixed in SAM.  If it is not fixed now, it will cause a second
>public review to have it fixed later.  
>
>Gary Stephens
>
>
>




More information about the T10 mailing list