From: dedekind1@gmail.com (Artem Bityutskiy)
To: linux-arm-kernel@lists.infradead.org
Subject: [i.MX28 GPMI] problem overwriting all-0xff data in NAND
Date: Wed, 20 Jul 2011 11:35:43 +0300 [thread overview]
Message-ID: <1311150947.20738.167.camel@sauron> (raw)
In-Reply-To: <4E26794D.8040004@freescale.com>
On Wed, 2011-07-20 at 14:44 +0800, Huang Shijie wrote:
> Hi Lothar:
> > On Mon, Jul 18, 2011 at 03:13:27PM +0200, Lothar Wa?mann wrote:
> >> Hi,
> >>
> >> with the gpmi-nfc driver for imx28 from Shawn Guo on a TX28 I
> > To be clear, the author of gpmi-nfc driver is Huang Shijie (Cc-ed).
> >
> > Regards,
> > Shawn
> >
> >> encountered some problems with jffs2 when overwriting pages that have
> >> been written with 0xff (e.g. from padding from the file system image
> >> file).
> >>
> >> The problem is that the ECC info for an all-0xff block is not all-0xff
> >> and thus a newly erased block is different from a block that has been
> >> written with 0xff.
> >> If such a block is being altered (jffs2 thinking it can simply
> >> overwrite it without erasing first) the ECC information will be
> >> corrupted and will produce ECC errors upon read.
> >>
> >> The only remedy I can think of is to prevent empty pages from actually
> >> being written to flash, but leaving them in the erased state instead.
> Did you mean that:
> If the gpmi have to write a page which is full of 0xff,
> the gpmi driver should skip the writting, and leave the page in the
> erased state.
>
> Am I right?
Please, no! The driver should just write what it is asked to write. Your
driver has a limitation - a NAND page can be written only _once_. If a
piece of software writes a page twice (1st with all 0xFFs, then with
something else) - this is a problem in _that piece of software_.
Additionally, all 0xFFs are just data, it needs ECC corrections in case
of bit-flips just like any other data. Eve you decided to do that
horrible "skip all 0xFFs" hack, you'd need to make sure bit-flips in
"skipped" pages are still corrected. Indeed, there is not reason why a
never written NAND page would not have bit-flips.
--
Best Regards,
Artem Bityutskiy
next prev parent reply other threads:[~2011-07-20 8:35 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-18 13:13 [i.MX28 GPMI] problem overwriting all-0xff data in NAND Lothar Waßmann
2011-07-18 14:56 ` Ivan Djelic
2011-07-19 5:59 ` Lothar Waßmann
2011-07-19 6:48 ` Ivan Djelic
2011-07-18 16:43 ` Shawn Guo
2011-07-19 2:12 ` Huang Shijie
2011-07-19 6:02 ` Lothar Waßmann
2011-07-19 7:03 ` Huang Shijie
2011-07-19 9:55 ` Lothar Waßmann
2011-07-19 13:36 ` Wolfram Sang
2011-07-20 2:18 ` Huang Shijie
2011-07-20 8:51 ` Wolfram Sang
2011-07-20 4:55 ` Huang Shijie
2011-07-20 6:22 ` Lothar Waßmann
2011-07-20 5:16 ` Artem Bityutskiy
2011-07-20 5:19 ` Artem Bityutskiy
2011-07-19 6:00 ` Lothar Waßmann
2011-07-20 6:44 ` Huang Shijie
2011-07-20 8:10 ` Lothar Waßmann
2011-07-20 8:35 ` Artem Bityutskiy [this message]
2011-07-20 5:12 ` Artem Bityutskiy
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=1311150947.20738.167.camel@sauron \
--to=dedekind1@gmail.com \
--cc=linux-arm-kernel@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