If the disk has nothing important on it you might try shredding it.
Shred takes about 24 hours on a 320 GB disk. The first pass is the longest because it is generating random numbers for each location on the disk. It usually takes about 12 hours. The last 24 passes in total take about as long as the first pass by itself. That is because shred is writing one value on each pass to all of the locations on the disk.
Your problem does have the earmarks of a hardware problem but sometimes these things are resolved easier than you might expect. Many times I've mistaken a very small "software" problem such as the wrong value in the MBR as a hardware problem. That is usually because the utilities to manage hardware devices make the same mistake.