4/23 Block device interfaces

Reading

By request, papers on modern interfaces between devices and systems, today focused on Flash-based SSDs.

  1. “Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems”, Matias Bjørling, Jens Axboe, David Nellans, Philippe Bonnet (SYSTOR 2013)

  2. “Kangaroo: Caching Billions of Tiny Objects on Flash”, Sara McAllister, Benjamin Berg, Julian Tutuncu-Macias, Juncheng Yang, Sathya Gunasekar, Jimmy Lu, Daniel S. Berger, Nathan Beckmann, Gregory R. Ganger (SOSP 2021)

I wish we could read “ZNS: Avoiding the Block Interface Tax for Flash-based SSDs”, Matias Bjørling, Abutalib Aghayev, Hans Holmberg, Aravind Ramesh, Damien Le Moal, Gregory R. Ganger, George Amvrosiadis (USENIX ATC 2021; presentation available), which is more focused on file system design, but I it’s inaccessible unless you already know a lot about file systems.

Reading questions

Which properties of Flash storage most influenced the Linux Block IO system, and which most influenced Kangaroo? How do those properties differ?