Re: [Yaffs] yaffs2 ECC algorithm

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Charles Manning
Date:  
To: yaffs, S. K.
Subject: Re: [Yaffs] yaffs2 ECC algorithm
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