From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: "Peter Meerwald" <pmeerw@pmeerw.net>,
"Tony Lindgren" <tony@atomide.com>,
"Enric Balletbo Serra" <eballetbo@gmail.com>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
"Gupta, Pekon" <pekon@ti.com>,
"Ezequiel Garcia" <ezequiel.garcia@free-electrons.com>,
"Javier Martinez Canillas" <javier@dowhile0.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"Andreas Bießmann" <andreas.biessmann@corscience.de>
Subject: Re: OMAP3 NAND ECC selection
Date: Thu, 5 Dec 2013 20:32:37 +0100 [thread overview]
Message-ID: <20131205203237.047cfbb9@skate> (raw)
In-Reply-To: <CAN8TOE-cv5ppz0Q_asK=6WdRPaK9SAd1ccZF0Ax7QCdGOE7Fjw@mail.gmail.com>
Dear Brian Norris,
On Thu, 5 Dec 2013 11:24:18 -0800, Brian Norris wrote:
> > The long term benefits is simply to properly handle the hardware
> > constraints. We have hardware platforms were parts of the NAND *MUST*
> > use 1-bit ECC to be compatible with the ROM code, and other parts of
> > the NAND *MUST* use stronger 4-bits or 8-bits ECC to comply with the
> > NAND requirements.
>
> Using 1-bit ECC on NAND is not a long-term solution. Given that fact,
> I think your ROM code is what may need to change, not the entire MTD
> subsystem.
As someone (Tom Rini maybe?) pointed out, today the shift is 1-bit ECC
supported by ROM code vs. 4 or 8 bits required by NAND. But we can very
well imagine that tomorrow ROM code will support BCH4 (and the NAND
will ensure block 0 is OK for use with BCH4) but the rest of the NAND
will require BCH16 or something like that.
I'm not designing ROM code, and the fact that they today have this
limitation, should be an indication that Linux should be capable of
handling different ECC schemes to handle those hardware constraints.
> > Isn't handling hardware constraints properly not a sufficient
> > motivation for doing something?
>
> I'm not convinced your hardware constraints are reasonable or
> generally useful. But I could be convinced otherwise.
They may not be reasonable, but they exist :)
> >> Also, any constrain due to ROM code, or upgrading from remote can be
> >> handled using various alternative approaches like [a] and [b].
> >
> > And you're not realizing that these solutions are ugly and impractical?
>
> Solution [a] is both ugly and impractical. Solution [b] is only a
> little ugly but quite practical (you could flesh out a better
> user-space ECC library, then combine it with nanddump/nandwrite
> --noecc). Rewriting both the MTD and NAND layers is not exactly
> practical and may still yield something ugly.
It's not practical because it wasn't thought like this originally, but
technically speaking, being able to use a different ECC scheme for
different areas of the NAND makes a lot of sense.
That being said, it is true that having a good and reusable userspace
tool to write data with arbitrary ECC schemes would be useful to
workaround this situation.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2013-12-05 19:33 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-05 9:13 OMAP3 NAND ECC selection Peter Meerwald
2013-12-05 9:47 ` Enric Balletbo Serra
2013-12-05 9:59 ` Andreas Bießmann
2013-12-05 16:12 ` Peter Meerwald
2013-12-05 17:13 ` Tony Lindgren
2013-12-05 17:39 ` Javier Martinez Canillas
2013-12-05 18:26 ` Ezequiel Garcia
2013-12-05 18:58 ` Javier Martinez Canillas
2013-12-05 19:02 ` Gupta, Pekon
2013-12-05 19:06 ` Thomas Petazzoni
2013-12-05 19:24 ` Brian Norris
2013-12-05 19:32 ` Thomas Petazzoni [this message]
2013-12-05 19:38 ` Tony Lindgren
2013-12-08 20:59 ` Mike Dunn
2013-12-09 4:33 ` Gupta, Pekon
2013-12-09 11:06 ` Matthieu CASTET
2013-12-09 11:50 ` Gupta, Pekon
2013-12-05 19:13 ` Brian Norris
2013-12-06 17:35 ` Andreas Bießmann
2013-12-06 14:54 ` Peter Meerwald
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=20131205203237.047cfbb9@skate \
--to=thomas.petazzoni@free-electrons.com \
--cc=andreas.biessmann@corscience.de \
--cc=computersforpeace@gmail.com \
--cc=eballetbo@gmail.com \
--cc=ezequiel.garcia@free-electrons.com \
--cc=javier@dowhile0.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=pekon@ti.com \
--cc=pmeerw@pmeerw.net \
--cc=tony@atomide.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox