The Journalling Flash File System version 2 (JFFS2) provides a robust file system to allow reliable use of NOR Flash devices as data storage. The eCos implementation is greatly shared with the Linux kernel implementation, thus ensuring compatibility and encouraging development.
JFFS2 was designed from the outset for embedded devices. It allows recovery when the system has failed abnormally, without the file system itself being left in an unusable state, even if power is disconnected at the moment the Flash device is in the middle of being written to. It also offers features such as compression for efficient data storage, and garbage collection to improve capacity. Most importantly it is fully integrated into the eCos file I/O infrastructure as a plug-in filesystem.
There are a number of external resources containing information about JFFS2 on the internet, other than the usual eCos-specific general resources. The key site is the Linux MTD website which, although clearly having a Linux focus, contains lots of useful documentation on JFFS2 as well as a mailing list with searchable archives. The mailing list welcomes questions on using JFFS2 on eCos. Note that the eCos JFFS2 port does not use the MTD layer itself.
Another useful site is the Red Hat JFFS2 website, which contains a very useful paper presented to a Linux symposium covering the internals and some of the design of JFFS2.