check for bad sectors
To check the health of a harddisk you can use badblocks, attention the w option will delete all data on the disk
badblocks -svw -b 4096 -c 400000 /dev/sda
After running badblocks you can run a long selftest
smartctl -t long /dev/sda