[Yaffs-archive] (no subject)
r.richards@libero.it
r.richards@libero.it
Wed, 5 May 2004 13:59:27 +0200
Dear, all
From the spec I got this two lines:
1) No wear le=
veling is explicitly used here. Instead we rely on two "strategies":
=0D
=
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 bl=
ocks getting more wear and failing.
Since we expect, and handle, failur=
e this is no longer as important.
3) The infrequent random block selec=
tion should prevent low-wear blocks getting "stuck".
However, I have s=
ome question about wearleveling in Yaffs.
a) I have looked at the so=
urce code and I do not find the feature described at point 3.
Have I =
missed something ? What is the real implementation ?
b) I have an a=
pplication case:
Some large files are stored in the flash and they ar=
e not updated.
Few files are frequently updated. And the flash is nea=
r to be full.
In this way many blocks are full with all pages valid a=
nd so only few blocks are cycled.
Without an effective wearlev=
eling the lifetime of flash is greatly reduced!!!!
(also in the case =
that there are some spare blocks).
In fact in the NOR flash filesyste=
m (like Intel FDI) there is a good wearleveling and in other NAND FTL.=0D
=
Do you agree with my analysis ?
c) Is planned an implementation=
of effective wearleveling in Yaffs2 ?
Best Regards
Oreste Bern=
ardi