一种千兆万兆以太复合网卡及其实现方法

文档序号:7856242阅读:345来源:国知局
专利名称:一种千兆万兆以太复合网卡及其实现方法
技术领域
本发明涉及一种高性能网卡,具体涉及一种千兆万兆以太复合网卡。
背景技术
在目前的市场上,万兆网卡的实现方式一般有专用ASIC、NP处理器、FPGA几种方式。用ASIC实现的方案线速最高但是功能很单一也不能灵活改变功能;用FPGA方案设计非常灵活但是成本高性能较差;用NP的实现方案虽然功能强大但是成本很高,而且由于其特殊的架构编程十分困难。针对上述问题,本发明提供一种用众核处理器实现网卡的方式,达到性能、功耗、成本的平衡。

发明内容
本发明提供的一种千兆万兆以太复合网卡,包括CPU控制模块、光模块、串并转换模块、收发器模块、固件存储器模块、PCIE桥接芯片模块、内存模块、参数存储器模块、算法存储器模块、RS232接口芯片模块和两个PCIE X 4下行端口;所述CPU控制模块为众核处理器,连接所述串并转换模块、收发器模块、固件存储器模块、算法存储器模块、参数存储器模块、PCIE桥接芯片模块、内存模块和RS232接口芯片丰吴块;所述固件存储器模块存储操作系统;所述算法存储器模块存储网卡需要实现功能的算法程序;所述参数存储器模块存储CPU控制模块和收发器模块的配置参数;所述SFP模块包括两个SFP接口和两个SFP+接口,所述两个SFP+接口通过所述串并转换模块与所述CPU控制模块连接,所述两个SFP接口通过所述收发器模块与所述CPU控制模块连接;所述两个PCIE X 4下行端口通过所述PCIE桥接芯片模块连接所述CPU控制模块。本发明提供的第一优选实施例中所述SFP接口连接千兆以太网;所述SFP+接口连接万兆以太网;所述SFP+接口传来的XFI接口信号通过所述串并转换器模块转成XAUI接口信号送入所述CPU处理模块处理;所述SFP接口传来的SFI接口信号通过收发器模块转成RGMII接口信号送入所述CPU处理模块处理。本发明提供的第二优选实施例中所述内存模块为操作系统内存和系统大容量缓存;所述CPU控制模块通过四个独立的DDR2通道控制所述内存模块,所述每个DDR2通道连接一个SODM的插槽,最大支持容量为16GB。本发明提供的第三优选实施例中所述PCIE桥接芯片采用独立于所述CPU处理模块工作的PLX8617芯片,当系统上电后,所述PCIE桥接芯片模块自动跟主机端协商一个PCIE X 8的上行端口,然后跟CPU处理模块协商两个PCIE X 4的下行端口,所述CPU处理模块轮流通过所述两个PCIE X 4下行端口发送数据给主机。
本发明提供的第四优选实施例中所述CPU控制模块采用TLRx6480 ;所述串并转换器模块采用VSC8488芯片;所述收发器模块采用BCM5482S芯片;所述固件存储器模块采用SST85LD1002U芯片;所述算法存储器模块采用S25FL128 ;所述参数存储器模块采用AT24C512芯片。本发明提供的第五优选实施例中提供一种千兆万兆以太复合网卡的实现方法,包括步骤S301,系统上电后,所述CPU处理模块从所述固件存储器模块加载系统运行的操作系统;步骤S302,初始化所述CPU处理模块的内部接口、所述串并转换器模块和所述收 发器模块;步骤S303,检测每个网络接口的状态,有任一网络接口状态异常,则向用户报告;所有网络接口状态正常,则执行步骤S304 ;步骤S304,运行满足用户需要的用户态程序;步骤S305,数据包从网卡的光模块的万兆网口输入,CPU处理模块对每个数据包进行检测和过滤,将符合规则设置的数据包发送到主机端。本发明提供的第六优选实施例中所述步骤S301中,所述操作系统为Linux操作系统,所述CPU处理模块加载所述Linux操作系统的过程为所述CPU处理模块从所述固件存储器模块读取启动代码;按照所述启动代码设置的从所述CPU处理模块的核心中选取离CPU处理器芯片的内存控制器最近的4个核心,所述4个核心分别对所述4个内存控制器进行初始化;随机从所述CPU处理模块的核心中挑选一个作为所述Linux操作系统的服务核心,所述Linux操作系统的服务核心加载所述固件存储器模块中存储的所述Linux操作系统。本发明提供的第七优选实施例中所述步骤S302中初始化所述CPU处理模块的内部接口、所述串并转换器模块和所述收发器模块具体包括驱动程序对所述CPU处理模块的TLRx6480众核处理器内部接口进行初始化,通过独立的MDIO接口对所述串并转换器模块芯片VSC8488和收发器模块芯片BCM5482S进行初始化。本发明提供的第八优选实施例中所述步骤S303中驱动检测网络接口状态异常时,驱动会尝试重新训练网络若干次直到超时,通过指示灯和PCIE消息向用户报告状态异

巾o本发明提供的第九优选实施例中所述步骤S305中,所述数据包从所述网卡的光模块的万兆网口输入后,所述CPU控制模块通过算法逻辑对每个数据包进行检测和过滤,对符合规则设置的数据包通过所述两个PCIEX4下行端口组合成的PCIE接口发送到主机端;所述算法逻辑包括哈希、五元组匹配、MAC地址识别。本发明提供的一种千兆万兆以太复合网卡及其实现方法的有益效果包括I、采用众核处理器TLRx6480作为网卡的CPU处理模块,设计灵活且编程过程简单,满足高性能和低功耗成本的要求。2、使用四合一的光模块盒子,万兆以太网采用SFP+接口,千兆以太网采用SFP接口,SFP+接口传来的数据经过串并转换器芯片VSC8488送入CPU处理模块处理,SFP接口传来的数据经过收发器芯片BCM5482S送入CPU处理模块处理,实现千兆网卡和万兆网卡的集

口 o3、系统拥有四个独立的DDR2通道连接四个SOD頂插槽,最大支持容量可为16GB,
为系统提供大容量缓存和操作系统内存。4、参数存储器采用一片IIC ROM芯片AT24C512,存储物理层器件VSC8488和BMC5482S的配置参数,不用分别配备单独的参数存储器。 5、通过PCIE桥接PLX8617芯片将两个PCIE X 4接口合并成一个X 8接口,提高系统的带宽。


图I为本发明提供的一种千兆万兆以太复合网卡的结构原理图;图2为本发明提供的一种千兆万兆以太复合网卡的实施例一的电路图;图3为本发明提供的一种千兆万兆以太复合网卡的实现方法流程图。
具体实施例方式本发明提供的一种千兆万兆以太复合网卡如图I所示,由图I可知,该以太复合网卡包括CPU控制模块、光模块、串并转换模块、收发器模块、固件存储器模块、PCIE桥接芯片模块、内存模块、参数存储器模块、算法存储器模块、RS232接口芯片模块和两个PCIEX4下行端口,其中,CPU控制模块为众核处理器,众核处理器为大于32个核心的并行处理器,该(PU控制模块连接串并转换模块、收发器模块、固件存储器模块、算法存储器模块、参数存储器模块、PCIE桥接芯片模块、内存模块和RS232接口芯片模块。实施例一如图2所示为本发明提供的一种千兆万兆以太复合网卡的实施例一的结构示意图。CPU控制模块采用TLRx6480众核处理器,该TLRx6480众核处理器具有64个核心。其中,光模块包括两个SFP+接口和两个SFP接口,万兆以太网采用SFP+接口,千兆以太网采用SFP接口,SFP+接口和SFP接口外形尺寸兼容,所以光模块使用一个四合一的光模块盒子,万兆接口使用上面的两个位置,千兆接口使用下面的两个位置。光模块的SFP+接口传来的XFI (每秒万兆速率的芯片间电气接口规范)接口信号通过串并转换器模块转成XAUI(10 Ethernet Attachment Unit Interface,每秒万兆速率的以太网连接单元接口)接口信号,然后将数据送入CPU处理模块处理。光模块的SFP接口传来的SFI (SerDes Framer Interface,)接口信号通过收发器模块转成RGMII (ReducedGigabit Media Independent Interface,串行吉比特媒体独立接口)接口信号,然后送入CPU处理模块处理。优选的,串并转换器模块采用VSC8488芯片,收发器模块采用BCM5482S芯片。CPU控制模块通过四个独立的DDR2通道控制内存模块,提高系统的带宽,该内存模块作为操作系统内存以及系统大容量缓存,每个通道连接一个SODIM的插槽,最大支持容量为16GB,如图2所示CPU控制模块连接SODMl、SOD頂2、SODIM3和SOD頂4四路插槽。固件存储器模块采用一片2GB的NAND Flash芯片SST85LD1002U芯片,用来存储Linux操作系统。算法存储器模块采用一片128MB的SPI Flash芯片S25FL128,用来存储网卡需要实现功能的算法程序。参数存储器模块采用一片IIC ROM芯片AT24C512,用来存储CPU控制模块和收发器模块的配置参数。具体的,用来存储物理层器件VSC8488和BMC5482S的配置参数。CPU控制模块通过PCIE桥接芯片模块连接两个PCIE X 4下行端口。CPU控制模块采用的TLRx6480只支持两个独立的PCIEX4接口,做网卡时只能连接到主机的一个插槽
上,如果只用一个PCIE X 4接口则系统带宽会不够,所以采用PCIE桥接芯片将两个PCIE X 4接口合并成一个X 8接口,PCIE桥接芯片采用PLX8617芯片,该PCIE桥接芯片是独立于CPU处理模块工作的,当系统上电后,PCIE桥接芯片模块自动跟主机端协商一个PCIEX8的上行端口,然后跟CPU处理模块协商两个PCIE X 4的下行端口,当CPU处理模块要发数据给主机时,轮流通过两个PCIE X 4下行端口发送。如图3所示为本发明提供的一种千兆万兆以太复合网卡的实现方法流程图,包括以下步骤步骤S301,系统上电后,CPU处理模块从固件存储器模块加载系统运行的操作系统。具体的,该操作系统为Linux操作系统,CPU处理模块加载该Linux操作系统的过程为CPU处理模块根据跳线设置的从固件存储器模块开始启动,从固件存储器模块读取启动代码,按照该启动代码设置的从CPU处理模块的核心中选取离CPU处理器芯片的内存控制器最近的4个核心,该4个核心分别对4个内存控制器进行初始化,4个内存控制器初始化完成后进行扫描操作,随机从CPU处理模块的核心中挑选一个作为操作系统服务核心,用该操作系统服务核心加载固件存储器模块中存储的Linux操作系统,并将操作系统的核心代码拷贝到性能最好的那个内存中去。CPU处理模块采用TLRx6480众核处理器时,内部核心数为64个,4个对控制器进行初始化的核心和操作系统服务核心均从该64个核心中选择。步骤S302,初始化CPU处理模块的内部接口、串并转换器模块和收发器模块。具体的,利用驱动程序对系统硬件初始化,首先对TLRx6480处理器内部接口进行初始化,然后通过独立的MDIO (Management Data Input/Output,管理数据输入输出)接口对串并转换器模块芯片VSC8488和收发器模块芯片BCM5482S进行初始化。步骤S303,检测每个网络接口的状态,任意一个网络接口状态异常,则向用户报告;每个网络接口状态正常,则执行步骤S304。具体的,驱动检测每个网络接口的状态。并且网络接口状态异常时,驱动会尝试重新训练网络若干次直到超时,通过指示灯和PCIE消息向用户报告状态异常。步骤S304,运行满足用户需要的用户态程序。步骤S305,数据包从网卡的光模块的万兆网口输入,CPU处理模块对每个数据包进行检测和过滤,将符合规则设置的数据包发送到主机端。
数据包从网卡的光模块的万兆网口输入,CPU处理模块对每个数据包进行检测和过滤,对符合规则设置的数据包通过两个PCIE X 4下行端口组合成的PCIE接口发送到主机端。具体的,大量的数据包从万兆口输入,进入CPU控制模块以后通过一些算法逻辑(例如哈希、五元组匹配、MAC地址识别等)对每个数据包进行检测和过滤,对符合规则设置的数据包通过PCIE接口发送到主机端程序。最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者等同替换,而未脱离本发明精神和范围的任何 修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种千兆万兆以太复合网卡,其特征在于,包括CPU控制模块、光模块、串并转换模块、收发器模块、固件存储器模块、PCIE桥接芯片模块、内存模块、参数存储器模块、算法存储器模块、RS232接口芯片模块和两个PCIE X 4下行端口 ; 所述CPU控制模块为众核处理器,连接所述串并转换模块、收发器模块、固件存储器模块、算法存储器模块、参数存储器模块、PCIE桥接芯片模块、内存模块和RS232接口芯片模块; 所述固件存储器模块存储操作系统;所述算法存储器模块存储网卡需要实现功能的算法程序;所述参数存储器模块存储CPU控制模块和收发器模块的配置参数; 所述SFP模块包括两个SFP接口和两个SFP+接口,所述两个SFP+接口通过所述串并转换模块与所述CPU控制模块连接,所述两个SFP接口通过所述收发器模块与所述CPU控制丰吴块连接; 所述两个PCIEX4下行端口通过所述PCIE桥接芯片模块连接所述CPU控制模块。
2.如权利要求I所述的网卡,其特征在于,所述SFP接口连接千兆以太网;所述SFP+接口连接万兆以太网; 所述SFP+接口传来的XFI接口信号通过所述串并转换器模块转成XAUI接口信号送入所述CPU处理模块处理;所述SFP接口传来的SFI接口信号通过收发器模块转成RGMII接口信号送入所述CPU处理模块处理。
3.如权利要求I所述的网卡,其特征在于,所述内存模块为操作系统内存和系统大容量缓存;所述CPU控制模块通过四个独立的DDR2通道控制所述内存模块,所述每个DDR2通道连接一个SODM的插槽,最大支持容量为16GB。
4.如权利要求I所述的网卡,其特征在于,所述PCIE桥接芯片采用独立于所述CPU处理模块工作的PLX8617芯片,当系统上电后,所述PCIE桥接芯片模块自动跟主机端协商一个PCIE X 8的上行端口,然后跟CPU处理模块协商两个PCIE X 4的下行端口,所述CPU处理模块轮流通过所述两个PCIE X 4下行端口发送数据给主机。
5.如权利要求1-4任一项所述的网卡,其特征在于,所述CPU控制模块采用TLRx6480; 所述串并转换器模块采用VSC8488芯片;所述收发器模块采用BCM5482S芯片; 所述固件存储器模块采用SST85LD1002U芯片; 所述算法存储器模块采用S25FL128 ; 所述参数存储器模块采用AT24C512芯片。
6.一种千兆万兆以太复合网卡的实现方法,包括如权利要求1-5任一项所述的网卡,其特征在于,包括 步骤S301,系统上电后,所述CPU处理模块从所述固件存储器模块加载系统运行的操作系统; 步骤S302,初始化所述CPU处理模块的内部接口、所述串并转换器模块和所述收发器模块; 步骤S303,检测每个网络接口的状态,有任一网络接口状态异常,则向用户报告;所有网络接口状态正常,则执行步骤S304 ; 步骤S304,运行满足用户需要的用户态程序; 步骤S305,数据包从网卡的光模块的万兆网口输入,CPU处理模块对每个数据包进行检测和过滤,将符合规则设置的数据包发送到主机端。
7.如权利要求6所述的网卡的实现方法,其特征在于,所述步骤S301中,所述操作系统为Linux操作系统,所述CPU处理模块加载所述Linux操作系统的过程为 所述CPU处理模块从所述固件存储器模块读取启动代码; 按照所述启动代码设置的从所述CPU处理模块的核心中选取离CPU处理器芯片的内存控制器最近的4个核心,所述4个核心分别对所述4个内存控制器进行初始化; 随机从所述CPU处理模块的核心中挑选一个作为所述Linux操作系统的服务核心,所述Linux操作系统的服务核心加载所述固件存储器模块中存储的所述Linux操作系统。
8.如权利要求6所述的网卡的实现方法,其特征在于,所述步骤S302中初始化所述CPU处理模块的内部接口、所述串并转换器模块和所述收发器模块具体包括 驱动程序对所述CPU处理模块的TLRx6480众核处理器内部接口进行初始化,通过独立的MDIO接口对所述串并转换器模块芯片VSC8488和收发器模块芯片BCM5482S进行初始化。
9.如权利要求6所述的网卡的实现方法,其特征在于,所述步骤S303中驱动检测网络接口状态异常时,驱动会尝试重新训练网络若干次直到超时,通过指示灯和PCIE消息向用户报告状态异常。
10.如权利要求6所述的网卡的实现方法,其特征在于,所述步骤S305中, 所述数据包从所述网卡的光模块的万兆网口输入后,所述CPU控制模块通过算法逻辑对每个数据包进行检测和过滤,对符合规则设置的数据包通过所述两个PCIEX4下行端口组合成的PCIE接口发送到主机端; 所述算法逻辑包括哈希、五元组匹配、MAC地址识别。
全文摘要
本发明提供一种千兆万兆以太复合网卡及其实现方法,包括CPU控制模块、光模块、串并转换模块、收发器模块、固件存储器模块、PCIE桥接芯片模块、内存模块、参数存储器模块、算法存储器模块、RS232接口芯片模块和两个PCIE×4下行端口;所CPU控制模块为众核处理器,连接所述串并转换模块、收发器模块、固件存储器模块、算法存储器模块、参数存储器模块、PCIE桥接芯片模块、内存模块和RS232接口芯片模块;所述SFP模块包括两个SFP接口和两个SFP+接口,所述两个SFP+接口通过所述串并转换模块与所述CPU控制模块连接,所述两个SFP接口通过所述收发器模块与所述CPU控制模块连接。采用众核处理器作为网卡的CPU处理模块,达到性能、功耗和成本的平衡。
文档编号H04L12/02GK102801533SQ20121025073
公开日2012年11月28日 申请日期2012年7月19日 优先权日2012年7月19日
发明者姚文浩, 郑臣明, 王晖, 王英, 魏廷, 邓建廷 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1