[发明专利]一种基于FPGA内存动态分配的数据交换方法及装置在审
申请号: | 202111093096.7 | 申请日: | 2021-09-17 |
公开(公告)号: | CN113836048A | 公开(公告)日: | 2021-12-24 |
发明(设计)人: | 赵会彬;周东杰;王振华;吕玄兵;牟涛;李超;马志敏;朱付强 | 申请(专利权)人: | 许昌许继软件技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/50 |
代理公司: | 北京中政联科专利代理事务所(普通合伙) 11489 | 代理人: | 张吉和 |
地址: | 461000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 内存 动态分配 数据 交换 方法 装置 | ||
1.一种基于FPGA内存动态分配的数据交换方法,其特征在于,包括步骤:
S1、接收以太网报文,从中解析出转发目的端口并将其封装至转发报文中;
S2、将所述转发报文存放至一级缓存单元;
S3、判断二级缓存单元的占用情况,并根据判断结果对该转发报文进行处理。
2.根据权利要求1所述的方法,其特征在于,所述一级缓存单元和二级缓存单元均由FPGA内存提供。
3.根据权利要求2所述的方法,其特征在于,所述二级缓存单元可动态分配。
4.根据权利要求3所述的方法,其特征在于,所述判断二级缓存单元的占用情况,并根据判断结果对该转发报文进行处理包括:
S31、查询所述目的端口是否占用二级缓存单元,若是,则跳转至步骤S36;若否,则执行步骤S34;
S34、判断所述目的端口的发送缓存是否已满,若是,则执行步骤S35;若否,则跳转至步骤S38;
S35、判断二级缓存单元是否空闲,若是,则执行步骤S36;若否,则报文数据溢出;
S36、将所述转发报文存放至二级缓存单元;
S37、当所述二级缓存单元为非空时,等待直至所述目的端口的发送缓存有空间;
S38、将所述报文数据写入该目的端口的发送缓存并发送。
5.根据权利要4所述的方法,其特征在于,还包括:
若所述二级缓存单元不为非空,则释放所述二级缓存单元的空间。
6.一种基于FPGA内存动态分配的数据交换装置,其特征在于,包括报文接收模块、报文存储模块、以及报文处理模块;其中,
所述报文接收模块用于接收以太网报文,从中解析出转发目的端口并将其封装至转发报文中;
所述报文存储模块用于将所述转发报文存放至一级缓存单元;
所述报文处理模块用于判断二级缓存单元的占用情况,并根据判断结果对该转发报文进行处理。
7.根据权利要求6所述的装置,其特征在于,所述一级缓存单元和二级缓存单元均由FPGA内存提供。
8.根据权利要求7所述的装置,其特征在于,所述二级缓存单元可动态分配。
9.根据权利要求8所述的装置,其特征在于,所述报文处理模块判断二级缓存单元的占用情况,并根据判断结果对该转发报文进行处理包括:
S31、查询所述目的端口是否占用二级缓存单元,若是,则跳转至步骤S36;若否,则执行步骤S34;
S34、判断所述目的端口的发送缓存是否已满,若是,则执行步骤S35;若否,则跳转至步骤S38;
S35、判断二级缓存单元是否空闲,若是,则执行步骤S36;若否,则报文数据溢出;
S36、将所述转发报文存放至二级缓存单元;
S37、当所述二级缓存单元为非空时,等待直至所述目的端口的发送缓存有空间;
S38、将所述报文数据写入该目的端口的发送缓存并发送。
10.根据权利要求9所述的装置,其特征在于,所述报文处理模块还用于若所述二级缓存单元不为非空,则释放所述二级缓存单元的空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于许昌许继软件技术有限公司,未经许昌许继软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111093096.7/1.html,转载请声明来源钻瓜专利网。