Naru,
This is because hard drive manufacturers have a different definition for the "megabyte" or "gigabyte" than computer scientists. In strict computer terms, a megabyte is defined as 2^20 bytes and a gigabyte is defined as 2^30 (kilobytes are 2^10, and terabytes are 2^40). Hard drive manufacturers, however, consider one billion bytes to be a gigabyte and also specify the unformatted drive space. Therefore:
A "30GB" drive contains 30,000,000,000 bytes... which in computer terms is 30e9 / 2^30 = 27.94 GB (and some additional space is "lost" due to formatting.)
I hope that this helps to answer your question!
Thanks,
Alan L
Applications Engineer
National Instruments