public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: "DataCom - Virgílio" <virgilio@datacom-telematica.com.br>
To: linux-mtd@lists.infradead.org
Subject: Re: Single bit error correction on NAND.
Date: Thu, 28 Jul 2005 18:40:03 -0300	[thread overview]
Message-ID: <200507281840.03577.virgilio@datacom-telematica.com.br> (raw)
In-Reply-To: <1122584803.26146.55.camel@tglx.tec.linutronix.de>

On Thursday 28 July 2005 18:06, Thomas Gleixner wrote:
> On Thu, 2005-07-28 at 16:40 -0300, DataCom - Virgílio wrote:
> > I have noticed that NAND support on MTD can detect/correct single bit
> > errors in 256 bytes, using software ECC. However, the correct data is not
> > written back to flash. In other words, the bit stays "flipped" in flash.
> > Isn't that dangerous? I mean, if another bitflip occurs in the same 256
> > bytes, we won't be able to correct by software ECC...
> >
> > Am I missing something here?
>
> Yes.
>
> It is not and can not be the responsibility of the NAND driver to handle
> this. Where to should it write the data ? The existing data _cannot_ be
> overwritten, without erasing the whole eraseblock and the implied risk
> of loosing _ALL_ the data on the block due to a powerfail.
>
> The NAND driver returns the corrected data and an appropriate error code

Maybe I'm missing something, but the function nand_do_read_ecc returns 
-EBADMSG only if an uncorrectable error is detected by nand_correct_data. If 
just one bit is flipped, nand_correct_data corrects it, and nand_do_read_ecc 
returns 0.

> and the calling (e.g. filesystem) driver has to deal with the data
> copying or whatever the developer has decided to be the correct
> solution.

So it would be JFFS2 responsability to write back the correct data to flash, 
after a bit-flip is detected and corrected by the NAND driver. However, 
apparently it doesn't.

My question is: do you think it's safe to just leave the bit flipped in flash? 
I mean, everytime I try to read it, ECC will handle it. But what are the odds 
of another bit-flip in the same 256 bytes?

-- 
VIRGÍLIO Silva

  reply	other threads:[~2005-07-28 21:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-28 19:40 Single bit error correction on NAND DataCom - Virgílio
2005-07-28 21:06 ` Thomas Gleixner
2005-07-28 21:40   ` DataCom - Virgílio [this message]
2005-07-29  7:35     ` Thomas Gleixner

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=200507281840.03577.virgilio@datacom-telematica.com.br \
    --to=virgilio@datacom-telematica.com.br \
    --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