All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthieu CASTET <matthieu.castet@parrot.com>
To: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Cc: Brian Norris <computersforpeace@gmail.com>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>
Subject: Re: [RFC] nand_btt : use nand chip->block_bad
Date: Mon, 2 Jul 2012 10:29:05 +0200	[thread overview]
Message-ID: <4FF15BD1.9010109@parrot.com> (raw)
In-Reply-To: <20120630230252.58ca6bb4@halley>

Hi,

Shmulik Ladkani a écrit :
> Hi,
> 
> On Fri, 29 Jun 2012 10:41:18 +0200 Matthieu CASTET <matthieu.castet@parrot.com> wrote:
>>> - The new scheme lacks the potential error correction offered by the
>>>   mtd_read_oob call (invoked from the original scan functions).
>>>   OTOH, currently, AFAIK, it is only offered by an out-of-tree driver.
>> Could you explain more here ?
>> The current scheme doesn't handle bitflip in bad block. We don't care about
>> error correction : bad block are not protected by ecc !
> 
> I was refering to utilizing the ECC when reading the OOB, so we won't
> get a false "bad" indication when reading the BBM from the OOB.
> 
> See this post (and subsequent ones):
> http://lists.infradead.org/pipermail/linux-mtd/2012-June/042203.html
> 
But oob is not protected by ecc in normal configuration. I believe more than 95%
of current configuration don't protect bad block with ecc.
Manufacturer bad block are also not protected by ecc.

How could this work ?
Do you have example of linux driver that protect bad block with ecc ?

Finally if there is a config with bad block protected by ecc, we can provide
another chip->block_bad callback which use ecc.


Also note that the post speak of "nand_chip.badblockbits" [1] which can be used
with this patch.


Matthieu

[1]
Because when ECC is available on OOB, it is good to utilize it, so
that bitflips don't cause good blocks to be marked bad. Less
importantly, when bad block markers are written by Linux (with ECC),
then these markers can be read back more reliably. (I note that there
is a nand_chip.badblockbits option that could theoretically alleviate
the first issue, but I see it is not actually implemented throughout
nand_bbt.c - only in nand_base.c)

  reply	other threads:[~2012-07-02  8:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-28 15:47 [RFC] nand_btt : use nand chip->block_bad Matthieu CASTET
2012-06-28 18:31 ` Shmulik Ladkani
2012-06-29  8:41   ` Matthieu CASTET
2012-06-30 20:02     ` Shmulik Ladkani
2012-07-02  8:29       ` Matthieu CASTET [this message]
2012-07-24  3:53         ` Brian Norris
2012-07-25 11:02           ` Shmulik Ladkani
2012-08-06 22:21             ` Brian Norris
2012-08-07  7:09               ` Shmulik Ladkani
2012-09-18  1:06               ` Brian Norris
2012-09-18  1:28                 ` Scott Wood
2012-09-26 22:43                   ` Brian Norris
2012-09-26 22:57                     ` Scott Wood
2012-09-26 23:15                       ` Brian Norris

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=4FF15BD1.9010109@parrot.com \
    --to=matthieu.castet@parrot.com \
    --cc=computersforpeace@gmail.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=shmulik.ladkani@gmail.com \
    /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.