If I remember right, flash memory is basically based on static electricity and those cheap SD cards might self-wipe after a couple years being unplugged
Mostly just a small-ish info dump in the event it helps anyone. All flash and nand media can self-wipe if not used for a couple of years (though nand can last longer but may start to slow down to SATA and slower). Even if in an active PC, the parts that are only read but not written this can happen. Learned that from some episodes of “Security Now” podcast and personally saw it happen with a PC I was trying to fix for someone. On the show one of the hosts has a commercal program called “SpinRite” that was made to help with HDDs that have non-moter/actuator issues revive sectors.
Some testers using it found that it also helps with nand that has drastically slowed down from reading spots that never really get writes come back to normal speeds. In my case, I tried it on the PC I was working on and it really did help (the OS was already borked so it wasn’t going to hurt trying it out) with it loading much faster. Obviously the cheaper the flash/nand the faster issues will happen.
I have seen some random motherboards offer basically a pre-erase on SSDs that are acting slow before you re-install the OS to make sure a more complete flipping of cells happens and not just a basic formatting that just zeros the first parts of data and leaves the other cells alone. In that case the data/OS isn’t the focus and wouldn’t need a special paid software (I am only aware of SpinRite just because of the podcast and bought it to support the host that makes it). I am not sure of any free/FOSS software that does the same full drive cell flips, but I imagine there are some (or will be as flash/nand is used more and more).
Main take away is that it is important to make sure to not just let flash drives/SD/nand drives sit without at least hooking up to a PC every now and then. My PS Vita fell victim to just sitting around dead for a few years along with the Vita card I had in it. Fortunately the ROM with the OS is still working and I was able to at least set it up again.
Someone a while back put a set of very cheap SSDs through a torture test, and after exhausting many of the write cycles, left them alone for months. When powered back on for reads, the drives were slow as the error correction hardware was working overtime to compensate for the loss of trapped charge over time, but mostly recovered their performance after a while.
That said, I have a similar anecdote where one of my very worn test bench SSDs kept complaining about the same bad sectors despite OS reinstalls until I just overwrote it with zeros using dd. Was fine for many months thereafter.
I’ve no idea either if SpinRite has some secret sauce that FOSS utilities have yet to replicate, but it sounds like a non-destructive read-write test with badblocks ought to do the same.
Also, my CF cards, SD cards, or USB drives from the early 2000s and early 2010s almost never give me trouble despite spending years unplugged. More recent flash memory is a different story though and I suspect the shrinking gate sizes and advent of TLC/QLC/PLC haven’t helped. I’ll usually splurge a little these days to get the industrial or high endurance MLC flavors and hopefully avoid the issue.
Good to hear that dd did the trick for you, and I will keep that one in mind the next time I need to re-install an OS on a drive that might be having the issues. SpinRite works by going sector by sector reading and copying the data, erases the sector, and then writes the data back. Not like something you would want to do all the time for sure. The creator of the program also said he will have the code go FOSS when he dies (pretty old but in good health). I am hoping that he is able to complete the full re-build he has in the works to have it work with how modern motherboards and controllers work (the current code-base is extremely old and requires turning off both Secure Boot and UEFI (or at least enable CSM) in order to boot the live USB (I think it still uses FreeDOS as the environment). There are ways to run it in a VM correctly, but I haven’t messed with trying that yet.
I also agree that it seems that really old cards and drives tend to not have the same issues as newer ones. Hell, I have even found that my floppies that are from the mid to late 90s and very early 00s tend to have a better chance of me still getting data off them. More of my mid to late 00s disks have issues with corrupted data. Found that out when going through a bunch of disks I had forgotten about, to get whatever I could last year.
If I remember right, flash memory is basically based on static electricity and those cheap SD cards might self-wipe after a couple years being unplugged
but maybe not lol
Mostly just a small-ish info dump in the event it helps anyone. All flash and nand media can self-wipe if not used for a couple of years (though nand can last longer but may start to slow down to SATA and slower). Even if in an active PC, the parts that are only read but not written this can happen. Learned that from some episodes of “Security Now” podcast and personally saw it happen with a PC I was trying to fix for someone. On the show one of the hosts has a commercal program called “SpinRite” that was made to help with HDDs that have non-moter/actuator issues revive sectors.
Some testers using it found that it also helps with nand that has drastically slowed down from reading spots that never really get writes come back to normal speeds. In my case, I tried it on the PC I was working on and it really did help (the OS was already borked so it wasn’t going to hurt trying it out) with it loading much faster. Obviously the cheaper the flash/nand the faster issues will happen.
I have seen some random motherboards offer basically a pre-erase on SSDs that are acting slow before you re-install the OS to make sure a more complete flipping of cells happens and not just a basic formatting that just zeros the first parts of data and leaves the other cells alone. In that case the data/OS isn’t the focus and wouldn’t need a special paid software (I am only aware of SpinRite just because of the podcast and bought it to support the host that makes it). I am not sure of any free/FOSS software that does the same full drive cell flips, but I imagine there are some (or will be as flash/nand is used more and more).
Main take away is that it is important to make sure to not just let flash drives/SD/nand drives sit without at least hooking up to a PC every now and then. My PS Vita fell victim to just sitting around dead for a few years along with the Vita card I had in it. Fortunately the ROM with the OS is still working and I was able to at least set it up again.
Someone a while back put a set of very cheap SSDs through a torture test, and after exhausting many of the write cycles, left them alone for months. When powered back on for reads, the drives were slow as the error correction hardware was working overtime to compensate for the loss of trapped charge over time, but mostly recovered their performance after a while.
That said, I have a similar anecdote where one of my very worn test bench SSDs kept complaining about the same bad sectors despite OS reinstalls until I just overwrote it with zeros using
dd
. Was fine for many months thereafter.I’ve no idea either if SpinRite has some secret sauce that FOSS utilities have yet to replicate, but it sounds like a non-destructive read-write test with
badblocks
ought to do the same.Also, my CF cards, SD cards, or USB drives from the early 2000s and early 2010s almost never give me trouble despite spending years unplugged. More recent flash memory is a different story though and I suspect the shrinking gate sizes and advent of TLC/QLC/PLC haven’t helped. I’ll usually splurge a little these days to get the industrial or high endurance MLC flavors and hopefully avoid the issue.
Good to hear that dd did the trick for you, and I will keep that one in mind the next time I need to re-install an OS on a drive that might be having the issues. SpinRite works by going sector by sector reading and copying the data, erases the sector, and then writes the data back. Not like something you would want to do all the time for sure. The creator of the program also said he will have the code go FOSS when he dies (pretty old but in good health). I am hoping that he is able to complete the full re-build he has in the works to have it work with how modern motherboards and controllers work (the current code-base is extremely old and requires turning off both Secure Boot and UEFI (or at least enable CSM) in order to boot the live USB (I think it still uses FreeDOS as the environment). There are ways to run it in a VM correctly, but I haven’t messed with trying that yet.
I also agree that it seems that really old cards and drives tend to not have the same issues as newer ones. Hell, I have even found that my floppies that are from the mid to late 90s and very early 00s tend to have a better chance of me still getting data off them. More of my mid to late 00s disks have issues with corrupted data. Found that out when going through a bunch of disks I had forgotten about, to get whatever I could last year.