Chip said:
The current cap or 32GB exists for two reasons.
The first is technological - Facilities do not yet exist to manufacture larger cards. This hurdle will obviously be overcome in the near future.
The second is merely bureaucratic - The
SD Association likes to keep a tight leash on their standards. The thing with standards is that they only work if they're
standard. Once one of the flash memory companies figures out a good way to fit 64GB of storage onto an SD card, the SDA will set a standard based on that. That way all cards and readers will work together.
For the Pandora, compatibility probably won't require anything more than a driver update, if that.
Actually, I am fairly certain that these are not the correct reasons for the cap. Though I agree that a part of it is bureaucratic in nature. So, I will give you the abridged version of SD filesize limits.
SD v1.x (any non SDHC card) - maximum filesize 2G/4G
One of the reasons why original sd cards had their maximum filesize capped was because they used fat16 formatting by default. Which caps at 2G normally or at 4G if it used 64k clusters (however this feature was not widely supported).
SD v2.x (SDHC)
A noticeable change for the next revision was that the default filesystem was changed to fat32 aka vfat which caps out at around 2TB I think. However, windows formatting utilities do not let you create fat32 partitions beyond 32G in size because of how inefficiently they work at large sizes. So technically you could call this portion the bureaucratic reason if you wanted.
And here is the non bureaucratic reason why the file system limits as are as they are.
"
Devices that use SD cards identify the card by requesting a 128-bit identification string from the card. For standard-capacity SD cards, 12 of the bits are used to identify the number of memory clusters (ranging from 1 to 4096) and 3 of the bits are used to identify the number of blocks per cluster (which decode to 4, 8, 16, 32, 64, 128, 256 or 512 blocks per cluster).
In older 1.x implementations the standard capacity block was exactly 512 bytes. This gives 4096 x 512 x 512 = 1 gigabyte of storage memory. A later revision of the 1.x standard allowed a 4-bit field to indicate 1024 or 2048 bytes per block instead, yielding more than 1 gigabyte of memory storage. Devices designed before this change may incorrectly identify such cards, usually by misidentifying a card with lower capacity than is the case by assuming 512 bytes per block rather than 1024 or 2048.
For the new SDHC high capacity card (2.0) implementation, 22 bits of the identification string are used to indicate the memory size in increments of 512 KBytes. Currently 16 of the 22 bits are allowed to be used, giving a maximum size of 32 GB. All SDHC 4-GB and larger cards must be 2.0 implementations. Two bits that were previously reserved and fixed at 0 are now used for identifying the type of card, 0=standard, 1=HC, 2=reserved, 3=reserved. Non-HC devices are not programmed to read this code and therefore cannot correctly read the identification of the card.
"
-The preceding excerpt was snipped from wikipedia article on (Secure Digital)