[Trac #1391] Nandflash selftest failed with SAMSUNG and ST Nandflash on PreB3 Board.
Zarro Boogs per Child
bugtracker at laptop.org
Wed May 2 23:52:05 EDT 2007
#1391: Nandflash selftest failed with SAMSUNG and ST Nandflash on PreB3 Board.
---------------------------------+------------------------------------------
Reporter: chiaying.lin | Owner: wmb at firmworks.com
Type: defect | Status: new
Priority: normal | Milestone: BTest-3
Component: ofw - open firmware | Resolution:
Keywords: |
---------------------------------+------------------------------------------
Comment (by wmb at firmworks.com):
The reason why the Micron and Hynix parts show bad blocks is as follows:
a) Prior to fixing the R/B2-grounded problem, "copy-nand" was used to
install an OS image onto the parts. The firmware at that time did not
support the second chip inside the part - did not see it at all - and thus
wrote the data and bad block table to the first chip.
b) When you install firmware that dues support the second chip on a board
where R/B2 is fixed, the firmware sees both chips and expects to find a
bad block table at the very end, i.e. the end of the second chip. It does
not find one, because the bad block table is at the end of the first chip,
in the middle of the overall NAND array. It then tries to create a bad
block table at the very end.
c) The safe way to create an initial bad block table is to assume a
factory-fresh part and check for factory-marked bad blocks. The
manufacturer's specification says that a factory bad block will have a
non-ff value at the beginning of the OOB area of either the first or
second page of the bad erase block. Unfortunately, that is also true of
pages that have been written with JFFS2 data, so the firmware bad-block
creation code thinks that the JFFS2 blocks that "copy-nand" wrote are
factory-bad. That is a lot of blocks, and a lot of messages.
d) The command sequence "select /nandflash scrub" shows a lot of bad
block messages as "select /nandflash" is opening the device, but those
messages eventually subside, and the "scrub" command proceeds to erase
everything in the FLASH and recreate a correct bad block table from the
result of the erasures.
--
Ticket URL: <http://dev.laptop.org/ticket/1391#comment:3>
One Laptop Per Child <http://laptop.org/>
More information about the Bugs
mailing list