Is the drive full or near full? If so, it may just need more space. Have you run a chkdsk against the drive? If not, open a command prompt (possibly as admin) and type:
chkdsk d: /f
substituting "d" with your drive letter. For a longer more thorough check, you can use:
chkdsk d: /f /r
but be warned, this can take a while depending on how large the drive is.