[发明专利]基于入口FIFO和链表结构的以太网帧存储转发的方法无效
| 申请号: | 200910153239.1 | 申请日: | 2009-10-29 |
| 公开(公告)号: | CN101697541A | 公开(公告)日: | 2010-04-21 |
| 发明(设计)人: | 陈伟强;张宇 | 申请(专利权)人: | 杭州钦钺科技有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06 |
| 代理公司: | 杭州中成专利事务所有限公司 33212 | 代理人: | 金祺 |
| 地址: | 310012 浙江省杭州市西*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 入口 fifo 结构 以太网 存储 转发 方法 | ||
技术领域
本发明涉及使用外部存储器进行以太网帧的存储并转发的技术,尤其涉及基于入口FIFO和链表结构的以太网帧存储转发的方法。
背景技术
以太网芯片在处理以太网帧时,一般需要对以太网帧进行存储并转发,即首先把接收到的以太网帧存储在外部的大容量的存储器中,并提取该以太网帧的信息,例如帧的长度、帧的优先级等,然后从外部存储器中取出以太网帧,并转发。
目前在使用外部大容量存储器进行以太网帧的存储转发时,一般会首先把以太网帧存入外部存储器,在存储完一个完整的帧后,会进行帧合法性的判定,例如判定以太网帧的CRC校验是否正确、帧长度是否符合要求等;而在外部存储器中存储以太网帧时,则把存储器划分为两个存储空间:一部分空间存储以太网帧的数据;另一部分空间则存储以太网帧的帧信息,例如帧的长度、帧的优先级等。这种操作模式如图1、2所示。
接收以太网帧过程:芯片在IDLE状态下等待以太网帧的到来,如果有帧到来,则把以太网帧数据存入外部存储器,并判定当前帧是否接收完毕;如果没有接收完毕,则继续接收帧数据,并继续利用外部存储器存储帧数据;如果接收完毕,则开始进行帧合法性的判定,然后把帧信息写入外部存储器。
读取以太网帧过程:芯片在IDLE状态下等待读取帧的请求;当有读取帧请求时,首先需要从外部存储器中读出帧的合法性信息以及帧的其他信息,然后根据帧的信息,把帧数据从外部存储器中读出。
从图1、2的操作流程可以看出,这种操作模式主要有两个不足:如果以太网帧是非法的以太网帧,即不是以太网芯片所需要的帧,但仍然需要进行外部存储器的读写操作,造成存储转发效率的降低;其次,在存储或者转发一个以太网帧时,需要管理两套读写地址信息:以太网帧数据的读写地址、以太网帧信息的读写地址。虽然利用外部存储器的突发操作模式,可以部分提高存储转发效率,但仍然需要两次突发的操作,无法进一步提高存储转发效率。
如果存储转发效率不高,会有大量的以太网帧无法得到及时处理,从而被丢弃,因此需要有一种高效的以太网帧存储转发方法,提高存储转发效率,减少因存储转发效率过低造成的丢包。
发明内容
本发明所要解决的技术问题是,提供一种基于入口FIFO和链表结构的以太网帧存储转发的方法。
为了解决上述技术问题,本发明中基于入口FIFO和链表结构的以太网帧存储转发的方法,包括:
(1)在外部存储器读写控制逻辑模块之前设置入口FIFO,在从网络中接收以太网帧时,利用入口FIFO剔除不合法的以太网帧,并同时统计出以太网帧的帧信息;利用入口FIFO,剔除不合法的以太网帧,而不是在把以太网帧存入外部存储器后再判定当前以太网帧是否合法。通过入口FIFO的过滤作用,可以减少外部存储器的读写次数,即针对非法以太网帧,外部存储器不存在读写开销,从而提高外部存储器的存储转发效率;
(2)将以太网帧存储至外部存储器时,把以太网帧构造成链表结构,只使用一套读写地址信息,即只需要一次突发操作。
本发明中,所述以太网帧的帧信息包括帧长度和帧优先级。
本发明中,所述步骤(1)中包括:
A、针对入口FIFO设置寄存以太网相关信息的寄存器;
B、在有以太网帧到来时,把以太网帧数据缓存在入口FIFO中,并同时进行以太网帧长度的计数以及以太网帧的CRC32校验;
C、当以太网帧接收结束时,完成对该以太网帧的长度信息、CRC32校验信息提取;同时根据以太网芯片设计的需求,对该以太网帧进行合法性的判定,并利用寄存器寄存这些信息;
D、当以太网帧被判定为非法的以太网帧时,直接清空入口FIFO,并把寄存以太网信息的寄存器复位到初始值;
E、当以太网帧被判定为合法的以太网帧时,首先从寄存以太网信息的寄存器中读出以太网帧的相关信息,并写入外部存储器,然后从入口FIFO中读取以太网帧数据,并写入外部存储器。
本发明中,步骤C所述对以太网帧进行合法性的判定,包括对帧长度和帧的目的地址是否符合需求进行判定。
本发明中,在进行入口FIFO的读操作时,继续向入口FIFO中写入新的以太网帧;同时为了能够线速处理以太网帧,根据设计需要调节入口FIFO的深度,保证不会丢帧。
本发明中,所述步骤(2)中包括向外部存储器存储以太网帧的过程:
a、在向外部存储器存储以太网帧时,设置帧计数器,统计当前外部存储器中存有多少个以太网帧;并设置读地址寄存器,存储以太网帧的地址信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州钦钺科技有限公司,未经杭州钦钺科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910153239.1/2.html,转载请声明来源钻瓜专利网。





