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.