启动参数的配置方法和装置、主板启动的方法和装置与流程

文档序号:11949612阅读:207来源:国知局
启动参数的配置方法和装置、主板启动的方法和装置与流程

本申请涉及计算机及网络通信技术领域,尤其涉及一种启动参数的配置方法和装置,以及一种主板启动的方法和装置。



背景技术:

BIOS(Basic Input Output System,基本输入输出系统)通常是存放在主板上ROM(Read Only Memory,只读存储器)芯片中的可执行的二进制代码。这些可执行的二进制代码包括最重要的基本输入输出程序、配置信息、开机上电自检、初始化程序以及为运行时的操作系统和应用程序提供的中断服务等。BIOS控制着系统全部硬件的运行,同时为高层软件提供基层调用。

为了使用户能够根据自身需求对启动过程和硬件运行进行控制,BIOS提供了Setup(启动设置)界面供用户对启动参数进行设置。在启动过程中,用户可以在预定的时间段通过按下某个键进入Setup界面,来修改启动参数,此时启动过程中断,一直等到用户退出Setup界面时,主板才会重新启动。

随着网络应用的普及,对网络设备、服务器等硬件的可用性要求越来越高。如何减少因修改启动参数造成的设备离线时间,就成为需要解决的问题。



技术实现要素:

有鉴于此,本申请提供一种启动参数的配置方法,应用在主板的管理控制器上,所述方法包括:

接收对启动参数的设置指令;

根据所述设置指令,将启动参数的设置值保存在管理控制器直接读写的 非易失性存储器中。

本申请还提供了一种主板启动的方法,包括:

向主板的管理控制器请求启动参数值;

接收管理控制器从其直接读写的非易失性存储器中读取的启动参数值;

根据管理控制器返回的启动参数值执行启动过程。

本申请提供的一种启动参数的配置装置,应用在主板的管理控制器上,所述装置包括:

设置接收单元,用于接收对启动参数的设置指令;

设置保存单元,用于根据所述设置指令,将启动参数的设置值保存在管理控制器直接读写的非易失性存储器中。

本申请还提供了一种主板启动的装置,包括:

参数值请求单元,用于向主板的管理控制器请求启动参数值;

参数值接收单元,用于接收管理控制器从其直接读写的非易失性存储器中读取的启动参数值;

参数值应用单元,用于根据管理控制器返回的启动参数值执行启动过程。

由以上技术方案可见,本申请的实施例中,将启动参数保存在管理控制器直接读写的非易失性存储器中,对启动参数的设置通过管理控制器进行,使得设置启动参数可以在主板运行的同时进行,避免了在启动过程中等待用户进行设置操作,减少了更改启动参数所需的时间,提高了主板的管理效率和设备的可用性。

附图说明

图1是一个例子中主板的硬件架构示意图;

图2是另一个例子中主板的硬件架构示意图;

图3是一个例子中一种启动参数的配置方法的流程图;

图4是一个例子中一种主板启动的方法的流程图;

图5是一个例子中主板的结构以及与远程主机的连接示意图;

图6是一个例子中一种启动参数的配置装置的逻辑结构图;

图7是一个例子中一种主板启动的装置的逻辑结构图。

具体实施方式

在主板运行的情况下,如果用户希望通过BIOS提供的Setup界面对启动参数进行修改,至少需要重启两遍系统。在第一遍重新启动的时候通过按下预定的按键进入Setup界面,在Setup界面上根据自己的需求修改启动参数,再通过BIOS提供的保存功能保存修改后的启动参数值,在推出Setup界面后,主板再次重新启动。在两遍重新启动的时间段以及用户在Setup界面操作的时间段内,该主板上的业务功能都无法运行。

另外,在启动过程中,必须提供一段暂停时间等待用户选择是否按键进入Setup界面。而实际应用中,用户为了不错过按键时间段,会在BIOS启动阶段不断的按下热键,而BIOS中断程序每次收到来自键盘的中断后都要调用相应的中断程序进行判断,浪费了大量的CPU(Central Process Unit,中央处理器)开销。而用户一旦错过了本次启动过程中进入Setup界面的时间段,则必须再次重启并且再次等待进入Setup界面的按键时间段,对用户而言十分不便。

在本申请的一个例子中,运行主板的管理控制器上的启动参数配置控制逻辑能够在主板运行的同时对启动参数进行设置,从而减少了因修改启动参数造成的设备离线时间。对应的,运行在主板CPU的启动控制逻辑能够结合管理控制器运行的启动参数配置控制逻辑完成主板的启动。

本申请中的主板可以具有图1或图2所示的结构。请参见图1,主板10的CPU 110,通过北桥120访问内存140,南桥130通过北桥120连接到CPU110;CPU 110可以直接读写(不需要经过其他独立运行的处理器来完成读写过程)的非易失性存储器131连接南桥130,启动控制逻辑存储在非易失性存储器131中,由CPU 110读取到内存140中运行;南桥130连接管理控制器150,管理控制器150与其可以直接读写的非易失性存储器151连接,启 动参数配置控制逻辑存储在非易失性存储器151中,管理控制器150读取后运行。请参见图2,主板20的CPU 210,通过PCH(Platform Controller Hub,平台控制中心)220访问内存230,CPU 110可以直接读写的非易失性存储器221连接PCH 220,启动控制逻辑存储在非易失性存储器221中,由CPU210读取到内存230中运行;PCH 220连接管理控制器240,管理控制器240与其可以直接读写的非易失性存储器241连接,启动参数配置控制逻辑存储在非易失性存储器241中,由管理控制器240读取后运行。

管理控制器是主板的管理单元,可以用于主板上温度、电源、主板状态等的监测和控制。管理控制器有自己的处理器,独立于主板的CPU运行,也有可以直接读写的非易失性存储器来存储其运行逻辑。管理控制器包括BMC(Baseboard Management Controller基板管理控制器),也包括EC(Embed Controller,嵌入式控制器)。这个例子中,在管理控制器可以直接读写的非易失性存储器中保存有可供用户设置的所有启动参数的值,对这些启动参数的设置可以不再通过主板的CPU来进行,而由管理控制器完成。由于管理控制器独立运行,在主板正常运行的同时也可以对启动参数进行设置,而不必在主板启动的过程中等待设置启动参数的操作完成。

需要说明的是,启动参数配置控制逻辑和启动参数值可以如图1或图2所示保存在同一个存储芯片上,也可以保存在不同的存储芯片上;此外,用户设置启动参数既可以是用户手动进行设置操作或输入指令,也可以是用户利用软件工具来进行启动参数设置;本例中对上述两点均不做限定。

管理控制器运行启动参数配置控制逻辑的流程如图3所示。

步骤310,接收对启动参数的设置指令。

现有技术中,管理控制器允许用户设置监控温度、电源等的运行参数。在本申请的这个例子中,管理控制器向用户提供的设置上述运行参数的途径都可以用来设置启动参数。例如以下三种:

其一,用户通过串口登录到管理控制器,在命令行模式下用预定的命令设置启动参数的值;管理控制器接收用户基于命令行发出的对启动参数的设 置命令。

其二,用户通过串口登录到管理控制器,管理控制器向用户显示文本模式的管理界面,其中包括可供用户设置启动参数的管理界面。用户基于启动参数管理界面设置启动参数,管理控制器接收用户的设置操作。

其三,对具有网络功能的管理控制器,可以在远程主机上显示启动参数配置界面,用户通过启动参数配置界面完成设置,远程主机将用户的设置发送给管理控制器。管理控制器从远程主机接收基于该配置界面设置的启动参数值。远程主机上通常以Web(网页)页面的形式来显示启动参数配置界面。现有技术中,无论是传统的BIOS还是UEFI(Uniformed Extensible Firmware Interface,统一可扩展固件接口)BIOS,所能提供的Setup界面往往比较粗糙,在可读性和交互性上都比较差;一方面是由于页面交互受限于BIOS程序的大小,另一方面的原因是在启动过程中BIOS的显卡驱动程序(程序大小在千字节KB级)无法达到操作系统下显卡驱动程序(程序大小在兆字节MB级或千兆字节GB级)的图形处理能力;而通过网络进行启动参数的设置,可以基于远程主机的操作系统来实现启动参数配置界面,能够为用户提供更加友好、直观和精美的交互界面。

步骤320,根据接收的设置指令,将启动参数的设置值保存在管理控制器直接读写的非易失性存储器中。

按照步骤310中接收的设置指令,管理控制器将设置指令指定的启动参数的值保存在其直接读写的非易失性存储器中。

对基于命令行发出的设置命令,管理控制器在执行每条命令时,将命令中启动参数的设置值保存在其直接读写的非易失性存储器中。对基于启动参数管理界面的设置操作,通常在收到“保存修改”的确认操作时,对用户完成设置时更改的启动参数值进行保存。对通过网络远程设置启动参数的情形,根据启动参数配置界面的具体实现,远程主机可以在用户保存修改时向管理控制器发送修改的启动参数值,也可以在用户退出启动参数配置界面时向管理控制器发送修改的启动参数值;管理控制器在收到启动参数的设置值后进 行保存。

将启动参数的值保存在管理控制器可以直接读写的非易失性存储器中后,在主板的启动过程中,CPU需要通过管理控制器来获得这些启动参数的值。具体而言,CPU向管理控制器请求启动参数值;收到请求后,管理控制器读取保存的启动参数值,回复给CPU。这样,主板可以采用用户设置的启动参数值来进行启动流程。

通过管理控制器来实现启动参数设置后,BIOS中可以取消实现Setup界面的代码,启动过程也可以取消等待用户按键进入Setup界面这一环节。这样不仅可以减少BIOS开发的工作量,而且能够使主板的启动更快速。当然,也可以与原有的实现兼容,保留通过Setup界面设置启动参数的方式,这种情形下,由CPU根据用户通过Setup界面对启动参数的设置生成对启动参数的修改指令,在指令中包括修改后的启动参数值,并且将指令发送给管理控制器;管理控制器在收到CPU的修改指令后,对指令中涉及的启动参数,将保存的值更改为指令中的值。

在CPU根据启动参数的设置值进行启动的过程中,有可能出现主板的硬件与启动参数设置值不匹配的情形(例如硬件不支持启动参数的设置值)。此时,CPU执行硬件设备的自检,按照与硬件匹配的模式继续启动流程,为了避免下一次启动的时候仍发生同样的情形,可以由CPU将启动参数的值修改为与硬件设备匹配的值,并生成对启动参数的修改指令,在指令中包括修改后的启动参数值;CPU将指令发送给管理控制器;管理控制器在收到CPU的修改指令后,按照指令更改保存的启动参数值,从而加快以后各次启动的速度。

与管理控制器运行启动参数配置控制逻辑相对应,主板CPU运行启动控制逻辑的流程如图4所示。

步骤410,向主板的管理控制器请求启动参数值。在启动过程中,当CPU需要读取保存的启动参数值时,向主板的管理控制器请求启动参数值。

步骤420,接收管理控制器从其直接读写的非易失性存储器中读取的启 动参数值。

管理控制器收到请求后,从其直接读写的非易失性控制器中读取保存的启动参数值,并发送给CPU。

步骤430,根据管理控制器返回的启动参数值执行启动过程。CPU采用管理控制器回复的启动参数值,继续启动流程。

如果保留通过Setup界面设置启动参数的方式,在启动过程中,当用户在设定时间段发出进入Setup界面的指令(通常是按下预设的按键)时,CPU执行BIOS中Setup界面的显示代码,向用户显示Setup界面,并接收用户基于Setup界面对启动参数值的修改;基于用户的修改,CPU生成启动参数的修改指令,其中包括修改后的启动参数值,发送给管理控制器。管理控制器按照修改指令更改保存的启动参数值。

如果出现启动参数的设置值与主板硬件不匹配的情形,CPU在进行硬件自检后,把启动参数的值修改为与硬件匹配的值,据此生成启动参数的修改指令并发送给管理控制器,在修改指令中包括修改后的启动参数值;管理控制器收到修改指令后,将其保存的启动参数值更改为修改指令中的值。

将启动参数保存在管理控制器直接读写的非易失性存储器中后,通过管理控制器可以在任意的时间对启动参数进行设置,而不论主板的运行状态如何。主板只要进行一次重启即可使更改的启动参数生效,并且不必在启动过程中等待用户完成设置操作,减少了更改启动参数所需的时间,主板的维护时间减少在线时间增加,提高了主板的管理效率和设备的可用性。另外,启动参数值保存在管理控制器直接读写的存储器中,BIOS程序保存在CPU直接读写的存储器中,分离启动参数值与BIOS程序的保存区域使得在BIOS升级时启动参数值不受影响,可以在BIOS升级后保证用户原有设置依然有效。

在本申请的另一个例子中,请参见图5,管理控制器BMC 540下挂载EEPROM(Electrically Erasable Programmable Read-Only Memory,带电可擦写可编程只读存储器)芯片550,BMC 540通过SPI(Serial Peripheral Interface, 串行外设接口)直接控制EEPROM 550的读写过程,启动参数值按照BIOS要求的数据格式保存在EEPROM 550中。PCH 520下挂载BIOS 530,通过SPI接口、或LPC(Low Pin Count,少针脚型接口)访问BIOS 530。BMC 540通过SPI接口、LPC接口、或SMBus(System Management Bus,系统管理总线)连接到PCH 520。

主板启动时,CPU 510通过PCH 520读取BIOS 530中的BIOS程序并运行,在运行中需要启动参数值时,向BMC 540请求启动参数值;BMC 540读取EEPROM 550中的启动参数值,回复给CPU 510;CPU 510按照启动参数值继续执行BIOS程序,如果启动过程中对启动参数值做了修改,则向BMC540发送修改指令,由BMC 540修改EEPROM 550中保存的启动参数值。

远程主机60通过网络可以访问BMC 540,远程主机60上运行的浏览器从BMC 540获得启动参数值,以Web页面的形式向用户显示启动参数配置界面。用户在远程主机60上基于所显示的网页完成启动参数设置,远程主机60向BMC 540发送用户的设置结果。对用户修改的启动参数值,BMC 540对应的更改EEPRO 550中保存的值。下次主板启动将采用用户修改后的启动参数值,届时用户的修改即可生效。远程主机60与BMC 540之间的交互不受主板运行状态的影响,无论是运行于操作系统下、正在进行启动自检、甚至于主板处于关机状态或待机状态下,都可以对启动参数进行设置。

远程主机60与BMC 540之间可以采用采用http(Hyper Text transfer protocol,超文本传送协议)或https(Hyper Text Transfer Protocol over Secure Socket Layer,基于安全套接层的超文本传输协议)来进行通信。

与上述流程实现对应,本申请还提供了一种应用在主板管理控制器上的启动参数的配置装置和对应的一种主板启动的装置,这两种装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,启动参数的配置装置可以通过图1或图2中的管理控制器将启动参数配置控制逻辑读取后运行而形成,主板启动的装置可以通过图1或图2中的CPU将主板启动控制逻辑读取到内存中运行而形成。

图6所示为本申请一个例子中的一种启动参数的配置装置,应用在主板的管理控制器上,包括设置接收单元和设置保存单元,其中:设置接收单元用于接收对启动参数的设置指令;设置保存单元用于根据所述设置指令,将启动参数的设置值保存在管理控制器直接读写的非易失性存储器中。

一个例子中,所述设置接收单元包括远程显示模块和远程接收模块,其中:远程显示模块用于通过网络在远程主机上以Web页面显示启动参数配置界面;远程接收模块用于从远程主机接收基于所述配置界面设置的启动参数值。

所述装置还可以包括CPU修改指令接收单元和CPU修改指令执行单元,其中:CPU修改指令接收单元用于接收主板中央处理器CPU对启动参数的修改指令,修改指令中包括修改后的启动参数值;CPU修改指令执行单元用于根据CPU的修改指令更改所保存的启动参数值。

所述装置包括:参数提供单元,用于在收到主板CPU对启动参数值的请求时,向CPU回复保存的启动参数值。

图7所示为本申请一个例子中的一种主板启动的装置,包括参数值请求单元、参数值接收单元和参数值应用单元,其中:参数值请求单元用于向主板的管理控制器请求启动参数值;参数值接收单元用于接收管理控制器从其直接读写的非易失性存储器中读取的启动参数值;参数值应用单元用于根据管理控制器返回的启动参数值执行启动过程。

一个例子中,所述装置还包括Setup显示单元、Setup接收单元和修改指令发送单元,其中:Setup显示单元用于根据用户指令显示启动设置Setup界面;Setup接收单元用于接收用户基于Setup界面对启动参数值的修改;修改指令发送单元用于向管理控制器发送启动参数的修改指令,修改指令中包括修改后的启动参数值。

所述装置还可以包括参数值修改单元和修改指令发送单元,其中:参数值修改单元用于在自检后,修改与主板的硬件不匹配的启动参数值;修改指令发送单元用于向管理控制器发送启动参数的修改指令,修改指令中包括修 改后的启动参数值。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1