FEMU
FEMU is a QEMU-based flash emulator that lets a guest operating system exercise configurable SSD interfaces, mapping policies and timing models.
Research platform: The FAST 2018 design runs application and kernel code against an emulated device, separating memory-backed data transfers from modeled completion delays. Host computation contributes to observed latency. [1]
Unwritten pages: In the pinned BlackBox ssd_read path, an unmapped or invalid physical address skips the data-page NAND read. Translation is charged earlier, and buffer/cache hits have separate paths. Skipping that operation does not mean zero request latency. [2]
Preparation: Populate the intended read range and record mapping/cache settings. Direct I/O bypasses the guest page cache, not the emulator's caches. NoSSD deliberately omits media timing. Filling a range does not establish sustained-write steady state. [3]
Relations
- related
- MQSim, SSD preconditioning, SSD steady state, Flash translation layer (FTL), Queue depth, Direct I/O
Limitations
- Results depend on emulator revision, configuration, host resources and workload rather than defining a universal SSD performance guarantee. [1]
Citations
- Li et al. The CASE of FEMU: Cheap, Accurate, Scalable and Extensible Flash Emulator. FAST 2018, pp. 83-90, sections 3.1-3.3.
- MoatLab FEMU, pinned BlackBox ssd_read path: mapping, buffer/cache checks and NAND timing.
- MoatLab FEMU measurement guide: NoSSD, BlackBox preparation and guest-visible latency.
Further reading
Sources & caveats
- Read-path review pins FEMU commit 785fe5a63e54228482168d62fc746045df4d1533; it is not asserted to be the 2018 evaluation version.
- Primary-paper and code review only. No FEMU run, physical SSD benchmark or performance replication was performed.