I have just found out the hard way that SD cards have a real life attainable write limit.
I use my Rasbperry Pi 4 (amongst other things) to scrape a website 24/7 with a frequency of 1 minute, which results in a ~1 MB file written every minute. I've done this for approximately 1.5 years, and now I notice the following issues:
- the card always boots read-only
- fsck tries to fix it and says it succeeded
- card appears to be mounted read-write
- after a reboot all information is gone and nothing is written to the card
- Running fsck from an external system on the card shows "unable to set superblock flags"
From the internet I learned these are all signs of a hardware issue, and that the SD card prevents writes after it has reached a certain number of write cycles. The card I used is a 32GB SanDisk Extreme Pro.
I want to keep using my Raspberry Pi for the same, write intensive, purpose. What can I do, in terms of storage selection or configuration, to extend the writeable life of my Raspberry storage significantly?
What I've looked into
- I found this question: How can I extend the life of my SD card?. However, it focusses on how you can reduce writes to extend the life of the storage medium. I have no intention of reducing writes (as that is the core of the application).
- I found this post about moving the filesystem to an external USB SSD. It's unclear to me if this would change anything as:
- External SSD's are also flash memory (right?) and might have the same write limitations.
- It's not clear to me if the scraped files would still "go through" the SD card when going to the USB mounted storage.