High Performance Solid State Storage Under Linux Eric Seppanen, Matthew T. O’Keefe, David J. Lilja Department of Electrical and Computer Engineering University of Minnesota Minneapolis, MN 55455 fsepp0019, mokeefe,
[email protected] Abstract—Solid state drives (SSDs) allow single-drive perfor- II. BACKGROUND mance that is far greater than disks can produce. Their low latency and potential for parallel operations mean that they are A. Solid State Drives able to read and write data at speeds that strain operating system In many ways, SSD performance is far superior to that of I/O interfaces. Additionally, their performance characteristics expose gaps in existing benchmarking methodologies. disk drives. With random read performance nearly identical We discuss the impact on Linux system design of a prototype to sequential read performance, seek-heavy workloads can PCI Express SSD that operates at least an order of magnitude perform orders of magnitude faster with an SSD compared to faster than most drives available today. We develop benchmark- a disk drive. SSDs have other benefits besides performance: ing strategies and focus on several areas where current Linux they consume less power and are more resistant to physical systems need improvement, and suggest methods of taking full advantage of such high-performance solid state storage. abuse than disk drives. We demonstrate that an SSD can perform with high through- But SSDs bear the burden of NAND flash management. put, high operation rates, and low latency under the most Large flash block erase sizes cause write amplification and difficult conditions. This suggests that high-performance SSDs delays, and drives must have large page-mapping tables to sup- can dramatically improve parallel I/O performance for future port small writes efficiently.