User Manual
SCSI Commands Reference Manual, Rev. J 169
www.seagate.com Direct Access Block commands (SPC-5 and SBC-4)
DEFECTIVE LBA LIST field
The DEFECTIVE LBA LIST field contains a list of defective LBAs. Each LBA is a four-byte field if the LONGLBA bit is set to zero or an eight-byte field
if the LONGLBA bit is set to one. The LBAs shall be in ascending order.
If the direct-access block device has insufficient capacity to reassign all of the specified logical blocks, the device server shall
terminate the command with CHECK CONDITION status with the sense key set to HARDWARE ERROR and the additional sense
code set to NO DEFECT SPARE LOCATION AVAILABLE.
If the direct-access block device is unable to successfully complete a REASSIGN BLOCKS command, the device server shall
terminate the command with CHECK CONDITION status with the appropriate sense data (see
SPC-5). The first LBA not reassigned
shall be returned in the COMMAND-SPECIFIC INFORMATION field of the sense data. If information about the first LBA not
reassigned is not available, or if all the defects have been reassigned, the COMMAND-SPECIFIC INFORMATION field shall be set to
FFFFFFFFh if fixed format sense data is being used or FFFFFFFF_FFFFFFFFh if descriptor format sense data is being used.
If the REASSIGN BLOCKS command failed due to an unexpected unrecoverable read error that would cause the loss of data in a
logical block not specified in the defective LBA list, the LBA of the unrecoverable block shall be returned in the INFORMATION
field of the sense data and the VALID bit shall be set to one.
If the REASSIGN BLOCKS command returns CHECK CONDITION status and the sense data COMMAND-SPECIFIC INFORMATION field contains a
valid LBA, the application client should remove all LBAs from the defective LBA list prior to the one returned in the COMMAND-SPECIFIC INFOR-
MATION field. If the sense key is MEDIUM ERROR and the INFORMATION field contains the valid LBA, the application client should insert that
new defective LBA into the defective LBA list and reissue the REASSIGN BLOCKS command with the new defective LBA list. Otherwise, the
application client should perform any corrective action indicated by the sense data and then reissue the REASSIGN BLOCKS command with the
new defective LBA list.