A 320GB 2.5" drive, I would just replace it if there is any question as to its integrity. 500GB drives aren't that expensive.
I would use something like Macrium Reflect to save an image of the C:\ drive to place on a new drive.
If you really needed to recover it and re-use it for whatever reason: https://www.seagate.com/support/downloads/seatools/
Then perform a "Full Erase" this will re-write to every bit on the drive. Any bad ones will be re-allocated/truncated. This will take a good while, but should turn the drive into the equivalent of a new blank drive.
You could then image it with the C: drive again.
Beyond that, maybe update the drivers for the SATA controller on the computer, maybe update the firmware on the drive itself.