This is certainly not a "wear item" but incompetence.
I had on two separate occasions designed an embedded POS application that worked on a dumb flash (dumb == no wear leveling).
There is nothing special about it. You just need to control where your writes go. You don't resize files (because this updates inodes and directories). You don't create files for stupid things like locks. If you have a database, you create a file and treat is as circular buffer or append only log. If you need OTA, you can split the memory in two and have boot loader boot alternately. And so on.
With wear leveling this is much, much simpler. You run the OS for some time and you capture all your writes at low level to see how much many blocks are being updated. Then you can predict how long the memory is going to last and you just size it accordingly.
I had on two separate occasions designed an embedded POS application that worked on a dumb flash (dumb == no wear leveling).
There is nothing special about it. You just need to control where your writes go. You don't resize files (because this updates inodes and directories). You don't create files for stupid things like locks. If you have a database, you create a file and treat is as circular buffer or append only log. If you need OTA, you can split the memory in two and have boot loader boot alternately. And so on.
With wear leveling this is much, much simpler. You run the OS for some time and you capture all your writes at low level to see how much many blocks are being updated. Then you can predict how long the memory is going to last and you just size it accordingly.