Legal claims defining the scope of protection, as filed with the USPTO.
1. 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.
2. A tester system as described in claim 1 wherein each data structure of each driver of said plurality of driver instances operates to: locate and enable its associated DUT virtual function on an associated DUT; and present access to said associated DUT virtual function on said associated DUT to the host computer system and is used by a test program process of said host computer system to access and test said associated DUT virtual function on said associated DUT.
3. A tester system as described in claim 2 wherein, for a given test program process, the associated DUT, and a given DUT virtual function of said associated DUT, workloads of said given test program process access and test said given DUT virtual function through a driver, of said plurality of driver instances, associated with said given DUT virtual function.
4. A tester system as described in claim 1 wherein each driver of said plurality of driver instances of said host computer system further comprises: a controller handler; an interrupt handler; a first queue for sending commands to a particular virtual function of a particular DUT; a second queue for receiving responses back from said particular virtual function of said particular DUT; and computer resources for implementing said first queue and said second queue.
5. A tester system as described in claim 1 wherein said plurality of DUTs are solid state drives (SSDs).
6. A tester system as described in claim 1 wherein said plurality of driver instances comprise NVMe device drivers.
7. A tester system as described in claim 1 wherein said plurality of drivers instances of said host computer system simulate functionality of a hypervisor.
8. A tester system as described in claim 7 wherein said host computer system is free of virtual machine software.
9. 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.
10. A tester system as described in claim 9 wherein said first data structure of each driver of said plurality of drivers operates to: locate and enable an associated virtual function on said first DUT; and present access to said associated virtual function on said first DUT to the host computer system, wherein said first test program process of said host computer system is operable to access and test said associated virtual function on said first DUT.
11. A tester system as described in claim 10 wherein said second data structure of each driver of said plurality of drivers operates to: locate and enable an associated virtual function on said second DUT; and present access to said associated virtual function on said second DUT to the host computer system and is used by said second test program process of said host computer system to access and test said associated virtual function on said second DUT.
12. A tester system as described in claim 9 wherein each driver of said plurality of drivers of said host computer system further comprises: a controller handler; an interrupt handler; a first queue for sending commands to a particular virtual function of a particular DUT; a second queue for receiving responses back from said particular virtual function of said particular DUT; and computer resources for implementing said first and second queues.
13. A tester system as described in claim 9 wherein said first and second DUTs comprise solid state drives (SSDs).
14. A tester system as described in claim 9 wherein said plurality of drivers comprise NVMe device drivers.
15. A tester system as described in claim 9 wherein said plurality of drivers of said host computer system simulate functionality of a hypervisor.
16. A tester system as described in claim 15 wherein said host computer system is free of virtual machine software.
17. 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.
18. A method of testing as described in claim 17 further comprising using each data structure of each driver of said plurality of drivers for: locating and enabling its associated DUT virtual function on an associated DUT; and presenting access to said a given DUT virtual function on said associated DUT to the host computer system, wherein a test program process of said host computer system to operable to access and test said associated DUT virtual function on said associated DUT.
19. A method of testing as described in claim 18 wherein, for a given test program process and an associated DUT and a given DUT virtual function of said associated DUT, workloads of said given test program process access and test said given DUT virtual function through a driver, of said plurality of drivers, associated with said given DUT virtual function.
20. A method of testing as described in claim 17 wherein each driver of said plurality of drivers of said host computer system further comprises: a controller handler; an interrupt handler; a first queue for sending commands to a particular virtual function of a particular DUT; a second queue for receiving responses back from said particular virtual function of said particular DUT; and computer resources for implementing said first queue and said second queue.
21. A method of testing as described in claim 17 wherein said plurality of drivers of said host computer system simulate functionality of a hypervisor.
Unknown
February 11, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.