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