You could try a different SATA port first if that does not help do the steps below.
Sounds like your drive maybe going bad. Make sure you have any important data backed up.
Go to the manufacture's site of your hard drive and get their drive diagnostic program and run it on the drive.
If there are errors that are not repairable and the drive is still under warranty, get a replacement from them.
If out of warranty you will have to purchase a new drive.