Introduction
Geng Yun Technology Pte Ltd (GYTech) is a Singapore-based innovator in advanced storage technology testing, and is renowned for their PyNVMe3™ software platform — one of the industry’s fastest and most efficient solutions for evaluating the performance and specifications of PCIe/NVMe SSDs. Many SSDs utilize the SMBus (I2C) protocol as an out-of-band management channel, enabling access to and control over specific features without relying on the primary data transfer path. This approach supports functions such as health monitoring, configuration adjustments, and firmware updates.
As part of their efforts to conduct both in-band and out-of-band testing on SSDS, their team performs Management Interface (MI) testing in their laboratories using their PyNVMe3™ platform. To do so, this required a robust and reliable I2C host adapter to facilitate an I2C communication connection to their customers’ devices. Conventional laptops and desktop computers lack the native I2C interface, pushing GYTech to search for a dependable alternative.
The Aardvark I2C/SPI Host Adapter from Total Phase emerged as the ideal solution, providing unmatched stability, reliability, and ease of use for their application. By seamlessly integrating with GYTech’s existing hardware setup, the Aardvark adapter has simplified testing and troubleshooting their customers’ SSD devices during all stages of the development cycle, including design and production.
Background/Problem
Founded in Singapore in 2020 by Crane Chu, GYTech quickly established itself as a leader in software testing for advanced storage technologies. Guided by their visionary CEO, the company is driven by a mission to provide fast, reliable, and cutting-edge tools for evaluating NVMe over PCIe SSDs. Central to their offerings is the PyNVMe3™ platform, now recognized as one of the fastest and most efficient SSD testing platforms in the industry. This powerful tool is designed to identify bugs, validate performance, and ensure compliance with industry standards, making it indispensable for designers and design quality engineers tasked with developing and refining their SSD products.
To implement a test-driven development process for NVMe SSD design, GYTech conducts extensive in-band and out-of-band tests on their customers' SSD devices. These include Management Interface (MI) testing, which supports regression testing and firmware updates. They also collaborate with their customers to develop custom test scripts for evaluating the performance of new features or functionalities. GYTech also assists customers in analyzing test results, providing expert recommendations for improvement.
In order to execute MI testing scripts in their lab, GYTech required a robust and reliable SMBus (I2C) communication solution to connect the NVMe SSDs to their testing platform. Since MI testing is essential for validating out-of-band management features—and standard computers lack native I2C capabilities crucial for this process—GYTech sought a specialized tool to fill this gap
Technical Approach
Advantages of NVMe SSDs
The PyNVMe3™ platform specifically tests NVMe (Non-Volatile Memory Express) SSDs to validate the performance and specifications for interoperability and conformance. NVMe offers unparalleled performance through their use of the PCIe interface. Unlike traditional SATA SSDs, which are limited by the constraints of legacy interfaces, NVMe SSDs are designed to maximize data transfer speeds and efficiency. By leveraging parallel data processing and direct communication with the CPU, NVMe drives significantly reduce latency and achieve exceptionally high input/output operations per second. These qualities make them ideal for demanding applications such as data-intensive workloads, high-speed databases, and real-time processing in enterprise and consumer environments alike.
Comprehensive NVMe SSD Testing
GYTech focuses on NVMe SSD design quality through a four-phase process: protocol regression, performance benchmarking, endurance and reliability testing, and data retention analysis. Through the PyNVMe3™ platform, they are able to execute custom test scripts to perform protocol tests for regression of known failures and conformance to industry standards. With the addition of the Aardvark I2C/SPI Host Adapter, they are also able to run various tests to validate the management interface through an SMBus/I2C connection.
Based on these insights, GYTech can deliver detailed reports with actionable insights for design optimization.
Management Interface over SMBus Testing
The PyNVMe3™ platform utilizes an I2C host adapter at the physical layer, eliminating the need for a Baseboard Management Controller (BMC) at the application layer. By leveraging this I2C device, the platform implements the entire MI protocol stack in Python scripts, allowing users to perform MI tests with a standard PC and test fixtures, as shown in the image below.

This approach offers an efficient and flexible method for testing out-of-band NVMe MI functionalities over SMBus (I2C protocol), in accordance with the MCTP (Management Component Transport Protocol) over I2C/SMBus binding.
To facilitate MI testing, GYTech integrates the Aardvark I2C/SPI Host Adapter with their PyNVMe3™ platform. The Aardvark adapter supports I2C data transfer at speeds up to 800 kHz and offers flexible master or slave emulation, making it well-suited for various testing scenarios.
The PyNVMe3™ is able to configure the Aardvark adapter dynamically depending on the specific needs of test, switching between master mode—used when sending commands to the SSD—and slave mode—used when awaiting responses. This adaptive approach allows it to be adjusted as needed for each phase of the communication process.
Refer to the graphic below for a visual of their communication set up.

This setup is used repeatedly throughout the product design process to verify firmware updates and conduct weekly regression testing, often as part of routine tests required by specific customers.
Management Interface Test Scripts
GYTech also leverages a suite of specialized test scripts located in the scripts/management directory of PyNVMe3™ to perform detailed MI testing. These scripts address a wide range of test cases:
- 01_mi_inband_test.py: Tests in-band management interface commands for NVMe devices.
- 02_basic_mgmt_cmd_test.py: Validates basic NVMe management commands for legacy compatibility.
- 03_mi_cmd_set_test.py: Conducts comprehensive testing of the NVMe Management Interface Command Set.
- 04_mi_admin_cmd_test.py: Focuses on administrative commands within the Management Interface.
- 05_mi_control_primitive_test.py: Evaluates control primitives in NVMe devices via the Management Interface.
- 06_mi_pcie_cmd_test.py: Targets PCIe-specific commands in the NVMe Management context.
- 07_mi_feature_test.py: Tests features like endpoint buffer configurations and MCTP Transport Unit sizes.
- 08_mi_error_inject_test.py: Injects errors into MCTP and MI packet headers to assess error handling.
- 09_mi_stress_test.py: Stresses the device by interweaving MI with various commands for robust testing.
Additionally, PyNVMe3™ provides the mi fixture, which supports sending various request messages, including NVMe-MI commands, NVMe Admin commands, PCIe commands, and Control Primitives.
This comprehensive testing approach, powered by the Aardvark adapter and PyNVMe3™, ensures robust validation of Management Interface capabilities while addressing a broad spectrum of use cases. For further guidance, test scripts and additional details can be accessed on GYTech's homepage.
Overall, the Aardvark adapter has significantly expanded the PyNVMe3 platform's capabilities for validating SSDs. Its role became so integral to their operations that GYTech adopted the Aardvark adapter across all of their products. Today, it serves as a fundamental part of their solutions, enabling them to deliver cutting-edge tools like the PyNVMe3™ while maintaining their reputation for quality and innovation.
Conclusion
GYTech’s integration of the Aardvark I2C/SPI Host Adapter into their PyNVMe3™ platform has enhanced and broadened their NVMe Management Interface testing processes over SMBus/I2C. By enabling a seamless I2C connection between their customers’ SSD devices and their platform, the Aardvark adapter has become an indispensable part of GYTech’s mission to assist their customers with comprehensive NVMe SSD testing for expedited product development.
Quote
“Although the Aardvark I2C/SPI Host Adapter is a small device, it is very specific and has dedicated functionality. The quality is excellent with good stability and reliable performance. It is a cost-effective product and we strongly recommend it to all of our customers.” – Rakesh, Chief Marketing Officer
Product Brief
The Aardvark I2C/SPI Host Adapter is a powerful general-purpose I2C/SPI bus host adapter designed for debugging and developing I2C and SPI systems. Compatible with Windows, Linux, and Mac OS X systems, it provides seamless cross-platform support. This device is capable of operating as an I2C master or slave device at speeds up to 800 kHz and as an SPI master up to 8 MHz or SPI slave up to 4 MHz.
Key features include support for I2C multi-master configurations, inter-bit and inter-byte clock stretching, configurable I2C pull-up resistors, 10-bit slave addressing, and GPIO functionality. With its robust design and advanced capabilities, the Aardvark adapter offers a reliable, efficient, and user-friendly solution for engineers working on I2C or SPI systems.