买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:山东华翼微电子技术股份有限公司
摘要:本发明公开了一种基于PCIeXDMA实现多进程并发的方法,属于密码卡及数据加密技术领域,其从底层FPGA硬件逻辑、驱动程序和上位机应用程序三个部分进行设计,通过FPGA硬件编程设计了多个不同的密码算法模块,多个密码算法模块之间并行运行,实现了以数据包为单位的数据分发和密码运算;驱动程序在FPGA逻辑程序的基础上进行了XDMAIP核DPDK的实现,提供了逻辑上多个写通道的支持;应用程序以驱动实现为基础,实现了整个读写逻辑上的多通道支持,保障多个应用程序进程能够并发访问PCIe密码卡;本发明既满足了多进程并发的需求,又充分利用了FPGA硬件实现密码运算的速度优势,提升了系统的密码运算速度。
主权项:1.一种基于PCIeXDMA实现多进程并发的方法,用于密码卡系统,其特征在于,所述密码卡系统包括主机和连接在所述主机上的密码卡,所述主机上安装有DPDK,所述密码卡上设有采用XDMA的FPGA,其中,所述FPGA包括依次连接的H2CDMA传输通道、数据包解析模块、密码算法调度模块、密码算法模块、数据包整合模块和C2HDMA传输通道,所述密码算法模块为多个且并行运行;所述XDMA表示Xilinx系列FPGA中官方自带的PCIE高级IP;所述DMA表示直接存储器访问;所述H2C表示主机到板卡;所述C2H表示板卡到主机;所述FPGA上的逻辑程序执行的方法包括:步骤10:H2CDMA传输通道收到主机上的应用程序经DPDK驱动程序发来的数据包后,经数据包解析模块对数据包进行解析和过滤;其中,所述数据包分为包头和数据两部分,在包头中定义了proc_seq和enc_seq两个字段,分别代表应用程序进程的序列号和要调用的密码算法模块的序列号;所述DPDK驱动程序执行的方法包括:步骤20:发送端DPDK驱动程序在发送函数开始处添加锁,当其中一个通道的发送进入临界区后,其他通道会在入口处等待,直到前一个发送结束退出临界区释放锁后,下一个通道的数据才继续发送;同时,DPDK驱动程序有对应的DMA描述符,数据存储单元是缓存区mbuf,将每一个mbuf与DMA描述符进行关联;步骤11:符合格式要求的数据包,被送入密码算法调度模块,密码算法调度模块以数据包为单位,将数据包中的数据按enc_seq字段的序列号分发给对应的密码算法模块;其中,每个密码算法模块被预先赋予唯一的序列号,对应数据包报文中的enc_seq字段;步骤12:密码算法模块对数据包进行运算;步骤13:经过密码算法模块处理后的数据包,报文中的proc_seq字段和enc_seq字段保持不变,经数据包整合模块处理后通过C2HDMA传输通道经DPDK驱动程序发送给上位机软件。
全文数据:
权利要求:
百度查询: 山东华翼微电子技术股份有限公司 基于PCIe XDMA实现多进程并发的方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。