File:  [NetBSD Developer Wiki] / wikisrc / projects / project / flash-translation.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Thu Feb 27 07:18:03 2014 UTC (12 months ago) by dholland
Branches: MAIN
CVS tags: HEAD
Rewrite and expand. (this is actually something I know a bit about)

[[!template id=project

title="Flash translation layer"

contact="""
[tech-embed](mailto:tech-embed@NetBSD.org)
"""

category="kernel"
difficulty="medium"

description="""

Implement a flash translation layer.

A flash translation layer does block remapping, translating from
visible block addresses used by a file system to physical cells on
one or more flash chips.
This provides wear leveling, which is essential for effective use of
flash, and also typically some amount of read caching and write
buffering.
(And it takes care of excluding cells that have gone bad.)

This allows FFS, LFS, msdosfs, or whatever other conventional file
system to be used on raw flash chips. (Note that SSDs and USB flash
drives and so forth contain their own FTLs.)

FTLs involve quite a bit of voodoo and there is a lot of prior art and
research; do not just sit down and start coding.

There are also some research FTLs that we might be able to get the
code for; it is probably worth looking into this.

"""
]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb