CN114613418A - System and method for NVMe-MI function test of solid state disk - Google Patents

System and method for NVMe-MI function test of solid state disk Download PDF

Info

Publication number
CN114613418A
CN114613418A CN202210345165.7A CN202210345165A CN114613418A CN 114613418 A CN114613418 A CN 114613418A CN 202210345165 A CN202210345165 A CN 202210345165A CN 114613418 A CN114613418 A CN 114613418A
Authority
CN
China
Prior art keywords
command
solid state
nvme
band management
protocol
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.)
Granted
Application number
CN202210345165.7A
Other languages
Chinese (zh)
Other versions
CN114613418B (en
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.)
Beijing Dera Technology Co Ltd
Original Assignee
Beijing Dera Technology 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 Beijing Dera Technology Co Ltd filed Critical Beijing Dera Technology Co Ltd
Priority to CN202210345165.7A priority Critical patent/CN114613418B/en
Publication of CN114613418A publication Critical patent/CN114613418A/en
Application granted granted Critical
Publication of CN114613418B publication Critical patent/CN114613418B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The application discloses a system and a method for NVMe-MI function test of a solid state disk, wherein the system comprises: the system comprises a PC main board, a plurality of solid state disks and an external controller development board, wherein the external controller development board is communicated with the PC main board through a self-defined out-of-band management protocol with a debugging function, and the external controller development board is communicated with the solid state disks through an NVMe-MI protocol. The method and the device can realize the function of NVMe-MI out-of-band management of test verification in the NVMe SSD mass production stage, test the NVMe-MI functions of a plurality of discs in parallel, and achieve the purpose of eliminating the problems of the discs through the added debugging function, so that the efficiency and the flexibility of the test verification of the NVMe-MI out-of-band management function can be improved.

Description

System and method for NVMe-MI function test of solid state disk
Technical Field
The application relates to the technical field of out-of-band test of NVMe SSD (network video disk) volume production, in particular to a system and a method for testing NVMe-MI (network video disk-medium interface) functions of a solid state disk.
Background
NVMe SSDs are rapidly becoming the mainstream of the hard disk market due to their advantages of high performance, low latency, and low energy consumption. The in-band management is management which is operated under the support of a hardware component which is vital to an operating system and used by the operating system, for example, a Set of instruction Set Admin Command Set is defined in an NVMe protocol used by an NVMe SSD to manage a disk, so as to realize the in-band management of the disk; however, the communication of the in-band channel needs the host computer to cooperate with the hardware and software on both sides of the disk, and the problem of any link may result in that the set of command set is not available. The out-of-band management is management of operation by using hardware resources and components independent of control of an operating system, namely, the NVMe SSD is connected with a disk through a hardware interface, and further communication between a host and the disk is realized based on an NVMe-MI protocol so as to realize the purpose of out-of-band management; and the out-of-band management channel can check the static information of the disk under the condition that the NVMe SSD mainboard is powered on but the host is not powered on, and realizes the management function based on the MCTP-over-SMbus protocol. However, for the enterprise-level NVMe SSD, the NVMe-MI protocol of out-of-band management of the verification disk needs to be tested in the mass production stage, and each disk needs to be individually tested manually during testing, so the workload is huge.
In the related art, the i2c/SMBUS channel and the existing communication protocol are mainly used for realizing the out-of-band function of the NVMe-MI, and although the function of testing and verifying the out-of-band management of the NVMe-MI in the mass production stage of the NVMe SSD can be realized, the NVMe-MI functions of a plurality of disks cannot be tested in parallel, so that the defects that the flexible debugging cannot be realized and the problems of the disks are eliminated exist.
Disclosure of Invention
The application provides a system and a method for testing NVMe-MI function of a solid state disk, which can solve the problems. The technical scheme is as follows:
in a first aspect, a system for testing NVMe-MI functions of a solid state disk is provided, the system including:
a PC mainboard;
a plurality of solid state disks;
the external controller development board is communicated with the PC main board through a self-defined out-of-band management protocol with a debugging function, and the external controller development board is communicated with the solid state disks through an NVMe-MI protocol.
Further, the external controller development board includes:
a power-on and power-off control module;
SMBus/I2C switching module;
the controller is configured with a corresponding relation between an out-of-band management instruction of an out-of-band management protocol and a standard instruction of an NVMe-MI protocol, and the controller is used for communicating with the solid state disk through the power-on and power-off control module or the SMBus/I2C switching module.
Further, the out-of-band management instructions include:
executing the command, wherein the command corresponds to an NVME-MI command of an NVMe-MI protocol;
the control command corresponds to a control Primitive command of the NVMe-MI protocol; and
and debugging the command.
Further, the controller is also used for receiving a request command generated by the PC mainboard according to a command message frame format of the out-of-band management protocol, or sending a test result generated according to a response message frame format of the out-of-band management protocol to the PC mainboard.
In a first aspect, a method for testing NVMe-MI functions of solid state disks is provided, the method includes a PC motherboard, a plurality of solid state disks, and an external controller development board, the external controller development board communicates with the PC motherboard through a predefined out-of-band management protocol, the external controller development board communicates with the plurality of solid state disks through an NVMe-MI protocol, and the method includes:
acquiring a request command generated by a PC main board based on a command message frame format of an out-of-band management protocol;
if the request command needs to be forwarded, forwarding the request command in a plurality of solid state disks;
acquiring processing results of the request commands respectively by the fixed hard disks;
generating response information according to the processing result of the request command and the response message frame format of the out-of-band management protocol by the fixed hard disks;
and sending the response information to the PC mainboard so that the PC mainboard can complete the NVMe-MI function test of the solid state disks.
Further, the step of forwarding the request command in the plurality of solid state disks, where the request command is a self-defined control command in the out-of-band management protocol, includes:
based on the request command, determining the normally responded solid state disk and the control command code:
determining a standard operation command corresponding to the control command code according to the corresponding relation between the out-of-band management command of the out-of-band management protocol and the standard command of the NVMe-MI protocol;
and sending the standard operation instruction to the normally-responded solid state disk so that the normally-responded solid state disk processes the standard operation instruction.
Further, the step of forwarding the request command in the plurality of solid state disks, where the request command is a self-defined debug command in the out-of-band management protocol, includes:
determining the solid state disk with abnormal response based on the request command:
and sending the debugging command to the solid state disk with the abnormal response to complete the debugging of the solid state disk with the abnormal response.
Further, the request command is a self-defined execution command in an out-of-band management protocol, and before the step of forwarding the request command in the plurality of solid state disks, the method further includes:
determining to execute a command code based on the request command;
determining a standard execution command corresponding to the execution command code according to the corresponding relation between the out-of-band management command of the out-of-band management protocol and the standard command of the NVMe-MI protocol;
and respectively sending the standard execution command to the solid state disks so that the solid state disks respectively process the standard execution command to obtain respective equipment response states of the solid state disks.
Further, the command message frame format includes:
slave device address, read-write flag bit, data field, command code bit, port number bit, parallel bit and device status bit.
Further, the reply message frame format includes:
data field, check bit, command execution state, and device response state bit.
The embodiment of the application can perform the out-of-band function verification test on a plurality of discs on one PC in parallel, so that the test efficiency can be greatly improved; the invention also provides a novel method for debugging the test, which is used for positioning the problem of the disk by independently appointing the problem disk to electrify and electrify to obtain the disk state again, thereby facilitating the problem analysis and debugging in the test and quickly positioning the node position causing the problem. In addition, the application also provides a response mechanism of the disc abnormal condition, and the corresponding error code is returned under the condition that the disc can not normally respond to the command and is not blocked; for the disk which can not respond, if the disk can not respond within a certain time, the disk state is marked to be a non-response state, and before the disk is tested again, the disk state is detected firstly, and the disk which can not respond is not sent, so that the overall efficiency of the test can be improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments of the present application will be briefly described below.
Fig. 1 is a block diagram structure schematic diagram of a system for testing NVMe-MI functions of a solid state disk according to an embodiment of the present application;
fig. 2 is a protocol diagram of an external controller development board configuration in a system for testing NVMe-MI functions of a solid state disk according to an embodiment of the present application;
fig. 3 is a schematic flowchart of a method for testing NVMe-MI functions of a solid state disk according to an embodiment of the present application;
fig. 4 is a schematic workflow diagram of a request command in a method for testing NVMe-MI functions of a solid state disk according to an embodiment of the present application;
fig. 5 is a schematic workflow diagram illustrating a request command as an execution command in a method for testing NVMe-MI functions of a solid state disk according to an embodiment of the present application;
fig. 6 is a schematic workflow diagram illustrating a request command as a debug command in a method for testing NVMe-MI functions of a solid state disk according to an embodiment of the present application; and
fig. 7 is a schematic flowchart of a workflow in which a request command is a control command in the method for testing the NVMe-MI function of a solid state disk according to the embodiment of the present application.
Detailed Description
Reference will now be made in detail to embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present application.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
The embodiment of the application provides a system for testing NVMe-MI functions of a solid state disk, as shown in fig. 1, the system includes: the system comprises a PC main board 10, a solid state disk module 20 comprising a plurality of solid state disks and an external controller development board 30. The external controller development board is communicated with the PC mainboard through a self-defined out-of-band management protocol with a debugging function, and the external controller development board is communicated with the solid state disks through an NVMe-MI protocol. In some implementations, the external controller development board shown in fig. 1 includes a power-on and power-off control module, an SMBus/I2C relay module, and a controller, where the controller is configured with a corresponding relationship between an out-of-band management instruction of an out-of-band management protocol and a standard instruction of an NVMe-MI protocol, and the controller is configured to communicate with each solid state disk through the power-on and power-off control module or the SMBus/I2C relay module. The out-of-band management instructions include: executing the command, wherein the command corresponds to an NVME-MI command of an NVMe-MI protocol; the control command corresponds to a control Primitive command of the NVMe-MI protocol; and debug commands. Specifically, the controller is further configured to receive a request command generated by the PC motherboard according to a command message frame format of the out-of-band management protocol, or a test result generated by the PC motherboard according to a response message frame format of the out-of-band management protocol. The out-of-band management protocol provided by the application provides a private protocol between a PC mainboard and an external controller development board, defines a request command format from a host to an NVMe SSD and a response information format from the NVMe SSD to the host, and comprises three commands: execution commands, control commands, and debug commands. As shown in fig. 2, the external controller development board SMBus/I2C interface module provides interface between the custom protocol command (i.e. the private protocol) and the NVMe-MI protocol standard command, where the execution command and the control command respectively correspond to the NVMe MI command and the control priority command in the NVMe-MI protocol standard command, and the debug command is a newly added command for debugging the analysis problem.
The proprietary protocol includes commands as shown in the following table:
Figure DEST_PATH_IMAGE001
the self-defined execution command and the control command in the table correspond to the command of the NVMe-MI protocol standard one by one, and the debugging command is a command newly added in the application and is used for analyzing and quickly positioning the problem endpoint.
The three commands listed above are all request commands from the host to the device, and the command message frame mainly includes the slave address, the read-write flag bit, the data field, the command code bit, the port number bit, the parallel bit, the device status bit, and other key fields. When the NVMe SSD needs to be read and written, the slave address, the read-write flag bit and the command code bit need to be filled; when the disc needs to be powered on or powered off, the slave address field does not need to be filled, and the specific disc needs to be powered on or powered off by specifying the port number and other necessary information. When the device (such as a solid state disk) receives the command and responds, the device end returns response information to the host end, and the response message frame mainly comprises main fields such as returned data fields, check bits, command execution states, device response state bits and the like. The response of the device is generally divided into a normal response and an abnormal response. The normal response only needs to return the corresponding field according to the format of the response message frame. For the abnormal response case, we subdivide it into two categories: firstly, the equipment returns a corresponding error code, and at the moment, the equipment returns error codes which are defined in advance according to specific conditions and respectively represent different error information. The error code can preliminarily know the position and the meaning of the error; and secondly, a no-response state, namely, a self-defined no-response state code is returned when the device cannot respond within a certain time, the device state field in the response message is set to be 2 (indicating that the device is in the no-response state), and the switching module continues to return to the host end after receiving disk responses of other normal responses until all disk transmission response information (including the no-response state code) is collected. In application, when the host sends the parallel command to the disk group again, and detects that the equipment state field in the response message frame of the previous command is 2, the equipment state position in the message frame of the command is issued again is 2, and then the host sends the command to the switching module no longer to the disk without response.
The embodiment of the present application further provides a method for testing NVMe-MI functions of a solid state disk, including a PC motherboard, a plurality of solid state disks, and an external controller development board as shown in fig. 1, where the external controller development board communicates with the PC motherboard via a self-defined out-of-band management protocol with a debugging function, and the external controller development board communicates with the plurality of solid state disks via an NVMe-MI protocol, and the method includes, as shown in fig. 3: step S301 to step S305.
S301, acquiring a request command generated by a PC main board based on a command message frame format of an out-of-band management protocol;
step S302, if the request command needs to be forwarded, forwarding the request command in a plurality of solid state disks;
step S303, acquiring processing results of the request commands respectively by the fixed hard disks;
step S304, generating response information according to the processing result of the request command and the response message frame format of the out-of-band management protocol by the fixed hard disks;
and S305, sending the response information to the PC mainboard so that the PC mainboard can complete the NVMe-MI function test of the solid state disks.
In this embodiment, the command sent by the PC to the external controller development board may be an execution command, a control command, or a debug command. The external controller development board comprises a power-on and power-off control module, an SMBus/I2C switching module and a controller as shown in FIG. 1, wherein the controller responds according to the received command, and if the command needs to be sent to the disk, the command is forwarded to the disk group through the switching module; if the firmware upgrading request is only sent to the controller module of the development board, the controller module can read the self ID, read the self temperature and the voltage and return the status code for upgrading the firmware according to different command parameters. When the command is sent to the disk group, one or more disks of the NVMe SSD module respond according to the sent out-of-band request command, return information (including normal response and abnormal response) such as an out-of-band management result, and transmit the information to the controller and finally to the PC through the SMbus/I2C transfer module. And the PC machine performs correctness reasonability check according to the out-of-band information returned by the NVMe SSD module, and further completes verification test of the NVMe-MI function. The communication rate of the proprietary protocol between the PC and the external controller development board reaches 11520Baud/s at present.
In some implementations, the request command is a self-defined control command in the out-of-band management protocol, and the step S302 uses a step of forwarding the request command in a plurality of solid state disks, including:
based on the request command, determining the normally responded solid state disk and the control command code:
determining a standard operation command corresponding to the operation command code according to the corresponding relation between the out-of-band management command of the out-of-band management protocol and the standard command of the NVMe-MI protocol;
and sending the standard operation command to the normally-responded solid state disk so that the normally-responded solid state disk processes the standard operation command.
Further, the step of forwarding the request command in the plurality of solid state disks, where the request command is a self-defined debug command in the out-of-band management protocol, includes:
determining the solid state disk with abnormal response based on the request command:
and sending the debugging command to the solid state disk with the abnormal response to complete the debugging of the solid state disk with the abnormal response.
Further, the request command is a self-defined execution command in the out-of-band management protocol, and before the step of forwarding the request command in the plurality of solid state disks in step S302, the method further includes:
determining to execute a command code based on the request command;
determining a standard execution command corresponding to the execution command code according to the corresponding relation between the out-of-band management command of the out-of-band management protocol and the standard command of the NVMe-MI protocol;
and respectively sending the standard execution command to the solid state disks so that the solid state disks respectively process the standard execution command.
In the above embodiment, the command message frame format includes: slave device address, read-write flag bit, data field, command code bit, port number bit, parallel bit and device status bit.
In the above embodiment, the reply message frame format includes: data field, check bit, command execution state, and device response state bit.
The scheme provided by the examples of the present application will be described in detail with reference to the following 3 examples. The embodiment 1 is to send an execution command, which includes a normal response flow and an abnormal response flow; embodiment 2 is to send the debug command, only debug the problem disc or transmission path; embodiment 3 is to transmit a control command, and needs to be implemented on the basis of transmitting an execution command. As can be seen from fig. 4, the overall flow chart of the PC sending different request commands shows that the dependencies between the 3 embodiments are: embodiment 3 can be realized on the basis of the normal response of embodiment 1, and the control command is sent to complete the execution of the control command; the embodiment 2 can be realized on the basis of the abnormal response of the embodiment 1, and problems are debugged and positioned; on the basis of the occurrence of the embodiment 3, the two cases of normal response and abnormal response can be divided, and the debugging process similar to the embodiment 2 is entered during the abnormal response.
Example 1: FIG. 5 shows a process flow of a request command of a PC machine as an execution command. This embodiment will be described by taking as an example that a PC issues a getConfig command in parallel. The flow of this embodiment is a scenario where the PC sends the getConfig command to the NVMe SSD in parallel. The getConfig Command is one of the execution commands in the invention, and corresponds to a subordinate Command configuration Get of a standard Command NVMe-MI Command in the NVMe-MI protocol.
The specific process is as follows:
1. the PC firstly detects the device state of a plurality of connected discs, fills the device state bit in the message frame corresponding to the request command, sets the parallel position to be 1 to represent the parallel processing command of the plurality of discs at the moment, additionally sets the reading and writing flag bit to be read, fills the slave address, fills the operation code of the getConfig and initiates the command of the getConfig;
2. after receiving the instruction, the controller of the customized development board starts a configuration get command in the NVMe-MI protocol under the support of the NVMe-MI driver, and then forms an MCTP TLP and a PCIe TLP respectively on a transport layer and a physical layer and sends the MCTP and the PCIe TLP to the SMBus/I2C transit module respectively;
3. the PCIe TLP is sent to the SMBus/I2C switch module; the SMBus/I2C switching module issues information to a disk with a device status bit of non-2;
4. the host controller of each NVMe SSD unframes the command, recognizes and triggers the getConfig operation,
(1) under normal conditions, the disk state corresponding to the normal response is set to be 0, which indicates that the current disk state is normal, then the obtained information and the response command are fed back to the switching module, and the switching module receives the information and sends the information and the response command to the controller module on the development board;
(2) under the condition that the information can not be normally acquired and the disc can also respond, filling defined error codes into a response message frame; setting the disk state corresponding to the response error code as 1, indicating that the current disk state is a response-capable but response-error state; the switching module collects all disc response messages and sends the disc response messages to the controller module of the development board;
(3) in the state that the disk can not respond, if the disk can not respond normally and can not return the corresponding error code within a certain time, the disk state is set to be 2, which indicates that the current disk can not respond, and the automatic filling state code is a self-defined no-answer code, and the switching module collects the response messages of all disks and then sends the response messages to the controller module of the development board.
5. And the controller on the external controller development board receives the feedback command and data of each disk through frame decoding, displays the equipment information result on the PC and ends the operation.
Example 2: FIG. 6 is a flowchart illustrating a process of sending a debug command as a request command from a PC. This embodiment is described in detail with a PC taking a single NVMe SSD down/up as an example. This embodiment is a single disc no-answer scenario. The embodiment provides the debugging process shown in fig. 6, and the embodiment mainly uses a private protocol to send a debug powercycle command (power off and then power on a disk), and debugs a problem disk to determine whether no response is a disk problem scene. The debugging means used in the embodiment for abnormal response or no response of the disk can quickly locate the node causing the problem or repair the stuck problem which can be solved by restarting the disk. For example, if a disk problem occurs, the disk problem needs to be repaired; if the problem is not the disc problem, a command can be sent to check the state of the controller module of the current development board, whether the problem occurs in the controller module is determined, and if the problem occurs in the controller module, the problem is repaired.
Example 3: fig. 7 is a flow chart of processing in which the request command sent by the PC is a control command. The embodiment is used for interrupting, recovering, ignoring and retransmitting the issued command or acquiring the states of the command slot and the management endpoint. The following description will be given taking an example in which the control command control abort execution command is transmitted. The main flow of this embodiment is: 1. setting the parallel bit as 1, filling the operation code of the control Abort, and sending a control Abort command by the PC; 2. the controller receives a control Abort command, under the support of an NVMe-MI drive, the controller sends the Abort command of a control priority in an NVMe-MI protocol, the transfer module distributes the Abort command to an NVMe SSD, and the SSD unframes the command and identifies the command operation; 3. at this time, whether the execution command sent first starts processing is judged: (1) if the processing has not been started, discarding the contents of the command slot, and the disk is converted to an idle state with an Abort status field set to 1; (2) if processing has begun and has completed, the SSD sends a success response with the Abort status field set to 0; (3) if the processing has already started and has not been completed, then to see if the disc can Abort the execution of the command, if it cannot Abort, the SSD sends a success response, setting Abort status to 2; if it can be aborted, the contents of the command slot are discarded, the disc transitions to the idle state, and the Abort status field is set to 1, as in the case of the configuration Get command not starting the processing operation. Finally, the returned Abort field is the field in the standard answer command of Abort command in NVMe-MI protocol, and the answer command set and error handling mechanism of multiple disks are the same as the getConfig command.
Another embodiment of the present application provides a terminal, including: the memory, the processor and the computer program stored on the memory and capable of running on the processor, when the processor executes the computer program, the method for testing the NVMe-MI function of the solid state disk is realized.
In particular, the processor may be a CPU, general purpose processor, DSP, ASIC, FPGA or other programmable logic device, transistor logic device, hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. A processor may also be a combination of computing functions, e.g., comprising one or more microprocessors, a DSP and a microprocessor, or the like.
In particular, the processor is coupled to the memory via a bus, which may include a path for communicating information. The bus may be a PCI bus or an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc.
The memory may be, but is not limited to, a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, an EEPROM, a CD-ROM or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
Optionally, the memory is used for storing codes of computer programs for executing the scheme of the application, and the processor is used for controlling the execution. The processor is used for executing the application program codes stored in the memory so as to realize the actions of the external controller development board provided by the embodiment.
Yet another embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, which when executed by a processor, implements the above NVMe-MI function testing method for a solid state disk.
The above-described embodiments of the apparatus are merely illustrative, and the units illustrated as separate components may or may not be physically separate, may be located in one place, or may be distributed over a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
One of ordinary skill in the art will appreciate that all or some of the steps, systems, and methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.
While the present invention has been described with reference to the preferred embodiments, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (10)

1. A system for NVMe-MI function test of a solid state disk is characterized by comprising
A PC mainboard;
a plurality of solid state disks;
the system comprises an external controller development board, wherein the external controller development board is communicated with a PC main board through a self-defined out-of-band management protocol with a debugging function, and the external controller development board is communicated with a plurality of solid state disks through an NVMe-MI protocol.
2. The system of claim 1, wherein the external controller development board comprises
A power-on and power-off control module;
SMBus/I2C switching module;
the controller is configured with a corresponding relation between an out-of-band management instruction of the out-of-band management protocol and a standard instruction of the NVMe-MI protocol, and the controller is used for communicating with the solid state disk through the power-on and power-off control module or the SMBus/I2C switching module.
3. The system of claim 2, wherein the out-of-band management instructions comprise:
executing a command corresponding to an NVMe-MI command of the NVMe-MI protocol;
a control command corresponding to a control Primitive command of the NVMe-MI protocol; and
and debugging the command.
4. The system of claim 2, wherein the controller is further configured to receive a request command generated by the PC motherboard according to a command message frame format of the out-of-band management protocol or a test result generated by the PC motherboard according to a response message frame format of the out-of-band management protocol.
5. A method for testing NVMe-MI function of a solid state disk is characterized by comprising a PC mainboard, a plurality of solid state disks and an external controller development board, wherein the external controller development board communicates with the PC mainboard through a self-defined out-of-band management protocol with a debugging function, and the external controller development board communicates with the solid state disks through the NVMe-MI protocol, and the method comprises the following steps:
acquiring a request command generated by the PC main board based on the command message frame format of the out-of-band management protocol;
if the request command needs to be forwarded, forwarding the request command in a plurality of solid state disks;
acquiring processing results of the request commands respectively by the fixed hard disks;
generating response information according to the processing result of the request command and the response message frame format of the out-of-band management protocol by the fixed hard disks;
and sending the response information to the PC mainboard to enable the PC mainboard to complete the NVMe-MI function test of the solid state disks.
6. The method of claim 5, wherein the request command is a control command customized in the out-of-band management protocol, and the step of forwarding the request command in a plurality of solid state disks comprises:
based on the request command, determining the normally responded solid state disk and the control command code:
determining a standard operation command corresponding to the control command code according to the corresponding relation between the out-of-band management command of the out-of-band management protocol and the standard command of the NVMe-MI protocol;
and sending the standard operation command to the normally-responded solid state disk so that the normally-responded solid state disk processes the standard operation command.
7. The method of claim 5, wherein the request command is a customized debug command in the out-of-band management protocol, and the step of forwarding the request command in a plurality of solid state disks comprises:
determining the solid state disk with abnormal response based on the request command:
and sending the debugging command to the solid state disk with abnormal response to complete the debugging of the solid state disk with abnormal response.
8. The method according to claim 6 or 7, wherein the request command is a custom execution command in the out-of-band management protocol, and before the step of forwarding the request command in a plurality of solid state disks, the method further comprises:
determining an execution command code based on the request command;
determining a standard execution command corresponding to the execution command code according to the corresponding relation between the out-of-band management command of the out-of-band management protocol and the standard command of the NVMe-MI protocol;
and respectively sending the standard execution command to the solid state disks so that the solid state disks respectively process the standard execution command to obtain respective equipment response states of the solid state disks.
9. The method of claim 5, wherein the command message frame format comprises:
slave device address, read-write flag bit, data field, command code bit, port number bit, parallel bit and device status bit.
10. The method of claim 5, wherein the reply message frame format comprises:
data field, check bit, command execution state, and device response state bit.
CN202210345165.7A 2022-04-02 2022-04-02 System and method for NVMe-MI function test of solid state disk Active CN114613418B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210345165.7A CN114613418B (en) 2022-04-02 2022-04-02 System and method for NVMe-MI function test of solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210345165.7A CN114613418B (en) 2022-04-02 2022-04-02 System and method for NVMe-MI function test of solid state disk

Publications (2)

Publication Number Publication Date
CN114613418A true CN114613418A (en) 2022-06-10
CN114613418B CN114613418B (en) 2023-03-10

Family

ID=81867833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210345165.7A Active CN114613418B (en) 2022-04-02 2022-04-02 System and method for NVMe-MI function test of solid state disk

Country Status (1)

Country Link
CN (1) CN114613418B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377957A (en) * 2007-08-27 2009-03-04 佛山市顺德区顺达电脑厂有限公司 Device and method for reading and writing memory chip
CN104111907A (en) * 2014-06-27 2014-10-22 华为技术有限公司 Method for accessing NVMe storage device and NVMe storage device
CN110471816A (en) * 2019-07-02 2019-11-19 深圳市金泰克半导体有限公司 The data managing method and device of solid state hard disk
CN113010108A (en) * 2021-02-26 2021-06-22 山东英信计算机技术有限公司 Storage system and hard disk management device thereof
US20210263677A1 (en) * 2020-02-21 2021-08-26 International Business Machines Corporation Nvme queue management multi-tier storage systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377957A (en) * 2007-08-27 2009-03-04 佛山市顺德区顺达电脑厂有限公司 Device and method for reading and writing memory chip
CN104111907A (en) * 2014-06-27 2014-10-22 华为技术有限公司 Method for accessing NVMe storage device and NVMe storage device
CN110471816A (en) * 2019-07-02 2019-11-19 深圳市金泰克半导体有限公司 The data managing method and device of solid state hard disk
US20210263677A1 (en) * 2020-02-21 2021-08-26 International Business Machines Corporation Nvme queue management multi-tier storage systems
CN113010108A (en) * 2021-02-26 2021-06-22 山东英信计算机技术有限公司 Storage system and hard disk management device thereof

Also Published As

Publication number Publication date
CN114613418B (en) 2023-03-10

Similar Documents

Publication Publication Date Title
US9916270B2 (en) Virtual intelligent platform management interface (IPMI) satellite controller and method
CN103827834B (en) A kind of moving method of internal storage data, computing machine and device
US7676701B2 (en) Computer readable medium storing an error recovery program, error recovery method, error recovery apparatus, and computer system
WO2021098485A1 (en) Method and system for power-on and power-off control of pcie device
CN105183575A (en) Processor fault diagnosis method, device and system
US20190042161A1 (en) Hard Disk Operation Method and Hard Disk Manager
CN109597653A (en) Method, BIOS and the BMC of BIOS and BMC command interaction
CN110704228A (en) Solid state disk exception handling method and system
US9377966B2 (en) Method and apparatus for efficiently processing storage commands
CN103856349A (en) Version upgrading method for multi-core router and multi-core router
CN102147739B (en) Multi-mainboard server system and network-driving method thereof
CN114613418B (en) System and method for NVMe-MI function test of solid state disk
CN115599617B (en) Bus detection method and device, server and electronic equipment
CN110825547B (en) PCIE card exception recovery device and method based on SMBUS
CN210721440U (en) PCIE card abnormity recovery device, PCIE card and PCIE expansion system
CN116204214A (en) BMC upgrading method, device and system, electronic equipment and storage medium
CN111459863B (en) NVME-MI-based chassis management system and method
CN114826962A (en) Link fault detection method, device, equipment and machine readable storage medium
CN105353980B (en) A kind of moving method of internal storage data, computer and device
CN113434324A (en) Abnormal information acquisition method, system, device and storage medium
CN112579507A (en) Host machine and BMC communication method, BIOS, operating system, BMC and server
CN113722147A (en) Method for keeping service connection and related equipment
CN114444423B (en) Data processing method and system based on verification platform and electronic equipment
CN114115955B (en) Method, system, terminal and storage medium for upgrading FPGA firmware of server resource box
CN111414272B (en) Electronic device and reset method thereof

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
GR01 Patent grant
GR01 Patent grant