Re: Flash File Systems or Translation Layers?

Jim Thompson <[email protected]>
Newsgroups gmane.os.freebsd.devel.small
Message-ID <[email protected]>
On May 18, 2006, at 7:06 AM, marty fouts wrote:

> On 5/18/06, Jim Thompson <[email protected]> wrote:
>>
>> There is at least one 'other' important bootloader for this work:
>> 'redboot'.  (But redboot supports (or can be made to support) jffs2.
>>
>
> The ARM board I'm currently using has redboot on it, so I've done some
> investigation. It looks like ecos/redboot are pretty much dead.

I have no idea how you got that impression, but ecos/redboot are at  
least as "alive" as linux is, and more
popular than u-boot.  (I had my mitts on u-boot back when it was  
"ppcboot".)

>> Still having a bootloader that knows how to 'read' the filesystem
>> isn't that important, as long as you can store the kernel somewhere
>> other than >in< the filesystem.   No "dinking" needed.  (are you
>> aware that 'dink' is also a bootloader (for ppc)?)
>
> Agreed. This seems to be a common approach in shipping devices, and it
> has advantages that make it appealing.

What is "this"?
>
>> We >do< want a FTL or FFS, it doesn't >have< to be JFFS2, but JFFS2
>> has many nice features (on the fly compression, wear-leveling, etc.)
>> so its worth studying, at least.
>
> JFFS2 has a built in design flaw. The 'node' model that it uses
> requires that the entire file system be read during boot. On large
> NAND devices with nearly full file systems, this can lead to long
> delays before the file system is in a state where it can be written
> to.  (I've seen delays of over 20 minutes on actual devices.)
>
> This is why the authors were off designing JFFS3.  Definitely
> investigate JFFS2, especially reading the archives of the MTD mailing
> list, but I'd strongly advise against modeling a system on its data
> structures.

In practice this is only a problem for systems with a >lot< of  
flash.  Most of the boards that are
interesting have 4-16MB of flash.

>
> At PalmSource last year, Mike Chen and myself did an implementation of
> LFS that was NAND-aware for PalmOS Cobalt (the one that never shipped)
> that seemed to have reasonable performance.
>
> For NAND there's also YAFFS2, which is GPLed, and so would need to be
> studied rather than used. (The YAFFS mailing list has a few
> discussions on the limitations of the MTD layer wrt to file systems,
> also.)
>
> I'm aware of several commercial flash file systems for NAND and
> they've all taken the approach of having a block-translation layer
> that handles all of the wear-leveling and block remapping issues.
> Having worked on NAND file systems tof both kinds, I'd particularly
> recommned the separation model.


I don't think we can restrict ourselves to supporting only NAND  
flash.   In particular, Intel's "Strataflash" (and the Micron (etc)  
equivalents are all NOR-based.


_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-small
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.