It sounds like you have a bad disk drive. Make very sure that you have a backup of any data that care about. If the drive is bad you will need to replace it.
Depending on your disto, you should look at the kernel source, and do a deep troubleshooting, only if you want of course
Like Perderabo said, it's possible that this is a bell for bad HD, and you are advised to do backup in case of HD crash. Here is an article describing the similar issue, HTH.