Systems and methods for testing virtual functions of a device under test
AssigneeAdvantest Corporation
InventorsSrdjan Malisic, Chi Yuan
Life of this patent
Estimating the term…
Abstract
Embodiments of the present invention can provide an extended NVMe driver that supports exercising virtual functions (and related physical functions) of a DUT without using a VM or hypervisor. In this way, the amount of memory and processing resources used for testing NVMe SSDs can be significantly reduced, and a large number of DUTs (e.g., up to 16 DUTs) can be tested in parallel independently. In other words, each DUT is tested in isolation, as if is the only device being tested, and there are no race conditions or competition for resources between workloads during testing.
Claims21
A tester system for testing a plurality of DUT virtual functions of a plurality of DUTs, the tester system comprising:
- a host computer system comprising a memory, wherein said memory comprises a plurality of test program processes operable to execute concurrently and wherein a respective test program process of said plurality of test program processes is associated with each DUT of said plurality of DUTs and wherein further, each test program process of said plurality of test program processes comprises a plurality of threads for generating workloads for testing DUT virtual functions of an associated DUT;
- and
- a plurality of driver instances instantiated within said memory, each driver of said plurality of driver instances operable to enable testing of an associated DUT virtual function on said plurality of DUTs, and wherein further each driver instance comprises a plurality of data structures, a respective data structure for each DUT of said plurality of DUTs, to enable testing of respective DUT virtual functions on said plurality of DUTs and wherein further said plurality of driver instances are operable to simulate a virtualization environment for said plurality of test program processes on said host computer system to test DUT virtual functions of said plurality of DUTs separately, independently and concurrently wherein any given test program process of said plurality of test program processes appears to be a sole user operating on said host computer system at any given time.
A tester system for testing a plurality of virtual functions of a first and a second DUT, the tester system comprising:
- a host computer system comprising a memory, wherein said memory comprises a first and a second test program process operable to execute concurrently and wherein said first test program process is operable to test virtual functions of said first DUT and wherein said second test program process operable to test virtual functions of said second DUT and wherein further said first test program process comprises a first plurality of threads for generating workloads to test said virtual functions of said first DUT and wherein said second test program process comprises a second plurality of threads for generating workloads to test said virtual functions of said second DUT;
- and
- a plurality of drivers instantiated within said memory, each driver of said plurality of drivers operable to enable testing of an associated virtual function on said first and second DUTs, and wherein further each driver comprises a first data structure for testing said associated virtual function on said first DUT and a second data structure for testing said associated DUT virtual function on said second DUT and wherein said plurality of drivers are operable to simulate a virtualization environment on said host computer system for said first and second test program processes to test virtual functions of said first and second DUTs separately, independently and concurrently wherein each test program process of said first and second test program processes appears to be a sole test program process operating on said host computer system.
A method of testing a plurality of DUT virtual functions of a plurality of DUTs using a tester system, the method comprising:
- on a host computer system comprising a memory, concurrently executing a plurality of test program processes wherein a respective test program process of said plurality of test program processes is associated with each DUT of said plurality of DUTs and wherein further, each test program process of said plurality of test program processes comprises a plurality of threads for generating workloads for testing DUT virtual functions of an associated DUT;
- and
- simulating a virtualization environment for said plurality of test program processes on said host computer system using a plurality of drivers instantiated within said memory, wherein said plurality of DUT virtual functions are operable to be tested on said plurality of DUTs separately, independently and concurrently within said virtualization environment and wherein any given test program process of said plurality of test program processes appears to be a sole user operating on said host computer system at any given time;
- and
- wherein each driver of said plurality of drivers is operable to enable testing of an associated DUT virtual function on said plurality of DUTs, and wherein further each driver of said plurality of drivers comprises a plurality of data structures, a respective data structure for each DUT of said plurality of DUTs, to enable testing of said respective DUT virtual function on said plurality of DUTs.
Dependencies are inferred from the claim text.