📄 yaffs.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0030)http://www.aleph1.co.uk/yaffs/ -->
<HTML><HEAD><TITLE>YAFFS</TITLE>
<META content="Aleph ARMLinux">
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.3700.6699" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff link=#00ab00 text=#000000 vLink=#006c00>
<P align=center>[ <A href="http://www.aleph1.co.uk/">Aleph One home page</A> |
<A href="http://www.aleph1.co.uk/Company/index.html">Company Information</A> |
<A href="http://www.aleph1.co.uk/Company/ConditionsOfSale.html">Security Privacy
and Terms of sale</A> | <A
href="http://www.aleph1.co.uk/search.html?armlinux">Search</A> ] </P><BR>
<HR noShade SIZE=1>
<TABLE>
<TBODY>
<TR>
<TD><A href="http://www.aleph1.co.uk/armlinux/index.html"><IMG
alt="Aleph One Logo" border=0 height=61
src="YAFFS.files/Arm1inuxSM.gif" width=185></A>
<TD>
<H1>YAFFS</H1></TD></TR></TBODY></TABLE>> <A
href="http://www.aleph1.co.uk/yaffs/">yaffs</A> <A name=TOP></A>
<HR>
<P>YAFFS, for Yet Another Flash Filing System, is a filing system optimised for
NAND Flash chips, which are increasingly cheap and widely available. It is a
journal-based FS which automatically provides wear-levelling and robustness on
power failure. It also scales well for large Flash chip sizes, in terms of boot
time and RAM usage. It is in use now in real commercial products under Linux and
WinCE.</P>
<P>Its heart, YAFFS/direct, can easily be incorporated in RTOSs and embedded
systems. Bootloader code and documentation are available. It will work with NOR
Flash and RAM too, though efficient use of the particular properties of NAND
Flash chips remain the primary design goal.</P>
<P>YAFFS/direct code is available either under GPL or under our own licence,
which allows its use with proprietary software.</P>
<P>YAFFS is a whole product bundle which contains YAFFS/direct and other
components of code used to integrate YAFFS/direct into a real product
environment. The final integration code for a particular environment may already
exist, or may be written by us or by the user or other collaborators, depending
on the target OS and hardware.</P>
<H3><A href="http://www.aleph1.co.uk/yaffs/yaffsproducts.html">YAFFS Product
options</A></H3>
<H3>Downloads</H3>
<P>Access to the latest code is via <A
href="http://www.aleph1.co.uk/cvsuse.html">CVS</A></P>
<H3>Current status </H3>
<P>YAFFS is released, functioning and becoming increasingly popular. It has been
used in real commercial products under both Linux and WinCE and has shipped in
several thousand device that we know about. Work on <A
href="http://www.aleph1.co.uk/yaffs/yaffs2.html">YAFFS2</A> to support newer,
larger NAND chips is underway, but would benefit from corporate sponsorship.</P>
<P>Here is a more detailed <A
href="http://www.aleph1.co.uk/yaffs/news.html">timeline of notable
events</A>.</P>
<H3>Documentation</H3>
<P>Here are some documents on YAFFS:</P>
<UL>
<LI><A href="http://www.aleph1.co.uk/yaffs/yaffs.html">YAFFS spec</A>. Details
of the filing system, including short backgrounder. Read this if you want to
know what it is, what it does and how it works. This doc is included in the
download.
<LI><A href="http://www.aleph1.co.uk/yaffs/yaffs-notes.html">How to use
it</A>. Notes on how to use YAFFS and some details of the internal structures
- very useful if you want to mess with the code. This doc is included in the
download.
<LI><A href="http://www.aleph1.co.uk/yaffs/yaffs-rootfs-howto.html">YAFFS root
HOWTO</A>. Simple HOWTO for getting started with YAFFS and using it as a root
filesystem. If you just want the <I>quick start</I> info - read this.
<LI><A href="http://www.aleph1.co.uk/yaffs/jffs2_and_nand.html">JFFS2 on NAND
study</A>. Discussion of the characteristics of NAND and NOR flash and how
those interact with JFFS2 to produce significant boot-time delays and high RAM
consumption, especially with large flash chips.
<LI><A href="http://www.aleph1.co.uk/yaffs/current_NAND.html">State of NAND
MTD driver at start of project</A>. Details of Dec 2001 state of nand driver,
and overview of how drivers fit together for use with different hardware and
filesystems. Not really intended for public consumption, but a useful
backgrounder and explanation of the evolution of YAFFS.
<LI><A href="http://www.aleph1.co.uk/yaffs/yaffs2.html">YAFFS2 spec</A>.
Describes the development of YAFFS to deal with next-generation NAND chips
which have larger (2Kb) pages and don't allow page rewrites. The new design
will be significantly faster (write: 1.5x-5x, delete: 4x, garbage collection:
2x) and have 25-50% lower RAM footfrint. </LI></UL>
<H3>Mailing list</H3>
<P>A mailing list for the development and discussion of YAFFS is available, run
by Nick Bane of Toby Churchill. To subscribe to the list, email <A
href="mailto:yaffs-request@toby-churchill.org">yaffs-request@toby-churchill.org</A>
with the message "subscribe" as the subject. You will be emailed and asked to
confirm your subscription request. There is an <A
href="http://www.aleph1.co.uk/pipermail/yaffs-archive/">archive</A> of the
mailing list.</P>
<H3>History</H3>
<P>YAFFS came about because Toby Churchill Ltd (TCL) needed a flash filing
system for their devices. They wanted something reliable and one of their
fundamental requirements was fast boot time. We looked at adding NAND support to
the existing flash filesystems, JFFS and particularly JFFS2, but it became clear
that the boot time and ram consumption (a 128MB NAND would use about 4MB RAM in
node tables) were a problem, and adding NAND support wasn't trivial either (but
has since been done). In the end we decided a different filing system explicitly
for NAND was the way to go. The design was greatly simplified by not including
compression in the FS - which makes sense as nearly all the large data files TCL
used were compressed anyway, and the larger size of NAND devices makes
compression less important. A cramfs filesystem can be mounted within YAFFS if
you need to compress some of your data.</P>
<P>The original work was paid for by <A
href="http://www.toby-churchill.com/">Toby Churchill Ltd</A>, the project
instigators, and <A href="http://www.brightstareng.com/">Brightstar
Engineering</A>. </P>
<HR noShade SIZE=1>
<CENTER><A
href="http://validator.w3.org/check?uri=http://www.aleph1.co.uk/yaffs/"><IMG
alt="Valid HTML 3.2" border=0 height=31 src="YAFFS.files/vh32.gif" width=88></A>
Last Updated: 2004.08.05 <A
href="http://www.anybrowser.org/campaign/"><IMG alt="Use any browser" border=0
height=31 src="YAFFS.files/anyb.gif" width=88></A>
<P>[ <A href="http://www.aleph1.co.uk/">Aleph One home page</A> | <A
href="http://www.aleph1.co.uk/Company/index.html">Company Information</A> | <A
href="http://www.aleph1.co.uk/Company/ConditionsOfSale.html">Security Privacy
and Terms of sale</A> | <A
href="http://www.aleph1.co.uk/search.html?armlinux">Search</A> ]
</P></CENTER><BR></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -