scsi-ata-translation · shipping · also SAT, SCSI to ATA Translation, SCSI / ATA Translation Layer, SATL

SCSI / ATA Translation (SAT)

SCSI / ATA Translation maps ATA device behavior to a SCSI command interface through a translation layer.

Related Observatory article: SCSI / ATA Translation (SAT) on hesela.com

SAT describes command-interface translation, not a physical connector or a USB transport. The translation layer presents ATA devices through SCSI behavior at the application layer; this does not turn the underlying device into a native SCSI drive. [1]

The layer need not be inside an external enclosure. Linux v6.12 documents SCSI-to-ATA translation in libATA for ATA host controllers and devices. A host-visible SCSI interface therefore does not by itself identify the physical attachment or native command set. [2]

Translated block commands and optional ATA pass-through are different paths. The smartctl 7.5 manual documents 12-byte and 16-byte ATA PASS THROUGH command descriptor blocks for its SAT device type. Working block I/O does not establish that the intervening stack exposes SMART RETURN STATUS; if that result is unavailable, an attribute-threshold fallback is not the missing drive-reported result. [3]

CHECK CONDITION can also carry requested ATA register results after a successful pass-through command. The smartctl 7.5 SAT path sets CK_COND when output registers are needed and decodes descriptor and fixed-format sense separately. Interpret SCSI status together with sense and ATA status/error fields; CHECK CONDITION alone is not a diagnosis of media failure. [4] [5]

Relations

related
Serial ATA (SATA), SCSI, UASP, USB mass storage, ATA SMART

Limitations

  • Supported diagnostic commands depend on the translation implementation and the access path, not only on the drive. [3]

Citations

  1. T10 public working-drafts index: SCSI / ATA Translation and SAT-5 scope (accessed 2026-11-03)
  2. Linux v6.12 libATA Developer's Guide: Introduction (accessed 2026-11-03)
  3. Smartmontools 7.5 manual: -d sat, -H and ATA, SCSI command sets and SAT (accessed 2026-11-03)
  4. Smartmontools 7.5 scsiata.cpp: sat_device::ata_pass_through, CK_COND and sense decoding (accessed 2026-11-03)
  5. Linux v6.12 libata-scsi.c: ata_gen_passthru_sense and ata_scsi_set_passthru_sense_fields (accessed 2026-11-03)
Sources & caveats
  • The T10 public index supports the scope description; restricted normative SAT documents were not reviewed.
  • Linux v6.12 and smartctl 7.5 are explicit implementation references, not hardware compatibility tests or a survey of later SAT revisions.

JSON: /data/terms/scsi-ata-translation.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. SCSI / ATA Translation (SAT). Hesela. 2026-11-03. https://hesela.dev/terms/scsi-ata-translation/