Author: Stanislav Popov Date: To: yaffs Subject: Re: [Yaffs] NAND + YAFFS2 - bad blocks
Hi,
Maybe I found the source of the issue.
I put some delays after evry chunk write in yaffs (my fs in yaffs) and
it's working fine.
So the issue comes from timing configuration...
Where do you think could be the real source of the issue? - driver
configuration? EMIF configuration? Hardware Issue?
Thanks and Regards,
Stanislav
Stanislav Popov wrote: > Hi,
>
> I have 64 MB NAND flash on Jacinto (ARM) board.
> I am using the device formatted as one YAFFS2 partition.
> My SW ECC from NAND is enabled in the kernel and "useNANDECC" in YAFFS
> is set to 0
> (If this is non-zero, then YAFFS will not perform ECC and it is
> assumed that the hardware ECC or specified NAND access functions will
> perform EC checks.)
>
> I found that I have 1000-2000 eraseblocks that were reported as "bad
> block".
> I can see them in u-boot with "nand bad" command and when laoding my
> nand_jacinto driver.
> When using the NAND they are getting much more.
> Actually they are NOT bad blocks!
>
> I edited the kernel and remove is_bad checking when erasing.
> Also I edited the mtd-utils (flash_eraseall) and removed is_bad
> checking when erasing.
> So I was able to make low-level format of my NAND flash which also
> erase the bad blocks.
> (like 'nand erase scrub' command in u-boot, but I currently I do not
> have such command)
> After that I had NO bad blocks.
>
> I made some tests:
> I formatted Nand with YAFFS2 FS
> - YAFFS2 ECC + NO NAND ECC - when using fs appeared bad blocks and
> getting more.
> - YAFFS2 NO ECC + NAND SW ECC - when using fs appeared bad blocks and
> getting more.
>
> I formatted Nand with EXT2 FS (ext2 fs is not writing into oob)
> - NAND SW ECC ENABLE - NO bad blocks appeared in the time!!!
>
> So the result is that the issue is in using YAFFS2 + NAND.
>
> Maybe the source of the issue is some YAFFS2 configurations?
> Do you have any idea?
> It's very critical issue for me.
>
> Thanks and Regards,
> Stanislav
>
>
>