MODE SELECT SP bit question - UPDATED
Kevin D Butt
kdbutt at us.ibm.com
Fri Jan 28 09:48:03 PST 2011
Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1101283_f.htm">HTML-formatted message</a>
I was just surprised by one of my engineers telling me that the SP bit in
the MODE SELECT command set to one indicates that ALL saveable mode
parameters - not just those sent in this MODE SELECT command - are
supposed to be saved. I thought it meant to save the saveable parameters
of those sent in this MODE SELECT command. The text in SPC-4r29 states:
<<An SP bit set to one specifies that the device server shall perform the
specified MODE SELECT operation, and shall save
to a nonvolatile vendor specific location all the saveable mode pages
including any sent in the Data-Out Buffer.>>
When I read this, I see the "including any sent in the Data-Out Buffer"
and I have to conclude that my engineer is correct.
His statement is, "In mode select, if SP=1 it seems like SPC explicitly
indicates that all pages which are saveable (even if they were not sent in
the mode select parameter data) shall be saved. This means
current->non-volatile memory for all saveable parameters. Seems a bit bad
|from an application perspective (don't know who changed them and when),
and a bit tough to do from a code perspective (need to process all
saveable parameters/pages from current."
Are we interpreting this correctly and should this be made more clear?
In a related question, under MODE SENSE
6.11.5 Saved values
A PC field value of 11b requests that the device server return the saved
values of the mode parameters. Mode
parameters not supported by the logical unit shall be set to zero. If
saved values are not implemented, the
command shall be terminated with CHECK CONDITION status, with the sense
key set to ILLEGAL REQUEST, and
the additional sense code set to SAVING PARAMETERS NOT SUPPORTED.
The method of saving parameters is vendor specific. The parameters are
preserved in such a manner that they are
retained when the device is powered down. All saveable mode pages should
be considered saved when a MODE
SELECT command issued with the SP bit set to one has completed with a GOOD
status or after the successful
completion of a FORMAT UNIT command.
How is the above to be interpreted? Is SAVING PARAMETERS NOT SUPPORTED
intended to be returned only if the device does not support any parameters
or is it intended to be returned if the requested page does not support
any saveable parameters? If it is intended to be returned if the requested
page does not support any saveable parameters, then what is the behavior
on 3F (return all pages)?
Next, the statement "...or after the successful completion of a FORMAT
UNIT command" seems to me to be an SBC specific statement and should have
a cross reference to SBC (and whatever other device type is appropriate).
Kevin D. Butt
SCSI & Fibre Channel Architect, Tape Firmware
Data Protection & Retention
MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
Fax: 520-799-2723 (T/L:321)
Email address: kdbutt at us.ibm.com
More information about the T10