The mighty SpinRite is the way to go.
http://www.grc.com/sr/spinrite.htm
However, it's not free.
Some other options include:
DiskCheckup
http://www.passmark.com/products/diskcheckup.htm
HDD Health
http://www.panterasoft.com/
S.M.A.R.T. Monitoring Tools
http://sourceforge.net/projects/smartmontools/
HD Tune
http://www.hdtune.com/
http://www.grc.com/sr/spinrite.htm
However, it's not free.
Some other options include:
DiskCheckup
http://www.passmark.com/products/diskcheckup.htm
HDD Health
http://www.panterasoft.com/
S.M.A.R.T. Monitoring Tools
http://sourceforge.net/projects/smartmontools/
HD Tune
http://www.hdtune.com/