【技术实现步骤摘要】
一种DMA数据包传输方法、装置及PCIE设备
[0001]本专利技术实施例涉及通信
,尤其涉及一种DMA数据包传输方法、装置及PCIE设备。
技术介绍
[0002]随着技术和经济的发展,计算机在人们日常生活和工作中变得随处可见,计算机系统越来越复杂,功能也越来越强大。与之相随的是,计算机主机与外设之间的数据交互量迅速增加。在此背景下,具备数据传输速度高、物理尺寸小、良好的错误检测机制等优点的PCIE (peripheral component interconnect express,高速串行计算机扩展总线标准)总线出现了。目前,PCIE 总线作为一种高性能I/O总线广泛应用于计算机系统中,几乎所有商业级和工业级的计算机生产商都在其生产的计算机系统中提供了PCIE总线接口。相应的,通过PCIE总线与计算机主机连接的外设我们称之为PCIE设备。
[0003]与此同时,在计算机主机和PCIE设备之间、或者PCIE设备与PCIE设备之间数据交互时,涉及大量的数据拷贝操作,这给CPU带来了巨大的负担,严重影响了CPU的处理能力。基于此需求,人们开发出了DMA(Direct Memory Access,直接内存访问)技术,DMA是一种PCIE支持的、可以以“突发”的形式高速传输大量数据的传输方式,该技术数据拷贝操作交给DMA控制器来执行,从而大大提升了CPU的处理能力。
[0004]进一步地,基于PCIE总线事务层协议,计算机主机与PCIE设备之间,或者PCIE设备与PCIE设备之间以TLP(Transa ...
【技术保护点】
【技术特征摘要】
1.一种DMA数据包传输方法,其特征在于,应用于PCIE设备,所述方法包括:获取多个DMA读请求,并将获取的多个DMA读请求按照第一顺序存入第一缓冲区内;其中,每个DMA读请求中包括与该DMA读请求对应的DMA数据包的地址信息和长度信息;在第二缓冲区内记录多个DMA读请求的长度信息顺序,以表征每个DMA读请求在第一缓冲区的排序与每个DMA读请求中的长度信息之间的一一对应关系;顺次获取第一缓冲区内的多个DMA读请求,根据预设切割长度,以及每个DMA读请求中的地址信息和长度信息计算与每个DMA读请求对应的TLP地址信息和TLP长度信息;其中,TLP地址信息和TLP长度信息一一对应;为每对一一对应的TLP地址信息和TLP长度信息按照第二顺序设置TAG号,得到多个TLP读请求;其中,每个TLP读请求中包括TAG号、TLP地址信息和TLP长度信息;将多个TLP读请求按照TAG号递增顺序存入第三缓冲区内;顺次获取第三缓冲区内的多个TLP读请求,并将多个TLP读请求通过IP核顺次发送给主机;接收主机基于多个TLP读请求反馈的多个TLP完成包;其中,TLP完成包与TLP读请求对应,每个TLP完成包中包括TAG号;将多个TLP完成包按照TAG号递增顺序存入第四缓冲区内;顺次从第四缓冲区内读取多个TLP完成包,并根据第二缓冲区内记录的长度信息顺序对多个TLP完成包进行组包,以获得以第一顺序排布的DMA数据包。2.如权利要求1所述的方法,其特征在于,在第二缓冲区内记录多个DMA读请求中的长度信息顺序,包括:按照多个DMA读请求的存入顺序顺次读取多个DMA读请求中的长度信息,并将读取到的多个长度信息顺次存入第二缓冲区内;或者,为每个DMA读请求设置DMA顺序标识符,分别将每个DMA读请求中的长度信息和相应的DMA顺序标识符拼接,得到多个第一拼接信息,并将多个第一拼接信息存入第二缓冲区内。3.如权利要求1所述的方法,其特征在于,所述方法还包括:在第五缓冲区内记录多个TLP读请求中的TLP长度信息顺序。4.如权利要求3所述的方法,其特征在于,在第五缓冲区内记录多个TLP读请求中的TLP长度信息顺序,包括:按照多个TLP读请求的存入顺序顺次读取多个TLP读请求中的TLP长度信息,并将读取到的多个TLP长度信息顺次存入第五缓冲区内;或者,分别将每个TLP读请求中的TLP长度信息和TAG号拼接,得到多个第二拼接信息,并将多个第二拼接信息存入第五缓冲区内。5.如权利要求1至4任一项所述的方法,其特征在于,所述方法在PCIE总线的事务层实现,所述事务层被划分为DMA收发层、TLP收发层和传输控制层;其中,所述DMA收发层用于执行如下步骤:获取多个DMA读请求,并将获取的多个DMA读请求按照第一顺序存入第一缓冲区内;在第二缓冲区内记录多个DMA读请求中的长度信息顺序,以表征每个DMA读请求在第一
缓冲区的排序与每个DMA读请求中的长度信息之间的一一对应关系;顺次从第四缓冲区内获取多个TLP完成包,并根据第二缓冲区内记录的长度信息顺序对多个TLP完成包进行组包,以获得以第一顺序排布的DMA数据包;所述TLP收发层用于执行如下步骤:顺次获取第一缓冲区内的多个DMA读请求,根据预设切割长度,以及每个DMA读请求中的地址信息和长度信息计算与每个DMA读请求对应的TLP地址信息和TLP长度信息;为每...
【专利技术属性】
技术研发人员:苏庆会,苏智睿,王中原,赵鹏翔,
申请(专利权)人:郑州信大捷安信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。