Addressing the verification challenges of complex NVMe architectures.
By Ujjwal Negi and Prashant Dixit
In the evolving landscape of data storage, computational storage devices (CSDs) are revolutionizing how we process and store data. By embedding processing capabilities within storage units, these devices enable in-situ data manipulation, minimizing data movement between storage and CPUs and dramatically improving performance and efficiency. This paradigm shift has increased the demand for rigorous verification methods to ensure the reliability and compliance of CSDs.
This article sheds light on the computational storage paradigm, covering the key features of CSDs, comparing their performance characteristics with those of traditional storage systems, and describing the associated verification challenges. It explores how Avery NVMe Verification IP addresses these challenges through advanced protocol compliance checks, stimuli generation, logging mechanisms, and coverage tools—ensuring optimal performance and reliability. Additionally, the article discusses system-level validation using virtual in-circuit simulation (VICS) to streamline testing and improve verification efficiency.
Key terms to know:
Fig.1: SLM and compute namespace.
Executing programs on compute namespaces requires initial set up, including loading and activating programs and creating memory ranges. These ranges define specific portions of memory within the SSD that the compute namespace can access. Only relevant data within these ranges is targeted for computation, reducing unnecessary access. Instead of reading data to the host and writing it back, the execute program command runs directly within the compute namespace. The program accesses data from the defined SLM ranges and performs computations without needing to transfer data outside the SSD. Only results may be transferred back to the host, leading to reduced bus traffic.
Fig. 2: Program execution on CSD.
In traditional SSDs, data is read from the SSD to the host for processing, resulting in high data movement and increased latency. In contrast, CSDs minimize data transfers by allowing programs to execute directly within the compute namespace. This reduces latency and enhances bandwidth efficiency, thus enabling more responsive systems, especially in data-heavy environments.
Fig 3: Traditional vs. computational storage model.
Performance Characteristic | SSD | CSD |
Read/Write Speed | 500 MB/s (SATA) to 7,000 MB/s (NVMe) | Comparable to SSDs; enhanced by computation |
Latency | Generally low Typically 10-20 μs (NVMe) |
Lower Typically, 5-15 μs |
Throughput | High Up to 500,000 IOPS (NVMe) |
Higher Exceeds 500,000 IOPS (depends on computational workload distribution) |
Table 1: Performance characteristics comparison of SSDs and CSDs.
The complexity of CSDs introduces new verification challenges. Protocol compliance, memory management, and the interaction between different namespaces require thorough validation. To tackle these challenges, Avery NVMe Verification IP offers a comprehensive suite of tools:
Virtual In-Circuit Simulation (VICS) provides system-level validation by co-simulating host and embedded software with SoC hardware, ensuring thorough testing before tape-out. VICS integrates with industry-standard benchmarking tools like PCIe-CV and FIO on virtual platforms, such as QEMU and ARM Fast Models. This setup allows for flexible simulation environments and maintains full debugging capabilities by combining SystemVerilog and UVM-based verification IP (PCIe, CXL, Ethernet, AMBA).
VICS enables early detection of issues, reducing the risk of silicon failures and accelerating the verification process. By simulating real-world interactions between hardware and software, it ensures that CSDs meet system-level requirements, validating both protocol compliance and system functionality prior to deployment.
Fig. 4: System-level simulation for NVMe using VICS.
As the digital landscape evolves, computational storage devices are becoming increasingly vital for enhancing data processing efficiency. By embedding computational capabilities directly within storage, CSDs significantly reduce latency and improve bandwidth utilization, addressing the growing demands of data-intensive applications.
Avery NVMe Verification IP offers a robust suite of features, flexible integration, and comprehensive validation tools that are essential for ensuring the performance and compliance of CSDs. This verification solution offers essential capabilities for validating CSDs, optimizing their performance while maintaining system integrity.
For a more in-depth treatment of this topic, please read the new whitepaper from Siemens EDA, Accelerating verification of computational storage designs using Avery NVMe Verification IP.
Prashant Dixit works on the development of verification solutions for UCIe-based designs at Siemens EDA. With a strong background in the storage domain, he also manages the Storage Verification IPs team, focusing on the development and testing of NVMe and NVMe over Fabrics testing solutions. Prior to his role at Siemens EDA, Dixit contributed to the design and verification of IP and SoCs in the networking and storage domains at Samsung. Dixit earned a Bachelor of Technology in Electronics and Communication from Uttar Pradesh Technical University in 2004 and a Master of Engineering degree in Microelectronics from BITS Pilani in 2006.
Leave a Reply