Reading
By request, papers on modern interfaces between devices and systems, today focused on Flash-based SSDs.
-
“Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems”, Matias Bjørling, Jens Axboe, David Nellans, Philippe Bonnet (SYSTOR 2013)
-
“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?