On Saturday 26 May 2012 18:38:11 S. K. wrote: > Hello everyone! > > I have already mounted yaffs2 on my ubuntu12.04 with nand simulator .There > is something not clear to me. Yaffs2 has ECC algorithm but, Where it will > apply? The ECC algorithm is used in different ways depending on configuration settings. In yaffs1 mode, the ECC is used if use_nand_ecc is NOT selected. In yaffs2 mode, the ecc is used to protect the tags if no_tags_ecc is NOT set. > > I want to check performance of its ECC algorithm on nand simulator and on > flash device. can you help me exactly what I have to do? Without more information it is difficult to advise you. > > and another question: I understood that flash memories can be SLC or MLC. > SLC uses binary algorithms and  MLC uses nonbinary one. Is it correct? Well all flash cells are really analogue devices - not digitial. SLC devices store only one bit per cell so they only have one threshold. MLC devices store multiple bits per cell so have multiple thresholds. > Is > it influence the ECC algorithm? If yes what is the yaffs ECC > algorithm?(Hamming or ...) what kind of flashs does yaffs > support?(simulator and device) Since MLC has less margin for error, MLC typically requires more robust ECC. SLC devices will typically use 1-bit ECC using hamming codes (thats what yaffs_ecc.c does). MLC will typically use BCH codes. BCH codes are computationally expensive and will often use hardware in the NAND controller. -- Charles