SDF: Software-Defined Flash for Web-Scale Internet Storage System on ASPLOS 2014.
Currently only 40% or less of the raw bandwidth of the flash memory in the SSDs is delivered by the storage system to the applications.
This is because the I/O requests from upper-level software, such as file systems, databases, and key-value stores, are usually not optimized to generate SSD-friendly access patterns. This observation is similar to what FlashGraph has observed:
the random (4KB) I/O throughput of SSDs today is only two or three times less than their sequential I/O.
Besides the bandwidth, only 40% or less of the raw bandwidth of the flash memory in the SSDs is delivered by the storage system to the applications.
To overcome these problems, SDF has redesigned the interface of SSDs:
The I/O stack is much simpler in this design. However, the application design becomes more complicated.