SBP-2: Task Management Models

PJohansson PJohansson at aol.com
Wed Apr 1 15:44:03 PST 1998


* From the T10 (formerly SCSI) Reflector (t10 at symbios.com), posted by:
* PJohansson <PJohansson at aol.com>
*
SBP-2 appears to be painted into a bit of a corner, but I think it may be only
an editorial cornder.

The basic task management model (which is a minimum requirement) outlaws some
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
entries.

But what does a q bit equal to one permit? Well, the draft says that the task
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) or
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 data.

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 no
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 basic
model.

I think the (editorial) problem is in the definition of the q bit when it is
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, the
logical unit may implement a different task management model or support task
management functions not permitted by the basic task management model. Command
set-dependent means shall be available to characterize the logical unit."

With the above change, the hypothetical SCSI device would report the
following:

     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 to
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 controlled
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 distinction---but
if nobody uses the function, who cares?

Regards,

Peter Johansson

Congruent Software, Inc.
3998 Whittle Avenue
Oakland, CA  94602

(510) 531-5472
(510) 531-2942 FAX

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





More information about the T10 mailing list