SCSI / ATA Translation

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

SCSI / ATA Translation (SAT) 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 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 indevelopment.[1] SAT has also been adopted in 2008 as a ISO/IEC JTC 1/SC 25 standard, namely ISO/IEC 14776-921.[2] SAT-2 was promulgated as ISO/IEC 14776-922 in 2011.[3]

The standard allows for translation of common SCSI Block Commands such as:

The standard also provides the ability to control exactly what ATA operations are executed on a target device by defining two new SCSI operation codes:

  • ATA PASS THROUGH (12)
  • ATA PASS THROUGH (16)

The standard also defines a new data structure returned in the sense data known as the ATA Return Descriptor which contains the ATA taskfile registers.

Significant additions in SAT-2 are ATAPI translations, NCQ control, persistent reservations, non-volatile cache translation, and ATA security mode translations.[4]

Applications

SAT is useful for enabling ATA-device-specific commands in a number of scenarios:

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Douglas Gilbert, "Changes to Storage Standards", Linux File System + IO Workshop, San Jose, February 2007
  5. http://www.scsitoolbox.com/pdfs/UsingSAT.pdf
  6. Lua error in package.lua at line 80: module 'strict' not found.