public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Johan Rudholm <jrudholm@gmail.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: Re: SD-card endurance, wear and crappiness
Date: Tue, 09 Sep 2014 11:11:24 +0200	[thread overview]
Message-ID: <3904705.sVTpylx3OE@wuerfel> (raw)
In-Reply-To: <CA+20K0DfrGWOSQDgDNPzBYw8W=yq3s9EohEwiTxtUMnPp_sJEA@mail.gmail.com>

On Tuesday 09 September 2014 10:54:51 Johan Rudholm wrote:
> 2014-09-03 16:24 GMT+02:00 Johan Rudholm <jrudholm@gmail.com>:
> > 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?

I think that is correct.

> > 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?

Have you tried if this works? In my experience, the worn-out cards
I have either just fail completely, or they return incorrect data,
but I have not looked at this side of the problem much.

Do you have cards that sometimes time out but always still return
correct data on retry?

	Arnd

  reply	other threads:[~2014-09-09  9:11 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2014-09-10  7:18     ` Johan Rudholm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3904705.sVTpylx3OE@wuerfel \
    --to=arnd@arndb.de \
    --cc=jrudholm@gmail.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox