skip to main content
research-article

SCMFS: A File System for Storage Class Memory and its Extensions

Published: 01 August 2013 Publication History

Abstract

Modern computer systems have been built around the assumption that persistent storage is accessed via a slow, block-based interface. However, emerging nonvolatile memory technologies (sometimes referred to as storage class memory (SCM)), are poised to revolutionize storage systems. The SCM devices can be attached directly to the memory bus and offer fast, fine-grained access to persistent storage.
In this article, we propose a new file system---SCMFS, which is specially designed for Storage Class Memory. SCMFS is implemented on the virtual address space and utilizes the existing memory management module of the operating system to help mange the file system space. As a result, we largely simplified the file system operations of SCMFS, which allowed us a better exploration of performance gain from SCM. We have implemented a prototype in Linux and evaluated its performance through multiple benchmarks. The experimental results show that SCMFS outperforms other memory resident file systems, tmpfs, ramfs and ext2 on ramdisk, and achieves about 70% of memory bandwidth for file read/write operations.

References

[1]
Biplob Debnath, S. S. and Li, J. 2010. ChunkStash: Speeding up inline storage deduplication using flash memory. In Proceedings of the USENIX Annual Technical Conference (ATC).
[2]
Chen, F., Luo, T., and Zhang, X. 2011. CAFTL: A content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST).
[3]
Chen, P. M., Ng, W. T., Chandra, S., Aycock, C., Rajamani, G., and Lowell, D. 1996. The RIO file cache: Surviving operating system crashes. In Proceedings of the Architectural Support for Programming Languages and Operating Systems. 74--83.
[4]
Coburn, J., Caulfield, A. M., Akel, A., Grupp, L. M., Gupta, R. K., Jhala, R., and Swanson, S. 2011. NV-heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 105--118.
[5]
Condit, J., Nightingale, E. B., Frost, C., Ipek, E., Lee, B. C., Burger, D., and Coetzee, D. 2009. Better I/O through byte-addressable, persistent memory. In Proceedings of the Symposium on Operating Systems Principles. 133--146.
[6]
Gupta, A., Pisolkar, R., Urgaonkar, B., and Sivasubramaniam, A. 2011. Leveraging value locality in optimizing NAND flash-based SSDs. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST).
[7]
Josephson, W. K., Bongo, L. A., Flynn, D., and Li, K. 2010. DFS: A file system for virtualized flash storage. In Proceedings of the USENIX Conference on File and Storage Technologies. 85--100.
[8]
Katcher, J. 1997. Postmark: A new file system benchmark. Tech. rep. TR3022. Network Applicance, Inc.
[9]
Lee, B., Zhou, P., Yang, J., Zhang, Y., Zhao, B., Ipek, E., Mutlu, O., and Burger, D. 2010. Phase-change technology and the future of main memory. IEEE Micro 30, 1, 143--143.
[10]
Lee, B. C., Ipek, E., Mutlu, O., and Burger, D. 2009. Architecting phase change memory as a scalable dram alternative. In Proceedings of the 36th Annual IEEE/ACM International Symposium on Computer Architecture. 2--13.
[11]
Mucci, P. J., Browne, S., Deane, C., and Ho, G. 1999. PAPI: A portable interface to hardware performance counters. In Proceedings of the Department of Defense HPCMP Users Group Conference. 7--10.
[12]
Narayanan, D. and Hodson, O. 2012. Whole-system persistence. In Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 401--410.
[13]
Ouyang, X., Nellans, D., Wipfel, R., Flynn, D., and Panda, D. K. 2011. Beyond Block I/O: Rethinking traditional storage primitives. In Proceedings of the 17th IEEE International Symposium on High Performance Computer Architecture. 301--311.
[14]
Qureshi, M., Karidis, J., Franceschini, M., Srinivasan, V., Lastras, L., and Abali, B. 2009. Enhancing lifetime and security of PCM-based main memory with start-gap wear leveling. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture. 14--23.
[15]
Qureshi, M., Franceschini, M., and Lastras-Montano, L. 2010. Improving read performance of phase change memories via write cancellation and write pausing. In Proceedings of the 16th IEEE International Symposium on High Performance Computer Architecture. 1--11.
[16]
Qureshi, M., Seznec, A., Lastras, L., and Franceschini, M. 2011. Practical and secure pcm systems by online detection of malicious write streams. In Proceedings of the 17th IEEE International Symposium on High Performance Computer Architecture. 478--489.
[17]
Ramos, L. E., Gorbatov, E., and Bianchini, R. 2011. Page placement in hybrid memory systems. In Proceedings of the International Conference on Supercomputing (ICS). 85--95.
[18]
Raoux, S., Burr, G. W., Breitwisch, M. J., Rettner, C. T., Chen, Y.-C., Shelby, R. M., Salinga, M., Krebs, D., Chen, S.-H., Lung, H.-L., and Lam, C. H. 2008. Phase-change random access memory: A scalable technology. IBM J. Res. Dev. 52, 465--480.
[19]
Seong, N. H., Woo, D. H., and Lee, H.-H. S. 2010. Security refresh: Prevent malicious wear-out and increase durability for phase-change memory with dynamically randomized address mapping. In Proceedings of the 37th Annual IEEE/ACM International Symposium on Computer Architecture. 383--394.
[20]
Snyder, P. 1990. TMPFS: A virtual memory file system. In Proceedings of the Autumn 1990 European UNIX Users’ Group Conference. 241--248.
[21]
Strukov, D. B., Snider, G. S., Stewart, D. R., and Williams, R. S. 2008. The missing memristor found. Nature 453, 7191, 80--83.
[22]
Venkataraman, S., Tolia, N., Ranganathan, P., and Campbell, R. H. 2011. Consistent and durable data structures for non-volatile byte-addressable memory. In Proceedings of the 9th Usenix Conference on File and Storage Technologies (FAST). 61--76.
[23]
Volos, H., Tack, A. J., and Swift, M. M. 2011. Mnemosyne: Lightweight persistent memory. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 91--104.
[24]
Wang, A.-I. A., Reiher, P., Popek, G. J., and Kuenning, G. H. 2002. Conquest: Better performance through a disk/persistent-RAM hybrid file system. In Proceedings of the USENIX Annual Technical Conference. 15--28.
[25]
Woodhouse, D. 2001. JFFS: The journalling flash file system. In Proceedings of the Ottawa Linux Symposium, RedHat Inc.
[26]
Wu, M. and Zwaenepoel, W. 1994. eNVY: A non-volatile, main memory storage system. In Proceedings of the Architectural Support for Programming Languages and Operating Systems. 86--97.
[27]
Zhou, P., Zhao, B., Yang, J., and Zhang, Y. 2009. A durable and energy efficient main memory using phase change memory technology. In Proceedings of the 36th International Symposium on Computer Architecture. 14--23.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Storage
ACM Transactions on Storage  Volume 9, Issue 3
August 2013
97 pages
ISSN:1553-3077
EISSN:1553-3093
DOI:10.1145/2501620
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 2013
Accepted: 01 January 2013
Revised: 01 September 2012
Received: 01 May 2012
Published in TOS Volume 9, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Storage class memory
  2. file systems
  3. performance measurement
  4. storage management

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)33
  • Downloads (Last 6 weeks)1
Reflects downloads up to 15 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media