In a previous post I explained how I managed to connect microSD Express cards as PCIe NVMe devices to a computer’s M.2 slot. This eliminates possible overhead and bias of USB adapters. Additionally, it allows extracting additional information via the NVMe interface. So let’s do some benchmarks ⏱️.

I tested the following cards:

  • 1TB Lexar® PLAY PRO (LX1TB71)
  • 256GB ADATA Premier Extreme (SD71)
  • 256GB Sandisk (ST25671_WDC/SDSQXFN)

They all support PCIe Gen3x1 which supports a maximum theoretical transfer speed of 985MB/s per direction.

Test method

I used cdm_fio.sh on Fedora 42 for these tests, which replicates what CrystalDiskMark does on Windows. Configuration:

  • Size = 1024m
  • Loops = 5
  • Write Only Zeroes = 0

All cards were formatted with the exFAT filesystem. Unless noted otherwise, all tests were done using active cooling of the card itself to prevent thermal throttling.

Test results

The start of each card’s section also contains a list with possibly interesting information extracted from the NVMe interface.

1TB Lexar® PLAY PRO (LX1TB71)

I don’t own this card myself and had a friend test this for me on a different machine but using the same operating system and script.

  • Firmware revision: X0705A.
  • Temperature Threshold (TMPTH): 83°C/181°F/356K
  • Thermal Management Temperature 1 (TMT1): 81°C/177°F/354K
  • Thermal Management Temperature 2 (TMT2): 85°C/185°F/358K

With active cooling. 20°C idle, up to 41°C during test.

With passive cooling. 20°C idle, up to 82°C during test.

256GB ADATA Premier Extreme (SD71)

  • Firmware revision: W0926A
  • Temperature Threshold (TMPTH): 83°C/181°F/356K
  • Thermal Management Temperature 1 (TMT1): 81°C/177°F/354K
  • Thermal Management Temperature 2 (TMT2): 85°C/185°F/358K

With active cooling. 30°C idle, up to 55°C during test.

With passive cooling. 30°C idle, up to 83°C during test.

256GB Sandisk (ST25671_WDC/SDSQXFN)

I only have two documented test runs for this card because I bricked it using a faulty firmware update before I had the idea to do multiple test runs. I’ll update this if/once I have received a replacement. The brick was my fault and should not be a consideration when buying this card.

Firmware revision: RO157S2P.

With unknown mixed methods.

Comparison Of Averages

For every card, this shows the average speed of all runs of the subtest.

Comparison Of Worsts

For every card, this shows the slowest speed of all runs of the subtest.

Comparison Of Bests

For every card, this shows the fastest speed of all runs of the subtest.

Conclusion

All cards are very close in performance and nowhere near saturating the PCIe interface. The ADATA usually seems to be slightly faster than the Lexar. Looking at the Comparison Of Bests, the Sandisk seems to be WAY faster in some cases, but further tests are needed to see if that holds on average. If it does, I’d probably recommend the Sandisk. But with numbers that close, you should probably just use the one you think lasts the longest or the one which has the best warranty.

What I find most suspicious is that RND4K Q1T1 Reads are so low for the Sandisk card. It may just be a fluke due to the low number of tests though, so it needs more testing.

Nintendo Switch 2

So what does this mean for Nintendo Switch 2? I’m not a game developer, but I’d expect the console to do large sequential reads most of the time. Let’s assume you need to load 10GB during the loading screen and compare worst- and best- case reading speeds. At 600MB/s this would take 16.667 seconds. At 800MB/s this would take 12.5 seconds. If the gap was actually that high, this 4 second difference would certainly be noticeable, but in reality the gap is probably much smaller.

Large writes will probably only happen while downloading or moving games. Your internet speed won’t be able to saturate the write speed of any of those cards, but you might notice a decent difference when moving games from internal storage to the microSD Express card if the Sandisk is actually as fast at writing as it seems. The difference between ADATA and Lexar is much smaller.

Anyways, whatever card you get, enjoy playing your games on Nintendo Switch 2 🎮.

You can find raw data of these cards on GitHub.