[Yaffs] yaffs wear leveling question

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Sven Van Asbroeck
Date:  
To: yaffs
Subject: [Yaffs] yaffs wear leveling question
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?

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?

3. Would enabling 'block refreshing' help with wear leveling?

Thanks in advance,
Sven