'nandwrite -o' on MLC NAND

Artem Bityutskiy dedekind1 at gmail.com
Mon Aug 15 11:48:46 EDT 2011


On Tue, 2011-08-02 at 12:01 -0700, Brian Norris wrote:
> Hi,
> 
> For a while, I've been having problems with using `nandwrite -o' on
> MLC NAND flash. Nandwrite is never able to write the combined data+OOB
> properly and instead leaves the flash filled with junk. This is,
> apparently, because `nandwrite -o' writes to the flash twice, once for
> the page data and once for the OOB data. This is not allowed on MLC
> NAND, which allow only single writes.
> 
> This is a problem with the user interface to the kernel as well as
> with nandwrite itself, since there is no interface that nandwrite can
> use to write data+OOB to flash in a single write. As I see it, we need
> to do three things:
> 
> 1) Support a (new?) ioctl that handles writing data+oob in one go. I'm
> not sure if an existing interface can be extended or if this actually
> has to be a new one...
> 2) Update nandwrite (i.e., update the libmtd routines in mtd-utils) to
> utilize the new interface when possible.
> 3) Ensure that the raw/no-ECC options for nandwrite are operational
> with the new interface (i.e., `nandwrite -r')

I guess making the old interfaces to be based on the new one internally
is also needed to keep things clean. Then we can declare the old
interfaces "legacy and obsolete", but will have to support anyway, of
course.

-- 
Best Regards,
Artem Bityutskiy




More information about the linux-mtd mailing list