xNVMe: cross-platform libraries and tools for NVMe devices
See: https://xnvme.io/docs for documentation
- xNVMe, base NVMe specification (1.4) available as library and CLI
xnvme
- Memory Management
- NVMe command interface | Synchronous commands | Asynchronous commands
- Helpers / convenience functions for common operations
- CLI-library for convenient derivative work
- Multiple backend implementations | Linux SPDK | Linux IOCTL | Linux io_uring | Linux libaio | FreeBSD SPDK | FreeBSD IOCTL
-
libxnvme
, base NVMe Specification available as library and via CLIxnvme
-
libxnvme_nvm
, The NVM Commands Set -
libxnvme_znd
, The Zoned Command Set available as a library and via CLIzoned
-
libkvs
, SNIA KV API implemented [TODO] -
libocssd
, Open-Channel 2.0 support [TODO] -
libWHATEVERYOUWANT
, Go ahead and implement what you need [TODO]
Contact and Contributions
xNVMe: is in active development and maintained by Simon A. F. Lund simon.lund@samsung.com, pull requests are most welcome. See, CONTRIBUTORS.md for a list of contributors to the current and previous versions of xNVMe. For a contributor-guidelines then have a look at the online documentation:
-
Join us on Discord: https://discord.gg/XCbBX9DmKf