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