NVFAT: A FAT-Compatible File System with NVRAM Write Cache for Its Metadata

In Hwan DOH  Hyo J. LEE  Young Je MOON  Eunsam KIM  Jongmoo CHOI  Donghee LEE  Sam H. NOH  

Publication
IEICE TRANSACTIONS on Information and Systems   Vol.E93-D   No.5   pp.1137-1146
Publication Date: 2010/05/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.E93.D.1137
Print ISSN: 0916-8532
Type of Manuscript: PAPER
Category: Software Systems
Keyword: 
non-volatile RAM (NVRAM),  flash memory,  file system,  metadata,  flash translation layer (FTL),  

Full Text: PDF(885.3KB)
>>Buy this Article


Summary: 
File systems make use of the buffer cache to enhance their performance. Traditionally, part of DRAM, which is volatile memory, is used as the buffer cache. In this paper, we consider the use of of Non-Volatile RAM (NVRAM) as a write cache for metadata of the file system in embedded systems. NVRAM is a state-of-the-art memory that provides characteristics of both non-volatility and random byte addressability. By employing NVRAM as a write cache for dirty metadata, we retain the same integrity of a file system that always synchronously writes its metadata to storage, while at the same time improving file system performance to the level of a file system that always writes asynchronously. To show quantitative results, we developed an embedded board with NVRAM and modify the VFAT file system provided in Linux 2.6.11 to accommodate the NVRAM write cache. We performed a wide range of experiments on this platform for various synthetic and realistic workloads. The results show that substantial reductions in execution time are possible from an application viewpoint. Another consequence of the write cache is its benefits at the FTL layer, leading to improved wear leveling of Flash memory and increased energy savings, which are important measures in embedded systems. From the real numbers obtained through our experiments, we show that wear leveling is improved considerably and also quantify the improvements in terms of energy.