Longevity of NAND flash is measured in TBW(total bytes written, in terabytes) but they have 4MB or so minimum size for write access, so people easily end up writing effectively gigabytes over weeks or months thinking it's just kilobytes averaged and use up all its life in just few months to years.
You don't need "better quality SD cards", you stop issuing writes. As for why Raspbian isn't built that way so you don't have to be Linux storage experts just to run it correctly, I don't know.
From a forum post in raspberrypi.org[1]:
> My 16 GB SanDisk Extreme Pro 45 MB/s UHS 1 card reports an erase block size of 4 MB.
> My 8 GB Transcend SDHC Class 6 150x card reports an erase block size of 4 MB.
> My 2 GB Transcend SD 150x card reports an erase block size of 8 kB.
.
From another post from StackExchange.com[2]:
> the data cannot be overwritten without being erased first and an erase block is the smallest unit that a NAND flash storage can erase. The erase block size is typically between 128 kB and 2 MB.
.
According to a Micron Technical Note from 2006[3]:
> The NAND Flash device discussed in this technical note is based on a 2Gb asynchronous SLC device and its parameters (unless otherwise noted).
> The NAND Flash array is grouped into a series of blocks, which are the smallest erasable entities in a NAND Flash device.
> A NAND Flash block is 128KB. Erasing a block sets all bits to 1 (and all bytes to FFh). Programming is necessary to change erased bits from 1 to 0. The smallest entity that can be programmed is a byte.
(Note: 2 gigabits = 256 MB)
.
In a more modern TLC 3D NAND chip from 2016[4]:
> Block Size 27,888K bytes
or 27.888MB
---
[0]: https://www.google.com/search?q=microsd+erase+block+size
[1]: https://www.raspberrypi.org/forums/viewtopic.php?t=11258
[2]: https://raspberrypi.stackexchange.com/questions/32884/
[3]: https://www.micron.com/-/media/client/global/documents/produ...
[4]: https://www.micron.com/-/media/client/global/documents/produ...
However I switched to netbooting my Pis, no local storage on the Pi at all.
This does require you to have a netboot server already, of course.