From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Oleksij Rempel <linux@rempel-privat.de>
Cc: linux-mtd@lists.infradead.org
Subject: Re: [PATCH] nand: add Types of controllers from ECC point of view
Date: Tue, 30 Dec 2014 19:53:49 +0100 [thread overview]
Message-ID: <20141230195349.12cafd01@bbrezillon> (raw)
In-Reply-To: <1419677195-4900-1-git-send-email-linux@rempel-privat.de>
Hi Oleksij,
On Sat, 27 Dec 2014 11:46:35 +0100
Oleksij Rempel <linux@rempel-privat.de> wrote:
> it is mostly copy&paste of Boris Brezillons answer on linux-mtd list.
Please describe what your patch does, not where it comes from.
If I wanted I'd ask you to add my SoB...
>
> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> ---
> doc/nand.xml | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/doc/nand.xml b/doc/nand.xml
> index 281e0e0..197241c 100644
> --- a/doc/nand.xml
> +++ b/doc/nand.xml
> @@ -113,6 +113,21 @@ protection or connected to VCC to enable writes unconditionally. As NAND flash u
> a command driven programming and erasing, an accidental write or erase is not
> likely to happen. The Ready / Busy output is not necessary for operation,
> but it can be tied to a GPIO or an interrupt line. </p>
> +
> +<h3>Types of controllers from ECC point of view</h3>
This paragraph has nothing to do with NAND Filesystems and thus should
be placed in its own section.
Moreover, I'm not sure the title is clear enough. How about
<h2>ECC controllers</h3>
<!--description of what ECC controllers are-->
<!--other stuff related to ECC-->
<h3>BCH Algorithm</h3>
<!--description of BCH algorithm -->
<h4>ECC bytes for empty pages (filled with 0xff)</h4>
<!-- put some context here -->
<!-- then the description below (not sure you should directly reuse
my words though) -->
> +<p>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)</p>
> +<p>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.</p>
> +<p>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).</p>
> +<p>3) The controller does not handle erased pages at all, and in this case
> +you'll have to manually test it (see is_buf_blank in drivers/mtd/nand/pxa3xx_nand.c) when you
> +encounter an ECC error.</p>
Please use:
<ol>
<li>Wiser controllers are generating 0xff ECC bytes for a data
chunk...</li>
<li>...</li>
</ol>
Regards,
Boris
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
prev parent reply other threads:[~2014-12-30 18:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-27 10:46 [PATCH] nand: add Types of controllers from ECC point of view Oleksij Rempel
2014-12-30 18:53 ` 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=20141230195349.12cafd01@bbrezillon \
--to=boris.brezillon@free-electrons.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).