Advanced format drives with block errors

Terry Barnaby terry1 at beam.ltd.uk
Sat Feb 5 19:57:51 UTC 2011


Hi,

Just a bit of info. I have some Western Digital Caviar Green (Adv. Format),
WD20EARS drives. These have the "new" 4096 byte physical sector.
One of these drives had a faulty block which the drive had not been able
to automatically relocate.

I tried to force a relocation by overwriting the block with dd:
	dd if=/dev/zero of=/dev/sdb count=8 seek=694341800

This failed with a write error and a kernel message:
sd 3:0:0:0: [sdb] Add. Sense: Unrecovered read error - auto reallocate failed

Eventually I tried:
	dd if=/dev/zero of=/dev/sdb bs=4096 count=1 seek=86792725

This worked. It makes sense, I guess, as in the first dd it may have tried
to do a single 512 byte block write using a read/modify/write cycle which
would fail as the drive could not read the 4096 byte block in to modify
the 512 bytes contained within.

I wonder what would happen if a program creates a file that ends up spanning
a duff block on one of these drives ?  With a 512byte sector drive, the drive
would automatically relocate the sector and no one would notice. What would
happen with a 4096 byte sector drive ?
Will the kernel output 4096byte blocks or multiple 512byte blocks during the
write ? If the latter, and I guess it depends on the program, then the file
write will fail and manual block repair would be needed. This would not
be good ...

Perhaps one thing to watch out when using these 4096 byte sector drives.


More information about the users mailing list