[发明专利]链式队列管理结构整合错误数据过滤的方法有效
申请号: | 200910084279.5 | 申请日: | 2009-05-20 |
公开(公告)号: | CN101594201A | 公开(公告)日: | 2009-12-02 |
发明(设计)人: | 林栋;刘斌 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L12/56 |
代理公司: | 北京众合诚成知识产权代理有限公司 | 代理人: | 朱 琨 |
地址: | 100084北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 链式队列管理结构整合错误数据过滤的方法,属于计算机网络技术领域,其特征在于:对通过链表方式对外存空间进行队列管理的结构,通过链表在回收操作过程中仅需修改少量指针即可回收多个链表单元的操作特点,设计了新的错误数据过滤机制,支持数据包在不同队列间交替到达情况下的错误数据过滤。它的特点在于延迟低,开销少,扩展性好。 | ||
搜索关键词: | 链式 队列 管理 结构 整合 错误 数据 过滤 方法 | ||
【主权项】:
1.链式队列管理结构整合错误数据过滤的方法,其特征在于,这是一种基于链表的交换网络中整合错误数据过滤的方法,是在一种队列缓冲管理系统中依次按以下步骤实现的:步骤(1).构建一个用于所述交换网络中多队列缓冲管理的队列管理系统,所述系统含有:FPGA芯片、缓存数据包DRAM和缓存数据包描述控制信息用的SRAM,其中:FPGA芯片含有:队列管理模块和片内存储器,其中队列管理模块设有:数据包输入端口和数据包输出端口,片内存储器MRAM,与所述队列管理模块互连,缓存数据包DRAM,与所述队列管理模块互连,所述缓存数据包DRAM是一种延迟压缩式的RLDRAM,以16个周期为读写操作的最小时间单位,实际配置为64B×512k,拥有读/写分离的数据总线,但读写复用一套地址及控制总线,缓存数据包描述控制信息用的SRAM,型号为CYTC1370C,拥有一套读写复用的数据和控制总线,实际配置为32bits×512k;步骤(2).把所选RLDRAM和SRAM共同组成一个“数据域和控制域分离”的链表单元,所述的每个链表单元包含一个64B的数据域和一个32bits的控制域,由拥有相同高位地址的所述RLDRAM和SRAM组成,步骤(3).在所述FGPA中建立一个链式空闲管理结构实现对512个所述链表单元的管理:在该FPGA的片内存储器MRAM中额外维护每个逻辑队列的头尾指针,对应于头尾链表单元的外存地址,再通过一个设有空闲队列头尾指针的独立队列Freelist实现对空闲链表单元的管理,同时在该片内存储器MRAM上为每个队列再加上50bits信息用于错误检测和恢复,其中,包括:两个19bits共计38bits的恢复指针信息,存储的是最近一次正确状况下队列的尾指针和为了存储新信元而新分配的链表单元地址,1bit奇偶校验标识,表示当前数据包对应的所有信元是否出现过校验错误,其中,“1”表示出现错误,“0”表示正确,以检测数据包内容的正确与否,1bit信元序列校验标识,表示当前数据包对应的所有信元的达到序列是否正确,以检测数据包的包头、包尾标识的正确与否,“1”表示出现错误,“0”表示正确,步骤(4).把所述交换网络中多队列缓冲的控制信息进行最大限度的压缩后得到:流号Flow No,占16bits,分段信息Seg.Info占2bits,信元长度length占5bits,数据包总长度Total Length占9bits,其中:流号Flow No,高位表示目的线卡号Card No,分段信息Seg.Info,其中包括:四种状态:“01”表示数据包头,”00”表示数据包中段,”10”表示数据包尾,”11”表示独立数据包,然后,在第一个链表单元中存储所述16bits流号和9bits数据源总长度信息,在后继链表单元的后继信元中存储所述分段信息Seg.Info,以便在对所述DRAM进行操作的同时获取所述SRAM中下一链表单元的控制信息,步骤(5).所述队列的管理模块依次按以下步骤判断入队的数据包是否正确,当数据包丢失信元或者奇偶校验错误时,执行错误恢复操作:步骤(5.1).根据分段信息定位每个数据包的开始信元,并更新所述恢复指针信息,奇偶校验标识,信元序列校验标识,以及信元数量标识,步骤(5.2).之后,对于到来的每一个信元执行步骤(5.1)中所述的操作,步骤(5.3).当根据分段信息定位到该数据包的末尾信元时,结合步骤(5.1)和步骤(5.2)中所记录的信息判断该数据包是否正确:若为正确的数据包,则向调度模块报告该数据包到达,若为错误的数据包,按步骤(5.3)执行错误恢复操作,步骤(5.4).所述队列管理模块执行错误恢复操作:用恢复指针把所述错误数据包的队列恢复到接收这个错误数据包之前的正确状态,同时把所述恢复指针信息中所保存的为该数据包包头分配的链表单元地址的下一跳地址指向当前空闲指针的头部,再把该链表单元地址设置为空闲链表起始地址,然后,再通过指针的修改来回收该错误数据包中的所有错误数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910084279.5/,转载请声明来源钻瓜专利网。
- 上一篇:互联网加密安全通讯控制方法
- 下一篇:交错并联PFC控制电路及控制方法