MicroSD speed comparison – genuine cards and a Chinese fake (WHL #96)

Since I don’t want to become the BigClive of the text blogging world, I pretty much have to stop rambling about fake flash drives (NVMe, SATA SSD, USB drives and SD cards) from China. Clive himself knows that too much ozone content makes his audience yawn ;)

So, as Easter (read: the couple holidays around it) is a great opportunity to run some backups and digitally clean up the place, here’s a quick speed test comparison on the history of MicroSD cards. It all started with my troublesome RPi4 having high iostat values all the time, leading to a new card for my laptop backup drive, which in return handed down his MicroSD to the Pi. A lot of copying and backupping later, I thought a couple benchmarks could be useful for overall comparison. A little “how far we’ve come”, from shitty storage of MP3s to awesomely dense storage monsters that do have decent speeds on modern workloads.

Here’s the contestants:

And a little side note right away: The little guy under this paragraph is missing from the photo. Because I knew I bought two identical Samsung 32GB cards back in *deep dives into mails* July of 2012 at 22.00€ a pop. There’s no point in benchmarking both, so I just added one to the photo. A day later when I was done with most of the other cards, I tested it…and it came up with a capacity of 2GB. Well, it says so and is not just a partially scratched “32GB” label like on the other cards, but I have no recollection of buying such a thing. Must have been in some (s)crap phone or something that I got, like with the 2GB M2 Memory Stick Micro card (not M.2!) that unfortunately turned out dead so I couldn’t include it in the test. Let’s just say I was confused why I had three 32GB units in the first place, since I located the other two in the camera and the RPi that runs my printer – 2x32GB and an old card made much more sense. So, this one is also included in the benchmarks:

Being a Linux user, and the commonly used AS-SSD benchmark is a Windows tool, kdiskmark is a convenient look-alike clone of that tool that’s easily accessible to me. Not sure if results are identical, but with these tests, it’s more of a “look, that one’s shit!” situation.

The cards in detail:

  • 2GB Samsung MicroSD (unknown origin)
  • 8GB MicroSDHC, OEM, likely Toshiba or Kingston (unknown origin)
  • 16GB Sandisk Ultra MicroSDHC UHS-I Class U1 (6.81€, 05/2016)
  • 16GB Sandisk Extreme MicroSDHC UHS-I Class U3 (11.17€, 02/2016)
  • 32GB Samsung MicroSDHC Speed Class 10 (22.00€, 07/2012
  • 32GB Samsung EVO+ MicroSDHC UHS-I Class U1 (7.63€, 07/2016)
  • 64GB Samsung EVO Plus MicroSDXC UHS-I Class U3 (10.00€, 03/2019)
  • 64GB Samsung PRO MicroSDXC UHS-I Class U3 (26.92€, 08/2016)
  • 128GB Samsung PRO Plus MicroSDXC UHS-I Class 3 Video Speed Class V30 Application Performance Class A2 (25.99€ with USB card reader, 01/2022)
  • 256GB Samsung EVO Plus MicroSDXC UHS-I Class 3 Video Speed Class V30 Application Performance Class A2 (14.99€, 03/2024)
  • “1TB” (52GB real) SanDian MicroSDXC UHS-I Class 3 Video Speed Class V30 Application Performance Class A2, plus made-up 4K logo (free after week-long dispute on Aliexpress and Paypal)

There’s a lengthy Wikipedia article about all that technical mumbo-jumbo, but in essence, 20+ years of development on those cards yielded quite a few standards and performance labels, since of course there always were terribly slow cheapo cards and high-end ones that needed to be distinguished. So, super simplified:

  • MicroSD, MicroSDHC and MicroSDXC is just a capacity classification (up to 2GB, 32GB, 2TB)
  • UHS-I is the standard pinout – there’s UHS-II and III for faster cards with additional (required) contacts
  • Very early card were marketed with the “x” ratings of CD drives, 1x being 150kB/s, 40x being 6MB/s (I think they went up to 800ish speeds, many were 667x but they skipped 666x)
  • Speed Classes 2, 4, 6, 10 were sustained sequential writing requirements (in MB/s)
  • UHS Speed Classes U1 and U3 are similar, at 10MB/s and 30MB/s respectively (why not make a Class 30, for fucks’s sake)
  • Video Speed Classes V6, V10, V30, V60 and V90 are the same shit again-again (still MB/s)
  • Application Performance Classes A1 and A2 requires 4k I/O read and write performance figures, plus 10MB/s sustained write speed for sequential data
  • A1/A2 really is the only relevant rating nowadays, with A1 requring 1500 IOPs in reads (6MB/s) and 500 IOPs in writes (2MB/s), A2 being 4000 IOPs / 2000 IOPs (16MB/s / 8MB/s). As can be seen, Samsung A2 cards in Samsung A2 readers (bundled with 128GB card) only do reach A1 speeds, but hey, the whole rating system was never enforced (and manufacturers never punished for selling shite), even back in the 133x card era…

    Here’s the same list with benchmarking results. Left images: “Quick” test at 64MiB test data size (5 runs), and on the right hand side the “real” performance with 5x 1GiB of test data. Sequential data transfers are shown on top (=large files), 4k file transfers on the bottom (=real world application stuff). Q8 and Q32 are queue depths, so 8 or 32 similar requests in parallel. Some cards benefit a little from that, some fake their queue support and show lesser performance. Reads are shown on the left, writes on the right – just click the photos for details.

    (only the WordPress gods know why that gallery is such a mess…)

    Notes:

  • 2GB Samsung: Terrible old junk
  • 8GB OEM: FUCKING TERRIBLE old junk (write IOPs!)
  • 16GB Sandisk Ultra and Extreme: The Extreme does show a whopping performance boost…except for 4k writes
  • 32GB Samsung black: Buffering! Writes totally crash once buffer is full
  • 32GB Samsung EVO+: Much more steady, but queue support is fake and at Q32, writing basically comes to a halt
  • 64GB Samsung EVO: Decent, benefits significantly from queued writes
  • 64GB Samsung PRO: Long-term basically the same performance as the Evo (just more expensive), has some caching going on for quick performance boosts
  • 128GB Samsung Pro A2: Decent, but only classifies as A1
  • 256GB Samsung Evo A2: Also decent, faster reads but slower writes compared to 128GB Pro, also just A1 class
  • 52GB fake Sandian: Surprisingly high 4K write performance, but slower in every other category than name-brand competitors
  • Does all that stuff matter? Well, I’d say, so, yes. The reason for changing the cards was the slow Raspberry, which usually ran 24/7, but was barely usable for the first 5 to almost 10 minutes after boot, since disk activity was so high and wait-load went up to 30+. After the change from the 64GB Pro card to the 128GB Pro Plus (what a terrible waste of space for a total of 20GB of data), the system is ready to use right away. Disk activity is immediately down to long-term levels.
    This isn’t immediately obvious from the benchmarks, since the new card does have a significant boost in sequential reads (90 to 150 MB/s), but that is not how operating systems start up. It’s also not much faster in 4k reads (8.0 to 8.5 in Q1 or 8.5 to 9.5 MB/s in Q32, so like ~10%), but the 64<->1024MB comparison yields an important hint here: The performance of the old card decreases significantly (-30%) under load, while the new one doesn’t budge. This could be one part of the faster boot and snappier operation
    The other one being reads. Yes, the old card is faster by a factor of 3 to 4 (!!!) in sequential writes – but once again, that’s not used much when booting an OS. First, the sequential performance advantage decreases to a factor of 1.5-2 under load (again, compare 64 to 1024MB benches). Second, the 4k writes are actually worse. Best case, that is short Q1 writes, performance numbers are 2.32MB/s old to 2.21MB/s new (-5%). Worst case, that is Q1 long-term usage, it’s 0.58MB/s vs. 2.13MB/s (+267%). The real system is probably somewhere in between, and for Q32 applications the advantage of the new card is always close to +100%.
    So I’d say for the sake of starting the Raspberry OS, the new card has a slight advantage in reading all that stuff, but twice the performance when it comes to starting/rotating all the log files and creating locks. Both combined make reboots a breeze and are clearly worth the 15€ investment on the newer card that freed up this 128GB one.

    …and now I’ve checked and cleared all my SD cards and USB drives, sent the usable data to my backup system, tidied them all up in one place, and got a blog post out of it. That’s what Easter holidays are for, right?


    Subscribe
    Notify of
    guest
    :mrgreen:  :neutral:  :twisted:  :arrow:  :shock:  :smile:  :???:  :cool:  :evil:  :grin:  :idea:  :oops:  :razz:  :roll:  ;-)  :cry:  :eek:  :lol:  :mad:  :sad:  :suspect:  :!:  :?:  :bye:  :good:  :negative:  :scratch:  :wacko:  :yahoo:  :heart:  B-)  :rose:  :whistle:  :yes:  :cry2:  :mail:  :-((  :unsure:  :wink: 
     
    0 Comments
    Inline Feedbacks
    View all comments