Hi Scott,
I have tried to do some more tests on the board with the NAND chip I have
scrub-ed
-I have done 'nand erase.chip clean' and tried to probe different nand
regions
(I have 128MB RAM and 1GB NAND and I am not sure how I could dump the whole
NAND at once)
It seems the whole NAND is 0xFF
After that I have written 10MB at the beginning of the NAND and those data
was verified to be written OK
Outside of the 10MB region the NAND stays 0xFF
in Linux 'nandtest' doesn't report any issue.
So I tend to think that nand scrub did a good think for me.
Best Regards
Dimitar
----- Original Message -----
From: "Scott Wood" <scottw...@freescale.com>
To: "Dimitar Penev" <d...@switchfin.org>
Cc: <u-boot@lists.denx.de>
Sent: Friday, January 11, 2013 10:21 PM
Subject: Re: [U-Boot] NAND flash - bad blocks
On 01/11/2013 02:46:06 AM, Dimitar Penev wrote:
Hi Scott,
On 01/10/2013 01:56:30 AM, Dimitar Penev wrote:
Hello,
First of all sorry if this question was already answered here.
We are sourcing some K9F8G08U0M-PIB0 NAND flash devices.
On the first erase in uboot 2011.09 I got bunch of mostly consecutive
bad blocks.
According to the datasheet we should get not more then 80 bad blocks
for our chip
but I get something like 240 bad blocks for most of the NAND chips.
I seems to be able to fix this using the following procedure:
Call your NAND vendor and complain?
Well we did but we didn't got something from them which could explain
what we observe.
After making sure that there's nothing wrong with your NAND driver or
controller that causes the OOB to be read incorrectly.
We are using nand_plat driver provide by ADI without any customization.
Still, do some investigation to see whether it seems to be working.
Dump the raw data that you read -- is it mostly 0xff with some bad
block markers set, or is it returning garbage? Do any of the blocks
that are not marked bad have non-0xff data? If you do a scrub of the
entire NAND chip, then write to one block, does the write show up
anywhere else on the NAND chip?
In uboot
uboot>nand scrub.chip
In uboot
uboot>nand erase.chip clean
at this point I get usually 1,2 bad blocks which looks normal to me.
You're not fixing anything -- you're wiping out all bad block
information. Those "1,2 bad blocks" are not actually bad blocks, but
are the bad block table which appears "bad" to reserve it. These
should be at the end of flash. Or, possibly, they're blocks that
happen to be damaged in a way that prevents the bad block marker from
becoming 0xff.
Oh Really?
What about 'nandtest -m' in Linux ? I was hoping it does a check of the
erase blocks.
That's no substitute for having the factory bad block markers.
Nandtest doesn't look very rigorous at all -- and only seems to mark
bad blocks if the erase or write operations return failure, not if it
sees an uncorrectable error on readback.
Thanks Scott.
Is there any procedure to analyze the nand flash for bad blocks?
Yes, and it's done by the flash manufacturer to produce bad block
markers. :-P
-Scott
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot