在交换控制电路中巨帧的控制系统及方法与流程

文档序号:12492636阅读:543来源:国知局
在交换控制电路中巨帧的控制系统及方法与流程

本发明涉及一种应用于以太网协议的网络设备中的数据处理的网络数据通信技术,特别是涉及一种在交换控制电路中巨帧的控制系统及方法。



背景技术:

随着以太网技术的日新月异,交换机的速率也从10Mbps、100Mbps到1Gbps、10Gbps甚至更高。起初IEEE认可的以太网标准的最大帧长度为1518字节,这一标准已经越来越成为数据传输效率的掣肘。巨帧(Jumbo Frame),这是一种厂商标准的超长帧格式,专门为超过1Gbps的以太网而设计,长度各厂商有所不同,从9000字节~64000字节不等。采用巨帧能够使以太网传输数据性能充分发挥,是数据传输效率提高50%~100%。

在交换控制电路设计中,描述符管理有极其重要的作用,直接影响交换机的性能。它管理着帧存储地址和目的端口的映射关系以及高低优先级的出队列次序。以太网交换机的主要工作是存储转发,当数据帧经过PHY层、MAC层解析后,对MAC地址表进行查找,找到转发端口,产生相应的描述符派发到各个发送端口,描述符中记载着帧的各类信息。标准的二层帧结构和巨帧结构分别如图5和图6所示。

在描述符的设计中,若以256字节为一页为前提,在最长帧只支持1518字节的交换机中,设计一个描述符或一个扩展类型的描述符对应一个帧就能满足要求,而对于支持巨帧的设备,此种设计已不满足要求,单个描述符已不可能包含巨帧数据的所有页地址。



技术实现要素:

本发明所要解决的技术问题是提供一种在交换控制电路中巨帧的控制系统及方法,是一种用两级链表实现的巨帧控制方法,通过两级链表对帧存储的控制,有效的解决了描述符与存储地址的映射关系,理论上可以扩展到巨帧甚至超巨帧。

本发明是通过下述技术方案来解决上述技术问题的:一种在交换控制电路中巨帧的控制系统,其特征在于,包括:

描述优先级调度模块:根据调度策略,在多个优先级队列中挑选最先被调度的队列,把该队列的首个描述符地址提供给发送队列管理模块;

发送队列管理模块:根据接收或发送数据,对描述符发送队列进行写或度操作,并且根据优先级信息,对各优先级队列进行链表式管理;

缓存标签队列管理模块:通过存储在发送队列中的描述符所含的缓存标签,对每个数据帧所占用的缓存进行链表式管理;

空闲队列管理模块:释放和回收发送队列表项和缓存标签表项的存储地址。

本发明还提供一种在交换控制电路中巨帧的控制方法,其特征在于,所述在交换控制电路中巨帧的控制方法包括以下步骤:

步骤一,寄存器堆模块存储系统工作所需要的配置和状态信息;

步骤二,千兆MAC模块实现千兆以太网数据链路层功能,完成MAC接口数据格式与数据总线数据格式之间的转换;

步骤三,通过数据总线,数据帧头由数据表管理模块进行学习、解析及老化,数据帧内容存储在数据缓存内;

步骤四,数据缓存模块对接收数据进行分配空闲内存,对发送数据进行释放数据内存;

步骤五,根据地址表管理模块提供的目的端口转发表生成多个对应端口的发送描述符,其中发送描述符根据QOS属性进入对应优先级队列排队;

步骤六,根据数据缓存模块提供的数据内存地址信息生成多个缓存标签,每个标签对应一个页地址;

步骤七,对各个优先级队列进行调度,从发送队列调度成功的描述符向数据缓存模块提供发送帧的头地址,然后根据缓存标签链表依次向数据缓存模块提供发送帧的后续地址;

步骤八,数据缓存模块根据描述符管理模块提供的数据内存地址,从数据缓存中把数据传输至数据总线,然后通过千兆MAC模块把数据交换出去。

优选地,所述在交换控制电路中巨帧的控制方法应用于巨帧,巨帧所对应的数据存储地址的处理采用两级链表,第一级是发送队列链表,第二级是缓存标签链表。

优选地,所述发送队列链表记载着该发送端口各个帧的发送次序、帧信息以及对应的缓存标签。

优选地,所述发送端口为实现QOS可支持多个发送队列,每个发送队列大小可动态调整,每个发送队列表项就是一个描述符,对应一帧数据;所述缓存标签管理每一页缓存,对于超过256字节长度的帧,需要多个缓存标签表示,并且通过链表来控制管理。

优选地,所述缓存标签链表记载着每帧存放的缓存地址。

优选地,所述发送队列表项和缓存标签表项的设计是通过下一个描述符地址和下一个缓存标签地址来维护链表的连续性,并通过增加头标识和尾标识来快速判断链表的状态;所述发送队列中的描述符通过链表来控制管理;所述帧数据的写入,缓存标签链表都会更新,维护着每个描述符对应帧存放的所有页地址。

本发明的积极进步效果在于:本发明的发送队列链表和缓存标签共同管理,读写发送队列描述符和缓存标签都采用双端口RAM,能同时读写不同地址的数据,提高读写描述符和缓存标签的效率;两级链表有效的解决了巨帧的存储问题,而且硬件结构上的实现也不复杂。

附图说明

图1为发送队列链表和缓存标签链表的组织结构图。

图2为发送队列表项结构图。

图3为缓存标签表项结构图。

图4为交换控制电路结构框图。

图5为描述符管理模块结构框图。

图6为标准的二层帧结构的示意图。

图7为巨帧结构的示意图。

具体实施方式

下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。

本发明在交换控制电路中巨帧的控制系统包括:

描述优先级调度模块:根据调度策略,在多个优先级队列中挑选最先被调度的队列,把该队列的首个描述符地址提供给发送队列管理模块;

发送队列管理模块:根据接收或发送数据,对描述符发送队列进行写或度操作,并且根据优先级信息,对各优先级队列进行链表式管理;

缓存标签队列管理模块:通过存储在发送队列中的描述符所含的缓存标签,对每个数据帧所占用的缓存进行链表式管理;

空闲队列管理模块:释放和回收发送队列表项和缓存标签表项的存储地址。

本发明在交换控制电路中巨帧的控制方法包括以下步骤:

步骤一,寄存器堆模块存储系统工作所需要的配置和状态信息;

步骤二,千兆MAC模块实现千兆以太网数据链路层功能,完成MAC接口数据格式与数据总线数据格式之间的转换;

步骤三,通过数据总线,数据帧头由数据表管理模块进行学习、解析及老化,数据帧内容存储在数据缓存内;

步骤四,数据缓存模块对接收数据进行分配空闲内存,对发送数据进行释放数据内存;

步骤五,根据地址表管理模块提供的目的端口转发表生成多个对应端口的发送描述符,其中发送描述符根据QOS属性进入对应优先级队列排队,排队形式如图1的第一级链表;

步骤六,根据数据缓存模块提供的数据内存地址信息生成多个缓存标签,每个标签对应一个页地址,排队形式如图1的第二级链表;

步骤七,对各个优先级队列进行调度,从发送队列调度成功的描述符向数据缓存模块提供发送帧的头地址,然后根据缓存标签链表依次向数据缓存模块提供发送帧的后续地址;

步骤八,数据缓存模块根据描述符管理模块提供的数据内存地址,从数据缓存中把数据传输至数据总线,然后通过千兆MAC模块把数据交换出去。

如图1至图4所示,本发明是一种在交换控制电路中巨帧的控制方法,每个端口都有两级链表用于维护该端口的发送队列。巨帧所对应的数据存储地址的处理采用两级链表,第一级是发送队列链表,第二级是缓存标签链表。

发送队列链表记载着该发送端口各个帧的发送次序、帧信息以及对应的缓存标签。缓存标签链表记载着每帧存放的缓存地址。

每个发送端口为实现QOS可支持多个发送队列(TXQ),每个发送队列大小可动态调整,每个发送队列表项就是一个描述符,对应一帧数据。对于同一发送队列中的描述符,通过链表来控制管理。

每一页缓存由一个缓存标签(Buffer Tag)管理,对于超过256字节长度的帧,需要多个缓存标签表示,并且通过链表来控制管理。若一个9728字节的巨帧,需要38个缓存标签,此38个标签通过下一个缓存标签地址进行链表式管理。

两级链表的维护分别通过读写描述符状态机和读写缓存标签状态机来实现。

每页帧数据的写入,缓存标签链表都会更新,维护着每个描述符对应帧存放的所有页地址。当收到长帧的第一页内容,会写一个缓存标签,记录该256字节的页地址,同时帧头状态置1,帧尾状态置0,下一个缓存标签地址指向空闲的缓存标签链表的头指针;等收到下一页内容,另外写一个缓存标签,记录剩余字节存放的页地址,帧头状态置0,帧尾状态置1,同时把该帧的前一个缓存标签的下一个缓存标签地址域更新为当前缓存标签地址。

当需要发送长帧时,通过描述符的缓存标签域找到缓存标签链表的位置,从中找到发送帧的页地址,若读到帧尾标识为1,根据下一个缓存标签地址继续读下一个缓存标签,直至读取到帧尾标识为1,此帧才读取完毕。

在描述符的设计中,若以256字节为一页为前提,在最长帧只支持1518字节的交换机中,设计一个描述符或一个扩展类型的描述符对应一个帧就能满足要求,而对于支持巨帧的设备,此种设计已不满足要求,单个描述符已不可能包含巨帧数据的所有页地址。

描述符管理模块是交换控制电路中的重要功能模块,主要负责帧存储地址的管理和优先级队列的调度,而两级链表是帧存储地址管理的一种实现方式。

综上所述,本发明的发送队列链表和缓存标签共同管理,读写发送队列描述符和缓存标签都采用双端口RAM,能同时读写不同地址的数据,提高读写描述符和缓存标签的效率;两级链表有效的解决了巨帧的存储问题,而且硬件结构上的实现也不复杂。

以上所述的具体实施例,对本发明的解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1