Pynvme: an Open, Fast and Extensible NVMe SSD Test Tool

Library Content Type:
Publish Date: 
Tuesday, September 22, 2020
Event Name: 
Event Track:

SSD is becoming ubiquitous in both Client and Data Center markets. The requirements on function, performance and reliability are refreshed frequently. As a result, SSD design, especially the firmware, has been keeping upgrading and restructuring for the decade. The test makes the change under control. However, the firmware test is not as mature as the software test. We have well developed methodologies, processes and tools for software. But the embedded platform, where the firmware executes, only provides the limited resources on computation and memory. So, it is difficult to run full test in the native embedded environment. Practically, SSD vendors run system tests with 3-rd party software, consuming huge resources. The existed tools lacks the flexibility to make efficient tests against vendor's own features and flaws. SSD developers need an infrastructure to implement their test scripts or programs in low cost. Our pynvme is just the answer. Pynvme is open. It is not only an open-source project, but also a testing solution utilizing the open software ecosystem. We can use the mature testing software in the cloud era in SSD testing. Pynvme is very fast, even faster than FIO. It is based on a user-space driver which accesses NVMe drives directly and bypasses the overhead of the whole storage software stack in Linux kernel. Pynvme is extensible. We can access any PCIe configuration and BAR space to implement our own test dedicated NVMe driver in Python scripts. Based on pynvme, test developers can write and deploy test scripts efficiently with lower software and hardware budget.

Learning Objectives

NVMe SSD develop,NVMe SSD test,NVMe SSD qualification

Watch video: