Author: Charles Manning Date: To: yaffs Subject: Re: [Yaffs] Yaffs2 vs. UBIFS: pros and cons?
On Thursday 27 May 2010 19:42:49 Russell wrote: > Hello everyone,
>
> Question #1: I was told that UBIFS is better than Yaffs2, is that true?
> What are pros and cons?
What does "better" mean?
Each is better than the other in some ways.
Each is faster than the other at some things.
The major difference is in the write policy. UBIFS caches far more and defers
writes more than yaffs does. This makes UBIFS writes appear to be faster much
of the time, but then UBIFS syncs are slower. Unless you get a clean sync in
UBIFS you will lose data.
For example under UBIFS:
#cp foo bar
#
kill power a second or so after cp completes.
will give you a zero length file for bar even if bar held a valid file before
the foo. YAFFS on the other hand will give you a complete file as closing a
file will commit everything to flash.
It is important to not take historic benchmarks and comparisons too seriously
as both UBIFS and YAFFS continue to develop. YAFFS has sped up significantly
in the last 6 months (approx 50% read speed up and 40% write speed up,
depending on hardware etc). Last I looked, UBIFS also has limitations like
lack of memory-mapped file writing and limitations like that might have gone
away.
> Question #2: It was said that Android 2.1 cannot
> use Yaffs2, is that true? If so, why?
I had not heard that. I have a reasonably close relationship with the Android
kernel team and they have not said a word to me about that. I'd better ask
them.