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
next prev parent 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