This project investigates the use of non-volatile semiconductor memory (such as flash memory) as a storage system to replace some of the functions currently assigned to disks. A board (eNVy) incorporating a large (128MB) flash memory is being designed at Rice University; concurrently, a log-structured file system (Rio) that can use the flash memory board as a cache between main memory and disk is being developed at the University of Michigan. In later stages of the project these research prototypes will be integrated. Research issues in hardware development include space reclamation (garbage collection), and tradeoffs between memory size, performance, and memory lifetimes. Research issues in file system development include optimization of the sizes of cache and main memory, algorithms for compression of data in the cache, protection of memory from software faults, and exploration of file system index structures. Integration of the prototypes will provide insight into the protability of these techniques to new systems.