Subject: Re: Flash Translation Layer?
To: Bucky Katz <bucky@picovex.com>
From: Perry E. Metzger <perry@piermont.com>
List: tech-embed
Date: 01/18/2007 15:57:31
Bucky Katz <bucky@picovex.com> writes:
>> I don't think it would be the right approach at all, actually. I'd say
>> that a wear leveling layer plus an adaptation of our tmpfs code or
>> something like it might make more sense for a flashfs than any form of
>> ffs.
>
> Sort of.  A wear leveling / translation / bad block management layer
> that abstracts NAND as a block device is a good thing and seems to be
> the most common approach taken by current NAND filesystem
> implementations.
>
> But such a layer needs cooperation from the filesystem and journaling
> filesystems seem to be the cleanest way to get it that cooperation.

Lets step back for a moment.

Most file systems are built on the assumption that the underlying
hardware is not truly random access. This is not true in a flash
memory. The design choices used for a file system in which substantial
effort is made to accommodate the properties of spinning metal disks
are not necessarily good when you are not dealing with a spinning
metal disk.

> You can go a long way without a journaling file system if you have an
> FTL

No one said anything about doing without a journaling file
system. Journaling is clearly a good idea in this context. I was
opining that FFS is not the right basis for such a file system if the
target is flash.


-- 
Perry E. Metzger		perry@piermont.com