It may or may not be HDD. In theory I wouldn't expect your 3 month old HDD to do this but that doesn't mean it's not that. Could be a new faulty HDD. It's a process of elimination. I have seen HDDs fail that are relatively new before albeit it's rare. This would be covered under warranty if it is a faulty HDD.
If you could do: df -mh
That will tell us whether USB or HDD is mounted as sdb1
You can check for errors with the e2fsck command twol mentioned.
Re-initialising it would confirm it too but be aware you would lose everything on the drive you re-initialise.