专利名称:可配置的快速以太网和吉比特以太网数据端口的制作方法
技术领域:
本发明涉及一种能配置为以多种模式之一运行的数据端口,比如以太网交换机的输入/输出端口。
背景技术:
正在发生从快速以太网(FE)系统到吉比特以太网(GE)系统的逐步转变。为了使从FE到GE以太网的转变更容易,这些,以及以太网在第一英里(EFM)的使用,有利于提供能同时实现快速以太网和吉比特以太网交换机功能的可配置的以太网交换机。
发明内容
一般来讲,本发明提出一种以双模式运行的输入/输出端口,第一模式作为GE端口,第二模式作为多个FE端口。端口包括多个MAC接口,每个都能接收/发送FE分组。至少一个MAC接口可进一步配置成接收GE分组。端口进一步包括接收和发送模块,它们被配置成分别从接口接收GE和FE分组和发送GE和FE分组到接口。
优选地,只有一个MAC接口可配置成接收/发送GE或FE分组,其它的MAC接口只适合接收/发送FE分组。代表性地,每个端口有8个MAC接口。
优选地,每个MAC接口与一块缓冲存储器相联系,所以当接口接收分组时分组被存储。分组可以同时到达所有的FE端口并被存储在单独的缓冲存储器中。缓冲存储器被接收模块连续的轮询。
优选地,以太网交换机有多个的这样的端口。例如,如果有8个这样的端口,那么通过在两种模式间切换不同的端口数目,交换机可以9种模式来操作作为8个GE端口、7个GE端口和8个FE端口、……、2个GE端口和48个FE端口、1个GE端口和56个FE端口或简单作为64个FE端口。
现在仅仅为了说明参考下面的附图描述本发明的优选特征图1以电路图示出作为本发明实施例的可配置以太网端口;图2示出图1的接收模块的结构;图3示出图2的接收模块中的存储概念;图4示出一个显示图2的接收模块怎样处理分组的时序表;和图5示出图1的发送模块的结构。
具体实施例方式
首先参考图1,根据本发明可配置的以太网端口1包括具有适当的引脚数目以实现8个FE MAC接口功能的接口3。这些引脚被分为8组。其中一组引脚实现一个GE分组接口的功能,这样一个分组需要与一个FE分组相同的引脚数目。接口3从/向图的左侧接收/发送GE分组(例如以GMII、RGMII或TBI格式)。接口3发送接收到的分组到接收模块5,并且发送从发送模块7收到的分组到图的左侧。
所示的接收模块5包括以下主要部分存储器51rx_mem;部分53,其具有具有从输入的数据分组中提取以太网头并将它放入描述符和将输入的分组中数据放入单元的接口re_max_iface,和从分组中的其它头提取信息并将此信息也加入描述符的分析器rx_parser;以及单元55,其具有第一接口ax_ed_iface和第二接口rx_pr_iface。
以太网端口1进一步包括发送模块7,显示其具有以下主要部分存储器TX_MEM 71、TX_MAC_IFACE 73和包括tx_edram_iface和tx_pq_iface的单元75。
接收模块5与分组解析模块2和嵌入式DRAM(eDRAM)4通信。发送模块7与嵌入式DRAM 4和队列/分组管理器6通信。
以太网端口1进一步包括CPU接口9和MIB(管理信息库)计数器11。这些计数器统计不同的分组的类型,例如64字节分组的数目。
RX模块5的结构在图2中有更详细的显示。RX模块的基本数据/控制流如下1、一组先入先出的输入缓冲存储器rx_ifofo接收和存储输入的分组并处理与MACS 3的接口。
2、当数据准备好时,rx_ifofo通知接收MAC接口rx_mac_iface。
3、接口rx_mac_iface从rx_ifofo取得数据并将其存储到存储器rx_mem_mgr。对每一个被rx_mac_iface取得的分组,各自的分组描述符被分配给分组。分组描述符包括关于输入分组(从IFIFO/Current分组的数目收到的控制信息等等)的状态信息。此分组描述符被分配给输入分组并且只有当完整的分组被写入存储器时才会重分配。分组描述符在寄存器文件re_reg_file中被分配。Rx_reg_file和rx_mem_mgr是附图1中rx_mem的一部分。总共24个分组描述符都是可用的。这样,在FE模式,每个FE端口有3个分组描述符可用。分组描述符在图3的顶行示出,比如PKT_DSC/PH/RKEY(#0)等等。
4、每个帧的头24字节被存储进一个单独的存储体PKT_PR_DATA和RX_MEM中并被发送到分组解析模块2。这在图3中给出,其示出此存储器的部分(编号PKT_PR_DAT(#0)到PKT_PR_DAT(#23)),例如相应于每个分组描述符的部分。这24字节最后与分组头(PH)一起被发送到eDRAM4。在头24个字节之后,每32字节块被存入一个单独的32字节存储单元(RXD_CELL)。这些存储单元以时间片轮转的方式被分配给输入数据。存储单元在相应的数据被写入eDRAM时被释放。总共32个存储单元RXD_CELL可用,例如每个FE端口4个。在图3中被置于图3中阴影位置的104个字节的帧的分配被示出。如上所述,头24个字节被存入存储器部分PKT_PR_DATA#0而剩下的80个字节被存入3个存储单元(RXD_CELL#0、RXD_CELL#1和RXD_CELL#02),留下第三个存储单元RXD_CELL#2。
5、输入数据被RX分析器rx_parser分析,其从每个分组中提取被称为IKEY的8个两字节项。这些两字节项被写入PKT_PR_DATA的头16个字节。基于在寄存器文件的8个偏移寄存器中编程的偏移量来执行提取。rx_parser也确定帧是否有VLAN标记和/或SNAPped。VLAN标记和优先级如果存在,也被提取。此信息与IKEY和数据的24个字节的头16个字节一起被发送到PR模块2。
6、一旦已经从rx_ififo收到完整的分组,并且RX分析器已经将IKEY写入PKT_PR_DATA,RX分组解析接口(rx_pr_iface)就发送IKEY和数据到分组解析模块2,倘若分组解析模块2已准备接收的话。
7、接收模块5的eDRAM接口(rx_edram_iface)以17个周期的脉冲串的形式发送每个完整的RXD_CELL到eDRAM4。
8、以给定了256比特的带宽,数据以32字节脉冲串的形式写入eDRAM4。这些32字节脉冲串(总共256字节)的每一个被称为单个分组号pbnum。接收模块5进一步包括分组号管理器(rx_pbnum_mgr),其维持每个FE端口3个分组号的队列或每GE端口24个分组号的队列。当被图2的pm模块请求时,分组的号被提供给rx_max_iface。
图4的时序图是一个示出上述操作的随时间从左向右流向的时序图。顶行示出rx_ififo怎样将数据写到存储器RX_MEM51。中间行示出数据向eDRAM的传送。最下面的行示出IKEY、数据的16字节和控制数据怎样被写到分组模块。分组头和给eDRAM4的数据的24个字节的传送通过从分组解析模块2接收revRKEY信号而发生。
当GE和FE间发生切换时,上述的方案基本没有改变。改变是分析器不同和在GE中数据量更大,所以更多的存储单元RXD_CELLs被用于每个分组。
如果延迟长于88个周期,则性能受到影响。分组在RX中停留的更长。如果这个趋势继续,那么最后所有的PCT_DCC被占用。
现在转到图5,示出的TX模块7的结构与RX模块5的结构非常的对称,所以图5中相应项被给出相似的标号。图1的队列/分组管理器6在图5中被作为分组管理器pm和队列管理器qm示出。此模块的操作步骤如下1、在任何时候有至少一个分组描述符可用时,通过接口3被发送的新分组就可通过接口tx_qm_iface从队列管理器qm取得。
2、对每一个被tx_qm_iface取得的分组,分组描述符被分配进tx_reg_file。此分组描述符被分配给输出分组并且只有在完整的分组被送到先入先出缓冲存储器输出接口tx_ofifo时才会重分配,并且分组从分组管理器释放。分组描述符PKT_DSC包含了每个分组需要的信息·来自eDRAM4的访问数据(第一个phnum和当前的phnum)。
·发送数据给tx_ofifo(准备发送、TXD_CELL的当前偏移等等)。
·接收来自分组管理器pm的分组(准备释放等等)。
·基本缓冲存储器分配(指定的入口等等)。
不同于接收模块5,帧在tx_mem_mgr中的存储是与所有数据被存储进称为TXD_CELLs的32字节单元一致的。有24个分组描述符和32个TXD单元。当以太网端口1被配置为8个FE端口时,所有的分组描述符PKT_DSCs和TXD_CELLs被所有的FE端口平等的分开。
3、eDRAM接口tx_ed_iface通过单独请求选通脉冲tx_ed_req(10)向eDRAM4请求数据。向eDRAM4请求一个分组的请求总是顺次的。然而,由于eDRAM4的两个不同单元的瞬间载荷不同,数据可以无序的输出。数据在17个周期脉冲串被移动。
4、一旦准备发送分组,接口tx_mac_iface通知tx_ofifo相应端口的数据已准备好。当已经从eDRAM接收到完整的分组或128字节时,其将被发送。
5、一旦已经从存储器(eDRAM4)接收到分组,tx_ed_iface在相应分组描述符(PKT_DSC)中设置一个准备释放位(rdy4rel)。释放请求然后被发送到分组管理器pm。
6、当接口1的相应MAC准备接收数据时,tx_mac_iface接口从tx_mem_mgr向输出接口tx_ofifo传输数据。Tx_ofifo管理每个FEMAC、或单个GE MAC间的相互作用。在FE的情况下,输出接口tx_ofifo内的存储器被在所有FE端口间平等分配。
此外,上述的方案在GE和FE的情况下几乎没有变化。由于图2示出的作为PINS信号的接收的数据,以RX和TX接口知道它们要处理的数据的类型。
权利要求
1.一种以太网交换机的输入/输出端口,包括多个MAC接口,每个MAC接口能接收/发送FE分组,至少一个MAC接口可进一步被配置接收/发送GE分组;和接收和发送模块,所述接收和发送模块可被配置成分别从接口接收GE和FE分组和发送GE和FE分组到接口。
2.如权利要求1所述的端口,其中只有一个MAC接口可配置为接收/发送GE或FE分组,其它的MAC接口只适合接收/发送FE分组。
3.如权利要求1或权利要求2所述的端口,其中每个MAC接口与用来存储接收到的分组的缓冲存储器相联系,接收模块被设置成连续地的从缓冲存储器中接收分组,由此接收模块连续地接收FE分组即使FE分组实际同时到达不同的MAC。
4.如权利要求1、权利要求2或权利要求3所述的端口,其每个端口包括8个MAC接口。
5.一种以太网交换机,包括多个如前述权利要求之一所述的端口。
6.一种以太网交换机,包括8个如权利要求3的任何所述的端口,每个端口可以在两种模式之间切换,其中分别作为1个GE端口或8个FE端口来操作,由此交换机能作为n个GE端口和8(8-n)个FE端口来操作,n的是0到8的可选整数。
7.一种操作如权利要求1到4任何一个所述的以太网端口的方法,该方法包括把控制信号应用于端口以确定接口是否作为FE接口操作或至少一个接口作为GE接口操作。
全文摘要
一种以太网交换机,具有至少一个能以双模式运行的输入/输出端口1,第一模式作为GE端口,第二种模式作为多个FE端口。此端口有8个MAC接口3,每个MAC接口能接收/发送FE分组。端口进一步包括接收和发送模块5、7,其能够从接口接收GE和FE分组和发送GE和FE分组到接口。如果以太网交换机有8个这样的端口,那么通过在两种模式间切换不同的端口数目,交换机可以9种不同的模式操作作为8个GE端口、7个GE端口和8个FE端口、……、2个GE端口和48个FE端口、1个GE端口和56个FE端口或简单作为64个FE端口。
文档编号H04L12/413GK1669275SQ02829572
公开日2005年9月14日 申请日期2002年9月6日 优先权日2002年9月6日
发明者什里达尔·穆巴拉克·米什拉, 张月秋, 胡春风, 沈学强 申请人:因芬奈昂技术股份有限公司