Lightweight, integrated data deduplication for write stress reduction of mobile flash storage

Miao Chiang Yen, Shih Yi Chang, Li-Pin Chang*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

10 Scopus citations


Recently, smartphone users are becoming reluctant to replace their devices, so providing reliable data storage throughout the increasingly long smartphone replacement cycle is an imminent challenge. We advocate an integrated approach to data deduplication, which involves the host I/O stack and the storage firmware, to reduce the write stress of mobile storage for lifespan extension. First, we identified that the SQLite library produces a large amount of copy-induced duplicate data, which can be fully revealed to the mobile storage through proper file format alignment. Second, inspired by the short flash read latency, we present a firmware-based method to efficiently identify duplicate data without any hardware support. Third, we enhance the flash garbage collector with the awareness of data deduplication. Based on a selection of popular mobile applications, our simulation results show that prior methods, which employ data compression or differential logging, are ineffective for encrypted mobile storage. Compared to flash management without deduplication, our lightweight, integrated approach reduced the total flash-block erase count by 48.7%, average write response time by 43.8%, and total energy consumption by 25.1% on average under the workloads of all the selected mobile applications.

Original languageEnglish
Article number8412583
Pages (from-to)2590-2600
Number of pages11
JournalIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Issue number11
StatePublished - 1 Nov 2018


  • Android
  • data deduplication
  • flash memory
  • mobile storage
  • operating systems


Dive into the research topics of 'Lightweight, integrated data deduplication for write stress reduction of mobile flash storage'. Together they form a unique fingerprint.

Cite this