Skip site navigation (1)Skip section navigation (2)
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

Andrew



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090406232508.776d57e6>