FreeBSD's embedded agenda

marty fouts mf.danger at gmail.com
Thu May 25 16:15:55 PDT 2006


On 5/25/06, Poul-Henning Kamp <phk at phk.freebsd.dk> wrote:

> I wish I could be more specific to guide you and others onto the
> right track here, but for now I will have to reiterate:  Tailor
> the filesystem to flash devices, there are so many benefits to
> be had that way.

I'd go a step further. I advocate treating NOR and NAND devices
seperately. There are enough difference in their behavior to justify
optimizing implementations for each.  Compare JFFS2 to YAFFS2 on NAND
and you'll get an example of how this can happen.

I would advocate a split-but-aware approach. A flash translation
layer, which manages bad blocks, wear leveling, and even garbage
collection, is a good logical separate entity, provided it exposes
hooks to the file system to allow the FS to teach it about dead
blocks.  Couple this with a well designed journaling FS, and you get
an FS that overcomes the uglier properties of flash, especially of
large block size NAND, but that can live above layers that are
optimized for NOR, NAND, or the coming hybrid flash models.  (You can
easily argue about where the garbage collection belongs. I've done it
both ways.)


More information about the freebsd-current mailing list