[Yaffs] Verify problem with ECC

Charles Manning manningc2 at actrix.gen.nz
Fri Aug 12 01:26:12 BST 2005


On Friday 12 August 2005 01:59, Pihet Jean-jpih01 wrote:
> Hello,
>
> I am using the latest YAFFS and MTD tarballs on a 2.6.10 kernel on ARM1136.
> My board has a Samsung NAND device with hardware ECC enabled.
>
> The YAFFS write verify always fails. The dump shows that the ECC bytes
> (bytes 6..10) are in cause: Verify failed:
> Addr s0 data:
> 0x0000: 00 00 d0 ff ff ff f0 d6 8c ff ff ff 05 01 d8 c1
> Addr s1 data:
> 0x0000: 00 00 d0 ff ff ff c3 fc f0 65 02 ff 05 01 d8 c1
>
> Do you know what is the cause of this problem ? I checked that ECC and
> VERIFY are enabled in the config, that the oobinfo structs are correctly
> filled in.
>
> Any thoughts ?

ECC and bad block handling between mtd and yaffs is the most common problem 
encountered here.

The trick is to do this in excatly one place only (ie YAFFS or mtd).

You also need to make sure that yaffs is using the same OOB layout at mtd. The 
standard YAFFS layout is as used by SmartMedia. If you are using some other 
OOB layout (quyite likely the case with some hardware ECC), then you need to 
ensure that:
1) YAFFS is not doing ECC
2) The spare bytes are being placed in the correct area. You might need to 
write some byte shuffling code.

-- Charles





More information about the yaffs mailing list