Re: big flash disks?

Jamie Lokier
2008-06-03T18:57:00Z

Jörn Engel wrote:
> On Mon, 2 June 2008 13:48:22 +0100, Jamie Lokier wrote:
> >
> > The basic idea is for a pointer in a tree node to point not to one
> > child, but to a small set of potential children. The child-set are a
> > journal in the jffs2 sense. When reading, you read each block of the
> > child-set, and pick the most recent. This slows down reading, but
> > reduces the amount of writing. You still read in O(log tree_size)
> > blocks, and since most of the extra reads are hot-cache internal tree
> > blocks, the amount of extra reading is quite small. Child-sets can
> > overlap to reduce storage duplication, at cost of more operations -
> > it's a heuristic balancing act. Child-sets are not used for all tree
> > nodes, especially data. They can be invoked and destroyed dynamically
> > using heuristics to detect some parts of the tree undergoing lots of
> > write+sync sequences and others being coalescable writes or not
> > written.
>
> This is actually a good explanation of the logfs journal. :)

Oh. Great, cheers. Great minds think alike :-)

If that's the logfs journal - why would extra static tree depth near
the root add any write-commit overhead as you said in the grandparent
post? :-)

(Btw, I thought a difference between logfs and ubifs is the latter
does async writes? Or do they both?)

-- Jamie