CN117389470A - NVME solid state disk simulation method - Google Patents

NVME solid state disk simulation method Download PDF

Info

Publication number
CN117389470A
CN117389470A CN202311298259.4A CN202311298259A CN117389470A CN 117389470 A CN117389470 A CN 117389470A CN 202311298259 A CN202311298259 A CN 202311298259A CN 117389470 A CN117389470 A CN 117389470A
Authority
CN
China
Prior art keywords
nvme
virtual
command
kernel module
pcie
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311298259.4A
Other languages
Chinese (zh)
Inventor
乔子龙
王璞
吴斌
段好强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN202311298259.4A priority Critical patent/CN117389470A/en
Publication of CN117389470A publication Critical patent/CN117389470A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention relates to the field of hard disk testing, in particular to an NVME testing method. The method comprises the steps of writing a virtual NVME kernel module, simulating and realizing a virtual PCIE bus and a virtual PCIE device by the virtual NVME kernel module, simulating and realizing a PCIE device configuration space, wherein the virtual PCIE device is identified as the NVME device. And then calling a system interface, adding a virtual PCIE bus and PCIE equipment into a PCIE bus tree of the system, and when the PCIE subsystem executes bus scanning operation, calling a driver of the NVME to initialize the virtual PCIE equipment when detecting that the equipment type in the virtual equipment configuration space is NVME. The invention is more similar to the simulation environment of the real physical equipment, the FIO tool of the system is directly used for driving, the time for writing the software simulation case by the user is reduced, and the invention can directly share a set of test cases with the real physical environment.

Description

NVME solid state disk simulation method
Technical Field
The invention relates to the field of hard disk testing, in particular to an NVME solid state disk simulation method.
Background
With the increasing demand for high performance, high efficiency storage devices, NVME interfaces are becoming more and more widely used due to their flexibility and scalability. In the development process of the NVME solid state disk, the FTL (Flash Translation Layer) software algorithm of the solid state disk is high in complexity and long in development period. The traditional simulation platform can only simulate test excitation through software and can not be in butt joint with NVME (network video frequency memory) drive of a system, and simulated test cases can only be simulated and written through software, so that the problems of low coverage, low development efficiency and large difference of actual application scenes exist.
In order to accelerate the development of solid state disk production, a simulation platform independent of hardware resources is urgently needed, and the simulation platform is required to be closer to a real application scene, and can be driven by directly using a FIO tool of a system. The invention realizes a simulation platform which is seen from the user's perspective and is the same as the real physical equipment.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides the NVME solid state disk simulation method which is closer to the simulation environment of the real physical equipment, is driven by directly using the FIO tool of the system, reduces the time for writing the software simulation case by oneself, and can directly share a set of test cases with the real physical environment.
In order to solve the technical problems, the invention adopts the following technical scheme: a simulation method of NVME solid state disk comprises the following steps:
1. writing a virtual NVME kernel module, wherein the virtual NVME kernel module simulates and realizes a virtual PCIE bus and a virtual PCIE device, simulates and realizes a PCIE device configuration space, and the virtual PCIE device is identified as NVME device;
2. and calling a system interface, adding a virtual PCIE bus and PCIE equipment into a PCIE bus tree of the system, and when the PCIE subsystem executes bus scanning operation, and detecting that the equipment type in the virtual equipment configuration space is NVME, calling a driver of the NVME to initialize the virtual PCIE equipment.
Further, the step of simulating and implementing the virtual PCIE device by the virtual NVME kernel module is:
s01), loading a kernel command, and loading a written virtual NVME kernel module, wherein the virtual NVME kernel module waits for a user-state simulation program to send a start creation message;
s02), running a simulation program of a user mode, and sending a start creation message;
s03), the virtual NVME kernel module executes and creates relevant codes of virtual PCIE equipment when receiving a start creation message sent by the user mode simulation program, virtualizes one PCIE equipment and adds the virtualized PCIE equipment into a PCIE bus tree;
s04), if the system identifies a virtual NVME device, executing the NVME driver loading flow;
s05), the virtual NVME kernel module creates a kernel process, continuously polls the change condition of each NVME register, and when the change of the NVME register is detected, executes corresponding processing actions to interact with the NVME driving module;
s06), when the NVME driver puts a command into a corresponding queue and operates a doorbell register of the queue, the virtual device detects the change of the doorbell register of the queue, so that the command of the corresponding NVME is read from the queue;
s07), after the virtual NVME kernel module acquires the NVME command, sending a command message to a user-state simulation program through a SOCKET component, after the simulation program receives the command, analyzing the corresponding NVME command, executing the corresponding command processing action, and after the execution is completed, sending a completion message to the virtual NVME kernel module through the SOCKET component;
s08), after receiving the completion message sent by the user mode simulation program, the virtual NVME kernel module writes the completion message into a corresponding completion queue and sends a virtual interrupt to the NVME driver;
s09), after the NVME driver finishes reading the corresponding completion message, updating the corresponding completion doorbell register;
s10), the virtual NVME kernel module detects the change of the completion doorbell register, and indicates that command processing is completed.
Further, the command processing action in step S07) includes NVME management command processing, and the processing flow is: if the virtual NVME kernel module receives the management command sent by the NVME driver, the virtual NVME kernel module sends the 64-byte NVME management command to a user-state simulation program through the SOCKET component, after the simulation program receives the management command, the management command is analyzed, a completion message is packaged, the completion message is sent to the virtual NVME kernel module through the SOCKET, after the virtual NVME kernel module receives the SOCKET message, whether the corresponding data is copied to the address required by the corresponding NVME driver is determined according to the condition of the command completion state, and the completion message is written into a completion queue according to the content of the completion message.
Further, the command processing action in step S07) includes write command processing, and the processing flow is: if the virtual NVME kernel module receives a write command sent by the NVME driver, the write command and the write data are packaged and then sent to a simulation program in a user state through a SOCKET component, the simulation program receives the write command, receives the write data with the specified size, writes the write data into a memory of the simulation program, sends a corresponding completion message to the virtual NVME kernel module, and writes the completion message into a completion queue after the virtual NVME kernel module receives the completion message.
Further, the command processing action in step S07) includes a read command process, and the process flow is: if the virtual NVME kernel module receives the read command sent by the NVME driver, the read command is sent to a user-state simulation program through the SOCKET component, after the simulation program receives the read command, the simulation program reads the data of the corresponding logical address to the self memory through FTL algorithm management, packages the completion message and sends the corresponding completion message to the virtual NVME kernel module, and after the virtual NVME kernel module receives the completion message, the virtual NVME kernel module decides whether to copy the corresponding data to the read address required by the NVME driver according to the condition of the command completion state, and writes the completion message into a completion queue according to the content of the completion message.
In the first step, the virtual NVME kernel module is written through the Linux system, namely the method uses the Linux system for simulation, but is not limited to the operating system.
In the first step, a read-write operation interface of the virtual PCIE device is created, and in the second step, the created virtual PCIE bus and virtual PCIE device are added into a PCIE bus tree of the system through the read-write operation interface of the virtual PCIE device.
In the first step, an MSI interrupt sent by the PCIE device is simulated by adopting a software interrupt mode.
Further, virtual PCIE buses are created using bus IDs that do not exist in the system.
The invention has the beneficial effects that:
1. by performing virtual equipment on the PCIE layer, a simulation environment which is closer to that of real physical equipment can be realized, and a simulation program can be tested directly through a written test script and through a FIO (test tool under a Linux platform). The time for writing the software simulation case by oneself is reduced, and a set of test case can be directly shared with the real physical environment.
2. Through the message interaction of the SOCKET component, the simulation program is operated in a user mode, so that the problem of kernel collapse caused by the FTL software code BUG can be avoided, and the code can be debugged by directly using a GDB debugging tool.
3. Each time a user-mode simulation program is run, a creation message is sent to the virtual NVME kernel module, and the functions of multiple NVME devices can be realized in a system at the same time. Therefore, simulation programs of different FTL algorithm codes can be run simultaneously, and simulation efficiency is greatly improved.
Drawings
FIG. 1 is a block diagram of an architecture of the present invention;
FIG. 2 is a flow chart of the operation of the virtual NVME kernel module;
FIG. 3 is a flow chart of a user mode simulation process.
Detailed Description
The invention will be further described with reference to the accompanying drawings and specific examples.
Example 1
The embodiment discloses a simulation method of an NVME solid state disk, which is characterized in that a virtual NVME kernel module is written based on a Linux system, the virtual NVME kernel module instantiates a virtual PCIE bus and PCIE equipment in a software mode, a PCIE equipment configuration space is simulated to be realized, the identifier of the virtual PCIE equipment is NVME equipment, a read-write operation interface of the virtual PCIE equipment is created, and MSI interrupt sent by the PCIE equipment is simulated in a software interrupt mode. As shown in fig. 1, the virtual NVME kernel module operates in a kernel mode and includes a virtual interrupt, a virtual PCIE and a virtual NVME, where the virtual interrupt is communicatively connected to the kernel interrupt module, the virtual PCIE is communicatively connected to the kernel PCIE, and the virtual NVME is communicatively connected to the kernel NVME. The virtual NVME kernel module is in communication connection with the simulation program running in the user mode through SOCKET, and the kernel NVME driver is in communication connection with the FIO test tool in the user mode through the BLOCK layer driver.
Thus, from the perspective of the entire host, the PCIE level virtualizing device operates more like a real physical device. In order to avoid the FTL (Flash Translation Layer) software algorithm of the solid state disk from running in the kernel mode, the SOCKET is adopted for carrying out message interaction between the kernel mode and the user mode. The FTL software algorithm is operated in a user mode, so that the problem of kernel breakdown caused by the FTL software code BUG can be avoided, and code debugging is facilitated.
The method comprises the steps that a virtual PCIE device is created, a virtual PCIE bus is created by using a bus ID which does not exist in a system, a system interface is called, a newly created PCIE bus and device are added into a PCIE bus tree of the system through a read-write operation interface of the virtual PCIE device, when the PCIE subsystem executes bus scanning operation, the device type in a virtual configuration space is detected to be NVME, and a driver of the NVME is called to initialize the virtual device.
In this embodiment, the steps of creating the virtual NVME device are as follows:
s01), loading a kernel command through Linux, and loading a kernel module of the written virtual NVME, wherein the kernel module waits for a user-state simulation program to send a start creation message.
S02), running a simulation program of a user mode, and sending a start creation message.
S03), the virtual kernel module receives a start creation message sent by the user mode simulation program, executes a related code for creating virtual PCIE equipment, virtualizes one PCIE equipment and adds the virtualized PCIE equipment into a PCIE bus tree.
S04), when the Linux system identifies a virtual NVME device, the NVME driver loading flow is executed.
S05), the virtual kernel module creates a kernel process at the moment, continuously polls the change condition of each NVME register, and executes corresponding processing actions when the change of the NVME register is detected, and the interaction is completed with the NVME driving module.
S06), when the NVME driver puts a command into a corresponding queue and operates the doorbell register of the queue, the virtual device detects the change of the doorbell register of the queue, and accordingly the command of the corresponding NVME is read from the queue.
S07), after the virtual kernel module acquires the NVME command, the virtual kernel module sends a command message to a user-state simulation program through the SOCKET component, after the simulation program receives the command message, the simulation program analyzes the corresponding NVME command, executes the corresponding command processing action, and after the execution is completed, sends a completion message to the virtual kernel module through the SOCKET component.
S08), after receiving the completion message sent by the user mode simulation program, the virtual kernel module writes the completion message into a corresponding completion queue and sends a virtual interrupt to the NVME driver.
S09), after the NVME driver finishes reading the corresponding completion message, the corresponding completion doorbell register is updated.
S10), the virtual kernel module detects the change of the completion doorbell register, and indicates that command processing is completed.
The specific command actions mentioned in step S07) are as follows:
NVME management command processing flow:
if the virtual kernel module receives the management command sent by the NVME driver, the virtual kernel module sends the 64-byte NVME management command to a user-state simulation program through the SOCKET component, after the simulation program receives the management command, the simulation program analyzes the management command, packages a completion message (comprising data required by the command and a command completion state), sends the completion message to the virtual kernel module through the SOCKET, and after the virtual kernel module receives the SOCKET message, the virtual kernel module decides whether to copy the corresponding data to the address required by the corresponding NVME driver according to the condition of the command completion state, and writes the completion message into a completion queue according to the content of the completion message.
Write command processing flow:
if the virtual kernel module receives the write command sent by the NVME driver, the write command and the write data are packaged and then sent to a simulation program in a user state through the SOCKET component, the simulation program receives the write command, receives the write data with the specified size, writes the write data into a memory of the virtual kernel module, and sends a corresponding completion message to the virtual kernel module. After receiving the completion message, the virtual kernel module writes the completion message into a completion queue.
Read command processing flow:
if the virtual kernel module receives the read command sent by the NVME driver, the read command is sent to a user-state simulation program through the SOCKET component, after the simulation program receives the read command, the simulation program reads the data of the corresponding logical address into the own memory through the FTL algorithm management, encapsulates the completion message (comprising the memory address where the command data is located and the command completion state), and sends the corresponding completion message to the virtual kernel module. After receiving the completion message, the virtual kernel module decides whether to copy the corresponding data to the read address required by the NVME driver according to the condition of the command completion state, and writes the completion message into the completion queue according to the content of the completion message.
The virtual NVME kernel module operates in a kernel mode, as shown in fig. 2, an operation flow of the virtual kernel module is as follows:
1. loading a virtual kernel module after starting;
2. waiting for creation start information;
3. after receiving the creation start information, creating a virtual PCIE bus and virtual PCIE equipment;
4. adding a virtual PCIE bus and virtual PCIE equipment to a PCIE bus of a system;
5. the change in NVME register is polled and when a change is detected, a corresponding processing action is performed.
The simulation program operates in a user mode, and performs information interaction with the virtual NVME kernel module through the socket component, as shown in FIG. 3, the operation flow of the simulation program is as follows:
1. after starting, sending a message for creating the virtual equipment to a virtual kernel module in a kernel mode;
2. waiting for receiving command information, and analyzing the command after receiving the command information;
3. executing command processing actions;
4. and sending a completion message to the virtual kernel module.
The invention realizes a simulation platform which is seen from the user and is the same as the real physical equipment, does not depend on hardware resources, and can be driven by directly using the FIO tool of the system.
The foregoing description is only of the basic principles and preferred embodiments of the present invention, and modifications and alternatives thereto will occur to those skilled in the art to which the present invention pertains, as defined by the appended claims.

Claims (9)

1. A NVME solid state disk simulation method is characterized in that: the method comprises the following steps:
1. writing a virtual NVME kernel module, wherein the virtual NVME kernel module simulates and realizes a virtual PCIE bus and a virtual PCIE device, simulates and realizes a PCIE device configuration space, and the virtual PCIE device is identified as NVME device;
2. and calling a system interface, adding a virtual PCIE bus and PCIE equipment into a PCIE bus tree of the system, and when the PCIE subsystem executes bus scanning operation, and detecting that the equipment type in the virtual equipment configuration space is NVME, calling a driver of the NVME to initialize the virtual PCIE equipment.
2. The NVME solid state disk simulation method of claim 1, characterized by comprising the steps of: the steps of the virtual PCIE kernel module for realizing the virtual PCIE device are as follows:
s01), loading a kernel command, and loading a written virtual NVME kernel module, wherein the virtual NVME kernel module waits for a user-state simulation program to send a start creation message;
s02), running a simulation program of a user mode, and sending a start creation message;
s03), the virtual NVME kernel module executes and creates relevant codes of virtual PCIE equipment when receiving a start creation message sent by the user mode simulation program, virtualizes one PCIE equipment and adds the virtualized PCIE equipment into a PCIE bus tree;
s04), if the system identifies a virtual NVME device, executing the NVME driver loading flow;
s05), the virtual NVME kernel module creates a kernel process, continuously polls the change condition of each NVME register, and when the change of the NVME register is detected, executes corresponding processing actions to interact with the NVME driving module;
s06), when the NVME driver puts a command into a corresponding queue and operates a doorbell register of the queue, the virtual device detects the change of the doorbell register of the queue, so that the command of the corresponding NVME is read from the queue;
s07), after the virtual NVME kernel module acquires the NVME command, sending a command message to a user-state simulation program through a SOCKET component, after the simulation program receives the command, analyzing the corresponding NVME command, executing the corresponding command processing action, and after the execution is completed, sending a completion message to the virtual NVME kernel module through the SOCKET component;
s08), after receiving the completion message sent by the user mode simulation program, the virtual NVME kernel module writes the completion message into a corresponding completion queue and sends a virtual interrupt to the NVME driver;
s09), after the NVME driver finishes reading the corresponding completion message, updating the corresponding completion doorbell register;
s10), the virtual NVME kernel module detects the change of the completion doorbell register, and indicates that command processing is completed.
3. The NVME solid state disk emulation method of claim 2, wherein the method comprises the steps of: the command processing actions in step S07) include NVME management command processing, and the processing flow is: if the virtual NVME kernel module receives the management command sent by the NVME driver, the virtual NVME kernel module sends the 64-byte NVME management command to a user-state simulation program through the SOCKET component, after the simulation program receives the management command, the management command is analyzed, a completion message is packaged, the completion message is sent to the virtual NVME kernel module through the SOCKET, after the virtual NVME kernel module receives the SOCKET message, whether the corresponding data is copied to the address required by the corresponding NVME driver is determined according to the condition of the command completion state, and the completion message is written into a completion queue according to the content of the completion message.
4. The NVME solid state disk emulation method of claim 2, wherein the method comprises the steps of: the command processing action in step S07) includes write command processing, and the processing flow is: if the virtual NVME kernel module receives a write command sent by the NVME driver, the write command and the write data are packaged and then sent to a simulation program in a user state through a SOCKET component, the simulation program receives the write command, receives the write data with the specified size, writes the write data into a memory of the simulation program, sends a corresponding completion message to the virtual NVME kernel module, and writes the completion message into a completion queue after the virtual NVME kernel module receives the completion message.
5. The NVME solid state disk emulation method of claim 2, wherein the method comprises the steps of: the command processing action in step S07) includes a read command process, and the process flow is: if the virtual NVME kernel module receives the read command sent by the NVME driver, the read command is sent to a user-state simulation program through the SOCKET component, after the simulation program receives the read command, the simulation program reads the data of the corresponding logical address to the self memory through FTL algorithm management, packages the completion message and sends the corresponding completion message to the virtual NVME kernel module, and after the virtual NVME kernel module receives the completion message, the virtual NVME kernel module decides whether to copy the corresponding data to the read address required by the NVME driver according to the condition of the command completion state, and writes the completion message into a completion queue according to the content of the completion message.
6. The NVME solid state disk simulation method of claim 1, characterized by comprising the steps of: in the first step, a virtual NVME kernel module is written through a Linux system.
7. The NVME solid state disk simulation method of claim 1, characterized by comprising the steps of: in the first step, a read-write operation interface of the virtual PCIE device is created, and in the second step, the created virtual PCIE bus and virtual PCIE device are added into a PCIE bus tree of the system through the read-write operation interface of the virtual PCIE device.
8. The NVME solid state disk simulation method of claim 1, characterized by comprising the steps of: in the first step, an MSI interrupt sent by the PCIE device is simulated by adopting a software interrupt mode.
9. The NVME solid state disk simulation method of claim 1, characterized by comprising the steps of: virtual PCIE buses are created using bus IDs that are not present in the system.
CN202311298259.4A 2023-10-09 2023-10-09 NVME solid state disk simulation method Pending CN117389470A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311298259.4A CN117389470A (en) 2023-10-09 2023-10-09 NVME solid state disk simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311298259.4A CN117389470A (en) 2023-10-09 2023-10-09 NVME solid state disk simulation method

Publications (1)

Publication Number Publication Date
CN117389470A true CN117389470A (en) 2024-01-12

Family

ID=89440182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311298259.4A Pending CN117389470A (en) 2023-10-09 2023-10-09 NVME solid state disk simulation method

Country Status (1)

Country Link
CN (1) CN117389470A (en)

Similar Documents

Publication Publication Date Title
US8181176B2 (en) Uniform storage device access using partial virtual machine executing within a secure enclave session
US20080021693A1 (en) Storage Device Simulator
CN101739289B (en) Method and device for setting display mode in Linux virtual machine
US11302412B2 (en) Systems and methods for simulated device testing using a memory-based communication protocol
CN113326105B (en) Hardware equipment configuration method, device and equipment based on host migration
CN111796912A (en) Virtualization performance optimization method and system for storage input/output device of Shenwei platform
US10467078B2 (en) Crash dump extraction of guest failure
CN113868174B (en) Verification platform building method and device and storage medium
CN115203054A (en) Virtual chip test system
CN117389694B (en) Virtual storage IO performance improving method based on virtio-blk technology
CN112764981B (en) Cooperative testing system and method
CN110597597A (en) Method, system, device and storage medium for virtualization of hardware
CN113032246A (en) SSD (solid State disk) firmware operation method and device, readable storage medium and electronic equipment
CN116401900B (en) Method and device for communication among multiple systems of software simulation
CN111708704B (en) Cloud real machine testing method, device, terminal and storage medium
CN116501666B (en) Implementation method of PCIe Switch simulator
CN116611375A (en) Software and hardware collaborative simulation platform and software and hardware testing method
JP2007058813A (en) Verification device and verification method
CN116540929A (en) Virtualized reading method and device of disk array, electronic equipment and storage medium
CN114446381B (en) eMMC fault analysis method, device, readable storage medium and electronic equipment
CN117389470A (en) NVME solid state disk simulation method
US10445218B2 (en) Execution of graphic workloads on a simulated hardware environment
CN113821393B (en) NVMe solid state disk testing module and testing method
CN115269326A (en) Task processing method, device, medium and equipment based on chip monitoring system
CN114265786A (en) Automatic testing method and device, computer equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination