On Tue, 2 Oct 2018 01:44:07 +0000 (UTC), bob prohaska
declaimed the following:
>Is there a program that can interrogate a flash storage device to
>determine how many spare blocks remain?
>
>I'm looking for a way to guesstimate when it's time to replace a
>microSD card or USB flash drive before it fails completely.
>
It's probably meaningless -- since it depends upon how the internal
controller was programmed. A device might be programmed with NO reserve
blocks -- all blocks are considered usable from the beginning, whereas a
similar device might have been programmed to reserve 5% of the total space
for "bad block remapping".
Of course, since SD card wear-leveling algorithms mean data moves
around every time one writes to a block, remapping takes place all the
time... A card that reserved space could actually have blocks go bad sooner
than one that didn't -- as the one that didn't is distributing the wear
over all the blocks, rather than waiting for a block to fail before making
use of any blocks in the reserve area.
What will kill a card is having a large proportion filled with
relatively static data, and only a small amount of dynamic (log files, say)
data -- as the dynamic data will keep recycling (erasing for reuse, then
writing) the same small set of blocks over and over, wearing them out while
the static data sits happily in blocks with a capability for high reuse. A
card with "all" dynamic data will tend to reuse all the blocks through wear
leveling.
--
Wulfraed Dennis Lee Bieber AF6VN
wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|