Post a Comment
Don't let Apple find out! Next thing you know, they'll try to find something to sue over in this new file system.
But a bit more seriously though, this is a good thing. It's disappointing that when it comes to flash media, no suitable file system has gained popularity and we're still stuck with FAT. Well, ext2, too--but at the expense of cross-platform read/write-ability because some company in Redmond wants you to use their crappy, antiquated file system from the 1980s. And apparently every company loves it because, being such creaky old and simplistic technology, implementing it is a breeze.
That said, IMO ext2 is not that good of a solution either really; there needs to be a file system built from the ground up to support all major operating systems equally. Something designed for flash drives and with implementations for all major operating systems from the start.
The thing here is that any block device filesystem will do for external media due to the hardware FTL (flash translation layer -- converts flash into a block device).
The post implies that this filesystem is to be used as a block device and not a mtd device. What confuses me is that they compare this to log structured filesystems, but those are usually used in mtd devices (which lack a FTL).
So what is the use case specifically for this FS?
Edited 2012-10-06 16:10 UTC
From the KML, it seems some of the kernel devs are confused as well...
It seems that it does not do wear leveling and is designed to work with an FTL, but its as clear as mud to me.
I guess it will all shake out eventually. It does look interesting though:
http://article.gmane.org/gmane.linux.kernel/1370709
FTL handles wear leveling, but introduces unusual performance characteristics: in-place updates become very expensive. In many cases this can be helped by file system doing copy-on-write instead of in-place update. I guess this is the idea.
That said, I thought Samsung has enough resources to proof read the documentation before submitting (at least use a spell checker). Comparison to similar file systems and some benchmark results would also help.
A log-structured filesystem is not necessarily a bad design choice for FTL volumes. You don't need to worry about wear-leveling, but you don't need to worry about spatial locality either, and you know that the FTL will override any attempts to do in-place updates.
So you can only really optimize two things: allocating free (logical) blocks for writes, and indexing file extents for reads. Log-structured filesystems are as good as it gets for allocating free space (just continue writing where we left off), and they also avoid the fragmentation of files across many extents.
The only thing one might want to do differently than a classic log-structured filesystem is to update the superblocks and inodes in-place and defer to the FTL's wear-leveling algorithm. These are fixed block-sized structures, so in-place updates are simple and copy-on-write is an unnecessary overhead.
And, someone managed to get ZFS running and importing a pool on a RaspberryPi, which only has 256 MB of RAM (128 MB usable by the OS):
http://raspberry-python.blogspot.com/2012/10/zfs-file-system-on-ras...
ZFS is definitely not the best choice for flash - media, plus it's very resource-hungry on the host - side of things, too. ZFS is plenty useful on a server, and even on a desktop it could possibly be useful, but it is not suitable for use in embedded devices with limited resources or devices where you simply have no need for all of its features.
... LogFS, UBIFS, and YAFFS.
Was there really a need to invent yet another wheel?
Been a while since I looked into flash-specific filesystems, so I may remember wrongly that the three above are also Flash FS's.
Is this another case of Not Invented Here, or does F2FS have merit?
Was there really a need to invent yet another wheel?
Been a while since I looked into flash-specific filesystems, so I may remember wrongly that the three above are also Flash FS's.
Is this another case of Not Invented Here, or does F2FS have merit?
As far as I know both UBIFS and YAFFS are designed to be used with raw flash-chips whereas F2Fs is designed to work well in conjunction with flash-devices with FTL. The needs and optimization techniques are different and with careful planning of the filesystem the FTL can handle all the low-level details while still providing excellent speeds and reliability for a flash-friendly filesystem.
The whole point as I see it is that this allows one to separate the actual low-level hardware details from the operation of the filesystem, allowing you to improve/work on either one of those separately without having to re-design the whole thing every single time or for every new development in the hardware.
Edited 2012-10-07 04:54 UTC
The interesting thing here is that Samsung might (might) release a tool tgat will allow usage of this FS with Windows, breakibg the artificial lockin to FAT32 and exFAT imposed by Windows.
PS: Yes theoretically Apple can file a patent for this, and then Samsung will have to prove prior act which bought/incompetent judges like Koh will ignore
Browser: Mozilla/5.0 (Linux; U; Android 2.3.4; el-gr; LG-P990 Build/GRJ23) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MMS/LG-Android-MMS-V1.0/1.2
Don't know about windows drivers, but it seems to have landed in debian
http://packages.debian.org/sid/f2fs-tools
Now, I realize that this is a forum for people who know, understand and work/program at the most basic to complex levels.
But just for a laugh,.. I got here via links to an interesting article(s). I use the Galaxy Tab 10.1 and it just updated itself. So, I wanted to read up on the changes.
When I read through your comments, I had to laugh: As a end-user who could barely program my multifunction remote control, I found myself reading all of the initials and Abbreviations and wondering: Are there any sub-titles so schmuck like me can understand anything written here?!?!?
Really though, keep doing the stuff you love to do. We end users do appreciate the thought and efforts that go into making all my gizmos work.
Sorry for the long post. Have a great Monday.
Jim
Most of the comments here are one or multiple of the following:
1) An insightful/informative post
2) Troll post
3) A post by someone who doesn't know what he is talking about but is trying his best to appear smart
4) A completely off-topic post
5) A post about politics
6) not worth reading and therefore modded down
7) not worth reading yet still modded up
8) worth reading and therefore modded up
9) worth reading and yet still modded down
10) funny
11) definitely not funny
12) can only be understood by other geeks
13) can not be understood even by other geeks
14) can no longer be understood by the commenter himself the next day
Basically, most comments are either #2, #3 or #4 and thus you'd be wasting your time reading the subtitles anyways, and while there are a few that qualify as #1 they're always #12, #13 or #14 and therefore subtitles still wouldn't help you. There are some #10 #2s here every now and then, but they still #12. With the #6,#7, #8 and #9 an outsider like yourself won't know what to read and what not to read, so you'd still be wasting your time.
As such I must conclude that subtitling wouldn't work and would most likely just confuse you outsiders even more. Now, there ARE steps you can take to eventually develop the needed cognitive skills to follow the discussion here and I shall list these steps below:
To become one of us and therefore be able to follow our discussions one day you must fulfill atleast 6 of the following:
1) drink lots of soda/energy drinks
2) acquire reasonable amounts of body mass, then triple that amount and concentrate it around your waist
3) lose 90% of your body mass so that when you stand against a bright light people can see your skeleton shine through
4) wear non-hipster glasses
5) develop large amounts of pimples
6) clean yourself bi-monthly
7) exercise your wrist(s) atleast 3 times a day. Must be done in front of a computer
8) familiarize yourself with all the current Internet-memes
9) develop an unhealthy relationship with one or another computer-related brand name or phenomenon
If you still do not seem to succeed it might be because you're not mentally disturbed enough, and for that the most effective cure is browsing 4chan forums on a daily basis for a month. Looking for terms like e.g. "clop-clop" will certainly lead to excellent results in no time.
I hope this post was helpful!
Edited 2012-10-08 11:09 UTC
There is no in-depth explanation of the inner workings of F2FS yet, but I read somewhere that they mostly try to group writes together in order to avoid the drive having to do so many costly copy-on-writes. Also, it is to separate FTL from the filesystem so either one can be worked on independently unlike UBIFS and the like. The filesystem also apparently has a lot of options that can be tuned to match the specifics of the device in question better than what the pre-existing ones offer.
Alas, Samsung will provide us more details after they've presented F2FS on the Korean Linux-forums. According to the Linux-Kernel archives discussions there will be slides and performance benchmarks for us to see.
http://lkml.indiana.edu/hypermail/linux/kernel/1210.0/03913.html :
Instead, let me summarize at a glance compared with other file systems.
Here are several log-structured file systems.
Note that, F2FS operates on top of block device with consideration on the FTL behavior.
So, JFFS2, YAFFS2, and UBIFS are out-of scope, since they are designed for raw NAND flash.
LogFS is initially designed for raw NAND flash, but expanded to block device.
But, I don't know whether it is stable or not.
NILFS2 is one of major log-structured file systems, which supports multiple snap-shots.
IMO, that feature is quite promising and important to users, but it may degrade the performance.
There is a trade-off between functionalities and performance.
F2FS chose high performance without any further fancy functionalities.
Maybe or obviously it is possible to optimize ext4 or btrfs to flash storages.
IMHO, however, they are originally designed for HDDs, so that it may or may not suffer from fundamental designs.
I don't know, but why not designing a new file system for flash storages as a counterpart?
I somehow get the feeling that they didn't actually do much research on the existing filesystems and just decided to write one from the scratch. I mean, there's a lot of "if" and "maybe" there and no actual reasoning whatsoever. I am quite certain that e.g. ext4 could be a viable flash-filesystem with some changes and since it's an already proven and tested filesystem it's much less likely to contain any bad bugs. Also, Jaegeuk mentions they're not including any advanced functionality, only the basics, and thus I cannot help but wonder if writing patches for an existing FS would have been better use of everyone's time.
EDIT: Forgot to add the link.
Edited 2012-10-08 21:34 UTC



