On 25/02/2014 02:23, Qiang Yu wrote:
Hi Boris,

Good job! I haven't working on SUNXI MTD driver for a long time,
glad to see you make big progress on it.

Here is some questions:

    Almost everything is implemented now:
    - HW ECC support
    - per partition ECC config
    - HW randomizer support
    - per partition randomizer config
    - read retry for Hynix 20nm 8GB nand

Is DMA transfer supported?

No, not yet, and I'm not sure this is really needed.

But let's seek a bit the reasons behind my feeling:

1) The NAND core framework is not designed to use DMA.
It can be used within controller drivers, but with no benefits because the data has to be copied to a DMA-able memory region (see http://patchwork.ozlabs.org/patch/299178/).

2) Beside point 1), I'm not sure using DMA would really improve perfomances:
the NAND controller already provides large buffers (1K), and full page read/write (using
DMA interface) should not drastically impact performances.
But this needs further testing.

    The boot0 partition can be read/written from Linux, and you should
    be able to use UBI/UBIFS (even though UBIFS is not ready yet for MLC
    flashes).

Why UBIFS is not ready for MLC?


Then UBIFS only support SLC?

UBI/UBIFS works with MLC, but there are several drawbacks:

1) the UBI WL code triggers data move from one block to another when the number of bitflips exceed a bitflips threshold (equal to the maximum ECC strength by default). In MLC NANDs you oftenly raise the ECC strength limit, and UBI will keep moving blocks over and over if you don't change the bitflip threshold (this can be done using
the bitflips_threshold find in sysfs).

2) In MLC/TLC NANDs pages are paired: paired pages share the same cells (one page using
the LSB and the other one using the MSB).
When you program a page, the paired page is impacted, and if the program action is aborted you might not only loose the data written on the programmed page, but also on the paired page. This might lead to unrecoverable data corruption from the UBIFS POV, when a power cut occurs.

See this for further details:

http://www.linux-mtd.infradead.org/doc/ubifs.html#L_ubifs_mlc


Best Regards,

Boris

Regards,
Qiang


--
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to