User Manual

SCSI Commands Reference Manual, Rev. J 383
www.seagate.com Parameters for direct access devices
a) If the NUMBER OF LOGICAL BLOCKS field is set to zero, the logical unit shall retain its current capacity if the logical block length has not
changed. If the NUMBER OF LOGICAL BLOCKS field is set to zero and the content of the LOGICAL BLOCK LENGTH field (i.e., new logical
block length) is different than the current logical block length, the logical unit shall be set to its maximum capacity when the new logical
block length takes effect (i.e., after a successful FORMAT UNIT command).
b) If the NUMBER OF LOGICAL BLOCKS field is greater than zero and less than or equal to its maximum capacity, the logical
unit shall be set to that number of logical blocks. If the content of the LOGICAL BLOCK LENGTH field is the same as the cur
-
rent logical block length, the logical unit shall not become format corrupt. This capacity setting shall be retained through
power cycles, hard resets, logical unit resets, and I_T nexus losses. If the content of the LOGICAL BLOCK LENGTH field is the
same as the current logical block length this capacity setting shall take effect on successful completion of the MODE
SELECT command. If the content of the LOGICAL BLOCK LENGTH field (i.e., new logical block length) is different than the
current logical block length, this capacity setting shall take effect when the new logical block length takes effect (i.e., after
a successful FORMAT UNIT command);
c) If the NUMBER OF LOGICAL BLOCKS field is set to a value greater than the maximum capacity of the device and less than
FFFFFFFF FFFFFFFFh, then the device server shall terminate the MODE SELECT 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. The
logical unit shall retain its previous block descriptor settings; or
d) If the NUMBER OF LOGICAL BLOCKS field is set to FFFFFFFF FFFFFFFFh, the logical unit shall be set to its maximum capac-
ity. If the content of the LOGICAL BLOCK LENGTH field is the same as the current logical block length, the logical unit shall
not become format corrupt. This capacity setting shall be retained through power cycles, hard resets, logical unit resets,
and I_T nexus losses. If the content of the LOGICAL BLOCK LENGTH field is the same as the current logical block length this
capacity setting shall take effect on successful completion of the MODE SELECT command. If the content of the LOGICAL
BLOCK LENGTH field (i.e., new logical block length) is different than the current logical block length this capacity setting
shall take effect when the new logical block length takes effect (i.e., after a successful FORMAT UNIT command).
The LOGICAL BLOCK LENGTH field specifies the length in bytes of each logical block. No change shall be made to any logical
blocks on the medium until a format operation is initiated by an application client.
A device server shall respond to a MODE SENSE command (see 3.11 and 3.12) by reporting the length of the logical blocks as
specified in the LOGICAL BLOCK LENGTH field sent in the last MODE SELECT command that contained a mode parameter block
descriptor. If no MODE SELECT command with a block descriptor has been received then the current logical block length shall be
returned (e.g., if the logical block length is 512 bytes and a MODE SELECT command occurs with the LOGICAL BLOCK LENGTH
field set to 520 bytes, any MODE SENSE command would return 520 in the LOGICAL BLOCK LENGTH field). To determine the
logical block length at which the logical unit is currently formatted, the application client shall use the READ CAPACITY
command rather than the MODE SELECT command.