public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* SD-card endurance, wear and crappiness
@ 2014-09-03 14:24 Johan Rudholm
  2014-09-09  8:54 ` Johan Rudholm
  0 siblings, 1 reply; 4+ messages in thread
From: Johan Rudholm @ 2014-09-03 14:24 UTC (permalink / raw)
  To: linux-mmc@vger.kernel.org

Hi all,

as you know, NAND flash can be programmed a limited number of times
before it reaches end of life, the number of times varies with the
NAND technology used, among other things.

As far as I can tell from the simplified SD-spec, there is no way of
asking the card about how many program/erase cycles it can handle, or
how many p/e cycles are left before reaching EOL. Right?

So, if one should want to give the user some kind of early warning
that it's time to change SD-cards, is there a way? Also, when a card
has reached EOL, is there a way of telling this condition apart from
all other error conditions that may arise? As you know, depending on
the quality of the card and controller, read timeouts, write timeouts,
lockups etc may occur but can usually be fixed with a power cycle.

I'm thinking of collecting simple statistics from for instance
card/block.c and exposing it via an ioctl or sysfs. The statistics can
be gathered and processed by some user space process which can
determine if the user needs to be alerted. The statistics can be, for
instance:

* Writes/reads that timeout, but succeed after a retry
* Writes/reads that timeout and never succeeds
* Different kinds of errors in the card status
* Anything else?

Perhaps it's not possible to detect worn out cards this way, but at
least it could point out and warn about crappy cards?

Any thoughts about this?

Kind regards, Johan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-09-10  7:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-03 14:24 SD-card endurance, wear and crappiness Johan Rudholm
2014-09-09  8:54 ` Johan Rudholm
2014-09-09  9:11   ` Arnd Bergmann
2014-09-10  7:18     ` Johan Rudholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox