*BSD News Article 8503


Return to BSD News archive

Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!think.com!ames!elroy.jpl.nasa.gov!jato!llyene!snidely!staylor
From: staylor@snidely.UUCP (Scott G. Taylor)
Newsgroups: comp.unix.bsd
Subject: [BSD386] ANSWER: wd.c and badblocks with the WD1007V
Message-ID: <149@snidely.UUCP>
Date: 3 Dec 92 00:36:18 GMT
References: <148@snidely.UUCP>
Lines: 70

in article <148@snidely.UUCP>, staylor@snidely.UUCP (Scott G. Taylor) says:
> 
> Problem: WD1007V with a 766mb drive won't do the alternate sector mapping.

Thanks to all who responded, both followups and E-Mail.  I have obtained
the Technical Specifications from Western Digital on the board and now
have most of the answers.  I will address then as I asked...

> 	First off, my BSD386 system works great.
Can't say enough good here ;-)

> 	But(t), I can't get around the bad sectors on my Wren VI (676mb
> formatted) drive.
> 
> The WD1007V-WE2 controller is set for alternate sectoring.  This should
> allow the controller to do its own mapping of bad sectors after it formats
> the drive.  The physical drive parameters are 1630c/15t/53s.  With alternate
> sectoring enabled, it is reporting 1630/15/52 and using the extra sectors
> for its own mapping.  Thus, it should provide a virtually error-free
> drive to BSD386, as it does to MACH386 and DOS.
> 
> However, using the BIOS on the WD1007V to format, mark bad sectors,
> and surface analyze the drive, the sector mapping is not happening;
> every track and sector that the BIOS maps bad shows up with BAD144
> as bad.  The alternate sectoring appears to be either overridden
> or corrupted.

What is happening here is that, as traditionally was done with SMD, etc.,
is that *ONE* bad sector is allocated *PER TRACK*.  Key words here, 
meaning that if more than one sector is bad per track, the *ENTIRE*
track will be marked bad.  The entire track will also be marked bad
if sector 0 is bad.  Hence, in my case, all the tracks with 2 or
more bad sectors were resulting in 52 bad sectors.  The limit of
126 in the BAD144 table is full after only 3 bad tracks.

> Additionally, when running BAD144, there is *NO* bad block table
> present on the drive.  I have modified my BAD144 to initialize the
> table, but after mapping just a few bad tracks, I run out of room
> (>126 bad sectors).

I don't know how everyone else ended up with a BAD144 format table
on their drive, since the BIOS format does not put one there.  I
assume others have a software formatting program which builds the
table.

> I have already installed the Norway Wd.c, but that should not affect
> how the controller itself presents the drive to 386BSD.

This is in fact true.  The Norway correctly handles bad blocks on the
software side, once you have a clean BAD144 format table on the drive
and begin manually adding them to the table.  This is purely a software
bad-blocking system, and not at all related to the hardware alternate-
sectoring done by the WD1007V.

Since I don't care to dump a working drive with many bad sectors for
a broken bad-block system (126 is WAY too small these days), I have
already begun implementing a better badblocking system.  I am following
the MACH386 method (ala MACH disklabel.h, wd.c) and will come up with
the Right Way.  I'm sure not many people want to see a change in the
disklabel on the drives, but any supporters please contact me so we
can hash it out, preferablue those who have already done this 8*)

				Oh what a feeling (ouch!)
					-CKOT
--
Scott G. Akmentins-Taylor        InterNet: staylor@snidely.pmdr.wlv.ca.us
MRY Systems				   staylor@cerfnet.com
                                     UUCP: snidely!staylor

	---- "Dzied akmens, Briva Latvija.  Vienoti Latvijai!" ----