Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jan 2003 09:40:52 -0500
From:      Steve Byan <stephen_byan@maxtor.com>
To:        freebsd-fs@FreeBSD.ORG
Subject:   Re: JFS vs. Soft Updates (again) (was: Re: large filesystem, journaling filesystem support)
Message-ID:  <5777A7A4-2D4E-11D7-962B-00306548867E@maxtor.com>
In-Reply-To: <Pine.BSF.4.21.0301201120430.39747-100000@InterJet.elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Monday, January 20, 2003, at 02:43  PM, Julian Elischer wrote:

>> I'll agree that it can result in partial completion of a queue of
>> writes, with the order of completion being essentially unknowable, and
>> with at most one sector being corrupted, and hence having an invalid
>> ECC (and therefor returning a hard error if read).
>
> it would be nice if the drive had enough NVram to hold that one trashed
> block so it could rewrite it on powerup.

If enough customers show up waving dollar bills in their hands ...

> For us the problem is that the drive reports the write as having
> happenned when it hasn't, so teh filesystem dependencies end up being
> smashed, because teh filesystem is writing out data in dependency 
> order,
> but if the data is written in a different order to the drive,
> the drive can end up being in error in the  case of failure.

That's the cost of write-behind caching. SCSI gives you enough control 
to avoid this problem. ATA disks don't, but at least they're 
inexpensive.

> We did this on the Whustle Interjet-II. we couldn't trust the drive
> manufacturer however, so we had a 70mS hold-up built in
> which gave us enough time to do things from the kernel.
> (The hardest place was japan where some places only have AC at about
> 90VAC and so that was where the 70mSec was measured. at
> 240VAC (Australia) we had almost 200mSecs from memory :-)
>
> The holdup had to give the drive time to complete a seek, write to a
> track, discover that there was a bad sector in that range, reseek and
> write the bad part, and reseek back and complete the original write,
> possibly overflowing to the next track..
>
> It would be interesting if you could tell us what the minimum hold-up
> would be for a drive to complete any particular given write where the
> write could be up-to 128KB in size, all worst cases..

Ick, that could be a big number, maybe a couple of seconds in the very 
worst-case, I dunno for sure. I think you're probably talking a UPS 
rather than a large filter cap in the power supply. I think it's 
technically better to accept that you're not going to get all the data 
on the disk when power fails, and supply a "power fail" signal to the 
drive a few sector-times in advance of the power going out of the 
spec-limits. That way the drive could guarantee that it won't partially 
overwrite a sector.

Regards,
-Steve

--------
Steve Byan <stephen_byan@maxtor.com>
Design Engineer
Maxtor Corp.
MS 1-3/E23
333 South Street
Shrewsbury, MA 01545
(508) 770-3414


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5777A7A4-2D4E-11D7-962B-00306548867E>