A Partial Page Cache Strategy for NVRAM-Based Storage Devices

Nonvolatile random access memory (NVRAM) is becoming a popular alternative as the memory and storage medium in battery-powered embedded systems because of its fast read/write performance, byte-addressability, and nonvolatility. A well-known example is phase-change memory (PCM) that has much longer life expectancy and faster access performance than NAND flash. When NVRAM is considered as both main memory and storage in battery-powered embedded systems, existing page cache mechanisms have too many unnecessary data movements between main memory and storage. To tackle this issue, we propose the concept of “union page cache,” to jointly manage data of the page cache in both main memory and storage. To realize this concept, we design a partial page cache strategy that considers both main memory and storage as its management space. This strategy can eliminate unnecessary data movements between main memory and storage without sacrificing the data integrity of file systems. A series of experiments was conducted on an embedded platform. The results show that the proposed strategy can improve the file accessing performance up to 85.62% when PCM used as a case study.

[1]  Eunji Lee,et al.  WIPS: a write-in-place snapshot file system for storage-class memory , 2012 .

[2]  Yuan-Hao Chang,et al.  A fifty-percent rule to minimize the energy consumption of PCM-based storage systems , 2013, 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications.

[3]  Karin Strauss,et al.  Use ECP, not ECC, for hard failures in resistive memories , 2010, ISCA.

[4]  Wei-Kuan Shih,et al.  Warranty-aware page management for PCM-based embedded systems , 2014, 2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[5]  Wei-Kuan Shih,et al.  Enhancing the Energy Efficiency of Journaling File System via Exploiting Multi-Write Modes on MLC NVRAM , 2018, ISLPED.

[6]  Raju Rangaswami,et al.  Non-blocking Writes to Files , 2015, FAST.

[7]  Rajesh K. Gupta,et al.  Moneta: A High-Performance Storage Array Architecture for Next-Generation, Non-volatile Memories , 2010, 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture.

[8]  Wei-Kuan Shih,et al.  UnistorFS: A Union Storage File System Design for Resource Sharing between Memory and Storage on Persistent RAM-Based Systems , 2018, ACM Trans. Storage.

[9]  Freeman Leigh Rawson MEMPOWER: A Simple Memory Power Analysis Tool Set , 2004 .

[10]  Stratis Viglas,et al.  ATOM: Atomic Durability in Non-volatile Memory through Hardware Logging , 2017, 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[11]  Hiroshi Nakamura,et al.  Normally-off computing project: Challenges and opportunities , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[12]  Christopher Frost,et al.  Better I/O through byte-addressable, persistent memory , 2009, SOSP '09.

[13]  Engin Ipek,et al.  Dynamically replicated memory: building reliable systems from nanoscale resistive memories , 2010, ASPLOS XV.

[14]  Alan Jay Smith,et al.  Line (Block) Size Choice for CPU Cache Memories , 1987, IEEE Transactions on Computers.

[15]  Onur Mutlu,et al.  Architecting phase change memory as a scalable dram alternative , 2009, ISCA '09.

[16]  Jeffrey Katcher,et al.  PostMark: A New File System Benchmark , 1997 .

[17]  Wei-Kuan Shih,et al.  Enabling write-reduction strategy for journaling file systems over byte-addressable NVRAM , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

[18]  Vijayalakshmi Srinivasan,et al.  Enhancing lifetime and security of PCM-based Main Memory with Start-Gap Wear Leveling , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[19]  Jian Xu,et al.  NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main Memories , 2016, FAST.

[20]  Youyou Lu,et al.  HiNFS , 2018, ACM Trans. Storage.

[21]  Hyokyung Bahn,et al.  Characterizing Memory Write References for Efficient Management of Hybrid PCM and DRAM Memory , 2011, 2011 IEEE 19th Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems.

[22]  Eunji Lee,et al.  Unioning of the buffer cache and journaling layers with non-volatile memory , 2013, FAST.

[23]  Arun Jagatheesan,et al.  Understanding the Impact of Emerging Non-Volatile Memories on High-Performance, IO-Intensive Computing , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[24]  Moinuddin K. Qureshi,et al.  Reducing read latency of phase change memory via early read and Turbo Read , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).

[25]  Wei-Kuan Shih,et al.  wrJFS: A Write-Reduction Journaling File System for Byte-addressable NVRAM , 2018, IEEE Transactions on Computers.

[26]  Tajana Simunic,et al.  PDRAM: A hybrid PRAM and DRAM main memory system , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[27]  Vijayalakshmi Srinivasan,et al.  Scalable high performance main memory system using phase-change memory technology , 2009, ISCA '09.

[28]  Jongman Kim,et al.  An energy- and performance-aware DRAM cache architecture for hybrid DRAM/PCM main memory systems , 2011, 2011 IEEE 29th International Conference on Computer Design (ICCD).

[29]  Wei-Kuan Shih,et al.  Enabling Union Page Cache to Boost File Access Performance of NVRAM-Based Storage Device , 2018, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC).

[30]  Onur Mutlu,et al.  Page overlays: An enhanced virtual memory framework to enable fine-grained memory management , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[31]  Suman Nath,et al.  Rethinking Database Algorithms for Phase Change Memory , 2011, CIDR.

[32]  Bruce Jacob,et al.  Technology comparison for large last-level caches (L3Cs): Low-leakage SRAM, low write-energy STT-RAM, and refresh-optimized eDRAM , 2013, 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA).

[33]  Hyokyung Bahn,et al.  CLOCK-DWF: A Write-History-Aware Page Replacement Algorithm for Hybrid PCM and DRAM Memory Architectures , 2014, IEEE Transactions on Computers.

[34]  Youjip Won,et al.  CMFS: Compressed metadata file system for hybrid storage , 2010, 2010 2nd IEEE InternationalConference on Network Infrastructure and Digital Content.

[35]  Jun Yang,et al.  Enhancing phase change memory lifetime through fine-grained current regulation and voltage upscaling , 2011, IEEE/ACM International Symposium on Low Power Electronics and Design.

[36]  Sanjay Kumar,et al.  System software for persistent memory , 2014, EuroSys '14.

[37]  Zhiping Jia,et al.  A three-stage-write scheme with flip-bit for PCM main memory , 2015, The 20th Asia and South Pacific Design Automation Conference.

[38]  Subramanya Dulloor,et al.  Let's Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems , 2015, SIGMOD Conference.

[39]  A. L. Narasimha Reddy,et al.  SCMFS: A file system for Storage Class Memory , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[40]  Sangyeun Cho,et al.  Memorage: emerging persistent RAM based malleable main memory and storage architecture , 2013, ICS '13.

[41]  Zili Shao,et al.  A block-level flash memory management scheme for reducing write activities in PCM-based embedded systems , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[42]  Jongmoo Choi,et al.  Design and Analysis of a Space Conscious Nonvolatile-RAM File System , 2006, TENCON 2006 - 2006 IEEE Region 10 Conference.

[43]  Yifeng Zhu,et al.  Exploiting subarrays inside a bank to improve phase change memory performance , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).