一种扩展组件、电子设备及启动方法与流程

文档序号:11653984阅读:357来源:国知局
一种扩展组件、电子设备及启动方法与流程
本发明涉及电子
技术领域
,特别涉及一种扩展组件、电子设备及启动方法。
背景技术
:统一的可扩展固件接口(unifiedextensiblefirmwareinterface,uefi)是一种详细描述全新类型接口的标准,其适用于电子设备的标准固件接口。uefi就是与基本输入/输出系统(basicinputoutputsystem,bios)相对的概念,这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而达到开机程序化繁为简节省时间的目的。传统bios技术正在逐步被uefi取而代之,在最近新出厂的电脑中,很多已经使用uefi,因此使用uefi模式安装操作系统是趋势所在。目前intelx86架构的服务器系统上限于成本所使用的biosflash芯片大小通常是16mb~32mb,这样一个大小限制了uefibios在功能上面的扩展。比如图形化的bios用户设置界面的导入就需要占用大量宝贵的存储空间,需要的flash芯片较多,成本较高。因此,目前类似的uefi的扩展应用都会存放在由基板管理控制器(baseboardmanagementcontroller,bmc)控制的内嵌式存储器(embeddedmultimediacard,emmc)芯片中,由bmc虚拟成usb装置挂载到主机端供主机调用,但其依赖于从bmc到主机(host)的usb总线,只有在hostbios完成usb初始化和设备运行之后,才能运行存储在emmc芯片中的代码,导致系统启动时间点较晚,启动速度较慢。技术实现要素:本发明实施例提供一种扩展组件、电子设备及启动方法,用于提高电子设备的系统启动效率。第一方面,本发明实施例提供一种扩展组件,包括:集成南桥pch,与中央处理器cpu相连;基板管理控制器bmc,包括第一串行外设接口spi接口,所述bmc下挂载有第一存储部件,所述第一存储部件中存储基本输入输出系统bios的主引导文件;第二存储部件,包括第二spi接口,所述第二存储部件用于存储所述bios的初始化引导文件;串行外设接口spi总线,用于所述pch、所述bmc及所述第二存储部件之间的相互连接;其中,在启动所述bios时,通过所述spi总线对所述第二spi接口进行访问,执行所述初始化引导文件,及通过所述spi总线对所述bmc的第一spi接口进行访问,读取所述第一存储部件的所述主引导文件。可选的,所述第一存储部件为由bmc下挂载的emmc芯片,所述第二存储部件为flash芯片。可选的,所述扩展组件还包括挂载于所述bmc的驱动部件,所述驱动部件用于在通过spi总线访问所述bmc时驱动所述第一存储部件响应所述第一spi接口。可选的,所述主引导文件在第一存储部件中的第一逻辑存储地址与所述初始化引导文件在所述第二存储部件中的第二逻辑存储地址连续。可选的,所述第二存储部件的引脚电平为预设高电平或低电平,所述第二存储部件的访问状态为只读状态。可选的,所述第二存储部件的初始化引导文件还用于在所述主引导文件出现故障时通过所述spi总线对所述第一存储部件中的所述主引导文件进行恢复。第二方面,本发明实例例提供一种电子设备,该电子设备包括:中央处理器cpu;如第一方面所述的扩展组件,所述扩展组件与所述cpu相连。第三方面,本发明实施例提供一种启动方法,应用于电子设备中,包括:在bios启动过程中,通过spi总线访问并加载存储在第二存储部件中的bios的初始化引导文件,并基于所述初始化引导文件对所述电子设备的硬件进行初始化;确定所述初始化完成,通过所述spi总线读取存储在第一存储部件中的bios的主引导文件,并将所述主引导文件拷贝到内存中执行;其中,所述第一存储部件挂载于与cpu连接的bmc下,所述cpu、所述bmc及所述第二存储部件之间通过所述spi总线相互连接。可选的,在启动bios,通过spi总线访问并加载存储在第二存储部件中的bios的初始化引导文件之前,所述方法还包括:刷写所述bios,将所述bios的引导文件所包括的初始化引导文件写入具有第二逻辑存储地址的第二存储部件,及将所述bios的引导文件包括的主引导文件写入具有第一逻辑存储地址的第一存储部件,所述第一逻辑存储地址与所述第二逻辑存储地址连续。可选的,在通过spi总线访问并加载存储在第二存储部件中的bios的初始化引导文件,并基于所述初始化引导文件对所述电子设备的硬件进行初始化的同时,所述方法还包括:检测所述第二存储部件中的主引导文件是否存在故障;若确定所述主引导文件存在故障,通过spi总线基于所述初始化引导文件对所述主引导文件进行恢复。本发明实施例中的扩展组件包括pch、bmc、第二存储部件以及spi总线,其中,pch与中央处理器cpu相连,bmc下挂载有第一存储部件,该第一存储部件中存储基本输入输出系统bios的主引导文件,bmc通过其包括的第一spi接口与pch相连,第二存储部件包括用于存储bios的初始化引导文件,其包括第二spi接口,spi总线可以用于pch、bmc及第二存储部件之间的相互连接,进而在启动bios时,通过spi总线可以对第二spi接口进行访问,执行初始化引导文件,及通过spi总线对bmc的第一spi接口进行访问,读取第一存储部件的主引导文件,对bios进行启动,故系统通过spi即可读取主引导文件,摆脱了对usb总线的依赖,读取速度较快,使得启动效率较高。同时,由于第二存储部件挂载于bmc下,实现使用第二存储部件作为bios-rom的扩展存储芯片,且主引导文件主要受bmc的控制,便于对主引导文件进行升级、维护和安全性校验。附图说明图1为本发明实施例中扩展组件的结构示意图一;图2为本发明实施例中扩展组件的结构示意图二;图3为本发明实施例中电子设备的结构示意图;图4为本发明实施例中启动方法的流程图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例中,扩展组件可以是电子设备的主板上芯片组,如intel的芯片组中的部件,其可以与电子设备中的中央处理器(centralprocessingunit,cpu)以及其它的部件如内存、显卡等连接。该电子设备可以是服务器或移动终端等设备,本发明实施例对此不作具体限制。在实际应用中,芯片组是南桥和北桥的统称,就是把以前复杂的电路和元件最大限度地集成在几颗芯片内的芯片是把以前复杂的电路和元件最大限度地集成在几颗芯片内的芯片组组,其决定了主板的功能,甚至影响到整个电脑系统性能的发挥。下面结合附图对本发明优选的实施方式进行详细说明。如图1所示,本发明实施例提供一种扩展组件,该扩展组件可以包括集成南桥(platformcontrollerhub,pch)、基板管理控制器(baseboardmanagementcontroller,bmc)、第二存储部件和串行外设接口(serialperipheralinterface,spi)总线,其中,bmc下挂载有第一存储部件,spi总线可以用于pch、bmc及第二存储部件之间的相互连接。在实际应用中,pch可以是主板上芯片组中的部件,而芯片组与电子设备中cpu相连,图1中未画出cpu的部分。bmc是一个专门的服务处理机,它利用传感器来监控一个电子设备、网络服务器或者是其他硬件驱动设备的状态,并且通过独立的连接线路和系统管理员进行通信。本发明实施例中,bmc可以包括第一串行外设接口spi接口,该第一spi接口可以是固化在bmc的芯片上的,bmc通过第一spi接口可以与pch连接,bmc下挂载有第一存储部件,该第一存储部件中存储bios的主引导文件。可选的,第一存储部件可以是在bmc下挂载的emmc芯片,emmc芯片作为bmc的文件系统通常都会达到4gb以上,存储空间较大,从而实现使用emmc芯片作为biosrom的flash扩展。其存储的主引导文件可以用于bios的主要功能,如上电自检(poweronselftest,post)等,本发明实施例中将其称为mainbios,例如可以表示为mainbios(fv_main)。第二存储部件可以是一个物理的flash芯片,其包括第二spi接口,因此可将第二存储部件看作是spiflash芯片,第二存储部件可以用于存储bios的初始化引导文件,因此可以称为biosspiflash。该初始化引导文件可以是bios的bootblock部分,通常表示为bootblock(fv_bb),其通常只有几十kb,bootblock可以负责基本的硬件初始化,甚至校验mainbios部分是否损坏。本发明实施例中,pch、bmc及第二存储部件之间通过spi总线可以相互连接,故在bios启动过程中可以通过spi总线对第二存储部件以及bmc下挂载的第一存储部件中的文件进行访问。可选的,主引导文件在第一存储部件中的第一逻辑存储地址与初始化引导文件在第二存储部件中的第二逻辑存储地址连续。由于intel的芯片组支持两个spiflash的连续编址模式,其在刷写bios的时候可自动按照地址将一个bios文件写入两个spi接口分别相关的存储部件中,则bios文件在两个存储部件中分别对应的存储地址连续。在实际应用中,uefibios的rom在逻辑上可由三部分组成,即:bootblock(fv_bb)、mainbios(fv_main)和非易失性随机访问存储器(non-volatilerandomaccessmemory,nvram)(fv_nv)。在bios编译阶段,可由工具将这三部分组合在一起,形成一个完整的biosrom中,并且连续编址,如表1所示。存储地址文件000000-000fffnvram001000-6fffffmainbios(fv_main)700000-7fffffbootblock(fv_bb)表1可选的,如图2所示,扩展组件还可以包括bmc下的驱动部件,该驱动部件用于在cpu通过spi总线访问bmc时驱动第一存储部件响应第一spi接口,即驱动部件可将cpu对第一spi接口的访问转换为对bmc下的emmc芯片中文件的读写。例如,若将通过bmc的hostspi接口来访问bmc下的emmc芯片定义为第一spiflash,将biosspiflash定义为第二spiflash,那么,由bmc下host_spi-emmc的驱动来完成模拟spiflash芯片来响应host对第二spiflash的读写,例如驱动部件通过对接收到的地址进行判断可以知道是否是对第一存储部件的读写操作,如果是,则将该操作转换成通过第一spi接口对bmc下挂载的emmc芯片的读写。因此,在bios启动过程中,bootblock(fv_bb)阶段可以是在spiflash上执行的,在bootblock(fv_bb)完成后,即实现对系统内存的初始化,然后将mainbios(fv_main)拷贝到内存中执行,所以只会涉及到对第一存储部件(即emmc芯片)的读,而不会有在第一存储部件运行的操作,这也简化了bmc下host_spi-emmc的驱动的实现,使得cpu通过spi总线能够按照存储顺序依次对第二spi接口进行访问,执行初始化引导文件,及对bmc的第一spi接口进行访问,读取第一存储部件的主引导文件,依赖于spi总线的访问速度较快,有助于提高启动效率。在实际应用中,主板上可以包括基本输入输出系统(basicinputoutputsystem,bios),它是一组固化到电子设备内主板上一个只读存储器(read-onlymemory,rom)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从互补金属氧化物半导体(complementarymetaloxidesemiconductor,cmos)中读写系统设置的具体信息,以为计算机提供最底层的、最直接的硬件设置和控制。因此,第二存储部件可以是与bios相连的存储部件或甚至还可以是bios中的存储部件,如图2所示,bmc通过第二spi接口可与bios进行通信。可选的,可将第二存储部件的引脚电平设置为预设电平,如高电平或低电平,使第二存储部件的访问状态为只读状态。例如,bootblock(fv_bb)的spiflash芯片带有写保护的pin脚,将该pin脚置高或置低来将芯片变成只读,防止写入,那么,即便emmc芯片中的mainbios(fv_main)部分损坏也不会影响bootblock(fv_bb)在实际应用中,初始化引导文件bootblock(fv_bb)除了负责基本的硬件初始化外,还可以校验mainbios部分是否损坏,如果损坏则进入恢复模式。因此,第二存储部件的初始化引导文件还用于在主引导文件出现故障时通过spi总线对第一存储部件中的主引导文件进行恢复。本发明实施例中扩展组件,通过将emmc芯片作为biosromflash扩展,及将bios的引导文件分别存储到bios的spiflash芯片以及bmc下挂载的emmc芯片,而存储在spiflash芯片中的bootblock(fv_bb)的量较小,量较大的mainbios(fv_main)则存储在挂载于bmc下的emmc芯片,相对于现有技术将整个bios的引导文件存储在flash芯片中,所需的spi的成本较低。并且,在启动过程中,cpu通过各个部件相应的spi接口之间的spi总线即可实现对引导文件的访问,可以直接将emmc芯片中的主引导文件拷贝到内存中进行执行,无需等到bios完成usb的初始化和设备枚举之后,摆脱了对usb的依赖,在启动过程中具有较高的效率,提高了用户体验。如图3所述,本发明实施例还提供一种电子设备,该电子设备包括处理器和扩展组件。其中,cpu和扩展组件均可以位于电子设备的主板上,扩展组件可以是芯片组中的部件,其具体的结构可以参考图1-图2及前述相关的内容,此处不再赘述。如图4所示,本发明实施例还提供一种启动方法,可应用于如图3所示的电子设备中,该方法的过程可以描述如下。s11:在bios启动过程中,通过spi总线访问并加载存储在第二存储部件中的bios的初始化引导文件,并基于初始化引导文件对电子设备的硬件进行初始化;s12:确定初始化完成,通过spi总线读取存储在第一存储部件中的bios的主引导文件,并将主引导文件拷贝到内存中执行;其中,第一存储部件挂载于与cpu连接的bmc下,cpu、bmc及第二存储部件之间通过spi总线相互连接。本发明实施例中,电子设备的第一存储部件可以是主板上芯片组中bmc下挂载的emmc芯片,第二存储部件可以是flash芯片,如bios下的存储芯片,spi总线可用于第一存储部件、bmc以及cpu之间的相互连接及通信。可选的,在s11之前,在bios编译阶段由工具,可以刷写bios,将bios的引导文件所包括的初始化引导文件写入具有第二逻辑存储地址的第二存储部件,及将bios的引导文件包括的主引导文件写入具有第一逻辑存储地址的第一存储部件,所述第一逻辑存储地址与所述第二逻辑存储地址连续。其中,初始化引导文件可以是bios的bootblock部分,通常表示为bootblock(fv_bb),其通常只有几十kb,bootblock可以负责基本的硬件初始化,甚至校验mainbios部分是否损坏。主引导文件可以用于bios的主要功能,如上电自检(poweronselftest,post)等,通常称其为mainbios,例如可以表示为mainbios(fv_main)。在实际应用中,可将第一存储部件和第二存储部件均看作是flash,由于intel芯片组支持两个spiflash的连续编址模式,故在刷写bios时可以自动按照地址将一个bios文件写入两个spi对应的存储部件中。例如,将数据量较小的引导文件bootblock(fv_bb)存储在bios的flash中,而将数据量较大的mainbios(fv_main)存储在bmc下挂载的emmc芯片中,实现将使用emmc作为biosrom的flash扩展,且bootblock(fv_bb)、mainbios(fv_main)所处的存储地址连续。本发明实施例中,bmc、第二存储部件以及cpu之间可以通过spi总线进行相互通信,故在对电子设备进行开机操作后,bios最先被启动,它可以对电子设备的硬件进行初始化以及自检等,此时即可按照存储地址顺序执访问并行相应的引导文件。例如,在bios启动过程中,bootblock(fv_bb)阶段是在spiflash芯片上执行的,在bootblock(fv_bb)完成后,会实现对系统内存的初始化,然后通过spi读取bmc下挂载的emmc中的mainbios(fv_main),并将mainbios(fv_main)拷贝到内存中执行,访问方式较为便捷,效率较高。同时,在启动bios过程中,仅涉及对bmc下emmc芯片中的mainbios(fv_main)的读写,而不会有在bmc下挂载的emmc芯片中运行的操作,这也简化了bmc下host_spi-emmc的驱动的实现,其中,host_spi是指由bmc通向host的spi接口。可选的,在启动bios过程中,电子设备还可以检测第二存储部件中的主引导文件是否存在故障,若确定主引导文件存在故障,通过spi总线基于初始化引导文件对主引导文件进行恢复。本发明实施例中,利用现有intel芯片组所支持的双spiflash连续编址的技术和bmc芯片所支持的hostspi接口,我们可以用一个物理的spiflash芯片来存储bios的bootblock(fv_bb)部分,mainbios(fv_main)则保存在bmc下面的emmc芯片中,然后由bmc将host对bmc的hostspi接口的访问转换成对bmc下面的emmc芯片的读写,即bmc下hostspi-emmc的驱动完成的任务。由于bios的bootblock(fv_bb)通常只有几十kb,而emmc芯片作为bmc的文件系统通常都会达到4gb以上。这样就可以节省下来spiflash芯片的成本,并且是基于spi总线,摆脱了对hostusb总线的依赖。mainbios(fv_main)部分完全受bmc的管控易于升级,维护和安全性校验。此外,由于spi芯片带有写保护的pin脚,可以将该pin脚置高或低来将flash芯片变成只读,防止写入,这样,即便mainbios(fv_main)部分损坏也不会影响bootblock(fv_bb),可以由bootblock(fv_bb)实现mainbios(fv_main)部分的恢复。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。具体来讲,本申请实施例中的一种启动方法对应的计算机程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与启动方法对应的计算机程序指令被电子设备读取或被执行时,包括如下步骤:在bios启动过程中,通过spi总线访问并加载存储在第二存储部件中的bios的初始化引导文件,并基于所述初始化引导文件对所述电子设备的硬件进行初始化;确定所述初始化完成,通过所述spi总线读取存储在第一存储部件中的bios的主引导文件,并将所述主引导文件拷贝到内存中执行;其中,所述第一存储部件挂载于与cpu连接的bmc下,所述cpu、所述bmc及所述第二存储部件之间通过所述spi总线相互连接。可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:在启动bios,通过spi总线访问并加载存储在第二存储部件中的bios的初始化引导文件对应的计算机指令执行之前被执行,在被执行时包括如下步骤:刷写所述bios,将所述bios的引导文件所包括的初始化引导文件写入具有第二逻辑存储地址的第二存储部件,及将所述bios的引导文件包括的主引导文件写入具有第一逻辑存储地址的第一存储部件,所述第一逻辑存储地址与所述第二逻辑存储地址连续。可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:通过spi总线访问并加载存储在第二存储部件中的bios的初始化引导文件,并基于所述初始化引导文件对所述电子设备的硬件进行初始化对应的计算机指令执行的同时被执行,在被执行时包括如下步骤:检测所述第二存储部件中的主引导文件是否存在故障;若确定所述主引导文件存在故障,通过spi总线基于所述初始化引导文件对所述主引导文件进行恢复。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1