SBP-2: Task Management Models

Stephen_Finch at Stephen_Finch at
Thu Apr 2 07:46:35 PST 1998

* From the T10 (formerly SCSI) Reflector (t10 at, posted by:
* Stephen_Finch at

I concur with Peter's assessment.  I believe we gave Peter the task of
including the appropriate text in 3d in response to one of my letter ballot
comments, and now wish Peter had put the text recommended below in at that
time.  I say we accept this at the May meeting.

steve finch

PJohansson <PJohansson at> on 04/01/98 03:44:03 PM

To:   T10 at Symbios.COM
Subject:  SBP-2: Task Management Models

* From the T10 (formerly SCSI) Reflector (t10 at, posted by:
* PJohansson <PJohansson at>
SBP-2 appears to be painted into a bit of a corner, but I think it may be
an editorial cornder.
The basic task management model (which is a minimum requirement) outlaws
functions useful to some applications. For example, TERMINATE TASK is
prohibited within the basic model; in theory it is optional when an SBP-2
device reports a q bit equal to one in its Logical_Unit_Number entry or
But what does a q bit equal to one permit? Well, the draft says that the
management model is further specified by the command set. For the sake of
argument, let's assume a SCSI command set, perhaps the "classic" disk (SBC)
else RAID (SSC). Turning to SPC-2 we find that the task management model is
controlled by the combined values of the BQue and CmdQue bits in INQUIRY
If CmdQue is equal to one, the target supports classic, full SAM queuing:
SIMPLE, ORDERED, HEAD OF QUEUE and ACA task attributes. Hmmm....  SBP-2 has
support for HEAD OF QUEUE and ACA; it also requires that you not mix SIMPLE
and ORDERED. Guess our hypothetical device can't say it supports full SAM
queuing. That leaves basic and, by implication, a q bit value of zero in
configuration ROM.
Which returns us to the problem: TERMINATE TASK is prohibited under the
I think the (editorial) problem is in the definition of the q bit when it
one. To quote from SBP-2, "When q is one, the task management model is
dependent upon the command set specified by the Command_Set_Spec_ID and
Command_Set entries." I think this is better expressed as "When q is one,
logical unit may implement a different task management model or support
management functions not permitted by the basic task management model.
set-dependent means shall be available to characterize the logical unit."
With the above change, the hypothetical SCSI device would report the
     1 Configuration ROM q bit
     0 Control mode page CmdQue bit
     1 Control mode page BQue bit
     1 INQUIRY data TrmTsk bit
An analogous case can be made for LOGICAL UNIT RESET (although the only way
discover if a logical unit implements this function is to give it a try).
One last question, raised by both Steve Finch and Gene Milligan in letter
ballot comments? Is TERMINATE TASK useful or in use? I defended it as such
based on its history: TERMINATE TASK was introduced to permit the
demise of a task (device media would be checkpointed and accurate transfer
lengths returned) in contrast to ABORT TASK (the latter gives no assurances
about the state of device media). To me, it seems a useful
if nobody uses the function, who cares?
Peter Johansson
Congruent Software, Inc.
3998 Whittle Avenue
Oakland, CA  94602
(510) 531-5472
(510) 531-2942 FAX
pjohansson at
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list