From: Ivan Djelic <ivan.djelic@parrot.com>
To: Scott Wood <scottwood@freescale.com>, LiuShuo <b35362@freescale.com>
Cc: Artem Bityutskiy <dedekind1@gmail.com>,
LiuShuo <b35362@freescale.com>,
Matthieu Castet <matthieu.castet@parrot.com>,
"linuxppc-dev@ozlabs.org" <linuxppc-dev@ozlabs.org>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
"dwmw2@infradead.org" <dwmw2@infradead.org>
Subject: Re: [PATCH v3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip
Date: Mon, 22 Aug 2011 17:25:30 +0200 [thread overview]
Message-ID: <20110822152530.GA16794@parrot.com> (raw)
In-Reply-To: <1314010719.2644.114.camel@sauron>
On Mon, Aug 22, 2011 at 11:58:33AM +0100, Artem Bityutskiy wrote:
> On Fri, 2011-08-19 at 13:10 -0500, Scott Wood wrote:
> > On 08/19/2011 03:57 AM, Matthieu CASTET wrote:
> > > LiuShuo a écrit :
> > >> ??? 2011???08???19??? 01:00, Matthieu CASTET ??????:
> > >>> b35362@freescale.com a écrit :
> > >>>> From: Liu Shuo<b35362@freescale.com>
> > >>>>
> > >>>> Freescale FCM controller has a 2K size limitation of buffer RAM. In order
> > >>>> to support the Nand flash chip whose page size is larger than 2K bytes,
> > >>>> we divide a page into multi-2K pages for MTD layer driver. In that case,
> > >>>> we force to set the page size to 2K bytes. We convert the page address of
> > >>>> MTD layer driver to a real page address in flash chips and a column index
> > >>>> in fsl_elbc driver. We can issue any column address by UA instruction of
> > >>>> elbc controller.
> > >>>>
> > >>> Why do you need to do that ?
> > >>>
> > >>> When mtd send you a 4k page, why can't you write it by 2*2k pages write ?
> > >> 1. It's easy to implement.
> > >> 2. We don't need to move the data in buffer more times, because we
> > >> want to use the HW_ECC.
> > >>
> > >> In flash chip per Page:
> > >> ----------------------------------------------------------------
> > >> | first data | first oob | second data | second oob |
> > >> ----------------------------------------------------------------
> > > How the bad block marker are handled with this remapping ?
> >
> > It has to be migrated prior to first use (this needs to be documented,
> > and ideally a U-Boot command provided do do this), or else special
> > handling would be needed when building the BBT. The only way around
> > this would be to do ECC in software, and do the buffering needed to let
> > MTD treat it as a 4K chip.
Did you take into account the fact that because MTD thinks this a 2K chip,
you will have to wait twice for the nand busy read time (typically 25 us) per
each 4K read. In other words, to read 4 kBytes you will do:
1. send read0 (00), send address, send read1 (30)
2. wait tRB
3. transfer 2 kBytes
4. send read0 (00), send address, send read1 (30)
5. wait tRB
6. transfer 2 kBytes
Same problem for writes (but rather 100 us instead of 25 us).
How does that compare with hw ecc gain in terms of performance ?
--
Best Regards,
Ivan
next prev parent reply other threads:[~2011-08-22 15:35 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-18 2:33 [PATCH v3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip b35362
2011-08-18 16:25 ` Scott Wood
2011-08-18 18:27 ` Scott Wood
2011-08-23 8:37 ` LiuShuo
2011-08-23 10:02 ` Matthieu CASTET
2011-08-23 16:12 ` Scott Wood
2011-08-25 11:18 ` Artem Bityutskiy
2011-08-24 2:48 ` LiuShuo
2011-08-25 11:25 ` Matthieu CASTET
2011-09-01 9:41 ` LiuShuo
2011-09-01 22:30 ` Scott Wood
2011-08-18 17:00 ` Matthieu CASTET
2011-08-18 18:24 ` Scott Wood
2011-08-19 3:20 ` LiuShuo
2011-08-19 8:57 ` Matthieu CASTET
2011-08-19 18:10 ` Scott Wood
2011-08-22 10:58 ` Artem Bityutskiy
2011-08-22 15:25 ` Ivan Djelic [this message]
2011-08-22 16:04 ` Scott Wood
2011-08-22 16:13 ` Matthieu CASTET
2011-08-22 16:19 ` Scott Wood
2011-08-22 17:05 ` Matthieu CASTET
2011-08-23 3:09 ` LiuShuo
2011-08-23 8:14 ` Matthieu CASTET
2011-08-23 9:57 ` LiuShuo
2011-08-23 10:13 ` Matthieu CASTET
2011-08-22 15:58 ` Scott Wood
2011-08-25 11:06 ` Artem Bityutskiy
2011-08-22 10:53 ` 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=20110822152530.GA16794@parrot.com \
--to=ivan.djelic@parrot.com \
--cc=b35362@freescale.com \
--cc=dedekind1@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=matthieu.castet@parrot.com \
--cc=scottwood@freescale.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;
as well as URLs for NNTP newsgroup(s).