[Yaffs-archive] Wearleveling
r.richards@libero.it
r.richards@libero.it
Wed, 5 May 2004 14:06:18 +0200
Sorry,
I resend with subject.
Dear, all
From the spec I go=
t this two lines:
1) No wear leveling is explicitly used here. Inste=
ad we rely on two "strategies":
2) 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. =0D
=
Since we expect, and handle, failure this is no longer as important.
=0D
=
3) The infrequent random block selection should prevent low-wear blocks g=
etting "stuck".
However, I have some question about wearleveling in Ya=
ffs.
a) I have looked at the source code and I do not find the featu=
re described at point 3.
Have I missed something ? What is the real i=
mplementation ?
b) I have an application case:
Some large files=
are stored in the flash and they are not updated.
Few files are freq=
uently updated. And the flash is near to be full.
In this way many bl=
ocks are full with all pages valid and so only few blocks are cycled.
=
Without an effective wearleveling the lifetime of flash is greatl=
y reduced!!!!
(also in the case that there are some spare blocks).=0D
=
In fact in the NOR flash filesystem (like Intel FDI) there is a good w=
earleveling and in other NAND FTL.
Do you agree with my analysis ?=0D
=
c) Is planned an implementation of effective wearleveling in Yaffs2=
?
Best Regards
Oreste Bernardi