Compact flash capacity

Aug 13, 2004 11 Replies

Hi,



I'm sure this is easily explained, but I'm curious as to how to interpret the reported capacities from CF cards. For example, I have a



512MB Hitachi device, which my embedded system tells me has
512,483,328 bytes available, (1000944 addressable sectors in LBA mode)

Plugging the same card into WinHex shows the same number of bytes, but reports the cards capacity as 489MB- how is this figure arrived at?



I'm wondering if the 'Addressable bytes in LBA mode' figure the CF controller reports in the CIS data might include 'bad' sectors- Can I assume from what is reported that it's all useable?



Many thanks



David


512,483,328 / (1024 * 1024) = 488.7 MB

Rob

In other words, marketing MB = 1,000,000 bytes, real MB = 1024 * 1024 bytes.

Mike

[...]

Actually 1 MB = 1,000,000 bytes, 1 MiB = 1,048,576 bytes. See

formatting link

Regards,

-=Dave

Change is inevitable, progress is not.

kilo = k (lower case)

so 1kB = 1000 bytes 1 kiB = 1024 bytes

Regards Anton

bytes.

1 kB = 1024 byte, but is not ISO standard compatible and should probably only be used for semiconductor memory and not harddisks etc for the future. 1 Pint of beer is also not following ISO standard which is based on the liter, but the measure still exist.

Noone is using kiB...

Also, is there anyone caring if a hard disk contains

250 * 1024 * 1024 * 1024 bytes or 250 * 1000 * 1000 * 1000 bytes?

-- Best Regards Ulf Samuelsson snipped-for-privacy@a-t-m-e-l.com This is my personal opinion which may (or may not) be shared by my employer Atmel Nordic AB

The difference is over 7% so yes plenty of people should care. The disk manufacturers sales departments care which is why they universally use the more flattering definition of GB.

[...]

Back in the late 1980's I worked for a company that counted IBM semiconductor fabs as a customer. A colleague went to one of their sites (East Fishkill or Essex Junction, IIRC), and saw a sign posted in a cleanroom (visible from the non-cleanroom touring area) that said

"1,000,000 bit DRAM"

I never learned for sure if the sign was correct just some marketroids incorrect transcription of "one megabit."

The big problem with the IEC binary prefixes is that nobody actually uses them (myself included), except in Usenet posts such as these.

Heck an American pint isn't even the same thing as an English (Imperial) pint...

I feel cheated. My new development system is supposed to have a 40 GB hard drive. And it does. Problem is, that's only 37.25 GiB...

Regards,

-=Dave

Change is inevitable, progress is not.

So 1KB = 1000 bytes?

Mike Harding

Not me.

1KB (or kb, it doesn't matter) is 2^10.

These are binary electronic terms - trying to make them decimal is plain silly.

I don't want to try and design 9.87365291 address lines to service a 1000 byte memory.

Mike Harding

1,000,000 bit core would be more believable, i.e. 250,000 decimal digits.

I once wrote a cross-assembler for a non-IBM computer with 1000 words of memory (addresses 0...999) and IIRC each word contained 12 (BCD) digits, thus the total memory capacity was 48,000 bits. That would be

48 kbits.

Paul

489 MiB = 512,753,664 bytes = 513 Mbytes.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required