BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage
Flash memory has become the most important storage media in mobile devices, and is beginning to replace hard disks in desktop systems. However, its relatively poor random write performance may cause problems in the desktop environment, which has much more complicated requirements than mobile devices. While a RAM buffer has been quite successful in hard disks to mask the low efficiency of random writes, managing such a buffer to fully exploit the characteristics of flash storage has still not been resolved. In this paper, we propose a new write buffer management scheme called Block Padding Least Recently Used, which significantly improves the random write performance of flash storage. We evaluate the scheme using trace-driven simulations and experiments with a prototype implementation. It shows about 44% enhanced performance for the workload of MS Office 2003 installation.
I need to read the full paper but off hand a 44% performance boost doesn’t seem too compelling.
However, if the SSD has a battery back up and a small buffer (say 64MB) and is able to rewrite IO, then in-combination with a log structured filesystem it *might* be able to do fully random reads without swallowing half of the random read performance of the drives with rewrite requests.
I really wish I was an engineer writing firmware for SSD devices.