99-179r1 -- commands that must be serviced in foreground mode

Gerry_Houlder at notes.seagate.com Gerry_Houlder at notes.seagate.com
Sat Jun 5 08:27:21 PDT 1999


* From the T10 Reflector (t10 at symbios.com), posted by:
* Gerry_Houlder at notes.seagate.com
*
This is my response to Bill Dallas's points:

>I NOT in favor of restricting these commands when in self-test for the
>following:
>
>The OS environments and SCSI are moving to a dynamic topology model.  To
>track changes in the topology, the tools that SCSI provides to uniquely
>ID a device are the inquiry VPD pages (pages 80 or 83).  The devices that
>reject these commands while in self test can not be id'ed in a single
system
>or Cluster environment.
>

I can agree with this requirement. Our drives are able to provide VPD page
80 and 83 information without requiring a disk access. Only a few of our
VPD
pages require disk acess, so only these pages would get CHECK status when
self-test is in progress. I hope we can agree on wording that fills both
your needs and mine.

>Start/Stop commands are used in conjunction with Inquiry commands (VPD)
since
>some devices do not return VPD information unless spun up.  While I
consider
>a device that can't return VPD information for page 80 or 83 to be
seriously
>flawed it is something I have to live with due to history.
>

If a device responds with CHECK condition and has sense bytes "self test in
progress", an initiator can safely assume the device is spun up and should
attempt the INQUIRY and/or REPORT LUNS. These should work even if self-test
is in progress. I realize this adds a slight complication to the
initiator's
polling algorithm, but this is better than (1) having the drive abort its
self-test because someone is messing with the spindle or (2) having the
drive
do nothing with the command and return GOOD status anyway.

Thinking about this reminds me that there are some commands (e.g.,
START/STOP
UNIT, FORMAT) that will cause severe problems for drive self-test in
background mode (when the drive is supposed to interrupt the test, do the
new command, then resume the test). We should define these commands as
(a) things that causebackground self-test to be aborted,
(b) things that are always rejected if self-test is in progress, or
(c) things that are suspended until self-test completes or is aborted by a
    SEND DIAGNOSTIC w/abort finction code.

I think I want option (b), because this provides the initiator with
immediate notification of what is goin on and lets it choose to abort the
self-test or wait for it to complete.


*
* 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