【技术实现步骤摘要】
PC I-E零拷贝DMA数据传输方法
本专利技术涉及PCI-E数据传输
,具体是一种零拷贝的DM数据传输方法。
技术介绍
传统的PCI-E数据传输方法是采用DMA (Direct Memory Access,直接内存访问)。 具体方法是在数据源及数据目的系统中均需分配一块连续的物理内存,启动前在数据源系 统中用户应用程序负责把数据拷贝至物理内存中,DM传输时由DM控制器负责把数据从 数据源物理内存传输至数据目的系统的物理内存中,DMA结束后在数据目的系统中由应用 程序拷贝至用户空间使用,然后原2块物理内存可作下一次的数据传输用。图1是传统的 数据传输方法示意图: 步骤1)数据源系统:用户应用程序把数据拷贝至内核空间中物理内存中; 步骤 2) DMA ; 步骤3)数据目的系统:用户应用程序把数据从内核空间中物理内存拷贝至用户 空间使用。 该方法在数据传输过程中在数据源及数据目的的系统中,总计发生2次内存拷贝 (步骤1及步骤3, DM除外)及4次系统调用,效率低下,给CPU增加了不必要的负担。
技术实现思路
...
【技术保护点】
一种PCI‑E零拷贝DMA数据传输方法,其特征在于,包括如下步骤:步骤一、在数据源系统和数据目的系统中各自分配N块大小的物理内存,分别对数据源系统和数据目的系统中的N块物理内存使用双向链表建立空闲内存池以及工作内存池;步骤二、数据源系统的用户应用程序传输数据时,使用相应的API从数据源系统的空闲内存池取得一块空闲的内存;步骤三、数据源系统的用户应用程序直接将数据填充到所取得的内存中;步骤四、数据填充完后,使用相应的API将数据传输给数据目的系统,并存放在数据目的系统的工作内存池;步骤五、数据目的系统的用户应用程序使用相应的API从数据目的系统的工作内存池中取得传输来的数据, ...
【技术特征摘要】
1. 一种PCI-E零拷贝DMA数据传输方法,其特征在于,包括如下步骤: 步骤一、在数据源系统和数据目的系统中各自分配N块大小的物理内存,分别对数据 源系统和数据目的系统中的N块物理内存使用双向链表建立空闲内存池以及工作内存池; 步骤二、数据源系统的用户应用程序传输数据时,使用相应的API从数据源系统的空 闲内存池取得一块空闲的内存; 步...
【专利技术属性】
技术研发人员:陈训逊,周游,包秀国,谢铭,薛晨,周康成,周渊,
申请(专利权)人:国家计算机网络与信息安全管理中心,北京赛思信安技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。