LFTL: A multi-threaded FTL for a Parallel IO Flash Card under Linux
Srimugunthan, K. Gopinath, Giridhar Appaji Nag Yasa

TL;DR
This paper introduces LFTL, a multi-threaded Flash Translation Layer for Linux that leverages parallelism in high-speed PCI-e flash cards, addressing hardware restrictions and optimizing garbage collection for improved performance.
Contribution
The paper presents a novel multi-threaded FTL design tailored for parallel PCI-e flash cards, incorporating adaptive garbage collection to enhance throughput under varying loads.
Findings
Achieves higher I/O speeds by exploiting parallelism.
Reduces lock contention in FTL operations.
Effectively manages garbage collection based on load.
Abstract
New PCI-e flash cards and SSDs supporting over 100,000 IOPs are now available, with several usecases in the design of a high performance storage system. By using an array of flash chips, arranged in multiple banks, large capacities are achieved. Such multi-banked architecture allow parallel read, write and erase operations. In a raw PCI-e flash card, such parallelism is directly available to the software layer. In addition, the devices have restrictions such as, pages within a block can only be written sequentially. The devices also have larger minimum write sizes (greater than 4KB). Current flash translation layers (FTLs) in Linux are not well suited for such devices due to the high device speeds, architectural restrictions as well as other factors such as high lock contention. We present a FTL for Linux that takes into account the hardware restrictions, that also exploits the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Parallel Computing and Optimization Techniques · Algorithms and Data Compression
