I recently asked a question about how to shrink down an image so that it fits onto a very small SD-Card. In both answer and comments people were giving me the advice to not use a SD-Card smaller than 2GB since it is better to have free space.
I guess this has to do with the cards on-board wear prevention since it can move dead blocks to free, non used, right? So should this space be just free or should it be unpartitioned?
For my current project I now have two options. Both are using the Miniban Distribution which takes about 500MB of disk-space. I've switched off logging and all the other things that kept writing on the disk.
In this project I am using a RRD-Database to record sensor values and build averages. Data will be collected over a period of one year. Problem however is that the Database will be filled up with zeros once it is being initialized. So every entry has its fixed place on the disk. I am a bit afraid that this forces wear.
Using a standard / consumer MLC microSD-Card, 4-8GB with approx. 5,000 P/E-Cycles (according to the docs).
Using an industrial SLC microSD-Card, 1GB with a minimum of 100,000 P/E-Cycles per single Flash-Cell (according to the docs) and having at least 400MB of free space available.
Manufacturer of the SLC-microSD-Card is swissbit. You can find one here: swissbit 1GB SLC microSD-Card on Mouser
And detailed informations about their SD-Cards here: swissbit technical details
In my opinion the answer is very clear: Even when using a 1GB SD-Card, 100,000 P/E-Cycles vs. 5,000 P/E-Cycles is a very obvious comparison - at least in my eyes.
But since SLC-Cards are more expensive I am curious to know if the same performance could be reached with a consumer Card with less cycles but more free space?
And most important: Does using 60% to 70% or even 90% of the SLC-Cards free space make their 100,000 P/E-Cycles useless?