SD cards are the literal worst.

they've expanded to be the size of small hard drives, and devices like the rpi keep using them as boot media, but they:

- use garbage tier low endurance flash cells internally
- have little to no overprovisioning for wear
- perform only the most basic wear levelling
- have no protocol level integrity checking
- have few internal error correction features, if any
- decay comparatively quickly without patrol scrubs
- do not perform patrol scrubs
- cannot do PLP

I've been mad about this pretty much forever. Don't use SD cards for stuff where there's literally any other option.
@gsuberland I agree with you, but what other options are there at the moment? I guess USB drives might work.

@kelpana @gsuberland USB-attached SATA or NVMe SSDs.

USB flash drives are the exact same (or often worse). Don't use them either.

@manawyrm @gsuberland I know some USB flash drives are bad, or even just SD cards. But what can be used to interface to a microcontroller project? Is it even possible to interface NVMe in a small system?

@kelpana @gsuberland SD cards can be okay, if you use them read-only-only and buy from reputable vendors (e.g. Samsung).

If you really need R/W storage -- SPI NOR flash is a good option (together with proper wear leveling, etc.).

eMMC storage ICs are also available, often slightly more reliable and available from reputable vendors with a proper datasheet. They might work in some situations.

Otherwise, things get tricky...

No, NVMe won't work.