A Flash-Memory Based File System

Atsuo Kawaguchi, Shingo Nishioka, and Hiroshi Motoda
Advanced Research laboratory, Hitachi, Ltd.


A flash memory device driver that supports a
conventional UNIX file system transparently was
designed. To avoid the limitations due to flash
memory's restricted number of write cycles and its
inability to be overwritten, this driver writes data
to the flash memory system sequentially as a Log-structured
File System (LFS) does and uses a cleaner to collect
valid data blocks and reclaim invalid ones by erasing
the corresponding flash memory regions.
Measurements showed that the overhead of the cleaner
has little effect on the performance of the prototype
when utilization is low but that the effect becomes
critical as the utilization gets higher, reducing the
random write throughput from 222 Kbytes/s at 30%
utilization to 40 Kbytes/s at 90% utilization. The
performance of the prototype in the Andrew Benchmark
test is roughly equivalent to that of the 4.4BSD
Pageable Memory based File System (MFS).

Download the full text of this paper in ASCII (38,509 bytes) and POSTSCRIPT (377,000 bytes) form.

To Become a USENIX Member, please see our Membership Information.