How can microSD flash memory wear be minimized?

That the flash translation layer is probably not writing those logical blocks back in the same physical location is pretty much a given, for reasons of simple impatience - doing a block erase to write back in the same place would simply take too long.

So a fairly implicit migration of data around the actual storage is a reasonable assumption.

IMHO, the proper question is not “does the translation layer level wear” - it is “can you trust the translation layer not to get confused about where it put things when a metadata block fails, and fail the entire card”.

What’s particularly insidious about that issue is that not only is the translation layer secret and proprietary rather than many-eyes-audited code, nothing you do at operating system level (short of duplicating data to a distinct physical device) can protect against it. If the FTL metadata gets corrupted, OS-level concepts like partitions are not meaningful firewalls against loss.

And as the memory cells reach the point where read life limitation requires the FTL to periodically move and refresh data just to preserve it, even treating the entire card as being logically write protected in operation is not really enough.

Personally I’ve always used one brand, Sandisk, and bought cards that have more capacity than I’ll need.

Most of my Pi’s (I have 12) run 24/7 with a variety of server software and I’ve had 2 or 3 failures in 3 years.

Regular backups using rpi-clone are a great help!

I use these - they are bulletproof!

you can use Alpine Linux arm image, the distro run from RAM and there’s a command to commit
changes to the sd card reducing the wear of the latter. Just keep in mind you need enough RAM to hold the running OS plus any service hosted, you can read the related info on their site.
Happy hacking :slight_smile: