skip to main content
research-article

UnistorFS: A Union Storage File System Design for Resource Sharing between Memory and Storage on Persistent RAM-Based Systems

Published:26 February 2018Publication History
Skip Abstract Section

Abstract

With the advanced technology in persistent random access memory (PRAM), PRAM such as three-dimen-sional XPoint memory and Phase Change Memory (PCM) is emerging as a promising candidate for the next-generation medium for both (main) memory and storage. Previous works mainly focus on how to overcome the possible endurance issues of PRAM while both main memory and storage own a partition on the same PRAM device. However, a holistic software-level system design should be proposed to fully exploit the benefit of PRAM. This article proposes a <underline>uni</underline>on <underline>stor</underline>age <underline>f</underline>ile <underline>s</underline>ystem (UnistorFS), which aims to jointly manage the PRAM resource for main memory and storage. The proposed UnistorFS realizes the concept of using the PRAM resource as memory and storage interchangeably to achieve resource sharing while main memory and storage coexist on the same PRAM device with no partition or logical boundary. This approach not only enables PRAM resource sharing but also eliminates unnecessary data movements between main memory and storage since they are already in the same address space and can be accessed directly. At the same time, the proposed UnistorFS ensures the persistence of file data and sanity of the file system after power recycling. A series of experiments was conducted on a modified Linux kernel. The results show that the proposed UnistorFS can eliminate unnecessary memory accesses and outperform other PRAM-based file systems for 0.2--8.7 times in terms of read/write performance.

References

  1. N. Aggarwal, J. F. Cantin, M. H. Lipasti, and J. E. Smith. 2008. Power-efficient DRAM speculation. In Proceedings of the High Performance Computer Architecture (HPCA’08). 317--328.Google ScholarGoogle Scholar
  2. N. Agrawal, W. J. Bolosky, J. R. Douceur, and J. R. Lorch. 2007. A five-year study of file-system metadata. Trans. Storage 3, 3, Article 9 (Oct. 2007), 9:1--9:32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Joy Arulraj, Andrew Pavlo, and Subramanya R. Dulloor. 2015. Let’s talk about storage and recovery methods for non-volatile memory database systems. Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. 707--722. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Bovet and M. Cesati. 2005. Understanding The Linux Kernel. Oreilly 8 Associates Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. William H. Butler and Arunava Gupta. 2004. Magnetic memory: A signal boost is in order. Nat. Mater. 3 (2004), 845--847.Google ScholarGoogle ScholarCross RefCross Ref
  6. A. M. Caulfield, A. De, J. Coburn, T. I. Mollow, R. K. Gupta, and S. Swanson. 2010. Moneta: A high-performance storage array architecture for next-generation, non-volatile memories. In Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’43). 385--395. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Tseng-Yi Chen, Yuan-Hao Chang, Shuo-Han Chen, Chih-Ching Kuo, Ming-Chang Yang, Hsin-Wen Wei, and Wei-Kuan Shih. 2017. Enabling write-reduction strategy for journaling file systems over byte-addressable NVRAM. In Proceedings of the 54th Annual Design Automation Conference 2017 (DAC’17). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S.-W. Cheng, Y.-F. Chang, Y.-H. Chang, H.-W. Wei, and W.-K. Shih. 2014. Warranty-aware page management for PCM-based embedded systems. In Proceedings of the 2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD’14). 734--741. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Cho and H. Lee. 2009. Flip-N-write: A simple deterministic technique to improve PRAM write performance, energy and endurance. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’42). 347--357. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee.2009. Better I/O through byte-addressable, persistent memory. Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles. 133--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Subramanya R. Dulloor, Sanjay Kumar, Anil Keshavamurthy, Philip Lantz, Dheeraj Reddy, Rajesh Sankaran, and Jeff Jackson. 2014. System software for persistent memory. In Proceedings of the 9th European Conference on Computer Systems (EuroSys’14). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Filebench. 2016. Filebench. Retrieved September 3, 2017 from https://github.com/filebench/filebench.Google ScholarGoogle Scholar
  13. Fio. 2005. Flexible IO. Retrieved September 3, 2017 from https://github.com/axboe/fio.Google ScholarGoogle Scholar
  14. J. Hu, C. J. Xue, W.-C. Tseng, Y. He, M. Qiu, and E. H. M. Sha. 2010. Reducing write activities on non-volatile memories in embedded CMPs via data migration and recomputation. In Proceedings of the 2010 47th ACM/IEEE Design Automation Conference (DAC’10). 350--355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. I. Hur and C. Lin. 2008. A comprehensive approach to DRAM power management. In Proceedings of the IEEE 14th International Symposium on High Performance Computer Architecture, 2008. (HPCA’08). 305--316.Google ScholarGoogle Scholar
  16. Intel. 2016. Introducing Breakthrough Memory Technology. Retrieved September 3, 2017 from http://www.intel.com/content/www/us/en/architecture-and-technology/non-volatile-memory.html?wapkw&equals;3d+xpoint.Google ScholarGoogle Scholar
  17. E. Ipek, J. Condit, E. B. Nightingale, D. Burger, and T. Moscibroda. 2010. Dynamically replicated memory: Building reliable systems from nanoscale resistive memories. In Proceedings of the 15th Edition of ASPLOS on Architectural Support for Programming Languages and Operating Systems (ASPLOS XV). 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. ITRS. 2014. ITRS Roadmap 2014. Retrieved September 3, 2017 from http://www.itrs.net/reports.html.Google ScholarGoogle Scholar
  19. A. N. Jacobvitz, R. Calderbank, and D. J. Sorin. 2013. Coset coding to extend the lifetime of memory. In Proceedings of the 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA’13). 222--233. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Y. Joo, D. Niu, X. Dong, G. Sun, N. Chang, and Y. Xie. 2010. Energy- and endurance-aware design of phase change memory caches. In Design, Automation Test in Europe Conference Exhibition (DATE’10). 136--141. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Jung, Y. Won, E. Kim, H. Shin, and B. Jeon. 2010. FRASH: Exploiting storage class memory in hybrid file system for hierarchical storage. Trans. Storage 6, 1, Article 3 (April 2010), 25 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J.-Y. Jung and S. Cho. 2013. Memorage: Emerging persistent RAM based malleable main memory and storage architecture. In Proceedings of the 27th International ACM Conference on International Conference on Supercomputing. 115--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sudarsun Kannan, Ada Gavrilovska, and Karsten Schwan. 2016. pVM: Persistent virtual memory for efficient capacity scaling and object storage. In Proceedings of the 11th European Conference on Computer Systems (EuroSys’16). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. B.C. Lee, Ping Zhou, Jun Yang, Youtao Zhang, Bo Zhao, E. Ipek, O. Mutlu, and D. Burger. 2010. Phase-change technology and the future of main memory. IEEE Micro 30, 1 (Jan. 2010), 143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. B. C. Lee, E. Ipek, O. Mutlu, and D. Burger. 2009. Architecting phase change memory as a scalable dram alternative. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA’09). 2--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. E. Lee, J. Jang S. Yoo, and H. Bahn. 2012. Wips: A write-in-place snapshot file system for storage-class memory. Electron. Lett. 48, 17 (Aug. 2012), 1053--1054.Google ScholarGoogle ScholarCross RefCross Ref
  27. E. Lee, S. H. Yoo, and H. Bahn. 2015. Design and implementation of a journaling file system for phase-change memory. IEEE Trans. Comput. 64, 5 (May 2015), 1349--1360.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. H. G. Lee, S. Baek, C. Nicopoulos, and J. Kim. 2011. An energy- and performance-aware DRAM cache architecture for hybrid DRAM/PCM main memory systems. In 2011 IEEE 29th International Conference on Computer Design (ICCD’11). 381--387. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. S. Lee, H. Bahn, and S. H. Noh. 2011. Characterizing memory write references for efficient management of hybrid PCM and DRAM memory. In Proceedings of the 2011 IEEE 19th Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS’11). 168--175. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. R.-S. Liu, D.-Y. Shen, C.-L. Yang, S.-C. Yu, and C.-Y. M. Wang. 2014. NVM duet: Unified working memory and persistent store architecture. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14). ACM, 455--470. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Wolfgang Mauerer. 2008. Professional Linux Kernel Architecture. Wrox Press Ltd., Birmingham, UK. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. R. Melhem, R. Maddah, and S. Cho. 2012. RDIS: A recursively defined invertible set scheme to tolerate multiple stuck-at faults in resistive memory. In Proceedings of the 2012 42nd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN’12). 1--12. http://dl.acm.org/citation.cfm?id&equals;2354410.2355178. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. T. Meyer and W. J. Bolosky. 2011. A study of practical deduplication. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies (FAST’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Micron. 2016. Breakthrough Nonvolatile Memory Technology. Retrieved September 3, 2017 from http://www.micron.com/about/innovations/3d-xpoint-technology.Google ScholarGoogle Scholar
  35. S. Mittal and J. S. Vetter. 2016. A survey of software techniques for using non-volatile memories for storage and main memory systems. IEEE Trans. Parallel Distrib. Syst. 27, 5 (2016), 1537--1550. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. MongoDB. 2014. MongoDB. Retrieved September 3, 2017 from https://www.mongodb.com/.Google ScholarGoogle Scholar
  37. NOVA. 2016. Retrieved September 3, 2017 from https://github.com/Andiry/nova.Google ScholarGoogle Scholar
  38. PMFS. 2015. Persistent Memory File System. Retrieved September 3, 2017 from https://github.com/linux-pmfs/pmfs.Google ScholarGoogle Scholar
  39. Qemu. 2016. Qemu. Retrieved September 3, 2017 from https://www.qemu.org/.Google ScholarGoogle Scholar
  40. T. Quan, D. Yeo, and Y. Won. 2011. Cmfs: Compressed metadata file system for hybrid storage. network infrastructure and digital content. Proceedings of the 2010 2nd IEEE International Conference on Network Infrastructure and Digital Content. 1030--1034.Google ScholarGoogle Scholar
  41. M. K. Qureshi. 2011. Pay-as-you-go: Low-overhead hard-error correction for phase change memories. In Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 44). 318--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. M. K. Qureshi, J. Karidis, M. Franceschini, V. Srinivasan, L. Lastras, and B. Abali. 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 (MICRO 42). 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. M. K. Qureshi, V. Srinivasan, and J. A. Rivers. 2009. Scalable high performance main memory system using phase-change memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA’09). 24--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. S. Schechter, G. H. Loh, K. Straus, and D. Burger. 2010. Use ECP, Not ECC, for hard failures in resistive memories. In Proceedings of the 37th Annual International Symposium on Computer Architecture (ISCA’10). 141--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. N. H. Seong, D. H. Woo, and H.-H. S. Lee. 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 International Symposium on Computer Architecture (ISCA’10). 383--394. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. N. H. Seong, D. H. Woo, V. Srinivasan, J. A. Rivers, and H.-H. S. Lee. 2010. SAFER: Stuck-at-fault error recovery for memories. In Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 43). 115--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. E. H. M. Sha, X. Chen, Q. Zhuge, L. Shi, and W. Jiang. 2016. A new design of in-memory file system based on file virtual address framework. IEEE Trans. Comput. 65, 10 (Oct. 2016), 2959--2972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Z. Shao, Y. Liu, Y. Chen, and T. Li. 2012. Utilizing PCM for energy optimization in embedded systems. In Proceedings of the 2012 IEEE Computer Society Annual Symposium on VLSI (ISVLSI’12). 398--403. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. T. Vogelsang. 2010. Understanding the energy consumption of dynamic random access memories. In Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’43). 363--374. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. K. Vättö, I. Cutress, and R. Smith. 2015. Analyzing Intel-Micron 3D XPoint: The Next Generation Non-Volatile Memory. Retrieved September 3, 2017 from http://www.anandtech.com/tag/memory.Google ScholarGoogle Scholar
  51. Eric W. Weisstein. 2017. Gamma Distribution. Retrieved September 10, 2017 from http://mathworld.wolfram.com/GammaDistribution.html.Google ScholarGoogle Scholar
  52. X. Wu and A. L. N. Reddy. 2011. SCMFS: A file system for storage class memory. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC’11). Article 39, 11 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Jian Xu and Steven Swanson. 2016. NOVA: A log-structured file system for hybrid volatile/non-volatile main memories. In Proceedings of the 14th USENIX Conference on File and Stroage Technologies (FAST’16). Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Yahoo&excl;2010. Yahoo&excl; Cloud Serving Benchmark (YCSB). Retrieved September 10, 2017 from https://github.com/brianfrankcooper/YCSB.Google ScholarGoogle Scholar
  55. B.-D. Yang, J.-E. Lee, J.-S. Kim, J. Cho, S.-Y. Lee, and B. g. Yu. 2007. A low power phase-change random access memory using a data-comparison write scheme. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS’07). 3014--3017.Google ScholarGoogle ScholarCross RefCross Ref
  56. M.-C. Yang, M. Kuo, C.-W. Tsao, and Y.-H. Chang. 2013. A fifty-percent rule to minimize the energy consumption of PCM-based storage systems. In Proceedings of the 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’13). 139--144.Google ScholarGoogle Scholar
  57. D. H. Yoon, N. Muralimanohar, J. Chang, P. Ranganathan, N. P. Jouppi, and M. Erez. 2011. FREE-p: Protecting non-volatile memory against both hard and soft errors. In Proceedings of the 2011 IEEE 17th International Symposium on High Performance Computer Architecture (HPCA’11). 466--477. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Ping Zhou, Bo Zhao, Jun Yang, and Youtao Zhang. 2009. A durable and energy efficient main memory using phase change memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA’09). 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. J.-G. Zhu, Y. Zheng, and G. A. Prinz. 2000. Ultrahigh density vertical magnetoresistive random access memory (invited). J. Appl. Phys. 87, 9 (2000), 6668--6673.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. UnistorFS: A Union Storage File System Design for Resource Sharing between Memory and Storage on Persistent RAM-Based Systems

        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

        • Published in

          cover image ACM Transactions on Storage
          ACM Transactions on Storage  Volume 14, Issue 1
          Special Issue on NVM and Storage
          February 2018
          237 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/3190860
          • Editor:
          • Sam H. Noh
          Issue’s Table of Contents

          Copyright © 2018 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 26 February 2018
          • Accepted: 1 January 2018
          • Revised: 1 September 2017
          • Received: 1 January 2017
          Published in tos Volume 14, Issue 1

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        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!