skip to main content
research-article

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

Published:01 August 2013Publication History
Skip Abstract Section

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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Katcher, J. 1997. Postmark: A new file system benchmark. Tech. rep. TR3022. Network Applicance, Inc.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Snyder, P. 1990. TMPFS: A virtual memory file system. In Proceedings of the Autumn 1990 European UNIX Users’ Group Conference. 241--248.Google ScholarGoogle Scholar
  21. Strukov, D. B., Snider, G. S., Stewart, D. R., and Williams, R. S. 2008. The missing memristor found. Nature 453, 7191, 80--83.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Woodhouse, D. 2001. JFFS: The journalling flash file system. In Proceedings of the Ottawa Linux Symposium, RedHat Inc.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!