Flash disks and FFS layout heuristics

Bakul Shah bakul at bitblocks.com
Mon Mar 31 15:38:47 PDT 2008


On Mon, 31 Mar 2008 22:23:37 -0000 "Poul-Henning Kamp" <phk at phk.freebsd.dk>  wrote:
> In message <20080331222154.C976C5B50 at mail.bitblocks.com>, Bakul Shah writes:
> >On Mon, 31 Mar 2008 13:06:10 PDT Matthew Dillon <dillon at apollo.backplane.com
> >  wrote:
> >>     But how do you index that information?  You can't simply append the
> >>     information to the NAND unless you also have a way to access it.  So
> >>     does the filesystem have to scan the NAND (or significant portions of 
> it)
> >>     in order to build an index of the filesystem topology in system memory
> ?
> >
> >One possible way:
> >
> >I'd design the system so that each update ends with the write
> >of a root block[1]. 
> 
> This is sort of the approach Margo Seltzer used for her (Kludge-)LFS
> it has many drawbacks, in particular when it comes to recovery.

[Poul, use positive encouragement and you'd inspire a lot more
people!]

Note that in effect this is exactly what zfs does. Update of
any block implies finding a new place for the updated copy,
which means the block pointing to it must be also updated,
which means a new place for it etc. etc.

But hey, I spent just a few minutes sketching out the idea so
it is possible I missed a whole bunch of things!  If I was
actually implementing this (which I am tempted to...) I'd
certainly want to know what others did.

One thing I forgot to add: I'd let the lower level handle bad
block forwarding and wear levelling (like on the m-tron
device).


More information about the freebsd-arch mailing list