[发明专利]PCI‑E零拷贝DMA数据传输方法有效
申请号: | 201410472223.8 | 申请日: | 2014-09-16 |
公开(公告)号: | CN104239249B | 公开(公告)日: | 2017-08-04 |
发明(设计)人: | 陈训逊;周游;包秀国;谢铭;薛晨;周康成;周渊 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心;北京赛思信安技术有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京永创新实专利事务所11121 | 代理人: | 祗志洁 |
地址: | 100029*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种PCI‑E零拷贝DMA数据传输方法,属于PCI‑E数据传输技术领域。本方法首先在数据源和数据目的系统中各自分配适当大小的物理内存,并分别对两个系统中分配的物理内存使用双向链表建立空闲内存池和工作内存池;在数据源系统上,用户应用程序传输数据时,从空闲内存池取得空闲内存后直接进行数据填充,数据填充完后传输给数据目的系统;在数据目的系统,将接收的数据存入工作内存池,用户应用程序使用相应的API接口从工作内存池中取得数据进行使用;使用完毕后将相应的内存归还给空闲内存池。本发明极大地减轻了CPU的压力,减少了系统调用,对于大规模小数据量的传输减轻了用户内核空间的切换,提高了系统效率。 | ||
搜索关键词: | pci 拷贝 dma 数据传输 方法 | ||
【主权项】:
一种PCI‑E零拷贝DMA数据传输方法,其特征在于,包括如下步骤:步骤一、在数据源系统和数据目的系统中各自分配N块大小的物理内存,分别对数据源系统和数据目的系统中的N块物理内存使用双向链表建立空闲内存池以及工作内存池;所述的空闲内存池包含N块物理内存中所有空闲的物理内存,所述的工作内存池包含N块物理内存中使用的物理内存;所述的数据源系统和数据目的系统之间为PCI‑E接口传输数据;步骤二、数据源系统的用户应用程序传输数据时,使用相应的API从数据源系统的空闲内存池取得一块空闲的内存;步骤三、数据源系统的用户应用程序直接将数据填充到所取得的内存中;步骤四、数据填充完后,使用相应的API将数据传输给数据目的系统,并存放在数据目的系统的工作内存池;步骤五、数据目的系统的用户应用程序使用相应的API从数据目的系统的工作内存池中取得传输来的数据,数据使用完毕后,将在数据源系统和数据目的系统所使用的内存归还到空闲内存池。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心;北京赛思信安技术有限公司,未经国家计算机网络与信息安全管理中心;北京赛思信安技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410472223.8/,转载请声明来源钻瓜专利网。