CN111555800A - 一种千兆双光口服务器适配器 - Google Patents
一种千兆双光口服务器适配器 Download PDFInfo
- Publication number
- CN111555800A CN111555800A CN202010415164.6A CN202010415164A CN111555800A CN 111555800 A CN111555800 A CN 111555800A CN 202010415164 A CN202010415164 A CN 202010415164A CN 111555800 A CN111555800 A CN 111555800A
- Authority
- CN
- China
- Prior art keywords
- module
- sending
- data
- queue
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/03—Arrangements for fault recovery
- H04B10/032—Arrangements for fault recovery using working and protection systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/25—Arrangements specific to fibre transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/27—Arrangements for networking
Abstract
本发明提供一种千兆双光口服务器适配器,所述适配器包括一个第一PHY层控制器、一个第二PHY层控制器、一个MAC层控制器、一个PCIE接口和两个千兆光纤端口,其中,MAC层控制器包括总线接口、接收缓存模块、发送缓存模块、流量控制模块、接收模块、第一发送模块、第二发送模块、第一PHY接口、第二PHY接口和链路故障判断模块;该适配器支持电脑端接口,并提供一主一备二路端口,其中一路为工作端口,另一为备用端口,工作端口出现故障时,可换备用端口继续工作,进而当一个链路出现故障时,通过切换到另一链路保证网络的连接状态,实现了无感切换,降低了传输的延迟,提高了传输效率。
Description
技术领域
本发明属于适配器技术领域,特别涉及一种千兆双光口服务器适配器。
背景技术
随着科技的进步,人们对信息的需求量越来越大,网络数据的传输媒介已逐渐由网络改为光纤传输。因为光纤传输信息具有传输容量大、保密性好、迅速便利等优点。光纤服务器适配器用于服务器和台式机等高端设备的数据传输。光纤服务器适配器由以太网控制器连接不同的端口进而实现数据的转换和传输。
以太网控制器包括以太网介质访问控制器(MAC层控制器)和物理层接口芯片(PHY层控制器),MAC层控制器是实现流量控制的关键,现有技术公开的以太网MAC控制器IP核的结构框架如图1所示。
传统的双光口服务器适配器包含2路独立的MAC层控制器和2路独立的PHY层控制器;为了提高传统双光口服务器适配器的切换时间,CN105406998A公开了一种基于FPGA的双冗余千兆以太网介质访问控制器IP核,其MAC层模块通过一个PHY接口模块连接两个802.3PHY,并通过设置的冗余管理模块实现链路切换的控制;由于双冗余网络切换过程无需上层驱动程序干预,切换时间仅取决于FPGA的控制时钟周期及双冗余网络模块的控制逻辑,通过合理配置控制时钟并优化控制逻辑,可将双冗余网络切换时间由60~100ms降低至1~5ms,并显著提高双冗余以太网介质访问控制器的稳定性及可靠性。虽然CN105406998A公开的基于FPGA的双冗余千兆以太网介质访问控制器IP核提高了链路切换的响应时间,但是在切换过程中,存在着传输延迟的问题。
发明内容
为了解决现有技术存在的问题,本发明提供一种千兆双光口服务器适配器。
本发明其中一个技术方案提供一种千兆双光口服务器适配器,所述服务器适配器包括:
一个第一PHY层控制器、一个第二PHY层控制器、一个MAC层控制器;
一个PCIE接口,连接到所述MAC层控制器上;和
两个千兆光纤端口,两个所述光纤端口分别被配置为工作端口和备用端口,工作端口连接到所述第一PHY层控制器上,备用端口连接到所述第二PHY层控制器上;
所述MAC层控制器包括总线接口、接收缓存模块、发送缓存模块、流量控制模块、接收模块、第一发送模块、第二发送模块、第一PHY接口、第二PHY接口和链路故障判断模块;
所述总线接口被配置为与PCIE接口连接;
所述接收缓存模块与总线接口连接,被配置为用于对接收的数据帧缓存进行管理;
所述发送缓存模块与总线接口连接,被配置为用于对发送的数据帧缓存进行管理;
所述第一发送模块与第一PHY接口连接,被配置为用于通过第一PHY接口将待发送的数据帧发送至第一PHY层控制器;
所述第二发送模块与第二PHY接口连接,被配置为用于通过第二PHY接口将待发送的数据帧发送至第二PHY层控制器;
所述接收模块与第一PHY接口和第二PHY接口连接,被配置为用于对数据帧进行解析,将合法帧缓存至接收缓存模块;
所述链路故障判断模块与第一PHY接口和第二PHY接口连接,被配置为用于判断工作端口是否存在故障;
所述流量控制模块被配置为用于读取链路故障判断模块判断的故障情况,当存在故障时,控制待发送的数据帧通过第二发送模块发送。
进一步改进的方案中,所述发送缓存模块包括:
第一发送数据子模块,所述第一发送数据子模块被配置为用于缓存待发送的数据帧;
第二发送数据子模块,当存在故障时,所述第二发送数据子模块被配置为用于缓存待发送的数据帧;
所述第一发送模块读取第一发送数据子模块内缓存的数据帧并发送;所述第二发送模块读取第二发送数据子模块内缓存的数据帧并发送;
第一发送队列,所述第一发送队列被配置为用于缓存发送缓存描述符;
发送完成队列,所述发送完成队列被配置为用于缓存发送完成后的帧序号及发送状态;
发送缓存控制子模块,所述发送缓存控制子模块被配置为用于生成待发送数据帧对应的发送缓存描述符;
发送缓存状态队列,当存在链路故障时,所述发送缓存状态队列被配置为读取发送完成队列内最后一个发送状态为发送成功的帧序号,并记录该帧序号之后的所有帧序号;
所述流量控制模块还被配置为用于控制第二发送模块按照顺序读取第二发送数据子模块内的数据帧并发送。
进一步改进的方案中,所述所述发送缓存模块包括:
第一发送数据子模块,所述第一发送数据子模块被配置为用于缓存待发送的数据帧;
第二发送数据子模块,所述第二发送数据子模块被配置为用于在预设时间内更新缓存第一发送数据子模块发送的第n个数据帧到最后一数据帧,并当存在故障时,所述第二发送数据子模块还被配置为用于缓存待发送的数据帧;
所述第一发送模块读取第一发送数据子模块内缓存的数据帧并发送;
所述第二发送模块读取第二发送数据子模块内缓存的数据帧并发送;
第一发送队列,所述第一发送队列被配置为用于缓存发送缓存描述符;
发送完成队列,所述发送完成队列被配置为用于缓存发送完成后的帧序号及发送状态;
发送缓存控制子模块,所述发送缓存控制子模块被配置为用于生成待发送数据帧对应的发送缓存描述符;
所述流量控制模块还被配置为用于控制第二发送模块按照顺序读取第二发送数据子模块内的数据帧并发送。
进一步改进的方案中,所述发送缓存模块还包括:
第二发送队列,所述第二发送队列被配置为环形队列,用于缓存写指针及对应的帧序号;
第三发送队列,所述第三发送队列被配置为环形队列,用于缓存读指针及对应的帧序号;
所述第一发送队列和第一发送数据子模块均为环形队列,所述第一发送数据子模块、第一发送队列、第二发送队列和第三发送队列各数据结构的深度相等;在一个循环时间段t内,N-1=N1+N2,其中N为第一发送队列存储帧序号的个数,N1为第二发送队列内存储帧序号的个数,N3为第三发送队列存储帧序号的个数;
发送状态判断子模块,所述发送状态控制子模块被配置为用于记录第一发送数据子模块内数据帧存储状态,当存储状态接近满时,该位为1,当存储状态接近空时,该位为0;还被配置为用于判断N1和N2的大小,当N1>N2时,此时刻,第一发送数据子模块存储状态接近空,当N1<N2时,此时刻,第一发送数据子模块存储状态接近满,并在第一发送数据子模块内标注上对应标识。
进一步改进的方案中,所述所述流量控制模块还被配置为用于实时监测第一发送数据子模块内缓存的数据帧的数量,当缓存的数据帧的数量大于数据帧门限阈值时,流量控制模块将流量状态寄存器内缓存流量控制字段改成1,继续检测,当缓存的数据帧的数量不大于数据帧门限阈值时,将流量控制字段改成0。
进一步改进的方案中,所述数据帧门限阈值x按照如下公式计算:
x=(N1+N2-1)/t。
进一步改进的方案中,所述接收缓存模块包括:
接收数据子模块,所述接收数据子模块被配置为环形队列,用于缓存接收的数据帧供主机读取;
第一接收队列,所述第一接收队列被配置为用于缓存接收缓存控制符;
第二接收队列,所述第二接收队列被配置为环形队列,所述环形队列上存在空和满的标志,还被配置为用于在一个循环时间段t内,缓存接收数据子模块每一读指针和写指针的读写对应的帧序号;
所述接收数据子模块、第一接收队列和第二接收队列的容量和深度相等;
接收空满判断子模块,所述接收空满判断子模块用于读取第二接收队列内的读指针和写指针对应的帧序号,当读指针对应的位置为空,且与其邻近的位置不存在写指针帧序号时,判断第二接收队列内空状态,当写指针对应的位置为满,且与其邻近的位置不存在读指针编号,该环形队列为满状态;
接收缓存控制子模块,所述接收缓存控制子模块被配置为用于生成待接收的数据帧的接收缓存控制符。
进一步改进的方案中,所述流量控制模块还被配置为用于监听正在使用的应用程序,并监听应用程序传输的数据帧的个数,当检测到第一发送数据子模块内缓存的数据帧的数量大于数据帧门限阈值时,根据应用程序发送的数据帧的个数决定进行二进制退避算法的应用程序。
进一步改进的方案中,所述接收模块包括地址过滤子模块,所述地址过滤子模块被配置为用于判断本地是否存有与所述数据帧的目的IP对应的过滤规则表,根据过滤规则表中查找对应的过滤规则;所述过滤规则表包括的字段包括源IP地址、源端口、目的端口和传输层协议、第一哈希值和第二哈希值;其中第一哈希值是将IP地址按照固定的位数生成的HASH码;第二哈希值是将IP地址按照随机位数生成的HASH码。
进一步改进的方案中,所述流量控制模块内设置有优先发送队列,所述优先发送队列用于缓存Pause帧。
本发明提供的千兆双光口服务器适配器,支持电脑端接口,并提供一主一备二路端口,其中一路为工作端口,另一为备用端口,工作端口出现故障时,可换备用端口继续工作,进而当一个链路出现故障时,通过切换到另一链路保证网络的连接状态。并且通过设置第一发送模块和第二发送模块,并且通过设置第一PHY接口和第二PHY接口,实现了工作端口和备用端口的灵活切换,实现了无感切换,降低了传输的延迟,提高了传输效率。
附图说明
图1为现有技术公开的以太网MAC控制器IP核的结构框图;
图2为本发明一些实施例提供的一种千兆双光口服务器适配器的结构框图;
图3为本发明一些实施例中发送缓存模块的结构框图;
图4为本发明另一些实施例中发送缓存模块的结构框图;
图5为本发明第三个实施例中发送缓存模块的结构框图;
图6为本发明一些实施例中接收缓存模块的结构框图。
具体实施方式
以上实施例仅仅是本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进均应落入本发明的权利要求书确定的保护范围内。
图1示出了现有技术公开的以太网MAC控制器IP核的结构框架,具体包括:
PHY接口模块:根据PHY的工作模式,将MII和GMII接口不同的数据位宽进行转换,从而提供给上层发送模块和接收模块统一的数据位宽;
发送模块:主要功能为按照CSMA/CD机制完成信道接入控制,以及将上层的待发数据封装成以太网帧的格式,为其添加前导码、帧起始定界符、PAD和CRC校验字段并发出;
接收模块:进行单播/组播/广播帧的过滤,进行CRC校验,滤除帧碎片并把合法的帧传输至上层,及在接收结束后向上层报告帧接收的状态;
流量控制模块:完成全双工下流量控制的功能;
发送缓存/接收缓存:实现对发送/接收帧缓存的管理;
AHB总线接口:外部总线接口,完成与ARM核及其他AHB接口单元的通信;
MI I管理模块:完成对PHY工作模式的监控和设置;
时钟管理模块:功能为产生不同工作模式下各个模块的工作时钟和时钟使能信号;
寄存器和中断模块:负责系统模式配置及中断管理。
本申请公开的千兆双光口服务器适配器内的MAC层控制器对图1中公开的MAC层控制器的部分模块的功能进行了进一步的改进。具体参见图2。
如图2所示,本发明其中一些实施例提供一种千兆双光口服务器适配器,所述服务器适配器包括:
一个第一PHY层控制器,
一个第二PHY层控制器,
其中,第一PHY层控制器和第二PHY层控制器均为常规的物理层芯片,例如可以为802.3PHY;其收发数据的流程如下:以发送数据为例,PHY层控制器在发送数据时,收到MAC层控制器传输的数据,每4bit增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去。接收数据时流程反之。
一个MAC层控制器,
一个PCIE接口,连接到所述MAC层控制器上;
其中,所述PCIE接口用于连接主机,实现主机通过服务器适配器与另一端设备的通讯。
两个千兆光纤端口,两个所述千兆光纤端口分别被配置为工作端口和备用端口,工作端口连接到所述第一PHY层控制器上,备用端口连接到所述第二PHY层控制器上;
所述MAC层控制器包括总线接口、接收缓存模块、发送缓存模块、流量控制模块、接收模块、第一发送模块、第二发送模块、第一PHY接口、第二PHY接口和链路故障判断模块;
所述总线接口被配置为与PCIE接口连接;
其中,总线接口可以为AHB总线接口;总线接口为外部接口,完成与ARM核及其他接口单元的通信;
所述接收缓存模块与总线接口连接,被配置为用于对接收的数据帧缓存进行管理;
其中,接收缓存模块将有效的数据帧存入接收,并记录数据帧的存储信息及接收状态信息;
所述发送缓存模块与总线接口连接,被配置为用于对发送的数据帧缓存进行管理;
其中,发送缓存模块暂存待发送的数据帧,并记录发送状态信息;
所述第一发送模块与第一PHY接口连接,被配置为用于通过第一PHY接口将待发送的数据帧发送至第一PHY层控制器;
所述第二发送模块与第二PHY接口连接,被配置为用于通过第二PHY接口将待发送的数据帧发送至第二PHY层控制器;
其中,第一PHY接口和第二PHY接口主要作用是将MII接口4位数据位宽和GMII接口8位数据位宽统一为8位位宽,同时负责将rx_er,col及crs信号转发给发送和接收模块,以及将mtx_er信号转发给PHY层控制器。
第一发送模块和第二发送模块还用于按照CSMA/CD机制完成信道接入控制,将待发送的数据帧封装成以太网的格式,为其添加前导码、帧起始定界符、PAD和CRC校验字段然后发出。
所述接收模块与第一PHY接口和第二PHY接口连接,被配置为用于对数据帧进行解析,将合法帧缓存至接收缓存模块;
其中,接收模块具体完成的任务如下:
1)识别前导码和帧起始定界符,检测帧边界;
2)单播/组播/广播地址过滤;
3)对数据帧进行CRC校验;
4)对数据帧进行长度检查;
5)将合法帧移除前导码、帧起始定界符、PAD及CRC字段后交给上层;
6)接收结束后向上层报告帧接收状态。
所述链路故障判断模块与第一PHY接口和第二PHY接口连接,被配置为用于判断工作端口是否存在故障,当不存在故障时,第二发送模块为空闲状态;当存在故障时,向流量控制模块发送指令;
所述流量控制模块被配置为用于读取链路故障判断模块判断的故障情况,当存在故障时,控制待发送的数据帧通过第二发送模块发送。
此外,流量控制模块还被配置为完成全双工/半双工下流量控制的功能。
需要说明的是,本申请提供的千兆双光口服务器适配器也可以配置现有技术公开的MII管理模块、时钟管理模块和寄存器和中断模块,此处不做具体限定。
此外,链路故障判断模块当判断出工作端口不存在故障时,流量控制模块控制待发送的数据帧通过第一发送模块发送。进而实现灵活切换。
本申请提供的千兆双光口服务器适配器接收数据和发送数据的流程如下:
发送数据的流程:主机将待发送的数据帧通过PCIE接口暂存至发送缓存模块内,第一发送模块从发送缓存模块内读取数据,并通过第一PHY接口将待发送的数据帧发送至第一PHY层控制器。
接收数据的流程如下:连接第一PHY层控制器的设备通过第一PHY接口将待发送的数据发送给接收模块,接收模块对接收的数据帧进行解析、处理,将合法帧缓存至接收缓存模块内,主机读取接收缓存模块内存储的数据帧。
本发明提供的链路切换流程如下:第一PHY层控制器(其中的状态寄存器)中存储有一位Link Status表示链路状态;当链路建立正常运行时,该位为1,链路发生故障或链路断开时,该位变为0;当状态寄存器发生改变时,链路故障判断模块通过第一PHY接口接收数据,并读取Link Status;若Link Status为0表示链路出现问题,需要切换,流量控制模块控制第二发送模块读取发送缓存模块内缓存的数据,然后通过第二PHY接口发送给第二PHY层控制器,第二PHY层控制器通过备用端口实现数据的传输。
此外,本发明还提供另外一种链路故障判断方法,即第一PHY控制器上通过并联的3个电阻(电阻R1、电阻R2和电阻R3)连接有LED1,第二PHY控制器上通过电阻R4连接有LED2;第一PHY控制器和第二PHY控制器内的状态寄存器中存储有一位LED Status表示指示灯状态;该位为0,表示灯灭了,链路出现问题,需要切换,该位为1,表示灯亮着,链路正常工作。利用LED可以提高链路故障判断的时间和效率。
本申请通过设置第一发送模块和第二发送模块,并且通过设置第一PHY接口和第二PHY接口,实现了工作端口和备用端口的灵活切换,实现了无感切换,降低了传输的延迟,提高了传输效率。
如图3所示,在一些优选的实施例中,所述发送缓存模块包括:
第一发送数据子模块,所述第一发送数据子模块被配置为用于缓存待发送的数据帧;
第二发送数据子模块,当存在故障时,所述第二发送数据子模块被配置为用于缓存待发送的数据帧;
其中,第一发送数据子模块和第二发送数据子模块均为读指针可载入的异步FIFO,位宽为32位,深度为1024,工作模式mode设置为0;
所述第一发送模块读取第一发送数据子模块内缓存的数据帧并发送;
所述第二发送模块读取第二发送数据子模块内缓存的数据帧并发送;
第一发送队列,所述第一发送队列被配置为用于缓存发送缓存描述符;
发送完成队列,所述发送完成队列被配置为用于缓存发送完成后的帧序号及发送状态;
其中,发送队列和发送完成队列为异步FIFO。
发送缓存描述符描述了帧在发送数据FIFO中存储的信息,每个发送缓存描述符的长度为32位,包括4个字段,分别为:帧序号(8比特)、帧长度(12比特)、帧存储首地址(10比特)和保留字段(2比特)。
发送缓存控制子模块,所述发送缓存控制子模块被配置为用于生成待发送数据帧对应的发送缓存描述符;
其中,发送缓存控制子模块还用于对各模块之间数据的读取进行控制和管理。
发送缓存状态队列,当存在链路故障时,所述发送缓存状态队列被配置为读取发送完成队列内最后一个发送状态为发送成功的帧序号,并记录该帧序号之后的所有帧序号;
所述流量控制模块还被配置为用于控制第二发送模块按照顺序读取第二发送数据子模块内的数据帧并发送。
发送缓存的流程如下:
当主机有数据要发送时,首先通过总线接口读取第一发送数据子模块中未使用的存储大小。如果剩余发送存储充足,则主机接着读取并保存第一发送数据的当前写指针wptr,并将所要发送的数据写入到第一发送数据子模块中。最后主机将帧序号(由主机产生)、帧长度及所保存的帧存储首指针写入第一发送队列。发送缓存模块随即开始该数据帧的发送,并在发送完成后将帧序号及发送状态信息写入发送完成队列。主机通过读取发送完成队列即可得知每个帧的发送状态。
当发送缓存状态队列读取到存在链路故障时(流量控制模块接收链路故障判断模块判断的链路故障,将链路故障情况供发送缓存状态队列读取),读取发送完成队列内最后一个发送状态为发送成功的帧序号,并记录该帧序号之后的所有帧序号,当主机读取到发送缓存状态队列为非空时,读取其内缓存的帧序号,并从读取的首帧开始将数据帧缓存至第二发送数据子模块内。
本发明通过设置第一发送数据子模块和第二发送数据子模块及发送缓存状态队列,当判断出链路故障时,直接将发送链路故障时未成功发送的数据帧缓存至第二发送缓存子模块内,并通过第二发送模块利用备用端口继续发送,提高了数据传输的效率,降低了由于现有技术存在切换时间为1-5ms时,存在的丢包情况,显著降低了传输的延迟,提供了传输的连续性,并且链路的切换是通过不同的缓存来实现的,因此切换时间降低至1ms以下。
如图4所示,在一些优选的实施例中,所述发送缓存模块包括:
第一发送数据子模块,所述第一发送数据子模块被配置为用于缓存待发送的数据帧;
第二发送数据子模块,所述第二发送数据子模块被配置为用于在预设时间内更新缓存第一发送数据子模块发送的第n个数据帧到最后一数据帧,并当存在故障时,所述第二发送数据子模块还被配置为用于缓存待发送的数据帧;
其中,第一发送数据子模块为读指针可载入的异步FIFO,位宽为32位,深度为1024,工作模式mode设置为0。
更新缓存为第二发送数据子模块缓存第一发送数据子模块发送的数据帧,当第一发送数据子模块发送n帧后,每发送一数据帧,第二发送数据子模块将缓存的首帧更新为第n+1帧,依次类推。其中第二发送数据子模块缓存第一发送数据子模块发送的数据帧的容量一般为1-5ms内发送的数据帧个数。
在一些优选的实施例中,第二发送缓存子模块设置两个缓存区,一个具有固定的容量,用于缓存第一发送数据子模块发送的数据帧,另一个用于缓存主机传输的数据帧。
所述第一发送模块读取第一发送数据子模块内缓存的数据帧并发送;
所述第二发送模块读取第二发送数据子模块内缓存的数据帧并发送;
第一发送队列,所述第一发送队列被配置为用于缓存发送缓存描述符;
发送完成队列,所述发送完成队列被配置为用于缓存发送完成后的帧序号及发送状态;
其中,发送队列和发送完成队列为异步FIFO。
发送缓存描述符描述了帧在发送数据FIFO中存储的信息,每个发送缓存描述符的长度为32位,包括4个字段,分别为:帧序号(8比特)、帧长度(12比特)、帧存储首地址(10比特)和保留字段(2比特)。
发送缓存控制子模块,所述发送缓存控制子模块被配置为用于生成待发送数据帧对应的发送缓存描述符;
其中,发送缓存控制子模块还用于对各模块之间数据的读取进行控制和管理。
所述流量控制模块还被配置为用于控制第二发送模块按照顺序读取第二发送数据子模块内的数据帧并发送。
发送缓存的流程如下:
当主机有数据要发送时,首先通过总线接口读取第一发送数据子模块中未使用的存储大小。如果剩余发送存储充足,则主机接着读取并保存第一发送数据子模块的当前写指针wptr,并将所要发送的数据写入到第一发送数据子模块中。最后主机将帧序号(由主机产生)、帧长度及所保存的帧存储首指针写入第一发送队列。发送缓存模块随即开始该数据帧的发送,当发送到第n帧时,第一发送数据子模块从第n帧开始将数据帧缓存至第二发送缓存子模块内,当主机检测到链路存在故障时(通过接收缓存模块读取故障信息),将待发送的其余数据帧缓存至第二发送数据子模块中。
本发明通过设置第一发送数据子模块和第二发送数据子模块,当判断出现链路故障时,直接将发送链路故障时未成功发送的数据帧缓存至第二发送缓存子模块内,并通过第二发送模块利用备用端口继续发送,提高了数据传输的效率,降低了由于现有技术存在切换时间为1-5ms时,存在的丢包情况,显著降低了传输的延迟,提供了传输的连续性,并且链路的切换是通过缓存来体现的,因此切换时间降低至1ms以下。由于第二发送数据子模块内事先缓存了第n帧至链路故障时的数据帧,因此,有效避免了链路判断过程时没有成功发送的数据帧造成的丢包问题。
如图5所示,在一些优选的实施例中,所述发送缓存模块还包括:
第二发送队列,所述第二发送队列被配置为环形队列,用于缓存写指针及对应的帧序号;
第三发送队列,所述第三发送队列被配置为环形队列,用于缓存读指针及对应的帧序号;
所述第一发送队列和第一发送数据子模块均为环形队列,所述第一发送数据子模块、第一发送队列、第二发送队列和第三发送队列各数据结构的深度相等;在一个循环时间段t内,N-1=N1+N2,其中N为第一发送队列存储帧序号的个数,N1为第二发送队列内存储帧序号的个数,N3为第三发送队列存储帧序号的个数;
所述循环时间段为读指针或写指针循环一圈的时间;也可以是人为设定例如可以为1ms、2ms等。
发送状态判断子模块,所述发送状态控制子模块被配置为用于记录第一发送数据子模块内数据帧存储状态,当存储状态接近满时,该位为1,当存储状态接近空时,该位为0;还被配置为用于判断N1和N2的大小,当N1>N2时,此时刻,第一发送数据子模块存储状态接近空,当N1<N2时,此时刻,第一发送数据子模块存储状态接近满,并在第一发送数据子模块内标注上对应标识。
主机读取第一发送数据子模块内的空满标识,判断是否继续发送数据帧,进而降低了数据的溢出现象,并且显著降低了握手机制产生的亚稳态问题。
在一些优选的实施例中,所述流量控制模块还被配置为用于实时监测第一发送数据子模块内缓存的数据帧的数量,当缓存的数据帧的数量大于数据帧门限阈值时,流量控制模块将流量状态寄存器内缓存流量控制字段改成1,继续检测,当缓存的数据帧的数量不大于数据帧门限阈值时,将流量控制字段改成0。
其中,数据帧门限阈值x按照如下方法计算:
x=(N1+N2-1)/t。
其中,主机读取流量状态寄存器(存储在接收缓存模块)内的流量控制字段,当为1时,表示网络拥挤,此时,主机暂停数据的发送,当流量控制字段变成0时,主机继续发送。
传统的MAC层控制器,在进行数据的传输过程中,当连接的接收设备和发送主机的端口速率不一致时,会发生数据溢出,为了防止数据溢出,接收设备会发一个pause帧给发送主机,主机根据pause帧的内容将控制帧分离出来,提交到流量控制模块,流量控制模块解析控制帧的内容,提取帧中的控制参数,根据控制参数决定暂停发送的时间;当接收设备出现拥塞的情况下,主机端口通常会连续收到多个pause帧。只要接收设备的拥塞状态没有解除,相关的端口就会一直发送pause帧,这就导致了网速传输速率的降低,可将千兆的速率降低至100MB/s以下。基于此,本申请首先对第一发送数据子模块内缓存的数据帧的数量进行控制,然后对数据帧门限阈值进行限定,进而解决了不断发送pause帧导致的传输速率降低的问题。
如图6所示,在一些优选的实施例中,所述接收缓存模块包括:
接收数据子模块,所述接收数据子模块被配置为环形队列,用于缓存接收的数据帧供主机读取;
第一接收队列,所述第一接收队列被配置为用于缓存接收缓存控制符;
第二接收队列,所述第二接收队列被配置为环形队列,所述环形队列上存在空和满的标志,还被配置为用于在一个循环时间段t内,缓存接收数据子模块每一读指针和写指针的读写对应的帧序号;
所述接收数据子模块、第一接收队列和第二接收队列的容量和深度相等;
接收空满判断子模块,所述接收空满判断子模块用于读取第二接收队列内的读指针和写指针对应的帧序号,当读指针对应的位置为空,且与其邻近的位置不存在写指针帧序号时,判断第二接收队列内空状态,当写指针对应的位置为满,且与其邻近的位置不存在读指针编号,该环形队列为满状态;
接收缓存控制子模块,所述接收缓存控制子模块被配置为用于生成待接收的数据帧的接收缓存控制符。还被配置为对各模块之间的管理和控制。
其中,接收缓存控制符3个字段:接收帧存放首地址(16比特)、接收帧长度(16比特)及帧接收状态(16比特)。每个接收缓存描述符占用两个32位的存储单元。
主机读取待接收的数据帧的方法为:首先,第一接收队列非空时产生接收中断,主机响应中断,从第一接收队列中读取第一个帧的接收缓存描述符。如果该帧没有发生错误,则主机将帧存储首指针载入到接收数据子模块中,随后开始读取帧数据;如果该帧发生接收错误,则主机继续从第一接收队列中读取下一个接收缓存描述符,并直接将第二帧的存储首指针载入到接收数据子模块中,而不需要将第一个错误帧的数据一一读出。
现有技术公开的接收数据子模块均为指针可载入的异步FIFO,其存在空满标记困难的问题,并且利用握手机制解决空满标记问题还会带来亚稳态问题。现有的环形队列虽然存在空满标志,但是存在判断不准确的问题,由于空满判断的不准确会造成数据的溢出和读空造成数据读取错误,为了克服上述问题,本申请将第一接收数据子模块设置成环形队列,并且增设了第二接收队列和接收空满判断子模块,根据一个循环周期内,读指针和写指针的位置判断空满,提高了判断的准确性,并且克服了握手机制存在的亚稳态问题,避免了数据溢出和数据读空造成的问题。
在一些优选的实施例中,所述流量控制模块还被配置为用于监听正在使用的应用程序,并监听应用程序传输的数据帧的个数,当检测到第一发送数据子模块内缓存的数据帧的数量大于数据帧门限阈值时,根据应用程序发送的数据帧的个数决定进行二进制退避算法的应用程序。例如将数据帧发送个数低于主机要发生数据帧个数的70%的应用程序进行二进制退避算法。
通过对各应用程序的监听,根据应用程序发送数据帧个数,对部分应用程序进行二进制退避算法,因此解决了所以应用程序均二进制退避算法而产生的短期吞吐量低和长期延迟方差不稳定的问题。
在一些优选的实施例中,所述接收模块包括地址过滤子模块,所述地址过滤子模块被配置为用于判断本地是否存有与所述数据帧的目的IP对应的过滤规则表,根据过滤规则表中查找对应的过滤规则;所述过滤规则表包括的字段包括源IP地址、源端口、目的端口和传输层协议、第一哈希值和第二哈希值;其中第一哈希值是将IP地址按照固定的位数生成的HASH码;第二哈希值是将IP地址按照随机位数生成的HASH码。
利用固定位数和随机位数生成不同的HASH码,进而实现对IP地址的过滤,提高了过滤效果和准确性。
在一些优选的实施例中,所述流量控制模块内设置有优先发送队列,所述优先发送队列用于缓存Pause帧。
当流量控制模块接收到Pause帧时,将Pause帧缓存至优选队列内。本发明通过在流量控制模块内设置有优先发送队列,克服现有技术存在的Pause帧需要等待发送造成的数据溢出问题。
Claims (10)
1.一种千兆双光口服务器适配器,其特征在于,所述适配器包括:
一个第一PHY层控制器,
一个第二PHY层控制器,
一个MAC层控制器,
一个PCIE接口,连接到所述MAC层控制器上;和
两个千兆光纤端口,两个所述光纤端口分别被配置为工作端口和备用端口,工作端口连接到所述第一PHY层控制器上,备用端口连接到所述第二PHY层控制器上;
所述MAC层控制器包括总线接口、接收缓存模块、发送缓存模块、流量控制模块、接收模块、第一发送模块、第二发送模块、第一PHY接口、第二PHY接口和链路故障判断模块;
所述总线接口被配置为与PCIE接口连接;
所述接收缓存模块与总线接口连接,被配置为用于对接收的数据帧缓存进行管理;
所述发送缓存模块与总线接口连接,被配置为用于对发送的数据帧缓存进行管理;
所述第一发送模块与第一PHY接口连接,被配置为用于通过第一PHY接口将待发送的数据帧发送至第一PHY层控制器;
所述第二发送模块与第二PHY接口连接,被配置为用于通过第二PHY接口将待发送的数据帧发送至第二PHY层控制器;
所述接收模块与第一PHY接口和第二PHY接口连接,被配置为用于对数据帧进行解析,将合法帧缓存至接收缓存模块;
所述链路故障判断模块与第一PHY接口和第二PHY接口连接,被配置为用于判断工作端口是否存在故障;
所述流量控制模块被配置为用于读取链路故障判断模块判断的故障情况,当存在故障时,控制待发送的数据帧通过第二发送模块发送。
2.如权利要求1所述的千兆双光口服务器适配器,其特征在于,所述发送缓存模块包括:
第一发送数据子模块,所述第一发送数据子模块被配置为用于缓存待发送的数据帧;
第二发送数据子模块,当存在故障时,所述第二发送数据子模块被配置为用于缓存待发送的数据帧;
所述第一发送模块读取第一发送数据子模块内缓存的数据帧并发送;所述第二发送模块读取第二发送数据子模块内缓存的数据帧并发送;
第一发送队列,所述第一发送队列被配置为用于缓存发送缓存描述符;
发送完成队列,所述发送完成队列被配置为用于缓存发送完成后的帧序号及发送状态;
发送缓存控制子模块,所述发送缓存控制子模块被配置为用于生成待发送数据帧对应的发送缓存描述符;
发送缓存状态队列,当存在链路故障时,所述发送缓存状态队列被配置为读取发送完成队列内最后一个发送状态为发送成功的帧序号,并记录该帧序号之后的所有帧序号;
所述流量控制模块还被配置为用于控制第二发送模块按照顺序读取第二发送数据子模块内的数据帧并发送。
3.如权利要求1所述的千兆双光口服务器适配器,其特征在于,所述所述发送缓存模块包括:
第一发送数据子模块,所述第一发送数据子模块被配置为用于缓存待发送的数据帧;
第二发送数据子模块,所述第二发送数据子模块被配置为用于在预设时间内更新缓存第一发送数据子模块发送的第n个数据帧到最后一数据帧,并当存在故障时,所述第二发送数据子模块还被配置为用于缓存待发送的数据帧;
所述第一发送模块读取第一发送数据子模块内缓存的数据帧并发送;
所述第二发送模块读取第二发送数据子模块内缓存的数据帧并发送;
第一发送队列,所述第一发送队列被配置为用于缓存发送缓存描述符;
发送完成队列,所述发送完成队列被配置为用于缓存发送完成后的帧序号及发送状态;
发送缓存控制子模块,所述发送缓存控制子模块被配置为用于生成待发送数据帧对应的发送缓存描述符;
所述流量控制模块还被配置为用于控制第二发送模块按照顺序读取第二发送数据子模块内的数据帧并发送。
4.如权利要求2所述的千兆双光口服务器适配器,其特征在于,所述发送缓存模块还包括:
第二发送队列,所述第二发送队列被配置为环形队列,用于缓存写指针及对应的帧序号;
第三发送队列,所述第三发送队列被配置为环形队列,用于缓存读指针及对应的帧序号;
所述第一发送队列和第一发送数据子模块均为环形队列,所述第一发送数据子模块、第一发送队列、第二发送队列和第三发送队列各数据结构的深度相等;在一个循环时间段t内,N-1=N1+N2,其中N为第一发送队列存储帧序号的个数,N1为第二发送队列内存储帧序号的个数,N3为第三发送队列存储帧序号的个数;
发送状态判断子模块,所述发送状态控制子模块被配置为用于记录第一发送数据子模块内数据帧存储状态,当存储状态接近满时,该位为1,当存储状态接近空时,该位为0;还被配置为用于判断N1和N2的大小,当N1>N2时,此时刻,第一发送数据子模块存储状态接近空,当N1<N2时,此时刻,第一发送数据子模块存储状态接近满,并在第一发送数据子模块内标注上对应标识。
5.如权利要求3所述的千兆双光口服务器适配器,其特征在于,所述所述流量控制模块还被配置为用于实时监测第一发送数据子模块内缓存的数据帧的数量,当缓存的数据帧的数量大于数据帧门限阈值时,流量控制模块将流量状态寄存器内缓存流量控制字段改成1,继续检测,当缓存的数据帧的数量不大于数据帧门限阈值时,将流量控制字段改成0。
6.如权利要求4所述的千兆双光口服务器适配器,其特征在于,所述数据帧门限阈值x按照如下公式计算:
x=(N1+N2-1)/t。
7.如权利要求1所述的千兆双光口服务器适配器,其特征在于,所述接收缓存模块包括:
接收数据子模块,所述接收数据子模块被配置为环形队列,用于缓存接收的数据帧供主机读取;
第一接收队列,所述第一接收队列被配置为用于缓存接收缓存控制符;
第二接收队列,所述第二接收队列被配置为环形队列,所述环形队列上存在空和满的标志,还被配置为用于在一个循环时间段t内,缓存接收数据子模块每一读指针和写指针的读写对应的帧序号;
所述接收数据子模块、第一接收队列和第二接收队列的容量和深度相等;
接收空满判断子模块,所述接收空满判断子模块用于读取第二接收队列内的读指针和写指针对应的帧序号,当读指针对应的位置为空,且与其邻近的位置不存在写指针帧序号时,判断第二接收队列内空状态,当写指针对应的位置为满,且与其邻近的位置不存在读指针编号,该环形队列为满状态;
接收缓存控制子模块,所述接收缓存控制子模块被配置为用于生成待接收的数据帧的接收缓存控制符。
8.如权利要求4所述的千兆双光口服务器适配器,其特征在于,所述流量控制模块还被配置为用于监听正在使用的应用程序,并监听应用程序传输的数据帧的个数,当检测到第一发送数据子模块内缓存的数据帧的数量大于数据帧门限阈值时,根据应用程序发送的数据帧的个数决定进行二进制退避算法的应用程序。
9.如权利要求1所述的千兆双光口服务器适配器,其特征在于,所述接收模块包括地址过滤子模块,所述地址过滤子模块被配置为用于判断本地是否存有与所述数据帧的目的IP对应的过滤规则表,根据过滤规则表中查找对应的过滤规则;所述过滤规则表包括的字段包括源IP地址、源端口、目的端口和传输层协议、第一哈希值和第二哈希值;其中第一哈希值是将IP地址按照固定的位数生成的HASH码;第二哈希值是将IP地址按照随机位数生成的HASH码。
10.如权利要求1所述的千兆双光口服务器适配器,其特征在于,所述流量控制模块内设置有优先发送队列,所述优先发送队列用于缓存Pause帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010415164.6A CN111555800B (zh) | 2020-05-15 | 2020-05-15 | 一种千兆双光口服务器适配器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010415164.6A CN111555800B (zh) | 2020-05-15 | 2020-05-15 | 一种千兆双光口服务器适配器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111555800A true CN111555800A (zh) | 2020-08-18 |
CN111555800B CN111555800B (zh) | 2021-07-20 |
Family
ID=72004745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010415164.6A Active CN111555800B (zh) | 2020-05-15 | 2020-05-15 | 一种千兆双光口服务器适配器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111555800B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915604A (zh) * | 2022-05-23 | 2022-08-16 | 北京计算机技术及应用研究所 | 一种基于fpga的降低网络链路层拥塞的系统与方法 |
Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556642A (zh) * | 2003-12-31 | 2004-12-22 | 中兴通讯股份有限公司 | Pos-phy总线与pci总线间的数据包转发的装置和方法 |
CN102065569A (zh) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 一种适用于wlan的以太网mac子层控制器 |
CN102368873A (zh) * | 2011-09-16 | 2012-03-07 | 东南大学 | 一种双路连接m2m系统、终端及其连接方法 |
EP2629446A1 (en) * | 2012-02-16 | 2013-08-21 | Broadcom Corporation | Dynamic Buffer Management in High-Throughput Wireless Systems |
CN203219315U (zh) * | 2013-05-03 | 2013-09-25 | 广州市成格信息技术有限公司 | 一种网络节点间的网络通信线路切换模块 |
CN103617132A (zh) * | 2013-11-29 | 2014-03-05 | 中国航空无线电电子研究所 | 一种基于共享存储的以太网终端发送实现方法及终端装置 |
CN103701788A (zh) * | 2013-12-20 | 2014-04-02 | 深圳市金宏威技术股份有限公司 | 一种跨平台软总线的通信装置及软总线 |
EP2725761A1 (en) * | 2012-10-24 | 2014-04-30 | Facebook, Inc. | Network access based on social-networking information |
CN103916252A (zh) * | 2014-04-18 | 2014-07-09 | 岳阳巅峰电子科技有限责任公司 | 一种基于fpga的高带宽以太网ip核 |
CN104735077A (zh) * | 2015-04-01 | 2015-06-24 | 积成电子股份有限公司 | 一种使用环形缓存和环形队列实现udp高效并发的方法 |
CN105335327A (zh) * | 2015-10-13 | 2016-02-17 | 电子科技大学 | 基于Soc的可重构/双冗余VPX3U信号处理载板 |
CN105357147A (zh) * | 2015-11-30 | 2016-02-24 | 北京控制工程研究所 | 一种高速高可靠的片上网络适配单元 |
CN105406998A (zh) * | 2015-11-06 | 2016-03-16 | 天津津航计算技术研究所 | 基于fpga的双冗余千兆以太网介质访问控制器ip核 |
CN205407307U (zh) * | 2016-02-17 | 2016-07-27 | 湖北旭达电力科技有限公司 | 双位适配器 |
EP2936266A4 (en) * | 2012-12-19 | 2016-11-16 | Intel Corp | USE OF PLATFORM LEAD TIME INFORMATION FOR NOTIFYING PLATFORM DEVICES OVER PRESENT ACTIVE PERIODS |
CN107395396A (zh) * | 2017-06-22 | 2017-11-24 | 中国科学院西安光学精密机械研究所 | 基于fpga的冗余双网口可配置以太网ip核 |
US9880949B1 (en) * | 2015-12-11 | 2018-01-30 | Microsemi Solutions (U.S.), Inc. | Cross clock compensation between layers in peripheral component interconnect express |
CN107643986A (zh) * | 2017-09-11 | 2018-01-30 | 广州慧睿思通信息科技有限公司 | 一种使用环形Buffer和自动回收描述符的AIF接收数据处理方法 |
CN108173756A (zh) * | 2017-12-18 | 2018-06-15 | 天津津航计算技术研究所 | 一种双冗余以太网mac状态健康管理方法 |
CN109474475A (zh) * | 2018-12-07 | 2019-03-15 | 天津津航计算技术研究所 | windows XPE下双冗余网卡的切换系统 |
CN109634881A (zh) * | 2018-11-16 | 2019-04-16 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于fpga的千兆以太网dma数据传输设计装置 |
CN208890818U (zh) * | 2018-08-16 | 2019-05-21 | 中国舰船研究设计中心 | 一种基于端口连接状态的双冗余网络接口单元 |
US20190324523A1 (en) * | 2018-12-21 | 2019-10-24 | Michelle C. Jen | Alternate physical layer power mode |
CN110445533A (zh) * | 2019-07-02 | 2019-11-12 | 北京计算机技术及应用研究所 | 一种双冗余光纤以太网传输系统 |
CN209729226U (zh) * | 2019-01-18 | 2019-12-03 | 成都精沛科技有限公司 | 一种多功能单元电路智能检测维修实训系统 |
-
2020
- 2020-05-15 CN CN202010415164.6A patent/CN111555800B/zh active Active
Patent Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556642A (zh) * | 2003-12-31 | 2004-12-22 | 中兴通讯股份有限公司 | Pos-phy总线与pci总线间的数据包转发的装置和方法 |
CN102065569A (zh) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 一种适用于wlan的以太网mac子层控制器 |
CN102368873A (zh) * | 2011-09-16 | 2012-03-07 | 东南大学 | 一种双路连接m2m系统、终端及其连接方法 |
EP2629446A1 (en) * | 2012-02-16 | 2013-08-21 | Broadcom Corporation | Dynamic Buffer Management in High-Throughput Wireless Systems |
EP2725761A1 (en) * | 2012-10-24 | 2014-04-30 | Facebook, Inc. | Network access based on social-networking information |
EP2936266A4 (en) * | 2012-12-19 | 2016-11-16 | Intel Corp | USE OF PLATFORM LEAD TIME INFORMATION FOR NOTIFYING PLATFORM DEVICES OVER PRESENT ACTIVE PERIODS |
CN203219315U (zh) * | 2013-05-03 | 2013-09-25 | 广州市成格信息技术有限公司 | 一种网络节点间的网络通信线路切换模块 |
CN103617132A (zh) * | 2013-11-29 | 2014-03-05 | 中国航空无线电电子研究所 | 一种基于共享存储的以太网终端发送实现方法及终端装置 |
CN103701788A (zh) * | 2013-12-20 | 2014-04-02 | 深圳市金宏威技术股份有限公司 | 一种跨平台软总线的通信装置及软总线 |
CN103916252A (zh) * | 2014-04-18 | 2014-07-09 | 岳阳巅峰电子科技有限责任公司 | 一种基于fpga的高带宽以太网ip核 |
CN104735077A (zh) * | 2015-04-01 | 2015-06-24 | 积成电子股份有限公司 | 一种使用环形缓存和环形队列实现udp高效并发的方法 |
CN105335327A (zh) * | 2015-10-13 | 2016-02-17 | 电子科技大学 | 基于Soc的可重构/双冗余VPX3U信号处理载板 |
CN105406998A (zh) * | 2015-11-06 | 2016-03-16 | 天津津航计算技术研究所 | 基于fpga的双冗余千兆以太网介质访问控制器ip核 |
CN105357147A (zh) * | 2015-11-30 | 2016-02-24 | 北京控制工程研究所 | 一种高速高可靠的片上网络适配单元 |
US9880949B1 (en) * | 2015-12-11 | 2018-01-30 | Microsemi Solutions (U.S.), Inc. | Cross clock compensation between layers in peripheral component interconnect express |
CN205407307U (zh) * | 2016-02-17 | 2016-07-27 | 湖北旭达电力科技有限公司 | 双位适配器 |
CN107395396A (zh) * | 2017-06-22 | 2017-11-24 | 中国科学院西安光学精密机械研究所 | 基于fpga的冗余双网口可配置以太网ip核 |
CN107643986A (zh) * | 2017-09-11 | 2018-01-30 | 广州慧睿思通信息科技有限公司 | 一种使用环形Buffer和自动回收描述符的AIF接收数据处理方法 |
CN108173756A (zh) * | 2017-12-18 | 2018-06-15 | 天津津航计算技术研究所 | 一种双冗余以太网mac状态健康管理方法 |
CN208890818U (zh) * | 2018-08-16 | 2019-05-21 | 中国舰船研究设计中心 | 一种基于端口连接状态的双冗余网络接口单元 |
CN109634881A (zh) * | 2018-11-16 | 2019-04-16 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于fpga的千兆以太网dma数据传输设计装置 |
CN109474475A (zh) * | 2018-12-07 | 2019-03-15 | 天津津航计算技术研究所 | windows XPE下双冗余网卡的切换系统 |
US20190324523A1 (en) * | 2018-12-21 | 2019-10-24 | Michelle C. Jen | Alternate physical layer power mode |
CN209729226U (zh) * | 2019-01-18 | 2019-12-03 | 成都精沛科技有限公司 | 一种多功能单元电路智能检测维修实训系统 |
CN110445533A (zh) * | 2019-07-02 | 2019-11-12 | 北京计算机技术及应用研究所 | 一种双冗余光纤以太网传输系统 |
Non-Patent Citations (2)
Title |
---|
乔庐峰, 王志功, 经继松,王晓明: "多光口SDH网元中DCC通道速率适配电路的设计与实现", 《东南大学学报》 * |
王 凯 ,许前高 ,黄泽棉: "具有以太网接口的 HomePN A适配器的设计", 《微处理机》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915604A (zh) * | 2022-05-23 | 2022-08-16 | 北京计算机技术及应用研究所 | 一种基于fpga的降低网络链路层拥塞的系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111555800B (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6662234B2 (en) | Transmitting data from a host computer in a reduced power state by an isolation block that disconnects the media access control layer from the physical layer | |
US7512067B2 (en) | Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch | |
US8514877B2 (en) | Method and system for a plurality of physical layers for network connection | |
EP1304850B1 (en) | Ethernet device and method for extending ethernet fifo buffer | |
US20070047572A1 (en) | Explicit flow control in Gigabit/10 Gigabit Ethernet system | |
US8649398B2 (en) | Packet network interface apparatus and method | |
US10127168B2 (en) | Network controller—sideband interface port controller | |
CN108259127B (zh) | Pcie双冗余万兆网ip核 | |
JP2001511985A (ja) | ネットワークスイッチとホストコントローラとの間で送信する管理パケットを合成するための装置および方法 | |
US20070047443A1 (en) | Channelized flow control | |
US20050138238A1 (en) | Flow control interface | |
CN111600809B (zh) | 一种千兆单光口服务器适配器 | |
US10990326B2 (en) | High-speed replay of captured data packets | |
CN100512227C (zh) | 包转送控制系统及方法 | |
CN111800226B (zh) | 一种基于硬件仲裁的边带管理电路及方法 | |
WO2014166102A1 (zh) | 一种数据处理的方法、装置及系统 | |
CN111211863B (zh) | Mac发射端、mac接收端及电路、fpga芯片及数据传输系统 | |
CN111555800B (zh) | 一种千兆双光口服务器适配器 | |
KR20170133236A (ko) | PCIe 장치들에서의 고속 입출력을 위한 스토리지 시스템, 방법 및 장치 | |
EP1988470B1 (en) | Network device and transmission method thereof | |
US6275498B1 (en) | Extended PHY addressing | |
CN113051204A (zh) | 串行背板总线通信方法及系统 | |
CN108429707B (zh) | 一种适应不同传输速率的时间触发业务转发器及方法 | |
JP2003069603A (ja) | パケット通信制御装置 | |
CN107579894B (zh) | 一种基于fpga的ebr1553总线协议实现装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |