Date: Mon, 31 Mar 2008 16:18:29 -0700 From: Bakul Shah <bakul@bitblocks.com> To: Alfred Perlstein <alfred@freebsd.org> Cc: Christopher Arnold <chris@arnold.se>, arch@freebsd.org, Poul-Henning Kamp <phk@phk.freebsd.dk>, qpadla@gmail.com, Martin Fouts <mfouts@danger.com> Subject: Re: Flash disks and FFS layout heuristics Message-ID: <20080331231829.26D865B50@mail.bitblocks.com> In-Reply-To: Your message of "Mon, 31 Mar 2008 15:29:38 PDT." <20080331222938.GS95731@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 31 Mar 2008 15:29:38 PDT Alfred Perlstein <alfred@freebsd.org> wrote: > * Poul-Henning Kamp <phk@phk.freebsd.dk> [080331 15:24] wrote: > > In message <20080331222154.C976C5B50@mail.bitblocks.com>, Bakul Shah writes > : > > >On Mon, 31 Mar 2008 13:06:10 PDT Matthew Dillon <dillon@apollo.backplane.c > om> 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 o > f it) > > >> in order to build an index of the filesystem topology in system memo > ry? > > > > > >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. > > Can you explain why? > > I could see it being a problem because recovering the filesystem's > most recent change might require significant scanning? Let us take the mtron MSD-SATA3025-032 device for example. It has a capacity of 32GB + can do 16,000 random & 78,000 sequential reads per second (of 512 byte blocks). If you write a root block every megabyte, you have 2^15 potential root blocks. Locating the latest one will require 16 random reads + a scan of at most 1MB; which translates to about 26ms. Not too bad since this cost is incurred only on the first mount or reboot.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080331231829.26D865B50>