I'm guessing I'm just reading something incorrectly here, but I can't make this add up. From the SD card spec, section 5.3.3 tells us how to calculate card size (C_SIZE) from the data in CSR (CMD9 response):
So first, my "32GB" card gives this value as 0xE9E5 = 59877. Okay, so then my card is
59877 * 512 * 1024 = 31393316864 bytes
if KBytes means 1024 bytes... does it? But more confusing for me, the first minimum value given, "minimum user area size of SDHC Card is 4,211,712 sectors." Just below that in the spec, it says that a sector is 64KBytes, so then the minimum for an SDHC card is
4211712 * 64 * 1024 = 276018757632 bytes
or... 257GB??? That is clearly incorrect. So where am I going wrong?
EDIT I found an answer to my question about the definition of KByte in this spec: section 188.8.131.52 has a bit map graphic that states that 32KBytes is (64 * 512 bytes). So KByte is what I would imagine it would mean, even though the marketing speak that has cluttered up the storage world made me question this.