From: Thomas Gleixner <tglx@linutronix.de>
To: Han Chang <posaune@hotmail.com>
Cc: linux-mtd@lists.infradead.org
Subject: Re: Issue with h/w ecc based NAND driver.
Date: Wed, 30 Aug 2006 18:37:57 +0200 [thread overview]
Message-ID: <1156955877.29250.186.camel@localhost.localdomain> (raw)
In-Reply-To: <BAY110-F48855559EABB206C5E9E4BC470@phx.gbl>
On Wed, 2006-08-23 at 11:12 -0700, Han Chang wrote:
> Hi there,
>
> I'm using a NAND with h/w ecc. When a block is erased, both main data and
> oob are set to 0xff, and if the driver read the main data in the page with
> hardware enabled ecc, the 0xff in the oob is not the right ecc code, so the
> ecc mechanism in the h/w try to recover the error and trash the content in
> the main data area.
>
> I tried to set the right ecc code in the oob for every page whenever a block
> is erased. But then the problem is with page programming. When write a page,
> the h/w ecc controller generates the ecc code and write it to the oob, since
> the oob is already written once during erase, the 2nd write to the oob is
> not taken well. So when read back the same page, it causes ecc error again.
>
> I would appreciate very much if someone can shed some light on this kind of
> delimma.
That's a know problem with braindead hardware. One solution is to apply
cluesticks (i.e. baseball bats) on the hardware designer. This only
helps for your well-being and does not solve the problem itself.
Look into drivers/mtd/nand/diskonchip.c doc200x_correct_data(). There is
an approach to tackle exactly the same problem.
tglx
prev parent reply other threads:[~2006-08-30 16:34 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-23 18:12 Issue with h/w ecc based NAND driver Han Chang
2006-08-30 16:37 ` Thomas Gleixner [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=1156955877.29250.186.camel@localhost.localdomain \
--to=tglx@linutronix.de \
--cc=linux-mtd@lists.infradead.org \
--cc=posaune@hotmail.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