Opened 11 years ago

Closed 9 years ago

Last modified 9 years ago

#296 closed enhancement (fixed)

Support SAT ATA PASS-THROUGH fixed format sense data

Reported by: Christian Franke Owned by: Doug Gilbert
Priority: major Milestone: Release 6.4
Component: all Version: 6.2
Keywords: scsi Cc:


ATA commands like SMART RETURN STATUS (smartctl -H) and SCT ERC GET (smartctl -l scterc) return results in ATA output registers. The SAT ATA PASS-THROUGH commands forward these via sense data.

SAT-1 and older SAT-2 revisions define that the ATA PASS-THROUGH commands always return descriptor format sense data (with ATA Return descriptor) and never return fixed format sense data.

This violates the SPC-4 requirement that the sense data format is controlled by the D_SENSE bit in the Control mode page. Older SCSI layers expecting fixed format may truncate the ATA Return descriptor.

Newer versions of SAT define a fixed (D_SENSE=0) sense data format for the ATA PASS-THROUGH commands. It returns the lower (28-bit command) parts of the ATA output registers and "nonzero" flags for the upper output registers. The SATL may provide the optional ATA PASS-THROUGH Results log page to read the full result.

See T10/08-344r2.

scsiata.cpp should be enhanced to detect the new fixed format sense data.

Change History (5)

comment:1 by Christian Franke, 11 years ago

Owner: changed from somebody to Christian Franke
Status: newaccepted

comment:2 by Christian Franke, 10 years ago

Milestone: Release 6.3Release 6.4

comment:3 by Alex Samorukov, 9 years ago

Owner: changed from Christian Franke to Doug Gilbert
Status: acceptedassigned

comment:4 by Alex Samorukov, 9 years ago

Resolution: fixed
Status: assignedclosed

Implemented by dpgilbert in r4041.

comment:5 by Christian Franke, 9 years ago

FreeBSD Bug 191717
Ticket #612

Note: See TracTickets for help on using tickets.