Does mtd support two-plane page program for nand flash?

Charles Manning manningc2 at actrix.gen.nz
Mon Mar 12 02:53:58 EDT 2007


On Monday 12 March 2007 17:49, Marteo Tim wrote:
> MLC NAND Flash has already become the mainstream flash for
> large-capacity on the market. But due to its low writting speed, there
> will be introduced more parallel writting features such as multi-bank,
> interleave, etc. So I think it is very necessary to modify MTD
> structure to support multi-plane & interleave feature for speed
> issure.

Multi-plane flash predates MLC and has been here for a while.

MLC is a bit slower, but  bigger overheads come from ECC. For example, Micron 
suggests using at minimum BCH to give 4 bits per 512-byte correction for MLC 
whereas they suggest only a minimum of 1-bit per 512 bytes correction for 
SLC.

>
> It is a good method to shield the details of flash type by composing
> two or more page as a large page. 
This approach works, but also forces you to have more bad blocks than you'd 
have otherwise. MLC will tend to have more bad blocks than SLC.

If you know how data is going to be written thern there are other 
possibilities (eg. buffering up pages and writing them in parallel).

> Although it will be more slower for 
> small segment data read/write. But for large-capacity flash,
> continuate writting speed maybe is more concerned.

I think anyone really wanting speed probably writes their own drivers anyway 
(well that's what people woho are most interested in speed tell me 
anyway :-)).

-- Charles


>
> Regards,
> marteo
>
> 2007/3/9, Jörn Engel <joern at lazybastard.org>:
> > On Fri, 9 March 2007 10:09:37 +0200, Adrian Hunter wrote:
> > > OneNAND DDP does this too (google: onenand "2x program")
> >
> > Thanks!
> >
> > > I presume the possibility exists to have the driver pretend that the
> > > page size is twice as large and there are half as many erase blocks.
> > > It would have to map the addressses accordingly - and everything
> > > else would have to be willing to accept a 4KiB page with 8
> > > subpages and 128 bytes of oob.
> >
> > That would be the quick way to get extra bandwidth.
> >
> > Interleaving writes to both planes can also help latency.  It is
> > possible to write to one plane while the other is erasing.  It is
> > possible to do two writes in parallel.  Keeping things seperate would
> > keep writesize and erasesize low.  And by combining two or more planes,
> > the slowest of them always decides how long a write/erase will take.
> >
> > So in the long run, I would prefer to keep planes seperate and add
> > intelligence to filesystems, LogFS in particular.
> >
> > Jörn
> >
> > --
> > It does not matter how slowly you go, so long as you do not stop.
> > -- Confucius
> >
> > ______________________________________________________
> > Linux MTD discussion mailing list
> > http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/




More information about the linux-mtd mailing list