From owner-freebsd-hardware@FreeBSD.ORG Tue Oct 12 16:50:33 2004 Return-Path: Delivered-To: freebsd-hardware@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3512116A4CE for ; Tue, 12 Oct 2004 16:50:33 +0000 (GMT) Received: from nargothrond.kdm.org (nargothrond.kdm.org [70.56.43.81]) by mx1.FreeBSD.org (Postfix) with ESMTP id B707643D3F for ; Tue, 12 Oct 2004 16:50:32 +0000 (GMT) (envelope-from ken@nargothrond.kdm.org) Received: from nargothrond.kdm.org (localhost [127.0.0.1]) by nargothrond.kdm.org (8.12.11/8.12.11) with ESMTP id i9CGoTGO086768; Tue, 12 Oct 2004 10:50:29 -0600 (MDT) (envelope-from ken@nargothrond.kdm.org) Received: (from ken@localhost) by nargothrond.kdm.org (8.12.11/8.12.5/Submit) id i9CGoTH4086767; Tue, 12 Oct 2004 10:50:29 -0600 (MDT) (envelope-from ken) Date: Tue, 12 Oct 2004 10:50:29 -0600 From: "Kenneth D. Merry" To: David Gilbert Message-ID: <20041012165029.GA86646@nargothrond.kdm.org> References: <20041011043508.GA72113@nargothrond.kdm.org> <20041011210303.GA78436@nargothrond.kdm.org> <16747.63803.470649.921882@canoe.dclg.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <16747.63803.470649.921882@canoe.dclg.ca> User-Agent: Mutt/1.4.2i X-Virus-Scanned: clamd / ClamAV version 0.75.1, clamav-milter version 0.75c on nargothrond.kdm.org X-Virus-Status: Clean cc: Roisin Murphy cc: freebsd-hardware@freebsd.org Subject: Re: sata raid & write cache state X-BeenThere: freebsd-hardware@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: General discussion of FreeBSD hardware List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Oct 2004 16:50:33 -0000 On Tue, Oct 12, 2004 at 11:33:15 -0400, David Gilbert wrote: > >>>>> "Kenneth" == Kenneth D Merry 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. Some do, some don't. Take a look at the vendors' specs and they'll tell you whether the drive has support for queueing. e.g. from a quick look at Maxtor's site, the DiamondMax Plus 9 doesn't support queueing, and the DiamondMax 10 claims to support NCQ. > 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. Hopefully it'll be better than the current generation queueing support. Note that even the current generation queueing support can do out of order completion on reads. That's because it's pretty easy to return the data and status at the same time on a read. :) The problem is on writes. If you have write caching turned off, the drive will have to commit the write to media before it can send status back. So you can't effectively send data for the next write command before the current write data is committed. It's entirely possible that SATA II has fixed things, I don't know. Ken -- Kenneth Merry ken@FreeBSD.ORG