CN101202707A - 高速单板传输报文的方法、现场可编程门阵列及高速单板 - Google Patents

高速单板传输报文的方法、现场可编程门阵列及高速单板 Download PDF

Info

Publication number
CN101202707A
CN101202707A CNA2007101786261A CN200710178626A CN101202707A CN 101202707 A CN101202707 A CN 101202707A CN A2007101786261 A CNA2007101786261 A CN A2007101786261A CN 200710178626 A CN200710178626 A CN 200710178626A CN 101202707 A CN101202707 A CN 101202707A
Authority
CN
China
Prior art keywords
message
veneer
fpga
module
dma
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
Application number
CNA2007101786261A
Other languages
English (en)
Other versions
CN101202707B (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.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2007101786261A priority Critical patent/CN101202707B/zh
Publication of CN101202707A publication Critical patent/CN101202707A/zh
Application granted granted Critical
Publication of CN101202707B publication Critical patent/CN101202707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明公开了一种高速单板传输报文的方法、一种高速单板上的FPGA及一种高速单板。在高速单板的FPGA中增加DMA控制器,该DMA控制器维护DMA所需的BD,FPGA根据该BD与其它单板交互报文。本发明释放了高速单板的CPU的DMA管理工作,降低了CPU的工作负担,提高了高速单板的整板效率。

Description

高速单板传输报文的方法、现场可编程门阵列及高速单板
技术领域
本发明涉及数据传输技术领域,具体涉及一种高速单板传输报文的方法、一种高速单板上的现场可编程门阵列(FPGA,Field Programmable GateArray)及一种高速单板。
背景技术
对于外设部件互连(PCI,Peripheral Component Interconnect)Express即:PCIe总线技术或者是传统的PCI总线,数据的传输通常是基于直接内存访问(DMA,Direct Memory Access)机制。这种操作的主要优点是缓解处理器的工作量,通常使用DMA控制器发起直接内存访问,从而在不使用处理器的情况下完成数据的搬移,一般的片***(SOC,System on Chip)处理器都会为用户提供多个DMA控制器。
图1给出了基于PCIe总线技术的路由器上各单板之间的数据传输示意图,如图1所示,各单板包括:主控板、线路板上的中央处理单元(CPU,Central Processing Unit)首先初始化DMA控制器,在各单板的内存中建立收、发缓存描述符(BD,Buffer Descriptor)链,每条BD链都相当于一个先入先出(FIFO,First Input First Output)队列,发BD用于缓存待发数据,收BD用于缓存接收到的数据。每个BD链包括BD头和BD缓冲区两部分,BD头指示该BD的各种信息,如:BD状态、长度及缓冲区的地址等,BD缓冲区存有需要传送或已接收的数据。
DMA机制中最重要的就是收、发BD链的管理,各单板的CPU要将本单板的收BD地址通知所有潜在的源单板,还要将收BD的空满状况及时上报所有潜在的源单板,以防止由于收BD满而导致溢出丢包的现象。
如图1所示,当线路板1要向线路板m传输报文时,线路板1的CPU首先将报文放入发BD中,随后判断线路板m是否有足够的收BD来接收报文,若没有,则等待,若有,则启动DMA控制器,由DMA控制器完成报文传输,并通过中断或消息的方式通知线路板m:报文已传输完毕。
单板之间主要传输两类报文:一类是控制报文,包括流控报文和通知数据传输完毕的消息报文;另一类是数据报文。
基于处理器性能,可将线路板划分为两种:低速线路板和高速线路板。低速线路板主要以单核处理器为主,该类处理器含有PCIe控制器,处理器之间可以直接通过交换芯片互联通讯。高速线路板主要以高性能的多核处理器或者网络处理器为主,该类处理器不支持PCIe接口,通用高带宽接口为SPI4.2,为实现基于PCIe的高速业务板,需要完成PCIe到SPI4.2的转换,目前通过FPGA实现PCIe到SPI4.2的转换。
图2给出了同时具有低速线路板和高速线路板的路由器的示意图,如图2所示,线路板之间的互通主要有三种方式:
方式一、低速线路板间通信。互通方式和图1中的DMA机制一致。
方式二、高速线路板间通信。FPGA不参与任何DMA处理,只实现PCIe数据包和SPI4.2数据报文的转换,BD初始化和管理依然由高速线路板上的高性能CPU通过自带的DMA控制器来实现。FPGA既不需要参与DMA管理也不需要了解传输的报文内容是控制报文还是数据报文,直接将收到的SPI4.2数据包的载荷(payload)部分剥离,并按照载荷中的地址将数据报文发出。
方式三、高、低速线路板间互相通信。该方式为方式一和方式二的结合。
从图2所示技术方案可以看出:高速线路板的CPU需要进行DMA管理,这样会将增加CPU的工作负担、降低整板效率。
发明内容
本发明实施例提供一种高速单板传输报文的方法、一种高速单板上的FPGA以及一种高速单板,以降低高速单板的CPU的工作负担。
本发明实施例的技术方案是这样实现的:
一种高速单板上的FPGA,包括:DMA控制器,该DMA控制器维护DMA所需的BD,FPGA根据该BD与其它单板交互报文。
所述DMA控制器包括:DMA接收模块、BD管理模块和DMA发送模块,其中:
DMA接收模块,从收BD中取出其它单板通过FPGA的外设部件互连PCIe总线发来的报文,若该报文为BD管理报文,则将报文直接发送给BD管理模块;若该报文为数据报文,则将报文发送给中央处理单元CPU;
BD管理模块,在本高速单板上创建并维护收、发BD,接收DMA接收模块发来的BD管理报文,根据该报文管理本高速单板上的收BD;
DMA发送模块,接收CPU发来的报文,将该报文放入发BD中发送给其它单板。
所述BD管理单元进一步包括:根据预先设定的收BD更新条件,向其它单板发送携带本单板为该其它单板维护的收BD链空满状况信息的报文。
所述FPGA进一步包括:接收数据缓存模块、SPI4.2发送控制模块和SPI4.2流控模块,
且,所述DMA控制器接收到其它单板发来的数据报文后,将报文的载荷部分中的数据缓存到接收数据缓存模块,并向SPI4.2发送控制模块发送已有新待发数据通知,其中:
接收数据缓存模块,用于缓存DMA控制器发来的数据;
SIP4.2发送控制模块,接收所述已有新待发数据通知,向SPI4.2流控模块查询是否流控,若未流控,从接收数据缓存模块取出缓存的数据,将数据封装上SPI4.2控制头后发送给CPU;
SPI4.2流控模块,用于对本FPGA的SPI4.2通道进行流控。
所述FPGA进一步包括:SPI4.2接收控制模块、发送数据缓存模块,其中:
SPI4.2接收控制模块,接收CPU通过SPI4.2通道发来的数据报文,将该数据报文的载荷部分剥离,将得到的数据缓存到发送数据缓存模块,并向DMA控制器发送已有新待发数据通知;
发送数据缓存模块,缓存SPI4.2接收控制模块发来的数据;
且,所述DMA控制器收到所述已有新待发数据通知,从发送数据缓存模块取出缓存的数据。
一种高速单板,包括:FPGA和CPU,FPGA中包括:DMA控制器,该DMA控制器维护DMA所需的BD,FPGA根据该BD与其它单板交互报文。
所述DMA控制器包括:DMA接收模块、BD管理模块和DMA发送模块,其中:
DMA接收模块,从收BD中取出其它单板通过FPGA的PCIe总线发来的报文,若该报文为BD管理报文,则将报文直接发送给BD管理模块;若该报文为数据报文,则将报文发送给CPU;
BD管理模块,在本高速单板上创建并维护收、发BD,接收DMA接收模块发来的BD管理报文,根据该报文管理本高速单板上的BD;
DMA发送模块,接收CPU发来的报文,将该报文放入发BD中发送给其它单板。
一种高速单板传输报文的方法,该方法包括:
高速单板上的FPGA维护DMA所需的BD,FPGA根据该BD与其它单板交互报文。
所述高速单板的FPGA维护DMA所需的BD包括:
FPGA为本高速单板的每个源单板分别创建并维护一个收BD链,并在本单板初始化时,将为每个源单板维护的收BD链信息发送给该源单板。
所述FPGA根据BD与其它单板交互报文包括:
FPGA接收到本单板的源单板发来的报文传输完毕指示,从自身为该源单板维护的收BD中取出报文,若报文为BD管理报文,则根据该报文管理BD;若报文为数据报文,则将报文发送给CPU。
所述FPGA将报文发送给CPU包括:
判断FPGA与CPU之间的SPI4.2通道是否被流控,若否,将报文发送给CPU;否则,等待至SPI4.2通道未被流控时,将报文发送给CPU。
所述FPGA从自身为该源单板维护的收BD中取出报文进一步包括:FPGA将自身为该源单板维护的收BD链的空满状况信息发送给该源单板。
所述FPGA为本高速单板的每个源单板分别创建并维护一个收BD链进一步包括:FPGA创建并维护一个发BD链。
所述FPGA根据BD与其它单板交互报文包括:
FPGA接收到本高速单板的CPU发来的数据报文,将该报文放入发BD中,根据报文中的目标单板标识,判断自身为该目标单板维护的收BD链中是否存在空闲收BD,若存在,将空闲收BD地址放入发BD中,启动DMA传送过程。
FPGA为本高速单板的每个源单板预先设定收BD链更新条件,在满足该条件时,FPGA将本单板为该源单板维护的收BD链的空满状况信息发送给该源单板。
与现有技术相比,本发明实施例通过在高速单板的FPGA中增加DMA控制器,该DMA控制器维护DMA所需的BD,FPGA根据该BD与其它单板交互报文,释放了高速单板的CPU的DMA管理工作,降低了CPU的工作负担,提高了高速单板的整板效率。
附图说明
图1为现有的基于PCIe总线技术的路由器各单板之间的数据传输示意图;
图2为现有的同时具有低速线路板和高速线路板的路由器的示意图;
图3为本发明实施例提供的同时具有低速线路板和高速线路板的路由器的示意图;
图4为本发明实施例提供的高速单板上的FPGA的组成示意图;
图5为本发明实施例提供的发、收BD的示意图;
图6为本发明实施例提供的高速单板接收报文的处理流程图;
图7为本发明实施例提供的高速单板发送报文的处理流程图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明实施例中,将高速主控板和高速线路板统称为高速单板。
图3为本发明实施例提供的同时具有低速线路板和高速线路板的路由器的示意图,如图3所示,其主要包括:主控板、PCIe交换机、低速线路板和高速线路板。其中,PCIe交换机、低速线路板的结构和功能可以与现有技术相同,且,若主控板为低速单板,则主控板的结构和功能可与现有技术相同。
如图3所示,高速线路板的FPGA中包含DMA控制器,CPU中则不包含DMA控制器。同时,若主控板为高速单板,则主控板的FPGA的结构与图3所示的高速线路板中的FPGA的结构相同:包含DMA控制器,且主控板的CPU中不包含DMA控制器。
图4给出了本发明实施例提供的高速单板上的FPGA的组成示意图,如图4所示,FPGA主要包括:DMA接收模块411、接收数据缓存模块412、SPI4.2发送控制模块413、SPI4.2流控模块414、SPI4.2接收控制模块415、发送数据缓存模块416、DMA发送模块417、BD管理模块418,各模块的主要功能如下:
DMA接收模块411:接收本单板的源单板发来的指示报文已传输完毕的中断或消息,从本单板为该源单板维护的收BD链中取出报文,若该报文为收BD链更新报文,则将报文直接发送给BD管理模块418;若该报文为数据报文,则将数据报文的载荷部分中的数据缓存到接收数据缓存模块412,同时向SPI4.2发送控制模块413发送已有新待发数据通知。
接收数据缓存模块412:缓存DMA接收模块411发来的数据。
SPI4.2发送控制模块413:接收到DMA接收模块411发来的已有新待发数据通知,向SPI4.2流控模块414发送流控查询,若收到SPI4.2流控模块414返回的未流控指示,从接收数据缓存模块412获取缓存的数据,将该数据封装上SPI4.2控制头后通过SPI4.2通道发送给CPU;若收到SPI4.2流控模块414返回的流控指示,则通过BD管理模块418、DMA发送模块417向本单板的源单板发送本单板的SPI4.2通道已阻塞的通知,并继续向SPI4.2流控模块414发送流控查询,直至SPI4.2流控模块414返回未流控指示。
SPI4.2流控模块414:若接收到CPU发来的流控通知,则开始流控;若接收到CPU发来的取消流控通知,则停止流控;接收SPI4.2发送控制模块413发来的流控查询,根据当前的流控情况,向SPI4.2发送控制模块413返回流控指示或未流控指示。接收BD管理模块418发来的携带源单板标识的停止发送数据通知,将该停止发送数据通知发送给CPU;接收BD管理模块418发来的携带源单板标识的开始发送数据通知,将该开始发送数据通知发送给CPU。
SPI4.2接收控制模块415:接收CPU通过本FPGA的SPI4.2通道发来的数据报文,将数据报文的载荷部分中的数据缓存到发送数据缓存模块416,同时向DMA发送模块417发送已有新待发数据通知。
发送数据缓存模块416:缓存SPI4.2接收控制模块415发来的数据。
DMA发送模块417:接收SPI4.2接收控制模块415发来的已有新待发数据通知,从发送数据缓存模块416获取携带有目标单板标识的数据,为数据封装上PCIe控制头,将得到的数据报文放入发BD中,并向BD管理模块418发送携带目标单板标识的收BD查询,若收到BD管理模块418返回的空闲收BD地址,将该空闲收BD地址放入发BD中的数据报文中,启动DMA发送过程;若接收到BD管理模块418返回的满指示,则重复向BD管理模块418发送携带目标单板标识的收BD查询,直至收到BD管理模块418返回的空闲收BD地址。
BD管理模块418:为本单板创建并维护一个发BD链,并为本单板的每个潜在源单板分别创建并维护一个收BD链。在本单板初始化时,将为每个源单板维护的收BD链中的所有收BD的地址携带在收BD链初始化报文中发送给该源单板;并在满足预先设定的收BD链更新条件时,将为每个源单板维护的收BD链的空满状况信息携带在收BD链更新报文中通过DMA发送模块417通知该源单板。若检测到本单板为某个源单板维护的收BD链已满,则向SPI4.2流控模块414发送携带该源单板标识的停止发送数据通知,并在检测到本单板为该源单板维护的收BD链空闲时,向SPI4.2流控模块414发送携带该源单板标识的开始发送数据通知。接收其它单板发来的收BD链初始化报文,保存该报文中携带的源单板标识与源单板为本单板维护的收BD链中的收BD地址信息的对应关系;接收DMA接收模块411发来的收BD链更新报文,保存该报文中携带的源单板标识和该源单板为本单板维护的收BD链空满状况信息。
收BD链初始化报文、收BD链更新报文都为BD管理报文。
图5给出了本发明实施例提供的高速单板上的发、收BD链的示意图,如图5所示,A_Tx为本高速单板建立的发BD链,缓存中的内容为待发数据,B_Rx为目标单板在本单板中复制的收BD链,在确认目标单板为B后,本高速单板会将为B维护的B_Rx中的空闲收BD地址填充到A_Tx的发送BD中,然后启动DAM传送过程。
图6为本发明实施例提供的高速单板接收报文的处理流程图,如图6所示,其具体步骤如下:
步骤600:BD管理单元418为本单板创建并维护一个发BD链,并为本单板的每个潜在源单板分别创建并维护一个收BD链;在本单板初始化时,将为每个源单板维护的收BD链中的所有收BD的地址通过收BD链初始化报文发送给该源单板;接收其它单板发来的收BD链初始化报文,记录该报文携带的源单板标识与收BD链中的收BD地址信息的对应关系。
步骤601:DMA接收模块411接收到源单板通过FPGA的PCIe总线发来的指示报文传输完毕的中断或消息,从本单板为该源单板维护的收BD链对应的收BD中取出报文。
本步骤中,DMA接收模块411在从收BD中取出报文后,可以将报文中的源单板标识发送给BD管理单元418,BD管理单元418收到该源单板标识后,更新本单板为该源单板维护的收BD链,并将本单板标识和本单板为该源单板维护的收BD链的空满状况信息携带在收BD链更新报文中发送给该源单板。
另外,本发明实施例中,本单板也可以为每个源单板预先设定一个收BD链更新周期,在源单板的每个收BD链更新周期到来时,本单板上的BD管理单元418将本单板为该源单板维护的收BD链的空满状况信息通过收BD链更新报文发送给该源单板。
步骤602:DMA接收模块411判断该报文为收BD链更新报文还是数据报文,若是收BD链更新报文,执行步骤603;若是数据报文,执行步骤605。
步骤603:DMA接收模块411将收BD链更新报文直接发送给BD管理模块418。
步骤604:BD管理模块418收到收BD链更新报文,保存该报文中携带的源单板标识和该源单板为本单板维护的收BD链空满状况信息,本流程结束。
例如:本步骤中,设定本单板为高速线路板a,收BD链更新报文为单板b发来的,则报文中携带单板b标识以及单板b为高速线路板a维护的收BD链空满状况信息。这里,收BD链空满状况具体可为:全空、全满、收BD链中所有空闲BD地址、收BD链中所有非空闲BD地址中的一种。
步骤605:DMA接收模块411将数据报文中的载荷部分剥离出来,将载荷中的数据缓存到接收数据缓存模块412,同时向SPI4.2发送控制模块413发送已有新待发数据通知。
步骤606:SPI4.2发送控制模块413接收DMA接收模块411发来的已有新待发数据通知。
步骤607:SPI4.2发送控制模块413向SPI4.2流控模块414查询是否流控,若是,执行步骤608;否则,执行步骤609。
若CPU的处理负荷已超过可容忍处理负荷,则CPU会向SPI4.2流控模块414发送流控通知,SPI4.2流控模块414收到该流控通知后,开始进行流控;CPU在处理负荷低于可容忍处理负荷时,会向SPI4.2流控模块414发送取消流控通知,SPI4.2流控模块414收到该取消流控通知后,停止流控。
步骤608:SPI4.2发送控制模块413通过BD管理模块418、DMA发送模块417向源单板发送本单板的SPI4.2通道已阻塞的通知,转至步骤607。
本步骤中,若FPGA和CPU之间只包含一条SPI4.2通道,则SPI4.2发送控制模块41 3需要向所有潜在源单板发送本单板的SPI4.2通道已阻塞的通知;若FPGA和CPU之间包含多于一条SPI4.2通道,且所有潜在源单板的流量分别分布在各条SPI4.2通道上,此时,SPI4.2发送控制模块413只需要向已阻塞的SPI4.2通道对应的源单板发送本单板的SPI4.2通道已阻塞的通知。
步骤609:SPI4.2发送控制模块413从接收数据缓存模块412获取缓存的数据,将该数据封装上SPI4.2控制头后通过SPI4.2通道发送给CPU。
图7为本发明实施例提供的高速单板发送数据报文的流程图,如图7所示,其具体步骤如下:
步骤701:SPI4.2接收控制模块415接收CPU通过本FPGA的SPI4.2通道发来的携带目标单板标识的数据报文。
步骤702:SPI4.2接收控制模块415将数据报文的载荷部分剥离出来,将载荷中的数据缓存到发送数据缓存模块416,同时向DMA发送模块417发送已有新待发数据通知。
步骤703:DMA发送模块417接收SPI4.2接收控制模块415发来的已有新待发数据通知,从发送数据缓存模块416获取数据。
步骤704:DMA发送模块417给数据添加PCIe控制头,将得到的数据报文放入发BD中。
步骤705:DMA发送模块417从BD管理单元418获取目标单板为本单板维护的收BD链的空满状况信息。
步骤706:DMA发送模块417判断收BD链中是否存在空闲收BD,若是,执行步骤707;否则,返回执行步骤705。
步骤707:DMA发送模块417将空闲收BD地址放入数据报文中,启动DMA传送过程,通过本FPGA的PCIe总线将数据报文发送到目标单板。
从图3~4、6~7所示实施例可以看出,本发明实施例通过以FPGA取代CPU实现DMA管理,不但减轻了CPU的工作量,同时还由于CPU不需要构造PCIe报文,省去了PCIe包头的开销,从而弥补了SPI4.2总线带宽的损失。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种高速单板上的现场可编程门阵列FPGA,其特征在于,包括:直接内存访问DMA控制器,该DMA控制器维护DMA所需的缓存描述符BD,FPGA根据该BD与其它单板交互报文。
2.如权利要求1所述的FPGA,其特征在于,所述DMA控制器包括:DMA接收模块、BD管理模块和DMA发送模块,其中:
DMA接收模块,从收BD中取出其它单板通过FPGA的外设部件互连PCIe总线发来的报文,若该报文为BD管理报文,则将报文直接发送给BD管理模块;若该报文为数据报文,则将报文发送给中央处理单元CPU;
BD管理模块,在本高速单板上创建并维护收、发BD,接收DMA接收模块发来的BD管理报文,根据该报文管理本高速单板上的收BD;
DMA发送模块,接收CPU发来的报文,将该报文放入发BD中发送给其它单板。
3.如权利要求1所述FPGA,其特征在于,所述BD管理单元进一步包括:根据预先设定的收BD更新条件,向其它单板发送携带本单板为该其它单板维护的收BD链空满状况信息的报文。
4.如权利要求1所述的FPGA,其特征在于,所述FPGA进一步包括:接收数据缓存模块、SPI4.2发送控制模块和SPI4.2流控模块,
且,所述DMA控制器接收到其它单板发来的数据报文后,将报文的载荷部分中的数据缓存到接收数据缓存模块,并向SPI4.2发送控制模块发送已有新待发数据通知,其中:
接收数据缓存模块,用于缓存DMA控制器发来的数据;
SIP4.2发送控制模块,接收所述已有新待发数据通知,向SPI4.2流控模块查询是否流控,若未流控,从接收数据缓存模块取出缓存的数据,将数据封装上SPI4.2控制头后发送给CPU;
SPI4.2流控模块,用于对本FPGA的SPI4.2通道进行流控。
5.如权利要求1所述的FPGA,其特征在于,所述FPGA进一步包括:SPI4.2接收控制模块、发送数据缓存模块,其中:
SPI4.2接收控制模块,接收CPU通过SPI4.2通道发来的数据报文,将该数据报文的载荷部分剥离,将得到的数据缓存到发送数据缓存模块,并向DMA控制器发送已有新待发数据通知;
发送数据缓存模块,缓存SPI4.2接收控制模块发来的数据;
且,所述DMA控制器收到所述已有新待发数据通知,从发送数据缓存模块取出缓存的数据。
6.一种高速单板,包括:FPGA和CPU,其特征在于,FPGA中包括:DMA控制器,该DMA控制器维护DMA所需的BD,FPGA根据该BD与其它单板交互报文。
7.如权利要求6所述的高速单板,其特征在于,所述DMA控制器包括:DMA接收模块、BD管理模块和DMA发送模块,其中:
DMA接收模块,从收BD中取出其它单板通过FPGA的PCIe总线发来的报文,若该报文为BD管理报文,则将报文直接发送给BD管理模块;若该报文为数据报文,则将报文发送给CPU;
BD管理模块,在本高速单板上创建并维护收、发BD,接收DMA接收模块发来的BD管理报文,根据该报文管理本高速单板上的BD;
DMA发送模块,接收CPU发来的报文,将该报文放入发BD中发送给其它单板。
8.一种高速单板传输报文的方法,其特征在于,该方法包括:
高速单板上的FPGA维护DMA所需的BD,FPGA根据该BD与其它单板交互报文。
9.如权利要求8所述的方法,其特征在于,所述高速单板的FPGA维护DMA所需的BD包括:
FPGA为本高速单板的每个源单板分别创建并维护一个收BD链,并在本单板初始化时,将为每个源单板维护的收BD链信息发送给该源单板。
10.如权利要求9所述的方法,其特征在于,所述FPGA根据BD与其它单板交互报文包括:
FPGA接收到本单板的源单板发来的报文传输完毕指示,从自身为该源单板维护的收BD中取出报文,若报文为BD管理报文,则根据该报文管理BD;若报文为数据报文,则将报文发送给CPU。
11.如权利要求10所述的方法,其特征在于,所述FPGA将报文发送给CPU包括:
判断FPGA与CPU之间的SPI4.2通道是否被流控,若否,将报文发送给CPU;否则,等待至SPI4.2通道未被流控时,将报文发送给CPU。
12.如权利要求10所述的方法,其特征在于,所述FPGA从自身为该源单板维护的收BD中取出报文进一步包括:FPGA将自身为该源单板维护的收BD链的空满状况信息发送给该源单板。
13.如权利要求9所述的方法,其特征在于,所述FPGA为本高速单板的每个源单板分别创建并维护一个收BD链进一步包括:FPGA创建并维护一个发BD链。
14.如权利要求13所述的方法,其特征在于,所述FPGA根据BD与其它单板交互报文包括:
FPGA接收到本高速单板的CPU发来的数据报文,将该报文放入发BD中,根据报文中的目标单板标识,判断自身为该目标单板维护的收BD链中是否存在空闲收BD,若存在,将空闲收BD地址放入发BD中,启动DMA传送过程。
15.如权利要求9所述的方法,其特征在于,FPGA为本高速单板的每个源单板预先设定收BD链更新条件,在满足该条件时,FPGA将本单板为该源单板维护的收BD链的空满状况信息发送给该源单板。
CN2007101786261A 2007-12-03 2007-12-03 高速单板传输报文的方法、现场可编程门阵列及高速单板 Active CN101202707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101786261A CN101202707B (zh) 2007-12-03 2007-12-03 高速单板传输报文的方法、现场可编程门阵列及高速单板

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101786261A CN101202707B (zh) 2007-12-03 2007-12-03 高速单板传输报文的方法、现场可编程门阵列及高速单板

Publications (2)

Publication Number Publication Date
CN101202707A true CN101202707A (zh) 2008-06-18
CN101202707B CN101202707B (zh) 2010-12-08

Family

ID=39517679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101786261A Active CN101202707B (zh) 2007-12-03 2007-12-03 高速单板传输报文的方法、现场可编程门阵列及高速单板

Country Status (1)

Country Link
CN (1) CN101202707B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110074A (zh) * 2011-01-21 2011-06-29 杭州华三通信技术有限公司 多核处理器及流分类控制装置和方法
CN101374093B (zh) * 2008-09-27 2011-08-24 华中科技大学 一种现场总线的通信接口及通信数据的实时传输方法
CN102347910A (zh) * 2011-11-24 2012-02-08 中国航空工业集团公司第六三一研究所 双余度实时网络选择***
CN102420719A (zh) * 2011-11-28 2012-04-18 曙光信息产业股份有限公司 一种测试PCIe总线带宽的装置和方法
CN103218313A (zh) * 2013-04-02 2013-07-24 杭州华三通信技术有限公司 用于实现缓存描述符交互的方法和电子设备
CN103532965A (zh) * 2013-10-22 2014-01-22 迈普通信技术股份有限公司 一种报文回调方法及装置
CN103546386A (zh) * 2013-10-24 2014-01-29 迈普通信技术股份有限公司 路由器中数据报文发送的流控方法及***
CN103546394A (zh) * 2013-10-25 2014-01-29 杭州华三通信技术有限公司 一种通信装置
WO2016127552A1 (zh) * 2015-02-12 2016-08-18 深圳市中兴微电子技术有限公司 一种直接内存存取dma控制器及数据传输的方法
WO2017016297A1 (zh) * 2015-07-27 2017-02-02 中兴通讯股份有限公司 一种单板
CN106502945A (zh) * 2016-09-08 2017-03-15 中国电子科技集团公司第三十二研究所 基于PCIe总线的FC‑AE‑1553端点卡
CN106982176A (zh) * 2017-03-22 2017-07-25 北京东土军悦科技有限公司 一种数据传输方法及设备
WO2018058625A1 (zh) * 2016-09-30 2018-04-05 华为技术有限公司 一种检测报文反压的方法及装置
CN109918335A (zh) * 2019-02-28 2019-06-21 苏州浪潮智能科技有限公司 一种基于cpu+fpga 8路dsm架构服务器***及处理方法
CN110069422A (zh) * 2018-01-23 2019-07-30 普天信息技术有限公司 基于mips多核处理器的内存缓冲区回收方法
CN110943941A (zh) * 2019-12-06 2020-03-31 北京天融信网络安全技术有限公司 一种报文接收方法、发送方法、网卡及电子设备
CN111309471A (zh) * 2018-12-11 2020-06-19 迈普通信技术股份有限公司 数据处理方法、装置及分布式***
US11042497B2 (en) 2017-05-24 2021-06-22 Microsoft Technology Licensing, Llc Communication between field programmable gate arrays

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100375484C (zh) * 2003-12-31 2008-03-12 中兴通讯股份有限公司 Pos-phy总线与pci总线间的数据包转发的装置
CN100395737C (zh) * 2006-06-08 2008-06-18 杭州华三通信技术有限公司 一种在内存和数字信号处理器之间传送数据的方法
CN101005376A (zh) * 2007-01-09 2007-07-25 华为技术有限公司 一种实现业务板和主控板通信的装置和方法

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374093B (zh) * 2008-09-27 2011-08-24 华中科技大学 一种现场总线的通信接口及通信数据的实时传输方法
CN102110074A (zh) * 2011-01-21 2011-06-29 杭州华三通信技术有限公司 多核处理器及流分类控制装置和方法
CN102110074B (zh) * 2011-01-21 2012-05-30 杭州华三通信技术有限公司 多核处理器及流分类控制装置和方法
CN102347910B (zh) * 2011-11-24 2014-05-28 中国航空工业集团公司第六三一研究所 双余度实时网络选择***
CN102347910A (zh) * 2011-11-24 2012-02-08 中国航空工业集团公司第六三一研究所 双余度实时网络选择***
CN102420719B (zh) * 2011-11-28 2014-04-23 曙光信息产业股份有限公司 一种测试PCIe总线带宽的装置和方法
CN102420719A (zh) * 2011-11-28 2012-04-18 曙光信息产业股份有限公司 一种测试PCIe总线带宽的装置和方法
CN103218313A (zh) * 2013-04-02 2013-07-24 杭州华三通信技术有限公司 用于实现缓存描述符交互的方法和电子设备
CN103218313B (zh) * 2013-04-02 2015-12-23 杭州华三通信技术有限公司 用于实现缓存描述符交互的方法和电子设备
CN103532965A (zh) * 2013-10-22 2014-01-22 迈普通信技术股份有限公司 一种报文回调方法及装置
CN103546386A (zh) * 2013-10-24 2014-01-29 迈普通信技术股份有限公司 路由器中数据报文发送的流控方法及***
CN103546394A (zh) * 2013-10-25 2014-01-29 杭州华三通信技术有限公司 一种通信装置
CN103546394B (zh) * 2013-10-25 2017-05-10 新华三技术有限公司 一种通信装置
WO2016127552A1 (zh) * 2015-02-12 2016-08-18 深圳市中兴微电子技术有限公司 一种直接内存存取dma控制器及数据传输的方法
WO2017016297A1 (zh) * 2015-07-27 2017-02-02 中兴通讯股份有限公司 一种单板
CN106502945A (zh) * 2016-09-08 2017-03-15 中国电子科技集团公司第三十二研究所 基于PCIe总线的FC‑AE‑1553端点卡
WO2018058625A1 (zh) * 2016-09-30 2018-04-05 华为技术有限公司 一种检测报文反压的方法及装置
US11550694B2 (en) 2016-09-30 2023-01-10 Huawei Technologies Co., Ltd. Packet backpressure detection method, apparatus, and device
US10599549B2 (en) 2016-09-30 2020-03-24 Huawei Technologies Co., Ltd. Packet backpressure detection method, apparatus, and device
CN106982176B (zh) * 2017-03-22 2020-09-11 北京东土军悦科技有限公司 一种数据传输方法及设备
CN106982176A (zh) * 2017-03-22 2017-07-25 北京东土军悦科技有限公司 一种数据传输方法及设备
CN108959144B (zh) * 2017-05-24 2021-08-20 微软技术许可有限责任公司 现场可编程门阵列之间的通信
US11042497B2 (en) 2017-05-24 2021-06-22 Microsoft Technology Licensing, Llc Communication between field programmable gate arrays
CN110069422A (zh) * 2018-01-23 2019-07-30 普天信息技术有限公司 基于mips多核处理器的内存缓冲区回收方法
CN110069422B (zh) * 2018-01-23 2021-06-18 普天信息技术有限公司 基于mips多核处理器的内存缓冲区回收方法
CN111309471A (zh) * 2018-12-11 2020-06-19 迈普通信技术股份有限公司 数据处理方法、装置及分布式***
CN111309471B (zh) * 2018-12-11 2024-02-09 迈普通信技术股份有限公司 数据处理方法、装置及分布式***
CN109918335A (zh) * 2019-02-28 2019-06-21 苏州浪潮智能科技有限公司 一种基于cpu+fpga 8路dsm架构服务器***及处理方法
CN110943941A (zh) * 2019-12-06 2020-03-31 北京天融信网络安全技术有限公司 一种报文接收方法、发送方法、网卡及电子设备
CN110943941B (zh) * 2019-12-06 2022-03-11 北京天融信网络安全技术有限公司 一种报文接收方法、网卡及电子设备

Also Published As

Publication number Publication date
CN101202707B (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
CN101202707B (zh) 高速单板传输报文的方法、现场可编程门阵列及高速单板
CN101403982B (zh) 一种多核处理器的任务分配方法和***
CN101052013B (zh) 一种网络设备内部管理通道实现的方法及***
CN100571195C (zh) 多端口以太网交换装置及数据传输方法
CN101335694B (zh) 中断处理方法和***
CN102185833A (zh) 一种基于fpga的fc i/o并行处理方法
CN102420877A (zh) 一种多模式高速智能异步串口通信模块及实现方法
CN201639589U (zh) 基于arm的嵌入式双冗余网卡
CN100452757C (zh) 报文转发方法和装置
CN102307141A (zh) 报文转发方法和设备
CN103607360A (zh) 一种报文处理方法、线卡及交换设备
CN1964286B (zh) 具有双cpu的主控设备
Saljoghei et al. dreddbox: Demonstrating disaggregated memory in an optical data centre
CN100574319C (zh) 计算机***中的基于信用的流动控制的方法、***和设备
CN100568992C (zh) 分布式***中实现多核处理器对外通信的方法
CN101087256A (zh) 报文传输方法、***及端设备处理器
CN102004713B (zh) 一种 TigerSHARC DSP LINK 口转串行 RapidIO总线的实现方法
CN102355394A (zh) 针对多路can总线进行数据传输控制的方法及装置
CN101635683A (zh) 基于链路聚合的业务下发方法及装置
CN102420734A (zh) 一种can总线拓扑结构实现***
CN100493018C (zh) 一种通过网络中的总线接口进行通信的方法和***
CN108449287A (zh) Fc交换机芯片体系架构
CN102724099B (zh) 提升多处理机***控制面内部通信Qos的装置及方法
CN101296189A (zh) 分布式流处理网络设备以及其中的报文传输方法
CN101197782B (zh) 一种基于多核处理器的网络设备的控制方法及***

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
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230620

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right