IF you have a way to back up the drive, it might be worth doing this:
1. Back up the contents somewhere else
2. Re-initialize the drive using Disk Utility
3. Run the repair disk function on it a few times, do you get a good report each time?
4. Restore the data to it from the backup drive.