From: Ivan Djelic <ivan.djelic@parrot.com>
To: "Philip, Avinash" <avinashphilip@ti.com>
Cc: Daniel Mack <zonque@gmail.com>,
Peter Korsgaard <jacmet@sunsite.dk>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"paul@pwsan.com" <paul@pwsan.com>,
"Mohammed, Afzal" <afzal@ti.com>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
"Nori, Sekhar" <nsekhar@ti.com>,
"tony@atomide.com" <tony@atomide.com>,
"Hunter, Jon" <jon-hunter@ti.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: Re: [PATCH v3 4/4] ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND
Date: Thu, 6 Dec 2012 11:15:41 +0100 [thread overview]
Message-ID: <20121206101541.GA4089@parrot.com> (raw)
In-Reply-To: <518397C60809E147AF5323E0420B992E3EA1100E@DBDE01.ent.ti.com>
On Wed, Dec 05, 2012 at 05:15:52AM +0000, Philip, Avinash wrote:
(...)
> > First a short reminder of pros and cons of the "constant polynomial addition"
> > (let's just call it "CPA") feature:
> >
> > pros:
> > - it elegantly solves all problems related to reading an erased page (no clumsy hack needed)
> > - better performance: when a bitflip appears on an erased page (often this is a "sticky" bitflip),
> > there is no need to perform a full scan+cleanup of the page each time it is read
>
> No need for scan + cleanup on each read, as the chances of encountering bit flips in erased page
> is less. Also to find bit flips in erased page, compare ecc vector for read erased page against
> a standard ecc vector. Presence of bit flips can find by checking the compare results. In case of
> mismatch, should go for correction of bit flips in erased page with full scan.
Hi Avinash,
I explicitly mentioned the condition "when a bitflip appears on an erased page", in which case you
_do_ have to do a full scan upon each read, until you erase the block; and then, the bitflip may still be there
(this is what I called a "sticky" bitflip).
My experience with recent devices (4-bit/8-bit) is that erased pages with a single bitflip are not uncommon.
For those pages, there is undeniably a performance penalty compared to CPA.
Benchmarks would be needed to quantify the overall performance impact, but I suspect it is small.
>
> So with this approach, we can nullify the effect of CPA for erased page bit flip handling.
Well, not completely. I would happily drop CPA is that were the case.
> >
> > cons:
> > - the ecc vector is not compatible with RBL
> >
> > RBL compatibility is not necessary in my case, because I'm using the OMAP MLC ROM boot mode.
> > Rather than completely removing the CPA feature, I'd like to keep it as an option; it could
> > even be used with the ELM module.
>
> I agree RBL compatibility depends on the user. But with RBL compatibility, there is no sacrifice
> of any existing feature. Is it right?
>
> Also nand driver get simplified with removal of CPA, so that both HW & SW error correction
> can go for same ecc calculation.
Indeed that would be a simplification.
> >
> > I'm OK to submit a patch in this direction, but first I'd like to wait for the dust to settle
> > on arch/arm/mach-omap2 and mtd/nand/omap2.c with Afzal patches and everything; things have become
> > a bit complicated to follow recently :-)
>
> Afzal's changes are in & are settled now.
What about this set: http://lists.infradead.org/pipermail/linux-mtd/2012-October/044337.html
I cannot see it in l2-mtd-2.6 ? Or did I miss something ?
Thanks,
--
Ivan
WARNING: multiple messages have this Message-ID (diff)
From: ivan.djelic@parrot.com (Ivan Djelic)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 4/4] ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND
Date: Thu, 6 Dec 2012 11:15:41 +0100 [thread overview]
Message-ID: <20121206101541.GA4089@parrot.com> (raw)
In-Reply-To: <518397C60809E147AF5323E0420B992E3EA1100E@DBDE01.ent.ti.com>
On Wed, Dec 05, 2012 at 05:15:52AM +0000, Philip, Avinash wrote:
(...)
> > First a short reminder of pros and cons of the "constant polynomial addition"
> > (let's just call it "CPA") feature:
> >
> > pros:
> > - it elegantly solves all problems related to reading an erased page (no clumsy hack needed)
> > - better performance: when a bitflip appears on an erased page (often this is a "sticky" bitflip),
> > there is no need to perform a full scan+cleanup of the page each time it is read
>
> No need for scan + cleanup on each read, as the chances of encountering bit flips in erased page
> is less. Also to find bit flips in erased page, compare ecc vector for read erased page against
> a standard ecc vector. Presence of bit flips can find by checking the compare results. In case of
> mismatch, should go for correction of bit flips in erased page with full scan.
Hi Avinash,
I explicitly mentioned the condition "when a bitflip appears on an erased page", in which case you
_do_ have to do a full scan upon each read, until you erase the block; and then, the bitflip may still be there
(this is what I called a "sticky" bitflip).
My experience with recent devices (4-bit/8-bit) is that erased pages with a single bitflip are not uncommon.
For those pages, there is undeniably a performance penalty compared to CPA.
Benchmarks would be needed to quantify the overall performance impact, but I suspect it is small.
>
> So with this approach, we can nullify the effect of CPA for erased page bit flip handling.
Well, not completely. I would happily drop CPA is that were the case.
> >
> > cons:
> > - the ecc vector is not compatible with RBL
> >
> > RBL compatibility is not necessary in my case, because I'm using the OMAP MLC ROM boot mode.
> > Rather than completely removing the CPA feature, I'd like to keep it as an option; it could
> > even be used with the ELM module.
>
> I agree RBL compatibility depends on the user. But with RBL compatibility, there is no sacrifice
> of any existing feature. Is it right?
>
> Also nand driver get simplified with removal of CPA, so that both HW & SW error correction
> can go for same ecc calculation.
Indeed that would be a simplification.
> >
> > I'm OK to submit a patch in this direction, but first I'd like to wait for the dust to settle
> > on arch/arm/mach-omap2 and mtd/nand/omap2.c with Afzal patches and everything; things have become
> > a bit complicated to follow recently :-)
>
> Afzal's changes are in & are settled now.
What about this set: http://lists.infradead.org/pipermail/linux-mtd/2012-October/044337.html
I cannot see it in l2-mtd-2.6 ? Or did I miss something ?
Thanks,
--
Ivan
next prev parent reply other threads:[~2012-12-06 10:15 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-02 15:25 [PATCH v3 0/4] RFC: OMAP GPMC DT bindings Daniel Mack
2012-11-02 15:25 ` Daniel Mack
2012-11-02 15:25 ` [PATCH v3 1/4] mtd: omap-nand: pass device_node in platform data Daniel Mack
2012-11-02 15:25 ` Daniel Mack
2012-11-02 15:25 ` [PATCH v3 2/4] ARM: OMAP: gpmc: enable hwecc for AM33xx SoCs Daniel Mack
2012-11-02 15:25 ` Daniel Mack
2012-11-05 10:57 ` Philip, Avinash
2012-11-05 10:57 ` Philip, Avinash
2012-11-02 15:25 ` [PATCH v3 3/4] ARM: OMAP: gpmc: don't create devices from initcall on DT Daniel Mack
2012-11-02 15:25 ` Daniel Mack
2012-11-02 15:25 ` [PATCH v3 4/4] ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND Daniel Mack
2012-11-02 15:25 ` Daniel Mack
2012-11-05 11:03 ` Philip, Avinash
2012-11-05 11:03 ` Philip, Avinash
2012-11-05 12:58 ` Daniel Mack
2012-11-05 12:58 ` Daniel Mack
2012-11-05 13:29 ` Philip, Avinash
2012-11-05 13:29 ` Philip, Avinash
2012-11-05 23:03 ` Murali Karicheri
[not found] ` <518397C60809E147AF5323E0420B992E3E9DC1F1-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2012-11-07 9:48 ` Daniel Mack
2012-11-07 9:48 ` Daniel Mack
2012-11-07 15:37 ` Philip, Avinash
2012-11-07 15:37 ` Philip, Avinash
2012-11-10 18:56 ` Daniel Mack
2012-11-10 18:56 ` Daniel Mack
2012-11-15 0:26 ` Daniel Mack
2012-11-15 0:26 ` Daniel Mack
2012-11-19 6:06 ` Philip, Avinash
2012-11-19 6:06 ` Philip, Avinash
2012-11-20 15:59 ` Peter Korsgaard
2012-11-20 15:59 ` Peter Korsgaard
2012-11-21 10:15 ` Daniel Mack
2012-11-21 10:15 ` Daniel Mack
[not found] ` <50ACA9BB.7090106-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-11-23 10:43 ` Philip, Avinash
2012-11-23 10:43 ` Philip, Avinash
2012-11-27 14:00 ` Daniel Mack
2012-11-27 14:00 ` Daniel Mack
[not found] ` <50B4C796.4010403-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-11-28 5:01 ` Philip, Avinash
2012-11-28 5:01 ` Philip, Avinash
2012-12-01 21:50 ` Ivan Djelic
2012-12-01 21:50 ` Ivan Djelic
[not found] ` <20121201215014.GA11236-ITF29qwbsa/QT0dZR+AlfA@public.gmane.org>
2012-12-05 5:15 ` Philip, Avinash
2012-12-05 5:15 ` Philip, Avinash
2012-12-06 10:15 ` Ivan Djelic [this message]
2012-12-06 10:15 ` Ivan Djelic
2012-12-06 13:12 ` Philip, Avinash
2012-12-06 13:12 ` Philip, Avinash
2012-11-02 19:29 ` [PATCH v3 0/4] RFC: OMAP GPMC DT bindings Jon Hunter
2012-11-02 19:29 ` Jon Hunter
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=20121206101541.GA4089@parrot.com \
--to=ivan.djelic@parrot.com \
--cc=afzal@ti.com \
--cc=avinashphilip@ti.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=jacmet@sunsite.dk \
--cc=jon-hunter@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=nsekhar@ti.com \
--cc=paul@pwsan.com \
--cc=tony@atomide.com \
--cc=zonque@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.