一种DMA读操作的处理方法、系统及相关装置制造方法及图纸

技术编号:17047789 阅读:27 留言:0更新日期:2018-01-17 17:43
本申请公开了一种DMA读操作的处理方法,应用于基于FPGA构成的PCI‑E密码卡,包括:从DMA读操作命令中获取PCI‑E存储器读请求;以每个PCI‑E存储器读请求为最小单位,获取PCI‑E存储器读请求对应的全部完成报文;判断DMA读操作命令是否均处理完成,若否,则按预设规则读取另一PCI‑E存储器读请求并获取其对应的完成报文。该处理方法以每个PCI‑E读请求为最小单位直接获得该PCI‑E读请求对应的完成报文,对应关系明显、PCI‑E协议的全双工性能发挥更充分、无需二次匹配流程以及对称算法性能最优。本申请还同时公开了一种DMA读操作的处理系统及相关装置,具有上述有益效果。

A processing method, system and related device for DMA reading operation

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密码卡以及计算机可读存储介质,其应用于基于FPGA构成的PCI-E密码卡,以每个PCI-E读请求为最小单位直接获得该PCI-E读请求对应的完成报文,完成报文对应关系明显、PCI-E协议的全双工性能发挥更充分、无需二次匹配流程以及对称算法性能最优。为解决上述技术问题,本申请提供一种DMA读操作的处理方法,应用于基于FPGA构成的PCI-E密码卡,该处理方法包括:从DMA读操作命令中获取PCI-E存储器读请求;其中,每个所述PCI-E存储器读请求具有预设最大的读请求字节长度,且每个所述PCI-E存储器读请求对应有预设最大数量的完成报文,各所述完成报文均具有预设最大的报文字节长度;以每个PCI-E存储器读请求为最小单位,获取所述PCI-E存储器读请求对应的全部完成报文;当所述PCI-E存储器读请求对应的完成报文全部接收完毕时,判断所述DMA读操作命令是否均处理完成,若否,则按预设规则读取另一PCI-E存储器读请求并获取其对应的完成报文,以使在顺序接收所述完成报文的情况下充分利用PCI-E协议的全双工性能。可选的,从DMA读操作命令中获取PCI-E存储器读请求,包括:从DMA读寄存器中获取所述DMA读操作命令;根据所述DMA读操作命令和最大已读请求的数值,读取出所述PCI-E存储器读请求。可选的,以每个PCI-E存储器读请求为最小单位,获取所述PCI-E存储器读请求对应的全部完成报文,包括:每得到所述PCI-E存储器读请求对应的一个完成报文,获取所述完成报文的报文字节长度;将当前得到的所有完成报文各自的报文字节长度进行求和运算,得到当前报文字节长度和;判断所述当前报文字节长度和是否与所述PCI-E存储器读请求对应的读请求字节长度等同;若否,则继续接收所述PCI-E存储器读请求对应的完成报文,直至所述当前报文字节长度和与所述读请求字节长度等同。可选的,该处理方法还包括:将得到的所述完成报文存放在FIFO的预设位置;利用所述FIFO非空时的特性进行状态判断,以供PCI-E密码卡后续调用算法执行运算操作。本申请还提供了一种DMA读操作的处理系统,应用于基于FPGA构成的PCI-E密码卡,该处理系统包括:获取单元,用于从DMA读操作命令中获取PCI-E存储器读请求;其中,每个所述PCI-E存储器读请求具有预设最大的读请求字节长度,且每个所述PCI-E存储器读请求对应有预设最大数量的完成报文,各所述完成报文均具有预设最大的报文字节长度;操作执行单元,用于以每个PCI-E存储器读请求为最小单位,获取所述PCI-E存储器读请求对应的全部完成报文;处理单元,用于当所述PCI-E存储器读请求对应的完成报文全部接收完毕时,判断所述DMA读操作命令是否均处理完成,若否,则按预设规则读取另一PCI-E存储器读请求并获取其对应的完成报文,以使在顺序接收所述完成报文的情况下充分利用PCI-E协议的全双工性能。可选的,所述获取单元包括:读操作获取子单元,用于从DMA读寄存器中获取所述DMA读操作命令;存储器读请求读取子单元,用于根据所述DMA读操作命令和最大已读请求的数值,读取出所述PCI-E存储器读请求。可选的,所述操作执行单元包括:报文字节长度获取子单元,用于每得到所述PCI-E存储器读请求对应的一个完成报文,获取所述完成报文的报文字节长度;报文字节长度和获取子单元,用于将当前得到的所有完成报文各自的报文字节长度进行求和运算,得到当前报文字节长度和;长度相同判断子单元,用于判断所述当前报文字节长度和是否与所述PCI-E存储器读请求对应的读请求字节长度等同;未完成子单元,用于继续接收所述PCI-E存储器读请求对应的完成报文,直至所述当前报文字节长度和与所述读请求字节长度等同。可选的,该处理系统还包括:FIFO存放单元,用于将得到的所述完成报文存放在FIFO的预设位置;特性判断单元,用于利用所述FIFO非空时的特性进行状态判断,以供PCI-E密码卡后续调用算法执行运算操作。本申请还提供了一种基于FPGA构成的PCI-E密码卡,该PCI-E密码卡包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述内容所述的DMA读操作的处理方法的步骤。本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所述的DMA读操作的处理方法的步骤。本申请所提供的一种DMA读操作的处理方法,应用于基于FPGA构成的PCI-E密码卡,从DMA读操作命令中获取PCI-E存储器读请求;以每个PCI-E存储器读请求为最小单位,获取所述PCI-E存储器读请求对应的全部完成报文;当所述PCI-E存储器读请求对应的完成报文全部接收完毕时,判断所述DMA读操作命令是否均处理完成,若否,则按预设规则读取另一PCI-E存储器读请求并获取其对应的完成报文,以使在顺序接收所述完成报文的情况下充分利用PCI-E协议的全双工性能。显然,本申请所提供的技术方案,以每个PCI-E读请求为最小单位直接获得该PCI-E读请求对应的完成报文,完成报文的对应关系十分明显、在特殊数据环境下加快了该PCI-E密码卡的运算算法、无需二次匹配流程,且PCI-E协议的全双工性能发挥更充分、对称算法性能最优。本申请同时还提供了一种DMA读操作的处理系统、PCI-E密码卡以及计算机可读存储介质,具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文档来自技高网...
一种DMA读操作的处理方法、系统及相关装置

【技术保护点】
一种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

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

1