The dmesg command outputs kernel messages which can help in troubleshooting hardware problems. An I/O error message relating to a hard drive which shows up in dmesg output indicates the system is having difficulty reading from or writing to a sector on the hard drive. There can be many reasons for this.
The best way to trouble shoot possible hardware related problems with hard drives is by running the manufacturer's diagnostic utilities in thorough mode on the drive. All the major manufacturers have them on their websites. They are generally in the form of a bootable iso file which your burn as an image to a CD-R. You then boot with the CD-R and run the manufacturer's diagnostic utility which will thoroughly test the hard drive sector by sector. This can take a long time when run in thorough mode but you will definitively know if the drive has hardware issues when your done. Also, if the hard drive is still under warranty, usually 3 to 5 years, the manufacturer generally requires that you run their diagnostics on the drive before returning for warranty replacement.