[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