![]() Heralding in the SDHC standard, it promised card sizes up to a full 32GB. Later BarriersĢ006 brought about version 2.00 of the SD specification. However, with the standard hitting a solid size barrier at 4 GB due to the 32-bit addressing scheme, further changes were around the corner. ![]() Thankfully, this was still early in the SD card era, and larger cards weren’t in mainstream use just yet. Often, very early readers that ignored the READ_BL_LEN field would report 2 GB and rare 4 GB cards as 1 GB, noting the correct number of clusters and blocks but unable to recognise the extended block lengths. This was especially problematic with some edge cases that tried to make 4 GB cards work. Earlier hosts that weren’t aware of variable block lengths would not recognise the greater storage available on the newer cards. This may have been largely due to the SD card primarily being intended for use with the FAT16 file system, which itself topped out at a 2 GB limit in conventional use. Despite the standard occasionally mentioning maximum block sizes of 2048 bytes, officially, the original SD standard tops out at 2 GB. This designates the maximum block size as 512 bytes (default), 1024 bytes, or 2048 bytes, allowing for maximum card sizes of 1 GB, 2 GB, or 4 GB respectively. Maximum length, as designed by READ_BL_LEN and WRITE_BL_LEN in the official standard, could be set to 9, 10, or 11. An additional field was added to designate the maximum block length in the CSD. The 1.01 standard made a seemingly minor change – allowing the block size to be 512, 1024, or even 2048 bytes per block. The formula used to calculate SD card capacity in version 1.01 of the standard. ![]() At this level, there were no major compatibility issues. 4096 clusters multiplied by 512 blocks per cluster, multiplied by 512 bytes per block, gives a card with 1 GB storage. The 1.00 standard allowed a maximum of 4096 clusters and up to 512 blocks per cluster, while assuming block size was 512 bytes per block. ![]() The CSD contains two fields, C_SIZE, and C_SIZE_MULT, which designated the number of clusters and number of blocks per cluster respectively. This data is read out of the Card Specific Data, or CSD register, by the host. Storage in an SD card is determined by the number of clusters, how many blocks there are per cluster, and how many bytes there are per block. The first issues began to appear with the SD standard as cards crossed the 1 GB barrier. Compatibility of such cards is limited, as they operate outside of both the earlier or later standard. Initial Problems A rare 4 GB card produced piror to the ratification of SDHC. To find out why, we need to take a look under the hood at how SD cards deal with storage capacity. This can cause havoc for users trying to use the latest cards in older devices. However, getting to this point has required many subtle changes over the years. Fast forward to today, and the biggest microSD cards pack up to a whopping 1 TB into a package smaller than the average postage stamp. Over the years, sizes slowly crept up as our thirst for more storage continued to grow. The SD card first burst onto the scene in 1999, with cards boasting storage capacities up to 64 MB hitting store shelves in the first quarter of 2000.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |