ABSTRACT
Smartphones are getting increasingly high-performance with advances in mobile processors and larger main memories to support feature-rich applications. However, the storage subsystem has always been a prohibitive factor that slows down the pace of reaching even higher performance while maintaining good user experience. Despite today's smartphones are equipped with larger-than-ever main memories, they consume more energy and still run out of memory. But the slow NAND flash based storage vetoes the possibility of swapping---an important technique to extend main memory---and leaves a system that constantly terminates user applications under memory pressure.
In this paper, we revisit swapping for smartphones with fast, byte-addressable, non-volatile memory (NVM) technologies. Instead of using flash, we build the swap area with NVM, to allow high performance without sacrificing user experience. Based on NVM's high performance and byte-addressability, we show that a copy-on-write swap-in scheme can achieve even better performance by avoiding unnecessary memory copy operations. To avoid fast worn-out of certain NVMs, we also propose Heap-Wear, a wear leveling algorithm that more evenly distributes writes in NVM. Evaluation results based on the Google Nexus 5 smartphone show that our solution can effectively enhance smartphone performance and give better wear-leveling of NVM.
- C.-H. Chen, P.-C. Hsiu, T.-W. Kuo, C.-L. Yang, and C.-Y. M. Wang. Age-based PCM wear leveling with nearly zero search cost. In Proceedings of DAC, pages 453--458, 2012. Google ScholarDigital Library
- S. Cho and H. Lee. Flip-N-Write: A simple deterministic technique to improve PRAM write performance, energy and endurance. In Proceedings of MICRO, pages 347--357, 2009. Google ScholarDigital Library
- J. Condit, E. B. Nightingale, C. Frost, E. Ipek, D. Burger, B. Lee, and D. Coetzee. Better I/O through byte-addressable, persistent memory. In Proceedings of SOSP, pages 133--146, 2009. Google ScholarDigital Library
- S. Eilert, M. Leinwander, and G. Crisenza. Phase change memory: A new memory enables new memory usage models. In Proceedings of IMW, pages 1--2, 2009.Google ScholarCross Ref
- C. Fu, M. Zhao, C. J. Xue, and A. Orailoglu. Sleep-aware variable partitioning for energy-efficient hybrid PRAM and DRAM main memory. In Proceedings of ISLPED, pages 75--80, 2014. Google ScholarDigital Library
- Google. Running android with low RAM. Android Developers Documentation, 2014.Google Scholar
- M. Hosomi, H. Yamagishi, T. Yamamoto, K. Bessho, Y. Higo, K. Yamane, H. Yamada, M. Shoji, H. Hachino, C. Fukumoto, H. Nagao, and H. Kano. A novel nonvolatile memory with spin torque transfer magnetization switching: spin-RAM. In Proceedings of IEDM, pages 459--462, 2005.Google ScholarCross Ref
- Hynix. eMMC flash storage using 41nm technology. Hynix Newsletter, 2009.Google Scholar
- S. Jeong, K. Lee, S. Lee, S. Son, and Y. Won. I/O stack optimization for smartphones. In Proceedings of USENIX ATC, pages 309--320, 2013. Google ScholarDigital Library
- L. Jiang, B. Zhao, Y. Zhang, J. Yang, and B. Childers. Improving write operations in MLC phase change memory. In Proceedings of HPCA, pages 1--10, 2012. Google ScholarDigital Library
- A. Jog, A. Mishra, C. Xu, Y. Xie, V. Narayanan, R. Iyer, and C. Das. Cache revive: Architecting volatile STT-RAM caches for enhanced performance in cmps. In Proceedings of DAC, pages 243--252, 2012. Google ScholarDigital Library
- D. Jung, J. soo Kim, S. yeong Park, J. uk Kang, and J. Lee. FASS: A flash-aware swap system. In Proceedings of IWSSPS, 2005.Google Scholar
- H. Kim, N. Agrawal, and C. Ungureanu. Revisiting storage for smartphones. ACM Transactions on Storage, 8(4):1--25, 2012. Google ScholarDigital Library
- H. Kim and D. Shin. Optimizing storage performance of android smartphone. In Proceedings of ICUIMC, pages 1--7, 2013. Google ScholarDigital Library
- B. C. Lee, E. Ipek, O. Mutlu, and D. Burger. Architecting phase change memory as a scalable DRAM alternative. In Proceedings of ISCA, pages 2--13, 2009. Google ScholarDigital Library
- D. Liu, T. Wang, Y. Wang, Z. Qin, and Z. Shao. PCM-FTL: A write-activity-aware NAND flash memory management scheme for PCM-based embedded systems. In Proceedings of RTSS, pages 357--366, 2011. Google ScholarDigital Library
- W. Mauerer. Professional Linux Kernel Architecture. Wrox Press Ltd., Birmingham, UK, 2008. Google ScholarDigital Library
- K. Qiu, Q. Li, and C. J. Xue. Write mode aware loop tiling for high performance low power volatile PCM. In Proceedings of DAC, pages 1--6, 2014. Google ScholarDigital Library
- M. K. Qureshi, J. Karidis, M. Franceschini, V. Srinivasan, L. Lastras, and B. Abali. Enhancing lifetime and security of PCM-based main memory with Start-gap wear leveling. In Proceedings of MICRO, pages 14--23, 2009. Google ScholarDigital Library
- H. Saadeldeen, D. Franklin, G. Long, C. Hill, A. Browne, D. Strukov, T. Sherwood, and F. T. Chong. Memristors for neural branch prediction: A case study in strict latency and write endurance challenges. In Proceedings of CF, pages 1--10, 2013. Google ScholarDigital Library
- M. Saxena and M. M. Swift. FlashVM: Revisiting the virtual memory hierarchy. In Proceedings of HotOS, pages 13--13, 2009. Google ScholarDigital Library
- Z. Shao, Y. Liu, Y. Chen, and T. Li. Utilizing PCM for energy optimization in embedded systems. In Proceedings of ISVLSI, pages 398--403, 2012. Google ScholarDigital Library
- D. B. Strukov, G. S. Snider, D. R. Stewart, and R. S. Williams. The missing memristor found. Nature, 453(7191):80--83, 2008.Google ScholarCross Ref
- H. Volos, A. J. Tack, and M. M. Swift. Mnemosyne: Lightweight persistent memory. In Proceedings of ASPLOS, pages 91--104, 2011. Google ScholarDigital Library
- T. Wang, D. Liu, Y. Wang, and Z. Shao. FTL2: a hybrid flash translation layer with logging for write reduction in flash memory. In Proceedings of ACM LCTES, pages 91--100, 2013. Google ScholarDigital Library
- H. S. P. Wong, S. Raoux, S. Kim, J. Liang, J. P. Reifenberg, B. Rajendran, M. Asheghi, and K. E. Goodson. Phase change memory. Proceedings of the IEEE, 98(12):2201--2227, 2010.Google ScholarCross Ref
- C. J. Xue, Y. Zhang, Y. Chen, G. Sun, J. J. Yang, and H. Li. Emerging non-volatile memories: Opportunities and challenges. In Proceedings of CODES+ISSS, pages 325--334, 2011. Google ScholarDigital Library
- B.-D. Yang, J.-E. Lee, J.-S. Kim, J. Cho, S.-Y. Lee, and B.-G. Yu. A low power phase-change random access memory using a data-comparison write scheme. In Proceedings of ISCAS, pages 3014--3017, 2007.Google ScholarCross Ref
- K. Zhong, X. Zhu, T. Wang, D. Zhang, X. Luo, D. Liu, W. Liu, and E. H.-M. Sha. DR. Swap: Energy-efficient paging for smarthpones. In Proceedings of ISLPED, pages 81--86, 2014. Google ScholarDigital Library
- P. Zhou, B. Zhao, J. Yang, and Y. Zhang. A durable and energy efficient main memory using phase change memory technology. In Proceedings of ISCA, pages 14--23, 2009. Google ScholarDigital Library
Index Terms
- Building high-performance smartphones via non-volatile memory: the swap approach
Recommendations
Minimizing write activities to non-volatile memory via scheduling and recomputation
SASP '10: Proceedings of the 2010 IEEE 8th Symposium on Application Specific Processors (SASP)Non-volatile memories, such as flash memory, Phase Change Memory (PCM), and Magnetic Random Access Memory (MRAM), have many desirable characteristics for embedded DSP systems to employ them as main memory. These characteristics include low-cost, shock-...
A high performance file system for non-volatile main memory
EuroSys '16: Proceedings of the Eleventh European Conference on Computer SystemsEmerging non-volatile main memories (NVMMs) provide data persistence at the main memory level. To avoid the double-copy overheads among the user buffer, the OS page cache, and the storage layer, state-of-the-art NVMM-aware file systems bypass the OS ...
Non-Volatile Memory Based Page Swapping for Building High-Performance Mobile Devices
Smartphones are getting increasingly high-performance with advances in mobile processors and larger main memories to support feature-rich applications. However, the storage subsystem has always been a prohibitive factor that slows down the pace of ...
Comments