Non-volatile Write Buffer to Reduce Storage Write in Smartphone
- Non-volatile Write Buffer to Reduce Storage Write in Smartphone
- Date Issued
- In mobile systems such as smartphones, most of storage writes are incurred by the SQLite database system. These writes consist of two parts: writes to original data (e.g., SQLite database file) and journaling-induced writes. In this paper, we first report our observations on the characteristics of these writes: (1) journaling writes dominate storage writes, (2) overwrites are frequent in mobile storage, and most importantly, (3) those overwrites change only a small portion of data. In order to reduce writes to the Flash memory on smartphones, we propose exploiting these observation and present a low-cost non-volatile write buffer for write coalescing and use it to durably store small writes without journaling. This allows us to completely avoid journal writes for those small writes, which contributes to significant reduction in journaling-induced writes while still providing the same level of data consistency and durability.
In our mechanism, it is critical to minimize the capacity of non-volatile write buffer so that the backing capacitor does not violate stringent resource/size requirements of mobile systems. Therefore, we propose four optimizations that make the best use of small write buffer. First, we present new method, shadow tag and SQLite-aware buffer management both of which aim at identifying hot storage data to keep in the write buffer. Second, we propose managing only the difference between old and new data (i.e., differential logs) in the write buffer, based on the observation that small writes are frequent. Third, we develop a dynamic bypass scheme which judiciously bypasses overwrite-unfriendly pages from the write buffer. Finally, we devise an incremental flush policy which controls the number of write buffer entries to be flushed according to the size of the newly written data. According to our experiments using four representative mobile applications on a real storage platform, OpenSSD, the proposed method gives average 92.4% and 85.1% reductions in Flash memory writes in single- and multi-application runs, respectively. In addition, our scheme introduces a very small cost into existing systems, including 8KB SRAM on the controller chip and a tiny capacitor occupying only 1.7% of eMMC package volume.
- Article Type
- Files in This Item:
- There are no files associated with this item.
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.