Not with a modern disk. The drives now essentially lie about where on
the disk any given block is, you'll never know if block N is anywhere
(physically) near block N-1 or N+1.
Starting about 15 years ago, the most reasonable check I could find
was the 'verify' command in solaris' 'format' command (which I've yet
to find/write a simple alternative to). Anything else is just a waste
of time.
What this did was basically write a block of random bits, then read
and compare. You need to do both, because some blocks are readable,
but not writable, and vice versa. If you get a mismatch, the block was
unreadable, and was (hopefully) remapped, so try again. The OS
usually logs read and write errors (soft and/or hard) and you'd have
some idea of the relative 'health' of the disk.
Frankly, we would verify a disk if we hit a bad block, and if that
remapped the bad block and produced no other errors over two passes,
we'd keep using it (disks weren't that cheap then). If we got another
error, we'd replace the disk. We got so many new disks that would
encounter a bad block (and the OS would log the error) that we started
verifying the disk when we got them to map out any bad blocks. . .
Sean
[demime 1.01d removed an attachment of type application/pkcs7-signature which had a name of smime.p7s]