Cheap doesn't always equal fake, but fake cards generally show a higher capacity than they really have. They just start overwriting data past a certain point.
Assuming the card isn't fake or faulty, you can type this at the Command Prompt to check and fix filesystem errors:
chkdsk x: /f
Replace "x" with the drive letter.
And you can test the card with a program called h2testw, but you'll need to format the card first, so only do this after running the chkdsk command and backing up what you can. If the h2testw fails, throw the card away and don't bother using the data you saved with a new card, because it's probably corrupted.