The invention discloses a method for processing a DMA read operation, which is applied to constitute the FPGA PCI E cipher card, based on DMA: from the read operation command for PCI E memory read request; to each of the PCI E memory read request for the smallest unit, to obtain the PCI E memory read request completion message to should the DMA read operation command; judging whether the processing is complete, if not, according to a preset rule read completion message to another PCI E memory read request and obtain the corresponding. The processing method to each PCI E read request message for the smallest unit direct access to the PCI E read request corresponding to the relationship, the performance of PCI full duplex E protocol to play more fully and without the two matching process and symmetric algorithm for optimal performance. The application also discloses a processing system and a related device for the DMA reading operation at the same time, which has the beneficial effect.
【技术实现步骤摘要】
一种DMA读操作的处理方法、系统及相关装置
本申请涉及计算机信息安全通信
,特别涉及一种DMA读操作的处理方法、系统、PCI-E密码卡以及计算机可读存储介质。
技术介绍
随着数字办公化的普及,如何对数字办公中产生的机密数据文件进行保存是当今研究的重点,主要存在软件加密和硬件加密的两种方式,其中,硬件加密通常是采用密码卡,旨在通过密码卡中包含多种加密算法对机密数据文件进行加密。当前密码卡接口协议主要采用PCI(PeripheralComponentInterconnect,外设部件互连标准)和PCI-E(peripheralcomponentinterconnectexpress串行计算机扩展总线标准)为主,目前高端性能的密码卡主要是采用FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)平台的PCI-E密码卡。由于PCI-E协议本身存在“序”的要求,包含于同一读操作命令中的多个读请求对应的完成报文会乱序返回,即无法按照每个读请求的顺序对应返回匹配的完成报文,必须等待该读操作命令中所有读请求对应的完成报文全部接收完成后才能进行匹配运算,无法发挥PCI-E协议的全双工性能优势,对称算法性能无法达到最优。所以,如何提供一种不以读操作命令为最小单位,充分发挥PCI-E协议的全双工性能、对称算法性能可以达到最优的应用于PCI-E密码卡的DMA(DirectMemoryAccess,直接内存存取)读操作处理机制是本领域技术人员亟待解决的问题。
技术实现思路
本申请的目的是提供一种DMA读操作的处理方法、系统、PCI-E密码卡以及计算 ...
【技术保护点】
一种DMA读操作的处理方法,应用于基于FPGA构成的PCI‑E密码卡,其特征在于,包括:从DMA读操作命令中获取PCI‑E存储器读请求;其中,每个所述PCI‑E存储器读请求具有预设最大的读请求字节长度,且每个所述PCI‑E存储器读请求对应有预设最大数量的完成报文,各所述完成报文均具有预设最大的报文字节长度;以每个PCI‑E存储器读请求为最小单位,获取所述PCI‑E存储器读请求对应的全部完成报文;当所述PCI‑E存储器读请求对应的完成报文全部接收完毕时,判断所述DMA读操作命令是否均处理完成,若否,则按预设规则读取另一PCI‑E存储器读请求并获取其对应的完成报文,以使在顺序接收所述完成报文的情况下充分利用PCI‑E协议的全双工性能。
【技术特征摘要】
1.一种DMA读操作的处理方法,应用于基于FPGA构成的PCI-E密码卡,其特征在于,包括:从DMA读操作命令中获取PCI-E存储器读请求;其中,每个所述PCI-E存储器读请求具有预设最大的读请求字节长度,且每个所述PCI-E存储器读请求对应有预设最大数量的完成报文,各所述完成报文均具有预设最大的报文字节长度;以每个PCI-E存储器读请求为最小单位,获取所述PCI-E存储器读请求对应的全部完成报文;当所述PCI-E存储器读请求对应的完成报文全部接收完毕时,判断所述DMA读操作命令是否均处理完成,若否,则按预设规则读取另一PCI-E存储器读请求并获取其对应的完成报文,以使在顺序接收所述完成报文的情况下充分利用PCI-E协议的全双工性能。2.根据权利要求1所述的处理方法,其特征在于,从DMA读操作命令中获取PCI-E存储器读请求,包括:从DMA读寄存器中获取所述DMA读操作命令;根据所述DMA读操作命令和最大已读请求的数值,读取出所述PCI-E存储器读请求。3.根据权利要求1或2所述的处理方法,其特征在于,以每个PCI-E存储器读请求为最小单位,获取所述PCI-E存储器读请求对应的全部完成报文,包括:每得到所述PCI-E存储器读请求对应的一个完成报文,获取所述完成报文的报文字节长度;将当前得到的所有完成报文各自的报文字节长度进行求和运算,得到当前报文字节长度和;判断所述当前报文字节长度和是否与所述PCI-E存储器读请求对应的读请求字节长度等同;若否,则继续接收所述PCI-E存储器读请求对应的完成报文,直至所述当前报文字节长度和与所述读请求字节长度等同。4.根据权利要求3所述的处理方法,其特征在于,还包括:将得到的所述完成报文存放在FIFO的预设位置;利用所述FIFO非空时的特性进行状态判断,以供PCI-E密码卡后续调用算法执行运算操作。5.一种DMA读操作的处理系统,应用于基于FPGA构成的PCI-E密码卡,其特征在于,包括:获取单元,用于从DMA读操作命令中获取PCI-E存储器读请求;其中,每个所述PCI-E存储器读请求具有预设最大的读请求字节长度,且每个所述PCI...
【专利技术属性】
技术研发人员:王志华,宋志华,徐波,
申请(专利权)人:山东渔翁信息技术股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。