Re: [Yaffs] Yaffs2 vs. UBIFS: pros and cons?

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Nick Bane
Date:  
To: yaffs
Subject: Re: [Yaffs] Yaffs2 vs. UBIFS: pros and cons?
> Hello everyone,
>
> Question #1: I was told that UBIFS is better than Yaffs2, is that true? What are pros and cons?
> Question #2: It was said that Android 2.1 cannot use Yaffs2, is that true? If so, why?
>
> BR
> Russell
>
>
> _______________________________________________
> yaffs mailing list
>
> http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs
>


I recently ported ubifs to a balloon3 development system and wish to report
some findings.

The kernel is 2.6.34 with nand write verify disabled due to subpage write
problems exposed by ubifs, using yaffs checkout 2009-09-10 and using
default ubifs lzo compression.

1) The first test was decompressing a 41MB tgz unconfigured rootfs from a
pen drive into a nand partition. This was done using tar -xzf
../sda1/embdebianrootstrap.tgz from the empty mounted nand partition.

yaffs2: 5:20
ubifs: 1:38

2) dpkg --configure -a after chrooting into the new rootfs partition

yaffs2: 6:25
ubifs: 5:01

3) booting from bootldr prompt into the newly created rootfs cleanly
unmounted. This including kernel reading-decomprerssing-initialisation time
of about 5 secs.

yaffs2: 0:28
ubifs: 0:23

4) rebooting into cleanly unmounted rootfs

yaffs2: 0:28
ubifs: 0:23

5) rebooting into power yanked rootfs (no writes)

yaffs2: 0:36
ubifs: 0:24

6) single write to small file then reboot via power yank

yaffs2: 0:36
ubifs: 0:24

Under ubifs, df reported 69MB of filesystem space used representing 126MB
of du reported data. The increased boot/read speed might be accounted for
by the fewer nand reads (software ecc) needed due to data compression.

This leaves the tgz decompression figures to be explained as the difference
is remarkable. Copying the tgz to /dev/null took 44 seconds of reading from
a usb 1 mounted memory stick reducing the residual timings to
yaffs2: 4:36 vs ubifs: 0:54.

These figures take no account of newer yaffs2 speed improvements, no
account of the degraded power security of cached writes and no account of
reliability issues surrounding not verifying nand writes. Verifying nand
writes is ok under ubifs but the header offsets must be page (not sub-page)
aligned until sub-page verifies are fixed in mtd. Using page aligned
headers which requires that userland ubifs utils must have knowledge of the
underlying nand architecture - ugh.

My impression of running our applications on ubifs is that the write speed
and boot speed (especially without a clean unmount) is faster but without
the numbers to back it up this is only an impression. Installing packages
using dpkg (which makes many writes/moves) also seems much faster. Overall
reliability is far too early to judge.

If someone can tell me how to do a git checkout without using long
unmemorable nubers I could redo this with a more modern yaffs2.

Nick Bane