vFlash: Virtualized Flash for Optimizing the I/O Performance in Mobile Devices

I/O is becoming one of major performance bottlenecks in NAND-flash-based mobile devices. Novel nonvolatile memories (NVMs), such as phase change memory and spin-transfer torque random access memory, can provide fast read/write operations. In this paper, we propose a unified NVM/flash architecture to improve the I/O performance. A transparent scheme, virtualized flash (vFlash), is also proposed to manage the unified architecture. Within vFlash, interapp and intra-app techniques are proposed to optimize the application performance by exploiting the historical locality and I/O access patterns of applications. Since vFlash is on the bottom of the I/O stack, the application features will be lost. Therefore, we also propose a cross-layer technique to transfer the application information from the application layer to the vFlash layer. The proposed scheme is evaluated based on an Android platform, and the experimental results show that the proposed scheme can effectively improve the I/O performance of mobile devices.

[1]  Nikil D. Dutt,et al.  A Reliability-Aware Address Mapping Strategy for NAND Flash Memory Storage Systems , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Edwin Hsing-Mean Sha,et al.  DR. Swap: Energy-efficient paging for smartphones , 2014, 2014 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED).

[3]  Cristian Ungureanu,et al.  Revisiting storage for smartphones , 2012, TOS.

[4]  Bo Zhao,et al.  A 3us wake-up time nonvolatile processor based on ferroelectric flip-flops , 2012, 2012 Proceedings of the ESSCIRC (ESSCIRC).

[5]  Shih-Hao Hung,et al.  Performance and power profiling for emulated Android systems , 2014, TODE.

[6]  Chun Jason Xue,et al.  SLC-enabled wear leveling for MLC PCM considering process variation , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[7]  Yuan Xie,et al.  AdaMS: Adaptive MLC/SLC phase-change memory design for file storage , 2011, 16th Asia and South Pacific Design Automation Conference (ASP-DAC 2011).

[8]  Wei-Che Tseng,et al.  Software enabled wear-leveling for hybrid PCM main memory on embedded systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[9]  Jun Yang,et al.  SD-PCM: Constructing Reliable Super Dense Phase Change Memory under Write Disturbance , 2015, ASPLOS 2015.

[10]  Yinhe Han,et al.  SmartCap: Using Machine Learning for Power Adaptation of Smartphone's Application Processor , 2014, TODE.

[11]  Yu Wang,et al.  ICE: Inline calibration for memristor crossbar-based computing engine , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[12]  Yiran Chen,et al.  A 130 nm 1.2 V/3.3 V 16 Kb Spin-Transfer Torque Random Access Memory With Nondestructive Self-Reference Sensing Scheme , 2012, IEEE Journal of Solid-State Circuits.

[13]  Zhiping Jia,et al.  Managing hybrid on-chip scratchpad and cache memories for multi-tasking embedded systems , 2015, The 20th Asia and South Pacific Design Automation Conference.

[14]  Tei-Wei Kuo,et al.  An adaptive file-system-oriented FTL mechanism for flash-memory storage systems , 2012, TECS.

[15]  Xue Liu,et al.  The Design and Implementations of Locality-Aware Approximate Queries in Hybrid Storage Systems , 2015, IEEE Transactions on Parallel and Distributed Systems.

[16]  Jun Yang,et al.  ER: elastic RESET for low power and long endurance MLC based phase change memory , 2012, ISLPED '12.

[17]  Jingtong Hu,et al.  Unified non-volatile memory and NAND flash memory architecture in smartphones , 2015, The 20th Asia and South Pacific Design Automation Conference.

[18]  Li-Pin Chang,et al.  Plugging versus logging: A new approach to write buffer management for solid-state disks , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[19]  Da-Wei Chang,et al.  BLAS: Block-level adaptive striping for solid-state drives , 2014, TODE.

[20]  Renhai Chen,et al.  On-Demand Block-Level Address Mapping in Large-Scale NAND Flash Storage Systems , 2015, IEEE Transactions on Computers.

[21]  Yiran Chen,et al.  Emerging non-volatile memories: Opportunities and challenges , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[22]  Tei-Wei Kuo,et al.  Special Issues in Flash , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[23]  Sang Lyul Min,et al.  LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies , 2001, IEEE Trans. Computers.

[24]  Zhiping Jia,et al.  Unified DRAM and NVM hybrid buffer cache architecture for reducing journaling overhead , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[25]  Onur Mutlu,et al.  FIRM: Fair and High-Performance Memory Control for Persistent Memory Systems , 2014, 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.

[26]  Ladjel Bellatreche,et al.  Embedded Databases on Flash Memories: Performance and Lifetime Issues, the case of SQLite , 2014 .

[27]  Chundong Wang,et al.  SAW: System-assisted wear leveling on the write endurance of NAND flash devices , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[28]  Andrea C. Arpaci-Dusseau,et al.  A Study of Linux File System Evolution , 2013, FAST.

[29]  Youjip Won,et al.  I/O Stack Optimization for Smartphones , 2013, USENIX ATC.

[30]  Erik Brockmeyer,et al.  DRDU: A data reuse analysis technique for efficient scratch-pad memory management , 2007, TODE.

[31]  Huazhong Yang,et al.  PaCC: A Parallel Compare and Compress Codec for Area Reduction in Nonvolatile Processors , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[32]  Chita R. Das,et al.  Cache revive: Architecting volatile STT-RAM caches for enhanced performance in CMPs , 2012, DAC Design Automation Conference 2012.

[33]  Xue Liu,et al.  Effective Real-Time Android Application Auditing , 2015, 2015 IEEE Symposium on Security and Privacy.

[34]  Xiaodong Zhang,et al.  Understanding intrinsic characteristics and system implications of flash memory based solid state drives , 2009, SIGMETRICS '09.

[35]  Tei-Wei Kuo,et al.  A file-system-aware FTL design for flash-memory storage systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[36]  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.

[37]  Yiran Chen,et al.  Low cost power failure protection for MLC NAND flash storage systems with PRAM/DRAM hybrid buffer , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[38]  Yuan-Hao Chang,et al.  Space-efficient multiversion index scheme for PCM-based embedded database systems , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[39]  Yuan-Hao Chang,et al.  Garbage Collection for Multiversion Index in Flash-Based Embedded Databases , 2014, TODE.

[40]  Yu Wang,et al.  Training itself: Mixed-signal training acceleration for memristor-based neural network , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[41]  Liang Shi,et al.  Wear Relief for High-Density Phase Change Memory Through Cell Morphing Considering Process Variation , 2015, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[42]  Edwin Hsing-Mean Sha,et al.  Retention Trimming for Lifetime Improvement of Flash Memory Storage Systems , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[43]  Laurent Lemarchand,et al.  MaCACH: An adaptive cache-aware hybrid FTL mapping scheme using feedback control for efficient page-mapped space management , 2015, J. Syst. Archit..

[44]  Rong Luo,et al.  Energy efficient neural networks for big data analytics , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[45]  Rajesh Gupta,et al.  From ARIES to MARS: transaction support for next-generation, solid-state drives , 2013, SOSP.

[46]  Tajana Simunic,et al.  CAUSE: Critical application usage-aware memory system using non-volatile memory for mobile devices , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).