当前位置: 首页 > 专利查询>清华大学专利>正文

路由器多队列数据包缓存管理与输出队列调度系统技术方案

技术编号:3483418 阅读:627 留言:0更新日期:2012-04-11 18:40
路由器多队列数据包缓存管理与输出队列调度系统属于因特网主干网核心路由器技术领域。其特征在于用一片FPGA配合片外数据片存储器和链表存储器构成。该FPGA芯片含有:接收外界数据的数据片FIFO存储器及链表管理电路,链表管理电路通过两个接口电路分别和数据片存储器及链表存储器相连,链表管理电路输出经过队列状态存储器的1024个队列状态信息到队列调度电路,队列调度电路把1024个队列中加权和最大的队列调度出来,并将调度出来的队列编号通过调度结果FIFO存储器送到链表管理电路,链表管理电路通过数据片存储器接口电路,将数据片存储器存储的数据片经数据包发送电路输出。系统支持质量服务,数据包速率为2.5Gbps时,能线速处理进出存储器的数据包。

【技术实现步骤摘要】

【技术保护点】
路由器多队列数据包缓存管理与输出队列调度系统,其特征在于:它含有一个FPGA芯片,作为该FPGA芯片片外存储器的链表存储器,以及同样作为该FPGA芯片片外存储器的数据片存储器,其中:数据片存储器,被分成大小相等的2↑[(N+1)]个存储块,N一般取不小于8192的自然数,每个存储块存储一个数据包的一个数据片,组成每个存储块的存储单元的地址是连续的;来自同一个输入线卡,具有相同优先权的数据包构成一个队列,每个队列所占用的存储块采用链表的形式进行管理;链表存储器,用于保存数据片存储器中的所有链表,每一个链表结点保存数据片存储器的一个存储块,链表结点的存储地址和存储块的序列号一一对应,每一个链表结点存储在链表存储器的一个存储单元中,作为链表存储器的存储器,每个存储单元的数据宽度由数据片存储器分成的存储块数量,以及数据片的最大长度决定,具有如下数据结构:0~N比特位,表示同一队列的下一个链表结点地址,N+1比特位,表示数据包的边界结点,N+2比特位,为存储单元使用的指示标识,N+3~N+K比特位,为数据片长度,K和系统定义的数据片最大值相关,K最大值为8,其中:N+2比特位为1,表示该节点对应的存储块存有数据片,该存储器单元已经被使用,否则置0;N+1比特位为1,表示这是数据包的最后一个数据片,否则置0;N+3~N+K比特位,保存对应数据片的实际长度,长度以4字节为单位;链表结点分为:数据片队列链表结点和空链表结点;FPGA芯片含有:数据片存储器接口电路、数据片FIFO存储器、数据片输入电路、链表管理电路、数据包输出电路、链表存储器接口电路、队列状态存储器、调度结果FIFO存储器,以及队列调度电路,其中:数据片FIFO存储器,含有外界数据输入端,所连数据片输入电路输出的读数据信息输入端,还含有指向所连外界数据输入端的快满信号;数据片输入电路,第一个输入端与所连FIFO存储器的数据片输出端相连,第一个输出端与所连链表管理电路的数据片输入端相连,而第二个输入端则与所连链表管理电路的快满信号输出端相连;队列状态存储器,是由4个双端口的片内RAM存储器组合而成,其数据输入端口和所连链表管理电路的数据输出端相连,若输入的队列含有至少一个完整的数据包,则队列对应的存储单元置1,反之,置0,它的读地址和读信号来自队列调度电路,组成队列状态存储器的每个RAM存储器读写端口地址线、数据线宽度不同,读端口地址线有3根,输出数据位宽为32位...

【技术特征摘要】

【专利技术属性】
技术研发人员:杨珂徐明伟赵有健全成斌
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1