CN103885840B - 一种基于AXI4总线的FCoE协议加速引擎IP核 - Google Patents

一种基于AXI4总线的FCoE协议加速引擎IP核 Download PDF

Info

Publication number
CN103885840B
CN103885840B CN201410138005.0A CN201410138005A CN103885840B CN 103885840 B CN103885840 B CN 103885840B CN 201410138005 A CN201410138005 A CN 201410138005A CN 103885840 B CN103885840 B CN 103885840B
Authority
CN
China
Prior art keywords
frame
descriptor
fcoe
unit
axi4
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.)
Expired - Fee Related
Application number
CN201410138005.0A
Other languages
English (en)
Other versions
CN103885840A (zh
Inventor
周文利
段斌斌
肖亭
孙嵩松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201410138005.0A priority Critical patent/CN103885840B/zh
Publication of CN103885840A publication Critical patent/CN103885840A/zh
Application granted granted Critical
Publication of CN103885840B publication Critical patent/CN103885840B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于AXI4总线的FCoE协议加速引擎IP核,包括发送模块和接收模块,其中发送模块包括发送帧封装单元、发送描述符与寄存器管理单元、发送帧FIFO单元、发送队列选择单元、发送buffer单元和发送AXI4总线单元;接收模块包括接收FCoE帧解封装单元、接收描述符与寄存器管理单元、接收帧FIFO单元、接收队列选择单元、接收buffer单元和接收AXI4总线单元。该IP核建立在AXI4总线基础之上,专门针对以太网光纤通道领域以硬件处理FCoE帧加速协议处理的需要,由FCoE网络适配器CPU进行控制,采用全双工工作模式,实时高效,数据吞吐量大,传输速率高。

Description

一种基于AXI4总线的FCoE协议加速引擎IP核
技术领域
本发明涉及以太网光纤通道领域(FCoE:Fibre Channel over Ethernet),具体来说,涉及一种基于AXI4总线的FCoE协议加速引擎IP核。
背景技术
随着物联网、云计算等技术的发展,互联网公司需要处理的数据呈爆炸式增长,庞大的数据量需要高效的存储和高速的处理。为了迎合这种趋势,互联网公司必须建立企业级的数据中心。
数据中心由存储网(SAN:Storage Area Network)和局域网(LAN:Local AreaNetwork)融合而成。SAN主要是基于光纤通道协议(FC:Fibre Channel)将存储设备和服务器构成网络,光纤通道协议的无丢帧、低延迟、高带宽是存储网的最优选择。LAN主要由以太网构成,以太网连接简单,兼容性强使得其广泛应用于LAN。在企业级数据中心应用中,需要将SAN和LAN进行融合,否则就会出现设备和电缆数量激增、接口类型繁杂、能源消耗巨大以及管理复杂度高等问题。以太网光纤通道(FCoE:Fibre Channel over Ethernet)可以将光纤通道映射到以太网,将FC帧封装在以太网帧称之为FCoE帧在以太网中传输,从而将SAN和LAN融合;融合网络中需要的FCoE网络适配器也将是新颖的FCoE网络适配器CNA卡(CNA:Converged Network Adapter)。在融合网络通信中,由于存在大量的数据交换,主机CPU需要处理的数据量巨大,负担超重,主机CPU的性能会严重的影响网络通信的质量。如果能将部分协议处理的工作卸载到硬件上,利用硬件并行性处理大量数据的优势,将会极大的减轻CPU的负担,提升网络的整体性能,从而起到协议加速的效果。
发明内容
有鉴于此,本发明提出了一种基于AXI4总线的FCoE协议加速引擎IP核,本IP核专门应用于FCoE网络适配器中,利用硬件并行性处理的特点,将需要CPU负责的FCoE帧处理工作放到FCoE网络适配器硬件上进行,可以加快协议处理的速度,减轻CPU的负担,从而有效的提升网络的整体性能。
基于AXI4总线的FCoE协议加速引擎IP核的结构包括发送模块和接收模块,其中发送模块包括发送帧封装单元TFCoE_LEP、发送描述符与寄存器管理单元TD/RM、发送帧FIFO单元TFIFO、发送队列选择单元TQS、发送buffer单元TBUFFER和发送AXI4总线单元TAXI4;接收模块包括接收FCoE帧解封装单元RFCoE_LEP、接收描述符与寄存器管理单元RD/RM、接收帧FIFO单元RFIFO、接收队列选择单元RQS、接收buffer单元RBUFFER和接收AXI4总线单元RAXI4。该IP核建立在AXI4总线基础之上,由FCoE网络适配器CPU进行控制,专门针对融合网络中融合FCoE网络适配器中处理FCoE帧的需要,采用全双工工作模式,工作实时高效,数据吞吐量大,传输速率高。
协议加速引擎IP核位于FCoE网络适配器上,基于AXI4总线,由FCoE网络适配器CPU进行控制。协议加速引擎IP核包括两部分:发送模块和接收模块。发送模块具体包括以下子单元:
TFCoE_LEP用于完成待发送帧的封装;TFCoE_LEP从发送队列选择单元获取帧信息,为待发送帧形成帧头帧尾、CRC校验码,并封装成完整的FCoE帧。
TD/RM用于管理整个发送模块的描述符和寄存器;TD/RM首先向FCoE网络适配器CPU申请预取一定量的描述符,之后监控各发送队列中描述符的使用情况,当满足描述符可用阈值时产生中断,向FCoE网络适配器CPU申请重新获取可用的描述符块和数据块,同时上传帧封装完成的描述符域;FCoE网络适配器CPU会在软件初始化时向TD/RM传递寄存器信息,由TD/RM完成发送模块的寄存器配置,寄存器包括描述符相关寄存器,DMA参数寄存器,发送模块各子单元寄存器等。
TFIFO作为发送模块与xge_mac的缓存,为分别处于协议加速引擎和xge_mac两个时钟域的待发送帧进行同步;TFIFO工作在两个时钟域:xge_mac时钟域和IP核时钟域。
TQS根据各发送队列待发送帧的类型,从多个发送队列中选出一个发送队列进行发送;TQS通过访问TBUFFER的描述符存储域,获取当前FCoE发送描述符的信息,传送给TFCoE_LEP。适合FCoE帧的发送描述符结构主要包括FCoE帧在TBUFFER存储的位置、VLAN信息、帧长度及发送状态等。
TBUFFER缓存待发送的数据及其描述符;在FCoE网络适配器CPU控制下待发送数据块及描述符块转移至TBUFFER;TBUFFER将待发送数据块放在数据存储域,将描述符块放在描述符存储域;TBUFFER的主要作用是对分别处于AXI4总线和协议加速引擎两个不同时钟域的数据进行同步;TBUFFER工作在两个时钟域:AXI4总线时钟域和IP核时钟域。
TAXI4用于将协议加速引擎IP核的发送模块封装成AXI4接口;TAXI4提供两种接口:AXI4-lite接口和AXI4接口;AXI4-lite接口用于FCoE网络适配器CPU对发送模块的控制,AXI4接口用于TBUFFER与PCI-E总线之间进行数据块和描述符块的交换。
协议加速引擎IP核接收模块具体包括以下子单元:
RFCoE_LEP用于完成已接收FCoE帧的解封装;RFCoE_LEP提取帧的关键信息并发送至RQS,同时完成FC-2层CRC的硬件校验;RFCoE_LEP将通过校验的帧FC数据发送到RBUFFER中。
RD/RM用于管理整个接收模块的描述符和寄存器;RD/RM首先申请通过FCoE网络适配器CPU申请一定的预取描述符,在启动帧接收之后监控各接收队列中描述符的使用情况,当满足描述符中断阈值时产生中断,向FCoE网络适配器CPU申请获取新的可用描述符块,同时上传已用描述符域和存放于RBUFFER中的已接收帧;FCoE网络适配器CPU会在软件初始化时向RD/RM传递要配置的寄存器信息,RD/RM完成接收模块的寄存器配置,寄存器包括描述符相关寄存器,DMA参数寄存器,发送模块各子单元寄存器等。
RFIFO作为接收模块与xge_mac的缓存,为处于协议加速引擎和xge_mac两个不同时钟域的接收帧实现同步。RFIFO工作在两个时钟域:xge_mac时钟域和协议加速引擎时钟域。
RQS根据RFCoE_LEP提取的帧信息判断当前帧所属的类型,为待接收的帧分配相应的接收队列,实现同一类型的帧在存储域的聚合;接收队列选择单元从RBUFFER的描述符域中获取一个可用FCoE接收描述符,将帧信息填充至描述符。适合FCoE帧接收的描述符结构包括帧在RBUFFER的存储位置、帧长度、接收状态及VLAN信息等。
RBUFFER缓存接收的数据及其描述符,RBUFFER由描述符域和数据域两部分组成。RBUFFER中的接收数据块及已用描述符块在FCoE网络适配器CPU的控制下转移出协议加速引擎IP核;RBUFFER的主要作用是为处于协议加速引擎和AXI4总线两个不同时钟域的数据进行同步。RBUFFER工作在两个时钟域:AXI4总线时钟域和协议加速引擎时钟域。
RAXI4用于将协议加速引擎接收模块封装成AXI4接口。RAXI4提供两种接口:AXI4-lite接口和AXI4接口;AXI4-lite接口用于FCoE网络适配器CPU对接收模块的控制和寄存器读写,AXI4接口用于RBUFFER与PCI-E总线之间数据块和描述符块的交换。
与现有技术相比,本发明具有以下有益效果:
1、本发明是专门针对以太网光纤通道领域(FCoE:Fibre Channel overEthernet)中应用的融合网络FCoE网络适配器而开发的协议加速引擎IP核,最大的特色是将需要主机CPU处理的FCoE帧放到FCoE网络适配器硬件上进行处理。所有FCoE网络适配器都可以采用本IP核进行硬件上的FCoE帧处理;
2、本发明利用了硬件的并行性计算优势,极大的提高了处理的速度,有效的减轻了主机CPU数据处理的负担,提升了网络处理的速度;
3、本IP核建立在AXI4总线基础上,通过FCoE网络适配器CPU进行控制;可扩展性好,能与其他带有AXI4总线的IP核协同工作。
附图说明
图1为协议加速引擎IP核在FCoE网络适配器的位置及模块划分图;
图2为协议加速引擎IP核发送模块结构框架图;
图3为协议加速引擎IP核接收模块结构框架图;
图4为协议加速引擎IP核发送模块发送流程图;
图5为协议加速引擎IP核接收模块接收流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,基于AXI4总线FCoE协议加速引擎IP核协位于FCoE网络适配器上,基于AXI4总线,由FCoE网络适配器CPU进行控制。协议加速引擎IP核包括两部分:发送模块和接收模块。
如图2所示,协议加速引擎IP核的发送模块包括发送帧封装子单元TFCoE_LEP、发送描述符与寄存器管理子单元TD/RM、发送帧FIFO子单元TFIFO、发送队列选择子单元TQS、发送buffer子单元TBUFFER和发送AXI4总线子单元TAXI4。
TFCoE_LEP用于完成待发送帧的封装。具体的,TFCoE_LEP从TQS获取适合FCoE帧的发送描述符信息,并为待发送帧计算CRC校验码,然后为待发送帧形成帧头帧尾、CRC校验码,并封装成完整的FCoE帧,然后将帧交付TFIFO。在使用完一个描述符的信息之后,将此已用描述符写回TBUFFER.TFCoE_LEP包括CRC计算子单元、FCoE封装子单元、描述符写回子单元,其中CRC计算子单元完成FC-2层CRC的计算;FCoE封装子单元添加帧头信息和帧尾信息;描述符写回子单元用于与TBUFFER的交互,完成已用描述符写回操作。TFCoE_LEP一端连接TFIFO,另一端连接TQS和TBUFFER.
TD/RM用于管理整个发送模块的描述符管理,配置整个发送模块所需的寄存器。在完成软件初始化时,FCoE网络适配器CPU会向TD/RM传入配置寄存器的信息;同时会控制TAXI4总线向TBUFFER传入一定量不同队列的描述符和数据块。在发送过程中,可用描述符会不断的被消耗。TD/RM监控每个发送队列描述符的使用,当可用描述符达到预取阈值时,此单元向FCoE网络适配器CPU产生中断申请重新获取可用描述符,同时向FCoE网络适配器CPU申请由TBUFFER通过AXI4总线向PCI-E总线存储域写回已用描述符。TD/RM根据FCoE网络适配器CPU写入的寄存器信息配置发送模块内所需要的寄存器,当FCoE网络适配器CPU写入寄存器完毕时,TD/RM向发送模块各单元配置寄存器信息。TD/RM一端连接TAXI4总线单元,一端连接发送模块各单元如TFCoE_LEP、TQS、TBUFFER等。
TFIFO单元用于缓冲封装完成的FCoE帧,FCoE帧最终由xge_mac发送。采用发TFIFO单元的目的是为了解决IP核与xge_mac不同时钟域的数据同步。TFIFO一端连接TFCoE_LEP,一端连接xge_mac。
TQS为不同的帧类型选择合适的发送队列和描述符。不同的帧类型会有不同的描述符与之对应。比如FCoE帧进行封装时,TQS会从TBUFFER单元获取适合FCoE帧的发送队列和描述符,并将此信息传递给TFCoE_LEP单元用于帧的封装。发送队列选择单元一端连接TFCoE_LEP,一端连接TBUFFER单元。适合FCoE帧的发送描述符结构主要包括FCoE帧在TBUFFER存储的位置、VLAN信息、帧长度及发送状态等。
TBUFFER用于缓存PCI-E存储域与发送模块之间交互的帧和描述符,采用TBUFFER是为了对处于AXI4总线和协议加速引擎的不同时钟域的数据进行同步。TBUFFER单元一端接TQS和TFCoE_LEP,一端TAXI4单元。
TAXI4包括两部分,AXI4-lite部分和AXI4部分。AXI4-lite部分用于FCoE网络适配器CPU对发送模块的控制,FCoE网络适配器CPU通过对寄存器读写和处理中断等方式实现对本IP核发送模块的控制;AXI4部分用于IP核内部TBUFFER与通过总线与本IP核连接的其他IP核如PCI-E的数据的交互,AXI4部分将PCI-E总线存储域从主机得到的帧和描述符信息传递到本IP核发送模块TBUFFER,并负责向PCI-E存储域写回处理完成的描述符部分。TAXI4单元AXI4部分一端连接AXI总线,一端连接TBUFFER;TAXI4单元AXI4-lite部分一端连接AXI-lite总线,一端连接TD/RM。
如图3所示,协议加速引擎IP核的接收模块包括接收FCoE帧解封装单元RFCoE_LEP、接收描述符与寄存器管理单元RD/RM、接收帧FIFO单元RFIFO、接收队列选择单元RQS、接收buffer单元RBUFFER和接收AXI4总线单元RAXI4。
RFCoE_LEP用于完成接收帧的解封装。RFCoE_LEP单元首先完成接收帧的FC-2层CRC校验,进行帧头帧尾的去除,然后将帧头帧尾信息发往RQS,将解封装的帧发往RBUFFER。RFCoE_LEP包括CRC校验子单元、FCoE解封装子单元、帧存储子单元、帧信息提交子单元。CRC校验子单元完成FC-2层CRC的计算和校验,FCoE解封装单元去除帧头信息和帧尾等,帧存储子单元完成帧向RBUFFER的提交,帧信息提交子单元完成帧信息向RQS的提交。RFCoE_LEP单元一端连接RFIFO单元,另一端连接RQS和RBUFFER单元。
RD/RM用于管理整个接收模块的描述符和寄存器。在软件初始化之后,FCoE网络适配器CPU通过AXI4总线向RD/RM写入配置的寄存器信息,控制AXI4总线向RBUFFER写入一定量的各个队列的描述符块。在接收时,帧的接收会不断消耗可用描述符。RD/RM监控每个接收队列描述符的使用,当可用描述符较少达到阈值时,此单元向FCoE网络适配器CPU产生中断申请重新获取可用描述符,同时控制RBUFFER通过AXI4总线写回已用描述符。RD/RM在FCoE网络适配器CPU配置寄存器的信息写入完毕后,之后向接收模块各单元配置寄存器。
RFIFO单元用于缓冲xge_mac传递到IP核的帧,为处于xge_mac和协议加速引擎不同时钟域的数据进行同步。RFIFO一端连接RFCoE_LEP,一端连接xge_mac。
RQS用于为合适的帧类型选择合适的接收队列和描述符。融合FCoE网络适配器接收的帧类型多种多样,不同类型的帧由不同的描述符负责接收。当对FCoE帧进行解封装后,接收队列选择单元会选取适合FCoE帧的接收队列和描述符,并将从RFCoE_LEP接收到的帧信息写入描述符。RQS一端连接RFCoE_LEP,一端连接接收RBUFFER。适合FCoE帧接收的描述符结构包括帧在RBUFFER的存储位置、帧长度、接收状态及VLAN信息等。
RBUFFER用于缓存主机与接收模块之间交互的帧和描述符。采用RBUFFER是为了对处于AXI4总线和协议加速引擎的不同时钟域的数据进行同步。RBUFFER一端接RQS和RFCoE_LEP,一端接RAXI4单元。
RAXI4单元包括两部分,AXI4-lite部分和AXI4部分。AXI4-lite部分用于FCoE网络适配器CPU对接收模块的控制,AXI4部分用于本IP核与其他IP核如PCI-E的数据交互。FCoE网络适配器CPU通过AXI4-lite部分完成向本IP核接收模块的寄存器读写和中断的处理。AXI4部分用于本IP核接收系统与连接到AXI4总线上其他IP核的数据交互。RAXI4单元AXI4部分一端连接AXI4总线,一端连接RBUFFER;RAXI4单元AXI4-lite部分一端连接AXI4-lite总线,一端连接RD/RM。
FCoE帧发送的流程如图4,首先FCoE网络适配器CPU会控制向TD/RM配置寄存器和控制AXI4总线向TBUFFER写入一定量描述符;当TAXI4单元向TBUFFER中写入一段数据块时,代表有数据要进行发送。,TQS选取合适的发送队列和描述符,描述符信息传递给TFCoE_LEP;TBUFFER向TFCoE_LEP传递要发送的数据。TFCoE_LEP对此数据块进行CRC计算并根据描述符信息添加帧头和帧尾。在封装完成之后,帧写入到TFIFO中;同时将已经使用完的描述符TBUFFER。当已经使用的描述符达到阈值时,TD/RM产生中断向FCoE网络适配器CPU申请通过TAXI4上传使用过的描述符块并重新预取一定量的描述符。存储在TFIFO中的数据接下来发往xge_mac,帧通过xge_mac发送出去。由此一次帧的发送过程完毕。
FCoE帧接收的流程如图5,首先FCoE网络适配器CPU会向RD/RM配置寄存器和控制向RBUFFER写入一定量描述符。当RFIFO接收到xge_mac传入的数据代表有数据接收。RFIFO向RFCoE_LEP传递每一个需要被接收的帧,在RFCoE_LEP中进行帧的CRC校验,校验错误的帧丢弃,校验通过的帧进行帧头信息和帧尾的提取及去除。帧被发往RBUFFER,帧头信息被发往RQS。RQS根据帧信息选取适当的接收队列和描述符并填充描述符,每次RQS都检查可用描述符是否达到阈值,如果达到RD/RM就产生中断向FCoE网络适配器CPU申请上传已经使用的描述符,并重新预取一定量的可用描述符,同时启动帧的上传。当帧接收完成时结束此次接收过程。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于AXI4总线的FCoE协议加速引擎IP核,其特征在于,所述协议加速引擎IP核包括发送模块和接收模块,其中:
所述发送模块包括发送帧封装单元TFCoE_LEP、发送描述符与寄存器管理单元TD/RM、发送帧FIFO单元TFIFO、发送队列选择单元TQS、发送buffer单元TBUFFER和发送AXI4总线单元TAXI4;其中所述发送帧封装单元TFCoE_LEP用于完成待发送帧的封装,所述发送描述符与寄存器管理单元TD/RM用于管理整个发送模块的描述符,所述发送帧FIFO单元TFIFO用于缓冲封装完成的FCoE帧,所述发送队列选择单元TQS用于为不同的帧类型选择合适的发送队列和描述符,所述发送buffer单元TBUFFER用于缓存PCI-E存储域与发送模块之间交互的帧和描述符,所述发送AXI4总线单元TAXI4用于实现FCoE网络适配器CPU对发送模块的控制以及用于IP核内部TBUFFER与通过总线和本IP核连接的其他IP核的数据交互;
所述接收模块包括帧解封装单元RFCoE_LEP、接收描述符与寄存器管理单元RD/RM、接收帧FIFO单元RFIFO、接收队列选择单元RQS、接收buffer单元RBUFFER和接收AXI4总线单元RAXI4;其中所述帧解封装单元RFCoE_LEP用于完成接收帧的解封装,所述接收描述符与寄存器管理单元RD/RM用于管理整个接收模块的描述符和寄存器,所述接收帧FIFO单元RFIFO用于缓冲10G以太网MAC控制器xge_mac传递到IP核的帧,所述接收队列选择单元RQS用于为合适的帧类型选择合适的接收队列和描述符,所述接收buffer单元RBUFFER用于缓存主机与接收模块之间交互的帧和描述符,所述接收AXI4总线单元RAXI4用于实现FCoE网络适配器CPU对接收模块的控制以及用于本IP核与其他IP核的数据交互。
2.根据权利要求1所述的基于AXI4总线的FCoE协议加速引擎IP核,其特征在于,所述IP核建立在AXI4总线基础之上,由FCoE网络适配器CPU进行控制。
3.根据权利要求1所述的基于AXI4总线的FCoE协议加速引擎IP核,其特征在于,所述IP核的发送模块的各子模块具体用于:
(3.1)TFCoE_LEP用于完成待发送帧的封装;TFCoE_LEP从发送队列选择单元获取帧信息,为待发送帧形成帧头帧尾、CRC校验码,并封装成完整的FCoE帧;
(3.2)TD/RM用于管理整个发送模块的描述符和寄存器;TD/RM首先向FCoE网络适配器CPU申请预取一定量的描述符,之后监控各发送队列中描述符的使用情况,当满足描述符可用阈值时产生中断,向FCoE网络适配器CPU申请重新获取可用的描述符块和数据块,同时上传帧封装完成的描述符域;FCoE网络适配器CPU会在软件初始化时向TD/RM传递寄存器信息,由TD/RM完成发送模块的寄存器配置,寄存器包括描述符相关寄存器、DMA参数寄存器、发送模块各子单元寄存器;
(3.3)TFIFO用于作为发送模块与xge_mac的缓存,为分别处于协议加速引擎和xge_mac两个时钟域的待发送帧进行同步;TFIFO工作在两个时钟域:xge_mac时钟域和IP核时钟域;
(3.4)TQS用于根据各发送队列待发送帧的类型,从多个发送队列中选出一个发送队列进行发送;TQS通过访问TBUFFER的描述符存储域,获取当前FCoE发送描述符的信息,传送给TFCoE_LEP;FCoE帧的发送描述符结构包括FCoE帧在TBUFFER存储的位置、VLAN信息、帧长度及发送状态;
(3.5)TBUFFER用于缓存待发送的数据及其描述符;在FCoE网络适配器CPU控制下将待发送数据块及描述符块转移至TBUFFER;TBUFFER将待发送数据块放在数据存储域,将发送描述符块放在描述符存储域;TBUFFER用于对分别处于AXI4总线和协议加速引擎两个不同时钟域的数据进行同步;TBUFFER工作在两个时钟域:AXI4总线时钟域和IP核时钟域;
(3.6)TAXI4用于将协议加速引擎IP核的发送模块封装成AXI4接口;TAXI4提供两种接口:AXI4-lite接口和AXI4接口;AXI4-lite接口用于实现FCoE网络适配器CPU对发送模块的控制,AXI4接口用于实现TBUFFER与PCI-E总线之间数据块和描述符块的交换。
4.根据权利要求1所述的基于AXI4总线的FCoE协议加速引擎IP核,其特征在于,所述IP核接收模块具体包括以下子单元:
(4.1)RFCoE_LEP用于完成已接收FCoE帧的解封装;RFCoE_LEP提取帧的关键信息并发送至RQS,同时完成FC-2层CRC的硬件校验;RFCoE_LEP将通过校验的帧FC数据发送到RBUFFER中;
(4.2)RD/RM用于管理整个接收模块的描述符和寄存器;RD/RM首先通过FCoE网络适配器CPU申请一定的预取描述符,在启动帧接收之后监控各接收队列中描述符的使用情况,当满足描述符中断阈值时产生中断,向FCoE网络适配器CPU申请获取新的可用描述符块,同时上传已用描述符域和存放在RBUFFER中的已接收帧;FCoE网络适配器CPU在软件初始化时向RD/RM传递要配置的寄存器信息,RD/RM完成接收模块的寄存器配置,寄存器包括描述符相关寄存器DMA参数寄存器发送模块各子单元寄存器;
(4.3)RFIFO用于作为接收模块与xge_mac的缓存,为处于协议加速引擎和xge_mac两个不同时钟域的接收帧实现同步;RFIFO工作在两个时钟域:xge_mac时钟域和协议加速引擎时钟域;
(4.4)RQS用于根据RFCoE_LEP提取的帧信息判断当前帧所属的类型,为待接收的帧分配相应的接收队列,实现同一类型的帧在存储域的聚合;接收队列选择单元从RBUFFER的描述符域中获取一个可用FCoE接收描述符,将帧信息填充至描述符;FCoE帧接收的描述符结构包括帧在RBUFFER的存储位置、帧长度、接收状态及VLAN信息;
(4.5)RBUFFER用于缓存接收的数据及其描述符,RBUFFER由接收描述符域和数据域两部分组成;RBUFFER中的接收数据块及已用描述符块在FCoE网络适配器CPU的控制下转移出协议加速引擎IP核;RBUFFER用于对分别处于协议加速引擎和AXI4两个不同时钟域的数据进行同步;RBUFFER工作在两个时钟域:AXI4总线时钟域和协议加速引擎时钟域;
(4.6)RAXI4用于将协议加速引擎接收模块封装成AXI4接口;RAXI4提供两种接口:AXI4-lite接口和AXI4接口;AXI4-lite接口用于实现FCoE网络适配器CPU对接收模块的控制和寄存器读写,AXI4接口用于实现RBUFFER与PCI-E总线之间数据块和描述符块的交换。
CN201410138005.0A 2014-04-04 2014-04-04 一种基于AXI4总线的FCoE协议加速引擎IP核 Expired - Fee Related CN103885840B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410138005.0A CN103885840B (zh) 2014-04-04 2014-04-04 一种基于AXI4总线的FCoE协议加速引擎IP核

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410138005.0A CN103885840B (zh) 2014-04-04 2014-04-04 一种基于AXI4总线的FCoE协议加速引擎IP核

Publications (2)

Publication Number Publication Date
CN103885840A CN103885840A (zh) 2014-06-25
CN103885840B true CN103885840B (zh) 2017-02-01

Family

ID=50954748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410138005.0A Expired - Fee Related CN103885840B (zh) 2014-04-04 2014-04-04 一种基于AXI4总线的FCoE协议加速引擎IP核

Country Status (1)

Country Link
CN (1) CN103885840B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104378161B (zh) * 2014-10-22 2017-03-01 华中科技大学 一种基于AXI4总线架构的FCoE协议加速引擎IP核
CN106201982A (zh) * 2016-07-01 2016-12-07 深圳市紫光同创电子有限公司 一种PCI‑Express IP核
CN106407522B (zh) * 2016-08-31 2019-09-10 德为显示科技股份有限公司 基于fpga的逻辑ip总线互联实现装置
CN107577636A (zh) * 2017-09-12 2018-01-12 天津津航技术物理研究所 一种基于soc的axi总线接口数据传输系统及传输方法
CN109814925A (zh) * 2018-12-24 2019-05-28 合肥君正科技有限公司 一种硬件模块通用自配置的方法及装置
CN110445585A (zh) * 2019-08-13 2019-11-12 北京简约纳电子有限公司 基于ppp数据帧组帧和解帧硬件加速器
CN113885945B (zh) * 2021-08-30 2023-05-16 山东云海国创云计算装备产业创新中心有限公司 一种计算加速方法、设备以及介质
CN113986791B (zh) * 2021-09-13 2024-02-02 西安电子科技大学 一种智能网卡快速dma设计方法、系统、设备及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075437A (zh) * 2011-02-12 2011-05-25 成都市华为赛门铁克科技有限公司 一种通信方法、网关及网络
CN203151539U (zh) * 2012-11-09 2013-08-21 北京航空航天大学 一种afdx端系统虚拟链路层ip核
WO2013165340A1 (en) * 2012-04-30 2013-11-07 Hewlett-Packard Development Company, L.P. CONVERGED FABRIC FOR FCoE

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075437A (zh) * 2011-02-12 2011-05-25 成都市华为赛门铁克科技有限公司 一种通信方法、网关及网络
WO2013165340A1 (en) * 2012-04-30 2013-11-07 Hewlett-Packard Development Company, L.P. CONVERGED FABRIC FOR FCoE
CN203151539U (zh) * 2012-11-09 2013-08-21 北京航空航天大学 一种afdx端系统虚拟链路层ip核

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Advanced FCoE: Extension of Fibre Channel over Ethernet;Satoshi Kamiya等;《DC-CaVES 11 Proceedings of the 3rd Workshop on Data Center - Converged and Virtual Ethernet Switching》;20110909;第1-8页 *
FCoE协议分析与FCoE交换机设计;邹少义等;《2008年中国高校通信类院系学术研讨会论文集(上册)》;20090307;第365-368页 *

Also Published As

Publication number Publication date
CN103885840A (zh) 2014-06-25

Similar Documents

Publication Publication Date Title
CN103885840B (zh) 一种基于AXI4总线的FCoE协议加速引擎IP核
US10210113B2 (en) SAN fabric online path diagnostics
US5446726A (en) Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
US5668809A (en) Single chip network hub with dynamic window filter
US10313768B2 (en) Data scheduling and switching method, apparatus, system
US6549960B1 (en) Architecture and apparatus for implementing 100 MBPS and GBPS ethernet address
US5625825A (en) Random number generating apparatus for an interface unit of a carrier sense with multiple access and collision detect (CSMA/CD) ethernet data network
CN104378161B (zh) 一种基于AXI4总线架构的FCoE协议加速引擎IP核
CN104067576B (zh) 用于在网络上传输并发数据流的系统
US7286557B2 (en) Interface and related methods for rate pacing in an ethernet architecture
CN108123894A (zh) 一种基于Intel万兆网卡实现采样数据流低延迟传输的方法
CN106953853A (zh) 一种片上网络千兆以太网资源节点及其工作方法
EP0964550A2 (en) Method and apparatus for providing a network interface
US20110019685A1 (en) Method and system for packet preemption for low latency
CN116074267B (zh) 一种数据通信系统及SoC芯片
AU2024201415A1 (en) Device, method, and system that virtualize a network
CN109710550B (zh) 一种基于双缓存的帧长度不固定rs422数据通信系统
CN116471242A (zh) 基于rdma的发送端、接收端、数据传输系统及方法
CN107888337A (zh) 一种fpga、fpga处理信息的方法、加速装置
CN109547157B (zh) 一种支持时间触发以太网的万兆网络控制器及控制方法
CN102790663B (zh) 一种应用于vlbi硬件相关处理机的全硬件网络接口
WO2019095942A1 (zh) 一种数据传输方法及通信设备
Bucknall et al. Network enabled partial reconfiguration for distributed FPGA edge acceleration
CN104081735B (zh) 用于在网络上传输并发数据流的系统
CN112702313A (zh) 高速udp数据发送系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170201

CF01 Termination of patent right due to non-payment of annual fee