Skip to content
trentmeester edited this page Dec 5, 2011 · 54 revisions

tnvme is a user space test application targeting the compliance verification of NVM Express (NVMe) compliant hardware. The NVMe home page is http://www.nvmexpress.org.

tnvme it not the complete compliance suite, rather it is the framework which empowers the building, and execution of compliance test cases. Further logic is necessary, in kernel space, to provide the low level support tnvme requires. The logic resident within the kernel is platform specific and the generic logic, non-platform specific, lives within tnvme. Currently the compliance suite targets Linux distributions only, however the design allows source code ports to other platforms by creating a corresponding kernel mode driver to implement the necessary IOCTL’s. The corresponding Linux kernel mode driver is dnvme which is resident within https://github.com/organizations/nvmecompliance as its own git repo.

tnvme is not a benchmark, throughput or performance measurement system, rather its goal is to verify hardware compliance against a written set of specifications. Functionality, not speed, was the main target of this application. It was seen that satisfying both speed and functionality could not be addressed simultaneously in all aspects of this design. Thus when a decision had to be made as to which one to choose, functionality always won.

Jump Right In

Compiling
Executing

Introduction

Design Strategy
Test Strategy

Details

Object Lifetime

Clone this wiki locally