linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Oleksij Rempel <linux@rempel-privat.de>
Cc: Brian Norris <computersforpeace@gmail.com>,
	linux-mtd@lists.infradead.org
Subject: Re: should nand driver create ECC for a page after ERASE cmd?
Date: Tue, 23 Dec 2014 12:27:09 +0100	[thread overview]
Message-ID: <20141223122709.0dfbe2af@bbrezillon> (raw)
In-Reply-To: <54987612.9070500@rempel-privat.de>

On Mon, 22 Dec 2014 20:50:42 +0100
Oleksij Rempel <linux@rempel-privat.de> wrote:

> Am 22.12.2014 um 19:41 schrieb Brian Norris:
> > On Sun, Dec 21, 2014 at 07:44:26PM +0100, Oleksij Rempel wrote:
> >> Am 21.12.2014 um 17:28 schrieb Boris Brezillon:
> >>> Well, actually it depends on your NAND/ECC controller capabilities (but
> >>> given your discussion with Richard on IRC, I guess you already
> >>> understood that ;-))
> >>>
> >>> 1) Wiser controllers are generating 0xff ECC bytes for a data chunk
> >>> (chunk == ECC step size) filled with 0xff. With BCH algorithms this is
> >>> easily done by XORing the ECC bytes with the appropriate pattern (see
> >>> soft BCH implementation)
> >>> 2) Some controller just verify if the data chunk + ECC bytes are all
> >>> 0xff before passing it to the ECC engine. If they are filled with 0xff
> >>> the ECC correction is bypassed.
> >>> This method has one drawback: it does not properly handle bitflips
> >>> occurring in erased pages (if one bitflip occurs the NAND controller
> >>> consider the chunk as not empty, and pass it to the BCH engine).
> >>> 3) The controller does not handle erased pages at all, and in this case
> >>> you'll have to manually test it (as Ezequiel suggested) when you
> >>> encounter an ECC error.
> >>
> >> Boris,
> >> i think your explanation can be placed to mtd web page, some where here :)
> >> http://www.linux-mtd.infradead.org/doc/general.html#L_mtd_tests
> > 
> > Patches are welcome:
> > 
> > http://www.linux-mtd.infradead.org/faq/general.html#L_mtdwww
> 
> No problem,
> 
> should it go to "general.html#L_mtd_tests" or some other section?

IMHO, it should go somewhere in the NAND page:
http://www.linux-mtd.infradead.org/doc/nand.html

Maybe adding a NAND controller section would make sense...

> Boris are you ok if i use your description for this patch?
> 

Sure, no problem.



-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

      reply	other threads:[~2014-12-23 11:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-20  8:42 should nand driver create ECC for a page after ERASE cmd? Oleksij Rempel
2014-12-21  1:46 ` Ezequiel Garcia
2014-12-21 14:13   ` Oleksij Rempel
2014-12-21 16:28 ` Boris Brezillon
2014-12-21 18:44   ` Oleksij Rempel
2014-12-22 18:41     ` Brian Norris
2014-12-22 19:50       ` Oleksij Rempel
2014-12-23 11:27         ` Boris Brezillon [this message]

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=20141223122709.0dfbe2af@bbrezillon \
    --to=boris.brezillon@free-electrons.com \
    --cc=computersforpeace@gmail.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux@rempel-privat.de \
    /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;
as well as URLs for NNTP newsgroup(s).