SCSI defect list
A SCSI defect list describes medium defects through address descriptors returned by READ DEFECT DATA.
READ DEFECT DATA selects the primary list (PLIST), grown list (GLIST), or both. PLISTV and GLISTV identify the returned lists. DEFECT LIST LENGTH counts descriptor bytes, excluding the header; descriptor width depends on the returned format. Short and long block descriptors contain vendor-specific values, not a standardized map of defective host LBAs. [1]
The 12-byte command supports an address-descriptor index. Its reported length covers the remaining descriptors from that index, not necessarily the whole list. A short allocation can retrieve only a prefix. [1]
In the inspected smartmontools revision, scsiPrintGrownDefectListLen requests GLIST at index zero with only enough buffer for the header. It checks the returned list flags and divides the reported byte length by four or eight according to format. This is not a surface scan or descriptor-by-descriptor verification. Missing or unsupported data must not become a fabricated zero. [2]
Relations
Limitations
- A descriptor count is not a failure probability or a validated replacement threshold. Preserve command, list selection, format and collection errors when comparing observations.
Citations
- Seagate SCSI Commands Reference Manual, 100293068 Rev. M (June 2022), sections 3.26-3.27, pp. 170-173
- smartmontools scsiprint.cpp revision 5658 (2025-02-02), scsiPrintGrownDefectListLen, lines 654-756
Further reading
Sources & caveats
- Source synthesis, not a drive experiment. Manual revision and inspected implementation are explicit; no claim that all devices implement every descriptor format.