Re: [Yaffs] yaffs wear leveling question

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Rong Shen
Date:  
To: Sven Van Asbroeck
CC: yaffs
Subject: Re: [Yaffs] yaffs wear leveling question
On Tue, Jun 22, 2010 at 9:08 PM, Sven Van Asbroeck <> wrote:
> I'd like to determine the 'order of magnitude' of my product's flash lifetime, so I would like to learn more about yaffs's wear leveling strategies.
>
> I think I understand the intrinsic wear-leveling properties of a log-based file system such as yaffs. No chunk, block or location is favoured over any other as the log grows.
>
> Questions:
> 1. When choosing a block to erase, does yaffs have a strategy to ensure erases are spread reasonably evenly across blocks?


Correct me if I'm wrong, I guess nobody would be able to tell without
doing some heavy tests. Even the idea is there to try to spread the
erases evenly, it might one work well as one would expect or might not
work well under certain use cases.

I think it'd be fairly easy to allocate a bucket of integers in MTD
and count the number of erases for each block while running through a
typical test and see what it comes ou. If you are persistent enough,
you could write them into somewhere after the test, then do a few test
runs with power-cycle in between, at the end tally them up.

> 2. Imagine two partitions, equal in size. Partition A is 90% free, while partition B is only 5% free. On each partition, we repeatedly overwrite a single small file. (This is pretty realistic for my product) Would it be correct to say that yaffs would only wear level across *free* blocks? Does this mean the blocks in partition B would wear out faster than the ones in A?


Hmm.... from what I understand, the best way of doing wear levelling
is to do it across the whole chip, cos if some blocks are worn out,
the die will get worn out too, the whole chip may end up dead. Again,
that's just my understanding, correct me if it's not right. I
understand large partitions sometime do give you long mounting time,
so I guess if you are prepared for a system failure if any of the
partition dies, it's still okay, right?



>
> 3. Would enabling 'block refreshing' help with wear leveling?
>
> Thanks in advance,
> Sven
>
>
>
>
>
> _______________________________________________
> yaffs mailing list
>
> http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs
>



--Rong