In the maillist,I found that :
> I have downloaded YAFFS from Aleph One. And I am tracing it's code now.
>
> I found that the document you write below:
> Wear leveling
>
> No wear leveling is explicitly used here. Instead we rely on two
> "strategies":
>
> ・ Reserving some blocks to cater for failure. You need to do this
> anyway with NAND. The main purpose behind wear leveling is to prevent some
> blocks getting more wear and failing. Since we expect, and handle, failure
> this is no longer as important.
>
> ・ The infrequent random block selection should prevent low-wear
> blocks getting "stuck".
>
> But I did not find the 「random block selection」 code section in YAFFS.
>>This has never been implemented. It is probably not required, but it would
be
>>possible to add this quite simply.
>>-- CHarles
I trace the code and find the function yaffs_FindBlockForAllocation, what
it do is find a empty state block from start to end .
In this manner ,how can you "random select block "?
Regards.
eq613