Skip to content

FEMU TODOs

Huaicheng Li edited this page Jan 15, 2021 · 2 revisions

Plans to improve FEMU


(1). Refactor the code base: black-box and white-box modes are better designed as children of the base FEMUCtrl structure

(2). Add ZNS (Zoned-NameSpace) support

(3). Add SmartSSD support: emulating existing SmartSSDs for in/near-storage computing

(4). Add KVSSD support: emulating an SSD with a KV interface

  • NVMe KV standard protocol support
  • KV-FTL

(5). FEMU Black-box FTL Improvement

  • Add multi-stream support
  • Add TRIM/deallocate support
  • Add statistics (through SMART information)
  • Add more policies for GC, WL, mapping, etc.
  • Add reliability feature emulation

(7). Base FEMU performance optimization:

  • VMexit-less virtual interrupt injection (profiling and elimination)
  • Dynamic poller activation, no need to always poll, make efficient use of CPUs while still reaping the benefits of polling

(8). Module media/NAND emulation layer:

  • Add support for more media types, e.g. more NAND types (TLC/QLC/PLC), DRAM/NVM
  • Add support for more advanced NAND commands and efficient arbitration mechanism

(9). FEMU Management Utilities

  • Unify the configuration interface for black-box and white-box modes
  • Persist the data and SSD states to files and restore them upon VM reboot
  • Add a method to quickly warmup the device to steady state

Contents

Clone this wiki locally