public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
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

      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