From: Oleksij Rempel <linux@rempel-privat.de>
To: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: computersforpeace@gmail.com, linux-mtd@lists.infradead.org
Subject: Re: should nand driver create ECC for a page after ERASE cmd?
Date: Sun, 21 Dec 2014 19:44:26 +0100 [thread overview]
Message-ID: <5497150A.9090304@rempel-privat.de> (raw)
In-Reply-To: <20141221172806.4fb64605@bbrezillon>
[-- Attachment #1: Type: text/plain, Size: 1766 bytes --]
Am 21.12.2014 um 17:28 schrieb Boris Brezillon:
> Hi Oleksij,
>
> On Sat, 20 Dec 2014 09:42:29 +0100
> Oleksij Rempel <linux@rempel-privat.de> wrote:
>
>> Hello all,
>>
>> i'm trying to pass mtd/tests for my driver.. on pagetest i fail on this
>> place:
>> http://lxr.free-electrons.com/source/drivers/mtd/tests/pagetest.c#L311
>>
>> after ERASE cmd this test trying to read same page. Driver will report
>> ECC error on read, because erased page has no ECC data in OOB.
>>
>> What is correct way to handle it?
>
> 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.
Thanks a lot to all responses,
i recognised my mistake and learned from it.
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
--
Regards,
Oleksij
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]
next prev parent reply other threads:[~2014-12-21 18:45 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 [this message]
2014-12-22 18:41 ` Brian Norris
2014-12-22 19:50 ` Oleksij Rempel
2014-12-23 11:27 ` Boris Brezillon
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=5497150A.9090304@rempel-privat.de \
--to=linux@rempel-privat.de \
--cc=boris.brezillon@free-electrons.com \
--cc=computersforpeace@gmail.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 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).