Benjamin J. Weiss wrote:
On Thu, 15 Jul 2004, Rick Stevens wrote:
Benjamin J. Weiss wrote:
I believe that this is what is called a "low level" format. IIRC, it
formats all of the sectors, both good and bad and resets the flags. Then
it reserves a bunch of sectors as spares. Then it tests all of the
sectors to see if they'll hold the data properly. If the software detects
a problem, it flags the bad sector and brings a spare into use, just as
James said.
I used to work for Micropolis and we made hard drives. All hard drives
have bad sectors on them. The maker reserves a bunch of good sectors to
be used as replacements and the first format tags the bad sectors and
modifies a remapping table on the drive which causes it to go to one of
the spares whenever one of the bad sectors is referenced.
As time goes on and other sectors go bad, a "low level" format finds
the new bad sectors and further modifies the remapping table to use more
of the spare sectors. S.M.A.R.T. drives are supposed to be able to do
this on the fly.
Eventually, the drive will run out of spare sectors and you can't
successfully low level format it any more. The manufacturer can wipe
the original remap table and go through it again, but by that time the
drive is usually well past its MTBF and it's somewhat silly to try to
push it any further.
Thanks, Rick! I'm glad to get my misconception fixed. :) Like they say,
you learn something new every day, and this was today's. ;)
Ben
"Low-level" formats actually can't be done on a modern hard drive. The
tracks and sectors are already defined in the factory, and a true
"low-level" format can actually damage the disk. "Low-level" formats
can still be done on floppy disks. I don't know about Zip Disks or
SuperDisks or the like. "Medium-level" format is as low as formatting a
hard disk can get, which checks for bad sectors, optionally attempts to
fix them through magnetic coersion, then creates the file system and
records the bad sectors within it.
Update on the damaged hard drive...
In Windows Me DOS-Mode (emergency boot disk), fdisk had to set up weird
partition boundaries because it could not verify some parts of the disk
(e.g. the first partition had to start on cylinder 20). "formatting C:
/u" found several MB of bad sectors.
Then I ran "dd if=/dev/zero of=/dev/hdb bs=1024 count=58615704" from a
RHL 9 installation CD. Upon Mike Fedyk's suggestion, I ran "badblocks
-w /dev/hdb" to get a bunch of zeroes and ones written in reliable
patterns. No bad blocks were detected. Booting from Windows XP, the
disk was repartitioned and reformatted with no errors. Then for kicks,
I did the same thing from the Windows Me emergency boot disk, and there
still were no problems. As I predicted, physics came through:
attempting to rewrite to the disk multiple times in predictable patterns
will repair (not just "mark bad" in a filesystem) the bad sectors.
Figuring out the best patterns is still to be done.
Thanks for everyone's input on this, I learned a lot.
--
Peace,
William