For SSDs we have a variety of programs that read their remaining life. I'm looking for the same thing for memory cards in a situation where they get a lot of writes. Google is not only not returning any answers but not even anybody asking the question
4 Answers
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.
-
7Not having Smart doesn't mean they don't have some reporting scheme. I have found one for a few models of one brand of card but no general answer. Commented Oct 25, 2014 at 0:21
-
2@LorenPechtel could you please bring more details on what you found, and which brand? Thanks!– TomasCommented May 27, 2022 at 14:21
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.
-
2Is there another program like
dumpe2fs
for FAT32? I mean, FAT32 is the most prevalent filesystem for SD cards. It would be a shame if we could only get such statistics on EXT-formatted cards.– GDP2Commented Dec 26, 2017 at 4:59 -
-bash: dumpefs: command not found . How to install this util?– CodebeatCommented Mar 21, 2019 at 0:30
As already noted some vendors do provide some SMART-like health reporting mechanism. Here's the best list of such vendors I've found.
-
2The link seems to indicate that only some "industrial" products are compatible. I've never seen any of the listed products in the consumer marketplace. Do you know if any of this stuff is available in small quantities in retail channels? Commented May 19, 2018 at 4:52
-
3@fixer1234, yes. It is possible to buy e.g. DESDC-16GY81RC1SC via memorydepot.com .– i3vCommented May 19, 2018 at 14:14
-
1I tried this with a Kingston SDCIT industrial card and it's nowhere near as good as what S.M.A.R.T. gives you and pretty proprietary. If you do everything right you can get a
Endurance Life Ratio
,Good Block Ratio
,Power Up Count
,Erase Count Average
,Scan Bad Block
etc. In my testEndurance Life Ratio
was buggy and onlyGood Block Ratio
worked. Would not recommend. Commented Sep 29, 2023 at 11:59
Building off davide's answer, use:
lsblk -f
to find partition with ext4 FSTYPE and then
sudo dumpe2fs /dev/mmcblk0p2 | grep Lifetime
substituting mmcblk0p2 with your partition name. Example output:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
mmcblk0
├─mmcblk0p1 vfat FAT32 bootfs C336-AC83 204.6M 20% /boot
└─mmcblk0p2 ext4 1.0 rootfs eaaa4faa-eab6-400c-950f-dc96ae4e0400 93.1G 16% /
and
dumpe2fs 1.46.2 (28-Feb-2021)
Lifetime writes: 211 GB
So in this case I have 211 GB written on a 128 GB card, which about 2 cycles. 1500 cycles are expected according to davide. So this card has plenty of expected life. But you never know! I suppose reformatting the filesystem would reset the count, too. This is just an estimate. Also check out https://github.com/dkrahmer/MediaTester/ to actually test the card. I use win32diskimager to make full backups occasionally.