NAND subsector writing problem
Charles Manning
manningc2 at actrix.gen.nz
Thu Jan 30 23:01:05 EST 2003
Alex
I assume you're using the TC58128AFT since there is no TC5818AFT.
I don't spend time in the mtd, only in YAFFS, but I can think of a few things
to look at. No doubt other people can think of more things...
When I first looked at the NAND mtd a long time back I noticed that the
verify did not always work properly on NAND, giving false errors. This I
tracked down to a difference between NOR and NAND. In NOR, a write fails if
try to overwrite a zero with a one bit. In NAND, the operation does not fail
even though the bit does not change.
ie.
Say you start with 12FF56.
If you write FF34FF
You now have 123456.
The NAND part will say the write was OK.
The verify might fail since FF34FF != 123456.
Thus, problems might arise if the page is not clean.
I've never used nandtest.c, so I am unsure as to whether it is expected to
work with verify enabled.
It might be worth double-checking your chip commanding/handling (especially
the address handling) to ensure that you're doing the right things for this
part. It seems possible to me that there might be some address aliasing issue
going on.
Perhaps you can hack nandtest to check that the page is empty before you
write to it, then read it back in the case of a failure and look at what you
got back.
I'm sorry I can't speak to the JFFS2 questions as I only understand the
YAFFS file system.
-- Charles
More information about the linux-mtd
mailing list