I recently purchased a Seagate Barracuda 7200.10 – ST3320620A 320GB HDD to backup my systems. I decided to make my life easy and pop it into a external USB/Firewire case. All went well except that I could only format the drive to 137GB. After reading many posts online about this problem I decided to hook the drive up to the onboard HDD controller on my Asus A8N-SLI. Even the system BIOS displayed 137GB! Many reports on the Internet say the cause of this is due to old firmware or hardware, in my case this was just not true. I tried about six other HDD controllers without luck. Finally I decided to try some software tools just to see if the drive was in fact 320GB in sieze. In my searches I found a killer tool named Victoria (sorry it's in Russian only). It turns out that some how my HPA (Host-Protected Area) accessible size of the disk got altered. Using this application you can set the HPA accessible size of the disk back to the maximum or to factory defaults. Upon a reboot I was back in business, the BIOS now saw the drive as having 320GB!
If your Russian is not up to speed, check out MHDD it boasts the same functionality as Victoria but it's web page is in English.