I needed more space in my tablet and phone, so I went to everyone’s favourite online merchant, Amazon, and purchased two SanDisk 32GB Class 10 micro SDHC cards.
Now, if you haven’t bought SanDisk micro SD cards lately, let me warn you now, the silk screen looks horrible. At first I thought they were counterfeit, it’s that bad. I wonder if the guys at SanDisk did some research to see how shitty they could make the silk screen and not have it appear in cell phone photos. My potato camera phone has just enough noise that it’s difficult to tell just how bad the SanDisk logo looks, but it’s awful.
But a bad silk screen can be overlooked if the cards themselves still function, which brings me to my next point:
[38853.623229] scsi 9:0:0:0: Direct-Access Generic- SD/MMC 1.00 PQ: 0 ANSI: 0 CCS [38854.311664] sd 9:0:0:0: [sdb] 60367872 512-byte logical blocks: (30.9 GB/28.7 GiB) [38854.312801] sd 9:0:0:0: [sdb] Write Protect is off [38854.312812] sd 9:0:0:0: [sdb] Mode Sense: 03 00 00 00 [38854.313898] sd 9:0:0:0: [sdb] No Caching mode page found [38854.313917] sd 9:0:0:0: [sdb] Assuming drive cache: write through [38854.329950] sdb: sdb1 [38854.333772] sd 9:0:0:0: [sdb] Attached SCSI removable disk Disk /dev/sdb: 28.8 GiB, 30908350464 bytes, 60367872 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdb1 8192 60367871 60359680 28.8G c W95 FAT32 (LBA)
28.7GiB?! What the hell? I know storage manufacturers have redefined a gigabyte to be 1,000,000,000 bytes (1 billion bytes) instead of 1,073,741,824 bytes (1024^3) but this is some next level math happening here.
For comparison, here is a Transcend 32GB Class 10 micro SDHC card:
[38782.491351] scsi 7:0:0:0: Direct-Access Generic- SD/MMC 1.00 PQ: 0 ANSI: 0 CCS [38783.265974] sd 7:0:0:0: [sdb] 61831168 512-byte logical blocks: (31.6 GB/29.4 GiB) [38783.267091] sd 7:0:0:0: [sdb] Write Protect is off [38783.267099] sd 7:0:0:0: [sdb] Mode Sense: 03 00 00 00 [38783.268192] sd 7:0:0:0: [sdb] No Caching mode page found [38783.268197] sd 7:0:0:0: [sdb] Assuming drive cache: write through [38783.273707] sdb: sdb1 [38783.277183] sd 7:0:0:0: [sdb] Attached SCSI removable disk Disk /dev/sdb: 29.5 GiB, 31657558016 bytes, 61831168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x000db221 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 61831167 61829120 29.5G c W95 FAT32 (LBA)
29.4GiB is a lot closer to what we expect from a 32GB (32,000,000,000 byte) card. The precise number is 29.80232GiB, but okay, it’s not much less.
So the SanDisk card is a about 700MB smaller than the Transcend. That alone was enough to make me apply for an RMA…
A Class 10 SD card is defined as having at least 10MB/s sequential write performance. Since we already know these cards over-advertise their capacity, what is the performance like?
Card 1 makes it past the Class 10 specification, averaging a sequential write speed of 11.7MB/s using H2testw with a fresh FAT filesystem. Not great, but at least it’s within specifications.
Card 2 however, barely makes it past Class 4. With an average write speed of only 5.55MB/s, this card is just abysmal.
What about read speeds? Well, Amazon claims up to 48MB/s (megabytes per second) reading speed:
Card 1 managed a semi-respectable 18.2MB/s read speed. Card 2 however, was just awful and couldn’t give more than 7.2MB/s read speed.
Back to Amazon you go, shitty SanDisk SD cards. Next time I am going to buy Transcend, and from now on I’ll be testing any cards I buy to make sure they:
A) Are actually the advertised capacity
B) Meet the minimum specifications for their advertised Class
C) Can be read in all my devices, unlike these cards which wouldn’t read at all in my MacBook Pro
Both cards were tested in a Dell Venue 8 Pro running Windows 8.1.
I would have liked to have tested their raw speed using dd in Linux, but unfortunately my MacBook Pro would not read the cards at all!
dmesg was full of SD sector and command errors when I put the cards in the reader.
Edit (26.07.2015): I bought Transcend cards from Amazon, and again they were not true 32GB cards. My old Transcend card was made in Taiwan, whereas all the “32GB” cards I have gotten from Amazon this year are made in China.
It makes me wonder if SanDisk and Transcend have licensed an ODM to produce cards for them, and then stuck their silk screen on the cards. I suspect this because both the SanDisk and Transcend cards I received identified themselves as SL32G cards, whereas my Taiwan manufactured Transcend identifies as USD.
For the time being, I have ceased to purchase 32GB microSDHC cards from Amazon until I can find a brand that sells a card that is actually 32GB.