SCSI / ATA Translation


SCSI / ATA Translation is a set of standards developed by the T10 subcommittee, defining how to communicate with ATA devices through a SCSI application layer. The standard attempts to be consistent with the SCSI architectural model, the SCSI Primary Commands, and the SCSI Block Commands standards.
The standard allows for translation of SCSI read and write commands.
The standard also provides the ability to control exactly what ATA operations are executed on a target device by defining three new SCSI operation codes:
  • ATA PASS THROUGH - 28-bit ATA command without or fields
  • ATA PASS THROUGH - 28- or 48-bit ATA command without or fields
  • ATA PASS THROUGH - 28- or 48-bit ATA command with or fields

History

The first SAT standard was finalized in 2007 and published as ANSI INCITS 431–2007. It was succeeded by SAT-2 published as INCITS 465 in 2009, and SAT-3, which was finalized by T10 and is expected to be published as INCITS 517 in 2014. SAT-4 is in development. SAT has also been adopted in 2008 as an ISO/IEC JTC 1/SC 25 standard, namely ISO/IEC 14776-921.
SAT-2 was finalized in 2009. Significant additions in SAT-2 are ATAPI translations, NCQ control,
persistent reservations, non-volatile cache translation, and ATA security mode translations. The standard also defines a new data structure returned in the sense data known as the ATA Return Descriptor that contains the ATA taskfile registers. SAT-2 was promulgated as ISO/IEC 14776–922 in 2011.
The later standards are:
  • SAT-3, finalized 2014.
  • SAT-4, finalized 2016, added 32-byte ATA PASS-THROUGH command. Support additional and fields used by some ATA commands.
  • SAT-5, started 2017, finalized 2023.
  • SAT-6, started 2024. Adds translations for Command Duration Limits pages, power consumption pages, and Capacity/Product ID Mapping VPD pages. Adds GET LBA STATUS translation. DEVICE FAULT exit strategy.
The T10 committee makes the drafts of unpublished future standards freely available., this means that the SAT-6 draft is publicly available for free. Drafts of published versions are only accessible by committee members. Members of the public are encouraged to instead purchase the published version. Drafts of earlier versions may remain available on the Internet from those who have downloaded them before their corresponding version's publication.

Applications

SAT is useful for enabling ATA-device-specific commands in a number of scenarios:
A problem with many SAT implementations is that when two or more ATA devices are attached to the same SAT interface, the ATA passthrough only serves one device. This causes issues with fetching S.M.A.R.T. data, since only one device can be addressed.