How to repair micro sd 16gb card? It shows 31mb

I have the same problem with a 2GB Sandisk MicroSD Legit boxed purchase from a supermarket. It was fine, showing the full 2Gb and happily accepting files. A month later Neither my linux nor windows XP machine report the card as having a partition table and also report the unformatted size of the disk as 31MB meaning that I cant dd a copy of the data off the device. The Panasonic SDFormatter software reports the card as 30.6MB. Is there a fix that will restore the previous state or at the very least let me format my 2GB card to more than 1.5% of its nominal size?