Advil: A Pain Reliever for the Storage Performance of Mobile Devices

Recently, mobile devices are demanding more performance in computing power, network, and storage. Among these components, storage is one of the most important components which directly influence end-user experience. The poor random write performance is particularly painful to mobile devices, but this situation is expected to continue due to limited cost and power budget in embedded flash-based storage. This paper proposes a novel software layer called Advil to relieve the random write performance of mobile devices. Advil filters out small random writes and logs them sequentially into a small buffer space (called reserved area), in a transparent way to file systems and flash-based storage devices. To take advantage of the fact that the data invalidated in the reserved area does not have to be synchronized to the original location, Advil identifies hot data and keeps them in the reserved area. The amount of hot data is dynamically adjusted according to the change in the workload characteristics. In addition, Advil selectively performs page padding and block padding when the data is moved to the original location to increase the efficiency in the underlying flash-based storage. Our evaluation results show that Advil improves the storage write performance of realistic smart phone workloads up to three times.

[1]  David Woodhouse,et al.  JFFS : The Journalling Flash File System , 2001 .

[2]  Koji Sato,et al.  The Linux implementation of a log-structured file system , 2006, OPSR.

[3]  Dongkun Shin,et al.  ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer , 2010, J. Syst. Archit..

[4]  Jin-Soo Kim,et al.  ReSSD: a software layer for resuscitating SSDs from poor small random write performance , 2010, SAC '10.

[5]  Sang-Won Lee,et al.  SFS: random write considered harmful in solid state drives , 2012, FAST.

[6]  Bongki Moon,et al.  FASTer FTL for Enterprise-Class Flash Memory SSDs , 2010, 2010 International Workshop on Storage Network Architecture and Parallel I/Os.

[7]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[8]  Jin-Soo Kim,et al.  A methodology for extracting performance parameters in solid state disks (SSDs) , 2009, 2009 IEEE International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems.

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

[10]  Joonwon Lee,et al.  A multi-channel architecture for high-performance NAND flash-based storage system , 2007, J. Syst. Archit..

[11]  Sang-Won Lee,et al.  A log buffer-based flash translation layer using fully-associative sector translation , 2007, TECS.

[12]  Hyojun Kim,et al.  BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage , 2008, FAST.