SMBUS-based SSD MCTP control message verification method, apparatus, computer equipment, and storage medium

By adopting an SMBUS-based SSD MCTP control message verification method, the problem of MCTP control message verification for solid-state drives is solved, enabling fast and efficient command transmission and data return, and avoiding communication conflicts.

CN115454896BActive Publication Date: 2025-12-16SUZHOU UNIONMEMORY INFORMATION SYST LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211129924.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-16
Publication Date
2025-12-16
Estimated Expiration
2042-09-16

AI Technical Summary

Technical Problem

In the current technology, there is a lack of effective methods on the market to verify the MCTP control messages of solid-state drives, which prevents the host from communicating with the solid-state drive through the SMBUS link and affects the normal execution of the NVMe-MI function.

Method used

The SSD MCTP control message verification method based on SMBUS includes steps such as starting SMBUS, allocating a new address, sending the MCTP over SMBUS Get EID command, and judging the EID value to ensure that the command is transmitted correctly and a valid EID is configured.

Benefits of technology

It enables fast and efficient verification of whether MCTP control messages can reach the solid-state drive normally through the SMBUS link, avoids communication conflicts with the same address, and ensures that data is sent back to the BMC.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115454896B_ABST
    Figure CN115454896B_ABST
Patent Text Reader

Abstract

The present application relates to the method, device, computer equipment and storage medium for verifying the SMBUS-based SSD MCTP control message, the method comprises the following steps: starting SMBUS; allocating a new address 3Ah; sending a command to the address 3Ah; obtaining the value of the destination EID; sending a command; judging whether the command is discarded; sending a command; judging whether the command is discarded; sending a command; judging whether the command is discarded; sending a command; judging whether the command is discarded; sending a command; setting EID; sending a command again; obtaining the value of the destination set EID; judging whether the value of the destination set EID is equal to the set value; and verifying success. The present application can quickly verify whether the MCTP control message command is normally passed through the SMBUS link to the solid state disk, and the data to be replied is returned to the BMC through the MCTP transmission protocol, and different EIDs can be set through the EID verification to avoid communication conflicts of the same address.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of solid-state drive MCTP communication and storage technology, and in particular to an SSD MCTP control message verification method, apparatus, computer equipment, and storage medium based on SMBUS. Background Technology

[0002] MCTP (Management Component Transport Protocol) defines a communication model for communication between elements of the platform management subsystem in a computer system. It facilitates communication between management controls and other management controls or managed devices. It can be used on various bus types, such as SMBUS (System Management Bus) and PCIe Bus (Peripheral Component Interconnect Express Bus). In computers without a host operating system or with a faulty operating system, managed devices within the computer, such as solid-state drives (SSDs), can be accessed out-of-band using the MCTP protocol through the BMC (Baseboard Management Controller) on the motherboard. In the NVME-MI (Non-Volatile Memory Express-Management Interface) specification, MCTP resides in the transport layer. When a solid-state drive (SSD) supporting MCTP performs out-of-band management access, the BMC assembles the commands to be sent into MI messages according to the NVME-MI protocol specification, encapsulates them into MCTP messages through the MCTP transport layer, and sends the MCTP messages to the SSD via the SMBUS link. After receiving the MCTP messages, the SSD decapsulates them to obtain the MI messages, parses the MI messages to obtain the message to be sent, and then assembles the data to be replied into MI messages according to the MI protocol specification. The reply MI messages are then encapsulated into MCTP messages through the MCTP transport layer and sent to the BMC via the SMBUS link. The BMC parses the MCTP messages and then parses the MI messages to obtain the reply messages.

[0003] Therefore, it is crucial to test the MCTP control message commands of solid-state drives (SSDs) that support the MCTP transport protocol. If the host cannot obtain the terminal ID via the MCTP control command Get EID (Endpoint ID) or cannot assign the correct MCTP terminal ID via the MCTP control command Set EID, commands sent from the BMC will fail to reach the SSD via SMBUS to retrieve information from the SSD or execute commands, which will affect the subsequent NVMe-MI functionality.

[0004] Currently, most laptops and desktops with SSD interfaces do not support MCTP over SMBUS testing. ULINK's Driver Master software and its accompanying PSPA (PCIe SSD Power Adapter, hereinafter referred to as PSPA) hardware lack physical SMBUS traces, and the relevant MCTP testing interfaces have not yet been developed. Therefore, there is an urgent need to develop an SMBUS-based SSD MCTP control message verification method. Summary of the Invention

[0005] The purpose of this invention is to overcome the shortcomings of the prior art and provide an SSD MCTP control message verification method, apparatus, computer equipment, and storage medium based on SMBUS.

[0006] To solve the above-mentioned technical problems, the present invention adopts the following technical solution:

[0007] Firstly, this embodiment provides an SSD MCTP control message verification method based on SMBUS, including the following steps:

[0008] Start SMBUS on the SSD;

[0009] A new address, 3Ah, is assigned via SMBUS ARP;

[0010] Send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0011] Retrieve the destination EID value from the MCTP over SMBUS Get EID command;

[0012] Determine if the destination EID value is equal to the default value;

[0013] If the destination EID value is equal to the default value, then send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=0, EOM=1, TO=1;

[0014] Determine whether the command should be discarded;

[0015] If the command is discarded, then send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=0;

[0016] Determine whether the command should be discarded;

[0017] If the command is discarded, then send an MCTP over SMBUS Get EID command to the destination EID at address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0018] Determine whether the command should be discarded;

[0019] If the command is discarded, then send an MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1, header=2;

[0020] Determine whether the command should be discarded;

[0021] If the command is dropped, an MCTP over SMBUS Get EID command is sent to address 3Ah, i.e., SOM=1, EOM=1, TO=1, setting the destination EID to a non-specially defined EID, i.e., setting the destination EID;

[0022] Send the MCTP over SMBUS Get EID command again to the destination at address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0023] Get the destination setting EID value;

[0024] Determine if the destination's EID value is equal to the set value;

[0025] If the destination EID value is equal to the set value, the verification is successful.

[0026] The further technical solution is as follows: In the step of allocating a new address, i.e., address 3Ah, through SMBUS ARP, the default address D4 of the device is changed to a new address, i.e., 3Ah, which is not D4h or C2h, through the SMBUS ARP address allocation command.

[0027] The further technical solution is as follows: after the step of determining whether the value of the destination EID is equal to the default value, it also includes: if the value of the destination EID is not equal to the default value, then the destination EID has been successfully configured.

[0028] The further technical solution is as follows: after the step of determining whether the value of the destination EID is equal to the set value, it also includes: if the value of the destination EID is not equal to the set value, then the destination EID setting fails.

[0029] Secondly, this embodiment provides an SSD MCTP control message verification device based on SMBUS, including: a startup unit, an allocation unit, a first sending unit, a first acquisition unit, a first judgment unit, a second sending unit, a second judgment unit, a third sending unit, a third judgment unit, a fourth sending unit, a fourth judgment unit, a fifth sending unit, a fifth judgment unit, a sending setting unit, a sixth sending unit, a second acquisition unit, a sixth judgment unit, and a verification unit.

[0030] The boot unit is used to boot the SMBUS on the SSD;

[0031] The allocation unit is used to allocate a new address, namely address 3Ah, via SMBUS ARP;

[0032] The first sending unit is used to send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0033] The first acquisition unit is used to acquire the value of the destination EID in the MCTP over SMBUS Get EID command;

[0034] The first determination unit is used to determine whether the value of the destination EID is equal to the default value;

[0035] The second sending unit is used to send an MCTPover SMBUS Get EID command to address 3Ah if the value of the destination EID is equal to the default value, i.e., SOM=0, EOM=1, TO=1;

[0036] The second judgment unit is used to determine whether the command should be discarded;

[0037] The third sending unit is used to send an MCTP over SMBUS GetEID command to address 3Ah if the command is dropped, i.e., SOM=1, EOM=1, TO=0;

[0038] The third judgment unit is used to determine whether the command should be discarded;

[0039] The fourth sending unit is used to send an MCTPover SMBUS Get EID command to the destination EID at address 3Ah if the command is dropped, i.e., SOM=1, EOM=1, TO=1;

[0040] The fourth judgment unit is used to determine whether the command should be discarded;

[0041] The fifth sending unit is used to send an MCTP over SMBUS GetEID command to address 3Ah if the command is dropped, i.e., SOM=1, EOM=1, TO=1, header=2;

[0042] The fifth judgment unit is used to determine whether the command should be discarded;

[0043] The sending setting unit is used to send an MCTP over SMBUS GetEID command to address 3Ah if the command is dropped, i.e., SOM=1, EOM=1, TO=1, to set the destination EID to a non-specially defined EID, i.e., the destination setting EID;

[0044] The sixth sending unit is used to send the MCTP over SMBUSGet EID command again to the destination set EID at address 3Ah, that is, SOM=1, EOM=1, TO=1;

[0045] The second acquisition unit is used to acquire the value of the destination setting EID;

[0046] The sixth judgment unit is used to determine whether the value of the destination EID is equal to the set value;

[0047] The verification unit is configured to verify successfully if the value of the destination EID is equal to the set value.

[0048] The further technical solution is as follows: In the allocation unit, the default address D4 of the device is changed to a new address other than D4h or C2h, namely 3Ah, by means of the SMBUS ARP address allocation command.

[0049] The further technical solution includes: a default unit, which is used to indicate that the destination EID has been successfully configured if the value of the destination EID is not equal to the default value.

[0050] The further technical solution includes: a failure unit, used to fail to set the destination EID if the value of the destination EID is not equal to the set value.

[0051] Thirdly, this embodiment provides a computer device, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the SMBUS-based SSD MCTP control message verification method as described above.

[0052] Fourthly, this embodiment provides a storage medium storing a computer program, the computer program including program instructions, which, when executed by a processor, can implement the SMBUS-based SSD MCTP control message verification method as described above.

[0053] The advantages of this invention compared to existing technologies are: it can quickly and efficiently verify whether MCTP control message commands can reach the solid-state drive normally through the SMBUS link, and send the data to be replied back to the BMC through the MCTP transmission protocol. By verifying the EID, different EIDs can be set to avoid conflicts in communication with the same address.

[0054] The present invention will be further described below with reference to the accompanying drawings and specific embodiments. Attached Figure Description

[0055] To more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0056] Figure 1 A flowchart illustrating the SMBUS-based SSD MCTP control message verification method provided in this embodiment of the invention;

[0057] Figure 2 A schematic block diagram of an SMBUS-based SSD MCTP control message verification device provided in an embodiment of the present invention;

[0058] Figure 3 A schematic block diagram of a computer device provided for an embodiment of the present invention. Detailed Implementation

[0059] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0060] It should be understood that, when used in this specification and the appended claims, the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.

[0061] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.

[0062] It should also be further understood that the term "and / or" as used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0063] Specifically, this SMBUS-based SSD MCTP control message verification method requires the following:

[0064] Hardware requirements:

[0065] Computer under test: SANBLAZE RM4 server;

[0066] Note: The test computer should support servers that support SMBUS and MCTP transmission protocols; the specific model is not mandatory. A SANBLAZE RM4 server is preferred as the test computer.

[0067] The solid-state drive under test: an M.2 solid-state drive that supports SMBUS ARP and MCTP transmission protocols;

[0068] Software requirements:

[0069] Operating system: CentOS 10.464bit;

[0070] Testing tools: sb_i2c, mi, io;

[0071] Test script: A self-written Shell test script.

[0072] Specifically, ARP (Address Resolution Protocol) is a TCP / IP protocol that obtains the physical address based on the IP address. When a host sends information, it broadcasts an ARP request containing the target IP address to all hosts on the local area network and receives a response message to determine the target's physical address. After receiving the response message, the IP address and physical address are stored in the local ARP cache and retained for a certain period of time. Subsequent requests directly query the ARP cache to save resources. The Address Resolution Protocol is based on mutual trust among hosts on the network. Hosts on the local area network can send ARP reply messages independently. When other hosts receive a reply message, they do not check the authenticity of the message but simply record it in their local ARP cache. Therefore, an attacker can send a fake ARP reply message to a host, causing the message to fail to reach the intended host or reach the wrong host.

[0073] Please see Figure 1 The specific embodiment shown in this invention discloses an SSD MCTP control message verification method based on SMBUS, comprising the following steps:

[0074] S1, start SMBUS on SSD;

[0075] S2, allocates a new address, namely address 3Ah, via SMBUS ARP;

[0076] Specifically, the default address D4 (the address dedicated to basic management commands) of the device is changed to a new address other than D4h or C2h, namely 3Ah, through the SMBUS ARP address allocation command.

[0077] S3 sends an MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0078] Specifically, the MCTP over SMBUS Get EID command is sent to address 3Ah via the NVME-MI application interface (SOM (Start Of Message, hereinafter referred to as SOM) = 1; EOM (End Of Message, hereinafter referred to as EOM) = 1; TO (Tag Owner, hereinafter referred to as TO) = 1).

[0079] S4, retrieve the destination EID value from the MCTP over SMBUS Get EID command;

[0080] Specifically, the EID value is obtained by sending the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1.

[0081] S5, determine whether the value of the destination EID is equal to the default value; if the value of the destination EID is not equal to the default value, then the destination EID has been successfully configured and can be used as the access ID of the target device, or it can be reconfigured to a specified EID.

[0082] Specifically, the default value is 00, indicating that no MCTP EID has been assigned.

[0083] S6. If the value of the destination EID is equal to the default value, then send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=0, EOM=1, TO=1;

[0084] Specifically, an MCTP over SMBUS Get EID command is sent to address 3Ah via NVME-MI, with SOM=0, EOM=1, and TO=1. Since SOM=0, it means that the first data of this MCTP command will not start, thus causing the command to be discarded due to an error.

[0085] S7, determine whether the command should be discarded; if the command is not discarded, handle the SOM=0 exception and display a message box indicating that the firmware cannot discard invalid commands when SOM=0.

[0086] S8, if the command is discarded, then send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=0;

[0087] Specifically, an MCTP over SMBUS Get EID command is sent to address 3Ah via NVME-MI, with SOM=1, EOM=1, and TO=0. Since TO=0, it indicates that the MCTP command is not a data packet initiated by the main management control and not responded to by the management control, thus causing the command to be dropped due to an error.

[0088] S9, determine whether the command is discarded; if the command is not discarded, handle the exception of TO=0, and the prompt box indicates that the firmware cannot discard invalid commands when TO=0.

[0089] S10, if the command is discarded, then send the MCTP over SMBUS Get EID command to the destination EID at address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0090] Specifically, an MCTP over SMBUS Get EID command was sent to the destination EID at address 3Ah via NVME-MI. Since the destination EID had never been assigned, the invalid destination EID caused the command to fail and be discarded.

[0091] S11, determine whether the command is discarded; if the command is not discarded, handle the unassigned destination EID exception, and the prompt box indicates that the firmware cannot discard commands with unassigned destination EIDs.

[0092] S12, if the command is discarded, then send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1, header=2;

[0093] Specifically, an MCTP over SMBUS Get EID command is sent to address 3Ah via NVME-MI, with the header version set to 2. Since over SMBUS requires a header version of 1, the mismatched media causes the command to fail and be discarded.

[0094] S13, determine whether the command should be discarded; if the command is not discarded, handle the header error and display a message box indicating that the firmware cannot discard commands containing mismatched media.

[0095] S14, if the command is discarded, send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1, and set the destination EID to a non-specially defined EID, i.e., set the destination EID;

[0096] Specifically, the MCTP over SMBUS Get EID command is sent to address 3Ah via NVME-MI, i.e., SOM=1, EOM=1, TO=1, to set the destination EID to a non-specially defined EID, i.e., the destination sets the EID;

[0097] Specifically, the command MCTP over SMBUS Set EID with EID=11 is sent to address 3Ah via NVME-MI, which means the destination sets the EID.

[0098] S15, send the MCTP over SMBUS Get EID command again to the destination address 3Ah to set the EID, that is, SOM=1, EOM=1, TO=1;

[0099] Specifically, the MCTP over SMBUS GetEID command is sent again to the destination EID at address 3Ah via NVME-MI, i.e., SOM=1, EOM=1, TO=1. Since the destination EID has just been successfully assigned, the execution is successful.

[0100] S16, Obtain the value of the destination setting EID;

[0101] Specifically, the MCTP over SMBUS Get EID command is sent again to the destination address 3Ah, where SOM=1, EOM=1, TO=1.

[0102] S17, determine whether the value of the destination EID setting is equal to the set value; if the value of the destination EID setting is not equal to the set value, the destination EID setting fails, and the SSD MCTP control message EID setting is marked as invalid, and subsequent verification is stopped.

[0103] S18. If the destination EID value is equal to the set value, the verification is successful.

[0104] Specifically, after successful verification, the EID can be used as the access ID of the target device to read the MCTP version.

[0105] This invention can quickly and efficiently verify whether MCTP control message commands have reached the solid-state drive normally through the SMBUS link, and send the data to be replied back to the BMC through the MCTP transmission protocol. By verifying the EID, different EIDs can be set to avoid conflicts in communication with the same address.

[0106] Please see Figure 2 As shown, the present invention also discloses an SSD MCTP control message verification device based on SMBUS, comprising: a startup unit 10, an allocation unit 20, a first sending unit 30, a first acquisition unit 40, a first judgment unit 50, a second sending unit 60, a second judgment unit 70, a third sending unit 80, a third judgment unit 90, a fourth sending unit 100, a fourth judgment unit 110, a fifth sending unit 120, a fifth judgment unit 130, a sending setting unit 140, a sixth sending unit 150, a second acquisition unit 160, a sixth judgment unit 170, and a verification unit 180;

[0107] The startup unit 10 is used to start the SMBUS on the SSD;

[0108] The allocation unit 20 is used to allocate a new address, namely address 3Ah, via SMBUS ARP;

[0109] The first sending unit 30 is used to send an MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0110] The first acquisition unit 40 is used to acquire the value of the destination EID in the MCTP over SMBUS Get EID command;

[0111] The first determination unit 50 is used to determine whether the value of the destination EID is equal to the default value;

[0112] The second sending unit 60 is used to send an MCTPover SMBUS Get EID command to address 3Ah if the value of the destination EID is equal to the default value, i.e., SOM=0, EOM=1, TO=1;

[0113] The second judgment unit 70 is used to determine whether the command is discarded;

[0114] The third sending unit 80 is used to send an MCTP over SMBUSGet EID command to address 3Ah if the command is discarded, i.e., SOM=1, EOM=1, TO=0;

[0115] The third judgment unit 90 is used to determine whether the command is discarded;

[0116] The fourth sending unit 100 is used to send an MCTPover SMBUS Get EID command to the destination EID at address 3Ah if the command is dropped, i.e., SOM=1, EOM=1, TO=1;

[0117] The fourth judgment unit 110 is used to determine whether the command is discarded;

[0118] The fifth sending unit 120 is used to send an MCTP over SMBUSGet EID command to address 3Ah if the command is discarded, i.e., SOM=1, EOM=1, TO=1, header=2;

[0119] The fifth judgment unit 130 is used to determine whether the command is discarded;

[0120] The sending setting unit 140 is used to send an MCTP over SMBUSGet EID command to address 3Ah if the command is dropped, i.e., SOM=1, EOM=1, TO=1, to set the destination EID to a non-specially defined EID, i.e., the destination setting EID.

[0121] The sixth sending unit 150 is used to send the MCTP overSMBUS Get EID command again to the destination EID set at address 3Ah, that is, SOM=1, EOM=1, TO=1;

[0122] The second acquisition unit 160 is used to acquire the value of the destination setting EID;

[0123] The sixth judgment unit 170 is used to determine whether the value of the destination setting EID is equal to the set value;

[0124] The verification unit 180 is used to verify successfully if the value of the destination EID is equal to the set value.

[0125] In the allocation unit 20, the default address D4 of the device is changed to a new address other than D4h or C2h, namely 3Ah, by using the SMBUS ARP address allocation command.

[0126] The device also includes a default unit, which is used to indicate that the destination EID has been successfully configured if the value of the destination EID is not equal to the default value.

[0127] The device further includes a failure unit, which is used to fail to set the destination EID if the value of the destination EID setting is not equal to the setting value.

[0128] It should be noted that those skilled in the art can clearly understand that the specific implementation process of the above-mentioned SMBUS-based SSDMCTP control message verification device and its various units can be referred to the corresponding descriptions in the foregoing method embodiments. For the sake of convenience and brevity, these details will not be repeated here.

[0129] The aforementioned SMBUS-based SSD MCTP control message verification device can be implemented as a computer program, which can, for example... Figure 3 It runs on the computer device shown.

[0130] Please see Figure 3 , Figure 3 This is a schematic block diagram of a computer device 500 provided in an embodiment of this application; the computer device 500 can be a terminal or a server, wherein the terminal can be an electronic device with communication functions such as a smartphone, tablet computer, laptop computer, desktop computer, personal digital assistant, and wearable device. The server can be a standalone server or a server cluster composed of multiple servers.

[0131] See Figure 3The computer device 500 includes a processor 502, a memory, and a network interface 505 connected via a system bus 501. The memory may include a non-volatile storage medium 503 and internal memory 504.

[0132] The non-volatile storage medium 503 may store an operating system 5031 and a computer program 5032. The computer program 5032 includes program instructions that, when executed, cause the processor 502 to perform an SMBUS-based SSDMCTP control message verification method.

[0133] The processor 502 provides computing and control capabilities to support the operation of the entire computer device 500.

[0134] The internal memory 504 provides an environment for the execution of the computer program 5032 in the non-volatile storage medium 503. When the computer program 5032 is executed by the processor 502, the processor 502 can execute an SMBUS-based SSD MCTP control message verification method.

[0135] This network interface 505 is used for network communication with other devices. Those skilled in the art will understand that... Figure 3 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device 500 to which the present application is applied. The specific computer device 500 may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0136] The processor 502 is used to run a computer program 5032 stored in the memory to perform the following steps:

[0137] Step S1: Start SMBUS on the SSD;

[0138] Step S2: Assign a new address, namely address 3Ah, via SMBUS ARP;

[0139] Step S3: Send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0140] Step S4: Obtain the value of the destination EID from the MCTP over SMBUS Get EID command;

[0141] Step S5: Determine whether the value of the destination EID is equal to the default value;

[0142] Step S6: If the value of the destination EID is equal to the default value, then send the MCTP over SMBUS GetEID command to address 3Ah, i.e., SOM=0, EOM=1, TO=1;

[0143] Step S7: Determine whether the command should be discarded;

[0144] Step S8: If the command is discarded, send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=0;

[0145] Step S9: Determine whether the command should be discarded;

[0146] Step S10: If the command is discarded, send the MCTP over SMBUS GetEID command to the destination EID at address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0147] Step S11: Determine whether the command should be discarded;

[0148] Step S12: If the command is discarded, send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1, header=2;

[0149] Step S13: Determine whether the command should be discarded;

[0150] Step S14: If the command is dropped, send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1, and set the destination EID to a non-specially defined EID, i.e., set the destination EID.

[0151] Step S15: Send the MCTP over SMBUS Get EID command again to the destination EID set at address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0152] Step S16: Obtain the value of the destination setting EID;

[0153] Step S17: Determine whether the value of the destination EID setting is equal to the set value;

[0154] Step S18: If the value of the destination EID is equal to the set value, the verification is successful.

[0155] It should be understood that in the embodiments of this application, the processor 502 may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0156] It will be understood by those skilled in the art that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program includes program instructions and can be stored in a storage medium, which is a computer-readable storage medium. The program instructions are executed by at least one processor in the computer system to implement the process steps of the embodiments of the above methods.

[0157] Therefore, the present invention also provides a storage medium. This storage medium can be a computer-readable storage medium. The storage medium stores a computer program, wherein the computer program includes program instructions that, when executed by a processor, can implement the above-described SMBUS-based SSD MCTP control message verification method. The storage medium stores a computer program, which includes program instructions that, when executed by a processor, can implement the above-described method. The program instructions include the following steps:

[0158] Step S1: Start SMBUS on the SSD;

[0159] Step S2: Assign a new address, namely address 3Ah, via SMBUS ARP;

[0160] Step S3: Send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0161] Step S4: Obtain the value of the destination EID from the MCTP over SMBUS Get EID command;

[0162] Step S5: Determine whether the value of the destination EID is equal to the default value;

[0163] Step S6: If the value of the destination EID is equal to the default value, then send the MCTP over SMBUS GetEID command to address 3Ah, i.e., SOM=0, EOM=1, TO=1;

[0164] Step S7: Determine whether the command should be discarded;

[0165] Step S8: If the command is discarded, send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=0;

[0166] Step S9: Determine whether the command should be discarded;

[0167] Step S10: If the command is discarded, send the MCTP over SMBUS GetEID command to the destination EID at address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0168] Step S11: Determine whether the command should be discarded;

[0169] Step S12: If the command is discarded, send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1, header=2;

[0170] Step S13: Determine whether the command should be discarded;

[0171] Step S14: If the command is dropped, send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1, and set the destination EID to a non-specially defined EID, i.e., set the destination EID.

[0172] Step S15: Send the MCTP over SMBUS Get EID command again to the destination EID set at address 3Ah, i.e., SOM=1, EOM=1, TO=1;

[0173] Step S16: Obtain the value of the destination setting EID;

[0174] Step S17: Determine whether the value of the destination EID setting is equal to the set value;

[0175] Step S18: If the value of the destination EID is equal to the set value, the verification is successful.

[0176] The storage medium can be any computer-readable storage medium capable of storing program code, such as a USB flash drive, portable hard drive, read-only memory (ROM), magnetic disk, or optical disk.

[0177] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0178] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For example, the division of each unit is merely a logical functional division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.

[0179] The steps in the method of this invention can be adjusted, merged, or reduced in order according to actual needs. The units in the device of this invention can be merged, divided, or reduced according to actual needs. Furthermore, the functional units in the various embodiments of this invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0180] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a terminal, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.

[0181] The above embodiments are preferred implementations of the present invention. In addition, the present invention can be implemented in other ways. Any obvious substitutions without departing from the concept of the present technical solution are within the protection scope of the present invention.

Claims

1. An SSD MCTP control message verification method based on SMBUS, characterized in that, Includes the following steps: Start SMBUS on the SSD; A new address, 3Ah, is assigned via SMBUS ARP; Send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1; Retrieve the destination EID value from the MCTP over SMBUS Get EID command; Determine if the destination EID value is equal to the default value; If the destination EID value is equal to the default value, then send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=0, EOM=1, TO=1; Determine whether the command should be discarded; If the command is discarded, then send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=0; Determine whether the command should be discarded; If the command is discarded, an MCTP over SMBUS Get EID command is sent to the destination EID at address 3Ah, i.e., SOM=1, EOM=1, TO=1; Determine whether the command should be discarded; If the command is discarded, then send an MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1, header=2; Determine whether the command should be discarded; If the command is dropped, an MCTP over SMBUS Get EID command is sent to address 3Ah, i.e., SOM=1, EOM=1, TO=1, setting the destination EID to a non-specially defined EID, i.e., setting the destination EID; Send the MCTP over SMBUS Get EID command again to the destination set EID at address 3Ah, i.e., SOM=1, EOM=1, TO=1; Get the destination setting EID value; Determine if the destination's EID value is equal to the set value; If the destination EID value is equal to the set value, the verification is successful.

2. The SSD MCTP control message verification method based on SMBUS according to claim 1, characterized in that, In the step of allocating a new address via SMBUS ARP, i.e., address 3Ah, the default address D4 of the device is changed to a new address other than D4h or C2h, i.e., 3Ah, using the SMBUS ARP address allocation command.

3. The SSD MCTP control message verification method based on SMBUS according to claim 1, characterized in that, After determining whether the value of the destination EID is equal to the default value, the method further includes: if the value of the destination EID is not equal to the default value, then the destination EID has been successfully configured.

4. The SSD MCTP control message verification method based on SMBUS according to claim 1, characterized in that, After the step of determining whether the value of the destination EID is equal to the set value, the method further includes: if the value of the destination EID is not equal to the set value, then the destination EID setting fails.

5. An SSD MCTP control message verification device based on SMBUS, characterized in that, include: The system includes a startup unit, an allocation unit, a first sending unit, a first acquisition unit, a first judgment unit, a second sending unit, a second judgment unit, a third sending unit, a third judgment unit, a fourth sending unit, a fourth judgment unit, a fifth sending unit, a fifth judgment unit, a sending setting unit, a sixth sending unit, a second acquisition unit, a sixth judgment unit, and a verification unit. The boot unit is used to boot the SMBUS on the SSD; The allocation unit is used to allocate a new address, namely address 3Ah, via SMBUS ARP; The first sending unit is used to send the MCTP over SMBUS Get EID command to address 3Ah, i.e., SOM=1, EOM=1, TO=1; The first acquisition unit is used to acquire the value of the destination EID in the MCTP over SMBUS Get EID command; The first determination unit is used to determine whether the value of the destination EID is equal to the default value; The second sending unit is used to send an MCTP overSMBUS Get EID command to address 3Ah if the value of the destination EID is equal to the default value, i.e., SOM=0, EOM=1, TO=1; The second judgment unit is used to determine whether the command should be discarded; The third sending unit is used to send an MCTP over SMBUS Get EID command to address 3Ah if the command is discarded, i.e., SOM=1, EOM=1, TO=0; The third judgment unit is used to determine whether the command should be discarded; The fourth sending unit is used to send an MCTP overSMBUS Get EID command to the destination EID at address 3Ah if the command is dropped, i.e., SOM=1, EOM=1, TO=1; The fourth judgment unit is used to determine whether the command should be discarded; The fifth sending unit is used to send an MCTP over SMBUS Get EID command to address 3Ah if the command is dropped, i.e., SOM=1, EOM=1, TO=1, header=2; The fifth judgment unit is used to determine whether the command should be discarded; The sending setting unit is used to send an MCTP over SMBUS Get EID command to address 3Ah if the command is dropped, i.e., SOM=1, EOM=1, TO=1, to set the destination EID to a non-specially defined EID, i.e., the destination setting EID; The sixth sending unit is used to send the MCTP over SMBUS GetEID command again to the destination set EID at address 3Ah, that is, SOM=1, EOM=1, TO=1; The second acquisition unit is used to acquire the value of the destination setting EID; The sixth judgment unit is used to determine whether the value of the destination EID is equal to the set value; The verification unit is configured to verify successfully if the value of the destination EID is equal to the set value.

6. The SSD MCTP control message verification device based on SMBUS according to claim 5, characterized in that, In the allocation unit, the default address D4 of the device is changed to a new address other than D4h or C2h, namely 3Ah, by using the SMBUS ARP address allocation command.

7. The SSD MCTP control message verification device based on SMBUS according to claim 5, characterized in that, Also includes: The default unit is used to indicate that the destination's EID has been successfully configured if the destination's EID value is not equal to the default value.

8. The SSD MCTP control message verification device based on SMBUS according to claim 5, characterized in that, Also includes: The failure unit is used to indicate that the destination EID setting fails if the value of the destination setting EID is not equal to the set value.

9. A computer device, characterized in that, The computer device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the SSD MCTP control message verification method based on SMBUS as described in any one of claims 1-4.

10. A storage medium, characterized in that, The storage medium stores a computer program, which includes program instructions that, when executed by a processor, can implement the SMBUS-based SSD MCTP control message verification method as described in any one of claims 1-4.

Citation Information

Patent Citations

  • Link fault detection method, device and equipment and machine readable storage medium

    CN114826962A

  • Method and device for testing and verifying SMBUS address resolution protocol of solid state disk

    CN114996775A