CN111198832A - 一种处理方法和电子设备 - Google Patents

一种处理方法和电子设备 Download PDF

Info

Publication number
CN111198832A
CN111198832A CN202010001499.3A CN202010001499A CN111198832A CN 111198832 A CN111198832 A CN 111198832A CN 202010001499 A CN202010001499 A CN 202010001499A CN 111198832 A CN111198832 A CN 111198832A
Authority
CN
China
Prior art keywords
data
processing device
storage device
processing
operation instruction
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.)
Granted
Application number
CN202010001499.3A
Other languages
English (en)
Other versions
CN111198832B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202010001499.3A priority Critical patent/CN111198832B/zh
Publication of CN111198832A publication Critical patent/CN111198832A/zh
Application granted granted Critical
Publication of CN111198832B publication Critical patent/CN111198832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种处理方法和电子设备。该方法中,在电子设备的第一处理装置连接有存储装置的前提下,可以复用该第一处理装置连接的存储装置存储该固件系统的数据,避免了单独设置存储固件系统的存储介质,有利于减少电子设备内部线路复杂度。而且,通过该第一处理装置获得对该固件系统的数据操作指令,并基于该数据操作指令对该存储装置中存储的固件系统的数据进行处理,可以实现对固件系统的数据的操作处理,从而实现了在降低线路连接复杂度的前提下,实现了对固件系统的数据存储与处理。

Description

一种处理方法和电子设备
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种处理方法和电子设备。
背景技术
固件系统是电子设备内部保存的驱动程序。
而为了存储固件系统的数据,需要在电子设备中单独增设相应的存储芯片,比如,可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)等。然而,在电子设备中单独设置用于存储固件系统的存储芯片,既耗费了资源,也增加了电子设备的中线路连接的复杂度。
发明内容
本申请的目的是提供一种处理方法和电子设备,以在减少资源消耗和电子设备中线路连接复杂度的前提下,实现固件系统的存储以及对固件系统的数据的操作。
为实现上述目的,本申请提供了如下技术方案:
一方面,本申请提供了一种处理方法,包括:
电子设备的第一处理装置获得对固件系统的数据操作指令,其中,所述第一处理装置与第二处理装置不同,所述第二处理装置是用于运行所述电子设备的操作系统的处理装置,且所述第一处理装置至少能采集所述第二处理装置的运行信息;
所述第一处理装置基于所述数据操作指令,访问所述第一处理装置连接的存储装置,其中,所述存储装置能存储第一数据和第二数据,所述第一数据是所述固件系统对应的固件数据,所述第二数据和所述第一数据不同;
所述第一处理装置处理所述存储装置中存储的第一数据。
优选的,所述第一处理装置基于所述数据操作指令,访问所述第一处理装置连接的存储装置,包括:
所述第一处理装置基于所述数据操作指令,通过所述第一处理装置与存储装置之间的通信总线访问所述存储装置,所述通信总线的数据传输速率高于串行外设接口总线的数据传输速率;
所述第一处理装置处理所述存储装置中存储的第一数据,包括:
所述第一处理装置基于所述通信总线,对所述存储装置中存储的第一数据执行与所述数据操作指令对应的处理。
优选的,所述电子设备的第一处理装置获得对固件系统的数据操作指令,包括:
所述电子设备的第一处理装置获得所述第二处理装置下发的符合所述通信总线对应协议的数据操作指令,所述数据操作指令为对固件系统的数据操作指令。
优选的,所述第一处理装置处理所述存储装置中存储的第一数据,包括:
在所述数据操作指令为数据读取指令的情况下,从所述存储装置中存储的第一数据中读取所述数据读取指令所指示的数据;
在所述数据操作指令为数据写入指令的情况下,向所述存储装置执行所述数据写入指令对应的写操作,以更新所述存储装置中存储的第一数据。
优选的,所述在所述数据操作指令为数据写入指令的情况下,向所述存储装置执行所述数据写入指令对应的写操作,以更新所述存储装置中存储的第一数据,包括:
在所述数据操作指令为数据写入指令的情况下,所述第一处理装置将所述数据写入指令缓存到内存;
基于数据写入指令所请求写入的目标数据以及所述存储装置中存储的第一数据,对所述固件系统进行数据完整性校验;
在所述第一处理装置确认数据完整性校验通过后,依据数据写入指令,更新所述存储装置中存储的第一数据。
优选的,所述的处理方法还包括:
在所述数据操作指令为数据写入指令的情况下,所述第一处理装置检测所述数据写入指令请求写入输入的区域是否属于所述存储装置中的限制写入区域;
在所述数据写入指令请求写入输入的区域属于所述存储装置中的限制写入区域的情况下,所述第一处理装置输出非法写入提示。
优选的,所述的处理方法还包括:
所述第一处理装置依据所述存储装置中存储的第一数据进行所述固件系统的数据完整性校验,并在数据完整性校验未通过的情况下,输出提示信息。
另一方面,本申请提供了一种电子设备,包括:
第一处理装置、第二处理装置和存储装置;
其中,第一处理装置与第二处理装置具有通信连接,第一处理装置与第二处理装置不同,所述第二处理装置是用于运行所述电子设备的操作系统的处理装置,且所述第一处理装置至少能采集所述第二处理装置的运行信息;
所述第一处理装置与所述存储装置相连,且,所述存储装置中存储有第一数据和第二数据,所述第一数据是所述固件系统对应的固件数据,所述第二数据和所述第一数据不同;
所述第一处理装置,用于获得对固件系统的数据操作指令;基于所述数据操作指令,访问所述存储装置;处理所述存储装置中存储的第一数据。
优选的,所述第一处理装置在基于所述数据操作指令,访问所述第一处理装置连接的存储装置时,具体为:
基于所述数据操作指令,通过所述第一处理装置与存储装置之间的通信总线访问所述存储装置,所述通信总线的数据传输速率高于串行外设接口总线的数据传输速率;
所述第一处理装置在处理所述存储装置中存储的第一数据时,具体为,基于所述通信总线,对所述存储装置中存储的第一数据执行与所述数据操作指令对应的处理。
优选的,所述第一处理装置在获得对固件系统的数据操作指令时,具体为,获得所述第二处理装置下发的符合所述通信总线对应协议的数据操作指令,所述数据操作指令为对固件系统的数据操作指令。
通过以上方案可知,在电子设备的第一处理装置连接有存储装置的前提下,可以复用该第一处理装置连接的存储装置存储该固件系统的数据,避免了单独设置存储固件系统的存储介质,有利于减少电子设备内部线路复杂度。而且,通过该第一处理装置获得对该固件系统的数据操作指令,并基于该数据操作指令对该存储装置中存储的固件系统的数据进行处理,可以实现对固件系统的数据的操作处理,从而实现了在降低线路连接复杂度的前提下,实现了对固件系统的数据存储与处理。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的处理方法的一种流程示意图;
图2为本申请实施例提供的处理方法的又一种流程示意图;
图3为本申请实施例提供的处理方法的又一种流程示意图;
图4为现有的方案中操作固件系统的固件数据的一种原理框架示意图;
图5为本申请实施例中操作固件系统的固件数据的一种实现原理框架示意图;
图6为本申请实施例提供的一种电子设备的组成架构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的处理方法的一种流程示意图,本实施例的方法应用于电子设备,该电子设备可以为服务器、个人计算机或者笔记本等等电子设备。
本实施例的方法可以包括:
S101,电子设备的第一处理装置获得对固件系统的数据操作指令。
其中,该第一处理装置与第二处理装置不同。该第二处理装置是用于运行电子设备的操作系统的处理装置,如,该第二处理装置可以为电子设备中的中央处理器CPU或者电子设备中其他具备运行操作系统的控制器或者处理器等。
该第一处理装置至少能采集第二处理装置的运行信息。如,该第一处理装置可以记录第二处理装置的日志以及第二处理装置存在的故障,还可以输出异常报警等。
特别的,该第二处理装置属于独立于第一处理装置与操作系统等构成的主系统之外,独立运行的系统,它不依赖于该主系统,因此,可以对主系统中的硬件进行监管,且,能够在主系统出现异常的情况下,对电子设备中各种硬件进行管控。如,在第二处理装置出现异常的情况下,该第一处理装置还可以对电子设备中各种硬件进行监管等。该第二处理装置还可以在电子设备未开机的情况下执行对固件系统升级以及查看电子设备内的硬件等操作。
例如,该第二处理装置可以为基板管理控制器(Baseboard ManagementController,BMC)或者其他能够替代BMC的控制器等。
其中,固件系统是指电子设备内部保存的驱动程序,一般会存储到电子设备的存储介质中,如,存储到电子设备的主板的存储器中。固件是担任着最基础最底层工作的软件,通过固件系统,操作系统才能按照标准的设备驱动实现特定部件的运行动作。
在一种可能的情况中,该固件系统为用于实现辅助操作系统启动和硬件初始化,以实现软件和硬件连接的固件接口。
如,该固件系统可以为基本输入输出系统(Basic Input Output System,BIOS),该BIOS系统可以负责电子设备开机时检测硬件功能和引导操作系统启动的功能,以实现软件与硬件的连接。例如,BIOS程序实现自检和初始化程序、硬件中断处理以及程序服务请求等。
又如,该固件系统还可以为统一可扩展固件接口(Unified Extensible FirmwareInterface,UEFI),该UEFI作为BIOS的替代方案,可以负责加电自检(POST)、联系操作系统以及提供连接操作系统与硬件的接口。
以上是以固件系统为固件接口程序的一种情况为例,在实际应用中,该固件系统还可以为有其他可能,只要是电子设备中可以通过修改其配置项实现更新或者说升级的固件系统都适用于本申请。
其中,对固件系统的数据操作指令是指对固件系统的数据进行操作的指令,如该数据操作指令可以为用于请求读取固件系统相关数据的数据读取指令;或者是,用于请求对固件系统相关数据进行写操作的数据写入指令等。
可以理解的是,该数据操作指令可以为由第二处理装置向该第一处理装置下发的。如,第二处理装置可以经过信号传输或者处理芯片向该第一处理装置传输该数据操作指令。例如,第二处理装置为CPU时,可以通过南桥向该第二处理装置传输该数据操作指令。又如,在该第二处理装置与信号传输装置集成为一个芯片时,可以通过该芯片向第一处理装置下发该数据操作指令。例如,第一处理装置为CPU,且该CPU和信号传输装置集成为一个片上系统(System-on-a-chip,SOC),则可以通过该片上系统向该第二处理装置下发数据操作指令。
S102,第一处理装置基于数据操作指令,访问第一处理装置连接的存储装置。
其中,存储装置能存储第一数据和第二数据。
其中,第一数据是固件系统对应的固件数据,固件数据是指固件系统运行所需的数据,如,固件数据为固件系统的程序数据以及配置数据等等。例如,固件系统为BIOS程序时,固件系统的固件数据可以为BIOS程序及其他相关的配置数据等等。
该第二数据和第一数据不同,该第二数据不属于固件系统运行所需的固件数据。该第二数据与第一数据的用途或者属性等不同,其中,第二数据可以包括第一处理装置自身运行所需的以及所产生的数据。如,该第二数据可以包括第一处理装置采集到电子设备中硬件的运行状况的数据,例如,第二数据可以包括第一处理装置采集到的该第二处理装置的运行信息。
以第一处理装置为BMC为例,该存储装置可以存储BMC运行所需的数据,以及BMC对电子设备的其他硬件进行监管所产生的监管日志以及其他硬件所存在的故障信息等。
其中,该存储装置可以为硬盘、EEPROM等;还可以是集成有控制器的存储装置,如,该存储装置可以为嵌入式存储器(Embedded MultiMedia Card,EMMC)。
其中,该存储装置与该第一处理装置的连接方式可以有多种。
可选的,为了提高对固件系统的固件数据进行读写的效率,进一步提高固件系统更新以及恢复的效率,本申请中,该存储装置与该第一处理装置之间可以通过通信总线相连,该通信总线是数据传输速率高于串行外设接口SPI总线的数据传输速率。如。该通信总线可以与该SPI总线是通信协议不同的两种总线,且该通信总线的数据传输速率高于该SPI总线。如该通信总线可以为符合存储装置对应协议的通信总线。如,存储装置为EMMC时,该通信总线可以为EMMC总线。
其中,该第一处理装置、第二处理装置以及该存储装置的连接关系可以附图5所示。
S103,第一处理装置处理存储装置中存储的第一数据。
如上可知,该第一数据为固件系统对应的固件数据。
其中,根据该数据操作指令的不同,该第一处理装置对该存储装置中该固件数据的具体处理也会有所不同。
在一种可能的情况中,在该数据操作指令可以数据读取指令,在该种情况下,第一处理装置从该存储装置中存储的第一数据中读取该数据读取指令所指示的数据。
如,第一处理装置在访问该存储装置后,直接读取出该存储装置中与该数据读取指令对应的数据。例如,数据读取指令指示读取该固件系统的至少一个配置项的配置数据,则可以从存储装置中读取出该至少一个配置项的配置数据。
又如,在存储装置集成有控制器的情况下,第一处理装置访问该存储装置可以是向该存储装置传输该数据读取指令。相应的,第一处理装置可以获得该存储装置传输的该数据读取指令所指示的数据。
在又一种可能的情况中,该数据操作指令可以数据写入指令,在该种情况下,第一处理装置可以向该存储装置执行该数据写入指令对应的写操作,以更新该存储装置中存储的第一数据。如,该数据写入指令可以为修改、新增或者删除该固件系统的固件数据等,相应的,第一处理装置依据该数据写入操作对存储装置中的第一数据进行修改、删除或者写入新增数据等操作。
可见,本申请中,在电子设备的第一处理装置连接有存储装置的前提下,可以复用该第一处理装置连接的存储装置存储该固件系统的数据,避免了单独设置存储固件系统的存储介质,有利于减少电子设备内部线路复杂度。
而且,通过配置使得该第一处理装置具备获得对固件系统的数据操作指令,使得该第一处理装置能够对与其连接的存储装置中存储的对该固件系统进行操作成为了可能。在此基础上,第一处理装置可以基于该数据操作指令对该存储装置中存储的固件系统的数据进行处理,从而在实现对固件系统的数据的操作处理的同时,降低了线路连接复杂度的前提下,实现了对固件系统的数据存储与处理。
另外,随着技术发展,固件系统的数据会越来越大,所以存在使用更大容量的存储芯片存储固件数据的需求,而且考虑到固件数据的安全性的需求,可能还需要多个存储芯片来做数据备份,因此,本申请通过复用第一处理装置连接的存储装置来存储固件系统的固件数据,可以有利于减少单独用于存储固件数据的存储芯片的数量,有利于固件存储所需消耗的硬件资源。
可以理解的是,随着电子设备的不断升级,固件系统的固件数据也越来越多,这也导致了固件系统的数据修改、刷新与恢复所需要的时间消耗的增加。为了满足更为高效的对固件系统的固件数据进行处理,本申请还对读取固件系统的固件数据的操作指令以及对固件数据的传输过程进行了优化。如图2,其示出了本申请一种处理方法又一个实施例的流程示意图,本实施例的方法可以包括:
S201,电子设备的第一处理装置获得第二处理装置下发的符合通信总线对应协议的数据操作指令。
其中,数据操作指令为对固件系统的数据操作指令,该数据操作指令的具体可能性可以参见前面实施例的相关介绍,在此不再赘述。
其中,通信总线的数据传输速率高于串行外设接口总线的数据传输速率。如,该通信总线为eSPI总线,则第二处理装置可以将符合该eSPI协议的数据操作指令经过该eSPI控制器以及解串器单元传输给到该第一处理装置。向
由于相对于目前读取固件系统的固件数据所基于的串行外设接口总线,该通信总线具有更高的数据传输速率,因此,第二处理装置向第一处理装置传输符合该通信总线对应协议的数据操作指令,有利于后续第二处理装置基于该数据操作指令与存储装置之间更为高效的数据交互。
可以理解的是,该第一处理装置和第二处理装置之间连接的总线也可以为该种通信总线。如,在一种可能的情况下,第一处理装置和第二处理装置直接相连,则该第一处理装置和第二处理装置之间可以通过该种通信总线相连。在该种情况下,第一处理装置可以通过通信总线向第二处理装置传输符合该通信总线对应的协议的数据操作指令。如,第二处理装置集成到片上系统等集成芯片中,则可以通过该集成芯片与该第一处理装置之间的通信总线向第一处理装置传输该数据操作指令。其中,为了便于与后续第一处理装置与存储装置之间的通信总线区分,可以将第一处理装置和第二处理装置之间的通信总线称为第一通信总线。
在又一种可能的情况中,在该第二处理装置通过南桥等信号处理芯片与第一处理装置相连的情况下,该信号处理芯片与第一处理装置之间同样可以通过如上提到的该种通信总线(为了便于区分可以称为第二通信总线)相连。相应的,该第二处理装置可以将符合该通信总线对应协议的数据操作指令发送给信号处理芯片,并由信号处理芯片通过该信号处理芯片与该第一处理装置之间的通信总线向该第一处理装置传输该数据操作指令。
S202,第一处理装置基于数据操作指令,通过第一处理装置与存储装置之间的通信总线访问该存储装置。
该通信总线的含义与上面通信总线的含义相似,在此不再赘述。
在本申请实施例中该存储装置可以为支持该种通信总线的任意存储装置,相应的,存储装置具有比目前用于存储固件系统的存储介质更为高速的数据存取特性。如,该存储装置可以为具备较高的数据存取速率的EMMC,该EMMC的数据读取速度可以达到400MB/s。
S203,第一处理装置基于该通信总线,对该存储装置中存储的第一数据执行与该数据操作指令对应的处理。
在本实施例中,该第一处理装置与该存储装置之间通过具有更高数据传输速率的通信总线相连,从而有利于提高第一处理装置对存储装置中的固件数据进行写入或者读取的效率。
其中,该数据操作指令的具体所指的操作内容以及对第一数据所执行的处理可以参见前面实施例的相关介绍,在此不再赘述。
可见,在本实施例中,第一处理装置从第二处理装置获得的数据操作指令为符合通信总线对应协议的指令,由于相对于目前读取固件系统的固件数据所通常采用的串行外设接口总线,该通信总线具有更高的数据传输速率,因此,在第一处理装置和存储装置采用该种通信总线相连,且第一处理装置基于符合该种通信协议的数据操作指令对存储装置中固件系统的固件数据进行处理,有利于提高对固件系统的固件数据进行处理的效率,有利于更为高效的实现固件系统的固件数据的更新与恢复。
可以理解的是,为了提高固件系统的固件数据的安全性,本申请在需要向存储装置的固件数据执行写操作时,还可以先确定该写操作不会影响到固件系统的固件数据的完整性。如,参见图3,其示出了本申请一种处理方法的又一种流程示意图,本实施例的方法可以包括:
S301,电子设备的第一处理装置获得第二处理装置下发的数据操作指令。
S302,第一处理装置基于数据操作指令访问该存储装置。
S303,在数据操作指令为数据读取指令的情况下,第一处理装置从该存储装置中存储的第一数据中读取该数据读取指令所指示的数据。
以上步骤S301到S302可以参见前面任意一个实施例的相关介绍,在此不再赘述。
S304,在该数据操作指令为数据写入指令的情况下,第一处理装置将数据写入指令请求缓存到内存。
可以理解的是,在数据操作指令为数据写入指令的情况下,涉及对存储装置中存储的固件数据的改动,如修改固件数据的内容或者删除固件数据的部分内容等等。
为了避免由于数据写入指令所请求执行的写操作会影响到固件系统完整性,进而导致影响固件系统的安全性,在本实施例中第一处理装置会先将数据写入指令请求的内容缓存到内存中,以便后续完整性验证通过后,再执行该数据写入指令。
S305,第一处理装置基于数据写入指令所请求写入的目标数据以及存储装置中存储的第一数据,对固件系统进行数据完整性校验。
其中,对固件系统的数据完整性校验就是对固件系统的固件数据(即,数据文件)进行完整性校验,以检测固件系统的固件数据是否完整。
在本申请实施例中,在根据数据写入指令请求写入的目标数据以及当前该存储装置中存储的固件系统对应的第一数据,来检测执行该数据写入指令后该固件系统的固件数据是否仍具有完整性。
其中,数据完整性校验的方法可以有多种,对此本申请不加限制。
为了便于理解,以一种情况为例,在本申请中第一处理装置可以预先在存储了固件系统对应的固件数据的签名信息,如,在存储装置中单独存储了作为第三数据的固件数据签名信息,或者在独立的安全闪存等其他存储器中存储了该固件数据的签名信息。其中,固件数据的签名信息可以为在固件系统对应的一份完整的固件数据对哈希运算,并利用私钥对生成的哈希值加密所得到的加密数据。在需要进行完整性校验时,可以获得该固件数据的签名信息,并利用公钥对签名信息进行解密;同时,对基于写入操作指令对第一数据进行操作后的数据的全部或者部分区域做哈希运算;然后,将生成的哈希值与与解密出的哈希值进行比对,相同则认为完整性校验成功。
当然,以上仅仅是为了便于理解以一种情况进行的简单说明,在实际应用中数据完整性校验的具体实现可以更为复杂或者有其他不同的实现过程。
S306,在第一处理装置确认数据完整性校验通过后,依据缓存的第一数据写入指令,更新存储装置中存储的第一数据。
其中,数据写入指令指示的写操作不同时,基于目标数据对存储装置中的第一数据更新的方式也会有所差别,如,可以是将第一数据写入指令所指示的目标数据作为新增的第一数据写入到目标数据,或者,基于目标数据替换第一数据中与该目标数据对应的数据项的内容等,在此不再赘述。
本实施例中,在第一处理装置接收到数据写入指令之后,并不会直接基于该数据写入指令对存储装置中存储的固件系统的固件数据进行写操作,而是会先基于数据写入指令所请求写入的目标数据以及存储装置中存储的固件数据,检测执行该输入写入对应的写操作之后,固件系统的固件数据是否仍具有完整性,并在完整性校验通过后才会执行该数据写入指令,从而可以避免由于数据写入指令所指示的写操作存在错误,而导致破坏了存储装置中存储的固件数据的完整性,进而减少了由于固件数据不完整而影响到固件系统的正常运行,提高了固件系统的安全性。
可以理解的是,在本申请以上实施例中,第一处理装置还可以设定存储装置中某些存储区域为限制写入固件系统的区域,比如,存储装置中某部分区域只允许写入第二数据,而不允许写入固件系统对应的固件数据。
在该种情况下,如果该数据操作指令为数据写入指令,该第一处理装置还可以检测该数据写入指令请求写入输入的区域是否属于该存储装置中的限制写入区域。如在该数据写入指令请求写入输入的区域属于该存储装置中的限制写入区域的情况下,该第一处理装置会输出非法写入提示。其中,非法写入提示用于提示用户当前的数据写入指令所请求写入的存储区域不允许写入固件系统的固件数据。
相应的,在该数据写入指令请求写入的区域不属于该存储装置中的限制写入区域的情况下,则第一处理装置可以依据该数据写入指令对存储装置中存储的第一数据进行处理。
在本申请以上任意一个实施例中,为了能够保证固件系统的固件数据的安全性,该第一处理装置依据该存储装置中存储的第一数据进行固件系统的数据完整性校验,并在数据完整性校验未通过的情况下,输出提示信息。如,该提示信息用于提示风险固件系统的数据存在异常,以提示用户注意固件系统的安全性等。其中,数据完整性校验的方式与前面提到的方式相似,在此不再赘述。
其中,该第一处理装置可以周期性的对固件系统进行数据完整性校验。特别是在第一处理装置和存储装置通过前面提到的通信总线相连的情况下,由于第一处理装置可以更为快速的读取存储装置中存储的第一数据,因此,第一处理装置周期性检查该固件系统的完整性也不会影响到电子设备的正常开机以及正常运行等。
为了便于理解本申请的好处,下面结合一种具体应用场景,对比下现有的固件系统的固件数据的存储方式以及读写过程,以及本申请中固件系统的固件数据的存储方式以及读写过程。
为了便于理解,以第一处理装置为基板管理控制器BMC,第二处理装置为处理器,第一处理装置连接的存储装置为嵌入式存储器(也称为嵌入式多媒体卡)EMMC,且固件系统为BIOS为例说明。
如图4所示,其示出了为现有的方案中对固件系统的固件数据进行操作的一种原理框架示意图。
由图4可以看出,在现有的方案中,BIOS是存储在带电可擦可编程只读存储器(Electrically Erasable Programmable read only memory,EEPROM)EEPROM401中的。且该EEPROM401通过南桥402与处理器403相连。而且,受限于EEPROM的数据读写性能,南桥与EEPROM之间是通过串行外设接口总线相连。而电子设备中的BMC模块404也会通过南桥402与处理器403相连,且BMC模块404连接有嵌入式存储器(EMMC)405。
在图4中采用单独的EEPROM401来存储BIOS数据,因此,电子设备中需要设置该EEPROM并布设EEPROM与南桥和处理器之间的线路连接,其中,图4仅仅是一个简单的连线示意图,在实际应用中,EEPROM与南桥和处理器之间可能还会设置有一些总线控制器等等,线路连接关系更为复杂。
同时,在图4中加粗的线条表示了对BIOS数据进行读写操作的操作路径。由图4可知,在现有技术中,处理器403下发的数据读写指令会经过南桥传输给EEPROM401,以执行对EEPROM中BIOS数据的读取。由于EEPROM的数据存取速率相对较慢,同时,EEPROM与处理器之间是通过SPI总线相连,受限于SPI总线的数据速率和EEPROM的数据存取速率,使得电子设备对BIOS数据进行存取的速度较慢,不利于BIOS数据的快速更新与恢复等。
在图5中是本申请中实现BIOS数据存储与对BIOS数据操作的原理框架图。
由图5可见,在本申请的方案中,电子设备的BMC模块501与嵌入式存储器502之间通过EMMC总线相连。同时,该电子设备的处理器503通过南桥504与该BMC模块501相同。相应的,南桥与BMC模块之间的通信总线为eSPI总线。
与图4的不同在于,在图5示出本申请的框架中,该BMC模块501连接的嵌入式存储器502中存储有BIOS数据,当然,该嵌入式存储器还会存储该BMC模块运行过程中产生的其他数据。对比图4可以看出,本申请的该电子设备中并未单独设置用于存储BIOS数据的EEPROM,这样既可以减少了由于单独设置用于存储BIOS数据的EEPROM所需消耗的硬件资源,又可以减少了布设线路所需耗费的线路资源,还避免由于布设该EEPROM与处理器等部件的连接线路而导致的复杂度。
在图5示出的本申请的框架中,在需要对BIOS数据进行读写操作时,处理器503可以生成符合eSPI协议且对BIOS数据的数据操作指令。同时,该处理器503将该数据操作指令经南桥504以及南桥504与BMC模块501之间的eSPI总线传输给BMC模块501。
BMC模块依据该数据操作指令为读操作指令或者写操作指令,通过eSPI总线访问该嵌入式存储器,并对嵌入式存储器中存储的BIOS数据进行读或者写操作。
对比图4中处理器对EEPROM中BIOS数据进行操作的过程可知,本申请是经过BMC实现对BIOS数据的操作,由于RMC是一个ARM处理器(高级精简指令集处理器),利用RMC性能和EMMC的快速读写的特性,可以通过eSPI总线实现RMC对EMMC中存储的BIOS数据的快速读写,也有利于更为快速的刷新与恢复BIOS。
又一方面,本申请还提供了一种电子设备,如图6所示,其示出了本申请一种电子设备的组成结构示意图,该电子设备可以包括:
第一处理装置601、第二处理装置602和存储装置603。
其中,第一处理装置601与第二处理装置602具有通信连接,第一处理装置与第二处理装置不同,第二处理装置是用于运行电子设备的操作系统的处理装置,且第一处理装置至少能采集第二处理装置的运行信息;
第一处理装置601与存储装置603相连,且,存储装置603中存储有第一数据和第二数据,第一数据是固件系统对应的固件数据,第二数据和第一数据不同;
第一处理装置601,用于获得对固件系统的数据操作指令;基于数据操作指令,访问存储装置;处理存储装置中存储的第一数据。
在一种可能的实现方式中,该第一处理装置在基于数据操作指令,访问第一处理装置连接的存储装置时,具体为:
基于数据操作指令,通过第一处理装置与存储装置之间的通信总线访问存储装置,通信总线的数据传输速率高于串行外设接口总线的数据传输速率;
第一处理装置在处理存储装置中存储的第一数据时,具体为,基于通信总线,对存储装置中存储的第一数据执行与数据操作指令对应的处理。
可选的,第一处理装置在获得对固件系统的数据操作指令时,具体为,获得第二处理装置下发的符合通信总线对应协议的数据操作指令,数据操作指令为对固件系统的数据操作指令。
在一种可能的实现方式中,第一处理装置处理存储装置中存储的第一数据时,具体用于:
在数据操作指令为数据读取指令的情况下,从存储装置中存储的第一数据中读取数据读取指令所指示的数据;
在数据操作指令为数据写入指令的情况下,向存储装置执行数据写入指令对应的写操作,以更新存储装置中存储的第一数据。
可以理解的是,在图6中第一处理装置、第二处理装置和存储装置的具体功能与作用可以参见前面处理方法实施例中的相关介绍,在此不再赘述。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种处理方法,包括:
电子设备的第一处理装置获得对固件系统的数据操作指令,其中,所述第一处理装置与第二处理装置不同,所述第二处理装置是用于运行所述电子设备的操作系统的处理装置,且所述第一处理装置至少能采集所述第二处理装置的运行信息;
所述第一处理装置基于所述数据操作指令,访问所述第一处理装置连接的存储装置,其中,所述存储装置能存储第一数据和第二数据,所述第一数据是所述固件系统对应的固件数据,所述第二数据和所述第一数据不同;
所述第一处理装置处理所述存储装置中存储的第一数据。
2.根据权利要求1所述的处理方法,所述第一处理装置基于所述数据操作指令,访问所述第一处理装置连接的存储装置,包括:
所述第一处理装置基于所述数据操作指令,通过所述第一处理装置与存储装置之间的通信总线访问所述存储装置,所述通信总线的数据传输速率高于串行外设接口总线的数据传输速率;
所述第一处理装置处理所述存储装置中存储的第一数据,包括:
所述第一处理装置基于所述通信总线,对所述存储装置中存储的第一数据执行与所述数据操作指令对应的处理。
3.根据权利要求2所述的处理方法,所述电子设备的第一处理装置获得对固件系统的数据操作指令,包括:
所述电子设备的第一处理装置获得所述第二处理装置下发的符合所述通信总线对应协议的数据操作指令,所述数据操作指令为对固件系统的数据操作指令。
4.根据权利要求1所述的处理方法,所述第一处理装置处理所述存储装置中存储的第一数据,包括:
在所述数据操作指令为数据读取指令的情况下,从所述存储装置中存储的第一数据中读取所述数据读取指令所指示的数据;
在所述数据操作指令为数据写入指令的情况下,向所述存储装置执行所述数据写入指令对应的写操作,以更新所述存储装置中存储的第一数据。
5.根据权利要求4所述的处理方法,所述在所述数据操作指令为数据写入指令的情况下,向所述存储装置执行所述数据写入指令对应的写操作,以更新所述存储装置中存储的第一数据,包括:
在所述数据操作指令为数据写入指令的情况下,所述第一处理装置将所述数据写入指令缓存到内存;
基于数据写入指令所请求写入的目标数据以及所述存储装置中存储的第一数据,对所述固件系统进行数据完整性校验;
在所述第一处理装置确认数据完整性校验通过后,依据数据写入指令,更新所述存储装置中存储的第一数据。
6.根据权利要求4所述的处理方法,还包括:
在所述数据操作指令为数据写入指令的情况下,所述第一处理装置检测所述数据写入指令请求写入输入的区域是否属于所述存储装置中的限制写入区域;
在所述数据写入指令请求写入输入的区域属于所述存储装置中的限制写入区域的情况下,所述第一处理装置输出非法写入提示。
7.根据权利要求1所述的处理方法,还包括:
所述第一处理装置依据所述存储装置中存储的第一数据进行所述固件系统的数据完整性校验,并在数据完整性校验未通过的情况下,输出提示信息。
8.一种电子设备,包括:
第一处理装置、第二处理装置和存储装置;
其中,第一处理装置与第二处理装置具有通信连接,第一处理装置与第二处理装置不同,所述第二处理装置是用于运行所述电子设备的操作系统的处理装置,且所述第一处理装置至少能采集所述第二处理装置的运行信息;
所述第一处理装置与所述存储装置相连,且,所述存储装置中存储有第一数据和第二数据,所述第一数据是所述固件系统对应的固件数据,所述第二数据和所述第一数据不同;
所述第一处理装置,用于获得对固件系统的数据操作指令;基于所述数据操作指令,访问所述存储装置;处理所述存储装置中存储的第一数据。
9.根据权利要求8所述的电子设备,所述第一处理装置在基于所述数据操作指令,访问所述第一处理装置连接的存储装置时,具体为:
基于所述数据操作指令,通过所述第一处理装置与存储装置之间的通信总线访问所述存储装置,所述通信总线的数据传输速率高于串行外设接口总线的数据传输速率;
所述第一处理装置在处理所述存储装置中存储的第一数据时,具体为,基于所述通信总线,对所述存储装置中存储的第一数据执行与所述数据操作指令对应的处理。
10.根据权利要求9所述的电子设备,所述第一处理装置在获得对固件系统的数据操作指令时,具体为,获得所述第二处理装置下发的符合所述通信总线对应协议的数据操作指令,所述数据操作指令为对固件系统的数据操作指令。
CN202010001499.3A 2020-01-02 2020-01-02 一种处理方法和电子设备 Active CN111198832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010001499.3A CN111198832B (zh) 2020-01-02 2020-01-02 一种处理方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010001499.3A CN111198832B (zh) 2020-01-02 2020-01-02 一种处理方法和电子设备

Publications (2)

Publication Number Publication Date
CN111198832A true CN111198832A (zh) 2020-05-26
CN111198832B CN111198832B (zh) 2022-09-23

Family

ID=70745465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010001499.3A Active CN111198832B (zh) 2020-01-02 2020-01-02 一种处理方法和电子设备

Country Status (1)

Country Link
CN (1) CN111198832B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787446A (zh) * 2020-06-30 2020-10-16 联想(北京)有限公司 电子设备、数据处理方法及装置
CN112987690A (zh) * 2021-02-25 2021-06-18 山东英信计算机技术有限公司 一种espi控制器验证系统及方法
CN114217737A (zh) * 2021-11-22 2022-03-22 联想(北京)有限公司 一种数据存储处理方法、数据存储处理电路及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294575A1 (en) * 2006-05-12 2007-12-20 International Business Machines Corporation Method and System for Maintaining Backup Copies of Firmware
CN101632083A (zh) * 2007-05-09 2010-01-20 国际商业机器公司 用于防止计算机系统被操控的方法和数据处理系统
US20140109071A1 (en) * 2012-10-15 2014-04-17 Askey Computer Corp. Method for updating operating system and handheld electronic apparatus
CN104834575A (zh) * 2015-05-07 2015-08-12 杭州昆海信息技术有限公司 一种固件恢复方法及装置
US20160306617A1 (en) * 2015-04-17 2016-10-20 Fujitsu Technology Solutions Intellectual Property Gmbh Methods of updating firmware components, computer systems and memory apparatus
CN106227683A (zh) * 2016-07-26 2016-12-14 联想(北京)有限公司 电子设备及信息处理方法
CN109240902A (zh) * 2017-05-27 2019-01-18 腾讯科技(深圳)有限公司 一种获取电子设备的固件代码的方法和装置
CN109408081A (zh) * 2017-08-17 2019-03-01 佳能企业股份有限公司 数据传输方法及通讯系统
CN109542518A (zh) * 2018-10-09 2019-03-29 华为技术有限公司 芯片和启动芯片的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294575A1 (en) * 2006-05-12 2007-12-20 International Business Machines Corporation Method and System for Maintaining Backup Copies of Firmware
CN101632083A (zh) * 2007-05-09 2010-01-20 国际商业机器公司 用于防止计算机系统被操控的方法和数据处理系统
US20140109071A1 (en) * 2012-10-15 2014-04-17 Askey Computer Corp. Method for updating operating system and handheld electronic apparatus
US20160306617A1 (en) * 2015-04-17 2016-10-20 Fujitsu Technology Solutions Intellectual Property Gmbh Methods of updating firmware components, computer systems and memory apparatus
CN104834575A (zh) * 2015-05-07 2015-08-12 杭州昆海信息技术有限公司 一种固件恢复方法及装置
CN106227683A (zh) * 2016-07-26 2016-12-14 联想(北京)有限公司 电子设备及信息处理方法
CN109240902A (zh) * 2017-05-27 2019-01-18 腾讯科技(深圳)有限公司 一种获取电子设备的固件代码的方法和装置
CN109408081A (zh) * 2017-08-17 2019-03-01 佳能企业股份有限公司 数据传输方法及通讯系统
CN109542518A (zh) * 2018-10-09 2019-03-29 华为技术有限公司 芯片和启动芯片的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787446A (zh) * 2020-06-30 2020-10-16 联想(北京)有限公司 电子设备、数据处理方法及装置
CN112987690A (zh) * 2021-02-25 2021-06-18 山东英信计算机技术有限公司 一种espi控制器验证系统及方法
CN112987690B (zh) * 2021-02-25 2022-05-24 山东英信计算机技术有限公司 一种espi控制器验证系统及方法
CN114217737A (zh) * 2021-11-22 2022-03-22 联想(北京)有限公司 一种数据存储处理方法、数据存储处理电路及电子设备

Also Published As

Publication number Publication date
CN111198832B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
US10754955B2 (en) Authenticating a boot path update
US20190311128A1 (en) Secure booting of virtualization managers
US11429414B2 (en) Virtual machine management using partially offloaded virtualization managers
TWI471726B (zh) 快取資料與元資料之管理
US9158628B2 (en) Bios failover update with service processor having direct serial peripheral interface (SPI) access
CN111052118A (zh) 硬件实施的固件安全
CN111198832B (zh) 一种处理方法和电子设备
CN107665308B (zh) 用于构建和保持可信运行环境的tpcm系统以及相应方法
US9448889B2 (en) BIOS failover update with service processor
US9912474B2 (en) Performing telemetry, data gathering, and failure isolation using non-volatile memory
US11886595B2 (en) Computer boot method, controller, storage medium, and system
US9448808B2 (en) BIOS update with service processor without serial peripheral interface (SPI) access
US20230140209A1 (en) System and method for secure access to a distributed virtual firmware network drive
CN111950014A (zh) 服务器系统启动的安全度量方法、安全度量装置及服务器
TW201937366A (zh) 具開機之可信驗證與容錯移轉之計算機系統及方法
US11900128B2 (en) Modularized basic input output system (BIOS) firmware activation
US20220179962A1 (en) Multi-domain boot and runtime status code drift detection
WO2024022212A1 (zh) 配置信息的管理方法、装置及服务器
KR100605031B1 (ko) Usb 메모리 장치를 이용한 임베디드 시스템의 장애복구 및 업그레이드 방법
CN115904831A (zh) 一种服务器固件的启动方法及终端
CN112306754B (zh) 基于可信的uefi固件恢复方法、装置、介质和设备
CN115827522A (zh) Bios的设置方法、bios芯片和电子设备
US11231940B2 (en) System and method for automatic recovery of information handling systems
US20220222349A1 (en) Information handling system host to management controller attestation service channel
US11977638B2 (en) Low-impact firmware update

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
GR01 Patent grant
GR01 Patent grant