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>