make sure your data is backed up. it could be your drive is going bad.
I just had a drive crash on me last week. lost a bit of work there.
If your drive gets worse and you are losing sectors ( or more sectors ) you can use dd_rescue to copy the information from the old drive sector by sector, while ignoring bad sectors.
http://www.garloff.de/kurt/linux/ddrescue/
I was advised that if my drive was going bad ( which it was ) fdisk might do more harm than good as it gets confused, so be careful.
good luck.