should nand driver create ECC for a page after ERASE cmd?
Boris Brezillon
boris.brezillon at free-electrons.com
Tue Dec 23 03:27:09 PST 2014
On Mon, 22 Dec 2014 20:50:42 +0100
Oleksij Rempel <linux at 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
More information about the linux-mtd
mailing list