CARDSPEED - Card Readers and Memory Cards
- ️Tue Oct 10 2006
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 there are even more compatibility issues due to the SD 2.00 specification introducing SDHC.
Overview � SD Card Size � SD 2.00 � SD/SDHC Overlap � Super SD � SDHC Players � Reader Compatibility
Quick Overview
SD 1.01
- One CSD register layout, CSD Version 1.0.
- 4bit transfers at up to 25MHz, good for about 10MB/s (66x).
- Technical limit of 4GB, more than 1GB requires special handling.
- Specified limit of 2GB to keep compatibility with FAT16 SD host devices.
SD 1.1
- 4bit transfers at up to 50MHz, good for about 22MB/s (150x).
- Full compatibility between cards and host devices, speed will be negotiated.
SD 2.00
- Additional CSD Register layout: CSD Version 2.0 for SDHC cards.
- SDHC standard for cards of more than 2GB and up to 32GB (technical limit 2TB).
- SDHC cards can only be used in SDHC compatible host devices.
- Speed Classes 2, 4 and 6 for guaranteed minimum sustained write rates of 2, 4 and 6MB/s.
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, and C_SIZE_MULT is a 3bit value
with an offset of 2:
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 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.
Some devices even have
hardcoded tables for interpreting C_SIZE_MULT
values, and therefore might be limited to 512MB or 256MB.
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 cluster size is 32kB. This
leads to a limit of 1.999GB for a FAT16 filesystem.
But the parameters of a FAT16 filesystem allow a number of up
to 128 sectors per cluster, giving 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: SDHC and SD Speed Class Rating
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. 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 22bit. 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 16bit of C_SIZE are used and the
upper 6bit remain unused.
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 22.5MB/s (in most cases 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.
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.
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. 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 currently announced or maybe even available SDHC cards.
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 | - |
Card Readers: SDHC, SD and Super SD Compatibility
Information
about 8GB SDHC compatibility will be added as soon as I get
the first card. The table entries are explained below.
The sort order is by controller manufacturer, controller type and
controller firmware or manufacturing week.
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 |
Transcend 150x |
SanDisk Extreme III |
Panasonic RP-SDK |
Transcend miniSD |
Pretec Super SD |
SD/MMC 8in1 Stick | Alcor | AU6331-0604 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
SD/MMC 8in1 Plug | Alcor | AU6331-0610 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
A-Tec SD | Alcor | AU6331-0612 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
MSI StarReader mini | Alcor | AU6331-0612 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Pretec e-Disk II | Alcor | AU63xx | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Transcend SD/MMC/MS | Alcor | AU6333-0601 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Transcend M1 | Alcor | AU6333-0608 | Verified:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Singim SG366A miniSD | Alcor | AU6333-0613 | - - - | Detected:OK | - - - | - - - | - - - | Detected:OK | - - - |
Transcend S1 SD/MMC | Alcor | AU6333-0637 | Verified:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | ??? |
18�in�1 SD/MMC/MS/xD | Alcor | AU6366-0601 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
PIXO MINI-LC | Alcor | AU6366-0603 | Verified:OK | Detected:OK | Detected:OK | Detected:OK | Verified:OK | Detected:OK | SD |
All in 1 AU6366 | Alcor | AU6366-0625 | Verified:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Vivanco 23 in 1 | Alcor | AU6368-0524 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
C-enter 21�in�1 | Alcor | AU6368-0534 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Singim SG362A SD/MMC | Alcor | AU63xx | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Lexxington miniSD | Alcor | AU6369-0502 | - - - | Not recog. | - - - | - - - | - - - | Detected:OK | - - - |
Lexxington SD�/�MMC | Alcor | AU6369-0505 | Not recog. | Not recog. | Verified:OK | Verified:OK | Verified:OK | Detected:OK | SD |
Noname SD/MMC | Alcor | AU6369-0523 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Heisei Vantager HR-221 | Alcor | AU6375-0547 | Not recog. | Not recog. | Detected:OK | Detected:OK | Verified:OK | Detected:OK | SD |
Vivanco 36in1 | Alcor | AU6375-0602 | Verified:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
PIXO MSR-PRO | Alcor | AU6375-0607 | Verified:OK | Detected:OK | Verified:OK | Verified:OK | Verified:OK | Verified:OK | SD |
Alcor Micro AU6377 | Alcor | AU6377-0608 | Verified:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
ALi M5635�A1 | ALi | M5635A1-0402 | Not recog. | Not recog. | Sector Size | Sector Size | Sector Size | Sector Size | MMC3 |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
CarryDrive FotoBar BSDR | CARRY | Jupiter 1.0 | Not recog. | Not recog. | Access:OK(6) | Access:OK(6) | Access:OK(6) | Access:OK(6) | ??? |
PixoMedia 9�in�1 MSR-9 | CARRY | Winter 1.3 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
PixoMedia 14�in�1 MSR-14 | CARRY | Winter 1.4 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
Lexar Multi-Card�Reader RW018 | DATAFAB | GLxxxx:0128 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Enermax Aluminium 7�in�1 | Genesys | GL816E:9132 | Not recog. | Not recog. | Verified:OK | Verified:OK | Verified:OK | Detected:OK | SD |
retec 10�in�1 USB�2.0�Drive | Genesys | GL816E:9135 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | MMC3 |
C-enter 12�in�1 Aluminium | Genesys | GL816E:9138 | Not recog. | Not recog. | Verified:OK | Verified:OK | Verified:OK | Detected:OK | SD |
PixoMedia 20�in�1 MSR-15 | CARRY | GL816E:9138 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
DeLOCK 19�in�1 91608 | CARRY | GL816E:9138 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Pixo 30�in�1 MSR-30 | CARRY | GL816E:9144 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
DataFab DF-UG-36 USB 2.0 | DataFab | GL816E:9144 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Acrox 8 in 1 | Genesys | GL816E:9144 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Hama 19�in�1�V.2 SAMPLE | Genesys | GL819:9317 | Not recog. | Not recog. | Detected:OK | Verified:OK | Detected:OK | Detected:OK | SD |
Transcend 13 in 1 | Genesys | GL819:9321 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Hama 1000&1 Multi | Hama | GL819:9323 | Not recog. | Not recog. | Verified:OK | Verified:OK | Verified:OK | Detected:OK | MMC3 |
Hama 1000&1 Mobile V2 | Hama | GL819:9325 | Verified:OK | Detected:OK | Verified:OK | Verified:OK | Verified:OK | Detected:OK | MMC3 |
Hama 1000&1 Multi FW9339 | Hama | GL819:9339 | Verified:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | Detected:OK | MMC3 |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
Hama 9�in�1 47100 FW�1.6A | ICSI | IC1210:1.6A | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | MMC3 |
Anubis�Typhoon 16�in�1 FW�1.6B | ICSI | IC1210:1.6B | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | MMC3 |
Hama 22�in�1 55116 FW�1.8D | Hama | IC1210:1.8D | Not recog. | Not recog. | Verified:OK | Verified:OK | Detected:OK | Detected:OK | SD |
Hama 19�in�1 55114 FW�1.9C | Hama | IC1210:1.9C | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Hama 30 in 1 55348 FW�1.9C | Hama | IC1210:1.9C | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Hama 35 in 1 55312 FW�1.9C | Hama | IC1210:1.9C | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Hama 35 in 1 55312 FW�1.9F | Hama | IC1210:1.9F | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
KTC FC1320 | KTC | FC1320-0330 | Not recog. | Not recog. | Verified:OK | Verified:OK | Detected:OK | Detected:OK | MMC3 |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
YinXin B1 SD/MMC | Myson | CS8819.108 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | MMC3 |
MSI StarReader 52 in 1 | Myson | CS8819.110 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | MMC3 |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
ND3260-GE FW:I20A | NeoDio | ND3260-GE:I20A | Not recog. | Not recog. | Not recog. | Data:OK(2) | Data:OK(2) | Data:OK(2) | SD |
DeLOCK 24�in�1 91575�V2 | NeoDio | ND3260-GE:I19B | Not recog. | Not recog. | Not recog. | Data:OK(2) | Data:OK(2) | Data:OK(2) | SD |
DeLOCK 12�in�1 91575 | NeoDio | ND3260-LA:010D | Not recog. | Not recog. | Not recog. | Data:OK(2) | Data:OK(2) | Data:OK(2) | SD |
ICY BOX 8-in-1 IB-801 | NeoDio | ND3260-LA:009D | Not recog. | Not recog. | Not recog. | Data:OK(2) | Data:OK(2) | Data:OK(2) | SD |
ICY BOX 7-in-1 IB-701 | NeoDio | ND3260-LA:009D | Not 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-0403 | OTi | OTi2126-0403 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
C-enter 22�in�1 USB�2.0 | OTi | OTi2126-0507 | Not recog. | Not recog. | Verified:OK | Verified:OK | Verified:OK | Detected:OK | SD |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
Heisei HR-201 miniSD | Realtek | RTS5106 | - - - | Not recog. | - - - | - - - | - - - | Detected:OK | - - - |
Vivanco RW SD | Realtek | RTS5106 | Not recog. | Not recog. | Verified:OK | Not recog. | Verified:OK | Detected:OK | SD |
Tyzzon 9 in 1 mini | Realtek | RTS5116 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | SD |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
Hama 6in1 47121 | smsc | USB97C210:1.63 | Not recog. | Not recog. | Not recog. | Sector Size | Sector Size | Sector Size | SD |
Manhattan 6in1 | smsc | USB97C210:1.97 | Not recog. | Not recog. | Sector Size | Sector Size | Sector Size | Sector Size | SD |
Anubis�Typhoon 8�in�1 81035 | smsc | USB97C223:1.95 | Not recog. | Not recog. | Sector Size | Sector Size | Sector Size | Sector Size | Not recog. |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
Panasonic CardBus�SD | VEN_10F7-8F00 | Not recog. | Not recog. | Verified:OK | Verified:OK | Verified:OK | Detected:OK | SD | |
CardBus SD/MMC/MS/xD | VEN_1145-F021 | Not recog. | Not recog. | Detected:OK | Detected:OK | Detected:OK | Detected:OK | MMC3 | |
Reader | Controller | FW or Date | SDHC 4GB | SD 4GB | SD 2GB | Super SD | |||
PIXO PCMCIA 28 in 1 | Verified:OK | Verified:OK | Data:OK(1) | Detected:OK | Detected:OK | Detected:OK | ??? |
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. |