Skip to content
nisheethbhat edited this page Dec 15, 2011 · 17 revisions

Dnvme is a driver module targeting the compliance verification of NVM Express (NVMe) compliant hardware. The NVMe home page is http://www.nvmexpress.org.

Dnvme logic is platform specific which supports kernel versions 2.6.35 and higher. It has been developed against the tnvme (user space test application targeting the compliance verification of NVM Express (NVMe) at https://github.com/nvmecompliance/tnvme) on qnvme (NVM Express Device Emulation in QEMU at https://github.com/nvmeqemu/nvmeqemu) for Ubuntu distributions only. However the driver design is pretty generic and should support other platforms by just small changes in the required kernel API's depending upon kernel versions.

Dnvme is a test driver with a goal to verify hardware compliance against a written set of specifications. Functionality, not speed, was the main target for the driver. 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. As a result we ended up making dnvme driver a character driver rather than a block driver with an advanced range of IOCTL's to improve user space control required for testing.

Introduction

[Design]

Unit Tests
Coding Standards

Jump In

Compiling
Executing
[Code Browsing] (Link for doxygen)

Process for Contributing Stuff

Clone this wiki locally