Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Oct 2004 15:03:46 -0600
From:      "Kenneth D. Merry" <ken@freebsd.org>
To:        David Gilbert <dgilbert@dclg.ca>
Cc:        freebsd-hardware@freebsd.org
Subject:   Re: sata raid & write cache state
Message-ID:  <20041012210346.GA88834@nargothrond.kdm.org>
In-Reply-To: <16747.63803.470649.921882@canoe.dclg.ca>
References:  <b21e6cca041010181932879aeb@mail.gmail.com> <20041011043508.GA72113@nargothrond.kdm.org> <b21e6cca041011090816a1352@mail.gmail.com> <20041011210303.GA78436@nargothrond.kdm.org> <16747.63803.470649.921882@canoe.dclg.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 12, 2004 at 11:33:15 -0400, David Gilbert wrote:
> >>>>> "Kenneth" == Kenneth D Merry <ken@freebsd.org> writes:
> 
> Kenneth> See my previous mail.  SATA disks differ in two ways:
> 
> Kenneth> 1.  Many don't support tagged queueing.
> 
> I'd like to see more information on this.  I was under the impression
> that SATA required some form of command queueing in all drives.
> 
> Kenneth> 2.  If the SATA disk does support tagged queueing, there is
> Kenneth> still a fundamental problem with the queueing model in SATA
> Kenneth> (and probably ATA, not sure).  According to a coworker of
> Kenneth> mine (hardware engineer) who is a SATA expert, the status
> Kenneth> phase on the bus is the same phase as the data phase.  So you
> Kenneth> basically have to send all the data to the drive on a write
> Kenneth> and the drive has to send the status back before the drive
> Kenneth> can accept any more data for another queued write command.
> Kenneth> So that limits you, effectively, to writing data for one
> Kenneth> command at a time.
> 
> It would appear that the SATA folks are introducing 'NCQ' (Native
> Command Queueing) ... which does supply out-of-order returns among
> other things.

>From talking to my co-worker again, it sounds like the SATA II spec does
allow breaking up the data and status phases for a command.  (i.e. out of
order command completion)

The key is that even if the drive supports it, the controller has to enable
that feature on the drive.

So the bottom line is that with a drive and a controller that support SATA
II NCQ and out of order completion, you could disable write caching on the
drive and still (in theory) get reasonable performance out of it.

Ken
-- 
Kenneth Merry
ken@FreeBSD.ORG



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041012210346.GA88834>