Recently, I had to choose microSD cards for my car’s Yi Mini dash camera and when I plugged in an old microSD card it spewed an error demanding a UHS SD card. And I also had to choose a suitable microSD card for my Raspberry Pi 3 Model B+ board so that it would be fast enough to use as a Ubuntu system. When I looked into buying microSD cards for these two applications, I realized I had no idea what the various symbols on the cards meant.
Thankfully, the SD Card Association has a good website that clearly explains what the symbols mean. Collected below is a summary of what I learnt from looking at the Developer information and the SD Standard v8.0 specification:
Capacity classes: SD (2GB or less, FAT12/16), SDHC (2-32GB, FAT32), SDXC (32GB-2TB, exFAT), SDUC (2-128TB, exFAT).
Bus speeds: Default Speed (12.5MB/s), High Speed (25MB/s), UHS-I (50/104 MB/s), UHS-II (156/312 MB/s), UHS-III (312/624 MB/s), SD Express (985/1970/3940 MB/s). This is the speed of the bus used to talk to the SD card, so it sets the upper bound of any random/sequential read/write speeds of operations on the card. The highest bus speed cards I found online were UHS-I. This is not surprising since UHS-II/III and SD Express cards apparently have 2/3 rows of pins on the card (so the card reader interface is different from earlier) and need PCIe bus instead of SD bus (so the interface between reader/controller to the CPU would be different too). But these UHS-II/III and SD Express cards seem to be designed so that they will still work with older read/writers.
Speed classes: Constant minimum sequential write speed for video recording without frame dropping - Speed Class (2, 4, 6, 10 MB/s), UHS Speed Class (1: 10MB/s, 3: 30MB/s), Video Speed Class (V6: 6MB/s, V10: 10MB/s, V30: 30MB/s, V60: 60MB/s, V90: 90MB/s). This is the class to look for if you intend to use the card for photo/video recording, like for my car dashcam for example.
Application Performance Class: For general app performance (not just photo/video recording), for example in smartphones - A1 (min random read: 1500 IOPS, min random write: 500 IOPS), A2 (min random read: 4000 IOPS, min random write: 2000 IOPS). The Input/Output Ops per second (IOPS) are with 4KB sized datum. Both classes have sustained sequential write speed of at least 10MB/s. This is the class to look for if you intend to use the card for general applications like in smartphones or like I intended to use in RPi.
Low Voltage Signaling: SD cards used 3.3V, but smaller 7-10nm process technology means using lower 1.8V. This LV symbol on device indicates that it only uses LV cards. Cards with LV symbol will continue to support 3.3V for backwards compatibility.
SD Spec v8.0 Part 1 Physical Layer: This standard document is where I looked up how the random read/write IOPS and the sustained sequential write speeds are measured.