CARDSPEED - Card Readers and Memory Cards

SD Compatibility

Actually, I wanted to start this page in November 2005, after the first 4GB SD cards became available. But at that time, there was no big demand for information, so I forgot about this issue. But now (October 2006) there are even more compatibility issues due to the SD 2.00 specification introducing SDHC.

Overview  ·  SD Card Size  ·  SD 2.00  ·  SDHC  ·  Speed Classes  ·  SD/SDHC Overlap  ·  Super SD  ·  Reader Compatibility

Quick Overview

SD 1.01

SD 1.1

SD 2.00

SD Card Size Details

The first limit for regular SD cards is 4GB, due to the 32bit byte addressing scheme. In contrast to other standards, there is no block addressing mode defined.

The second limit is caused by the card size given in the CSD (Card Specific Data) Register of regular SD cards using CSD Version 1.0. There are two fields within this CSD that indicate the number of blocks available: C_SIZE and C_SIZE_MULT. You can interpret these two values as mantissa and exponent, where C_SIZE is a 12bit value with an offset of 1 (1..4096), and C_SIZE_MULT is a 3bit value with an offset of 2 (2..9):
BLOCKNR = (C_SIZE+1)×2(C_SIZE_MULT+2),   where C_SIZE_MULT < 8
The default block length is 512 bytes, but can also be specified as 1024 bytes or 2048 bytes. Actually, the block length is given through a third parameter in the CSD, the READ_BL_LEN. The block length is calculated as
BLOCK_LEN = 2READ_BL_LEN,   where READ_BL_LEN = 9, 10 or 11
Note: Compared to the other two values, especially the C_SIZE_MULT with only three bit, the READ_BL_LEN is a 4bit value with only three different values allowed, and therefore a waste of register space.

Together, this leads to a total storage capacity of
BLOCKNR×BLOCK_LEN = (C_SIZE+1)×2C_SIZE_MULT+2×2READ_BL_LEN
When a block length of 1024 bytes is used, cards of up to 2GB can be specified; with a block length of 2048 bytes, cards of up to 4GB can be specified.

Devices that don't care about the READ_BL_LEN will assume a block length of 512 bytes, and therefore be limited to a maximum size of 1GB. Usually, these devices will detect cards of more than 1GB and up to 2GB as half their actual size, and cards of more than 2GB and up to 4GB as 1/4 of their actual size. However, some of these devices do not check addresses against the wrongly detected size, and therefore can access the full size properly, once the media is partitioned and formatted according to the full size. Some older devices may have hardcoded tables for interpreting C_SIZE_MULT values, and therefore might be limited to 512MB or 256MB.

Examples for card size units and card sizes:
READ_
BL_LEN
C_SIZE
_MULT
MULT BLOCK
_LEN
   min.
unit
max.
size
9 0 512 = 2kB; 8MB
9 1 512 = 4kB; 16MB
9 2 16× 512 = 8kB; 32MB
9 3 32× 512 = 16kB; 64MB
9 4 64× 512 = 32kB; 128MB
9 5 128× 512 = 64kB; 256MB
9 6 256× 512 = 128kB; 512MB
9 7 512× 512 = 256kB; 1024MB
10 7 512× 1024 = 512kB; 2048MB
11 6 256× 2048 = 512kB; 2048MB
11 7 512× 2048 =  1024kB;   4096MB

The table above shows that standard SD cards with BLOCK_LEN of 512 bytes and up to 8MB size could be made in steps of 2kB, with increasing size up to 1024MB (1GB) in steps of 256kB. Larger SD cards require a BLOCK_LEN of 1024 or 2048 bytes, the largest SD cards of more than 2048MB (2GB) and up to 4096MB (4GB) can be only be made with a BLOCK_LEN of 1024 bytes in increments of 1024kB (1MB).

The third limit was set by the SD Association: To ensure wider compatibility, FAT12 and FAT16 were defined as the standard fileystems for SD cards. According to the strict FAT16 rules, there can be a maximum of 65524 clusters available in a FAT16 filesystem, and the maximum allowed cluster size is 32kB. This leads to a limit of 1.999GB for a FAT16 filesystem.
But the parameters of a FAT16 filesystem can be set to a number of up to 128 sectors per cluster, resulting in a cluster size of 64kB on a standard media with 512 bytes per sector. This allows FAT16 filesystems of up to 3.999GB. There are many devices with support for 64kB cluster size, but according to the FAT specification, this is not mandatory. Most likely, the 32kB limit was just set to have a defined limit for the cluster buffer in devices supporting FAT16.

SD 2.00

SD 2.00 is not a synonym for SDHC. SD 2.00 is a new SD specification, where SDHC is one of the features introduced with this specification.

SD 2.00: SDHC with CSD 2.0

SDHC is not supposed to replace SD, it is an additional standard intended for SD cards larger than 2GB. This means that all SD cards of 2GB or less should still be implemented as regular SD cards, and all SD card of more than 2GB - in regular sizes 4GB or more - will be SDHC cards. This would be the same as the change from the regular Memory Stick Standard up to 128MB to Memory Stick PRO for more than 128MB, in practice 256MB or more.

To solve the card size problem, a new CSD register layout, CSD Version 2.0 was introduced. SD Devices are supposed to check the CSD version given in the CSD_STRUCTURE field first, and reject cards using an unknown CSD version. In CSD Version 2.0, the C_SIZE field was extended to 22 bit. The C_SIZE_MULT was dropped, assuming a preset multiplier of 210. The READ_BL_LEN was kept, but the only value allowed is 9, indicating a block length of 512 bytes. The calculation is the same, but due to the two fixed values, the formula shrinks down to
Size = (C_SIZE+1)×219
The smallest card size would be 512kB, but SDHC is supposed to be used for cards larger than 2GB. The new register layout would allow cards of up to 2TB, which would also supported by the new 32bit block addressing scheme. But the specification defines an upper limit of 32GB, where only 16 bit of C_SIZE are used and the upper 6 bit remain unused.

The currently chosen limit of 32GB is most likely due to the fact that many people believe that FAT32 would be limited to 32GB. This is not true, FAT32 is only limited to 2TB because of the 32 bit LBA values in the filesystem parameters.

SD 2.00: Speed Class Rating

Another feature introduced in the SD 2.00 Specification is the SD Speed Class Rating. These SD Speed Classes 2, 4 and 6 with a guaranteed minimum sustained write rate of 2, 4 or 6MB/s might seem very low for todays SD cards and their advertized speeds of up to 23.4MB/s (160x), in most cases indicating the maximum peak read rate. But for the SD Speed Class Rating, there are most likely several prerequisites - meaning that the card must be able to accept data at the given rate under certain conditions, e.g. filesystem fragmentation, bank switching, wear-levelling and defect mapping. But the section about the SD Speed Class Rating is not available in the public version of the SD 2.00 specification.

Please note that the Speed Class Rating is intended to be used in conjunciton with SD based Video Cameras. The recording devices are supposed to indicate the minimum speed class rating required, which means that you have to use a card with a speed rating equal to or higher than indicated speed rating. This also explains why there are only speed classes 2, 4 and 6: The highest regular HDV bitrate is 25Mbit/s and can be handled by Class 4 SD/SDHC cards. AVCHD uses bitrates of up to 15Mbit/s or 17Mbit/s where Class 2 SD/SDHC cards should be OK, unless the cards stick too close to the required minimum of 2MB/s.

Together, this means that there will be, for example, 2GB SD 2.00 Class 2 "SD Cards" and 4GB SD 2.00 Class 2 "SDHC Cards".

SD and SDHC Card Size Overlap

The SD Association tried to keep the limit for regular "Standard Capacity" SD cards at 2GB. But there was the technical possibility to build 4GB SD cards and a huge demand for larger SD cards, well before the SD 2.00 specification was finalized.

I bought my first 4GB SD card in October 2005, while SDHC was announced as being in "Final Review" in January 2006. The first SDHC cards were available in August 2006, and I bought my first SDHC card in November 2006. This means that for covering the demand for 4GB size, the SDHC standard was about one year too late.

Now we are dealing with the situation that there are regular SD cards of more than 2GB and up to 4GB that are officially called "non-compliant", and "compliant" SDHC cards of more than 2GB. In real-life, the overlap applies to 4GB cards. 4GB "non-compliant" SD cards will work in many SD host devices, either formatted to FAT16 with a non-standard cluster size of 64kB, or formatted to FAT32. However, these cards might not work in SDHC compatible host devices, where most of these are intentionally programmed to refuse the "non-compliant" cards. On the other hand, 4GB SDHC cards will definitely not work in host devices that are not prepared for SDHC cards (either by default or through a firmware update).

Super SD Cards

There is a new type of SD card available, the Super SD card. This is a card that looks like an MMCplus card, but also supports the SD interface standard. The card is supposed to detect the host interface and either act as SD or as MMCplus card, in order to avoid the slow SPIO mode when using MMCplus cards in hosts that don't support the faster MMC 4 modes. The card size is compliant to the SD specification that allows a 1.4mm "Thin SD" form factor without write protect slider.

There is only very little public information available, including confusion about the number of pads, the supported modes, and especially the resulting speed with the same figures stated as Mbit/s and MB/s. At least the count of pads was easily to verify after unpacking the the card: There are 13 pads indicating that the card could support 8bit MMC 4.

While the hybrid SD/MMC concept sounds like an excellent idea, first tests showed that the host detection is not as good as it should be. The card seems to prefer running in SD mode, even if the host would also support the faster MMC 4 modes. In SD mode, the maximum read rate is about 10.67MB/s, and the maximum write rate is about 3.47MB/s. So it looks like the SD mode is SD 1.01.
In several SD 1.01 and even SD 1.1 / MMC 4 card readers, the card only runs in the slow MMC 3.31 mode, leading to exactly the situation that was supposed to be avoided by inventing the Super SD. Due to this behaviour, the Super SD qualified for a column in the compatibility table.

SDHC Players

This is a list of the first announced or available SDHC cards and will be kept for reference purposes.

Manufacturer Series 4GB SDHC 8GB SDHC
A-Data Super Series SDHC 2.0 Class 2 - ###
A-Data Turbo Series SDHC 2.0 150x ### -
ATP ProMax SDHC Class 6 AF4GSDP ###
Kingmax Digital SDHC ### ???
Kingston SDHC Class 2 SD2/4GB -
Microdia SDHC 52XTRA ### ###
Microdia SDHC 82XTRAPlus ### ###
Microdia SDHC 160XTRAPRO ### ###
Panasonic SDHC Class 2 RP-SDR04G -
Pretec SDHC ### ###
RiData SDHC Pro Series ### ###
SanDisk Standard SDHC Class 2 SDSDBR-4096 -
SanDisk Ultra II SDHC Class 6 SDSDRH-4096 -
SanDisk miniSDHC Class 2 ### -
Toshiba SDHC Class 4 SD-HC004GT4 SD-HC008GT4
Transcend SDHC Class 2 TS4GSDHC TS8GSDHC
Transcend SDHC Class 6 TS4GSDHC6 -
Transcend miniSDHC Class 2 TS4GSDMHC -
An entry "###" means that the model number is not known.

As of 2007-06-28, the availability of SDHC cards was still limited. There were more and more SDHC Class 6 8GB cards available, but their write performance was only about 10-12MB/s maximum. Transcend removed the 4GB 150x SDHC Class 6 from their catalogue, and the SanDisk 4GB Extreme III SDHC was expected to be released within a few weeks. This means that there were no really fast SDHC cards available, not to speak of 8GB in size. For miniSDHC and microSDHC, the situation was even worse: 8GB microSDHC have been announced some time ago, while the first 4GB microSDHC did not even hit the market yet.

2008-01-11: In the meantime, the situation looks better. The Extreme III SDHC is available as 4GB and 8GB, and there are even 16GB Class 6 SDHC with about 12MB/s write available. 8GB microSDHC with impressive 15MB/s write are available as well.

Card Readers: SDHC, SD and Super SD Compatibility

Results for 4GB microSDHC compatibility will be added soon. The table entries are explained below.
The sort order is by controller manufacturer, controller type and controller firmware or manufacturing week.
Important note: Devices manufactured in 2005 or earlier will most likely not support SDHC. Especially for Alcor Micro, the production week influences the firmware level. First SDHC support starting in week 02/2006, for certain models later.

If you want to learn more about your card reader, see:  How To Identify Your USB Card Reader .

      SDHC 4GB SD 4GB SD 2GB Super SD
Reader Controller FW or Date Transcend
Class 6
Transcend
miniSDHC
SanDisk
microSDHC
Transcend
150x
SanDisk
Extreme III
Panasonic
RP-SDK
Transcend
miniSD
Pretec
Super SD
SD/MMC 8in1 StickAlcorAU6331-0604Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
SD/MMC 8in1 PlugAlcorAU6331-0610Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
A-Tec SDAlcorAU6331-0612Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
MSI StarReader miniAlcorAU6331-0612Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Pretec e-Disk IIAlcorAU6333Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Transcend SD/MMC/MSAlcorAU6333-0601Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Transcend M1 SD/MMC/MSAlcorAU6333-0608Verified:OKDetected:OK???Detected:OKDetected:OKDetected:OKDetected:OKSD
Singim SG366A miniSDAlcorAU6333-0613- - -Detected:OK???- - -- - -- - -Detected:OK- - -
Transcend S1 SD/MMCAlcorAU6333-0637Verified:OKDetected:OK???Detected:OKDetected:OKDetected:OKDetected:OK???
18 in 1 SD/MMC/MS/xDAlcorAU6366-0601Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
PIXO MINI-LCAlcorAU6366-0603Verified:OKDetected:OK???Detected:OKDetected:OKVerified:OKDetected:OKSD
All in 1 AU6366AlcorAU6366-0625Verified:OKDetected:OK???Detected:OKDetected:OKDetected:OKDetected:OKSD
Vivanco 23 in 1AlcorAU6368-0524Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
C-enter 21 in 1AlcorAU6368-0534Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Singim SG362A SD/MMCAlcorAU63xxNot recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Lexxington miniSDAlcorAU6369-0502- - -Not recog.???- - -- - -- - -Detected:OK- - -
Lexxington SD / MMCAlcorAU6369-0505Not recog.Not recog.???Verified:OKVerified:OKVerified:OKDetected:OKSD
Noname SD/MMCAlcorAU6369-0523Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Heisei Vantager HR-221AlcorAU6375-0547Not recog.Not recog.???Detected:OKDetected:OKVerified:OKDetected:OKSD
Vivanco 36 in 1AlcorAU6375-0602Verified:OKDetected:OK???Detected:OKDetected:OKDetected:OKDetected:OKSD
PIXO MSR-PROAlcorAU6375-0607Verified:OKDetected:OK???Verified:OKVerified:OKVerified:OKVerified:OKSD
Alcor Micro AU6377AlcorAU6377-0608Verified:OKDetected:OK???Detected:OKDetected:OKDetected:OKDetected:OKSD
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
ALi M5635 A1ALiM5635A1-0402Not recog.Not recog.???Sector SizeSector SizeSector SizeSector SizeMMC3
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
CarryDrive FotoBar BSDRCARRYJupiter 1.0Not recog.Not recog.???Access:OK(6)Access:OK(6)Access:OK(6)Access:OK(6)???
PixoMedia 9 in 1 MSR-9CARRYWinter 1.3Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
PixoMedia 14 in 1 MSR-14CARRYWinter 1.4Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
Lexar Multi Reader RW018DataFabGLxxx:0128Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Enermax Aluminium 7 in 1GenesysGL816E:9132Not recog.Not recog.???Verified:OKVerified:OKVerified:OKDetected:OKSD
retec 10 in 1GenesysGL816E:9135Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKMMC3
C-enter 12 in 1 AluminiumGenesysGL816E:9138Not recog.Not recog.???Verified:OKVerified:OKVerified:OKDetected:OKSD
PixoMedia 20 in 1 MSR-15CARRYGL816E:9138Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
DeLOCK 19 in 1 91608CARRYGL816E:9138Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Pixo 30 in 1 MSR-30CARRYGL816E:9144Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
DataFab DF-UG-36 USB 2.0DataFabGL816E:9144Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Acrox 8 in 1GenesysGL816E:9144Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Hama 19 in 1 V.2 SAMPLEGenesysGL819:9317Not recog.Not recog.???Detected:OKVerified:OKDetected:OKDetected:OKSD
Transcend 13 in 1GenesysGL819:9321Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Hama 1000&1 Multi (9323)HamaGL819:9323Not recog.Not recog.???Verified:OKVerified:OKVerified:OKDetected:OKMMC3
Hama 1000&1 Mobile V2HamaGL819:9325Verified:OKDetected:OK???Verified:OKVerified:OKVerified:OKDetected:OKMMC3
Hama 1000&1 Multi (9339)HamaGL819:9339Verified:OKDetected:OK???Detected:OKDetected:OKDetected:OKDetected:OKMMC3
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
Hama 9 in 1 47100 FW 1.6AICSIIC1210:1.6ANot recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKMMC3
Anubis Typhoon 16 in 1ICSIIC1210:1.6BNot recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKMMC3
Hama 22 in 1 55116 (1.8D)HamaIC1210:1.8DNot recog.Not recog.???Verified:OKVerified:OKDetected:OKDetected:OKSD
Hama 19 in 1 55114 (1.9C)HamaIC1210:1.9CNot recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Hama 30 in 1 55348 (1.9C)HamaIC1210:1.9CNot recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Hama 35 in 1 55312 (1.9C)HamaIC1210:1.9CNot recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Hama 35 in 1 55312 (1.9F)HamaIC1210:1.9FNot recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
KTC FC1320KTCFC1320-0330Not recog.Not recog.???Verified:OKVerified:OKDetected:OKDetected:OKMMC3
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
YinXin B1 SD/MMCMysonCS8819.108Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKMMC3
MSI StarReader 52 in 1MysonCS8819.110Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKMMC3
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
Dane-Elec 9in4NeoDioND3260-GE:I20ANot recog.Not recog.???Not recog.Data:OK(2)Data:OK(2)Data:OK(2)SD
DeLOCK 24 in 1 91575 V2NeoDioND3260-GE:I19BNot recog.Not recog.???Not recog.Data:OK(2)Data:OK(2)Data:OK(2)SD
DeLOCK 12 in 1 91575NeoDioND3260-LA:010DNot recog.Not recog.???Not recog.Data:OK(2)Data:OK(2)Data:OK(2)SD
ICY BOX 8-in-1 IB-801NeoDioND3260-LA:009DNot recog.Not recog.???Not recog.Data:OK(2)Data:OK(2)Data:OK(2)SD
ICY BOX 7-in-1 IB-701NeoDioND3260-LA:009DNot recog.Not recog.???Not recog.Data:OK(2)Data:OK(2)Data:OK(2)SD
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
OTi 2126-0403OTiOTi2126-0403Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
C-enter 22 in 1 USB 2.0OTiOTi2126-0507Not recog.Not recog.???Verified:OKVerified:OKVerified:OKDetected:OKSD
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
Heisei HR-201 miniSDRealtekRTS5106- - -Not recog.???- - -- - -- - -Detected:OK- - -
Vivanco RW SDRealtekRTS5106Not recog.Not recog.???Verified:OKNot recog.Verified:OKDetected:OKSD
Tyzzon 9 in 1 miniRealtekRTS5116Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKSD
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
Hama 6in1 47121smscUSB97C210:1.63Not recog.Not recog.???Not recog.Sector SizeSector SizeSector SizeSD
Manhattan 6in1smscUSB97C210:1.97Not recog.Not recog.???Sector SizeSector SizeSector SizeSector SizeSD
Anubis Typhoon 8 in 1smscUSB97C223:1.95Not recog.Not recog.???Sector SizeSector SizeSector SizeSector SizeNot recog.
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
Panasonic CardBus SD VEN_10F7-8F00Not recog.Not recog.???Verified:OKVerified:OKVerified:OKDetected:OKSD
CardBus SD/MM/MS/xD VEN_1145-F021Not recog.Not recog.???Detected:OKDetected:OKDetected:OKDetected:OKMMC3
Reader Controller FW or Date SDHC 4GB SD 4GB SD 2GB Super SD
PIXO PCMCIA 28 in 1  Verified:OKVerified:OK???Data:OK(1)Detected:OKDetected:OKDetected:OK???
Total: 66 entries.
Verified:OK  Card Size and Filesystem detected correctly, full verify successful.
Detected:OK  Card Size and Filesystem detected correctly, no further tests done.
Data:OK  Card Size detected wrong, access to the Filesystem is OK, full verify successful.
(1) Size truncated (CHS mapping)   (2) Half the size detected, but access to full size
(6) Size reported one sector too large
Access:OK  Card Size detected wrong, but access to the Filesystem seems to be OK.
(1) Size truncated (CHS mapping)   (2) Half the size detected
(6) Size reported one sector too large
Sector Size  Sector Size not translated properly, filesystem not recognized.
Not recog.  Media not recognized.
SD  Super SD runs in SD mode.
MMC3  Super SD runs in slow MMC 3.31 mode.
???  Not tested yet.


Hans-Jürgen Reggel   ·   http://www.hjreggel.net/cardspeed/   ·   2006-10-10 ~ 2008-01-15