This repository stores the source code of FastPath_MP, an FPGA-based multi-path architecture for direct access from FPGA to NVMe SSD. In particular it includes three modules:
- The FastPath_MP FPGA architecture implemented in
fpga-design
. - The
libfnvme
library that implements the C-based API that applications can utilize to communicate with FastPath_MP. - The modified NVMe driver in the Linux kernel (
linux-4.4-zynq
) for the Xilinx Zynq 7000 SoC.
The three modules of FastPath_MP are licensed as follows:
Module | License |
---|---|
FastPath_MP FPGA Design | |
Libfnvme Library | |
Modified NVMe driver |
This work was partially supported by EU Horizon 2020 grants: (i) EuroEXA (ID: 754337); and (ii) E2Data (ID: 780245) with hardware platforms from Kaleao Limited. A. Stratikopoulos was funded by an Arm Ltd. & EPSRC iCASE PhD Scholarship during this work. Prof. Mikel Luján is funded by an Arm/RAEng Research Chair Award and a Royal Society Wolfson Fellowship.
If you are using FastPath_MP, please use the following citation:
@article{10.1145/3423134,
author = {Stratikopoulos, Athanasios and Kotselidis, Christos and Goodacre, John and Luj\'{a}n, Mikel},
title = {{FastPath\_MP: Low Overhead \& Energy-Efficient FPGA-Based Storage Multi-Paths}},
year = {2020},
issue_date = {December 2020},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {17},
number = {4},
journal = {ACM Trans. Archit. Code Optim.},
issn = {1544-3566},
url = {https://doi.org/10.1145/3423134},
doi = {10.1145/3423134}
}