Date: Mon, 6 Apr 2009 23:25:08 +1200 From: Andrew Turner <andrew@fubar.geek.nz> To: Stanislav Sedov <stas@FreeBSD.org> Cc: freebsd-embedded@freebsd.org, freebsd-geom@freebsd.org Subject: Re: FreeBSD NAND flash driver Message-ID: <20090406232508.776d57e6@fubar.geek.nz> In-Reply-To: <20090406122410.daab24b3.stas@FreeBSD.org> References: <20090405175014.6aef7016@fubar.geek.nz> <20090406122410.daab24b3.stas@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
On Mon, 6 Apr 2009 12:24:10 +0400 Stanislav Sedov <stas@FreeBSD.org> wrote: > > It is not usable yet as the write will not perform any deletes from > > the device, either the file system or another geom will have to > > issue a BIO_DELETE followed by BIO_WRITE's to write to the disk. > > This is done to support NAND flash aware file systems. > > > > So, for ordinary file systems we're going to use the special geom > layer that will sit above the nand(8) device and perform BIO_DELETE > operations when required? Yes, this is intentional as NAND flash is split up to blocks. The blocks are then split into pages. You have to erase the entire block at a time but can write pages as required. A file system that knows about this difference will be able to talk to nand(8) directly. > > > TODO: > > * ECC support. > > * Add GEOM attributes to get information about the NAND device out, > > eg. Block size, OOB data, etc. > > * Test the erase code. > > * Add support for real hardware. > > * Read the parameter page on parts that support it to get the > > required information. > > > > Andrew > > > > [1] > > http://fubar.geek.nz/files/freebsd/nand/freebsd-nand-20090405.tar.gz > > What about putting this information to the wiki? Seems like a good > start for anyone who'll be working on the real hardware. > And thanks again for the great work! I'm planning on doing this. I'm currently cleaning up the code before getting the first hardware driver written. Andrewhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090406232508.776d57e6>
