《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > FC交换机芯片MT端口软核的设计与实现
FC交换机芯片MT端口软核的设计与实现
2016年微型机与应用第24期
张志禹1,许耀斌1,曹继英2,乔雄1
1.西安理工大学 自动化与信息工程学院,陕西 西安 710048;2.长安大学 信息工程学院,陕西 西安 710064
摘要: 随着网络技术的快速发展,FC交换机对网络协议的分析、故障的定位等功能提出新的挑战。首先提出基于FC交换机协议处理芯片的监控端口(Monitor Port, MT)软核的工作原理;然后对监控端口软核进行了设计与实现;最后在虚拟仿真平台和FPGA验证平台下对MT端口的功能和性能分别进行仿真和测试。结果表明,这种新的智能监控模式不仅能够用于网络监管和故障排除,而且可用于流量统计。
Abstract:
Key words :

  张志禹1,许耀斌1,曹继英2,乔雄1

  (1.西安理工大学 自动化与信息工程学院,陕西 西安 710048;2.长安大学 信息工程学院,陕西 西安 710064)

        摘要:随着网络技术的快速发展,FC交换机对网络协议的分析、故障的定位等功能提出新的挑战。首先提出基于FC交换机协议处理芯片的监控端口(Monitor Port, MT)软核的工作原理;然后对监控端口软核进行了设计与实现;最后在虚拟仿真平台和FPGA验证平台下对MT端口的功能和性能分别进行仿真和测试。结果表明,这种新的智能监控模式不仅能够用于网络监管和故障排除,而且可用于流量统计。

  关键词:FC交换机;MT端口;虚拟仿真;FPGA验证

  中图分类号:TN47文献标识码:ADOI: 10.19358/j.issn.1674-7720.2016.24.011

  引用格式:张志禹,许耀斌,曹继英,等. FC交换机芯片MT端口软核的设计与实现[J].微型机与应用,2016,35(24):36-39.

0引言

  美国国家标准委员会的X3T11工作组于1988年开始制定了一种高速串行通信协议——光纤通道(Fibre Channel,FC)协议[1]。1997年,光纤通道协议标准首次面世,速度为1 Gb/s,现在已发展到第六代,速度为32 Gb/s。光纤通道具有高带宽、高可靠性、通用性强以及连接距离远等优点[2]。光纤通道主要在两大领域中应用,一是存储区域网络,二是航空电子环境。目前,国内外学者对交换结构及其调度算法进行了大量的研究,根据研究方法的不同,交换结构调度算法整体上可以分为纯理论分析法和快速启发式调度算法。

  纯理论分析法主要探讨调度算法的理论基础,例如吞吐量、时延、服务质量保证等性能。国外学者提出利用高性能核心交换和路由器来确保吞吐量、速率和时延,并且这种算法在输入和输出端口上的并行执行具有扩展性[3]。国内学者提出一种保证速率的优先级实时调度算法[4]。

  快速启发式调度算法是一种易于硬件实现的调度算法,主要从其实用性出发,以交叉点小缓存、高效、低复杂度、硬件易实现作为性能评价指标。CARVAJAL G等人提出了在数据链路层之上添加实时层以支持EDF(Earliest Deadline First)调度机制,实时数据包无需按照以太网协议架构的标准在通道内实时调度传输[5]。

1FC交换机芯片的体系结构

  FC交换机芯片集成了嵌入式片上处理器,可提供多路线卡端口、MT端口之间数据交换,且包含FC MAC控制器、Timer等片上资源,以及交换机域ID标识接口、链路状态指示接口和多路多种速率下全双工高速串行SerDes接口。该芯片用于FC交换机中,完成FC网络高速无阻交换、数据监控、通信配置、时钟同步及网络管理等功能。使用该芯片可以方便地构建FC光纤通道交换网,以此为基础可以快速实现用于各任务子系统间的光纤通道高速互联。FC交换机芯片的体系结构如图1所示。

001.jpg

  如图2所示,交换机芯片的监控功能包括以下几个方面:

  (1)支持监控输入端口的数据功能;

  (2)支持监控输出端口的数据功能;

  (3)支持监控含有特殊字段帧的数据功能;图1FC交换机芯片体系结构

 

002.jpg

003.jpg

  (4)支持与网络管理节点(CPU)之间的帧收发功能;

  (5)支持监控、路由方案的在线动态加载,用以完成相应的芯片内部寄存器配置。

2FC交换机MT端口工作原理

  FC交换机芯片MT端口模块中包含以下子模块:监控数据缓冲区写控制模块、信息ID查询控制模块、监控数据缓冲区、监控数据调度模块、监控数据发送控制模块、网络管理节点数据发送处理模块以及网络管理节点数据接收处理模块。其工作原理如图3所示。

  MT端口模块与线卡端口以及网络管理节点相连。MT端口只能被动接收来自线卡端口的数据帧,而监控模式分为输入监控、输出监控和信息ID监控。网络管理节点可与MT端口互相通信,MT端口可以转发来自网络管理节点的帧,或者将接收到的ELS帧转发给网络管理节点。寄存器配置有时标插入设置、监控功能设置以及信息ID缓冲区配置等功能。

3FC交换机MT端口设计实现

  FC交换机MT端口设计包含信息ID查询控制模块设计、监控数据缓冲区写控制模块设计、监控数据调度模块设计、监控数据发送控制模块设计、网络管理节点数据发送处理模块设计以及网络管理节点数据接收处理模块设计。下面将分别对子模块设计进行详细描述。

  3.1信息ID查询控制模块的设计

  该模块的设计思路是将来自F端口的特殊帧信息的信息ID输出到CAM表中,进行信息ID的合法性检测。同时,将信息ID合法的CAM表查询的结果与MT端口信息数目寄存器的值进行比较,判断被监控帧的有效性。

  3.2监控数据缓冲区写控制模块的设计

  该模块的设计思路是根据监控模式、时标使能等相关信号的设置,将来自F端口MAC客户端口的信号时序转化为标准的FIFO接口时序,同时,对帧进行时标插入或产生特殊帧信息ID查询请求等操作。

  本模块设计了对FC帧的接收处理状态机,根据接收到的帧内容及帧标识信号,将帧进行相应处理操作,并将处理后的帧输出至对应缓冲区,其状态机如图4所示。

004.jpg

  3.3监控数据调度模块的设计

  数据调度模块实现了线卡端口和网络管理节点的FC数据帧输出请求之间的优先级调度,设计中采用轮询优先图6信息ID监控仿真波形级调度策略。

  图7MT端口FPGA平台验证环境线卡端口及网络管理节点的帧输出优先级调度用状态机来完成。数据调度模块状态机如图5所示。状态机有N+3个状态,分别为Idle状态、P_0状态~P_N+1状态;P_0~P_N状态对应N+1路线卡端口,P_N+1对应1路网络管理节点。

  

005.jpg

  3.4监控数据发送控制模块的设计

  MT端口MAC帧发送控制模块实现了将监控数据FIFO中的FIFO接口的数据信号转换为MAC客户端发送接口的时序,将帧发送到MT端口MAC中。

  3.5MT端口帧发送处理模块设计

  网络管理节点到MT端口帧发送数据处理模块完成对来自网络管理节点待发送数据帧的存储操作。

  3.6MT端口帧接收处理模块设计

  MT端口帧接收控制模块实现了数据帧的筛选、接收存储功能,并能识别和指示非ELS帧丢弃等。本模块功能为对MT端口接收到的ELS帧进行控制,根据接收到的帧内容及帧类型标识信号,将数据帧存入相应缓冲区或丢弃(非ELS帧)。

4FC交换机MT端口仿真验证

  4.1MT端口虚拟平台仿真

  由于篇幅有限,以下只对信息ID监控情景得到的虚拟仿真波形进行分析说明。

  网络管理节点配置监控模式寄存器值为0x3,表示为信息ID监控模式;配置CAM表中需要被监控的特殊字段值。往线卡端口输入不同的FC帧,帧内容中特殊字段有能被匹配到的,也有不能被匹配到的。仿真结果如图6所示。

  从图6中看到配置CAM表的最后一个特殊字段值为0x100,则在MT端口监控到的数据帧中也包含该特殊字段信息。

006.jpg

  4.2FC交换机MT端口FPGA平台验证

  4.2.1FPGA验证平台的环境

  FPGA原型验证板是整个原型验证系统的核心,FC交换机协议处理芯片的原型验证板可以完成对交换机芯片FPGA原型所有基本功能和系统功能的测试验证。交换机芯片系统集成后的RTL级代码,经FPGA工具综合、实现,下载到FPGA芯片中,实现真实交换机芯片的功能。本研究搭建的MT端口FPGA平台验证环境如图7所示。

007.jpg

  4.2.2FPGA验证平台测试

  在MT端口的光纤链路上接入Finisar测试仪,用以监测光纤链路上的FC帧传输。光纤链路上线后,在Finisar测试仪上可以对抓到的数据包进行解析,解析结果如图8所示。

 

008.jpg

  图8表示MT端口在信息ID监控模式下监测到从线卡端口0发往线卡端口1的数据,其中CAM表配置的值从16’h1到16’h100,符合逻辑设计中CAM表深度256。该帧的MSGID值为4,属于监测范围,所以在MT端口能够正确监控。TYPE字段为0x49且CSCTL字段为0x04,表明该帧为ASM帧且优先级为4。信息数据长度值为16’h5F3,换算到十进制时值为1523,表明MT监控到的帧为超长帧。

  输入数据监控模式是MT端口只对一个线卡端口进行监控,而信息ID监控模式是特殊的输入数据监控模式,可以对线卡端口的输入数据与CAM表配置的敏感信息进行MSGID查询控制,只要CAM表查询匹配成功,该帧就会被镜像到MT端口。由上述结果分析可知,MT端口能够在FPGA原型验证板上正确工作。

  4.2.3监控流量统计

  FC帧最短帧为9个字段,最长帧为537字段,其中1字段等于4 B,FC对应的数据范围是36 B~2148 B。为了便于对监控的流量进行统计,验证时FC帧长度取256个字段,即1 KB数据。假设FC链路的速率为2 Gb/s,即带宽为2 Gb/s,那么用户独享带宽时流量应为200 MB/s。计算方法如下:

  流量=带宽×1 000×0.8/8

  其中编码因子0.8为8b/10b转换时带宽利用率,假如数据为8位,经过8b/10b编码之后数据扩展为10位数据,带宽利用率为80%。转换因子8代表8位数据转化成1 B数据。

  本文中用户最高独享带宽的流量为212.5 MB/s,在FPGA验证平台上做全双工无误码率的测试,其中线卡端口注入的数据包含有特殊字段的帧数据,如表1所示。

009.jpg

  下面给出一种特殊的数据传输方式,线卡输入端口唯一,目的端口分别为0、1,且数据帧发往目的端口的比重分别约占20%和80%,则MT端口监控流量如表2所示。由监控流量统计表分析可得,输入数据端口唯一时,将数据20%和80%比例输出到线卡端口0和1,端口速率分别为41 MB/s和169 MB/s。信息ID监控只是监控所有数据中存在特殊字段的帧信息,在此不做详细分析。全双工无阻交换模式下,端口吞吐量为425 MB。

010.jpg

5结论

  目前这款FC交换机协议处理芯片的MT端口软核虚拟验证工作已经完成,FPGA平台上的测试证明该芯片运行良好。从MT端口软核设计和实现上来说,可对下一个版本以及其他相关芯片的研发提供一定的借鉴,并且该智能监控技术具有广泛的应用前景。

  参考文献

  [1] 罗烨. F AERDMA技术的研究与实现[D]. 成都:电子科技大学, 2010.

  [2] 林强, 熊华钢, 张其善. 光纤通道综述[J]. 计算机应用研究, 2006, 23(2): 9 13.

  [3] CHUANG S T, IYER S, MCKEOWN N. Practical algorithms for performance guarantees in buffered crossbars[J]. Proceedings of IEEE INFOCOM, 2005, 2(7):981 991.

  [4] 黄永葵. 光纤通道标准及其在航空电子中的应用[J]. 航空电子技术, 2004, 34(4): 1 12.

  [5] CARVAJAL G,WU C W,FISCHMEISER S.Evaluation of communication architectures for switched realtime Ethernet[J]. IEEE Transactions on Computers,2014,63(1):218 229.


此内容为AET网站原创,未经授权禁止转载。