一种多算法核高性能SR-IOV加解密系统及方法技术方案

技术编号:34693509 阅读:8 留言:0更新日期:2022-08-27 16:28
本发明专利技术公开了一种多算法核高性能SR

【技术实现步骤摘要】
一种多算法核高性能SR

IOV加解密系统及方法


[0001]本专利技术涉及加解密芯片
,尤其涉及一种多算法核高性能SR

IOV加解密系统及方法。

技术介绍

[0002]在PCIe加解密多算法核芯片中,PCIE虚拟化加密卡的加解密性能和效率变得尤为重要。
[0003]上位机使用查询的方式去检查芯片加解密工作的完成状态是低效的,加解密性能不高;使用MSI

X中断的方式,来报告芯片算法完成状态,芯片内部硬件设计会比较复杂,增大芯片面积,芯片内部及上位机PCIe驱动设计也会比较复杂,导致实现通知状态的功能的研发成本较高。
[0004]使用MSI中断的方式,来报告芯片算法完成状态,就会简单些;在PCIe设备驱动程序开发时,有时需要Mask Bits和Pending Bits字段配合防止处理器丢失中断请求。在上位机可用连续中断数较少时,当多个算法IP核在几乎同时产生多个MSI中断时,由于PCIe系统中断处理延时,还是会存在MSI中断丢失的情形,按照常规的方式去使用MSI中断,中断延时较大,会使得上位机CPU处理MSI中断的负载较重,PCIe加解密的性能效率会大大降低。
[0005]单根I/O虚拟化的中断通知开销很大,这是因为在处理中断的时候,虚拟机监视器仍然要介入其中,这就是中断虚拟化。由于物理中断处理和对虚拟中断控制器操作的陷入模拟,整个中断的过程包含了高频率的上下文切换,导致中断处理的路径变得很长。同时,在单根I/O虚拟化的环境下,中断的频率会随着虚拟机数量的增加而线性增长,因为每个虚拟功能加密卡都会独立地产生中断。
[0006]在虚拟化环境下,处理一次中断所花费的代价比原生机器要高很多。与原生机器在中断处理路径上只要做两次上下文切换不同,中断虚拟化有着更长的处理路径,包括了在虚拟机监视器和虚拟机之间的上下文切换。虚拟中断的过程是,第一次物理中断会被虚拟机监视器中的中断服务程序处理,然后一个虚拟的中断会被植入到虚拟机的中断服务程序中。在虚拟机中断服务程序的执行过程中,由于虚拟中断控制器的陷入模拟,还会有几次上下文切换。很明显可以看出,在虚拟化环境下的中断处理开销比原生机器要高非常多。事实上,SR

IOV加密卡中大量的中断处理反而增加了额外的延迟并且对高速加解密产生了不必要的负面影响。
[0007]在目前市场上,有的PCIe接口SR

IOV加密卡中,使用的客户机VF驱动程序必须和底层的VF硬件绑定,分配给客户机VM的算法IP核是固定的,当客户机没有使用加解密功能时,会浪费算法IP核的算力,并且使得别的客户机VM加解密性能受到影响,不够灵活;客户机通过VF获取密码设备资源,完成密码运算操作。由于VF之间相互隔离,因此每台虚拟密码机执行密码运算时互不影响。由于SR

IOV加密卡共享硬件资源,当同一时间内,多个算法IP核发出大量中断请求时,会造成主机不能及时处理中断请求,因此需要优化处理。

技术实现思路

[0008]本专利技术的目的在于提供一种多算法核高性能SR

IOV加解密系统及方法,从而解决现有技术中存在的前述问题。
[0009]为了实现上述目的,本专利技术采用的技术方案如下:
[0010]一种多算法核高性能SR

IOV加解密系统,包括主机、带有多算法IP核的PCIE芯片以及若干客户机,主机和客户机之间创建有对应的共享内存,所述主机包括VF算法核管理器和PF驱动,所述带有多算法IP核的PCIE芯片包括设置有VF信箱中断寄存器、算法IP核中断状态寄存器和算法IP核空闲状态寄存器的算法控制器,所述PF驱动负责从所述PCIE芯片的VF信箱中断寄存器和算法IP核中断状态寄存器中接收VF信箱MSI中断信号及算法IP核完成MSI中断信号,并将算法IP核完成状态发送给主机的所述VF算法核管理器;所述VF算法核管理器负责配置和管理算法IP核及客户机的VF,用于将算法IP核完成状态消息写入到对应的客户机中的共享内存消息队列中,所述客户机通过共享内存消息队列获取算法IP核运行完成状态,从而实现客户机中创建的线程被唤醒后完成加解密操作程序。
[0011]优选的,所述VF信箱中断寄存器具有读操作清零属性,与VF信箱的中断输出信号相连接,每个比特位连接到一个VF信箱,当客户机X将共享内存VFDev地址信息写入到VFx信箱寄存器中后,产生高电平给VF信箱中断寄存器的X比特位,上位主机PF驱动在MSI ISR中读取PCIe加解密芯片的VF信箱中断寄存器时,得到比特位X值是1,随后该X比特位会变成低电平,即比特位X的值变成了0;
[0012]所述算法IP核空闲状态寄存器中的每个算法IP核对应到其中的一个比特位,当有算法核X产生加解密业务时,对应的X比特位清除成0,表示繁忙状态;当某个算法IP核X产生作业完成状态时,其对应的比特位X会被置成1,表示空闲可用状态;
[0013]所述算法IP核中断状态寄存器具有读操作清零属性,与算法IP核的中断输出信号相连接,每个比特位对应一个算法IP核,当算法IP核X完成作业操作时,输出高电平给算法IP核中断状态寄存器的X比特位,当算法IP核中断状态寄存器中某个算法IP核X对应的比特位X处于高电平时,PCIE芯片内的算法控制器读出算法IP核X的中断向量号并写入到MSI中断向量号寄存器中,每个算法IP核按特权域主机系统分配的中断向量号实时地产生MSI消息中断请求给主机,由主机PF驱动MSIISR统一处理算法IP核的完成状态中断,通知上位主机PF驱动芯片算法内核已完成加解密操作。
[0014]优选的,PCIe加解密芯片主机PF驱动软件会从PCIe配置空间的MSI相关寄存器中读取PCIe加解密芯片的PCIe3.0核的MSI Message Control寄存器中的Multiple Message Enable字段,获取本PCIe加解密芯片主机PF可以使用的连续的中断个数。
[0015]优选的,所述共享内存是指客户机X的VFDev指向共享消息VF_Dev_ShareMsg结构类型的内存缓冲区,其中共享消息结构包括对应的客户机编号dom_index,加解密VF优先级propriety,对应的加解密VF编号vf_index,加解密线程数thread_Num,加解密VF请求算法IP核消息AlgKernal_Req_Msg以及算法IP核完成状态消息AlgKernal_Done_Msg。
[0016]本专利技术的另一个目的在于提供一种多算法核高性能SR

IOV加解密方法,基于所述的多算法核高性能SR

IOV加解密系统实现,包括以下步骤:
[0017]S1,主机PF驱动SR

IOV加解密系统初始化,此时所有算法IP核均为空闲状态;创建客户机m,并分配其使用对应的加密卡VFm;初始化所述客户机m及其VF驱动,分配其与PF驱
动通信的共享内存VF本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多算法核高性能SR

IOV加解密系统,其特征在于,包括主机、带有多算法IP核的PCIE芯片以及若干客户机,主机和客户机之间创建有对应的共享内存,所述主机包括VF算法核管理器和PF驱动,所述带有多算法IP核的PCIE芯片包括设置有VF信箱中断寄存器、算法IP核中断状态寄存器和算法IP核空闲状态寄存器的算法控制器,所述PF驱动负责从所述PCIE芯片的VF信箱中断寄存器和算法IP核中断状态寄存器中接收VF信箱MSI中断信号及算法IP核完成MSI中断信号,并将算法IP核完成状态发送给主机的所述VF算法核管理器;所述VF算法核管理器负责配置和管理算法IP核及客户机的VF,用于将算法IP核完成状态消息写入到对应的客户机中的共享内存消息队列中,所述客户机通过共享内存消息队列获取算法IP核运行完成状态,从而实现客户机中创建的线程被唤醒后完成加解密操作程序。2.根据权利要求1所述的多算法核高性能SR

IOV加解密系统,其特征在于,所述VF信箱中断寄存器具有读操作清零属性,与VF信箱的中断输出信号相连接,每个比特位连接到一个VF信箱,当客户机X将共享内存VFDev地址信息写入到VFx信箱寄存器中后,产生高电平给VF信箱中断寄存器的X比特位,上位主机PF驱动在MSI ISR中读取PCIe加解密芯片的VF信箱中断寄存器时,得到比特位X值是1,随后该X比特位会变成低电平,即比特位X的值变成了0;所述算法IP核空闲状态寄存器中的每个算法IP核对应到其中的一个比特位,当有算法核X产生加解密业务时,对应的X比特位清除成0,表示繁忙状态;当某个算法IP核X产生作业完成状态时,其对应的比特位X会被置成1,表示空闲可用状态;所述算法IP核中断状态寄存器具有读操作清零属性,与算法IP核的中断输出信号相连接,每个比特位对应一个算法IP核,当算法IP核X完成作业操作时,输出高电平给算法IP核中断状态寄存器的X比特位,当算法IP核中断状态寄存器中某个算法IP核X对应的比特位X处于高电平时,PCIE芯片内的算法控制器读出算法IP核X的中断向量号并写入到MSI中断向量号寄存器中,每个算法IP核按特权域主机系统分配的中断向量号实时地产生MSI消息中断请求给主机,由主机PF驱动MSI ISR统一处理算法IP核的完成状态中断,通知上位主机PF驱动芯片算法内核已完成加解密操作。3.根据权利要求2所述的多算法核高性能SR

IOV加解密系统,其特征在于,PCIe加解密芯片主机PF驱动软件会从PCIe配置空间的MSI相关寄存器中读取PCIe加解密芯片的PCIe3.0核的MSI Message Control寄存器中的Multiple Message Enable字段,获取本PCIe加解密芯片主机PF可以使用的连续的中断个数。4.根据权利要求2所述的多算法核高性能SR

IOV加解密系统,其特征在于,所述共享内存是指客户机X的VFDev指向共享消息VF_Dev_ShareMsg结构类型的内存缓冲区,其中共享消息结构包括对应的客户机编号dom_index,加解密VF优先级propriety,对应的加解密VF编号vf_index,加解密线程数thread_Num,加解密VF请求算法IP核消息AlgKernal_Req_Msg以及算法IP核完成状态消息AlgKernal_Done_Msg。5.一种多算法核高性能SR

IOV加解密方法,基于权利要求1

4任一所述的多算法核高性能SR

IOV加解密系统实现,其特征在于,包括以下步骤:S1,主机PF驱动SR

IOV加解密系统初始化,此时所有算法IP核均为空闲状态;创建客户机m,并分配其使用对应的加密卡VFm;初始化所述客户机m及其VF驱动,分配其与PF驱动通信的共享内存VFDevm;客户机m通过VFm信箱,产生MSI中断,将共享内存地址VFDevm同步到主机PF驱动;
S2,所述客户机m通过共享内存VFDevm向主机请求当前可用的算法IP核X,创建加解密线程Thread_m_X,同时创建用于获取算法IP核X请求结果的客户机内核RTOS算法线程间完成状态通信的消息队列VM_m_Thread_Msg_Q及VM_m_ReqAlgKernal_Msg_Q;S3,待VM_m_Thread_Msg_Q获取到算法IP核X的完成状态消息,则唤醒加解密线程Thread_m_X,完成PCIE加密芯片算法控制器执行加解密过程;S4,待该加解密操作完成后将算法IP核空闲状态寄存器中的X比特位设置为1,算法IP核中断状态寄存器对应的X比特位为高电平,产生MSI消息中断给主机PF驱动,从而实现每个算法IP核按主机分配的中断向量号实时产生MSI消息中断请求给主机,由主机PF驱动MSI ISR统一处理算法IP核的完成状态中断。6.根据权利要求5所述的多算法核高性能SR

IOV加解密方...

【专利技术属性】
技术研发人员:颜昕明何军王亮
申请(专利权)人:广州万协通信息技术有限公司
类型:发明
国别省市:

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

1