CN116257268A - Equipment upgrading method and device, electronic equipment and storage medium - Google Patents
Equipment upgrading method and device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN116257268A CN116257268A CN202310084919.2A CN202310084919A CN116257268A CN 116257268 A CN116257268 A CN 116257268A CN 202310084919 A CN202310084919 A CN 202310084919A CN 116257268 A CN116257268 A CN 116257268A
- Authority
- CN
- China
- Prior art keywords
- nvme
- data packet
- upgrade
- transparent
- bmc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000004806 packaging method and process Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 41
- 230000005540 biological transmission Effects 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims 1
- 230000008878 coupling Effects 0.000 abstract description 7
- 238000010168 coupling process Methods 0.000 abstract description 7
- 238000005859 coupling reaction Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The embodiment of the invention provides a device upgrading method and device, electronic equipment and a storage medium. The method is applied to a server, the server comprises NVMe equipment, an NVMe controller and a BMC, the server is communicated with an upper computer, and the method comprises the following steps: receiving a first transparent command message sent by an upper computer through a BMC, wherein the first transparent command message comprises a transparent command word and a target upgrading data packet; the transparent command word is used for indicating that the BMC does not analyze the target upgrading data packet when analyzing the first transparent command message; after the BMC analyzes the first transparent command message, packaging the first transparent command message to obtain a second transparent command message, and sending the second transparent command message to the NVMe controller; and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to upgrade. The method can reduce the coupling degree of the BMC and the NVMe equipment and improve the operation efficiency of the server system.
Description
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and apparatus for upgrading a device, an electronic device, and a storage medium.
Background
NVMe (non-volatile memory express, nonvolatile memory express) devices are memory devices using NVMe interface specifications, including SSD (Solid State Drive, solid state disk), SDI (Service Driven Infrastucture, service drive infrastructure)) cards, and the like.
The BMC (Baseboard Management Controller ) is typically a stand-alone board mounted on a server motherboard, providing support for IPMI (Intelligent Platform Management Interface ) commands. In operation, all IPMI functions are completed by sending commands to the BMC, which uses instructions specified in the IPMI specification, and the BMC receives and records event messages in the system event log, maintaining a record of sensor data describing the sensor conditions in the system.
In a conventional server, a BMC accesses an NVMe device through physical buses such as I2C (Inter-Integrated Circuit, integrated circuit interconnection), PCIe (Peripheral Component Interconnect express, peripheral express interconnection) and the like in response to an IPMI command, so as to obtain vendor, temperature and voltage information of the NVMe device, and perform operations such as upgrading the NVMe device. However, in the operation process, the coupling degree of the BMC and the NVMe equipment is high, so that the system operation efficiency is low, and if the NVMe equipment is upgraded, the BMC also needs to be correspondingly upgraded, and the whole development period relates to multiparty service development.
Disclosure of Invention
In view of the foregoing, embodiments of the present invention are directed to providing a device upgrade method, apparatus, electronic device, and storage medium that overcome or at least partially solve the foregoing problems.
In order to solve the above problems, in a first aspect, an embodiment of the present invention discloses a device upgrade method, where the method is applied to a server, the server includes a nonvolatile storage flash channel NVMe device, an NVMe controller, and a baseboard management controller BMC, and the server communicates with an upper computer, and the method includes:
receiving, by the BMC, a first transparent command packet sent by the upper computer, where the first transparent command packet includes: the driving type of the NVMe controller, the identification of the NVMe controller, the transparent transmission command word and the target upgrading data packet; the transparent command word is used for indicating that the BMC does not analyze the target upgrading data packet;
analyzing the first transparent command message through the BMC, and packaging the first transparent command message according to the driving type of the NVMe controller to obtain a second transparent command message;
the BMC sends the second transparent command message to the NVMe controller according to the identifier of the NVMe controller;
And sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded.
Optionally, the transparent command word is further configured to instruct the NVMe controller to upgrade the NVMe device, and the sending, by the NVMe controller, the target upgrade data packet to the NVMe device and triggering the NVMe device to upgrade includes:
receiving and analyzing the second transparent command message through the NVMe controller to obtain the transparent command word and the target upgrading data packet;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded according to the transparent command word.
Optionally, the first transparent command packet further includes an upgrade command, where the upgrade command is configured to instruct the NVMe controller to upgrade the NVMe device, and the sending, by the NVMe controller, the target upgrade data packet to the NVMe device and triggering the NVMe device to upgrade includes:
receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain the upgrading command and the target upgrading data packet;
And sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded according to the upgrading command.
Optionally, the method further comprises:
after the upper computer acquires the upgrade data packet, the upper computer performs slicing processing on the upgrade data packet according to the size of the upgrade data packet and the load of the first transparent transmission command to obtain a plurality of sub-upgrade data packets;
and using the sub-upgrading data packet as a target upgrading data packet through the upper computer, and generating a first transparent command message according to the target upgrading data packet.
Optionally, the method further comprises:
receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain the plurality of sub-upgrading data packets;
combining the plurality of sub-upgrading data packets through the NVMe controller to obtain the upgrading data packet, and checking the upgrading data packet to obtain a checking result;
sending a first response message to the BMC through the NVMe controller, wherein the first response message comprises the verification result;
receiving the first response message sent by the BMC through the upper computer, and sending an upgrade starting command to the BMC according to the verification result;
And receiving an upgrade starting command sent by the BMC through the NVMe controller, and triggering the NVMe equipment to upgrade.
Optionally, the first transparent command message further includes: the method for combining the plurality of sub-upgrade data packets to obtain the upgrade data packet and checking the upgrade data packet by the NVMe controller comprises the following steps:
and combining the plurality of sub-upgrading data packets according to the total number of the sub-upgrading data packets and the current number of the sub-upgrading data packets by the NVMe controller to obtain the upgrading data packet, and checking the upgrading data packet according to the sub-upgrading data packet check code.
Optionally, the method further comprises:
and when the NVMe equipment finishes upgrading, sending a second response message through the NVMe equipment, wherein the second response message comprises an NVMe equipment upgrading result.
The embodiment of the invention discloses a device upgrading device, which is applied to a server, wherein the server comprises nonvolatile memory express channel (NVMe) equipment, an NVMe controller and a Baseboard Management Controller (BMC), and the server is communicated with an upper computer, and the device comprises:
The first transparent command message receiving module is configured to receive, through the BMC, a first transparent command message sent by the upper computer, where the first transparent command message includes: the driving type of the NVMe controller, the identification of the NVMe controller, the transparent transmission command word and the target upgrading data packet; the transparent command word is used for indicating that the BMC does not analyze the target upgrading data packet;
the first transparent command message packaging module is used for analyzing the first transparent command message through the BMC and packaging the first transparent command message according to the driving type of the NVMe controller to obtain a second transparent command message;
the second transparent command message sending module is used for sending the second transparent command message to the NVMe controller through the BMC according to the identifier of the NVMe controller;
and the equipment upgrading module is used for sending the target upgrading data packet to the NVMe equipment through the NVMe controller and triggering the NVMe equipment to be upgraded.
Optionally, the transparent command word is further configured to instruct the NVMe controller to upgrade the NVMe device, and the device upgrade module is specifically configured to:
Receiving and analyzing the second transparent command message through the NVMe controller to obtain the transparent command word and the target upgrading data packet;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded according to the transparent command word.
Optionally, the first transparent command message further includes an upgrade command, where the upgrade command is used to instruct the NVMe controller to upgrade the NVMe device, and the device upgrade module is specifically configured to:
receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain the upgrading command and the target upgrading data packet;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded according to the upgrading command.
Optionally, the device further includes a first transparent command message generating module, configured to, after the upper computer obtains the upgrade data packet, perform, by using the upper computer, a slicing process on the upgrade data packet according to the size of the upgrade data packet and the load of the first transparent command, to obtain a plurality of sub-upgrade data packets; and using the sub-upgrading data packet as a target upgrading data packet through the upper computer, and generating a first transparent command message according to the target upgrading data packet.
Optionally, the device upgrade module specifically includes:
the upgrade data packet combination and verification unit is used for receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain a plurality of sub upgrade data packets; combining the plurality of sub-upgrading data packets through the NVMe controller to obtain the upgrading data packet, and checking the upgrading data packet to obtain a checking result;
a first response message sending unit, configured to send a first response message to the BMC through the NVMe controller, where the first response message includes the verification result;
the upgrade starting command receiving unit is used for receiving the first response message sent by the BMC through the upper computer and sending an upgrade starting command to the BMC according to the verification result;
and the equipment upgrading triggering unit is used for receiving an upgrading starting command sent by the BMC through the NVMe controller and triggering the NVMe equipment to be upgraded.
Optionally, the first transparent command message further includes: the upgrade data packet combination and verification unit is specifically configured to combine, by using the NVMe controller, the plurality of sub-upgrade data packets according to the total number of sub-upgrade data packets and the current number of sub-upgrade data packets, to obtain the upgrade data packet, and to verify the upgrade data packet according to the sub-upgrade data packet verification code.
Optionally, the apparatus further includes:
and the second response message sending module is used for sending a second response message through the NVMe equipment when the NVMe equipment is updated, wherein the second response message comprises an updating result of the NVMe equipment.
In a third aspect, an embodiment of the present invention discloses an electronic device, including: a processor, a memory and a computer program stored on the memory and capable of running on the processor, which when executed by the processor, implements the steps of the device upgrade method as described above.
In a fourth aspect of the present invention, embodiments of the present invention disclose a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of a device upgrade method as described above.
The embodiment of the invention has the following advantages:
receiving a first transparent command message sent by an upper computer through a BMC, wherein the first transparent command message comprises a transparent command word and a target upgrading data packet; the transparent command word is used for indicating that the BMC does not analyze the target upgrading data packet when analyzing the first transparent command message; after the BMC analyzes the first transparent command message, packaging the first transparent command message to obtain a second transparent command message, and sending the second transparent command message to the NVMe controller; and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to upgrade. The method can reduce the coupling degree of the BMC and the NVMe equipment and improve the operation efficiency of the server system; after the NVMe equipment is upgraded, further development and adaptation upgrading of the BMC are not needed, and the development period can be shortened.
Drawings
FIG. 1 is a flow chart of steps of a method for upgrading equipment provided by an embodiment of the invention;
FIG. 2 is a flow chart of a method for upgrading a device according to an embodiment of the present invention;
FIG. 3 is a block diagram of an apparatus for upgrading a device according to an embodiment of the present invention;
fig. 4 is a block diagram of an electronic device according to an embodiment of the present invention;
fig. 5 is a block diagram of a computer-readable storage medium according to an embodiment of the present invention.
Detailed Description
In order that the above-recited objects, features and advantages of the present invention will become more readily apparent, a more particular description of the invention will be rendered by reference to the appended drawings and appended detailed description.
Because the coupling degree between the BMC and the NVMe equipment of the server is high, the system operation efficiency can be reduced to a certain extent, and when the NVMe equipment is updated, the BMC also needs to be correspondingly updated, so that the system stability is affected. Therefore, one of the core concepts of the embodiments of the present invention is to develop a transparent command word for upgrading, and open a link between the upper computer software and the NVMe device, so that the upper computer can upgrade the NVMe device connected to the BMC by using the transparent command word, so that after the NVMe device is upgraded, the BMC does not need to be adaptively upgraded, thereby shortening the development period and improving the stability of the server.
Referring to fig. 1, a step flow chart of an apparatus upgrade method provided by an embodiment of the present invention is applied to a server, where the server includes a nonvolatile storage fast channel NVMe apparatus, an NVMe controller, a baseboard management controller BMC, and the server communicates with an upper computer, and the method specifically includes the following steps:
When the NVMe device needs to be upgraded, a first transparent command message can be generated through the upper computer, and the first transparent command message can be a message based on an IPMI protocol. The first transparent command message may include a drive type of the NVMe controller, an identifier of the NVMe controller, a transparent command word, and a target upgrade data packet. The target upgrading data packet is a part or all of upgrading data packets corresponding to the NVMe equipment; the transparent command word is a command word designed based on the IPMI protocol, and is used for indicating the BMC to analyze the first transparent command message when receiving the first transparent command message, and stopping continuously analyzing when the transparent command word is analyzed, namely not analyzing the load-target upgrading data packet after the transparent command word.
After the upper computer generates the first transparent command message, the upper computer sends the first transparent command message to the BMC which is located in the same server as the NVMe equipment needing to be updated. And sending a first transparent command message to the BMC according to the IP address of the BMC.
The BMC receives the first transparent command message and analyzes the first transparent command message to obtain the driving type of the NVMe controller and the identifier of the NVMe controller, and when the BMC analyzes the transparent command word, the BMC stops analyzing the content after the transparent command word, namely, the BMC stops analyzing the target upgrading data packet after the transparent command word.
And 102, analyzing the first transparent command message through the BMC, and packaging the first transparent command message according to the driving type of the NVMe controller to obtain a second transparent command message.
After the BMC receives the first transparent command message, the first transparent command message is analyzed, and the driving type of the NVMe controller can be obtained. The BMC can package the first transparent command message according to the driving type of the NVMe controller, package the first transparent command message into a driving format corresponding to the driving type of the NVMe controller, and obtain a second transparent command message.
And step 103, sending a second transparent command message to the NVMe controller through the BMC according to the identifier of the NVMe controller.
After the BMC receives the first transparent command message, the BMC analyzes the first transparent command message, and can obtain the identifier of the NVMe controller. The BMC may send the second transparent command message to the corresponding NVMe controller according to the identifier of the NVMe controller.
And the NVMe controller receives the second transparent command message, and analyzes the second transparent command message to obtain a transparent command word and a target upgrading data packet. And the NVMe controller sends the target upgrading data packet to the NVMe equipment and triggers the NVMe equipment to upgrade.
In the embodiment of the invention, a first transparent command message sent by an upper computer is received through a BMC, wherein the first transparent command message comprises: the driving type of the NVMe controller, the identification of the NVMe controller, the transparent transmission command word and the target upgrading data packet; the transparent command word is used for indicating the BMC not to analyze the target upgrading data packet; analyzing the first transparent command message through the BMC, and packaging the first transparent command message according to the driving type of the NVMe controller to obtain a second transparent command message; sending a second transparent command message to the NVMe controller by the BMC according to the identifier of the NVMe controller; and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to upgrade. The method can reduce the coupling degree of the BMC and the NVMe equipment and improve the operation efficiency of the server system. And after the NVMe equipment is upgraded, the BMC is not required to be adaptively developed and upgraded, and only the upgrade program of the upper computer is required to be correspondingly updated, so that the development period can be shortened, and meanwhile, the stability and the reliability of the server can be ensured by reducing the upgrade of the BMC.
In an embodiment, the transparent command word is further used to instruct the NVMe controller to upgrade the NVMe device, send, by the NVMe controller, the target upgrade data packet to the NVMe device, and trigger the NVMe device upgrade, including:
receiving and analyzing the second transparent command message through the NVMe controller to obtain a transparent command word and a target upgrading data packet;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to upgrade according to the transparent command word.
And the NVMe controller receives the second transparent command message, and analyzes the second transparent command message to obtain a transparent command word and a target upgrading data packet. The transparent command word is used for indicating the NVMe controller to upgrade the NVMe equipment, so that when the NVMe controller analyzes the transparent command word, the target upgrade data packet is sent to the NVMe equipment, and when the target upgrade data packet is sent, the NVMe controller triggers the NVMe equipment to upgrade.
In the embodiment of the invention, after the BMC analyzes the transparent command word, the analysis of the target upgrading data packet after the transparent command word is stopped, and after the NVMe controller analyzes the transparent command word, the target upgrading data is sent to the NVMe equipment, and the NVMe equipment is triggered to be upgraded. By transmitting the command word, the part of management functions of the BMC on the NVMe equipment can be decoupled, and the NVMe equipment can be updated. Through the data transmission function, all data packets in the message generated based on the transmission command word can be transmitted to the NVMe controller through the BMC, so that direct data interaction between the upper computer software and the NVMe device is realized.
In an embodiment, the first transparent command packet further includes an upgrade command, where the upgrade command is configured to instruct the NVMe controller to upgrade the NVMe device, send, by the NVMe controller, the target upgrade data packet to the NVMe device, and trigger the NVMe device to upgrade, and includes:
receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain an upgrade command and a target upgrade data packet;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to upgrade according to the upgrading command.
The transparent command word may be only used to instruct the BMC not to parse the target upgrade data packet, and at this time, an upgrade command needs to be added to the first transparent command packet, and after the NVMe controller parses the upgrade command and the target upgrade data packet from the second transparent command packet, the NVMe controller responds to the upgrade command to send the target upgrade data packet to the NVMe device, and triggers the NVMe device to upgrade. The upgrade command may be an IPMI protocol-based command, and the upgrade command may be a command not otherwise designed, but an existing one based on the IPMI protocol.
In the embodiment of the invention, the BMC is only indicated by the transparent command word not to analyze the target upgrading data packet, so that the design of the transparent command word can be simplified, and the use of the transparent command word can be enriched. For example, not only the transparent command word is used to upgrade the NVMe device, but also the transparent command word and other existing control commands can be combined to perform control operation on the NVMe device.
In one embodiment, the device upgrade method further comprises:
after the upper computer acquires the upgrade data packet, the upper computer performs slicing processing on the upgrade data packet according to the size of the upgrade data packet and the load of the first transparent transmission command to obtain a plurality of sub-upgrade data packets;
and using the sub-upgrading data packet as a target upgrading data packet through the upper computer, and generating a first transparent command message according to the target upgrading data packet.
When the size of the upgrade data packet exceeds the load of the first transparent transmission command, the upgrade data packet can be subjected to slicing processing according to the size of the upgrade data packet and the load of the first transparent transmission command, and the upgrade data packet is divided into a plurality of sub-upgrade data packets; and taking the sub-upgrading data packet as a target upgrading data packet, and generating a first transparent command message according to the target upgrading data packet. According to the number of the sub-upgrade data packets, a corresponding number of first transparent command messages can be generated.
When the NVMe equipment is upgraded, the upper computer can transmit each sub-upgrade data packet to the NVMe equipment through the BMC, so that the coupling relation between the BMC and the NVMe equipment can be decoupled, and the upgrading flexibility is improved.
In one embodiment, the device upgrade method further comprises:
Receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain a plurality of sub-upgrading data packets;
combining the plurality of sub-upgrading data packets through the NVMe controller to obtain an upgrading data packet, and checking the upgrading data packet to obtain a checking result;
sending a first response message to the BMC through the NVMe controller, wherein the first response message comprises a verification result;
the method comprises the steps that a first response message sent by the BMC is received through an upper computer, and an upgrade starting command is sent to the BMC according to a verification result;
and receiving an upgrade starting command sent by the BMC through the NVMe controller, and triggering the upgrade of the NVMe equipment.
And the second transparent command message comprises a sub-upgrading data packet, and each sub-upgrading data packet can be obtained by receiving and analyzing the second transparent command message through the NVMe controller. And combining all the sub-upgrading data packets through the NVMe controller to obtain an upgrading data packet. After the upgrade data packet is obtained, the upgrade data packet may be checked by the NVMe controller, and a check result may be generated, and the check content may include: the combination sequence of sub-upgrade data packets, the integrity of the upgrade data packets, etc. NVMe controller. And generating a first response message according to the verification result, wherein the first response message comprises the verification result. The NVMe controller sends a first response message to the upper computer through the BMC. The upper computer can judge whether the check result in the first response message meets the preset condition, wherein the preset condition can be that the combination sequence of the sub-upgrading data packets is correct and the upgrading data packets are complete; if the check result in the first response message meets the preset condition, an upgrade starting command can be sent. The upgrade initiation command is sent to the NVMe controller via the BMC. The NVMe controller receives and responds to the upgrade start command to trigger the NVMe device upgrade.
In one embodiment, the first transparent command message further includes: the total number of sub-upgrade data packets, the current number of the sub-upgrade data packets and the verification code of the sub-upgrade data packets are combined through an NVMe controller to obtain an upgrade data packet, and the upgrade data packet is verified, and the method comprises the following steps:
and combining the plurality of sub-upgrading data packets according to the total number of the sub-upgrading data packets and the current number of the sub-upgrading data packets by the NVMe controller to obtain an upgrading data packet, and checking the upgrading data packet according to the sub-upgrading data packet check code.
When the size of the upgrade data packet exceeds the load of the first transparent command, the upgrade data packet can be subjected to slicing processing according to the size of the upgrade data packet and the load of the first transparent command to obtain a plurality of sub-upgrade data packets, the sub-upgrade data packets are used as target upgrade data packets, and a first transparent command message is generated according to the target upgrade data packets. When the first transparent command message is generated, information such as the total number of sub-upgrading data packets, the current number of sub-upgrading data packets, the check code of the sub-upgrading data packets and the like can be added in the first transparent command message. And after the NVMe controller receives each second transparent command message and analyzes each sub-upgrading data packet from each second transparent command message, each sub-upgrading data packet can be combined according to the total number of sub-upgrading data packets and the current number of sub-upgrading data packets to obtain an upgrading data packet. Meanwhile, the upgrade data packet can be checked according to the sub-upgrade data packet check code.
In one embodiment, the device upgrade method further comprises:
and when the NVMe equipment finishes upgrading, sending a second response message through the NVMe equipment, wherein the second response message comprises an NVMe equipment upgrading result.
When the NVMe device finishes upgrading, a second response message may be generated, where the second response message includes an NVMe device upgrading result. And the second response message is sent to the upper computer through the NVMe controller and the BMC, and when the upper computer receives the second response message, one round of equipment upgrading is completed.
In one embodiment, the program in the upper computer may combine the transparent command word according to the device upgrade procedure to generate a first transparent command message, and send the first transparent command message to the BMC based on the IPMI command, and at the same time, the program may also parse the first response message and the second response message sent back through the BMC in the device upgrade process.
After the transparent command word is designed, the program in the upper computer can be combined with the transparent command word to generate a first transparent command message, and meanwhile, the BMC and the NVMe controller can analyze and identify the transparent command word to ensure the smoothness of the upgrading process.
Referring to fig. 2, a flowchart of a device upgrade method provided by an embodiment of the present invention is shown. The upper computer software sends a first transparent command message to the BMC based on the IPMI command, an NVMe-MI (Non-Volatile Memory express Management Interface, nonvolatile memory rapid channel management interface) upgrading module in the BMC receives the first transparent command message and analyzes the first transparent command message to obtain a driving type of an NVMe controller, wherein the driving type of the NVMe controller can be I2C or PCIe. And after determining the driving type of the NVMe controller, the driving adaptation layer in the BMC calls a corresponding driving module, and encapsulates the first transparent command message into a corresponding driving format to obtain a second transparent command message. And then, the BMC sends a second transparent command message to the corresponding NVMe controller according to the identification of the NVMe controller analyzed from the first transparent command message, and finally, the NVMe controller starts the NVMe equipment to be updated.
By constructing the transparent command word and generating the transparent command message according to the IPMI command, after the transparent command message is transmitted to the BMC, the BMC does not analyze the subsequent content after analyzing the transparent command word, and transmits the transparent command message to the NVMe controller, and after analyzing the transparent command message, the NVMe controller acquires and processes the command load content. The BMC does not sense the content of the message in the whole interaction process and is a non-sensing operation. According to the embodiment, the coupling between the IPMI command and the BMC can be reduced, the command control message of the upper computer can be independently developed, the BMC upgrading frequency is further reduced, the reliability of the server is improved, and the maintenance cost of the server is reduced.
It should be noted that, for simplicity of description, the method embodiments are shown as a series of acts, but it should be understood by those skilled in the art that the embodiments are not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred embodiments, and that the acts are not necessarily required by the embodiments of the invention.
Referring to fig. 3, a block diagram of a device upgrade apparatus provided by an embodiment of the present invention is shown, where the apparatus is applied to a server, where the server includes a nonvolatile storage flash channel NVMe device, an NVMe controller, and a baseboard management controller BMC, and the server communicates with an upper computer, and the apparatus may include the following modules:
the first transparent command message receiving module 201 is configured to receive, by using the BMC, a first transparent command message sent by the upper computer, where the first transparent command message includes: the driving type of the NVMe controller, the identification of the NVMe controller, the transparent transmission command word and the target upgrading data packet; the transparent command word is used for indicating that the BMC does not analyze the target upgrading data packet;
the first transparent command packet encapsulation module 202 is configured to parse the first transparent command packet through the BMC, and encapsulate the first transparent command packet according to a driving type of the NVMe controller, to obtain a second transparent command packet;
a second transparent command message sending module 203, configured to send, by using the BMC, the second transparent command message to the NVMe controller according to the identifier of the NVMe controller;
And the device upgrade module 204 is configured to send, by using the NVMe controller, the target upgrade data packet to the NVMe device, and trigger the NVMe device upgrade.
Optionally, the transparent command word is further configured to instruct the NVMe controller to upgrade the NVMe device, and the device upgrade module 204 is specifically configured to:
receiving and analyzing the second transparent command message through the NVMe controller to obtain the transparent command word and the target upgrading data packet;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded according to the transparent command word.
Optionally, the first transparent command message further includes an upgrade command, where the upgrade command is used to instruct the NVMe controller to upgrade the NVMe device, and the device upgrade module 204 is specifically configured to:
receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain the upgrading command and the target upgrading data packet;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded according to the upgrading command.
Optionally, the device further includes a first transparent command message generating module, configured to, after the upper computer obtains the upgrade data packet, perform, by using the upper computer, a slicing process on the upgrade data packet according to the size of the upgrade data packet and the load of the first transparent command, to obtain a plurality of sub-upgrade data packets; and using the sub-upgrading data packet as a target upgrading data packet through the upper computer, and generating a first transparent command message according to the target upgrading data packet.
Optionally, the device upgrade module 204 specifically includes:
the upgrade data packet combination and verification unit is used for receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain a plurality of sub upgrade data packets; combining the plurality of sub-upgrading data packets through the NVMe controller to obtain the upgrading data packet, and checking the upgrading data packet to obtain a checking result;
a first response message sending unit, configured to send a first response message to the BMC through the NVMe controller, where the first response message includes the verification result;
the upgrade starting command receiving unit is used for receiving the first response message sent by the BMC through the upper computer and sending an upgrade starting command to the BMC according to the verification result;
And the equipment upgrading triggering unit is used for receiving an upgrading starting command sent by the BMC through the NVMe controller and triggering the NVMe equipment to be upgraded.
Optionally, the first transparent command message further includes: the upgrade data packet combination and verification unit is specifically configured to combine, by using the NVMe controller, the plurality of sub-upgrade data packets according to the total number of sub-upgrade data packets and the current number of sub-upgrade data packets, to obtain the upgrade data packet, and to verify the upgrade data packet according to the sub-upgrade data packet verification code.
Optionally, the apparatus further includes:
and the second response message sending module is used for sending a second response message through the NVMe equipment when the NVMe equipment is updated, wherein the second response message comprises an updating result of the NVMe equipment.
For the device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference is made to the description of the method embodiments for relevant points.
Referring to fig. 4, a block diagram of an electronic device 30 according to an embodiment of the present invention is shown, where the electronic device 30 includes:
The processor 301, the memory 302, and the computer program 3021 stored in the memory 302 and capable of running on the processor 301, where the computer program 3021 when executed by the processor 301 implements the processes of the above embodiment of the cabinet testing method, and the same technical effects can be achieved, and for avoiding repetition, a detailed description is omitted herein.
Referring to fig. 5, a block diagram of a computer readable storage medium 40 according to an embodiment of the present invention is shown, where a computer program 401 is stored on the computer readable storage medium 40, and when the computer program 401 is executed by a processor, the processes of the above-mentioned cabinet testing method embodiment are implemented, and the same technical effects can be achieved, so that repetition is avoided, and no redundant description is given here.
In this specification, each embodiment is described in a progressive manner, and each embodiment is mainly described by differences from other embodiments, and identical and similar parts between the embodiments are all enough to be referred to each other.
It will be apparent to those skilled in the art that embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the invention may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiment and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or terminal device comprising the element.
The above description of the device upgrading method, device, electronic device and storage medium provided by the present invention applies specific examples to illustrate the principles and embodiments of the present invention, and the above examples are only used to help understand the method and core ideas of the present invention; meanwhile, as those skilled in the art will have variations in the specific embodiments and application scope in accordance with the ideas of the present invention, the present description should not be construed as limiting the present invention in view of the above.
Claims (10)
1. The device upgrading method is characterized by being applied to a server, wherein the server comprises nonvolatile storage flash channel (NVMe) equipment, an NVMe controller and a Baseboard Management Controller (BMC), and the server is communicated with an upper computer, and the method comprises the following steps:
receiving, by the BMC, a first transparent command packet sent by the upper computer, where the first transparent command packet includes: the driving type of the NVMe controller, the identification of the NVMe controller, the transparent transmission command word and the target upgrading data packet; the transparent command word is used for indicating that the BMC does not analyze the target upgrading data packet;
Analyzing the first transparent command message through the BMC, and packaging the first transparent command message according to the driving type of the NVMe controller to obtain a second transparent command message;
the BMC sends the second transparent command message to the NVMe controller according to the identifier of the NVMe controller;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded.
2. The device upgrade method of claim 1, wherein the pass-through command word is further used to instruct the NVMe controller to upgrade the NVMe device, the sending, by the NVMe controller, the target upgrade data packet to the NVMe device and triggering the NVMe device upgrade, comprising:
receiving and analyzing the second transparent command message through the NVMe controller to obtain the transparent command word and the target upgrading data packet;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded according to the transparent command word.
3. The device upgrade method according to claim 1, wherein the first transparent command message further includes an upgrade command, the upgrade command is used to instruct the NVMe controller to upgrade the NVMe device, the sending, by the NVMe controller, the target upgrade data packet to the NVMe device, and triggering the NVMe device upgrade, includes:
Receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain the upgrading command and the target upgrading data packet;
and sending the target upgrading data packet to the NVMe equipment through the NVMe controller, and triggering the NVMe equipment to be upgraded according to the upgrading command.
4. The device upgrade method according to claim 1, wherein the method further comprises:
after the upper computer acquires the upgrade data packet, the upper computer performs slicing processing on the upgrade data packet according to the size of the upgrade data packet and the load of the first transparent transmission command to obtain a plurality of sub-upgrade data packets;
and using the sub-upgrading data packet as a target upgrading data packet through the upper computer, and generating a first transparent command message according to the target upgrading data packet.
5. The device upgrade method of claim 4, further comprising:
receiving and analyzing the second transparent transmission command message through the NVMe controller to obtain the plurality of sub-upgrading data packets;
combining the plurality of sub-upgrading data packets through the NVMe controller to obtain the upgrading data packet, and checking the upgrading data packet to obtain a checking result;
Sending a first response message to the BMC through the NVMe controller, wherein the first response message comprises the verification result;
receiving the first response message sent by the BMC through the upper computer, and sending an upgrade starting command to the BMC according to the verification result;
and receiving an upgrade starting command sent by the BMC through the NVMe controller, and triggering the NVMe equipment to upgrade.
6. The device upgrade method according to claim 5, wherein the first pass-through command message further comprises: the method for combining the plurality of sub-upgrade data packets to obtain the upgrade data packet and checking the upgrade data packet by the NVMe controller comprises the following steps:
and combining the plurality of sub-upgrading data packets according to the total number of the sub-upgrading data packets and the current number of the sub-upgrading data packets by the NVMe controller to obtain the upgrading data packet, and checking the upgrading data packet according to the sub-upgrading data packet check code.
7. The device upgrade method according to claim 1, wherein the method further comprises:
And when the NVMe equipment finishes upgrading, sending a second response message through the NVMe equipment, wherein the second response message comprises an NVMe equipment upgrading result.
8. The utility model provides a device upgrade device, its characterized in that is applied to the server, the server includes nonvolatile storage flash channel NVMe equipment, NVMe controller, baseboard management controller BMC, server and host computer communication, the device includes:
the first transparent command message receiving module is configured to receive, through the BMC, a first transparent command message sent by the upper computer, where the first transparent command message includes: the driving type of the NVMe controller, the identification of the NVMe controller, the transparent transmission command word and the target upgrading data packet; the transparent command word is used for indicating that the BMC does not analyze the target upgrading data packet;
the first transparent command message packaging module is used for analyzing the first transparent command message through the BMC and packaging the first transparent command message according to the driving type of the NVMe controller to obtain a second transparent command message;
the second transparent command message sending module is used for sending the second transparent command message to the NVMe controller through the BMC according to the identifier of the NVMe controller;
And the equipment upgrading module is used for sending the target upgrading data packet to the NVMe equipment through the NVMe controller and triggering the NVMe equipment to be upgraded.
9. An electronic device, comprising: a processor, a memory and a computer program stored on the memory and capable of running on the processor, which when executed by the processor performs the steps of the device upgrade method according to any of claims 1-7.
10. A computer readable storage medium, characterized in that the computer readable storage medium has stored thereon a computer program which, when executed by a processor, implements the steps of the device upgrade method according to any of the claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310084919.2A CN116257268A (en) | 2023-02-08 | 2023-02-08 | Equipment upgrading method and device, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310084919.2A CN116257268A (en) | 2023-02-08 | 2023-02-08 | Equipment upgrading method and device, electronic equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116257268A true CN116257268A (en) | 2023-06-13 |
Family
ID=86687385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310084919.2A Pending CN116257268A (en) | 2023-02-08 | 2023-02-08 | Equipment upgrading method and device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116257268A (en) |
-
2023
- 2023-02-08 CN CN202310084919.2A patent/CN116257268A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893331B2 (en) | Device verification method, UVM verification platform, electronic apparatus and storage medium | |
CN104063305A (en) | Pressure testing method, device and system for intelligent terminal software | |
CN111104139A (en) | Firmware upgrading method, device, equipment and storage medium | |
CN110457744B (en) | SD/SDIO equipment simulation model framework and design method thereof | |
CN105183575A (en) | Processor fault diagnosis method, device and system | |
CN110445635A (en) | Control file transmitting method, device and Bus simulator test macro | |
CN111970102A (en) | Data processing method and device, electronic equipment and storage medium | |
CN101593122B (en) | Method and device for starting embedded system | |
CN113535578B (en) | CTS test method, CTS test device and CTS test equipment | |
CN108540344B (en) | Router upgrading test method and system | |
US20210334153A1 (en) | Remote error detection method adapted for a remote computer device to detect errors that occur in a service computer device | |
CN109885420B (en) | PCIe link fault analysis method, BMC and storage medium | |
CN116257268A (en) | Equipment upgrading method and device, electronic equipment and storage medium | |
CN116483409A (en) | Remote firmware updating method, system, electronic equipment and storage medium | |
CN115993937A (en) | Method and device for realizing simulation environment of multi-process solid state disk | |
CN116048581A (en) | Application updating method and device, electronic equipment and computer readable storage medium | |
CN106933578B (en) | USB drive loading method of QNX system | |
CN112559349B (en) | Program running method and running device | |
CN108648298B (en) | Message processing method and device, storage medium and electronic equipment | |
CN116224976B (en) | Test method and device | |
WO2017004908A1 (en) | Communication method and apparatus for intelligent platform management interface device, and communication device | |
US9417863B2 (en) | System and method for expedited loading of an image onto a storage device | |
CN113515461B (en) | Communication test method and device, electronic equipment and storage medium | |
CN116962173A (en) | Upgrading method, server and terminal | |
CN116208603A (en) | Vehicle-mounted upgrading control method and system and electronic equipment |
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 |