CN108062234B - System and method for realizing server host to access BMC FLASH through mailbox protocol - Google Patents

System and method for realizing server host to access BMC FLASH through mailbox protocol Download PDF

Info

Publication number
CN108062234B
CN108062234B CN201711284687.6A CN201711284687A CN108062234B CN 108062234 B CN108062234 B CN 108062234B CN 201711284687 A CN201711284687 A CN 201711284687A CN 108062234 B CN108062234 B CN 108062234B
Authority
CN
China
Prior art keywords
controller
data
read
module
register
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.)
Active
Application number
CN201711284687.6A
Other languages
Chinese (zh)
Other versions
CN108062234A (en
Inventor
魏红杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201711284687.6A priority Critical patent/CN108062234B/en
Publication of CN108062234A publication Critical patent/CN108062234A/en
Application granted granted Critical
Publication of CN108062234B publication Critical patent/CN108062234B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

The embodiment of the invention discloses a system and a method for realizing that a server HOST accesses a BMCFLASH through a mailbox protocol, which solve the problem that a server HOST controls FLASH through a BMC in the implementation process of using SoCFPGA to finish the BMC function of the server.

Description

System and method for realizing server host to access BMC FLASH through mailbox protocol
Technical Field
The invention relates to the technical field of servers, in particular to a system and a method for realizing that a server host accesses BMC FLASH through a mailbox protocol.
Background
A BMC (Baseboard Management Controller) in the server is responsible for monitoring and controlling functions of the server, and a server host in the standard realizes communication with the BMC through an LPC interface. Meanwhile, there is an application scenario in which: the server host needs to read or update the content in the FLASH controlled by the BMC, and the FLASH stores the firmware information of the system, i.e., the BIOS, thereby implementing the information acquisition and upgrading functions of the server host to the BIOS.
In the process of BMC localization, replacing an original BMC chip with an SoC (System on chip) FPGA to realize each interface function in the BMC function becomes a reality. The SoC FPGA is a programmable logic system integrating an ARM MPU, a kernel and various devices, has higher integration and lower cost, and greatly shortens the development cycle of products. In the BMC function completed by using the SoC FPGA, the HOST also needs to be implemented to control the FLASH. Currently, in the existing mode, HOST directly controls an SPI controller in the BMC through an LPC (Low Pin Count, an interface protocol) interface, so as to realize control of FLASH through the SPI interface. However, there are problems with this approach, such as: the access conflict problem, the problem brought by BMC restart, the problem of slow access speed and the potential safety hazard.
Disclosure of Invention
The embodiment of the invention provides a system and a method for realizing that a server host accesses BMC FLASH through a mailbox protocol, which aim to solve the problem of logic realization of the mailbox protocol in the localization process of BMC in the prior art.
In order to solve the technical problem, the embodiment of the invention discloses the following technical scheme:
the invention provides a system for realizing access of a server HOST to BMC FLASH through a mailbox protocol, and realizes access of the server HOST to BMC FLASH.
With reference to the first aspect, in a first possible implementation manner of the first aspect, the mailbox module includes a write FIFO module, a read FIFO module, a write operation controller, a read operation controller, and a register module, where the write FIFO module is connected to the LPC controller and stores a read-write FLASH command and data received by the LPC controller; the write operation controller detects whether the write FIFO module has data or not; the register module stores data sent by the write operation controller and data written by the ARM controller; the read operation controller reads the data written by the register module ARM controller and stores the data into the read FIFO module.
With reference to the first aspect, in a second possible implementation manner of the first aspect, the register module includes a read register unit and a write register unit, the read register unit is connected to the ARM controller and the read operation controller respectively, and the read register unit receives an address and data written by the ARM controller through an APB bus and sends the data to the read operation controller; the write register unit is respectively connected with the write operation controller and the ARM controller, receives the address and the data sent by the write operation controller, and sends the address and the data to the ARM controller through an APB bus.
The second aspect of the invention provides a method for realizing that a server host accesses BMC FLASH through a mailbox protocol, which comprises the following steps:
the server HOST sends a FLASH control instruction to the ARM controller through the mailbox module;
and the ARM controller sends the FLASH data to the server HOST through the mailbox module.
With reference to the second aspect, in a first possible implementation manner of the second aspect, the server HOST sends a FLASH control command to the ARM controller through the mailbox module, including,
the server HOST sends a command for controlling the FLASH to the LPC controller;
the LPC controller analyzes the received command and then sends the analyzed command to the mailbox module;
the mailbox module processes the command according to a mailbox protocol and informs the ARM controller of reading the command;
and after reading the command, the ARM controller operates the BMC controller according to the content of the command, so that the read-write operation of the BMC controller on the FLASH is realized.
Further, the mailbox module processes the command according to the mailbox protocol and notifies the ARM controller of reading the command, including:
the write FIFO receives the data of the LPC controller, the write operation controller reads the address and the data from the write FIFO and sends the address and the data to the register module through the write register operation interface; and the write register unit receives the address and the data sent by the write operation controller, writes the address and the data into the corresponding register, and informs the ARM to read the content in the corresponding register through the APB bus by setting the interrupt register.
With reference to the second aspect, in a second possible implementation manner of the second aspect, the ARM controller sends the FLASH data to the server HOST through the mailbox module, including,
the ARM controller sends the read FLASH data to the mailbox module;
the mailbox module processes the received data according to a mailbox protocol and informs the LPC controller to read the data;
the LPC controller sends the read data to the server HOST.
Further, the mailbox module processes the received data according to the mailbox protocol and informs the LPC controller to read the data, wherein the register reading unit receives addresses and data written by the ARM controller through an APB bus, writes the addresses and the data into a corresponding register, and informs the read operation controller to read the content of the corresponding register by setting an interrupt register; the read operation controller detects the write signal in the register module by reading the contents of the interrupt register, and if it is high, it will read the contents of the register and write the read data into the read FIFO.
According to the technical scheme, the problem that the server HOST controls FLASH through the BMC is well solved in the implementation process that the SoC FPGA is used for completing the function of the BMC of the server, and the mailbox protocol module logic developed by using the Verilog HDL language can be well butted with other modules and has good portability. The invention has good portability and operability, and is an important component of the localization of the BMC chip.
Drawings
In order to more clearly illustrate the embodiments or technical solutions in the prior art of the present invention, the drawings used in the description of the embodiments or prior art will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained based on these drawings without creative efforts.
FIG. 1 is a schematic structural diagram of an embodiment of the present invention;
FIG. 2 is a schematic diagram of an internal implementation of the mailbox module of the present invention;
FIG. 3 is a flow chart of the steps of an embodiment of the method of the present invention.
Detailed Description
In order to make those skilled in the art better understand the technical solution of the present invention, the technical solution in the embodiment of the present invention will be clearly and completely described below with reference to the drawings in the embodiment of the present invention, and it is obvious that the described embodiment is only a part of the embodiment of the present invention, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The Mailbox protocol is a mode that HOST can control FLASH through BMC, and is mainly characterized in that HOST and BMC perform information interaction through a register specified in the Mailbox, so that the HOST transmits data and commands to the BMC through the Mailbox, then the BMC operates FLASH independently, and the operated result is returned to the HOST through the register in the Mailbox, so that the operation on the FLASH is completed by the BMC completely. The invention mainly completes the design and realization of the mailbox protocol on the SoC FPGA.
As shown in figure 1, the system for realizing the access of the server HOST to the BMC FLASH through the mailbox protocol realizes the FLASH access of the server HOST to the BMC control, and comprises an ARM controller, a mailbox module, an LPC controller and a server HOST which are positioned on an SOC FPGA, wherein the ARM controller is connected with an APB bus, the APB bus is respectively connected with a BMC SPI controller, the mailbox module and the LPC controller, the BMC SPI controller is connected with the FLASH, the mailbox module is connected with the LPC controller, and the LPC controller is connected with the server HOST.
As shown in fig. 2, the mailbox module includes a write FIFO module, a read FIFO module, a write operation controller, a read operation controller, and a register module, where the write FIFO module is connected to the LPC controller and stores read-write FLASH commands and data received by the LPC controller; the write operation controller detects whether the write FIFO module has data or not; the register module stores data sent by the write operation controller and data written by the ARM controller; the read operation controller reads the data written by the register module ARM controller and stores the data into the read FIFO module.
The register module comprises a read register unit and a write register unit, the read register unit is respectively connected with the ARM controller and the read operation controller, and the read register unit receives an address and data written by the ARM controller through an APB bus and sends the data to the read operation controller; the write register unit is respectively connected with the write operation controller and the ARM controller, receives the address and the data sent by the write operation controller, and sends the address and the data to the ARM controller through an APB bus.
As shown in fig. 3, a method for realizing that a server host accesses a BMC FLASH through a mailbox protocol includes the following steps:
s1, the server HOST sends a command for controlling FLASH to the LPC controller;
s2, the LPC controller analyzes the received command and sends the command to the mailbox module;
s3, the mailbox module processes the command according to the mailbox protocol and informs the ARM controller of reading the command;
and S4, after the ARM controller reads the command, operating the BMC controller according to the content of the command, and realizing the read-write operation of the BMC controller on the FLASH.
S5, the ARM controller sends the read FLASH data to the mailbox module;
s6, the mailbox module processes the received data according to the mailbox protocol and informs the LPC controller to read the data;
s7, the LPC controller sends the read data to the server HOST.
In step S3, the mailbox module processes the command according to the mailbox protocol and notifies the ARM controller of reading the command, including: the write FIFO receives the data from the LPC controller, and when the LPC controller receives the command and data for controlling FLASH sent by HOST, the command and data are written into the write FIFO. The write operation controller detects an empty signal in the write FIFO, sets the empty signal to 0 to indicate that data exists in the FIFO, reads addresses and data from the write FIFO at the moment, and then sends the addresses and the data to the register module through the write register operation interface.
And the write register unit receives the address and the data sent by the write operation controller, writes the address and the data into the corresponding register, and informs the ARM to read the content in the corresponding register through the APB bus by setting the interrupt register.
In step S6, the mailbox module processes the received data according to the mailbox protocol and notifies the LPC controller to read the data, including that the register reading unit receives the address and data written by the ARM controller through the APB bus, writes the address and data into a corresponding register, and notifies the read operation controller to read the content of the corresponding register by setting an interrupt register.
The read operation controller detects the write signal in the register module by reading the contents of the interrupt register, and if it is high, it will read the contents of the register and write the read data into the read FIFO. The read FIFO receives data from the read operation controller and waits for the LPC module to read the data in the FIFO.
The interface signals of the logic module of the present invention are shown in table 1 below:
table 1 mailbox module interface signal table
Figure BDA0001498185950000051
Figure BDA0001498185950000061
The foregoing are merely exemplary embodiments of the present invention, which enable those skilled in the art to understand or practice the present invention. 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 invention. Thus, the present invention 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.

Claims (2)

1. A system for realizing access of a server HOST to BMC FLASH through a mailbox protocol is characterized by comprising an ARM controller, a mailbox module, an LPC controller and a server HOST which are positioned on an SOC FPGA, wherein the ARM controller is connected with an APB bus, the APB bus is respectively connected with a BMC SPI controller, the mailbox module and the LPC controller, the BMC SPI controller is connected with FLASH, the mailbox module is connected with the LPC controller, and the LPC controller is connected with the server HOST;
the mailbox module comprises a write FIFO module, a read FIFO module, a write operation controller, a read operation controller and a register module, wherein the write FIFO module is connected with the LPC controller and stores read-write FLASH commands and data received by the LPC controller; the write operation controller detects whether the write FIFO module has data or not; the register module stores data sent by the write operation controller and data written by the ARM controller; the read operation controller reads the data written by the register module ARM controller and stores the data into the read FIFO module;
the register module comprises a read register unit and a write register unit, the read register unit is respectively connected with the ARM controller and the read operation controller, and the read register unit receives an address and data written by the ARM controller through an APB bus and sends the data to the read operation controller; the write register unit is respectively connected with the write operation controller and the ARM controller, receives the address and the data sent by the write operation controller, and sends the address and the data to the ARM controller through an APB bus.
2. A method for realizing access of a server host to a BMC FLASH through a mailbox protocol is characterized by comprising the following steps:
the server HOST sends a FLASH control instruction to the ARM controller through the mailbox module;
the ARM controller sends FLASH data to the server HOST through the mailbox module;
the server HOST sends a FLASH control instruction to the ARM controller through the mailbox module, including,
the server HOST sends a command for controlling the FLASH to the LPC controller;
the LPC controller analyzes the received command and then sends the analyzed command to the mailbox module;
the mailbox module processes the command according to the mailbox protocol and informs the ARM controller of reading the command;
after reading the command, the ARM controller operates the BMC controller according to the content of the command, so that the read-write operation of the BMC controller on the FLASH is realized;
the mailbox module processes the command according to the mailbox protocol and informs the ARM controller of reading the command, wherein the steps comprise:
the write FIFO receives the data of the LPC controller, the write operation controller reads the address and the data from the write FIFO and sends the address and the data to the register module through the write register operation interface; the write register unit receives the address and data sent by the write operation controller, writes the address and data into the corresponding register, and informs the ARM to read the content in the corresponding register through the APB bus by setting the interrupt register;
the ARM controller sends the FLASH data to the server HOST through the mailbox module, including,
the ARM controller sends the read FLASH data to the mailbox module;
the mailbox module processes the received data according to the mailbox protocol and informs the LPC controller to read the data;
the LPC controller sends the read data to the server HOST;
the mailbox module processes the received data according to the mailbox protocol, informs the LPC controller to read the data, including,
the register reading unit receives the address and data written by the ARM controller through the APB bus, writes the address and data into a corresponding register, and informs the read operation controller to read the content of the corresponding register by setting an interrupt register; the read operation controller detects the write signal in the register module by reading the contents of the interrupt register, and if it is high, it will read the contents of the register and write the read data into the read FIFO.
CN201711284687.6A 2017-12-07 2017-12-07 System and method for realizing server host to access BMC FLASH through mailbox protocol Active CN108062234B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711284687.6A CN108062234B (en) 2017-12-07 2017-12-07 System and method for realizing server host to access BMC FLASH through mailbox protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711284687.6A CN108062234B (en) 2017-12-07 2017-12-07 System and method for realizing server host to access BMC FLASH through mailbox protocol

Publications (2)

Publication Number Publication Date
CN108062234A CN108062234A (en) 2018-05-22
CN108062234B true CN108062234B (en) 2021-07-27

Family

ID=62136330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711284687.6A Active CN108062234B (en) 2017-12-07 2017-12-07 System and method for realizing server host to access BMC FLASH through mailbox protocol

Country Status (1)

Country Link
CN (1) CN108062234B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783015B (en) * 2018-12-24 2022-05-10 新华三技术有限公司 File transmission method, device, server and storage medium
CN110781527B (en) * 2019-09-29 2022-02-22 苏州浪潮智能科技有限公司 Control register protection method and device
CN111290977B (en) * 2020-01-16 2021-11-16 芯创智(北京)微电子有限公司 Register access system and method based on DDR multi-data unit
CN113190482B (en) * 2021-03-12 2023-03-14 山东英信计算机技术有限公司 IPMI communication method, transmission system and receiving system for IPMI communication

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102364444A (en) * 2011-09-19 2012-02-29 浪潮电子信息产业股份有限公司 System guiding method based on interaction of in-band system and out-of-band system
CN103324599A (en) * 2013-06-04 2013-09-25 北京创毅讯联科技股份有限公司 Inter-processor communication method and system on chip
CN103455460A (en) * 2012-06-01 2013-12-18 广东新岸线计算机***芯片有限公司 Device for verifying advanced microcontroller bus interface
CN103955441A (en) * 2014-04-02 2014-07-30 华为技术有限公司 Equipment management system, equipment management method and IO (Input/Output) expansion interface
CN204302959U (en) * 2014-10-30 2015-04-29 深圳大学 A kind of hardware real-time operation system
CN105634814A (en) * 2016-01-05 2016-06-01 浪潮电子信息产业股份有限公司 Method for monitoring server asset information change
CN105808498A (en) * 2014-12-30 2016-07-27 展讯通信(上海)有限公司 Asymmetric multiprocessor communication method and apparatus
CN105991413A (en) * 2015-02-13 2016-10-05 展讯通信(上海)有限公司 User equipment, and method and device for processing message mailbox fault under AMP (Asymmetric Multi-Processing) system
CN106776399A (en) * 2016-12-30 2017-05-31 郑州云海信息技术有限公司 BIOS flash memory data read-write system and method based on baseboard management controller
CN107145359A (en) * 2017-05-12 2017-09-08 郑州云海信息技术有限公司 A kind of BMC changes the optimization method of BIOS option
CN107426246A (en) * 2017-08-31 2017-12-01 北京计算机技术及应用研究所 High-speed data exchange system between ten thousand mbit ethernets and RapidIO agreements based on FPGA

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158920B2 (en) * 2007-06-28 2015-10-13 Intel Corporation System and method for out-of-band assisted biometric secure boot
US9465771B2 (en) * 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102364444A (en) * 2011-09-19 2012-02-29 浪潮电子信息产业股份有限公司 System guiding method based on interaction of in-band system and out-of-band system
CN103455460A (en) * 2012-06-01 2013-12-18 广东新岸线计算机***芯片有限公司 Device for verifying advanced microcontroller bus interface
CN103324599A (en) * 2013-06-04 2013-09-25 北京创毅讯联科技股份有限公司 Inter-processor communication method and system on chip
CN103955441A (en) * 2014-04-02 2014-07-30 华为技术有限公司 Equipment management system, equipment management method and IO (Input/Output) expansion interface
CN204302959U (en) * 2014-10-30 2015-04-29 深圳大学 A kind of hardware real-time operation system
CN105808498A (en) * 2014-12-30 2016-07-27 展讯通信(上海)有限公司 Asymmetric multiprocessor communication method and apparatus
CN105991413A (en) * 2015-02-13 2016-10-05 展讯通信(上海)有限公司 User equipment, and method and device for processing message mailbox fault under AMP (Asymmetric Multi-Processing) system
CN105634814A (en) * 2016-01-05 2016-06-01 浪潮电子信息产业股份有限公司 Method for monitoring server asset information change
CN106776399A (en) * 2016-12-30 2017-05-31 郑州云海信息技术有限公司 BIOS flash memory data read-write system and method based on baseboard management controller
CN107145359A (en) * 2017-05-12 2017-09-08 郑州云海信息技术有限公司 A kind of BMC changes the optimization method of BIOS option
CN107426246A (en) * 2017-08-31 2017-12-01 北京计算机技术及应用研究所 High-speed data exchange system between ten thousand mbit ethernets and RapidIO agreements based on FPGA

Also Published As

Publication number Publication date
CN108062234A (en) 2018-05-22

Similar Documents

Publication Publication Date Title
CN108062234B (en) System and method for realizing server host to access BMC FLASH through mailbox protocol
CN107423169B (en) Method and system for testing high speed peripheral device interconnection equipment
CN100555257C (en) The memory controller of the dma operation between the processing page replicative phase and method
US8387043B2 (en) USB port shared control method in a plurality of virtual machines
US8949486B1 (en) Direct memory access to storage devices
US9081709B2 (en) Virtualizable and forward-compatible hardware-software interface
US20160224493A1 (en) Universal serial bus (usb) kvm switch using virtual usb for switching among multiple hosts
JP3705663B2 (en) Device bridging method and apparatus
WO2021098485A1 (en) Method and system for power-on and power-off control of pcie device
US20100274986A1 (en) Control apparatus and control method therefor
KR20070003954A (en) Simulation circuit of pci express endpoint and downstream port for a pci express switch
US20120042307A1 (en) System and method for creating memory interface of computing device
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
US11307965B2 (en) Managing and maintaining multiple debug contexts in a debug execution mode for real-time processors
CN110968352B (en) Reset system and server system of PCIE equipment
CN109669729A (en) A kind of starting bootstrap technique of processor
US20160050335A1 (en) Information processing apparatus, and control method of information processing apparatus
US10261699B2 (en) Systems and methods for hardware-based RAID acceleration
JP2008282314A (en) Simulator and simulation method
US20230342503A1 (en) Security Isolation Apparatus and Method
CN102662617A (en) Implementing method for VGA (video graphics array) signal switching in KVM (kernel-based virtual machine)
TW201344444A (en) Motherboard and data processing method thereof
US20080281576A1 (en) Interface board, simulator, synchronization method, and synchronization program
US20160314086A1 (en) Secure digital host controller virtualization
CN105068962A (en) I2C controller access method and I2C controller access system

Legal Events

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