Best alternative for Raspberry sd card storage

I’am looking for a good and reliable storage alternative to the sd card on my Raspberry Pi 3 running Openhabian. The reason is that I already got the first block error on my new Sandisk Extreme card that I bought in march this year and I don’t want to buy a new sd card every year.

I read somewhere that with the Raspberry Pi 3 it would be relatively easy to boot from an external USB device. (Even without an sd card on board) The question now is what storage would be the best for a system that has to run 24/7.

Does it suffice to buy a “good” usb stick to get a much more reliable storage or should I better buy an usb SSD drive? (I don’t think that there will be a noticable performance improvement to the ssd because the RPI 3 only has USB 2.0, but will it be more reliable?)

Yes. Works very reliable since one year now …

Which one are you using? I’m thinking about buying this one: https://www.sandisk.de/home/usb-flash/extremepro-usb

I bought the cheapest one I could find
http://www.intenso.de/produkte_en.php?kategorie=34&&produkt=1449570533
(128GB version)

Would this really be better than industrial micro sd cards like https://www.sandisk.nl/oem-design/industrial/industrial-cards

Yes. The industrial ones may last a bit longer, but an SSD will last as long if not longer than an HDD. No SD will last that long.

1 Like

I searched for industrial cards and I only found a 16 GB version that costs more than the 128 GB usb SSD: https://www.mouser.ch/ProductDetail/Panasonic/RP-SMKC16DA1/?qs=PGnhtxXmalZVP6yWkk3QaQ%3D%3D

So I think I will try the usb ssd.

I’ve now tried the SandDisk SSD any a few other usb sticks, but none of them worked. I followed this guide to enable usb boot:

How did you manage to get usb booting to work?

Exactly the same way at is described in your link … :sunglasses:

Maybe the SanDisk is one of the few devices that does not work …

The stick is working now. I don’t know exactly what the problem was last time. I flashed the rpi image again to the ssd drive and booted with an sdcard with the bootcode.bin and timeout file as described here: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/

But now the rpi also boots without any sd card directly from the usb ssd.

I think I found out what solved the problem. It seams there was a firmware version difference between my PI’s. I did a firmware update as described here and now it works on both PI’s.

I got one yesterday. It was much easier than I thought to swap over to the SSD and remove the SD card entirely.
It was the smoothest upgrade/reinstall I have done.

Let’s see how long it lasts now!

Strange thing happen to me. I’m running my productive OH2 RPi2 at home since August 2016 now with the same SD Card. There’s no persistence on it - but all the logging (raspbian logging and OH2 logging) on the same SD Card since the beginning with no signs of a wear out yet (knock on wood). → And I have constant logging from my >600 items in events.log. I’m flat out too lazy to change this. (the RPi3 is already here and functions as the Testing environment…).

But on my second OH2 RPi2 at my mountain cottage I’m running smoothely with an external SSD (cheap USB-housing and a old 64GB IBM/Lenovo SSD) without problems. As it’s also an RPi2 it’ll still boot from the SD, but /root and all other stuff is running on the USB-SSD.

I don’t have data/experience on USB-Sticks, but I guess as they’re using the same technique, they’ll also wear out like SDCards.

I also had sd card porble. For no I moved my setup to usb stick. If it will fail again in one year I will probably buy a ssd. But there is something I don’t understand about failing sd cards … The flash chips has at least 10000 write cycles, so for 16GB class 10 sd card (I had such card - Toshiba exceria) it would take half a year of full speed writing to the card to exceed the limit. And Openhabian does not write at full speed all the time … either those sd cards are very very poor at wear leveling or there must be something other that makes those sd cards fail.

btw: If you’re using openHABian, there’s an option to move /root on the USB-device within sudo openhabian-config:
https://docs.openhab.org/installation/openhabian.html#openhabian-config

By “not that long” I mean one to two years for a good quality SD card that is overprovisioned. For example, a high-quality SD card from a respected company that is 16G or 32G would last much much longer than a knockoff SD card that is 4G or 8G.

The wear happens on writes. There are only so many writes that each bit in the memory can perform. But the card does spread the writes across all the bits as evenly as possible so specific parts don’t wear out early while other parts remain never written to. So by over-provisioning the SD card you give it much more room to write to before it has to loop back around and write to the same bit again, giving you more time before the SD card wears out.

USB flash drives use the same technology, though again, the higher quality ones will probably last longer than the ultra cheap ones.

To me the big thing about Flash storage that makes it risky to use is not how long it lasts, it is that it fails silently. By the time you start to notice symptoms of a failing SD card or USB drive you have no idea how long it has been failing and therefore don’t really know how reliable your backups are or how far back you have to go to get to a guaranteed uncorrupted image.

So first of all the SD card doesn’t move files around to write level. Files that remain static (e.g. OS files) get written once and those bits get taken out of the calculation for wear leveling. So the 10000 writes would only apply to the amount of the storage that is left over.

Also, not all cards are all that smart about how they implement the wear leveling which can further cause some areas of memory to be written to more frequently and therefore wear out more quickly.

If you have a swap partition, that also needs to be taken into consideration for writes.

I do not know what it means when Toshiba says it supports 10000 write cycles. They can easily claim that number without any wear leveling at all which will kill the SD card super fast, or use a poor write leveling algorithm which will extend the life a little bit, or have a really good one and extend the life of the card a lot. Without better information about how/whether they wear level the number is all but meaningless.

Finally, one area of concern that can be falsely identified as a failing SD card is file system corruptions. When the RPi loses power without shutting down it is very easy for it to end up with a corrupted file system which can look a lot like a failing SD card.

1 Like

That’s one thing, you really have to keep in mind, especially with RPi3. They are power-hungry - and if you use an old power adapter (like I did), the Pi will fail (my MagicMirror Pi did this on me and I thought at first of a defective SD). So, be aware to always have it on a enough powersource!

Yeas, so I should substract the ammount of used space from 16GB. But still I think it should last longer :slight_smile: I have suspicion that even if I use 64GB sd card it will not make sd card live longer - and don’t want to spend money to check that :smiley:

IS this device usable as an alternative?

Transcend 64GB SATA III 6Gb/s SSD370S 2.5” SSD TS64GSSD370S https://www.amazon.de/dp/B00VX82P42/ref=cm_sw_r_cp_api_i_Ai-ICb468WP5F

This is a SATA III interface SSD. It’ll work, if you put it in a SATA->USB housing like this one: https://www.amazon.de/gp/product/B075TXT3RZ
be sure, your Pi is powered by a 2.5A power source!