【技术实现步骤摘要】
一种高速数据帧无冲突入队处理的装置及方法
本专利技术属于通信
,更进一步涉及网络通信
中的一种高速数据帧无冲突入队处理的装置及方法。本专利技术可用于通信网络系统中对大容量交换设备实现高速数据帧的入队处理,同时保证无队列信息更新冲突。
技术介绍
随着科技日新月异发展,人们对网络业务的需求越来越大,对数据传输速率要求越来越高。以太网也从百兆、千兆逐步向万兆不断发展,来适应网络的需求。光纤可以传输10G、40G甚至100G数据,但是仅仅是解决传输问题,网络节点对数据的处理性能是制约网络吞吐率的关键。作为通信网络节点的关键网络设备,以太网交换机或者路由器的性能直接影响网络的整体性能,进而影响用户的通信体验。队列管理技术广泛应用于基于存储转发的交换设备中,如路由器、交换机。存储转发机制中,在输出端口流量控制情况下或者接收的数据帧未能及时调度到发送端口情况下,数据帧就需要存储下来。为了保证服务质量(QualityofService,QoS),交换设备从接口接收数据帧后,会根据需要发送的目的端口或者节点,将数据帧按照优先级分成若干个虚拟输出队列(VOQ)。数据帧的入队处理主要完成数据帧的接收存储,并维护好队列信息。具体包括完成数据帧申请仲裁,将不满足入队条件的数据帧丢弃,常见的是尾部丢弃(Tail-Drop,TD),即队列的深度超过阈值后,将需要链接的队尾的数据帧丢弃;满足入队条件的数据帧分配缓存,更新队列信息,并由总线处理模块将数据帧搬移到分配缓存单元中,入队处理的性能高低直接影响交换机或者路由器线速处理数据帧的能力。中兴通信股份有限公司在其申请的专利文献 ...
【技术保护点】
一种高速数据帧无冲突入队处理的装置,其特征在于,包括CPU模块、入队调度模块、冲突检测模块、队列信息管理模块、缓存管理模块、接收总线模块和缓存区模块;所述CPU模块输入端与入队调度模块输出端相连,CPU模块的输出端与入队调度模块输入端相连;入队调度模块的输入端与入队申请、CPU模块输出端、缓存管理模块输出端、队列信息管理模块输出端相连;入队调度模块输出端与CPU模块输入端、冲突检测输入端、队列信息管理模块输入端、接收总线模块输入端相连;冲突检测模块输入端与入队调度模块输出端、出队执行更新操作标志信号相连;冲突检测模块输出端与队列信息管理模块输入端相连;队列信息管理模块输入端与入队调度模块输出端、冲突检测模块输出端相连;队列信息管理模块输出端与入队调度模块输入端相连;缓存管理模块输入端与入队调度模块输出端相连;缓存管理模块输出端与入队调度模块输入端相连;接收总线模块输入端与入队数据帧相连;接收总线模块输出端与缓存区输入端相连;缓存区模块输入端与接收总线输出端相连;其中,所述CPU模块,用于初始化时,将队列最大门限值配置到每个队列门限信息中;在接收到入队调度模块查询入队队列号后,将队列最大 ...
【技术特征摘要】
1.一种高速数据帧无冲突入队处理的装置,其特征在于,包括CPU模块、入队调度模块、冲突检测模块、队列信息管理模块、缓存管理模块、接收总线模块和缓存区模块;所述CPU模块输入端与入队调度模块输出端相连,CPU模块的输出端与入队调度模块输入端相连;入队调度模块的输入端与入队申请、CPU模块输出端、缓存管理模块输出端、队列信息管理模块输出端相连;入队调度模块输出端与CPU模块输入端、冲突检测输入端、队列信息管理模块输入端、接收总线模块输入端相连;冲突检测模块输入端与入队调度模块输出端、出队执行更新操作标志信号相连;冲突检测模块输出端与队列信息管理模块输入端相连;队列信息管理模块输入端与入队调度模块输出端、冲突检测模块输出端相连;队列信息管理模块输出端与入队调度模块输入端相连;缓存管理模块输入端与入队调度模块输出端相连;缓存管理模块输出端与入队调度模块输入端相连;接收总线模块输入端与入队数据帧相连;接收总线模块输出端与缓存区输入端相连;缓存区模块输入端与接收总线输出端相连;其中,所述CPU模块,用于初始化时,将队列最大门限值配置到每个队列门限信息中;在接收到入队调度模块查询入队队列号后,将队列最大门限参数发送到入队调度模块中;所述入队调度模块用于读取数据帧入队申请信息,从入队申请信息中分别提取数据帧待发送的端口号、入队数据帧的优先级、入队数据帧的帧长;将申请入队队列号分别发送到中央处理单元CPU模块中、队列信息管理模块中,得到入队数据帧队列的最大门限、队列长度信息和队尾信息;判断入队数据帧的帧长加上队列长度信息中已入队数据帧长度是否小于最大门限;若是,则提取缓存管理模块提供的空闲缓存地址,否则,入队失败,丢弃入队数据帧;然后将所提取的空闲缓存地址、入队数据帧的开始标志、入队数据帧的结束标志、缓存有效长度写入入队调度结果信息先入先出队列FIFO中;每次入队调度结果信息FIFO数据写入后,将空闲缓存请求发送到缓存管理模块中,同时将已申请缓存地址计数器加1;当缓存地址是数据帧最后一个缓存地址时,将最后一个缓存地址发送到队列信息管理模块中,更新队尾信息,同时,将入队队列长度更新请求和入队队列长度值通过冲突检测模块发送到对队列信息管理模块中,完成队尾信息的更新和队列长度信息的更新;所述冲突检测模块,用于当入队调度模块处理入队数据帧第一个缓存地址时,判断是否满足队首更新冲突条件,满足队首更新冲突情况下,通知队列信息管理模块更新队首信息;当入队调度模块处理入队数据帧最后一个缓存地址时,根据接收到的入队队列长度更新请求和出队队列长度信息满足冲突条件的三种不同的情况,分别将队列长度信息更新值发送到队列信息管理模块;所述队列信息管理模块,用于初始化时,对自身模块中的队首信息、队尾信息和队列长度信息分别进行清零;收到入队调度模块发送队列查询信息时,根据入队队列号,将该队列号对应队列长度信息和队尾信息发送到入队调度模块;当入队调度模块处理数据帧第一个缓存地址时,当入队队列长度信息为零或者存在队首更新冲突情况下,将入队数据帧的第一个缓存地址和入队数据帧的帧长写入到入队数据帧队列队首信息中;当入队调度模块处理数据帧最后一个缓存地址时,将收到的数据帧最后一个缓存地址,写入到入队数据帧队列队尾信息中,使该队列尾部指向新数据帧最后一个缓存地址;同时,根据队列长度信息冲突条件的三种不同的情况,满足冲突条件1,将收到的冲突条件1修正值,写入到入队数据帧队列长度信息中,完成第一种情况下队列长度信息的更新;满足冲突条件2,将收到的冲突条件2的修正值,写入到入队数据帧队列长度信息中,完成第二种情况下队列长度信息的更新;满足冲突条件3,将收到的入队队列长度值写入到入队数据帧队列队列长度信息中,完成第三种情况下队列长度信息的更新;所述缓存管理模块,用于初始化时,将空闲缓存单元地址写入空闲缓存先入先出队列FIFO中,并将写入空闲缓存先入先出队列FIFO中的第一个空闲缓存单元地址发送到入队调度模块;当入队调度发起链表更新请求时,将入队数据帧的开始标志、入队数据帧的结束标志、缓存有效长度分别写入当前缓存地址对应缓存描述符的信息对应字段中,并且将当前缓存地址写入上一个缓存地址对应缓存描述符信息中下一跳地址信息中,当前缓存地址与上一个缓存地址形成链表;当接收到入队调度空闲缓存地址请求时,将下一个空闲缓存地址发送到入队调度模块中;所述接收总线模块,用于从入队调度结果信息先入先出队列FIFO中读取空闲缓存地址、缓存有效长度,将入队数据帧搬移缓存有效长度个字节到缓存区模块空闲缓存地址中;所述缓存区模块,用于存储入队数据帧。2.一种高速数据帧无冲突入队处理的方法,其特征在于,使用高速数据帧无冲突入队处理的装置,在通信网络系统中对大容量交换设备实现高速数据帧的入队处理,包括步骤如下:(1)初始化:(1a)队列信息管理模块对自身模块中的队首信息、队尾信息和队列长度信息分别进行清零;(1b)缓存管理模块将空闲缓存单元地址写入空闲缓存先入先出队列FIFO中,并将写入空闲缓存先入先出队列FIFO中的第一个空闲缓存单元地址发送到入队调度模块,将已申请缓存地址计数器清零;(1c)中央处理单元CPU模块,将队列最大门限值配置到每个队列门限信息中;(2)读取申请入队帧信息:(2a)入队调度模块读取数据帧入队申请信息,从入队申请信息中分别提取数据帧待发送的端口号、入队数据帧的优先级、入队数据帧的帧长;(2b)将目的端口号和优先级二进制序列拼接后新序列的值,作为数据帧入队队列号;(2c)将数据帧的帧长除以64的商值向上取整,得到申请64字节空闲缓存个数的参数值;(3)查询队列相关信息:(3a)入队调度模块将申请入队队列号发送到中央处理单元CPU模块;(3b)中央处理单元CPU模块收到入队队列号后,将队列最大门限参数发送到入队调度模块;(3c)入队调度模块将申请入队队列号发送到队列信息管理模块;(3d)队列信息管理模块收到入队队列号后,将当前队列长度信息和队尾信息发送到入队调度模块;(4)入队调度模块判断入队后队列长度的值是否小于最大门限,若是,则执行步骤(6),否则,执行步骤(5);(5)入队失败,丢弃大于最大门限的入队数据帧后执行步骤(16);(6)写入队调度...
【专利技术属性】
技术研发人员:邱智亮,赵海峰,郑凌,陈郝明,潘伟涛,王伟娜,高丽丽,张汶汶,张森,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。