bad block recovery

mark hilliard mark at gizzmo.UUCP
Wed Mar 23 22:40:49 AEST 1988



A lot of people have recently asked questions in unix-pc.general
concerning the bad block problem on the hard disk of the UNIX PC
system.  Objective Programming Incorporated sells a product which, 
among other functions, handles this problem: "Objective Utilities".  
To lend some light on this issue, the following is an excerpt from 
pages 37 and 38 of the documentation manual for Objective Utilities 

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

                                   - 37 -


        12. Bad blocks on the hard disk of a UNIX system 

            Most hard disks have a few "bad" spots: little areas  on
        their  surfaces where the magnetic material does not respond
        properly to the magnetization flux they are being  subjected
        to.   These  bad  spots  translate  into  "bad blocks" after
        initialization and formatting of the hard disk.

            These bad blocks can be found on brand new  hard  disks,
        and  they  sometimes  spontaneously  arise with use on older
        ones due to general aging and a  variety  of  other  causes,
        even  if  they  weren't  there  at  the time of manufacture.
        Though the system, on initialization of the hard disk,  does
        have  a  "burn-in" surface-testing feature which is supposed
        to remove such blocks and put them on the disk's "bad  block
        table",  sometimes  the  repeated  execution of this feature
        (which is usually recommended by the  manufacturer)  results
        in  many  good blocks being thrown out to the disk bad block
        table (and permanently removed from the system)  along  with
        the bad ones, while many blocks on the hard disk which later
        prove a problem are not caught at all at this time.

            A bad block in the wrong place at  the  wrong  time  can
        prove  a  disaster  for  your  system.  Its errors pop up at
        random, causing executions to  bomb,  data  to  be  lost  or
        inadvertently  modified, reboots and prints and floppy reads
        to fail, unexpected race conditions to occur,  and  a  truly
        bizarre  array  of  other problems, all of which are totally
        unpredictable.

            Part of the problem here is that some blocks, containing
        a crucial piece of system software, might be accessed a 1000
        times per day for a given software load, while others  might
        be  accessed barely once a week.  Therefore, a block that is
        perfectly good under certain circumstances can become  "bad"
        when  it  sees  heavy duty under other circumstances ... and
        vice versa when it sees light duty.


        12.1 Reloading the system software is NO solution 

            It is no solution to this problem to  completely  reload
        the  system and application software in the hope that, after
        this reload, the bad blocks won't appear at the same  points
        in  the  software  as  they did before.  While this might be
        true, all that would be accomplished by this  process  would
        be  to  move  the  problem to some other place in some other
        software module in the system (while  retaining  it  on  the
        same place on the hard disk).

            This  might  work  for  the  particular  bad  block   in


                                   - 38 -



        question;  but  it  also might not, and it might also reveal
        other bad blocks elsewhere causing twice as  many  problems,
        problems  that  perhaps won't even appear until some time in
        the future.


        12.2 Hard disk surface checking as one solution 

            As was mentioned above, the diagnostic floppy has a hard
        disk  surface-testing  function  which is supposed to detect
        bad spots, place them on the bad block  table  of  the  hard
        disk,  and  give  blocks  belonging to those spots alternate
        tracks and sectors so they are  never  referenced  again  at
        those  spots  by your system.  If you wish to go through the
        agonizing  process  of  backing  up  an  entire  hard  disk,
        reinitializing   it,   doing  the  extremely  time-consuming
        surface test, and then reloading all software and data, this
        surface-testing   function,  used  in  this  manner,  might,
        temporarily, solve your problem (though it might not --  not
        even  temporarily  --  as mentioned above, and it might lose
        more good blocks of your hard disk).

            Also, there is a  so-called  "non-destructive"  surface-
        test  of  the  diagnostic floppy that can be run without the
        necessity of reinitializing your hard disk.  This option has
        the  additional  problem of potentially being destructive of
        hard disk data.  Specifically, after putting the  number  of
        any  bad block it finds on the bad block table and giving it
        an alternate track and sector, this program loses that data!
        If the bad block it detected had crucial data on it, it will
        now be lost forever!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

If you would like to find out more, please contact David at the address
listed below.  I have not seen or tried any of his software.

			David  Solan
			Objective Programming Incorporated
			Post Office Box 123
			Norwalk,  CT  06856
			ATTMAIL: !dsolan
			VOICE: (203) 866-6900

-- 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
                                                {codas,u1100a}-----\
Mark Hilliard                          rutgers!rochester!pcid!kodak!gizzmo!mark
   N2HHR                                  {lazlo,ethos,fthood}-----/



More information about the Unix-pc.general mailing list