LSDM: Improving the Performance of Mobile Storage with a Log-Structured Address Remapping Device Driver
2014 Eighth International Conference on Next Generation Mobile Apps, Services and Technologies
Mobile devices use low-cost SSDs such as microSD cards and eMMC devices for persistent data storage. However, The controllers of low-cost SSDs are optimized for reads and for sequential writes and they perform poorly under random writes. In this paper, we show that it is possible to overcome this limitation using a novel device driver on the host. Our driver, called LSDM, uses design techniques normally used in the firmware (FTL) of high-end SSD to transform random writes to sequential ones.
... driver is a generic kernel module that interfaces an existing file system to the block device that represents the SSD, transforming the arbitrary read/write request sequence of the file system to a sequence with long streams of sequential writes; even low-cost SSDs perform well on such sequences. The use of an existing unmodified file system allows users and administrators to benefit from mature, feature-complete file systems. Our prototype implementation speeds up all filebench workloads used, by up to a factor of 6. Our experiments show that a flash-friendly file system that generates long streams of sequential writes delivers performance that is similar to a conventional file system mounted on LSDM. The high complexity of a completely new file system, relative to the simplicity of LSDM, favors our solution.