SSD Reading List

SSD Reading List 2009/10/18

As part of the preparatory work of replacing BerkeleyDB with our own storage engine in Keyspace, I’ve been looking at papers about SSD technology. It looks like SSDs will replace spinning disks in a couple of years, and in anticipation of this we’re looking into the possibility of optimizing the engine for its characteristics: cheap random reads, potentially expensive writes because of erases behind complex on-disk logic called the Flash Tranlation Layer (FTL). Here are some good resources I found.

 

  1. Anandtech’s overview (must read)
  2. In-Page Logging B-Tree for Flash Memory [pdf]
  3. Overview slides (good) [ppt]
  4. uFLIP: Understanding Flash IO Patterns (must read, CIDR best paper) [pdf]
  5. Optimize write performance for DBMS on Solid State Drive [pdf]
  6. Lazy-Adaptive Tree: An Optimized Index Structure for Flash Devices (VLDB) [pdf]
  7. Tree Indexing on Solid State Drives (VLDB) [pdf]
  8. Log-structured file systems: There’s one in every SSD

 

Two notes: First, the uFLIP paper is particularly good. Second, it seems that the In-Page Logging (IPL) paper assumes direct control of read/write/erase cycles of the SSD, which is not realistic for off-the-shelf consumer drives like the Intel X25-M, which include a complex FTL.

Finally, while putting together this list I found a much longer list of SSD papers here, also worth taking a look.

Great list of reading material to get some excellent background on the particulars of the new SSDs coming to market. I agree with the author, the Anandtech overview is definitely a must-read and a great place to start.