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
next prev parent 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