基于国产处理器平台的Raid卡固件层初始化方法技术

技术编号:21604959 阅读:82 留言:0更新日期:2019-07-13 18:02
本发明专利技术公开了一种基于国产处理器平台的Raid卡固件层初始化方法,步骤一、判断驱动是否能在RAID卡上运行;步骤二、配置RAID卡相关寄存器;步骤三、查询RAID卡所需要的DMA资源,进行资源分配;步骤四、与RAID卡的firmware进行数据交互,判断RAID卡的状态,当RAID卡处于就绪的状态时,可以继续命令交互;步骤五、进行基本信息查询,查询RAID卡的基本信息,包括RAID卡控制器型号、firmware版本信息、硬盘信息、RAID模式信息等;步骤六、根据得到的RAID卡信息,建立基本的命令队列,供SCSI命令层使用;步骤七、建立SCSI层命令接口;步骤八、建立UEFI命令接口。本发明专利技术提供的方法能在国产处理器X86和非X86平台上进行RAID卡的固件层驱动。

Initialization Method of Raid Card Firmware Layer Based on Domestic Processor Platform

【技术实现步骤摘要】
基于国产处理器平台的Raid卡固件层初始化方法
本专利技术涉及计算机领域,其主要
技术实现思路
是基于国产处理器平台的Raid卡固件层初始化方法。
技术介绍
磁盘阵列(RAID)是RedundantArraysofIndependentDisks的缩写,磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。存储服务器的RAID功能一般需要独立的RAID卡来支持,用户将硬盘连接到RAID卡上,通过RAID卡来组成各种RAID阵列。目前国内和国际的商用RAID卡一般是为了X86平台的服务器或者台式机来设计的。在X86平台上,RAID卡初始化时,首先会在BIOS阶段运行RAID卡内部的固件。但是,商用RAID卡中的固件是为了X86平台设计的,并且仅适用于X86平台。目前国产处理器平台如龙芯、申威、飞腾等都是非X86架构,RAID卡的固件无法在这些平台上运行,且目前国产处理器X86平台上只有操作系统层的RAID卡驱动,并没有固件层的RAID卡驱动。因此我们需要加载RAID卡国产计算平台专用驱动来解决这个问题。
技术实现思路
为解决上述问题,本专利技术提供了一种基于国产处理器平台的Raid卡固件层初始化方法,该方法能在国产处理器X86和非X86平台上进行RAID卡的固件层驱动,可以实现在国产处理器X86和非X86平台固件层上初始化RAID卡,可以在BIOS里识别RAID卡中的数据,这样用户可以在RAID卡中安装操作系统和进行更多的固件层数据操作。为解决上述技术问题,本专利技术提供如下技术方案:一种基于国产处理器平台的Raid卡固件层初始化方法,该方法包括以下步骤:步骤一、判断驱动是否能在RAID卡上运行;步骤二、配置RAID卡相关寄存器;步骤三、查询RAID卡所需要的DMA资源,进行资源分配;步骤四、与RAID卡的firmware进行数据交互,判断RAID卡的状态,当RAID卡处于就绪的状态时,可以继续命令交互;步骤五、进行基本信息查询,查询RAID卡的基本信息,包括RAID卡控制器型号、firmware版本信息、硬盘信息、RAID模式信息;步骤六、根据得到的RAID卡信息,建立基本的命令队列,供SCSI命令层使用;步骤七、建立SCSI层命令接口;步骤八、建立UEFI命令接口。优选地,所述方法的实现主体是RAID卡的固件层驱动。优选地,所述RAID卡的固件层驱动包括三个部分:UEFI接口层、SCSI命令层、RAID卡接口层。优选地,所述RAID卡接口层首先检测RAID卡的厂商号和设备号,判断RAID卡是否满足当前驱动的需求;而后配置RAID卡的相关寄存器,使RAID卡可以进行正常的PCI访问;而后会查询RAID卡所需要的DMA资源,进行资源分配;最后会与RAID卡的firmware进行数据交互,判断RAID卡的状态,当RAID卡处于就绪的状态时,可以继续命令交互;在命令交互过程中,首先会进行基本信息查询,查询RAID卡的基本信息,包括RAID卡控制器型号、firmware版本信息、硬盘信息、RAID模式信息;然后根据得到的RAID卡信息,建立基本的命令队列,供SCSI命令层使用。优选地,所述SCSI命令层根据RAID卡接口层提供的命令队列,建立SCSI规范中要求的SCSI命令。优选地,所述UEFI接口层通过SCSI命令层获得具体的RAID信息,所述RAID信息包括RAID阵列的数量与大小。优选地,所述方法能够对目前常见的国产处理器X86和非X86平台上的RAID卡进行固件层初始化。优选地,所述方法能够支持RAID0/1/5的RAID模式,进行数据读写操作。优选地,所述方法可以方便的在各国产处理器X86和非X86平台上进行移植和扩展,进而支持较新的RAID卡。本专利技术的有益效果:本专利技术提供的一种基于国产处理器平台的Raid卡固件层初始化方法,能在国产处理器X86和非X86平台上进行RAID卡的固件层驱动,可以实现在国产处理器X86和非X86平台固件层上初始化RAID卡,可以在BIOS里识别RAID卡中的数据,这样用户可以在RAID卡中安装操作系统和进行更多的固件层数据操作。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显。图1是本专利技术一种基于国产处理器平台的Raid卡固件层初始化方法固件RAID驱动架构图。图2是本专利技术一种基于国产处理器平台的Raid卡固件层初始化方法固件RAID驱动执行流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。请参阅图1-2:一种基于国产处理器平台的Raid卡固件层初始化方法,所述方法的实现主体是RAID卡的固件层驱动,能够对在国产处理器X86和非X86平台上的RAID卡进行初始化;RAID卡的固件层驱动包括三个部分:UEFI接口层、SCSI命令层、RAID卡接口层;(1)RAID卡接口层:RAID卡接口层,首先检测RAID卡的厂商号和设备号,判断RAID卡是否满足当前驱动的需求;而后配置RAID卡的相关寄存器,使RAID卡可以进行正常的PCI访问;而后会查询RAID卡所需要的DMA资源,进行资源分配;最后会与RAID卡的firmware进行数据交互,判断RAID卡的状态,当RAID卡处于就绪的状态时,可以继续命令交互;在命令交互过程中,首先会进行基本信息查询,查询RAID卡的基本信息,包括RAID卡控制器型号、firmware版本信息、硬盘信息、RAID模式信息等;然后根据得到的RAID卡信息,建立基本的命令队列,供SCSI命令层使用;(2)SCSI命令层:SCSI命令层会根据RAID卡接口层提供的命令队列,建立SCSI规范中要求的SCSI命令,包括start、shutdown、open、close、read、write等接口;(3)UEFI接口层:UEFI接口层会通过SCSI命令层获得具体的RAID信息,包括RAID阵列的数量与大小等;UEFI规范中对于BIOS中硬盘类设备有接口要求,因此RAID卡驱动必须要满足相关接口。UEFI接口层会为每个RAID阵列建ReadBlocks、WriteBlocks、FlushBlocks等BLOCKIO所要求的接口。本专利技术固件层RAID驱动的具体实施方法主要步骤如下:步骤一、判断驱动是否能在RAID卡上运行;步骤二、配置RAID卡相关寄存器;步骤三、查询RAID卡本文档来自技高网...

【技术保护点】
1.一种基于国产处理器平台的Raid卡固件层初始化方法,其特征在于,该方法包括以下步骤:步骤一、判断驱动是否能在RAID卡上运行;步骤二、配置RAID卡相关寄存器;步骤三、查询RAID卡所需要的DMA资源,进行资源分配;步骤四、与RAID卡的firmware进行数据交互,判断RAID卡的状态,当RAID卡处于就绪的状态时,可以继续命令交互;步骤五、进行基本信息查询,查询RAID卡的基本信息,包括RAID卡控制器型号、firmware版本信息、硬盘信息、RAID模式信息;步骤六、根据得到的RAID卡信息,建立基本的命令队列,供SCSI命令层使用;步骤七、建立SCSI层命令接口;步骤八、建立UEFI命令接口。

【技术特征摘要】
1.一种基于国产处理器平台的Raid卡固件层初始化方法,其特征在于,该方法包括以下步骤:步骤一、判断驱动是否能在RAID卡上运行;步骤二、配置RAID卡相关寄存器;步骤三、查询RAID卡所需要的DMA资源,进行资源分配;步骤四、与RAID卡的firmware进行数据交互,判断RAID卡的状态,当RAID卡处于就绪的状态时,可以继续命令交互;步骤五、进行基本信息查询,查询RAID卡的基本信息,包括RAID卡控制器型号、firmware版本信息、硬盘信息、RAID模式信息;步骤六、根据得到的RAID卡信息,建立基本的命令队列,供SCSI命令层使用;步骤七、建立SCSI层命令接口;步骤八、建立UEFI命令接口。2.根据权利要求1所述的一种基于国产处理器平台的Raid卡固件层初始化方法,其特征在于:所述方法的实现主体是RAID卡的固件层驱动。3.根据权利要求2所述的一种基于国产处理器平台的Raid卡固件层初始化方法,其特征在于:所述RAID卡的固件层驱动包括三个部分:UEFI接口层、SCSI命令层、RAID卡接口层。4.根据权利要求3所述的一种基于国产处理器平台的Raid卡固件层初始化方法,其特征在于:所述RAID卡接口层首先检测RAID卡的厂商号和设备号,判断RAID卡是否满足当前驱动的需求;而后配置RAID卡的相关寄存器,使RAID卡可以进行正常的PCI访问;而后会查询RAID卡所需要的DMA资源,进行资源分配;最后会与RAI...

【专利技术属性】
技术研发人员:陈小春王亚洲张超朱立森
申请(专利权)人:中电科技北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1