SD Card lifetime on Raspberry


#1

I would love to hear long-term experiences with Raspberry Pi (1/2/3), Resin.io.

Anyone ever experienced SD Card wear? Anyone ever had any other issues that came from long-term operation? What are your long-term projects? How long is long-term in your particular project?

Feedback greatly appreciated!

Simon


#2

I think on the team @lifeeth, @curcuz, and @jviotti have some experience with SD cards, for different reasons (AutoHAT, lots of projects, and working with etcher, respectively), I wonder if they have noted down something yet? I remember hearing recommendations for industrial-grade SD cards that did work well, and remember also that the power supply is what affects the SD card wear a lot, but there has to be more than that…

From some internal discussion, apparently SanDisk Extreme Pro is the “best SD card money can buy” (paraphrasing, and it’s not an endorsement :slight_smile: )


Prevent SD-Card Corruption
#3

Thanks for the feedback. @imrehg So let me share my experiences I was able to make so far - using Raspberry with Raspbian:

I have a device that’s currently running for more than a year on the same SD-Card. This device is constantly logging sensor data and stores a new data-frame every 5 minutes. I have disabled logging, swap, and moved temporary file systems onto a ram-disk.

There is a very good question on Raspberry StackExchange about this which has very detailed and good answers.

Using industrial SD-Cards

I have made some tests with using industrial-grade SD-Cards which all use SLC-Flash cells. SLC stands for single layer cell. Consumer grade (which also includes the SanDisk Extreme Pro Card mentioned above) mainly uses MLC - which stands for Multi Layer Cells.

In theory SLC Cards have much longer lifetime than MLC Cards. But SLC Cards are up to 10x more expensive. So a 16GB Card might cost up to 200$.

So the trick is to shrink the image to a smaller size here. But even if you use a 4GB or 2GB sized SLC card you will likely end up using almost 100% of the cards space.

If that SLC Card now has a defected cell its damage-repairing-controller won’t be able to use free cells and map that defective one to a freshly new one.

MLC Cards with high capacity - like that 16GB Card from above - can remap defective cells quite often. Especially when the image on the card is just using a maximum of just 50% of the capacity.

So SLC has more write(/read) cycles but is also more expensive - especially when you are looking for higher capacity.
MLC has less write(/read) cycles but is less expensive so you can easily add up free capacity which can be used by the flash-controller to map defective cells to fresh new ones.

If you compare a low capacity SLC with a large capacity MLC you probably get the same lifetime results.

By the way we are using that SanDisk Extreme Pro in our projects! :smiley:


#4

Looks like on Twitter there are some endorsements for Samsung Evo cards as well.


#5

Outright I have to state that you should worry about “wear levelling”, a feature where data is written in only come sections of the SD card leading to early wear in the parts.
I have read many posts on Raspberry Pi 3 and the Raspberry Pi 3 SD cards. Samsung EVO Plus and SanDisk Extreme PRO have been endorsed as the best for even the latest Pi3.