What are you looking for ?
Advertise with us
RAIDON

GYTech Unveils PyNVMe3 Platforms for Testing PCle/NVMe SSD

Tool used by more than 30 customers, including all NANO vendors, many SSD Controller companies, Tier-1 SSD manufacturers, PC OEM companies and data center providers

Established in 2020, GYTech is a Singapore company creating software platforms for testing PCle/NVMe SSD.

PyNVMe3 is its proprietary tool used by more than 30 customers, including all NANO vendors, many SSD Controller companies, Tier-1 SSD manufacturers, PC OEM companies and data center providers. It is one of the fastest testing tools for NVMe SSD. Many of its customers have confirmed that issues which escaped traditional testing were in fact captured by PyNVMe3. It saved them millions of dollars in corrective quality actions in the market.

PyNVMe3 Ecosystem:

Open architecture and extensible platform for customers to build on

Pynvme3 F1

PyNVMe3 has a test focused proprietary NVMe driver with native Python API as shown in Figure 1. The company created very own PyNVMe3 Ecosystem on Python, a 3rd party common test platform, enabling cross-company understanding of issues via script files. Some customers have proprietary features they do not wish to share, and the firm understand that. Even though the company provide a comprehensive suite of test scripts, we guide customers to develop their very own customized test scripts in Python.

Python API structure of PyNVMe3

Pynvme3 F2

The API design of PyNVMe3 follows the NVMe protocol and encapsulates different concepts and functions into different classes in an object oriented way. Figure 2 shows the various classes provided by PyNVMe3 API and their association methods.

The architecture of PyNVMe3 is OPEN, and the company make all functionality accessible to customers through our Python APls. Quality Assurance and Test Engineers can realize their own innovations by developing Python test scripts and deploying them in their test plans, which can be automated to a high extent. This speed of execution is critical for fast-paced SSD design projects.

SPEED is everything
Many bugs found in design are related to timings. With IOs exceeding 1 Million (1,000k), PyNVMe3 stresses the SSD to their performance limits and challenges timing windows. How is this speed achieved?

PyNVMe3 bypasses the kernel and goes directly to the userspace
(click to enlarge)

Pynvme3 F3

With PyNVMe3’s proprietary lightweight NVMe userspace drivers based on SPDK, the access is significantly faster. As shown in Figure 3, each 10 of an ‘FIO’ test needs to go through a complex kernel subsystem software stack. PyNVMe3 writes 10 commands directly to the command queue shared with the SSD through the userspace driver, and uses a polling mechanism to obtain 10 results from the recycling queue. This bypasses the kernel and interrupt overheads on the host side, resulting in faster performance, lower latency, with higher consistency and more accurate measurements of the specifications of the SSD. PyNVMe3 gets closer to the true potential of the SSD, and is much less dependent on the capability of the host processing power, as shown in Figure 4.

Benchmark versus ‘FIO’ using 4K random read, 128QD, 1-5 Q 
Pynvme3 F4

PyNVMe3 empowers fast product development cycles
Technology developments happen at lightning speed in today’s competitive world. Companies need to keep pace; else they will be left behind. Not only does PyNVMe3 have fast IOs, the cycle time for a functionality test is also short, taking less than 2 hours. With PyNVMe3, SSD designers can test their Firmware updates as and when needed, by themselves. They do not need to wait for QA/ Test Engineers’ resources to validate their work. They can do it FAST themselves and this enables a much faster time to mature the design, and shortens the time to market of the product.

Our testing philosophy is to Find the Failure FAST, Identify the Root Cause FAST and fix it FAST.

Testing Philosophy: 6F (Fail Fast > Find Fast > Fix Fast)

Pynvme3 F5

Wide Licensing reach within the organization
The company want customers to use PyNVMe3 across their Design as well as Quality Assurance / Test teams to get the most benefits out of our tool, to get to market in the fastest time. PyNVMe3 annual licensing program empowers organizations to deploy it widely. There is no limit on the number of users or installations set up. They can run PyNVMe3 on Desktops, Laptops, or even servers, per their convenience. Included in our annual licensing program are regular updates in the course of the year at no extra cost.

Space saving and high productivity server platform
PyNVMe3 was initially created for use on a standalone Desktop/ Laptop. In 2024, we extended its use onto servers. The firm developed own PyNVMe3 testing dedicated server, the FG (pictured in Figure 6) on which you can test up to 12 DUT simultaneously. This provides efficient use of space and a single Engineer can manage 12 DUT single handedly. This improves testing productivity enormously!

Multi-SSD Server Test Platform, the F6

Pynvme3 F6

The F6 has a dedicated power supply for each of the 12 slots, which can be individually powered on and off. Each slot is served by a dedicated core from the host CPU, minimizing PCle bandwidth limitations. F6 is a customized and dedicated server to run PyNVMe3 only. With low Software overheads, it is optimized to bring out the fastest performance of the SSD under testing. Built in a 3U chassis, there is good spatial volume for air cooling with high quality fans, with controllable speed settings by the user.

The F6 is a platform for large sample regression testing.

Reliable with excellent NVMe coverage
PyNVMe3 has a growing base of more than 1500 test cases, covering both client and enterprise applications. Its NVMe compliance baseline has more than 80% coverage, and no gaps were found within the last 2 years of use by customers. PyNVMe3 is continuously upgraded to keep pace with new features and standards and is now NVMe 2.x compliant. It is a HW Agnostic tool providing accurate and true measurement consistently, independent of the number of CPU cores or HW configuration on AMD or on Intel.

Open Compute Project (OCP)
OCP requirements are driving the standardization of hardware components in hyperscale Data Center infrastructures. PyNVMe3 offers Data Center use testing of NVMe SSD, including Security testing on SPDM and Management Interface (Ml) functionality testing. The firm’s pioneering I3C based testing is launching in Q4 2025.

PyNVMe3 covers NVMe and Out-of-Band Management testing of SSD

Pynvme3 F7

OCP requirements for SSD can be clustered into 2 areas, namely NVMe specifications and Out-of­Band Management. PyNVMe3’s core testing is well established on NVMe requirements and will satisfy the requirements of OCP. The Out-of-Band Management capabilities of PyNVMe3 have been strengthened significantly, and is ready for testing Ml, SPDM and I3C.

Out-of-Band Management (NVMe-MI on PC)/ Management Interface (Ml)

NVMe-MI Out-of-Band Protocol Layering

Pynvme3 F8

Unlike traditional setups that rely on a baseboard management controller {BMC) in server environments, PyNVMe3 leverages a compact adapter {Aardvark device from Total Phase) to enable Out-of-Band testing on a standard desktop platform. This eliminates the need for expensive server­grade infrastructure while maintaining full testing capabilities. You can test on a number of desk tops if needed, which will still be more cost effective than buying a server. PyNVMe3 is launching its I3C and VDM testing in the latter half of 2025.

Total Phase I2C host adapter, and PMU2 power module for Ml testing

Pynvme3 F9

Figure 9 shows the set up for Ml testing using the Total Phase Aardvark host adapter and our PMU2 power module connected to a Desktop. Ml operations for SSD encompass the monitoring, management, performance optimization and health status check of SSD via a second independent connection. Ml capability is essential for any Data Center operation, enabling preventive maintenance and feature upgrades for the Service Provider without disrupting normal operations.

Security Protocol and Data Model (SPDM)

Image from DMTF presentation on component integrity
click to enlarge

Pynvme3 F10

Platform Security is becoming a must to mitigate risks of hacks into system (cyber or physical) and guarantee Data Privacy. SPDM is a Security standard developed by the Distributed Management Task Force {DMTF) to ensure the Integrity and Authenticity of system hardware components like PCle cards and NVMe storage devices. It allows for the verification of a component’s identity and its security state.

PyNVMe3 enables user to test the firm’s products’ SPDM security features and whether they adhere to specifications. The current version of PyNVMe3 supports SPDM Version 1.1 and will support testing of SPDM Version 1.2 in 04 2025. OCP mandates SPDM Version 1.2, and meeting SPDM Version 1.2 is deemed sufficient currently.

I3C
I3C (Improved Inter-Integrated Circuit) is an enhanced version of I2C (Inter-Integrated Circuit), designed to address some limitations while maintaining backward compatibility with I2C. I3C offers improved power efficiency, higher data rates, and sophisticated features like dynamic addressing and in-band interrupts, making it suitable for demanding applications.

PyNVMe3 together with its customized I3C-Power Management Unit (I3C-PMU), enables you to test devices on I3C protocol.

Resource:
Evaluation version of PyNVMe3
on request

Articles_bottom
ExaGrid
AIC
Teledyne
ATTO
OPEN-E