On Wed, Jun 30, 2010 at 11:19:07AM -0700, Max Rayskiy wrote:
> Hello,
>
> I am developing a NAND driver for an SOC and trying to use YAFFS2 with it. Our proprietary flash controller has hardware ECC support. One problem I cannot find a solution for is how to tell yaffs to ignore ECC errors when reading pages from erased blocks.
> I am getting a request for full page read with tags, and obviously for an erased block I have to return that there were uncorrectable ECC errors. I would assume that yaffs should be able to tell erased block from real ECC failure. But all I am getting is messages like
I have written MTD driver for a similar controller, and I deal with
this in the driver itself - on uncorrectable ECC error I verify
contents of that page, and if it's all 0xff I don't report ECC errors
to the upper levels. You also probably shouldn't report 1-bit
correctable ECC errors if hw ECC is much stronger (say it can
correct 3 bit erros per 512 byte chunk) - 1-bit errors are frequent
enough so after several weeks or months, YAFFS will retire a lot of
blocks without any good reason.
--
Eugene