pblk: The Linux open-source FTL

This proposal has been rejected.


One Line Summary

We will talk about the challenges of designing and upstreaming an open-source Flash Translation Layer into the Linux Kernel.


The advent of Open-Channel SSDs allows to further optimize flash-aware file systems (e.g., F2FS) and databases (e.g., RocksDB), since the host will have full control over physical data placement and I/O scheduling. The challenge will be then how to accommodate the Flash Translation Layer from the device firmware into the host software stack. In this talk, we will present our experience building pblk, the first open-source FTL for Open-Channel SSDs, into the Linux Kernel (upstreamed in 4.12). First, we will describe the problems intrinsic to any FTL design (e.g., media write constraints, garbage collection, crash recovery) and how we approached them in pblk. Second, we will discuss the challenges that arise from open-sourcing a piece of code that is so close to hardware IP and reflect on how this has influenced pblk’s current incarnation. Finally, we will provide an experimental evaluation using real hardware.


nvme, lightnvm, Open-Channel SSD


  • Javier2-100kb

    Javier Gonzalez

    CNEX Labs


    Javier is a software engineer with a background on experimental research. He obtained his Ph.D from the IT University of Copenhagen in 2015, where he focused his research on operating systems and hardware security. He is now part of the kernel team at CNEX Labs. He works primarily on the LightNVM subsystem and is the main developer of pblk – LightNVM’s host-based FTL. He has given several talks at academic conferences and past LinuxCons.