Quirky wording introduced between SPC-2 r00 and SPC-2 r01

Elliott, Robert (Server Storage) Elliott at hp.com
Wed Mar 12 07:41:54 PDT 2014


Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1403120_f.htm">HTML-formatted message</a>

That change came from 97-256r2 (RBC alignment).
"No distinction" means pages are always saved (current pages are always the
same as saved pages), so SP=0 is disallowed because there's no way to not
save as requested.  If pages are never saved, then SP=1 is disallowed because
there's no way to save as requested.
---
Rob Elliott    HP Server Storage
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Ralph Weber
Sent: Tuesday, 11 March, 2014 6:11 PM
To: t10 at t10.org
Subject: Quirky wording introduced between SPC-2 r00 and SPC-2 r01
A very old problem has come to my attention.
In SPC-2 (yes -2, circa fall 1997), r00 described the SP bit in the MODE
SELECT command as follows:
A save pages (SP) bit of zero indicates the device server shall perform the
specified MODE SELECT operation, and shall not save any pages. An SP bit of
one indicates that the device server shall perform the specified MODE SELECT
operation, and shall save to a non-volatile vendor-specific location all the
savable pages including any sent in the Data-Out Buffer. The SP bit is
optional, even when mode pages are supported by the target. Pages that are
saved are identified by the parameter savable bit that is returned in the
page header by the MODE SENSE command (see 8.3). If the PS bit is set in the
MODE SENSE data then the page shall be savable by issuing a MODE SELECT
command with the SP bit set. If the target does not implement saved pages and
the SP bit is set to one, the command shall be terminated with CHECK
CONDITION status. The sense key shall be set to ILLEGAL REQUEST, and the
additional sense code set to INVALID FIELD IN CDB.
Based on an SPC-2 r01 revision history that said, In the MODE SELECT command,
'PS bit set" has been changed to "PS bit set to one" in two places', the
paragraph became:
A save pages (SP) bit of zero indicates the device server shall perform the
specified MODE SELECT operation, and shall not save any pages. If the target
implements no distinction between current and saved pages and the SP bit is
zero, the command shall be terminated with CHECK CONDITION status. The sense
key shall be set to ILLEGAL REQUEST, and the additional sense code set to
INVALID FIELD IN CDB. An SP bit of one indicates that the device server shall
perform the specified MODE SELECT operation, and shall save to a non-volatile
vendor-specific location all the savable pages including any sent in the
Data-Out Buffer. The SP bit is optional, even when mode pages are supported
by the target. Pages that are saved are identified by the parameter savable
bit that is returned in the page header by the MODE SENSE command (see 8.3).
If the PS bit is set to one in the MODE SENSE data then the page shall be
savable by issuing a MODE SELECT command with the SP bit set to one. If the
target does not implement saved pages and the SP bit is set to one, the
command shall be terminated with CHECK CONDITION status. The sense key shall
be set to ILLEGAL REQUEST, and the additional sense code set to INVALID FIELD
IN CDB.
This text has been maintained without changes since 1997. However, ...
There appears to be no safe SP value that the application client can use when
it does not want pages saved. Both SP=0 and SP=1 will result in a CHECK
CONDITION if the device server does not implement savable pages.
Opinions are hereby solicited. My guess is that the "no distinction" SP==0
requirement should be SP==1, but CAP has kept me hopping today and something
may have been missed.
All the best,
.Ralph



More information about the T10 mailing list