Is there any way to find the remaining life on a SD card?
Solution 1:
SD cards are SSDs, it's the exact same technology, but because SD cards aren't built for the same purpose they don't include the required features like smart. There is no way to tell how long the SD card will last, because the required data isn't collected so there is no way to generate an estimate. If SD cards did have the relevant details you would use the exact same programs you use on any other SSD, an SSD just means solid state device.
Solution 2:
SD cards do not expose any standard interface to retrieve health status or to perform self-diagnosis tests like SSDs do with SMART.
However, you can get some indirect estimates by polling the filesystem statistics; for example EXT4 can be polled with the command dumpe2fs
, which reports the total amount of data ever written to the filesystem, which in turn guesstimates the wearing undertaken by the device during its life.
I've been using SD cards as my root FS for years; in my experience, 300GB are enough to kill a branded 4GB card with no more than 200MB of free space permanently available.
From this empirical data you may deduce that 300/0.2 = 1500 are the approximate lowest estimate write cycles an SD card may bear.
Solution 3:
As already noted some vendors do provide some SMART-like health reporting mechanism. Here's the best list of such vendors I've found.