preloader

myFTL: SSD Flash Translation Layer

illustrations illustrations illustrations illustrations illustrations illustrations illustrations
myFTL: SSD Flash Translation Layer

Date

Oct 10, 2020

Developed at

Carnegie Mellon University

Category

C++, storage system

Project Link (if Public)

Private GitHub repository for academic integrity reasons

Project Requirements

  • In this project, I built a flash translation layer (FTL) for an emulated solid state drive (SSD). SSDs rely on firmware in the drive to perform multiple functions.

  • When SSDs were first introduced, their radically different architecture, and the asymmetry between reads and writes (due to erase operations), required a completely different way of reading or writing to them.

  • The Flash Translation Layer (FTL) is an abstraction introduced to maintain current file system and driver code as it is. The FTL translates the commands issued by file systems and user programs to an SSD-friendly format.

  • Usually the FTL is built into the SSD firmware.

Project Details

  • Programmed a general purpose page-mapped and Hybrid Log-Block Mapping Scheme Flash Translation Layer (FTL) for SSDs with wear-levelling and garbage collection in highly memory constrained environment.

  • Please contact me for more information.