[U-Boot-Users] skipping bad blocks when erasing nand

Wolfgang Denk wd at denx.de
Fri Jul 14 11:29:24 CEST 2006


Dear Stefan,

in message <200607141047.08126.sr at denx.de> you wrote:
> 
> I find it hard to believe that a linux NAND erase operation will stop upon 
> reaching a bad block. But you are right: the code in question is the same in 
> the current linux mtd driver. From my experience, I never had problems 
> erasing NAND flash devices (from U-Boot & linux) which had bad blocks.

The code in the MTD CVS is also the same.

Note that in my understanding this code never gets executed  for  bad
blocks  (see comment "we do not erase bad blocks") in Linux, i. e. it
attempts to catch previous errors.

> I see. You have a good point here. This needs some testing on a device with 
> bad blocks. "Unfortunately" the device on my desk has no bad blocks at all:
> 
> => nand bad
> 
> Device 0 bad blocks:
> 
> Perhaps somebody else can jump in here and test the current linux mtd driver 
> behavior on a device with bad blocks. Thanks.

If you like you can use the "dave" board in our virtual lab. It has a
couple of bad blocks in device 1:

=> nand device 1
Device 1: NAND 32MiB 3,3V 8-bit... is now current device
=> nand bad

Device 1 bad blocks:
  00000000
  00004000
  00008000
  0000c000
  00010000
=>

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I don't know if it's what you want, but it's what you get.  :-)
                      - Larry Wall in <10502 at jpl-devvax.JPL.NASA.GOV>




More information about the U-Boot mailing list