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!" ----