[发明专利]基于PCIe接口的DMA传输方法有效
申请号: | 201910180262.3 | 申请日: | 2019-03-11 |
公开(公告)号: | CN111694777B | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 蔡志国;赵庭武;谢荣先 | 申请(专利权)人: | 苏州微影激光技术有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28;G06F13/42 |
代理公司: | 深圳市合道英联专利事务所(普通合伙) 44309 | 代理人: | 廉红果;侯峰 |
地址: | 215009 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 pcie 接口 dma 传输 方法 | ||
1.一种基于PCIe接口的DMA传输方法,其特征在于,该方法为:检测主机下发的DMA读指令信息,根据所述DMA读指令信息生成存储器读请求包,为每个存储器读请求包请求到的数据分配在SRAM缓存地址、DDR缓存地址、SRAM读取地址、预留写SRAM起始位置信息并且从CPLD额外信息RAM的A端口写入;
接收主机响应的带数据的完成包并且提取其中的TAG字段,判断该带数据的完成包是否为存储器读请求包的最后一帧数据,若带数据的完成包为存储器读请求包的最后一帧数据,将提取的TAG字段写入TAG管理FIFO,供后续生成MRD请求包时使用;
以所述提取到的TAG字段作为地址,从CPLD额外信息RAM的B端口读取之前写入的SRAM缓存地址、DDR缓存地址、SRAM读取地址、预留写SRAM起始位置信息,以所述SRAM缓存地址作为地址,将数据写入数据缓存BUFFER;若当前数据为相应MRD请求的最后一帧数据,则数据缓存完成后读取数据,将数据和对应数据的DDR缓存地址发送到下一级;否则以当前数据对应的TAG作为地址从CPLD额外信息RAM的B端口将更新后的写SRAM起始位置信息和SRAM缓存地址写入CPLD额外信息RAM;
将所述DDR缓存地址作为地址,将数据写入与之对应的地址单元,待DDR中缓存达到阈值后对数据进行后续处理。
2.根据权利要求1所述的基于PCIe接口的DMA传输方法,其特征在于,所述为每个存储器读请求包请求到的数据分配在SRAM缓存地址、DDR缓存地址、SRAM读取地址、预留写SRAM起始位置信息,具体为:为每个存储器读请求包分配TAG字段并生成从主机主存空间获取数据的地址;为每个存储器读请求包请求到的数据分配在SRAM缓存地址、DDR缓存地址、SRAM读取地址、预留写SRAM起始位置信息。
3.根据权利要求2所述的基于PCIe接口的DMA传输方法,其特征在于,所述从CPLD额外信息RAM的A端口写入,具体为:以分配的TAG字段作为一个CPLD额外信息RAM的地址,将所述SRAM缓存地址、DDR缓存地址、SRAM读取地址、预留写SRAM起始位置信息从CPLD额外信息RAM的A端口写入。
4.根据权利要求3所述的基于PCIe接口的DMA传输方法,其特征在于,所述以所述SRAM缓存地址作为地址,将数据写入数据缓存BUFFER,具体为:根据CPLD额外信息RAM中的预留写SRAM起始位置信息,确定数据写入当前地址所对应的存储单元的位置,根据当前数据写入的位置和长度生成下一组数据写入的起始位置和地址,即更新写SRAM起始位置信息和SRAM缓存地址;如果当前数据为相应存储器读请求包的最后一帧数据,则数据缓存完成后读取数据将数据和对应数据的DDR缓存地址发送到下一级,否则以当前数据对应的TAG字段作为地址从CPLD额外信息RAM的B端口更新写SRAM起始位置信息和SRAM缓存地址写入CPLD额外信息RAM。
5.根据权利要求4所述的基于PCIe接口的DMA传输方法,其特征在于,所述SRAM缓存地址和SRAM读取地址一致。
6.根据权利要求5所述的基于PCIe接口的DMA传输方法,其特征在于,所述CPLD额外信息RAM为一适当数据宽度的双口RAM。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州微影激光技术有限公司,未经苏州微影激光技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910180262.3/1.html,转载请声明来源钻瓜专利网。