User Manual
SCSI Commands Reference Manual, Rev. J 109
www.seagate.com Direct Access Block commands (SPC-5 and SBC-4)
SP (save pages) bit
0 A save pages (SP) bit set to zero specifies that the device server shall perform the specified MODE SELECT operation, and shall not save
any mode pages. If the logical unit implements no distinction between current and saved mode pages and the SP bit is set to zero, the
command shall be terminated with CHECK CONDITION status, with the sense key set to ILLEGAL REQUEST, and the additional sense
code set to INVALID FIELD IN CDB. An SP bit set to one specifies that the device server shall perform the specified MODE SELECT opera-
tion, and shall save to a nonvolatile vendor specific location all the saveable mode pages including any sent in the Data-Out Buffer.
Mode pages that are saved are specified by the parameter saveable (PS) bit that is returned in the first byte of each mode page by the
MODE SENSE command.
1 If the PS bit is set to one in the MODE SENSE data, then the mode page shall be saveable by issuing a MODE SELECT command with the
SP bit set to one. If the logical unit does not implement saved mode pages and the SP bit is set to one, then the command shall be termi-
nated with CHECK CONDITION status, with the sense key set to ILLEGAL REQUEST, and the additional sense code set to INVALID FIELD IN
CDB.
PARAMETER LIST LENGTH field
The PARAMETER LIST LENGTH field specifies the length in bytes of the mode parameter list that shall be contained in the Data-Out Buffer. A
parameter list length of zero specifies that the Data-Out Buffer shall be empty. This condition shall not be considered as an error.
If the parameter list length results in the truncation of any mode parameter header, mode parameter block descriptor(s), or mode page, then
the command shall be terminated with CHECK CONDITION status, with the sense key set to ILLEGAL REQUEST, and the additional sense code
set to PARAMETER LIST LENGTH ERROR.
The mode parameter list for the MODE SELECT and MODE SENSE commands is defined in 3.11. Parts of each mode parameter list are defined in
a device-type dependent manner. Definitions for the parts of each mode parameter list that are unique for each device-type may be found in
the applicable command standards.
The device server shall terminate the MODE SELECT command with CHECK CONDITION status, set the sense key to ILLEGAL REQUEST, set the
additional sense code to INVALID FIELD IN PARAMETER LIST, and shall not change any mode parameters in response to any of the following
conditions:
a) If the application client sets any field that is reported as not changeable by the device server to a value other than its current value;
b) If the application client sets any field in the mode parameter header or block descriptor(s) to an unsupported value;
c) If an application client sends a mode page with a page length not equal to the page length returned by the MODE SENSE command for
that mode page;
d) If the application client sends an unsupported value for a mode parameter and rounding is not implemented for that mode parameter;
or
e) If the application client sets any reserved field in the mode parameter list to a non-zero value and the device server checks reserved
fields.
If the application client sends a value for a mode parameter that is outside the range supported by the device server and rounding is imple-
mented for that mode parameter, the device server handles the condition by either:
a) Rounding the parameter to an acceptable value and terminating the command as described in 2.3; or
b) Terminating the command with CHECK CONDITION status, with the sense key set to ILLEGAL REQUEST, and the additional sense code
set to INVALID FIELD IN PARAMETER LIST.
A device server may alter any mode parameter in any mode page, even those reported as non-changeable, as a result of changes to other
mode parameters.
The device server validates the non-changeable mode parameters against the current values that existed for those mode parameters prior to
the MODE SELECT command.
NOTE The current values calculated by the device server may affect the application client's operation. The
application client may issue a MODE SENSE command after each MODE SELECT command, to
determine the current values.