掌桥专利:专业的专利平台
掌桥专利
首页

一种BIOS的数据存储方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:42:32


一种BIOS的数据存储方法、装置、设备及存储介质

技术领域

本发明涉及计算机技术领域,特别涉及一种BIOS的数据存储方法、装置、BIOS设备及计算机可读存储介质。

背景技术

TSE为BIOS(Basic Input Output System,基本输入输出系统)中重要的人机接口,提供菜单选项,用于提供修改和设置功能,修改寄存器的数值,或者传递指定参数给BIOS程序等。TSE中菜单选项种类可归纳为二值类型,多值类型,字符串类型等,其中,二值类型的菜单(即二值菜单)在整个TSE菜单中占有相当多的比例;二值菜单有ENABLE(允许)或DISABLE(禁用)两种状态,或者使用1或0表示不同的输入数值。

现有技术中,TSE中的菜单选项通常使用C语言中的结构体来描述,二值菜单每个选项使用1个字节定义,菜单选项数据(如图1所示的二值菜单数据字节)最后会保存在BIOS的FLASH(闪存)NVRAM(非易失性随机访问存储器)区域,一般为如图1所示的一一映射关系。由于当前BIOS功能众多,可配置的菜单选项也非常多,使得TSE中的二值菜单选项最终保存时占用的FLASH(闪存)空间较大。因此,如何能够在不影响二值菜单选项功能的基础上,减少二值菜单数据在BIOS中存储所占用的空间,是现今急需解决的问题。

发明内容

本发明的目的是提供一种BIOS的数据存储方法、装置、BIOS设备及计算机可读存储介质,以在不影响二值菜单选项功能的基础上,减少二值菜单数据在BIOS中存储所占用的空间。

为解决上述技术问题,本发明提供一种BIOS的数据存储方法,包括:

BIOS获取每个待存储二值菜单数据;

确定每个所述待存储二值菜单数据各自对应的BIT数据;其中,每个所述BIT数据的大小为预设数据大小,所述预设数据大小小于1字节;

获取所述BIT数据对应的目标字节数据,并在所述BIOS的预设存储区域中存储所述目标字节数据;其中,所述目标字节数据中至少一个字节对应的BIT数据的数量为预设数量,所述预设数量大于或等于2。

可选的,所述确定每个所述待存储二值菜单数据各自对应的BIT数据,包括:

利用第一映射关系表,获取每个所述待存储二值菜单数据各自对应的BIT数据;其中,所述第一映射关系表为所述待存储二值菜单数据与所述BIT数据的双向映射关系表;

对应的,所述获取所述BIT数据对应的目标字节数据,包括:

利用第二映射关系表,获取所述BIT数据对应的目标字节数据;其中,所述第二映射关系表为所述BIT数据与所述目标字节数据的双向映射关系表。

可选的,所述确定每个所述待存储二值菜单数据各自对应的BIT数据之前,还包括:

判断所述待存储二值菜单数据的数量是否大于阈值;

若是,则执行所述确定每个所述待存储二值菜单数据各自对应的BIT数据的步骤;

若否,则将所述待存储二值菜单数据存储到所述预设存储区域。

可选的,所述预设数据大小为1BIT。

可选的,所述预设数量为8。

可选的,该方法还包括:从所述预设存储区域获取所述待存储二值菜单数据的过程;

其中,所述从所述预设存储区域获取所述待存储二值菜单数据的过程,包括:

从所述预设存储区域读取所述目标字节数据;

根据所述目标字节数据,获取所述待存储二值菜单数据。

可选的,所述根据所述目标字节数据,获取所述待存储二值菜单数据,包括:

利用第二映射关系表,获取所述目标字节数据对应的BIT数据;其中,所述第二映射关系表为所述BIT数据与所述目标字节数据的双向映射关系表;

利用第一映射关系表,获取所述BIT数据对应的待存储二值菜单数据;其中,其中,所述第一映射关系表为所述待存储二值菜单数据与所述BIT数据的双向映射关系表。

本发明还提供了一种BIOS的数据存储装置,包括:

获取模块,用于获取每个待存储二值菜单数据;

确定模块,用于确定每个所述待存储二值菜单数据各自对应的BIT数据;其中,每个所述BIT数据的大小为预设数据大小,所述预设数据大小小于1字节;

存储模块,用于获取所述BIT数据对应的目标字节数据,并在BIOS的预设存储区域中存储所述目标字节数据;其中,所述目标字节数据中至少一个字节对应的BIT数据的数量为预设数量,所述预设数量大于或等于2。

本发明还提供了一种BIOS设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述的BIOS的数据存储方法的步骤。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的BIOS的数据存储方法的步骤。

本发明所提供的一种BIOS的数据存储方法,包括:BIOS获取每个待存储二值菜单数据;确定每个待存储二值菜单数据各自对应的BIT数据;其中,每个BIT数据的大小为预设数据大小,预设数据大小小于1字节;获取BIT数据对应的目标字节数据,并在BIOS的预设存储区域中存储目标字节数据;其中,目标字节数据中至少一个字节对应的BIT数据的数量为预设数量,预设数量大于或等于2;

可见,本发明通过确定每个待存储二值菜单数据各自对应的小于1字节BIT数据,将每个需要存储的二值菜单的选项数据映射为小于1字节的BIT数据,使得BIOS的预设存储区域中同一字节中可以存储多个选项数据对应的BIT数据,从而在不影响二值菜单选项功能的基础上,减少二值菜单数据在BIOS中存储所占用的空间。此外,本发明还提供了一种BIOS的数据存储装置、BIOS设备及计算机可读存储介质,同样具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为现有技术中BIOS的二值菜单的选项数据存储方法的示意图;

图2为本发明实施例所提供的一种BIOS的数据存储方法的流程图;

图3为本发明实施例所提供的另一种BIOS的数据存储方法的示意图;

图4为本发明实施例所提供的一种BIOS的数据存储装置的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图2,图2为本发明实施例所提供的一种BIOS的数据存储方法的流程图。该方法可以包括:

步骤101:BIOS获取每个待存储二值菜单数据。

可以理解的是,本步骤中的待存储二值菜单数据可以为需要存储的二值菜单的选项数据,即每个二值菜单对应的允许状态数据(ENABLE)或禁用状态数据(DISABLE)这两种状态的数据;也就是说,本步骤中的每个待存储二值菜单数据可以为允许状态数据或禁用状态数据。

具体的,对于本步骤中BIOS设备(如BIOS芯片)获取每个待存储二值菜单数据的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如BIOS设备可以采用与现有技术中待存储二值菜单数据的获取方法相同或相似的方式实现,如图1所示,BIOS设备可以获取需要保存的SETUP(一种人机接口)存储结构的待存储二值菜单数据(即二值菜单数据字节1-N)。只要BIOS设备可以获取待存储二值菜单数据,本实施例对此不做任何限制。

同样的,本实施例并不限定每个待存储二值菜单数据的具体内容和大小,如每个待存储二值菜单数据可以为采用现有技术中的C语言中的结构体来描述的1个字节(BYTE)的允许状态数据或禁用状态数据。

步骤102:确定每个待存储二值菜单数据各自对应的BIT数据;其中,每个BIT数据的大小为预设数据大小,预设数据大小小于1字节。

可以理解的是,本步骤中BIOS设备通过确定每个待存储二值菜单数据各自对应预设数据大小的BIT数据,从而能够利用占用空间更小的BIT数据来表示对应的二值菜单的选项数据。

对应的,对于本步骤中预设数据大小的具体设置,即每个待存储二值菜单数据各自对应的BIT数据的大小设置,可以由设计人员根据实用场景和用户需求自行设置,由于二值菜单仅有ENABLE或DISABLE这两种状态,使用一个BIT(比特位)即可表示这两种状态,即预设数据大小可以为1BIT,如BIT数据为1时可以表示允许状态数据,BIT数据为0时可以表示禁用状态数据;也可以使用多个BIT(如2BIT和4BIT等)表示这两种状态,只要保证预设数据大小小于1字节,本实施例对此不做任何限制。

具体的,对于本步骤中BIOS设备确定每个待存储二值菜单数据各自对应的BIT数据的具体方式,可以由设计人员自行设置,如图3所示,通过预先梳理定义SETUP存储结构,将二值菜单数据(BYTE源数据,即二值菜单数据字节1-N)映射到BIT数据(BIT目数据,即BIT1-N)建立双向映射的第一映射关系表(映射关系表1);本步骤中BIOS设备可以利用第一映射关系表,获取每个待存储二值菜单数据各自对应的BIT数据;其中,第一映射关系表为待存储二值菜单数据与BIT数据的双向映射关系表。本步骤中BIOS设备也可以分别对每个待存储二值菜单数据进行识别,确定每个待存储二值菜单数据各自对应的BIT数据,本实施例对此不做任何限制。

进一步的,步骤102之前还可以包括判断待存储二值菜单数据的数量是否大于阈值;若是,则进入步骤102;若否,则将待存储二值菜单数据存储到预设存储区域。也就是说,BIOS设备可以在待存储二值菜单数据的数量大于阈值时,通过本实施例所提供的方法将待存储二值菜单数据映射为相应的BIT数据存储,以减小存储的占用空间;而在待存储二值菜单数据的数量小于或等于阈值时,BIOS设备可以采用如图1所示的现有技术将待存储二值菜单数据存储到预设存储区域。

步骤103:获取BIT数据对应的目标字节数据,并在BIOS的预设存储区域中存储目标字节数据;其中,目标字节数据中至少一个字节对应的BIT数据的数量为预设数量,预设数量大于或等于2。

可以理解的是,本步骤中BIOS设备通过确定获取BIT数据对应的目标字节数据,使BIOS的预设存储区域中目标字节数据中的一个字节中可以存储多个待存储二值菜单数据对应的BIT数据,从而减少了待存储二值菜单数据的占用空间。

对应的,对于本步骤中预设数量的具体设置,即预设存储区域中目标字节数据中的一个字节能够存储的BIT数据具体数量,可以由设计人员根据实用场景和用户需求自行设置,如图3所示,BIT数据的大小为1BIT时,预设数量可以为8,使得待存储二值菜单数据对BIOS设备的存储空间的占用最大减少到原来的1/8,例如BIT数据的数量为8的整数倍时,目标字节数据的每个字节对应的BIT数据的数量均为8;预设数量也可以为小于8且大于或等于2的数值,本实施例对此不做任何限制。

需要说明的是,本步骤中的预设存储区域可以为BIOS设备的存储器中的一段指定区域,如BIOS设备的NVRAM中划定的一段指定区域。本步骤中的目标字节数据可以为全部BIT数据所组成的字节数据,如图3中的FLASH BYTE目数据。对于本步骤中BIOS设备获取BIT数据对应的目标字节数据的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如图3所示,通过预先将BIT数据映射为目标字节数据,建立双向映射的第二映射关系表;本步骤中BIOS设备可以利用第二映射关系表,获取BIT数据对应的目标字节数据;其中,第二映射关系表为BIT数据与目标字节数据的双向映射关系表。本步骤中BIOS设备也可以利用确定的BIT数据,生成目标字节数据,并记录目标字节数据中每个BIT数据与各自对应的待存储二值菜单数据的对应关系。本实施例对此不做任何限制。

具体的,本步骤中BIOS设备在获取BIT数据对应的目标字节数据后,可以调用SetVariable()函数(BIOS中保存数据到存储器中的一种标准函数,具体接口由UEFISPECIFICATION工业规范定义),将目标字节数据实际存储BIOS的预设存储区域中。

本实施例中,本发明实施例通过确定每个待存储二值菜单数据各自对应的小于1字节BIT数据,将每个需要存储的二值菜单的选项数据映射为小于1字节的BIT数据,使得BIOS的预设存储区域中同一字节中可以存储多个选项数据对应的BIT数据,从而在不影响二值菜单选项功能的基础上,减少二值菜单数据在BIOS中存储所占用的空间。

基于上述实施例,本实施例所提供的BIOS的数据存储方法还可以包括从预设存储区域获取待存储二值菜单数据的过程,以保证BIOS设备可以利用预设存储区域中存储的目标字节数据获取原本的待存储二值菜单数据;具体的,从预设存储区域获取待存储二值菜单数据的过程可以如下,包括:

步骤201:从预设存储区域读取目标字节数据。

具体的,本步骤中BIOS设备可以在需要获取待存储二值菜单数据时,从预设存储区域读取待存储二值菜单数据对应的目标字节数据,例如BIOS设备可以调用GetVariable()函数(BIOS中从存储器中读取数据的一种标准函数,具体接口由UEFI SPECIFICATION工业规范定义),将目标字节数据从预设存储区域中读取。

步骤202:根据目标字节数据,获取待存储二值菜单数据。

可以理解的是,本步骤中BIOS设备可以利用从预设存储区域读取的目标字节数据,获取目标字节数据对应的待存储二值菜单数据,已恢复原本的二值菜单的选项数据。

具体的,对于本步骤中BIOS设备根据目标字节数据,获取待存储二值菜单数据的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如图3所示,预先设置第一映射关系表(映射关系表1)和第二映射关系表(映射关系表2)时,本步骤中BIOS设备可以为先利用第二映射关系表,获取目标字节数据对应的BIT数据;再利用第一映射关系表,获取BIT数据对应的待存储二值菜单数据。本步骤中BIOS设备也可以利用记录的目标字节数据中每个BIT数据与各自对应的待存储二值菜单数据的对应关系,直接获取目标字节数据对应的待存储二值菜单数据,本实施例对此不做任何限制。

相应于上面的方法实施例,本发明实施例还提供了一种BIOS的数据存储装置,下文描述的BIOS的数据存储装置与上文描述的BIOS的数据存储方法可相互对应参照。

请参考图4,图4为本发明实施例所提供的一种BIOS的数据存储装置的结构框图。该装置可以包括:

获取模块10,用于获取每个待存储二值菜单数据;

确定模块20,用于确定每个待存储二值菜单数据各自对应的BIT数据;其中,每个BIT数据的大小为预设数据大小,预设数据大小小于1字节;

存储模块30,用于获取BIT数据对应的目标字节数据,并在BIOS的预设存储区域中存储目标字节数据;其中,目标字节数据中至少一个字节对应的BIT数据的数量为预设数量,预设数量大于或等于2。

可选的,确定模块20可以包括:

目标BIT获取子模块,用于利用第一映射关系表,获取每个待存储二值菜单数据各自对应的BIT数据;其中,第一映射关系表为待存储二值菜单数据与BIT数据的双向映射关系表;

对应的,存储模块30可以包括:

目标字节获取子模块,用于利用第二映射关系表,获取BIT数据对应的目标字节数据;其中,第二映射关系表为BIT数据与目标字节数据的双向映射关系表。

可选的,该装置还可以包括:

判断模块,用于判断待存储二值菜单数据的数量是否大于阈值;若大于阈值,则向确定模块20发送启动信号;

直接储存模块,用于若不大于阈值,则将待存储二值菜单数据存储到预设存储区域。

可选的,预设数据大小为1BIT。

可选的,预设数量为8。

可选的,该装置还可以包括:存储获取模块,用于从预设存储区域获取待存储二值菜单数据;

其中,存储获取模块可以包括:

读取子模块,用于从预设存储区域读取目标字节数据;

获取子模块,用于根据目标字节数据,获取待存储二值菜单数据。

可选的,获取子模块可以具体用于利用第二映射关系表,获取目标字节数据对应的BIT数据;利用第一映射关系表,获取BIT数据对应的待存储二值菜单数据;其中,第一映射关系表为待存储二值菜单数据与BIT数据的双向映射关系表,第二映射关系表为BIT数据与目标字节数据的双向映射关系表。

本实施例中,本发明实施例通过确定模块20确定每个待存储二值菜单数据各自对应的小于1字节BIT数据,将每个需要存储的二值菜单的选项数据映射为小于1字节的BIT数据,使得BIOS的预设存储区域中同一字节中可以存储多个选项数据对应的BIT数据,从而在不影响二值菜单选项功能的基础上,减少二值菜单数据在BIOS中存储所占用的空间。

相应于上面的方法实施例,本发明实施例还提供了一种BIOS设备,下文描述的BIOS设备与上文描述的BIOS的数据存储方法可相互对应参照。

本发明实施例还提供了一种BIOS设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述实施例所提供的BIOS的数据存储方法的步骤。

相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的计算机可读存储介质与上文描述的BIOS的数据存储方法可相互对应参照。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述实施例所提供的BIOS的数据存储方法的步骤。

其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、BIOS设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

以上对本发明所提供的一种BIOS的数据存储方法、装置、BIOS设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

相关技术
  • 一种BIOS的数据存储方法、装置、设备及存储介质
  • 数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质
技术分类

06120113023443