Subject: RFC: community requirements for a flash filesystem
To: None <tech-kern@netbsd.org>
From: David Young <dyoung@pobox.com>
List: tech-kern
Date: 03/19/2006 19:15:17
I am seeking the NetBSD community's requirements and recommendations
for a flash filesystem that is suitable for embedded systems.

To start, let me state some bare minimum requirements:

        * Survives abrupt power loss: data in buffers may be lost,
          but the filesystem is consistent following power loss---no
          fsck is required.

        * Wear-levelling: on flash parts that require it, avoids R/M/W on
          "chunks" smaller than the media's sector size, avoids
          concentrating writes on a few physical sectors, "retires"
          worn-out sectors.  Avoids counteracting wear-levelling by
          firmware/hardware on parts that provide it (e.g., CompactFlash),
          as a run-time option.

        * Supports "typical" embedded uses: loading programs,
          (re-)writing configuration files, writing logs.  Temporary files
          are expected to be on a tmpfs.

Is either FFS or LFS a foundation to build a flash filesystem on, or
should NetBSD build its flash filesystem from scratch?  Help me get a
sense of the community on the question.

Can a flash filesystem that meets the needs of 99% of embedded
applications, also satisfy 95% of NetBSD server applications?

How many developer-months away is a usable flash filesystem for NetBSD?

Dave

-- 
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933