[go: up one dir, main page]

CN114546084A - Substrate management controller resetting method, system, storage medium and equipment - Google Patents

Substrate management controller resetting method, system, storage medium and equipment Download PDF

Info

Publication number
CN114546084A
CN114546084A CN202210108971.2A CN202210108971A CN114546084A CN 114546084 A CN114546084 A CN 114546084A CN 202210108971 A CN202210108971 A CN 202210108971A CN 114546084 A CN114546084 A CN 114546084A
Authority
CN
China
Prior art keywords
mode
line width
address
read
modes
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
Application number
CN202210108971.2A
Other languages
Chinese (zh)
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202210108971.2A priority Critical patent/CN114546084A/en
Publication of CN114546084A publication Critical patent/CN114546084A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

The invention provides a method, a system, a storage medium and equipment for resetting a baseboard management controller, wherein the method comprises the following steps: setting a plurality of address modes to be selected and a plurality of line width types to be selected of the BMC; responding to the reset of a FLASH controller of the substrate management controller, and selecting one of a plurality of address modes and one of a plurality of line width modes as a reading address mode and a reading line width mode of a starting program for reading the substrate management controller from the FLASH; acquiring a starting program based on a read address mode and a read line width mode, timing a watchdog, and judging whether the starting is successful or not after the watchdog arrives; in response to the boot being unsuccessful, the read address mode is switched to another one of the plurality of address modes that has not been employed or the read line width mode is switched to another one of the plurality of read line width modes that has not been employed to perform a reboot. Based on the method of the invention, the configuration of the controller and the memory is kept consistent in a self-adaptive manner, and the purpose of starting the system is achieved.

Description

一种基板管理控制器复位方法、系统、存储介质及设备A baseboard management controller reset method, system, storage medium and device

技术领域technical field

本发明涉及服务器技术领域,尤其涉及服务器的基板管理控制器技术 领域,具体涉及一种基板管理控制器复位方法、系统、存储介质及设备。The present invention relates to the technical field of servers, in particular to the technical field of baseboard management controllers for servers, and in particular to a method, system, storage medium and device for resetting a baseboard management controller.

背景技术Background technique

随着服务器管理重要性的日益凸显,各大服务器生产厂商都相应地在 各自的硬件平台上增强了服务器的可管理特性,并在功能上不断强化。服 务器的可靠、简单易用的管理特性以及附加服务功能正在成为各大服务器 制造厂商迫切需要的核心竞争力。With the increasing importance of server management, major server manufacturers have correspondingly enhanced the manageability of servers on their respective hardware platforms, and continued to strengthen their functions. The server's reliable, easy-to-use management features and additional service functions are becoming the core competencies urgently needed by major server manufacturers.

智能型平台管理接口规范(IPMI,Intelligent Platform ManagementInterface)的诞生很好的解决了服务器可靠管理的问题。IPMI定义了服务 器主板上的硬件设备(支持IPMI协议硬件设备固件)相互之间的通信协议 以及系统管理软件(SMS,System Management Software)与服务器主板上 的硬件设备之间的通信协议接口。IPMI的核心是一个专用芯片/控制器,叫 做基板管理控制器(BMC,Baseboard ManagementController)。系统管理 软件对各个被管理器件的管理,都是通过与主板控制器BMC通信来实现的, 如图1所示。The birth of Intelligent Platform Management Interface (IPMI, Intelligent Platform Management Interface) solves the problem of reliable server management. IPMI defines the communication protocol between hardware devices on the server motherboard (hardware device firmware that supports the IPMI protocol) and the communication protocol interface between system management software (SMS, System Management Software) and hardware devices on the server motherboard. The core of IPMI is a dedicated chip/controller called Baseboard Management Controller (BMC). The management of each managed device by the system management software is realized by communicating with the mainboard controller BMC, as shown in Figure 1.

基板管理控制器BMC的启动程序一般存放在FLASH存储器里。NOR FLASH可以进行芯片内执行,这样应用程序可以直接在FLASH闪存内部 运行,不必再把代码读到系统DDR中。然而,这要求一个前提,就是FLASH 控制器的地址模式和线宽模式要跟FLASH存储器保持一致。The startup program of the baseboard management controller BMC is generally stored in the FLASH memory. NOR FLASH can be executed on-chip, so that the application can run directly inside the FLASH flash memory without having to read the code into the system DDR. However, this requires a premise that the address mode and line width mode of the FLASH controller should be consistent with the FLASH memory.

但是一旦基板管理控制器BMC的软件发生了复位,例如看门狗产生得 复位,会对FLASH控制器进行复位。这时候有可能会造成FLASH控制器 跟FLASH存储器之间有配置上的不同。这会导致复位后基板管理控制器 BMC不能启动成功。But once the software of the baseboard management controller BMC is reset, for example, the watchdog is reset, the FLASH controller will be reset. At this time, there may be differences in configuration between the FLASH controller and the FLASH memory. This will cause the baseboard management controller BMC to fail to start successfully after reset.

为了解决这一问题,通常采用的方式是在启动的时候将FLASH控制器 默认为指定的启动模式,例如3byte启动。并且FLASH存储器也默认为带 指定的启动模式,例如3byte启动。由此,使两者保持一致。In order to solve this problem, the usual way is to default the FLASH controller to the specified startup mode when starting, such as 3byte startup. And the FLASH memory also defaults to the specified startup mode, such as 3byte startup. Thus, the two are kept consistent.

然而,FLASH控制器复位的时候同时要复位FLASH存储器,这样实 现起来比较困难。因而一般需要采用硬件将两者关联起来进行复位。However, when the FLASH controller is reset, the FLASH memory must be reset at the same time, which is difficult to implement. Therefore, it is generally necessary to use hardware to associate the two to reset.

因此,针对现有技术中的问题,需要提出一种优化的基板管理控制器 的设置方式,解决基板管理控制器中FLASH控制器、存储器配置不一致导 致复位时无法正常启动、或依赖于硬件或其他额外的复杂操作设置才能启 动的问题。Therefore, in view of the problems in the prior art, it is necessary to propose an optimized setting method of the baseboard management controller, so as to solve the problem that the FLASH controller and the memory configuration in the baseboard management controller are inconsistent and cannot be started normally during reset, or depend on hardware or other Issues with additional complex operation settings to activate.

发明内容SUMMARY OF THE INVENTION

有鉴于此,本发明的目的在于提出一种改进的基板管理控制器复位的 方法、系统、存储介质及设备,从而解决现有技术中控制器、存储器配置 不一致导致复位时无法正常启动、或依赖于硬件或其他额外的复杂操作设 置才能启动等问题。In view of this, the purpose of the present invention is to provide an improved method, system, storage medium and device for resetting a baseboard management controller, so as to solve the problem of inconsistency in the configuration of the controller and memory in the prior art, resulting in failure to start normally during reset, or relying on Due to hardware or other additional complex operation settings to start and so on.

基于上述目的,一方面,本发明提供了一种基板管理控制器复位方法, 其中该方法包括以下步骤:Based on the above object, in one aspect, the present invention provides a method for resetting a baseboard management controller, wherein the method includes the following steps:

设定基板管理控制器的待选的多个地址模式和待选的多个线宽类型;Set multiple address modes to be selected and multiple line width types to be selected of the baseboard management controller;

响应于该基板管理控制器的FLASH控制器复位,选择该多个地址模式 之一及该多个线宽模式之一分别作为从FLASH读取该基板管理控制器的 启动程序的读取地址模式和读取线宽模式;In response to the reset of the FLASH controller of the baseboard management controller, one of the plurality of address modes and one of the plurality of line width modes are selected as the read address mode and read linewidth mode;

基于该读取地址模式和该读取线宽模式获得该启动程序,同时使看门 狗进行定时,并且在该看门狗到时后,判断启动是否成功;Obtain this startup procedure based on this read address pattern and this read line width pattern, make watchdog carry out timing simultaneously, and after this watchdog is timed out, determine whether startup is successful;

响应于启动不成功,将该读取地址模式切换为该多个地址模式中尚未 采用过的另外一个或将该读取线宽模式切换为该多个读取线宽模式中尚未 采用过的另外一个,以执行再启动。In response to the unsuccessful start-up, switching the read address mode to another one of the plurality of address modes that has not been adopted or the read line width mode to another one of the plurality of read line width modes that has not been adopted one to perform a restart.

在根据本发明的基板管理控制器复位方法的一些实施例中,该方法进 一步包括:In some embodiments of the method for resetting a baseboard management controller according to the present invention, the method further comprises:

响应于所有地址模式和所有多个线宽类型及其组合均被切换且该再启 动仍不成功,停止复位及启动动作并等待外部硬件复位。In response to all address modes and all multiple line width types and combinations being toggled and the restart still unsuccessful, stop the reset and start actions and wait for an external hardware reset.

在根据本发明的基板管理控制器复位方法的一些实施例中,该响应于 启动不成功,将该读取地址模式切换为该多个地址模式中尚未采用过的另 外一个或将该读取线宽模式切换为该多个读取线宽模式中尚未采用过的另 外一个,以执行再启动进一步包括:In some embodiments of the method for resetting a baseboard management controller according to the present invention, in response to the failure to start, the read address mode is switched to another one of the plurality of address modes that has not been used or the read line Switching the width mode to another one of the plurality of read line width modes that has not been used to perform the restart further includes:

基于当前的读取地址模式和当前的读取线宽模式获得该启动程序,The startup program is obtained based on the current read address mode and the current read line width mode,

其中该当前的读取地址模式为切换后的地址模式且该当前的读取线宽 模式保持不变;或wherein the current read address mode is the switched address mode and the current read line width mode remains unchanged; or

该当前的读取线宽模式为切换后的线宽模式且该当前的读取地址模式 保持不变。The current read line width mode is the switched line width mode and the current read address mode remains unchanged.

在根据本发明的基板管理控制器复位方法的一些实施例中,该响应于 启动不成功,将该读取地址模式切换为该多个地址模式中尚未采用过的另 外一个或将该读取线宽模式切换为该多个读取线宽模式中尚未采用过的另 外一个,以执行再启动进一步包括:In some embodiments of the method for resetting a baseboard management controller according to the present invention, in response to the failure to start, the read address mode is switched to another one of the plurality of address modes that has not been used or the read line Switching the width mode to another one of the plurality of read line width modes that has not been used to perform the restart further includes:

基于当前的读取地址模式和当前的读取线宽模式获得该启动程序同时 使看门狗进行定时,并且在该看门狗到时后,判断再启动是否成功。The startup program is obtained based on the current read address mode and the current read line width mode, and the watchdog is timed, and after the watchdog expires, it is determined whether the restart is successful.

本发明的另一方面,还提供了一种基板管理控制器复位系统,其中该 系统包括:Another aspect of the present invention also provides a baseboard management controller reset system, wherein the system includes:

模式选定模块,该模式选定模块配置为设定基板管理控制器的待选的 多个地址模式和待选的多个线宽类型;a mode selection module, the mode selection module is configured to set multiple address modes to be selected and multiple line width types to be selected of the baseboard management controller;

复位配置模块,该复位配置模块配置为响应于该基板管理控制器的 FLASH控制器复位,选择该多个地址模式之一及该多个线宽模式之一分别 作为从FLASH读取该基板管理控制器的启动程序的读取地址模式和读取 线宽模式;A reset configuration module, the reset configuration module is configured to select one of the plurality of address modes and one of the plurality of line width modes as reading the baseboard management control from the FLASH in response to the reset of the FLASH controller of the baseboard management controller Read address mode and read line width mode of the startup program of the device;

启动模块,该启动模块配置为基于该读取地址模式和该读取线宽模式 获得该启动程序,同时使看门狗进行定时,并且在该看门狗到时后,判断 启动是否成功;Startup module, this startup module is configured to obtain this startup program based on this read address pattern and this read line width pattern, make watchdog carry out timing simultaneously, and after this watchdog arrives, judge whether startup is successful;

再启动模块,该再启动模块配置为响应于启动不成功,将该读取地址 模式切换为该多个地址模式中尚未采用过的另外一个或将该读取线宽模式 切换为该多个读取线宽模式中尚未采用过的另外一个,以执行再启动。A restart module, the restart module is configured to switch the read address mode to another one of the plurality of address modes that has not been used or to switch the read line width mode to the plurality of read address modes in response to an unsuccessful start Take another one of the line width modes that has not been used to perform a restart.

在根据本发明的基板管理控制器复位系统的一些实施例中,该系统进 一步包括:In some embodiments of the baseboard management controller reset system according to the present invention, the system further includes:

复位终止模块,该复位终止模块配置为响应于所有地址模式和所有多 个线宽类型及其组合均被切换且该再启动仍不成功,停止复位及启动动作 并等待外部硬件复位。A reset termination module configured to stop the reset and start actions and wait for an external hardware reset in response to all address modes and all multiple line width types and combinations being toggled and the restart is still unsuccessful.

在根据本发明的基板管理控制器复位系统的一些实施例中,该再启动 模块进一步配置:In some embodiments of the baseboard management controller reset system according to the present invention, the restart module is further configured:

基于当前的读取地址模式和当前的读取线宽模式获得该启动程序,The startup program is obtained based on the current read address mode and the current read line width mode,

其中该当前的读取地址模式为切换后的地址模式且该当前的读取线宽 模式保持不变;或wherein the current read address mode is the switched address mode and the current read line width mode remains unchanged; or

该当前的读取线宽模式为切换后的线宽模式且该当前的读取地址模式 保持不变。The current read line width mode is the switched line width mode and the current read address mode remains unchanged.

在根据本发明的基板管理控制器复位系统的一些实施例中,该再启动 模块进一步配置:In some embodiments of the baseboard management controller reset system according to the present invention, the restart module is further configured:

基于当前的读取地址模式和当前的读取线宽模式获得该启动程序同时 使看门狗进行定时,并且在该看门狗到时后,判断再启动是否成功。The startup program is obtained based on the current read address mode and the current read line width mode, and the watchdog is timed, and after the watchdog expires, it is determined whether the restart is successful.

本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算 机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的基 板管理控制器复位方法。In yet another aspect of the present invention, a computer-readable storage medium is also provided, storing computer program instructions, and when the computer program instructions are executed, any one of the above-mentioned methods for resetting a baseboard management controller according to the present invention is implemented.

本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器, 该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任 一项根据本发明的基板管理控制器复位方法。In yet another aspect of the present invention, a computer device is also provided, including a memory and a processor, where a computer program is stored in the memory, and when the computer program is executed by the processor, any one of the above-mentioned baseboard management controllers according to the present invention is executed reset method.

本发明至少具有以下有益技术效果:基于本发明提供了一种基于基板 管理控制器BMC的SPI(Serial Peripheral Interface,串行外设接口)控制 器的芯片软件看门狗复位方法,自适应地让FLASH控制器跟FLASH存储 器配置保持一致,从而达到启动系统的目的,其中软件复位或者看门狗复 位FLASH控制器时,可以自适应的选择地址线宽模式从而达到某一种配置 跟FLASH存储器配置一致的模式;配置了看门狗定时器以定期对控制器进行复位,只有当系统启动成功,因为系统的重新喂狗才不会一直复位;并 且FLASH控制器会循环尝试各种可能,直到系统成功或者最终失败放弃。The present invention has at least the following beneficial technical effects: based on the present invention, a chip software watchdog reset method based on an SPI (Serial Peripheral Interface, Serial Peripheral Interface) controller of a baseboard management controller BMC is provided, which adaptively allows The FLASH controller is consistent with the FLASH memory configuration, so as to achieve the purpose of starting the system. When the software resets or the watchdog resets the FLASH controller, the address line width mode can be adaptively selected to achieve a certain configuration consistent with the FLASH memory configuration. mode; a watchdog timer is configured to reset the controller periodically, only when the system starts successfully, it will not be reset all the time because the system re-feeds the dog; and the FLASH controller will cycle through various possibilities until the system succeeds Or eventually fail and give up.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员 来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实 施例。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the accompanying drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only These are some embodiments of the present invention. For those of ordinary skill in the art, other embodiments can also be obtained according to these drawings without creative efforts.

在图中:In the picture:

图1示出了基板管理控制器功能整体逻辑示意图;Fig. 1 shows the overall logical schematic diagram of the baseboard management controller function;

图2示出了根据本发明的基板管理控制器复位方法的实施例的示意性 框图;Fig. 2 shows a schematic block diagram of an embodiment of a method for resetting a baseboard management controller according to the present invention;

图3示出了根据本发明的基板管理控制器复位系统的实施例的示意性 框图;3 shows a schematic block diagram of an embodiment of a baseboard management controller reset system according to the present invention;

图4示出了根据本发明的实现基板管理控制器复位方法的计算机可读 存储介质的实施例的示意图;4 shows a schematic diagram of an embodiment of a computer-readable storage medium implementing a method for resetting a baseboard management controller according to the present invention;

图5示出了根据本发明的实现基板管理控制器复位方法的计算机设备 的实施例的硬件结构示意图。Fig. 5 shows a schematic diagram of the hardware structure of an embodiment of a computer device for implementing a method for resetting a baseboard management controller according to the present invention.

具体实施方式Detailed ways

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实 施例,并参照附图,对本发明实施例进一步详细说明。In order to make the objectives, technical solutions and advantages of the present invention clearer, the embodiments of the present invention will be described in further detail below in conjunction with the specific embodiments and with reference to the accompanying drawings.

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述 均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第 一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此 外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他 的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。It should be noted that all expressions using "first" and "second" in the embodiments of the present invention are for the purpose of distinguishing two non-identical entities or non-identical parameters with the same name. " is only for the convenience of expression, and should not be construed as a limitation on the embodiments of the present invention. Furthermore, the terms "comprising" and "having", and any variations thereof, are intended to cover non-exclusive inclusion, e.g., other steps or units inherent in a process, method, system, product or device comprising a series of steps or units.

本发明主要解决在基于FPGA或者芯片的BMC设计时SPI控制器的看 门狗复位问题。简单地说,本发明的构思基于对看门狗定时器进行配置以 及反复切换不同的地址模式以及线宽模式,例如3bytes和4bytes以及单线 宽模式和四线宽模式,尝试SPI(SerialPeripheral Interface,串行外设接口) FLASH的启动。The invention mainly solves the problem of the watchdog reset of the SPI controller in the BMC design based on FPGA or chip. Simply put, the concept of the present invention is based on configuring the watchdog timer and repeatedly switching between different address modes and line width modes, such as 3bytes and 4bytes, single line width mode and four line width mode, try SPI (Serial Peripheral Interface, serial line peripheral interface) FLASH startup.

为此,本发明的第一方面,提供了一种基板管理控制器复位方法100。 图2示出了根据本发明的基板管理控制器复位方法的实施例的示意性框图。 在如图2所示的实施例中,该方法包括:To this end, a first aspect of the present invention provides a method 100 for resetting a baseboard management controller. FIG. 2 shows a schematic block diagram of an embodiment of a method for resetting a baseboard management controller according to the present invention. In the embodiment shown in Figure 2, the method includes:

步骤S110:设定基板管理控制器的待选的多个地址模式和待选的多个 线宽类型;Step S110: setting multiple address modes to be selected and multiple line width types to be selected of the baseboard management controller;

步骤S120:响应于该基板管理控制器的FLASH控制器复位,选择该 多个地址模式之一及该多个线宽模式之一分别作为从 FLASH读取该基板管理控制器的启动程序的读取地址模式 和读取线宽模式;Step S120: In response to the reset of the FLASH controller of the baseboard management controller, select one of the plurality of address modes and one of the plurality of line width modes as the reading of the startup program of the baseboard management controller from FLASH, respectively Address mode and read line width mode;

步骤S130:基于该读取地址模式和该读取线宽模式获得该启动程序,Step S130: obtaining the startup program based on the read address mode and the read line width mode,

同时使看门狗进行定时,并且在该看门狗到时后,判断启 动是否成功;At the same time, the watchdog is timed, and after the watchdog expires, it is judged whether the startup is successful;

步骤S140:响应于启动不成功,将该读取地址模式切换为该多个地址 模式中尚未采用过的另外一个或将该读取线宽模式切换为 该多个读取线宽模式中尚未采用过的另外一个,以执行再 启动。Step S140 : In response to the unsuccessful startup, switch the read address mode to another one of the plurality of address modes that has not been used or switch the read line width mode to one of the plurality of read line width modes that has not been used another one that has been passed to perform a restart.

总的来说,针对现有技术中存在的上述问题,软件复位或者看门狗复 位FLASH控制器时,可以自适应的选择地址线宽模式从而达到某一种配置 跟FLASH存储器配置一致的模式,从而达到启动系统的目的。在此期间, 定期对控制器进行复位,只有当系统启动成功,因为系统的重新喂狗才不 会一直复位,并且FLASH控制器会循环尝试各种可能,直到系统成功或者 最终失败放弃。In general, in view of the above problems in the prior art, when the software resets or the watchdog resets the FLASH controller, the address line width mode can be adaptively selected so as to achieve a mode in which a certain configuration is consistent with the configuration of the FLASH memory. So as to achieve the purpose of starting the system. During this period, the controller is reset periodically. Only when the system is successfully started, it will not be reset all the time because of the re-feeding of the system, and the FLASH controller will cycle through various possibilities until the system succeeds or finally fails to give up.

为了实现上述功能,首先在服务器、更准确的说在基板管理控制器中 需要确定究竟可能采用哪些地址模式和线宽模式。所以根据本发明的方法 在步骤S110中设定基板管理控制器的待选的多个地址模式和待选的多个线 宽类型。优选地,设定基板管理控制器的待选的两种地址模式,优选包括 3bytes地址模式和4bytes地址模式。并且,设定基板管理控制器的待选的 两个线宽类型,优选包括单线宽模式和四线宽模式。然而,在可以适用的情况下,可以存在多于两个地址模式和/或多于两个线宽模式。因此,具体 的地址模式以及线宽模式不限于上述提及的这些种类。In order to realize the above functions, it is first necessary to determine which address modes and line width modes may be used in the server, more precisely in the baseboard management controller. Therefore, according to the method of the present invention, a plurality of address modes to be selected and a plurality of line width types to be selected of the baseboard management controller are set in step S110. Preferably, two address modes to be selected by the baseboard management controller are set, preferably including a 3bytes address mode and a 4bytes address mode. In addition, two line width types to be selected by the baseboard management controller are set, preferably including a single line width mode and a four line width mode. However, where applicable, there may be more than two address modes and/or more than two line width modes. Therefore, the specific address patterns and line width patterns are not limited to those mentioned above.

随后在步骤S120中响应于该基板管理控制器的FLASH控制器复位, 选择该多个地址模式之一及该多个线宽模式之一分别作为从FLASH读取 该基板管理控制器的启动程序的读取地址模式和读取线宽模式。也就是说, 当该基板管理控制器的FLASH控制器由于各种原因发生了复位时,自动地 从步骤S110中设定的该多个地址模式中选择其中之一作为从FLASH读取 该基板管理控制器的启动程序的读取地址模式,并且从步骤S110中设定的该多个线宽模式中选择其中之一作为从FLASH读取该基板管理控制器的 启动程序的读取线宽模式。控制器复位后,会自动从FLASH存储器的0地 址开始读取数据并执行。优选地,读取地址模式默认为3bytes地址模式, 读取线宽模式默认为单线宽模式。Then in step S120, in response to the reset of the FLASH controller of the baseboard management controller, one of the plurality of address modes and one of the plurality of line width modes are respectively selected as the starting procedures for reading the baseboard management controller from the FLASH. Read address mode and read linewidth mode. That is to say, when the FLASH controller of the baseboard management controller is reset due to various reasons, one of the plurality of address modes set in step S110 is automatically selected as the baseboard management controller for reading the baseboard management from FLASH. read address mode of the startup program of the controller, and select one of the plurality of line width modes set in step S110 as the read line width mode for reading the startup program of the baseboard management controller from FLASH. After the controller is reset, it will automatically start reading data from the 0 address of the FLASH memory and execute it. Preferably, the read address mode is a 3bytes address mode by default, and the read line width mode is a single line width mode by default.

在此基础上,在步骤S130中基于该读取地址模式和该读取线宽模式获 得该启动程序,同时使看门狗进行定时,并且在该看门狗到时后,判断启 动是否成功。也就是是,在步骤S120中选择了读取地址模式和读取线宽模 式后,基于选定的模式从FLASH读取该基板管理控制器的启动程序。同时 使看门狗进行定时。经过一段时间后判断ARM系统启动是否成功。如果 ARM系统启动成功,代表着FLASH控制器的配置与FLASH存储器配置一 致,则对看门狗进行重新定时,这样就不会造成FLASH控制器的复位。On this basis, in step S130, the startup procedure is obtained based on the read address mode and the read line width mode, while the watchdog is timed, and after the watchdog expires, it is determined whether the startup is successful. That is, after the read address mode and the read line width mode are selected in step S120, the startup program of the baseboard management controller is read from the FLASH based on the selected mode. At the same time, the watchdog is timed. After a period of time, judge whether the ARM system is successfully started. If the ARM system starts successfully, it means that the configuration of the FLASH controller is consistent with the configuration of the FLASH memory, then the watchdog is re-timed so that the FLASH controller will not be reset.

然而,如果FLASH控制器的配置与FLASH存储器配置不一致,就会 导致启动不成功。因此,当步骤S130中判定启动不成功时,在步骤S140 中将该读取地址模式切换为该多个地址模式中尚未采用过的另外一个或将 该读取线宽模式切换为该多个读取线宽模式中尚未采用过的另外一个,以 执行再启动。具体地,如果ARM系统启动不成功,说明FLASH控制器的 配置与FLASH存储器配置不一致。每次不成功的看门狗定时复位,就切换 一次FLASH控制器的地址模式或者线宽模式的任何一个配置。复位后, FLASH控制器将会使用新的、切换后的配置方式(如4bytes地址方式)进 行重新读取FLASH存储器的0地址并尝试重新启动、即再启动。However, if the configuration of the FLASH controller does not match the configuration of the FLASH memory, an unsuccessful boot will result. Therefore, when it is determined in step S130 that the startup is unsuccessful, the read address mode is switched to another one of the plurality of address modes that has not been used or the read line width mode is switched to the plurality of read address modes in step S140 Take another one of the line width modes that has not been used to perform a restart. Specifically, if the ARM system fails to start, it means that the configuration of the FLASH controller is inconsistent with the configuration of the FLASH memory. Every time the watchdog timer resets unsuccessfully, it switches the address mode of the FLASH controller or any configuration of the line width mode. After reset, the FLASH controller will re-read the 0 address of the FLASH memory using the new, switched configuration mode (such as the 4bytes address mode) and try to restart, that is, restart.

在根据本发明的基板管理控制器复位方法100的一些实施例中,该方 法进一步包括:In some embodiments of the baseboard management controller reset method 100 according to the present invention, the method further includes:

步骤S150:响应于所有地址模式和所有多个线宽类型及其组合均被切 换且该再启动仍不成功,停止复位及启动动作并等待外部 硬件复位。Step S150: In response to all address modes and all multiple line width types and their combinations being switched and the restart is still unsuccessful, stop the reset and start actions and wait for an external hardware reset.

也就是说,在系统经过启动、再启动并且已经尝试过所有可能的启动 程序读取方式的情况下,如果系统启动仍然不成功,那么证明系统本身出 现了错误,此时步骤S150中使系统停止复位及及启动动作并等待外部硬件 复位,即FLASH控制器选择放弃复位及启动动作,此时只有经过外部的硬 件复位才可以重新开始工作。That is to say, after the system has been started and restarted, and all possible startup program reading methods have been tried, if the system startup is still unsuccessful, it proves that an error has occurred in the system itself, and the system is stopped in step S150. Reset and start the action and wait for the external hardware reset, that is, the FLASH controller chooses to give up the reset and start action, at this time, it can only restart the work after the external hardware reset.

以前述优选实施方式为例,如果地址模式分为3bytes地址模式和4bytes 地址模式,线宽类型分为单线宽模式和四线宽模式。那么根据排列组合, 最多进行四次切换就能完成所有可能组合。当切换的次数达到规定的最大 值(如最大值为4)、换句话说已经尝试过以所有的可能组合进行复位和启 动,而仍然无法正常启动时,说明系统出现了错误,FLASH控制器会选择 放弃。这时只有对外部的硬件复位,才能让FLASH控制器重新开始工作。Taking the foregoing preferred embodiment as an example, if the address mode is divided into a 3-bytes address mode and a 4-bytes address mode, the line width type is divided into a single line width mode and a four line width mode. Then, depending on the permutation and combination, a maximum of four switches can complete all possible combinations. When the number of switching reaches the specified maximum value (for example, the maximum value is 4), in other words, all possible combinations have been tried to reset and start, but still cannot start normally, it means that there is an error in the system, and the FLASH controller will Choose to give up. At this time, only by resetting the external hardware can the FLASH controller start working again.

在根据本发明的基板管理控制器复位方法100的一些实施例中,步骤 S140响应于启动不成功,将该读取地址模式切换为该多个地址模式中尚未 采用过的另外一个或将该读取线宽模式切换为该多个读取线宽模式中尚未 采用过的另外一个,以执行再启动进一步包括:In some embodiments of the method 100 for resetting a baseboard management controller according to the present invention, step S140 switches the read address mode to another one of the plurality of address modes that has not been used or switches the read address mode to another address mode in response to the failure to start the read address mode. Switching the line width mode to another one of the plurality of read line width modes that has not been adopted to perform the restart further includes:

步骤S141:基于当前的读取地址模式和当前的读取线宽模式获得该启 动程序,Step S141: obtain this startup program based on the current read address mode and the current read line width mode,

其中该当前的读取地址模式为切换后的地址模式且该当前的读取线宽 模式保持不变;或wherein the current read address mode is the switched address mode and the current read line width mode remains unchanged; or

该当前的读取线宽模式为切换后的线宽模式且该当前的读取地址模式 保持不变。The current read line width mode is the switched line width mode and the current read address mode remains unchanged.

也就是说,在执行再启动时,步骤S141采用当前的读取地址模式和当 前的读取线宽模式获得该启动程序,此时上述两者之一为新的、切换后的 模式而另一个保持原有的模式。具体地说,其中该当前的读取地址模式为 切换后的地址模式且该当前的读取线宽模式保持不变;或该当前的读取线 宽模式为切换后的线宽模式且该当前的读取地址模式保持不变。每次只切 换地址模式和线宽模式之一有利于以最简洁快速的方式遍历所有的可能组 合。That is to say, when restarting is performed, step S141 adopts the current read address mode and the current read line width mode to obtain the start-up program, at this time one of the above-mentioned two modes is the new, switched mode and the other Keep the original mode. Specifically, wherein the current read address mode is the switched address mode and the current read line width mode remains unchanged; or the current read line width mode is the switched line width mode and the current read line width mode The read address mode remains unchanged. Switching only one of the address mode and the line width mode at a time facilitates traversing all possible combinations in the most compact and fast way.

在根据本发明的基板管理控制器复位方法100的一些实施例中,步骤 S140响应于启动不成功,将该读取地址模式切换为该多个地址模式中尚未 采用过的另外一个或将该读取线宽模式切换为该多个读取线宽模式中尚未 采用过的另外一个,以执行再启动进一步包括:In some embodiments of the method 100 for resetting a baseboard management controller according to the present invention, step S140 switches the read address mode to another one of the plurality of address modes that has not been used or switches the read address mode to another address mode in response to the failure to start the read address mode. Switching the line width mode to another one of the plurality of read line width modes that has not been adopted to perform the restart further includes:

步骤S142:基于当前的读取地址模式和当前的读取线宽模式获得该启 动程序同时使看门狗进行定时,并且在该看门狗到时后,Step S142: obtain this startup program based on current read address pattern and current read line width pattern and make watchdog carry out timing simultaneously, and after this watchdog arrives,

判断再启动是否成功。Determine whether the restart is successful.

具体地说,在执行再启动时,步骤S142基于当前的读取地址模式和当 前的读取线宽模式获得该启动程序同时使看门狗进行定时,并且在该看门 狗到时后,判断再启动是否成功。也就是说,复位后,FLASH控制器将会 使用新的配置方式(如切换的地址模式或切换的线宽模式)进行重新读取 FLASH存储器的0地址开始启动。同样让看门狗进行定时,经过一段时间, 后判断再启动是否成功。如果ARM系统启动成功,则对看门狗进行重新定 时,这样就不会造成FLASH控制器的复位。如果ARM系统启动不成功, 说明FLASH控制器的配置与FLASH存储器配置仍然不一致。看门狗的定 时复位,再次切换FLASH控制器的配置。Specifically, when restarting is performed, step S142 obtains the startup program based on the current read address mode and the current read line width mode while timing the watchdog, and after the watchdog expires, determine Whether the restart is successful. That is to say, after reset, the FLASH controller will use the new configuration method (such as switched address mode or switched line width mode) to re-read the 0 address of the FLASH memory to start up. The watchdog is also timed, and after a period of time, it is judged whether the restart is successful. If the ARM system starts successfully, the watchdog is re-timed so that it will not cause a reset of the FLASH controller. If the ARM system fails to start, it means that the configuration of the FLASH controller is still inconsistent with the configuration of the FLASH memory. The timing of the watchdog is reset, and the configuration of the FLASH controller is switched again.

综合根据本发明的前述实施例,以两种地址模式、即3bytes模式和 4bytes模式以及两种线宽模式、即单线宽模式和四线宽模式为例,在一优选 实施例中进一步解释本发明。Based on the foregoing embodiments of the present invention, the present invention is further explained in a preferred embodiment by taking two address modes, namely 3bytes mode and 4bytes mode and two line width modes, namely single line width mode and four line width mode as examples. .

在该优选实施例中,首先,考虑到NOR FLASH的特点是芯片内执行 (XIP,eXecuteIn Place,芯片内执行),这样应用程序可以直接在FLASH 闪存内运行,不必再把代码读到系统RAM中。控制器复位后,会自动从 FLASH存储器的0地址开始读取数据并执行,读取的模式默认为3bytes地 址模式,线宽模式为单线宽模式。这时让看门狗进行定时,经过一段时间, 如果ARM系统BOOT(启动)成功,则对看门狗进行重新定时,这样就不 会造成FLASH控制器的复位。如果ARM系统BOOT不成功,说明FLASH 控制器的配置与FLASH存储器配置不一致。每次不成功的看门狗定时复位, 就切换一次FLASH控制器的地址模式或者线宽模式的任何一个配置。In this preferred embodiment, first of all, considering that NOR FLASH is characterized by in-chip execution (XIP, eXecuteIn Place, in-chip execution), the application program can run directly in the FLASH flash memory without having to read the code into the system RAM. . After the controller is reset, it will automatically start reading data from the 0 address of the FLASH memory and execute it. The read mode is 3bytes address mode by default, and the line width mode is single line width mode. At this time, the watchdog is timed. After a period of time, if the ARM system BOOT (startup) is successful, the watchdog will be re-timed, so that the FLASH controller will not be reset. If the BOOT of the ARM system is unsuccessful, it means that the configuration of the FLASH controller is inconsistent with the configuration of the FLASH memory. Every time the unsuccessful watchdog timer resets, switch the address mode of the FLASH controller or any configuration of the line width mode.

这样,第二次复位后,FLASH控制器将会使用新的配置方式(如4bytes 地址方式)进行重新读取FLASH存储器的0地址开始启动。同样让看门狗 进行定时,经过一段时间,如果ARM系统BOOT成功,则对看门狗进行 重新定时,这样就不会造成FLASH控制器的复位。如果ARM系统BOOT 不成功,说明FLASH控制器的配置与FLASH存储器配置不一致。看门狗 的定时复位,再次切换FLASH控制器的配置。如果地址模式分为3bytes 地址模式和4bytes地址模式,线宽类型分为单线宽和四线宽模式,那么根 据排列组合,最多进行四次切换就能完成所有可能组合。In this way, after the second reset, the FLASH controller will use a new configuration method (such as a 4bytes address method) to re-read the 0 address of the FLASH memory to start. The watchdog is also timed. After a period of time, if the BOOT of the ARM system is successful, the watchdog will be re-timed, so that the FLASH controller will not be reset. If the BOOT of the ARM system is unsuccessful, it means that the configuration of the FLASH controller is inconsistent with the configuration of the FLASH memory. The timing reset of the watchdog switches the configuration of the FLASH controller again. If the address mode is divided into 3bytes address mode and 4bytes address mode, and the line width type is divided into single line width and four line width mode, then according to the permutation and combination, a maximum of four switching can complete all possible combinations.

当切换的次数达到规定的最大值,说明系统出现了错误,FLASH控制 器会选择放弃。这时只有对外部的硬件复位,才能让FLASH控制器重新开 始工作。When the number of switching reaches the specified maximum value, it means that there is an error in the system, and the FLASH controller will choose to give up. At this time, only the external hardware reset can make the FLASH controller work again.

需要注意的是,虽然上述实施例着重于基于服务器BMC的外设SPI控 制器,然而,应该想到根据本发明的方法可以用于各种带有SOC系统,也 可以用于其他系统设计。It should be noted that although the above embodiments focus on the server BMC-based peripheral SPI controller, however, it is contemplated that the method according to the present invention can be used in various systems with SOC, as well as in other system designs.

此外,上述对于根据本发明的基板管理控制器复位方法的解释、优点 及效果,在不脱离本发明的范围的情况下同样适用于以下根据本发明的基 板管理控制器复位系统200、存储介质300及设备400。In addition, the above explanations, advantages and effects of the method for resetting the baseboard management controller according to the present invention are also applicable to the following baseboard management controller resetting system 200 and storage medium 300 according to the present invention without departing from the scope of the present invention and device 400.

本发明的第二方面,还提供了一种基板管理控制器复位系统200。图3 示出了根据本发明的基板管理控制器复位系统200的实施例的示意性框图。 如图3所示,该系统包括:In a second aspect of the present invention, a system 200 for resetting a baseboard management controller is also provided. FIG. 3 shows a schematic block diagram of an embodiment of a baseboard management controller reset system 200 according to the present invention. As shown in Figure 3, the system includes:

模式选定模块210,该模式选定模块210配置为设定基板管理控制器的 待选的多个地址模式和待选的多个线宽类型;a mode selection module 210, the mode selection module 210 is configured to set multiple address modes to be selected and multiple line width types to be selected of the baseboard management controller;

复位配置模块220,该复位配置模块220配置为响应于该基板管理控制 器的FLASH控制器复位,选择该多个地址模式之一及该多个线宽模式之一 分别作为从FLASH读取该基板管理控制器的启动程序的读取地址模式和 读取线宽模式;A reset configuration module 220, the reset configuration module 220 is configured to select one of the plurality of address modes and one of the plurality of line width modes as reading the substrate from the FLASH in response to the reset of the FLASH controller of the baseboard management controller Manage the read address mode and read line width mode of the startup program of the controller;

启动模块230,该启动模块230配置为基于该读取地址模式和该读取线 宽模式获得该启动程序,同时使看门狗进行定时,并且在该看门狗到时后, 判断启动是否成功;Startup module 230, the startup module 230 is configured to obtain the startup program based on the read address mode and the read line width mode, at the same time make the watchdog time, and after the watchdog expires, determine whether the startup is successful ;

再启动模块240,该再启动模块240配置为响应于启动不成功,将该读 取地址模式切换为该多个地址模式中尚未采用过的另外一个或将该读取线 宽模式切换为该多个读取线宽模式中尚未采用过的另外一个,以执行再启 动。Restart module 240, the restart module 240 is configured to switch the read address mode to another one of the plurality of address modes that has not been used or switch the read line width mode to the plurality of address modes in response to an unsuccessful start. One of the read linewidth modes has not yet been used to perform a restart.

在根据本发明的基板管理控制器复位系统200的一些实施例中,该系 统进一步包括:In some embodiments of the baseboard management controller reset system 200 according to the present invention, the system further includes:

复位终止模块250,该复位终止模块250配置为响应于所有地址模式和 所有多个线宽类型及其组合均被切换且该再启动仍不成功,停止复位及启 动动作并等待外部硬件复位。A reset termination module 250 is configured to stop the reset and start actions and wait for an external hardware reset in response to all address modes and all multiple line width types and combinations thereof being switched and the restart is still unsuccessful.

进一步地,在根据本发明的基板管理控制器复位系统200的一些实施 例中,该再启动模块240进一步配置:Further, in some embodiments of the baseboard management controller reset system 200 according to the present invention, the restart module 240 is further configured:

基于当前的读取地址模式和当前的读取线宽模式获得该启动程序,The startup program is obtained based on the current read address mode and the current read line width mode,

其中该当前的读取地址模式为切换后的地址模式且该当前的读取线宽 模式保持不变;或wherein the current read address mode is the switched address mode and the current read line width mode remains unchanged; or

该当前的读取线宽模式为切换后的线宽模式且该当前的读取地址模式 保持不变。The current read line width mode is the switched line width mode and the current read address mode remains unchanged.

此外,在根据本发明的基板管理控制器复位系统200的一些实施例中, 该再启动模块240进一步配置:In addition, in some embodiments of the baseboard management controller reset system 200 according to the present invention, the restart module 240 is further configured to:

基于当前的读取地址模式和当前的读取线宽模式获得该启动程序同时 使看门狗进行定时,并且在该看门狗到时后,判断再启动是否成功Based on the current read address mode and the current read line width mode, the startup program is obtained and the watchdog is timed, and after the watchdog expires, it is judged whether the restart is successful or not

本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图4 示出了根据本发明实施例提供的基板管理控制器复位方法的计算机可读存 储介质的示意图。如图4所示,计算机可读存储介质300存储有计算机程 序指令310,该计算机程序指令310可以被处理器执行。该计算机程序指令 310被执行时实现上述任意一项实施例的方法。In a third aspect of the embodiments of the present invention, a computer-readable storage medium is further provided, and FIG. 4 shows a schematic diagram of a computer-readable storage medium according to a method for resetting a baseboard management controller provided by an embodiment of the present invention. As shown in Figure 4, the computer readable storage medium 300 stores computer program instructions 310 that can be executed by a processor. The computer program instructions 310, when executed, implement the method of any of the above-described embodiments.

应当理解,在相互不冲突的情况下,以上针对根据本发明的基板管理 控制器复位方法阐述的所有实施方式、特征和优势同样地适用于根据本发 明的基板管理控制器复位系统和存储介质。It should be understood that all the embodiments, features and advantages described above with respect to the BMC resetting method according to the present invention are equally applicable to the BMC resetting system and storage medium according to the present invention, provided that they do not conflict with each other.

本发明实施例的第四个方面,还提供了一种计算机设备400,包括存储 器420和处理器410,该存储器中存储有计算机程序,该计算机程序被该处 理器执行时实现上述任意一项实施例的方法。In a fourth aspect of the embodiments of the present invention, a computer device 400 is further provided, including a memory 420 and a processor 410, where a computer program is stored in the memory, and when the computer program is executed by the processor, any one of the foregoing implementations is implemented example method.

如图5所示,为本发明提供的执行基板管理控制器复位方法的计算机 设备的一个实施例的硬件结构示意图。以如图5所示的计算机设备400为 例,在该计算机设备中包括一个处理器410以及一个存储器420,并还可以 包括:输入装置430和输出装置440。处理器410、存储器420、输入装置 430和输出装置440可以通过总线或者其他方式连接,图5中以通过总线连 接为例。输入装置430可接收输入的数字或字符信息,以及产生与基板管 理控制器复位有关的信号输入。输出装置440可包括显示屏等显示设备。As shown in FIG. 5 , it is a schematic diagram of a hardware structure of an embodiment of a computer device for executing a method for resetting a baseboard management controller provided by the present invention. Taking the computer device 400 shown in FIG. 5 as an example, the computer device includes a processor 410 and a memory 420, and may also include: an input device 430 and an output device 440. The processor 410, the memory 420, the input device 430 and the output device 440 may be connected by a bus or in other ways, and the connection by a bus is taken as an example in FIG. 5 . The input device 430 may receive input numerical or character information, and generate a signal input related to the reset of the baseboard management controller. The output device 440 may include a display device such as a display screen.

存储器420作为一种非易失性计算机可读存储介质,可用于存储非易 失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中 的资源监控方法对应的程序指令/模块。存储器420可以包括存储程序区和 存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的 应用程序;存储数据区可存储资源监控方法的使用所创建的数据等。此外, 存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器, 例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。 在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储 器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括 但不限于互联网、企业内部网、局域网、移动通信网及其组合。As a non-volatile computer-readable storage medium, the memory 420 can be used to store non-volatile software programs, non-volatile computer-executable programs and modules, such as program instructions corresponding to the resource monitoring method in the embodiments of the present application. /modules. The memory 420 may include a stored program area and a stored data area, wherein the stored program area may store an operating system, an application program required for at least one function; the stored data area may store data created by the use of the resource monitoring method, and the like. Additionally, memory 420 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, memory 420 may optionally include memory located remotely from processor 410, which may be connected to local modules via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

处理器410通过运行存储在存储器420中的非易失性软件程序、指令 以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方 法实施例的资源监控方法。The processor 410 executes various functional applications and data processing of the server by running the non-volatile software programs, instructions and modules stored in the memory 420, that is, implements the resource monitoring method of the above method embodiments.

最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可 以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易 失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读 存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、 电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括 随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为 例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、 动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、 以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但 不限于这些和其它合适类型的存储器。Finally, it should be noted that computer-readable storage media (e.g., memory) herein can be volatile memory or non-volatile memory, or can include both volatile and non-volatile memory. By way of example and not limitation, nonvolatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory memory. Volatile memory may include random access memory (RAM), which may act as external cache memory. By way of example and not limitation, RAM is available in various forms such as Synchronous RAM (DRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The storage devices of the disclosed aspects are intended to include, but not be limited to, these and other suitable types of memory.

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性 逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两 者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意 性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种 功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系 统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范 围。Those skilled in the art will also appreciate that the various exemplary logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described generally in terms of their functionality. Whether such functionality is implemented as software or hardware depends on the specific application and design constraints imposed on the overall system. Those skilled in the art may implement the functions in various ways for each specific application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosed embodiments of the present invention.

结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被 设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信 号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA) 或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些 部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可 以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现 为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个 或多个微处理器结合DSP和/或任何其它这种配置。The various exemplary logical blocks, modules, and circuits described in connection with the disclosure herein can be implemented or executed using the following components designed to perform the functions herein: general purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination of these components. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a DSP, and/or any other such configuration.

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要 求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。 根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以 任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式 描述或要求,但除非明确限制为单数,也可以理解为多个。The above are exemplary embodiments of the present disclosure, but it should be noted that various changes and modifications may be made without departing from the scope of the disclosure of the embodiments of the present invention as defined by the claims. The functions, steps and/or actions of the method claims in accordance with the disclosed embodiments described herein need not be performed in any particular order. Furthermore, although elements disclosed in the embodiments of the present invention may be described or claimed in the singular, unless expressly limited to the singular, the plural is to be understood.

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况, 单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用 的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有 可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施 例的优劣。It should be understood that, as used herein, the singular form "a" is intended to include the plural form as well, unless the context clearly supports an exception. It will also be understood that "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items. The above-mentioned embodiments of the present invention disclose the serial numbers of the embodiments only for description, and do not represent the advantages or disadvantages of the embodiments.

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例 性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这 些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术 特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多 其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的 精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含 在本发明实施例的保护范围之内。Those of ordinary skill in the art should understand that the discussion of any of the above embodiments is only exemplary, and is not intended to imply that the scope (including the claims) disclosed by the embodiments of the present invention is limited to these examples; under the idea of the embodiments of the present invention , the technical features in the above embodiments or different embodiments can also be combined, and there are many other changes in different aspects of the above embodiments of the present invention, which are not provided in detail for the sake of brevity. Therefore, any omission, modification, equivalent replacement, improvement, etc. made within the spirit and principle of the embodiments of the present invention should be included within the protection scope of the embodiments of the present invention.

Claims (10)

1.一种基板管理控制器复位方法,其特征在于,所述方法包括以下步骤:1. A method for resetting a baseboard management controller, wherein the method comprises the following steps: 设定基板管理控制器的待选的多个地址模式和待选的多个线宽类型;Set multiple address modes to be selected and multiple line width types to be selected of the baseboard management controller; 响应于所述基板管理控制器的FLASH控制器复位,选择所述多个地址模式之一及所述多个线宽模式之一分别作为从FLASH读取所述基板管理控制器的启动程序的读取地址模式和读取线宽模式;In response to the reset of the FLASH controller of the baseboard management controller, one of the plurality of address patterns and one of the plurality of line width patterns are selected respectively as a read from the FLASH to read the startup program of the baseboard management controller Take address mode and read line width mode; 基于所述读取地址模式和所述读取线宽模式获得所述启动程序,同时使看门狗进行定时,并且在所述看门狗到时后,判断启动是否成功;The startup procedure is obtained based on the read address mode and the read line width mode, and the watchdog is timed at the same time, and after the watchdog expires, it is determined whether the startup is successful; 响应于启动不成功,将所述读取地址模式切换为所述多个地址模式中尚未采用过的另外一个或将所述读取线宽模式切换为所述多个读取线宽模式中尚未采用过的另外一个,以执行再启动。In response to the unsuccessful start-up, switching the read address mode to another one of the plurality of address modes that has not been used or switching the read line width mode to one of the plurality of read line width modes that has not been used yet The other one used to perform a restart. 2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:2. The method according to claim 1, wherein the method further comprises: 响应于所有地址模式和所有多个线宽类型及其组合均被切换且所述再启动仍不成功,停止复位及启动动作并等待外部硬件复位。In response to all address modes and all multiple line width types and combinations being switched and the restart still unsuccessful, stop the reset and start actions and wait for an external hardware reset. 3.根据权利要求1或2所述的方法,其特征在于,所述响应于启动不成功,将所述读取地址模式切换为所述多个地址模式中尚未采用过的另外一个或将所述读取线宽模式切换为所述多个读取线宽模式中尚未采用过的另外一个,以执行再启动进一步包括:3. The method according to claim 1 or 2, characterized in that, in response to the failure to start, switching the read address mode to another one of the plurality of address modes that has not been used yet or switching all the address modes. Switching the read line width mode to another one that has not been used in the plurality of read line width modes to perform restart further includes: 基于当前的读取地址模式和当前的读取线宽模式获得所述启动程序,The startup procedure is obtained based on the current read address mode and the current read line width mode, 其中所述当前的读取地址模式为切换后的地址模式且所述当前的读取线宽模式保持不变;或wherein the current read address mode is the switched address mode and the current read line width mode remains unchanged; or 所述当前的读取线宽模式为切换后的线宽模式且所述当前的读取地址模式保持不变。The current read line width mode is the switched line width mode and the current read address mode remains unchanged. 4.根据权利要求3所述的方法,其特征在于,所述响应于启动不成功,将所述读取地址模式切换为所述多个地址模式中尚未采用过的另外一个或将所述读取线宽模式切换为所述多个读取线宽模式中尚未采用过的另外一个,以执行再启动进一步包括:4. The method according to claim 3, characterized in that, in response to the failure to start, switching the read address mode to another one of the plurality of address modes that has not been used or changing the read address mode Switching the line width mode to another one that has not been used in the plurality of read line width modes to perform restart further includes: 基于当前的读取地址模式和当前的读取线宽模式获得所述启动程序同时使看门狗进行定时,并且在所述看门狗到时后,判断再启动是否成功。The start-up procedure is obtained based on the current read address mode and the current read line width mode, while the watchdog is timed, and after the watchdog expires, it is determined whether the restart is successful. 5.一种基板管理控制器复位系统,其特征在于,所述系统包括:5. A system for resetting a baseboard management controller, wherein the system comprises: 模式选定模块,所述模式选定模块配置为设定基板管理控制器的待选的多个地址模式和待选的多个线宽类型;a mode selection module, the mode selection module is configured to set a plurality of address modes to be selected and a plurality of line width types to be selected of the baseboard management controller; 复位配置模块,所述复位配置模块配置为响应于所述基板管理控制器的FLASH控制器复位,选择所述多个地址模式之一及所述多个线宽模式之一分别作为从FLASH读取所述基板管理控制器的启动程序的读取地址模式和读取线宽模式;A reset configuration module, the reset configuration module is configured to select one of the plurality of address modes and one of the plurality of line width modes as read from the FLASH in response to the reset of the FLASH controller of the baseboard management controller the read address mode and read line width mode of the startup program of the baseboard management controller; 启动模块,所述启动模块配置为基于所述读取地址模式和所述读取线宽模式获得所述启动程序,同时使看门狗进行定时,并且在所述看门狗到时后,判断启动是否成功;a startup module, the startup module is configured to obtain the startup program based on the read address mode and the read line width mode, while timing a watchdog, and after the watchdog expires, determine Whether the startup is successful; 再启动模块,所述再启动模块配置为响应于启动不成功,将所述读取地址模式切换为所述多个地址模式中尚未采用过的另外一个或将所述读取线宽模式切换为所述多个读取线宽模式中尚未采用过的另外一个,以执行再启动。A restart module, the restart module is configured to switch the read address mode to another one of the plurality of address modes that has not been used or switch the read line width mode to Another one of the plurality of read line width modes that has not yet been adopted is used to perform a restart. 6.根据权利要求5所述的系统,其特征在于,所述系统进一步包括:6. The system of claim 5, further comprising: 复位终止模块,所述复位终止模块配置为响应于所有地址模式和所有多个线宽类型及其组合均被切换且所述再启动仍不成功,停止复位及启动动作并等待外部硬件复位。A reset termination module configured to stop the reset and start actions and wait for an external hardware reset in response to all address modes and all multiple line width types and combinations thereof being switched and the restart is still unsuccessful. 7.根据权利要求5或6所述的系统,其特征在于,所述再启动模块进一步配置:7. The system according to claim 5 or 6, wherein the restart module is further configured: 基于当前的读取地址模式和当前的读取线宽模式获得所述启动程序,The startup procedure is obtained based on the current read address mode and the current read line width mode, 其中所述当前的读取地址模式为切换后的地址模式且所述当前的读取线宽模式保持不变;或wherein the current read address mode is the switched address mode and the current read line width mode remains unchanged; or 所述当前的读取线宽模式为切换后的线宽模式且所述当前的读取地址模式保持不变。The current read line width mode is the switched line width mode and the current read address mode remains unchanged. 8.根据权利要求7所述的系统,其特征在于,所述再启动模块进一步配置:8. The system of claim 7, wherein the restart module is further configured: 基于当前的读取地址模式和当前的读取线宽模式获得所述启动程序同时使看门狗进行定时,并且在所述看门狗到时后,判断再启动是否成功。The start-up procedure is obtained based on the current read address mode and the current read line width mode, while the watchdog is timed, and after the watchdog expires, it is determined whether the restart is successful. 9.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被执行时实现如权利要求1-4任意一项所述的基板管理控制器复位方法。9 . A computer-readable storage medium, characterized in that it stores computer program instructions, and when the computer program instructions are executed, the method for resetting a baseboard management controller according to any one of claims 1 to 4 is implemented. 10 . 10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-4任意一项所述的基板管理控制器复位方法。10. A computer device, comprising a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the computer program according to any one of claims 1-4 is executed. Baseboard management controller reset method.
CN202210108971.2A 2022-01-28 2022-01-28 Substrate management controller resetting method, system, storage medium and equipment Pending CN114546084A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210108971.2A CN114546084A (en) 2022-01-28 2022-01-28 Substrate management controller resetting method, system, storage medium and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210108971.2A CN114546084A (en) 2022-01-28 2022-01-28 Substrate management controller resetting method, system, storage medium and equipment

Publications (1)

Publication Number Publication Date
CN114546084A true CN114546084A (en) 2022-05-27

Family

ID=81673337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210108971.2A Pending CN114546084A (en) 2022-01-28 2022-01-28 Substrate management controller resetting method, system, storage medium and equipment

Country Status (1)

Country Link
CN (1) CN114546084A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115757042A (en) * 2022-11-29 2023-03-07 宁畅信息产业(北京)有限公司 Fault positioning method and device for abnormal restart of BMC (baseboard management controller), electronic equipment and storage medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178867A (en) * 2004-12-24 2006-07-06 Nec Saitama Ltd Cpu system using flash memory, flash memory protection circuit and its flash memory protection method
US20120266030A1 (en) * 2011-04-13 2012-10-18 Hon Hai Precision Industry Co., Ltd. Watchdog timer test system and method
WO2013147840A1 (en) * 2012-03-30 2013-10-03 Intel Corporation On chip redundancy repair for memory devices
WO2017131671A1 (en) * 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp Securing a memory device
US20180088848A1 (en) * 2016-09-26 2018-03-29 SK Hynix Inc. Memory module and method system including the same
US20200066367A1 (en) * 2018-08-22 2020-02-27 International Business Machines Corporation Memory device controller
CN112732616A (en) * 2021-01-07 2021-04-30 苏州浪潮智能科技有限公司 BMC starting method, device and equipment based on SPI controller
CN113419884A (en) * 2021-06-11 2021-09-21 苏州浪潮智能科技有限公司 Method, device, terminal and storage medium for preventing BMC (baseboard management controller) image file from being damaged
CN113626262A (en) * 2021-07-30 2021-11-09 苏州浪潮智能科技有限公司 BMC recovery method, system, equipment and medium

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178867A (en) * 2004-12-24 2006-07-06 Nec Saitama Ltd Cpu system using flash memory, flash memory protection circuit and its flash memory protection method
US20120266030A1 (en) * 2011-04-13 2012-10-18 Hon Hai Precision Industry Co., Ltd. Watchdog timer test system and method
WO2013147840A1 (en) * 2012-03-30 2013-10-03 Intel Corporation On chip redundancy repair for memory devices
WO2017131671A1 (en) * 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp Securing a memory device
US20180088848A1 (en) * 2016-09-26 2018-03-29 SK Hynix Inc. Memory module and method system including the same
US20200066367A1 (en) * 2018-08-22 2020-02-27 International Business Machines Corporation Memory device controller
CN112732616A (en) * 2021-01-07 2021-04-30 苏州浪潮智能科技有限公司 BMC starting method, device and equipment based on SPI controller
CN113419884A (en) * 2021-06-11 2021-09-21 苏州浪潮智能科技有限公司 Method, device, terminal and storage medium for preventing BMC (baseboard management controller) image file from being damaged
CN113626262A (en) * 2021-07-30 2021-11-09 苏州浪潮智能科技有限公司 BMC recovery method, system, equipment and medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李明明;王全忠;郭伟;郑永瑞;: "一种NOR FLASH控制器验证平台的研究", 现代电子技术, no. 10 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115757042A (en) * 2022-11-29 2023-03-07 宁畅信息产业(北京)有限公司 Fault positioning method and device for abnormal restart of BMC (baseboard management controller), electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN113010214B (en) A BIOS option setting method, system and storage medium
CN113010217B (en) BIOS parameter setting method and device, electronic equipment and storage medium
CN110968477B (en) A method, device and medium for obtaining backup BMC version information
WO2013013396A1 (en) Method and system for managing bios configuration data of basic input/output system
CN115237644B (en) System fault processing method, central operation unit and vehicle
CN110427296B (en) A method, device and readable medium for monitoring based on hardware WDT
CN115795477A (en) Server starting method and device, computer equipment and storage medium
CN115437819A (en) A server error reporting method, device, computer equipment and storage medium
CN114546084A (en) Substrate management controller resetting method, system, storage medium and equipment
CN111352662B (en) A server startup sequence control method, system, terminal and storage medium
CN119225784B (en) Firmware updating method, computer device, storage medium, and program product
CN114860286B (en) CPLD noninductive upgrading method System, storage medium, and apparatus
CN115951949A (en) Recovery method and device for configuration parameters of BIOS (basic input output System) and computing equipment
CN112131043A (en) A kind of abnormal detection and recovery method and device of basic input output system
WO2025112463A1 (en) Arm security firmware configuration method and apparatus applied to arm server
CN110096366B (en) A configuration method, device and server for a heterogeneous memory system
CN118034955A (en) Event management method and device for converter, computer equipment and storage medium
CN108595292B (en) System optimization method, mobile terminal and computer storage medium
CN111193818A (en) A method, system, device and medium for obtaining an IP address
CN110750327A (en) Virtual network function management method and system, agent device, and storage medium
CN116165977A (en) Electronic system startup control method, device, system, medium and program product
JP2002049509A (en) Data processing system
CN113868181A (en) PCIE link negotiation method, system, device and medium for storage device
CN111007753B (en) A dual-controller main-standby arbitration method and device
CN115114065B (en) A memory repair method, system, storage medium and device

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220527