On Tue, Jan 19, 2016 at 14:45:23 +0300, Slawa Olhovchenkov wrote:
> On Mon, Jan 18, 2016 at 05:37:04PM -0500, Kenneth D. Merry wrote:
> > I have a new set of SMR patches available.  See below for the full
> > explanation.
> > 
> > The primary change here is that I have added SMR support to the ada(4)
> > driver.  I spent some time considering whether to try to make the da(4) and
> > ada(4) probe infrastructure somewhat common, but in the end concluded it
> > would be too involved with not enough code reduction (if any) in the end.
> > 
> > So, although the ideas are similar, the probe logic is separate.
> > 
> > Note that NCQ support for SMR commands (Report Zones, Reset Write Pointer,
> > etc.) for SATA protocol shingled drives isn't active.  For both the da(4)
> > and ada(4) driver this is for lack of a way to plumb the ATA Auxiliary
> > register down to the drive.
> > 
> > In the ada(4) case, we need to add the register to struct ccb_ataio and
> > add support in one or more of the underlying SATA drivers, e.g. ahci(4).
> > 
> > In the da(4) case, it will require an update of the T-10 SAT spec to
> > provide a way to pass the Auxiliary register down via the SCSI ATA
> > PASS-THROUGH command, and then a subsquent update of the SAT layer in
> > various vendors' SAS controller firmware.  At that point, there may be 
> > an official mapping of the SCSI ZBC commands to the ATA ZAC commands, and
> > we may be able to just issue the SCSI version of the commands instead of
> > composing ATA commands in the da(4) driver.  (We'll still need to keep the
> > ATA passthrough version for a while at least to support controllers that
> > don't have the updated translation code.)
> Please, check me: currenly SMR lack of support in SCSI devices? On
> [hardvare] vendor level? Currenly only SATA controllers compatible
> with SMR (on command level)? (I am don't talk about FreeBSD support,
> question about common state).

No, there are SAS/SCSI SMR drives in development, and there is the SCSI ZBC
spec that defines the command set.  I don't know whether any vendors are
shipping SAS/SCSI SMR drives yet.

You can use SATA drives (SMR or not) with either a SATA controller or a SAS
controller.  But the way you talk to a SATA drive through a SAS controller
is with SCSI commands.  There is a SCSI spec (SAT) that defines the mapping
of SCSI commands to ATA commands.  It has recently been updated to support
mapping SMR commands from SCSI to ATA, but most (all?) SAS controllers
have not caught up with the spec.

So to use a SATA SMR drive with a SAS controller that doesn't know how to
map SMR commands from SCSI to ATA, you have to send the ATA SMR commands
through the SCSI ATA PASS-THROUGH command.  That just bypasses the usual
translations, and allows sending ATA commands in something like their
native form.

Kenneth Merry
freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to