Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 May 2006 08:28:20 -1000
From:      Jim Thompson <jim@netgate.com>
To:        "marty fouts" <mf.danger@gmail.com>
Cc:        gnn@freebsd.org, freebsd-small@freebsd.org
Subject:   Re: Flash File Systems or Translation Layers?
Message-ID:  <EC0C34CD-EE21-4FCA-ACEE-23B63EEFA9DE@netgate.com>
In-Reply-To: <9f7850090605181118o30b71b94mca294b2195e9ae1e@mail.gmail.com>
References:  <m2bqtwoena.wl%gnn@neville-neil.com> <446BBE65.50104@FreeBSD.org> <9f7850090605171746p5ff4dbefq46211ce93aafc116@mail.gmail.com> <446C2380.6020000@FreeBSD.org> <A2451718-0B8F-4BF2-9466-F6EDC6DC212B@netgate.com> <9f7850090605181006m56c38a56lcc7037beaf6b6fa@mail.gmail.com> <2159F853-C89E-4032-9931-56F4B7D214C0@netgate.com> <9f7850090605181118o30b71b94mca294b2195e9ae1e@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On May 18, 2006, at 8:18 AM, marty fouts wrote:

> On 5/18/06, Jim Thompson <jim@netgate.com> wrote:
>>
>> On May 18, 2006, at 7:06 AM, marty fouts wrote:
>>
>> > On 5/18/06, Jim Thompson <jim@netgate.com> wrote:
>> >
>> > Agreed. This seems to be a common approach in shipping devices,  
>> and it
>> > has advantages that make it appealing.
>>
>> What is "this"?
>
> Sorry for the lack of clarity. Having the kernel somewhere other than
> in the filesystem is "this"; a common approach in shipping devices.

The driver for 'this' ;-) is that most bootloaders can't read the  
(root) filesystem.  By putting the
kernel out in the flash somewhere, its easy for the loader to read  
the kernel into memory, do a bit
of setup, then 'jump' to the kernel.  The kernel can load the root  
filesystem (or the boot loader can read it
into memory somewhere, if necessary.)

>> > 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.
>
> None of the boards that are interesting to me have less than 64mb of
> flash ;) and I've seen JFFS2 performance problems on 16mb flash
> partitions.

Your >= 64MB requirement also tends to 'signal' why you prefer NAND  
flash, as its much less
expensive than NOR flash in similar densities.  Still, this "64MB"  
requirement makes for an expensive board.

Yes, its true that JFFS2 has "issues" as the flash size grows, but  
its "fine" for the smaller, more common boards.

> I'm coming at this from a telephony point of view, where
> none of the currently shipping devices are limited to 16MB of flash.
> 32mb is typical, 64mb is common, and 128mb development boards are in
> common use.  (The TS7250 board that I mentioned earlier is available
> with 128mb NAND.)
>
>> 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.
>
> Agreed.  But I think that NAND and NOR are enough different that they
> need to be supported differently.

Perhaps, thought I will allow that JFFS2 can deal with both, and a  
good FTL would be able to 'hide' most of
the details.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EC0C34CD-EE21-4FCA-ACEE-23B63EEFA9DE>