一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种在国产处理器平台固件进行RAID卡管理的方法与流程

2023-01-16 22:35:06 来源:中国专利 TAG:

一种在国产处理器平台固件进行raid卡管理的方法
技术领域
1.本发明涉及一种在国产处理器平台固件进行raid卡管理的方法,属于计算机固件领域。


背景技术:

2.随着国家信息化的高速发展,国家对自主可控、安全可信、高效可用专用安全计算平台的需求日趋明显。自主可控的安全计算平台通常基于国产处理器、国产bios(basic input output system,基本输入/输出系统)固件设计。
3.固件(firmware)是写入eprom(可擦写可编程只读存储器)或eeprom(电可擦可编程只读存储器)中的程序,可理解为处理器内部保存的处理器“驱动程序”。而raid(redundant arrays of independent disks,独立磁盘冗余阵列)卡是磁盘阵列管理的核心,是保证数据安全存储的重要部件,但由于raid卡核心技术目前由国外厂商掌握,内嵌的驱动程序一般为x86架构指令(x86架构指令集是美国intel公司开发的),因此国产cpu平台固件无法正常的管理和驱动raid卡,目前国产平台已有解决方案如下:1:不支持在固件运行阶段配置管理raid卡,但可以进入操作系统后,利用qemu(quick emulator,虚拟操作系统模拟器)等虚拟机进行翻译并安装storecli,megacli等raid卡维护软件完成配置管理,比如cn111552512a中即采用此方式完成raid卡配置管理。
4.2:在固件运行阶段,通过外接移动存储设备,利用uefi(unified extensible firmware interface,统一可扩展固件接口)加载和运行该设备上的微型操作系统,在该微型操作系统中运行qemu等虚拟机,然后翻译并运行storecli等维护软件完成raid卡的配置管理,比如cn106909350a即采用此方式。
5.上述两种处理办法存在显著缺点:方案1缺点是无法在固件运行阶段完成raid卡配置,需要服务器上预装有操作系统和raid卡维护软件,增加商用成本;方案2虽然可以在固件运行阶段维护raid卡,但是需要额外提供移动存储设备和微操作系统,增加商用成本,微操作系统软件需要维护更新,增加维护难度。


技术实现要素:

6.为了在不额外提供移动存储设备和微操作系统的前提下在固件运行阶段完成raid卡配置以降低商用成本,本发明提供一种在国产处理器平台固件进行raid卡管理的方法,所述方法包括固件准备和固件运行两个阶段,其中,在固件准备阶段包含以下三个步骤:步骤1:提取模拟器的指令模拟功能最小集,包括软浮点库、目标指令模拟库和指令翻译模块tcg;步骤2:将所提取的模拟指令功能最小集封装成efi指令模拟器驱动,所述efi指令模拟器驱动对外提供的协议接口包含三个功能:

判断目标程序是否可被模拟器运行的接口功能;

将所述目标程序注册到模拟器的接口功能;

将所述目标程序从模拟器注销的接口功能;所述目标程序指raid卡内嵌的option rom程序;步骤3:将所述efi指令模拟器驱动集成到固件中;在固件运行阶段包括:步骤一:加载所述efi指令模拟器驱动;步骤二:通过pci接口协议识别raid卡后,加载raid卡的option rom程序;步骤三:使用所述efi指令模拟器驱动提供的协议接口判断option rom程序是否可以被模拟器运行;如果可以,则执行步骤四;步骤四:将option rom程序注册到所述efi指令模拟器驱动;步骤五:所述efi指令模拟器驱动将option rom程序指令模拟翻译为国产处理器平台的指令并运行option rom程序;步骤六:在显示器配置菜单中生成raid卡的配置选项;步骤七:用户通过键盘操作进入raid卡配置选项完成raid卡的配置管理。
7.可选的,所述方法在判断目标程序是否可被模拟器运行时,包括:判断所述模拟器是否可以模拟运行所述目标程序的指令类型;若所述模拟器可以模拟运行所述目标程序的指令类型,则判断所述目标程序可被模拟器运行;否则,判断为所述目标程序不可被模拟器运行。
8.可选的,所述方法将所述目标程序注册到模拟器包括:将要运行的目标程序存放在模拟器定义好的内存空间;所述方法将所述目标程序从模拟器注销包括将所述目标程序从模拟器定义的内存空间中清除。
9.可选的,所述方法将所提取的模拟指令功能最小集封装成efi指令模拟器驱动时,需设定封装后的efi指令模拟器大小小于1m字节。
10.可选的,所述模拟器为qemu、unicorn或renode。
11.可选的,所述软浮点库包括fpu相关文件。
12.可选的,所述目标指令模拟库包括target/i386相关文件。
13.可选的,所述指令翻译模块tcg包括tcg相关文件。
14.本发明有益效果是:通过提取指令模拟最小集功能并封装为efi驱动,通过指令模拟驱动的集成,运行raid卡内嵌的驱动管理程序,所以不需要额外预装操作系统或者提供其它移动设备及系统来管理raid卡,节约了成本;同时,现有技术使用raid卡维护软件来管理,一旦采用最新的raid卡硬件,则可能因为兼容性问题导致原有的维护软件无法使用,而本发明通过运行raid卡内嵌的option rom程序避免了该问题,该内嵌程序由raid卡厂商提供,后续不存在兼容性问题。
附图说明
15.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
16.图1是本发明一个实施例提供的在国产处理器平台固件进行raid卡管理的方法流程图。
17.图2是本发明一个实施例提供的efi指令模拟器驱动的组成形式示意图。
具体实施方式
18.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
19.技术名词解释:qemu:一款模拟处理器软件raid卡:磁盘阵列管理卡,这里指的是可提供磁盘阵列扩展管理功能的硬件适配卡。
20.efi:可扩展固件接口,efi驱动是可以被动态加载和执行的程序。
21.pci:一种高速的扩展接口,raid卡采用该接口和主机对接。
22.option rom程序:内嵌在raid卡rom存储内的一段efi程序,用于raid卡的配置管理,一般基于x86指令集。
23.guid:唯一标识efi驱动的id,为16个字节大小的16进制数。
24.实施例一:本实施例提供一种在国产处理器平台固件进行raid卡管理的方法,以基于qemu模拟器实现为例,参见图1,该方法包括固件准备和固件运行两个阶段,其中,在固件准备阶段包含三个步骤:步骤1:基于qemu模拟器,提取指令模拟功能最小集,包括软浮点库、目标指令模拟库和指令翻译模块tcg等,如图2所示;具体的,提取软浮点库源码用于模拟cpu的浮点运算,例如fpu相关文件;提取目标指令模拟源码用于指令解析,典型的为x86指令架构,例如target/i386相关文件;提取指令翻译模块tcg用于指令模拟,例如tcg相关文件。
25.步骤2:将所提取的模拟指令功能最小集封装成efi指令模拟器驱动,考虑目前用的国产申威整机的bios是3m大小,里面的程序已经占用约2m,要再把指令模拟驱动集成进去,至少要小于1m才可以集成,因此本技术方法在实现时设定efi指令模拟器驱动大小小于1m字节,且所述efi指令模拟器驱动对外提供协议接口,所述协议接口包含三个功能:

判断目标程序是否可被模拟器运行的接口功能,可以根据目标程序指令类型是否可被模拟器模拟进行判断,比如,若目标程序的指令类型为x86指令,则判断模拟器是否可模拟该类型的指令;

通过将要运行的目标程序存放在模拟器定义好的内存空间实现将程序注册到qemu模拟器的接口功能;

通过将该目标程序从模拟器指定内存空间清除实现将程序从qemu模拟器注销的接口功能;此处目标程序指raid卡内嵌的option rom程序。
26.在编写efi驱动对外的协议接口时,需编辑的文件包括用于定义该驱动的名称的inf文件,用于定义驱动入口函数等的guid文件等。
27.步骤3:将所述efi指令模拟驱动集成到固件中;在固件运行阶段包括:步骤一:加载所述efi指令模拟驱动;步骤二:通过pci接口协议识别raid卡后,加载raid卡的option rom程序;步骤三:使用所述efi指令模拟驱动提供的协议接口判断option rom程序是否可以被模拟器运行;如果可以,则执行步骤四;步骤四:将option rom程序注册到所述efi指令模拟器驱动;步骤五:指令模拟器将option rom程序指令模拟翻译为国产处理器平台的指令并运行option rom程序;步骤六:在显示器配置菜单中生成raid卡的配置选项;步骤七:用户通过键盘操作进入该raid卡配置选项完成raid卡的配置管理。
28.本技术方法中,模拟器可以是qemu模拟器、unicorn模拟器或renode模拟器。
29.本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
30.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献