Disclosure of Invention
In view of this, the present application provides the following technical solutions:
an information transmission method, comprising:
in response to receiving an operation command of a basic input/output system aiming at a target data file, transmitting the operation command to a baseboard management controller through a first transmission channel, wherein the first transmission channel is a transmission channel established between the basic input/output system of electronic equipment and the baseboard management controller;
And transmitting the target data file to a target area corresponding to the operation command based on a second transmission channel, wherein the second transmission channel is a data transmission channel different from the first transmission channel, and the target area is a data storage area in which the baseboard management controller can exchange data.
Optionally, the operation command includes a write instruction for writing a target data file to a target file system, where the transmitting the target data file to a target area corresponding to the operation command based on a second transmission channel includes:
And responding to the basic input and output system to write a target data file into a main memory, and writing the target data file into a target file system through the second transmission channel, wherein the target file system is a file system corresponding to the baseboard management controller.
Optionally, the writing the target data file to the target file system through the second transmission channel includes:
controlling the baseboard management controller to transmit the data writing parameters corresponding to the writing instruction to a direct memory access controller;
and in response to the direct memory access controller acquiring the target data file in the main memory based on the data writing parameters, controlling the direct memory access controller to transmit the target data file to the baseboard management controller so that the baseboard management controller writes the target data file to a target file system.
Optionally, the operation command includes a read instruction for reading the target data file from the target file system, and the transmitting the target data file to the target area corresponding to the operation command based on the second transmission channel includes:
transmitting the target data file in the target file system to a main memory based on a second transmission channel, so that the basic input and output system can read the target data file in the main memory.
Optionally, the transferring the target data file in the target file system to the main memory based on the second transfer channel includes:
Controlling the baseboard management controller to acquire the target data file in the target file system according to the data reading parameter corresponding to the reading instruction;
the baseboard management controller is controlled to transfer the target data file to a direct memory access controller so that the direct memory access controller transfers the target data file to the main memory.
Optionally, the method further comprises:
and in response to the baseboard management controller obtaining the operation response information matched with the operation command, transmitting the operation response information to the basic input and output system through the first transmission channel.
An information transmission apparatus comprising:
the first transmission unit is used for responding to the received operation command of the basic input/output system aiming at the target data file, and transmitting the operation command to the baseboard management controller through a first transmission channel, wherein the first transmission channel is a transmission channel established between the basic input/output system of the electronic equipment and the baseboard management controller;
And the second transmission unit is used for transmitting the target data file to a target area corresponding to the operation command based on a second transmission channel, wherein the second transmission channel is a data transmission channel different from the first transmission channel, and the target area is a data storage area in which the baseboard management controller can perform data interaction.
A transmission system, comprising:
A baseboard management controller, a first transmission channel established by the baseboard management controller and the basic input output system, and a second transmission channel established by the baseboard management controller, wherein,
The first transmission channel is used for transmitting the operation command of the basic input/output system to the baseboard management controller;
the second transmission channel is configured to transmit a target data file to a target area corresponding to the operation command, where the second transmission channel is a different data transmission channel from the first transmission channel, and the target area is a data storage area where the baseboard management controller can exchange data.
Optionally, the transmission system further comprises: a direct memory access controller capable of establishing a second transmission channel with the baseboard management controller and the main memory, respectively;
the baseboard management controller is further configured to:
If the operation command comprises a writing command for writing the target data file into the target file system, transmitting a data writing parameter corresponding to the writing command to a direct memory access controller;
The direct memory access controller is further configured to acquire the target data file from the main memory based on the data write parameter, and transmit the target data file to the baseboard management controller, so that the baseboard management controller writes the target data file to a target file system.
Optionally, the baseboard management controller is further configured to:
If the operation command comprises a reading instruction for reading a target data file from a target file system, acquiring a data reading parameter corresponding to the reading instruction, acquiring a target text data file matched with the data reading parameter from the target file system, and transmitting the target data file to the direct memory access controller;
The direct memory access controller is further configured to transfer the target data file to the main memory, so that the bios reads the target data file by accessing the main memory.
As can be seen from the above technical solution, the present application discloses an information transmission method, an information transmission device, and an information transmission system, wherein in response to receiving an operation command for a target data file of a basic input/output system, the operation command is transmitted to a baseboard management controller through a first transmission channel; transmitting the target data file to a target area corresponding to the operation command based on the second transmission channel; the first transmission channel is a transmission channel established between a basic input and output system of the electronic equipment and the baseboard management controller, and the second transmission channel is a data transmission channel different from the first transmission channel. By transmitting the operation command and the data file in different data transmission channels, the data interaction efficiency between the basic input/output system and the baseboard management controller is improved.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
Referring to fig. 1, a flow chart of an information transmission method provided in an embodiment of the application may include the following steps:
S101, in response to receiving an operation command of the basic input/output system aiming at a target data file, transmitting the operation command to a baseboard management controller through a first transmission channel.
S102, transmitting the target data file to a target area corresponding to the operation command based on a second transmission channel.
The first transmission channel is a transmission channel established between a basic input and output system of the electronic equipment and the baseboard management controller. The second transmission channel is a different data transmission channel than the first transmission channel. The target area is a data storage area where the baseboard management controller can exchange data.
The information interaction between the BIOS (Basic Input Output System ) and the BMC (Baseboard Manager Controller, baseboard management controller) generally uses a data structure defined by IPMI (IntelligentPlatform MANAGEMENT INTERFACE ) for data transmission, where the data structure belongs to binary format data. IPMI is based on binary data exchange design, and the characteristic hardware uses low-speed bus, and transmission speed is lower. The modern red fish (Redfish) information interaction mode belongs to a text transmission mode, but is functionally limited by a network protocol stack of UEFI (Unified Extensible FIRMWARE INTERFACE ), and limits the out-of-band management capability of the BIOS before the DXE (Driver eXecution Environment, load driver) stage. Therefore, in the embodiment of the present application, the operation command between the BIOS and the BMC is transmitted through the first transmission channel in step S101, and the data file between the BIOS and the BMC is transmitted through the second transmission channel in step S102, so that the above limitation can be broken through.
Specifically, the target data file refers to a text file readable by a user of data to be transmitted, and in the embodiment of the present application, the target data file is not limited to any text file in a currently known format.
An operation command for a target data file refers to a control instruction for performing an access or modification operation on the target data file. It should be noted that, in the embodiment of the present application, the operation command may refer to an OEM (Original EquipmentManufacturer ) instruction of IPMI, which is a full use of the existing hardware facilities. The only request field of the operation command is the address of the fixed length operation parameter. The only response field of the operation command is the file operation state.
The system interface between the BIOS and the BMC may be used as a first transmission channel between the BIOS and the BCM, that is, the operation command is transmitted through the transmission channel, where the operation command carries an address of an operation parameter, and the operation parameter includes: file operation, file name, file size, etc. Where the file operation distinguishes whether the operation on the file is a read operation or a write operation, or other modification operation. The operating parameters may be transmitted by the second transmission channel upon subsequent access and modification of the data file.
The location where the target data file is stored is an out-of-band storage system dedicated to the BIOS. The out-of-band storage system may be essentially the BMC's local file system, or may be a partition or a directory of the BMC's local file system, or may further be specific files. The out-of-band storage system is also called as a BIOS out-of-band special file system, i.e. the file of the file system is special for BIOS, and in the transmission process, the BMC only transmits the request of the BIOS for file operation and can not be directly modified. In the embodiment of the application, transmitting the target data file to the target area corresponding to the operation command based on the second transmission channel means that the information of the target data file is transmitted to the corresponding target area, and before the information of the target data file is transmitted to the target area, the information of the target data file is transmitted in the second transmission channel in the form of the operation parameter so as to obtain the information of the corresponding target data file.
Taking a written file as an example, the BIOS writes information of a target data file into the main memory in the form of operation parameters, at this time, the file operation in the operation parameters of the operation command is read operation, then the BMC obtains an address of the operation parameters based on the operation command obtained by the first transmission channel, then the BMC obtains the operation parameters in the main memory through the second transmission channel according to the address of the operation parameters, and then the BMC obtains the information of the target data file in the main memory through the second transmission channel according to the operation parameters, and then the information of the target data file is written into the out-of-band storage system.
Taking a read file as an example, the BIOS writes information of a target data file into the main memory in the form of operation parameters, the file operation in the operation parameters of an operation command is read, then the BMC obtains the operation parameters in the main memory through a second transmission channel according to the address of the operation parameters, and then the BMC obtains the information of the target data file in the out-of-band storage system through the second transmission channel according to the operation parameters, and then the information of the target data file is written back into the main memory.
Therefore, the second transmission channel is a data transmission channel between the BIOS and the out-of-band storage system, and only the flow direction of data transmission performed based on the second transmission channel is different under different file operations of the operation parameters of the operation command, which will be described in detail in the following embodiments of the present application.
In the embodiment of the application, the data interaction between the BIOS and the BMC is realized through two transmission channels, command information, namely an operation command, is transmitted through a first transmission channel formed by a system interface between the BIOS and the BMC, and a target data file is transmitted through a second transmission channel, so that the command is separated from the data transmission. On one hand, the existing command transmission facilities are fully utilized, and the data interaction efficiency between the BIOS and the BMC is improved.
For convenience of description, the BIOS out-of-band storage system is simply referred to as a target file system, and a description will be given below of an information transmission method in an embodiment of the present application with different file operations.
In one possible implementation manner, the operation command may include a writing instruction for writing a target data file to a target file system, where transmitting the target data file to a target area corresponding to the operation command based on a second transmission channel includes: and responding to the basic input and output system to write the target data file into the main memory, and writing the target data file into a target file system through a second transmission channel, wherein the target file system is a file system corresponding to the baseboard management controller.
In this embodiment, in order to write the target data file into the target file system, the first transmission channel is a KCS (keyboard controller style) interface, the second transmission channel is a DMA-based transmission channel, the file operation of the operation parameter corresponding to the operation command is a write operation, and the target file system is a partition corresponding to the local file system of the baseboard management controller.
Specifically, writing the target data file into the target file system through the second transmission channel includes: controlling the baseboard management controller to transmit the data writing parameters corresponding to the writing instruction to a direct memory access controller; and in response to the direct memory access controller acquiring the target data file in the main memory based on the data writing parameters, controlling the direct memory access controller to transmit the target data file to the baseboard management controller so that the baseboard management controller writes the target data file to a target file system.
The data writing parameters refer to operation parameters corresponding to writing operation, such as file name pointers and file name sizes in the operation parameters, so that file contents are obtained according to file content pointers and file content sizes through the direct memory access controller based on the file names, namely, information corresponding to the target data file is obtained.
By way of example, the process may include the steps of:
The BIOS writing the target data file to the main memory means that the BIOS writes information of the target data file to the main memory in the form of operation parameters. I.e. the BIOS prepares the operating parameters, which may include the name and content of the target data file, and first the BIOS copies the name and content of the target data file to an area in main memory that is accessible by the DMA. The BIOS then initializes the operating parameters: setting a file operation as a write operation, setting a file name size as an actual size of the target data file, setting a file name pointer as an address of the target data file name, setting a file content size as an actual size of the target data file, and setting a file content pointer as an address of the target data file. The BIOS places the operating parameters in the main memory in areas that are accessible by DMA. The BIOS initializes the request for the operation command to the address of the operation parameter and sends the operation command to the BMC.
The BMC responds to the operation command. Firstly, the BMC obtains operation parameters through DMA according to the operation address according to the file operation command. The BMC then knows that the target data file is to be written to the target file system based on the file operation of the operating parameter being a write operation. And then the BMC acquires the file name through the DMA according to the file name pointer and the file name size of the operation parameters, and acquires the file content through the DMA according to the file content pointer and the file content size. The BMC writes the target data file to the target file system.
When the BMC finishes the file operation, the BMC feeds back to the BIOS in a mode of responding to the operation command according to the specific file operation state.
In one possible implementation manner, the operation command may further include a read instruction for reading the target data file from the target file system, where the transmitting the target data file to the target area corresponding to the operation command based on the second transmission channel includes: transmitting the target data file in the target file system to a main memory based on a second transmission channel, so that the basic input and output system can read the target data file in the main memory.
In this embodiment, the target data file is read from the target file system, the first transmission channel may be KCS, the second transmission channel may be DMA, the file operation of the operation parameter of the operation command is a read operation, and the target file system is a partition corresponding to the local file system of the baseboard management controller.
Correspondingly, the transmitting the target data file in the target file system to the main memory based on the second transmission channel includes: controlling the baseboard management controller to acquire the target data file in the target file system according to the data reading parameter corresponding to the reading instruction; the baseboard management controller is controlled to transfer the target data file to a direct memory access controller so that the direct memory access controller transfers the target data file to the main memory.
Wherein the BIOS places the operating parameters in an area of main memory that is accessible by the DMA. The data reading parameter may be an operation parameter obtained by the BMC through DMA, where the BMC obtains a target data file in the target file system according to a file name pointer and a file name size of the operation parameter, and sends the target data file to the main memory through DMA.
Specifically, the process may include the steps of:
The BIOS prepares the operating parameters. Firstly, BIOS copies the name of the target file to an area in the main memory which can be accessed by DMA, and then the BIOS initializes the operation parameters: the file operation is set to a read operation, the file name size is set to the actual size of the target data file, and the file name pointer is set to the address of the target data file name. The other field initial values of the operating parameters are set to zero. The BIOS places the operating parameters in the main memory in areas that are accessible by DMA. The BIOS initializes the request for the operation command to the address of the operation parameter and sends the operation command to the BMC.
The BMC responds to the operation command. Firstly, the BMC obtains operation parameters through DMA according to the operation address according to the file operation command. The BMC then knows to read the target data file from the target file system based on the file operation of the operating parameter being a read operation. The BMC then obtains the target data file in the target file system based on the file name pointer and file name size in the operating parameters, and then the BMC sends the target data file to main memory via DMA. Finally, BMC updates the operation parameters: the file content size is set to the actual size of the target data file and the file content pointer is set to the address of the target data file.
When the BMC finishes the file operation, the BMC feeds back to the BIOS in a mode of responding to the operation command according to the specific file operation state.
Referring to fig. 2, a schematic diagram of a transmission system in a target application scenario provided by an embodiment of the present application, where the transmission system corresponding to fig. 2 includes: the system comprises a basic input/output system BIOS, a baseboard management controller BMC, a main memory space sharing device (such as a DMA controller), a main memory space formed by a central processing unit and a main memory and a file system special for the outside of the BIOS. In the application scenario, the main memory refers to the main memory of the server, and the purpose of the main memory space sharing device is to enable the BMC to share part of the main memory space, so that efficient transmission of the file is realized.
Referring to fig. 3, a schematic diagram of a file operation space according to an embodiment of the present application is shown. The main memory shared space refers to a specific space that the BMC can access the main memory through DMA. The file operation space is part of the hosting shared space, describing: file operating parameter interface, file name, and file content. In order to fix the length of the file operating parameter structure, there are no members of indeterminate length in the structure, such as file name and file content, and corresponding pointers, i.e. file name pointer and file content pointer, may be used instead. It should be noted that the file name and the file content belong to the file operation space, but do not belong to the file operation parameter structure.
In the embodiment of the application, the BMC can share part of the main memory space by directly accessing the memory controller, so that the separation of control instruction and data file transmission is realized, the system interface between the BIOS and the BMC only bears the transmission task of the control instruction, and the data file transmission is realized by directly accessing the memory controller, so as to improve the data interaction efficiency. Correspondingly, the request parameter of the control instruction is the physical address of the file operation parameter table in the shared main memory space, and the table describes necessary file operation information, such as: file operations, file name pointers and name sizes, file content pointers and content sizes. The BIOS sends a request to the BMC to manage the BIOS specific out-of-band file system via the OEM command. The BMC parses and responds to the request to complete management of the relevant file. Thereby achieving the effect that the BIOS manages the out-of-band special file system.
Compared with an IPMI system interface, the information transmission method provided by the embodiment of the application can replace binary format data by a text file, thereby improving the readability of interaction information and being easy to maintain. In addition, the design that the control command with smaller transmission pressure is separated from the text data with larger transmission pressure is compatible with the original design, and the data interaction efficiency is improved. Compared with Redfish interfaces (Redfish interfaces are data transmission interfaces which depend on network protocol stacks), the dependency of the original Redfish interfaces on the network protocol stacks is broken through, and text information exchange at a stage before BDS (guiding device selection stage) is supported. In addition, the present application can also compensate for the inherent limitations of Redfish, such as: when the Redfish data of the BMC is corrupted or lost, if the user wishes to save the configuration upgrade BIOS in Redfish, the BIOS will fail to save the configuration; but in the scheme of the embodiment of the application, relevant important data can be backed up (a special file system) while being transmitted to Redfish; then, if the data capture at Redfish fails, the data backed up in the dedicated file system is captured to ensure that the related functions are normal. The decoupling of the BIOS and the BMC in the interactive design is further realized, and only relevant parameters in instructions transmitted between the BIOS and the BMC are required to be determined, so that a data transmission mode is not required to be defined.
Referring to fig. 4, in an embodiment of the present application, there is also provided an information transmission apparatus, which may include:
A first transmission unit 401, configured to, in response to receiving an operation command for a target data file of a basic input/output system, transmit the operation command to a baseboard management controller through a first transmission channel, where the first transmission channel is a transmission channel established between the basic input/output system of an electronic device and the baseboard management controller;
And a second transmission unit 402, configured to transmit the target data file to a target area corresponding to the operation command based on a second transmission channel, where the second transmission channel is a different data transmission channel than the first transmission channel, and the target area is a data storage area where the baseboard management controller can perform data interaction.
The embodiment of the application provides an information transmission device, which responds to the received operation command of a basic input/output system aiming at a target data file, and transmits the operation command to a substrate management controller through a first transmission channel; transmitting the target data file to a target area corresponding to the operation command based on the second transmission channel; the first transmission channel is a transmission channel established between a basic input and output system of the electronic equipment and the baseboard management controller, and the second transmission channel is a data transmission channel different from the first transmission channel. By transmitting the operation command and the data file in different data transmission channels, the data interaction efficiency between the basic input/output system and the baseboard management controller is improved.
In one embodiment, the operation command includes a write instruction for writing the target data file to the target file system, wherein the second transmission unit 402 includes:
And the writing subunit is used for responding to the basic input and output system to write the target data file into the main memory, and writing the target data file into a target file system through the second transmission channel, wherein the target file system is a file system corresponding to the baseboard management controller.
Further, the writing subunit is specifically configured to:
controlling the baseboard management controller to transmit the data writing parameters corresponding to the writing instruction to a direct memory access controller;
and in response to the direct memory access controller acquiring the target data file in the main memory based on the data writing parameters, controlling the direct memory access controller to transmit the target data file to the baseboard management controller so that the baseboard management controller writes the target data file to a target file system.
In another embodiment, the operation command includes a read instruction for reading the target data file from the target file system, and the second transmission unit includes:
and the reading subunit is used for transmitting the target data file in the target file system to the main memory based on the second transmission channel so that the basic input/output system can read the target data file in the main memory.
Optionally, the reading subunit is specifically configured to:
Controlling the baseboard management controller to acquire the target data file in the target file system according to the data reading parameter corresponding to the reading instruction;
the baseboard management controller is controlled to transfer the target data file to a direct memory access controller so that the direct memory access controller transfers the target data file to the main memory.
Optionally, the first transmission unit is further configured to:
and in response to the baseboard management controller obtaining the operation response information matched with the operation command, transmitting the operation response information to the basic input and output system through the first transmission channel.
It should be noted that, the specific implementation of each unit in the information transmission device in the embodiment of the present application may refer to the corresponding content in the foregoing, which is not described in detail herein.
In another embodiment of the present application, there is provided a transmission system including:
A baseboard management controller, a first transmission channel established by the baseboard management controller and the basic input output system, and a second transmission channel established by the baseboard management controller, wherein,
The first transmission channel is used for transmitting the operation command of the basic input/output system to the baseboard management controller;
the second transmission channel is configured to transmit a target data file to a target area corresponding to the operation command, where the second transmission channel is a different data transmission channel from the first transmission channel, and the target area is a data storage area where the baseboard management controller can exchange data.
Further, the transmission system further includes: a direct memory access controller capable of establishing a second transmission channel with the baseboard management controller and the main memory, respectively;
the baseboard management controller is further configured to:
If the operation command comprises a writing command for writing the target data file into the target file system, transmitting a data writing parameter corresponding to the writing command to a direct memory access controller;
The direct memory access controller is further configured to acquire the target data file from the main memory based on the data write parameter, and transmit the target data file to the baseboard management controller, so that the baseboard management controller writes the target data file to a target file system.
Correspondingly, the baseboard management controller is further configured to:
If the operation command comprises a reading instruction for reading a target data file from a target file system, acquiring a data reading parameter corresponding to the reading instruction, acquiring a target text data file matched with the data reading parameter from the target file system, and transmitting the target data file to the direct memory access controller;
The direct memory access controller is further configured to transfer the target data file to the main memory, so that the bios reads the target data file by accessing the main memory.
The application provides a transmission system, which responds to the received operation command of a basic input/output system aiming at a target data file, and transmits the operation command and the operation command to a substrate management controller through a first transmission channel; transmitting the target data file to a target area corresponding to the operation command based on the second transmission channel; the first transmission channel is a transmission channel established between a basic input and output system of the electronic equipment and the baseboard management controller, and the second transmission channel is a data transmission channel different from the first transmission channel. By transmitting the operation command and the data file in different data transmission channels, the data interaction efficiency between the basic input/output system and the baseboard management controller is improved.
It should be noted that, the specific implementation of the transmission system in this embodiment may refer to the corresponding content in the foregoing, which is not described in detail herein.
In this specification, each embodiment is mainly described in the specification as a difference from other embodiments, and the same similar parts between the embodiments are referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant points refer to the description of the method section.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software modules may be disposed in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.