All of lore.kernel.org
 help / color / mirror / Atom feed
From: Artem Bityutskiy <dedekind1@gmail.com>
To: "Jean-Sébastien Gagnon" <jsgagnon@vizimax.com>,
	"Ivan Djelic" <ivan.djelic@parrot.com>
Cc: linux-mtd@lists.infradead.org
Subject: RE: UBIFS recovery fails
Date: Thu, 20 Oct 2011 19:43:41 +0300	[thread overview]
Message-ID: <1319129028.20953.26.camel@sauron> (raw)
In-Reply-To: <225442585F89274EA3A62F88671ECBAC0D33C8EB@prod-svr-1.intranet.str.ca>

[-- Attachment #1: Type: text/plain, Size: 1368 bytes --]

On Tue, 2011-10-18 at 11:10 -0400, Jean-Sébastien Gagnon wrote:
> If you cut power during a page programming operation, you can easily get more
> unstable bits than what the manufacturer-specified ecc supports (for instance,
> 3 unstable bits on a 1bit-ecc device). We experienced this on several different
> devices.
> Having a lot of bitflips (more than what ecc supports) is not the problem here:
> the page was indeed partially programmed, it contains garbage and its contents
> should be discarded.
> 
> The real problem appears when those faulty bits are unstable: during the first
> few read attempts, the page may be successfully read (possibly with ecc
> corrections); and then, a bit later, the page becomes unreadable because of too
> many faulty bits.

Right. If you first get a correctable bit-flip, UBI will schedule this
PEB for scrubbing. When the background thread starts scrubbing, it will
read the PEB _again_, and this time it can end up with an uncorrectable
ECC error.

This is probably also a good point: when UBIFS recovers, it should
probably somehow ask UBI to _not_ do scrubbing, to avoid failures at UBI
level if UBI decides to scrub a PEB before UBIFS erase-cycles it.

IOW, the whole stack (not only UBIFS) should make sure the PEBs with
unstable bits are read only once.

-- 
Best Regards,
Artem Bityutskiy

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

  parent reply	other threads:[~2011-10-20 16:44 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-17 13:29 UBIFS recovery fails Daniel Kuhn
2011-10-17 20:17 ` Artem Bityutskiy
2011-10-18  8:11   ` Ricard Wanderlof
2011-10-18  8:42     ` Ivan Djelic
2011-10-20 16:37       ` Artem Bityutskiy
2011-10-20 16:36     ` Artem Bityutskiy
2011-10-18  8:29   ` Ivan Djelic
2011-10-19 15:15     ` Artem Bityutskiy
2011-10-19 17:27       ` Ivan Djelic
2011-10-18 12:47   ` Jean-Sébastien Gagnon
2011-10-18 14:54     ` Ivan Djelic
2011-10-18 15:10       ` Jean-Sébastien Gagnon
2011-10-18 15:32         ` Ivan Djelic
2011-10-18 16:05           ` Jean-Sébastien Gagnon
2011-10-19  6:50             ` Ricard Wanderlof
2011-10-19 10:22               ` Ivan Djelic
2011-10-19 12:17                 ` Atlant Schmidt
2011-10-19 12:52                   ` Ricard Wanderlof
2011-10-19 13:30                     ` Atlant Schmidt
2011-10-20 16:43         ` Artem Bityutskiy [this message]
2011-10-24  7:00           ` Ricard Wanderlof
2011-10-29 19:43             ` Artem Bityutskiy
2011-10-20 14:14       ` Artem Bityutskiy
2011-10-18 15:29   ` Daniel Kuhn

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=1319129028.20953.26.camel@sauron \
    --to=dedekind1@gmail.com \
    --cc=ivan.djelic@parrot.com \
    --cc=jsgagnon@vizimax.com \
    --cc=linux-mtd@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.