CN114024796A - 一种数据发送方法、通信装置和电子设备 - Google Patents
一种数据发送方法、通信装置和电子设备 Download PDFInfo
- Publication number
- CN114024796A CN114024796A CN202111446090.3A CN202111446090A CN114024796A CN 114024796 A CN114024796 A CN 114024796A CN 202111446090 A CN202111446090 A CN 202111446090A CN 114024796 A CN114024796 A CN 114024796A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- identifier
- sending
- port
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请实施例提供了一种数据发送方法、通信装置和电子设备,涉及通信技术领域,应用于包含数据调度模块和发送模块层的通信装置;数据调度模块和发送模块层之间通过数据总线连接;数据调度模块确定待发送的业务数据对应的逻辑通道,当达到逻辑通道对应的数据发送时刻时,基于预设的通道标识、模块标识与端口标识的对应关系,确定逻辑通道的通道标识对应的模块标识和端口标识;通过数据总线,向发送模块层发送业务数据,以及确定出的模块标识和端口标识;与确定出的模块标识对应的数据发送模块,在确定数据总线中的模块标识为自身的标识时,获取业务数据,发送至数据总线中的端口标识对应的物理端口。能够提高通信装置中模块布设的灵活性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种数据发送方法、通信装置和电子设备。
背景技术
随着计算机硬件技术的不断发展,可以在通信装置中设置数据调度模块(例如,多个Buffer(缓冲器))以及MAC(Media Access Control,媒体访问控制)层。例如,参见图1,MAC层包含多个物理端口(即端口0至端口n),每一物理端口用于连接一个用户设备。数据调度模块与MAC层的物理端口之间通过多个lane端口(即lane 0逻辑至lane n逻辑)进行通信。
相关技术中,数据调度模块接收到上游模块发送的某一逻辑Channel(通道)的业务数据后,可以确定该业务数据需要发送至的物理端口,然后,根据lane端口与MAC层中物理端口的对应关系,将该业务数据发送至对应的lane端口。进而,通过该lane端口,将业务数据发送至对应的物理端口。其中,rdy表示下游的物理端口的写使能信号,vld表示上游的lane端口的数据使能信号,ctrl表示控制信号,data表示业务数据。
可见,相关技术中,每一lane端口均需要与MAC层中的物理端口连接,也就会导致MAC层与上游模块之间的线束过多,影响通信装置中其他模块的布设,会降低通信装置中模块布设的灵活性。
发明内容
本申请实施例的目的在于提供一种数据发送方法、通信装置和电子设备,能够降低对通信装置中其他模块布设的影响,提高通信装置中模块布设的灵活性。具体技术方案如下:
第一方面,为了达到上述目的,本申请实施例公开了一种数据发送方法,所述方法应用于包含数据调度模块和发送模块层的通信装置;所述发送模块层包括多个数据发送模块;每一数据发送模块包含至少一个物理端口;所述数据调度模块和所述发送模块层之间通过数据总线连接;
所述方法包括:
所述数据调度模块确定待发送的业务数据对应的逻辑通道,当达到所述逻辑通道对应的数据发送时刻时,基于预设的通道标识、模块标识与端口标识的对应关系,确定所述逻辑通道的通道标识对应的模块标识和端口标识;通过所述数据总线,向所述发送模块层发送所述业务数据,以及确定出的模块标识和端口标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,并发送至所述数据总线中的端口标识对应的物理端口。
可选的,在所述数据调度模块确定待发送的业务数据对应的逻辑通道之前,所述方法还包括:
所述发送模块层中的数据发送模块,按照当前的工作模式,通过所述数据总线向所述数据调度模块发送自身的每一物理端口的写使能信号;
所述数据调度模块,基于预设的物理端口与逻辑通道的映射关系,在确定与所述逻辑通道对应的物理端口的写使能信号表示请求数据的情况下,获取所述逻辑通道对应的业务数据,作为待发送的业务数据。
可选的,所述多个数据发送模块包括:Flexe(Flexible Ethernet,灵活以太网)模块、多个MAC模块、多个Ilkn模块,以及多个复用模块;每一复用模块包含一个共用物理端口,当该共用物理端口的写使能信号为有效状态时,该复用模块表示Ilkn模块,且该复用模块中其他所有物理端口的写使能信号均为无效状态;当该共用物理端口的写使能信号为无效状态时,该复用模块表示MAC模块。
可选的,所述通过所述数据总线,向所述发送模块层发送所述业务数据,以及确定出的模块标识和端口标识,包括:
若确定出的模块标识对应的数据发送模块为MAC模块或Flexe模块,则将所述业务数据对应的控制信号中的通道标识修改为确定出的端口标识;
通过所述数据总线,向所述发送模块层发送所述业务数据、修改后的控制信号,以及确定出的模块标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,并发送至所述数据总线中的端口标识对应的物理端口,包括:
所述发送模块层中与确定出的模块标识对应的数据发送模块,在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,以及对应的控制信号;
将所述业务数据发送至获取的控制信号中的端口标识对应的物理端口。
第二方面,为了达到上述目的,本申请实施例公开了一种通信装置,所述通信装置包括数据调度模块和发送模块层;所述发送模块层包括多个数据发送模块;每一数据发送模块包含至少一个物理端口;所述数据调度模块和所述发送模块层之间通过数据总线连接;其中:
所述数据调度模块,用于确定待发送的业务数据对应的逻辑通道,当达到所述逻辑通道对应的数据发送时刻时,基于预设的通道标识、模块标识与端口标识的对应关系,确定所述逻辑通道的通道标识对应的模块标识和端口标识;通过所述数据总线,向所述发送模块层发送所述业务数据,以及确定出的模块标识和端口标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,用于在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,并发送至所述数据总线中的端口标识对应的物理端口。
可选的,所述发送模块层中的数据发送模块,用于按照当前的工作模式,通过所述数据总线向所述数据调度模块发送自身的每一物理端口的写使能信号;
所述数据调度模块,还用于基于预设的物理端口与逻辑通道的映射关系,在确定与所述逻辑通道对应的物理端口的写使能信号表示请求数据的情况下,获取所述逻辑通道对应的业务数据,作为待发送的业务数据。
可选的,所述多个数据发送模块包括:灵活以太网Flexe模块、多个媒体访问控制MAC模块、多个Ilkn模块,以及多个复用模块;每一复用模块包含一个共用物理端口,当该共用物理端口的写使能信号为有效状态时,该复用模块表示Ilkn模块,且该复用模块中其他所有物理端口的写使能信号均为无效状态;当该共用物理端口的写使能信号为无效状态时,该复用模块表示MAC模块。
可选的,所述数据调度模块,用于若确定出的模块标识对应的数据发送模块为MAC模块或Flexe模块,则将所述业务数据对应的控制信号中的通道标识修改为确定出的端口标识;通过所述数据总线,向所述发送模块层发送所述业务数据、修改后的控制信号,以及确定出的模块标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,用于在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,以及对应的控制信号;将所述业务数据发送至获取的控制信号中的端口标识对应的物理端口。
在本申请实施的另一方面,为了达到上述目的,本申请实施例还公开了一种电子设备,包括如上述任一所述的通信装置、通信接口和通信总线,其中,所述通信装置和所述通信接口通过所述通信总线完成相互间的通信;所述通信装置通过所述通信接口,获取各逻辑通道对应的业务数据。
本申请实施例有益效果:
本申请实施例提供的数据发送方法,应用于包含数据调度模块和发送模块层的通信装置;发送模块层包括多个数据发送模块;每一数据发送模块包含至少一个物理端口;数据调度模块和发送模块层之间通过数据总线连接;数据调度模块确定待发送的业务数据对应的逻辑通道,当达到逻辑通道对应的数据发送时刻时,基于预设的通道标识、模块标识与端口标识的对应关系,确定逻辑通道的通道标识对应的模块标识和端口标识;通过数据总线,向发送模块层发送业务数据,以及确定出的模块标识和端口标识;发送模块层中与确定出的模块标识对应的数据发送模块,在确定数据总线中的模块标识为自身的标识时,获取业务数据,并发送至数据总线中的端口标识对应的物理端口。
基于上述处理,数据调度模块与发送模块层之间通过数据总线进行通信,也就能够减少发送模块层与上游模块(即数据调度模块)之间的线束,进而,能够降低对通信装置中其他模块布设的影响,提高通信装置中模块布设的灵活性。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为相关技术中数据发送的原理示意图;
图2为本申请实施例提供的一种通信装置的结构图;
图3为本申请实施例提供的一种数据发送的原理示意图;
图4为本申请实施例提供的一种Ilkn模块与逻辑通道绑定的示意图;
图5为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,调度模块与发送模块层之间通过lane端口进行通信,每一lane端口均需要与发送模块层中的物理端口连接,也就会导致发送模块层与上游模块之间的线束过多,影响通信装置中其他模块的布设,会降低通信装置中模块布设的灵活性。
为了解决上述问题,本申请实施例提供了一种通信装置,该通信装置可以为网络处理器(Network Processor,NP),例如,可以为交换机,或者,路由器。参见图2,图2为本申请实施例提供的一种通信装置的结构图。该通信装置包括包含数据调度模块201和发送模块层202。其中,发送模块层202包括多个数据发送模块(数据发送模块1、数据发送模块2、数据发送模块3和数据发送模块4)。每一数据发送模块包含至少一个物理端口(图中未标出)。数据调度模块201和发送模块层202之间通过数据总线203连接。
数据调度模块201,用于确定待发送的业务数据对应的逻辑通道,当达到逻辑通道对应的数据发送时刻时,基于预设的通道标识、模块标识与端口标识的对应关系,确定逻辑通道的通道标识对应的模块标识和端口标识;通过数据总线203,向发送模块层202发送业务数据,以及确定出的模块标识和端口标识。
发送模块层202中与确定出的模块标识对应的数据发送模块,用于在确定数据总线中的模块标识为自身的标识时,获取业务数据,并发送至数据总线中的端口标识对应的物理端口。
基于本申请实施例提供的通信装置,数据调度模块201与发送模块层202之间通过数据总线203进行通信,也就能够减少发送模块层202与上游模块(即数据调度模块201)之间的线束,进而,能够降低对通信装置中其他模块布设的影响,提高通信装置中模块布设的灵活性。
其中,每一逻辑通道对应的数据发送时刻可以用该逻辑通道对应的系统时钟表示。在本申请实施例中,数据调度模块用于接收上游模块发送的业务数据,并向发送模块层发送。例如,数据调度模块可以包括多个各缓冲器,每一缓冲器对应一个逻辑通道,用于缓存该逻辑通道对应的业务数据。数据调度模块可以基于Calendar时隙(即系统时钟),确定当前需要发送业务数据的逻辑通道,然后,可以从该逻辑通道对应的缓冲器中获取业务数据,并向数据发送模块层发送。
在一个实施例中,发送模块层中的每一数据发送模块,在确定数据总线中的模块标识不是自身的标识时,则不会从数据总线获取该业务数据,也就不会对该业务数据进行处理。
其中,一个逻辑通道对应一个用户,该逻辑通道对应的业务数据可以通过发送模块层中数据发送模块的指定物理端口发出,该指定物理端口对应该用户的用户端。通道标识、模块标识与端口标识的对应关系(可以称为目标对应关系),可以为根据当前的业务需求预先确定的。
例如,该通信装置支持的最大逻辑通道的数目为256,各逻辑通道的通道标识可以用8bit表示,即分别为通道标识00000000至通道标识11111111。发送模块层包含8个数据发送模块(包括数据发送模块0至数据发送模块7),8个数据发送模块的模块标识可以分别用模块标识000、模块标识001、模块标识010、模块标识011、模块标识100、模块标识101、模块标识110,以及模块标识111表示。另外,针对每一数据发送模块中的多个物理端口,可以用8bit表示各自的端口标识。如此,若需要对发送模块层中的数据发送模块进行调整,例如,增加新的数据发送模块时,直接增大模块标识的位数即可,实现发送模块层的灵活调整。
例如,在上述目标对应关系中,一个逻辑通道对应的表项可以参见表(1)。
表(1)
通道标识 | 模块标识 | 端口标识 |
00000001 | 001 | 00000001 |
即,数据调度模块按照系统时钟,当需要发送通道标识为00000001的逻辑通道对应的业务数据时,则基于上述表(1),数据调度模块可以从该逻辑通道对应的缓冲器中获取该逻辑通道对应的业务数据,并通过数据总线,向发送模块层发送该业务数据、模块标识001以及端口标识00000001。相应的,模块标识为001的数据发送模块可以确定数据总线中的模块标识为自身的标识,进而,该数据发送模块则可以从数据总线获取该业务数据,并发送至端口标识00000001对应的物理端口。
同理,其他数据发送模块确定模块标识001不是自身的标识时,并不会从数据总线获取该业务数据。
在一个实施例中,发送模块层中的数据发送模块,还用于按照当前的工作模式,通过数据总线向数据调度模块发送自身的每一物理端口的写使能信号。
数据调度模块,还用于基于预设的物理端口与逻辑通道的映射关系,在确定与逻辑通道对应的物理端口的写使能信号表示请求数据的情况下,获取逻辑通道对应的业务数据,作为待发送的业务数据。
其中,该映射关系与上述目标对应关系一致。
在一个实施例中,某一物理端口的写使能信号为有效状态,表明该物理端口处于工作状态。数据发送模块中处于工作状态的物理端口可以根据当前该数据发送模块的工作模式确定。
根据上述映射关系,针对某一写使能信号,若其为有效状态,表明该写使能信号对应的物理端口处于工作状态。相应的,数据调度模块可以根据映射关系,将该物理端口的写使能信号与对应的逻辑通道进行绑定。后续,则数据调度模块则可以根据写使能信号,确定是否向发送模块层发送与其绑定的逻辑通道对应的业务数据。
一种实现方式中,发送模块层中包含有MAC模块,该MAC模块可以支持8个物理端口。每一物理端口可以支持不同的速率。例如,该MAC模块支持1x400Gbps的工作模式,即,物理端口0处于工作状态,且速率为400Gbps;该MAC模块还支持2x200Gbps的工作模式,即物理端口0和物理端口2处于工作状态,且速率为200Gbps;该MAC模块还支持4x100Gbps的工作模式,即物理端口0、物理端口2、物理端口4和物理端口6处于工作状态,且速率为100Gbps;该MAC模块还支持2x100Gbps的工作模式,即物理端口0和物理端口4处于工作状态,且速率为100Gbps;该MAC模块还支持2x40Gbps的工作模式,即物理端口0和物理端口4处于工作状态,且速率为40Gbps;该MAC模块还支持8x10Gbps的工作模式,即物理端口0至物理端口7均处于工作状态,且速率均为10Gbps;该MAC模块还支持8x25Gbps的工作模式,即物理端口0至物理端口7均处于工作状态,且速率均为25Gbps。
例如,若该MAC模块配置为400Gbps的工作模式,则物理端口0的写使能信号rdy[0]为有效状态,物理端口1至物理端口7的写使能信号rdy[7:1]均为无效状态;若该MAC模块配置为4x100Gbps的工作模式,则物理端口0的写使能信号rdy[0]、物理端口2的写使能信号rdy[2]、物理端口4的写使能信号rdy[4],以及物理端口6的写使能信号rdy[6]为有效状态,其他物理端口的写使能信号均为无效状态。
一种实现方式中,发送模块层还包含有Flexe模块,该Flexe模块可以支持80个物理端口。每一物理端口最大支持400Gbps,最小粒度支持1Gbps。
一种实现方式中,发送模块层还包含有Ilkn(Inter laken)模块,该Ilkn模块作为一个物理端口,即,每一个Ilkn模块只有一个写使能信号。该Ilkn模块最多支持256个逻辑通道,即,该Ilkn模块可以与多个逻辑通道进行绑定。例如,若该通信装置支持256个逻辑通道,且该Ilkn模块与256个逻辑通道均绑定,则发送模块层中的其他数据发送模块可以不工作。
若检测到某一写使能信号表示请求数据,即,当前该写使能信号对应的物理端口已准备接收业务数据,则数据调度模块可以获取与该写使能信号绑定的逻辑通道对应的业务数据,并通过数据总线向发送模块层发送。相应的,对应的物理端口所属的数据发送模块能够从数据总线获取到该业务数据,并通过该物理端口发出。
例如,该通信装置支持256个逻辑通道,相应的,该映射关系包含256个表项,每一个表项中记录有端口位置和对应的逻辑通道的通道标识。端口位置可以用该物理端口的写使能信号在所有写使能信号中的位置表示。例如,按照预设顺序,各数据发送模块的所有物理端口的写使能信号组成一个向量(可以称为写使能信号向量),针对某一物理端口,该物理端口的端口位置可以用于该物理端口的写使能信号在写使能信号向量中的位置表示。
在一个实施例中,多个数据发送模块包括:Flexe模块、多个MAC模块、多个Ilkn模块,以及多个复用模块;每一复用模块包含一个共用物理端口,当该共用物理端口的写使能信号为有效状态时,该复用模块表示Ilkn模块,且该复用模块中其他所有物理端口的写使能信号均为无效状态;当该共用物理端口的写使能信号为无效状态时,该复用模块表示MAC模块。
例如,参见图3,图3为本申请实施例提供的一种数据发送的原理示意图。该发送模块层包含:Flexe模块、3个MAC模块(包括mac0、mac1和mac3)、2个Ilkn模块(包括ilkn1和ilkn3),以及2个复用模块(ilkn0与mac4对应的复用模块,ilkn2与mac2对应的复用模块)。即,ilkn0与mac4共享且互斥,ilkn0与mac4共用物理端口0,且若复用模块表示ilkn0模块,则物理端口0的写使能信号为有效状态,其他所有的物理端口都不可用(即写使能信号为无效状态);若复用模块表示mac4模块,则物理端口0的写使能信号为无效状态。同理,ilkn2与mac2共用物理端口0,且若复用模块表示ilkn2模块,则物理端口0的写使能信号为有效状态,其他所有的物理端口都不可用(即写使能信号为无效状态);若复用模块表示mac2模块,则物理端口0的写使能信号为无效状态。
相应的,各数据发送模块的模块标识分别为:000对应flexe模块;001对应ilkn1模块;010对应mac0模块;011对应mac1模块;100对应mac2/ilkn2模块;101对应mac3模块;110对应mac4/ilkn0模块;111对应ilkn3模块。
在一个实施例中,数据调度模块,用于若确定出的模块标识对应的数据发送模块为MAC模块或Flexe模块,则将业务数据对应的控制信号中的通道标识修改为确定出的端口标识;通过数据总线,向发送模块层发送业务数据、修改后的控制信号,以及确定出的模块标识。
发送模块层中与确定出的模块标识对应的数据发送模块,在确定数据总线中的模块标识为自身的标识时,获取业务数据,以及对应的控制信号;将业务数据发送至获取的控制信号中的端口标识对应的物理端口。
在本申请实施例中,若确定出的模块标识所属的数据发送模块为MAC模块或Flexe模块,即,若需要通过MAC模块中的物理端口,或者,通过Flexe模块中的物理端口发送该业务数据,则数据调度模块还可以将该业务数据对应的控制信号中的通道标识修改为确定出的端口标识。相应的,MAC模块或者Flexe模块,则可以根据控制信号中该确定出的端口标识,确定需要该业务数据对应的物理端口。
由于Ilkn模块相当于一个物理端口,即,并不区分物理端口,因此,若确定出的模块标识所属的数据发送模块为Ilkn模块,则数据调度模块并不需要对该业务数据对应的控制信号进行修改。此时,在上述目标对应关系中,Ilkn模块的模块标识对应的端口标识可以为空。
控制信号中携带的通道标识,可以为数据调度模块的上游模块确定出的逻辑通道的通道标识(可以称为原始通道标识)。该原始通道标识与上述目标对应关系中记录的通道标识可以相同,也可以不同。
图3中,通信装置支持256个逻辑通道。bank ctrl表示数据调度模块。16×1vld表示16拍业务数据各自对应的数据使能信号;16×20ctrl表示16拍业务数据各自对应的控制信号;16×128data表示16拍业务数据。
数据调度模块可以基于每一逻辑通道的带宽,确定每一逻辑通道所占的系统时钟。进而,当达到某一逻辑通道对应的系统时钟时,数据调度模块可以从该逻辑通道对应的缓冲器中获取业务数据,并通过数据总线,向发送模块层发送该逻辑通道对应的业务数据。
一种实现方式中,当达到某一系统时钟时,数据调度模块可以根据cfg channelto port tab(即本申请实施例中的目标对应关系),确定该系统时钟对应的逻辑通道的8bit的通道标识对应的module id(即本申请实施例中的模块标识)和port id(端口标识)。其中,module id为3bit,port id为8bit。然后,数据调度模块可以通过数据总线向发送模块层发送确定出的module id、port id,以及业务数据。图3中,可以将port id携带在控制信号(即ctrl信号)中向发送模块层发送。
图3中,每一个数据发送模块均对应有写使能信号,其中,Flexe模块的写使能信号为80个,用flexe rdy[79:0]表示;ilkn 1的写使能信号为1个,用ilkn rdy表示;mac 0的写使能信号为8个,用mac 0rdy[7:0]表示;mac 1的写使能信号为8个,用mac 1rdy[7:0]表示;mac 2/ilkn 2的写使能信号为8个,用mac 2rdy[7:0]表示;mac 3的写使能信号为8个,用mac 3rdy[7:0]表示;mac 4/ilkn0的写使能信号为8个,用mac 4rdy[7:0]表示;ilkn 3的写使能信号为1个,用ilkn 3rdy表示。即,共有122个写使能信号。该122个写使能信号分别表示对应的物理端口当前是否能够接收数据。可以理解的是,该122个写使能信号并不一定同时表示请求数据。
图3中,对端口port的rdy向量处理,即,所有数据发送模块的写使能信号(即图3中写使能信号1至8),按照预设顺序(例如,图3中各数据发送模块从下至上的顺序)排列,可以得到写使能信号向量flexe and eth port rdy[121:0]。端口port到逻辑Channel的映射,即上述映射关系。在配置上述映射关系后,可以根据上述映射关系进行查表,数据调度模块将flexe and eth port rdy[121:0]中有效状态的写使能信号与对应的逻辑通道进行绑定,输出至逻辑Channel控制,以根据绑定关系发送逻辑通道对应的业务数据。
该实施例中,映射关系cfg port to channel table为256x8,256为支持的逻辑通道的数目,8bit用于按照flexe and eth port rdy[121:0]对122个物理端口进行寻址。
一种实现方式中,参见图4,图4为本申请实施例提供的一种Ilkn模块与逻辑通道绑定的示意图。该Ilkn模块为图3中的ilkn0模块,相应的,数据调度模块将mac 4 rdy[0](即mac 4模块的物理端口0的写使能信号)与对应的逻辑通道进行绑定,即,得到对应的逻辑通道绑定向量ilkn 0 channel rdy[255:0],该向量中有效状态的位表示与该ilkn0模块绑定的逻辑通道。具体绑定的逻辑通道根据ilkn 0 channel sel信号确定,该ilkn 0channel sel信号为基于当前的业务需求确定的。
一种实现方式中,针对图3的场景,若mac0的物理端口0,mac1的物理端口0,以及mac2的物理端口0各自都运行在400Gbps的状态。根据当前的业务需求,需要将通道标识分别为0,10,15的逻辑通道业务数据发送至mac0的物理端口0、mac1的物理端口0和mac2的物理端口0。mac0,mac1和mac2的模块标识即module id分别为010,011和100。mac0的物理端口0,mac1的物理端口0,以及mac2的物理端口0的端口标识均为0,则目标对应关系中,通道标识0对应cfg channel to port tab[0][10:0]=0x200,其中,[0]表示通道标识0,0x200表示该逻辑通道对应的模块标识和端口标识;通道标识10对应cfg channel to port tab[10][10:0]=0x300,其中,[10]表示通道标识10,0x300表示该逻辑通道对应的模块标识和端口标识;通道标识15对应cfg channel to port tab[15][10:0]=0x400,其中,[15]表示通道标识15,0x400表示该逻辑通道对应的模块标识和端口标识。[10:0]表示模块标识和端口标识,即高3bti表示模块标识,低8bit表示通道标识。
在上述情况下,mac 0 rdy[0],mac 1 rdy[0]和mac 2 rdy[0]为有效状态,按照预设顺序得到的写使能信号向量flexe and eth port rdy[121:0]中flexe and eth portrdy[80]、flexe and eth port rdy[88]和flexe and eth port rdy[96]为有效状态,其中,80、88和96分别表示mac0的物理端口0,mac1的物理端口0,以及mac 2的物理端口0的写使能信号在写使能信号向量中的位置。相应的,上述映射关系中,通道标识0对应的表项为cfg port to channel table[0][7:0]=0x50,其中,[0]表示通道标识0,0x50(即80)表示该逻辑通道绑定的物理端口的写使能信号在写使能信号向量中的位置;通道标识10对应的表项为cfg port to channel table[10][7:0]=0x58,其中,[10]表示通道标识10,0x58(即88)表示该逻辑通道绑定的物理端口的写使能信号在写使能信号向量中的位置;通道标识15对应的表项为cfg port to channel table[15][7:0]=0x60,其中,[15]表示通道标识15,0x60(即96)表示该逻辑通道绑定的物理端口的写使能信号在写使能信号向量中的位置。通过上述映射关系,可以将上述3个物理端口的写使能信号,分别与通道标识为0,10,15的逻辑通道进行绑定。
基于上述处理,在绑定的写使能信号表示请求数据的情况下,可以将逻辑通道0的业务数据发送至mac0的物理端口0,逻辑通道10的业务数据发送至mac1的物理端口0,逻辑通道15的业务数据发送至mac2的物理端口0。
基于相同的发明构思,本申请实施例还提供了一种数据发送方法,方法应用于包含数据调度模块和发送模块层的通信装置;所述发送模块层包括多个数据发送模块;每一数据发送模块包含至少一个物理端口;所述数据调度模块和所述发送模块层之间通过数据总线连接;
所述方法包括:
所述数据调度模块确定待发送的业务数据对应的逻辑通道,当达到所述逻辑通道对应的数据发送时刻时,基于预设的通道标识、模块标识与端口标识的对应关系,确定所述逻辑通道的通道标识对应的模块标识和端口标识;通过所述数据总线,向所述发送模块层发送所述业务数据,以及确定出的模块标识和端口标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,并发送至所述数据总线中的端口标识对应的物理端口。
在一个实施例中,在所述数据调度模块确定待发送的业务数据对应的逻辑通道之前,所述方法还包括:
所述发送模块层中的数据发送模块,按照当前的工作模式,通过所述数据总线向所述数据调度模块发送自身的每一物理端口的写使能信号;
所述数据调度模块,基于预设的物理端口与逻辑通道的映射关系,在确定与所述逻辑通道对应的物理端口的写使能信号表示请求数据的情况下,获取所述逻辑通道对应的业务数据,作为待发送的业务数据。
在一个实施例中,所述多个数据发送模块包括:Flexe模块、多个MAC模块、多个Ilkn模块,以及多个复用模块;每一复用模块包含一个共用物理端口,当该共用物理端口的写使能信号为有效状态时,该复用模块表示Ilkn模块,且该复用模块中其他所有物理端口的写使能信号均为无效状态;当该共用物理端口的写使能信号为无效状态时,该复用模块表示MAC模块。
在一个实施例中,所述通过所述数据总线,向所述发送模块层发送所述业务数据,以及确定出的模块标识和端口标识,包括:
若确定出的模块标识对应的数据发送模块为MAC模块或Flexe模块,则将所述业务数据对应的控制信号中的通道标识修改为确定出的端口标识;
通过所述数据总线,向所述发送模块层发送所述业务数据、修改后的控制信号,以及确定出的模块标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,并发送至所述数据总线中的端口标识对应的物理端口,包括:
所述发送模块层中与确定出的模块标识对应的数据发送模块,在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,以及对应的控制信号;
将所述业务数据发送至获取的控制信号中的端口标识对应的物理端口。
本申请实施例还提供了一种电子设备,如图5所示,包括通信装置501、通信接口502和通信总线503,其中,通信装置501为上述任一实施例中的通信装置,所述通信装置501和所述通信接口502通过所述通信总线503完成相互间的通信;所述通信装置501通过所述通信接口502,获取各逻辑通道对应的业务数据。
上述电子设备提到的通信总线503可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线503可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口502用于上述电子设备与其他设备之间的通信。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、电子设备实施例而言,由于其基本相似于装置实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (9)
1.一种数据发送方法,其特征在于,所述方法应用于包含数据调度模块和发送模块层的通信装置;所述发送模块层包括多个数据发送模块;每一数据发送模块包含至少一个物理端口;所述数据调度模块和所述发送模块层之间通过数据总线连接;
所述方法包括:
所述数据调度模块确定待发送的业务数据对应的逻辑通道,当达到所述逻辑通道对应的数据发送时刻时,基于预设的通道标识、模块标识与端口标识的对应关系,确定所述逻辑通道的通道标识对应的模块标识和端口标识;通过所述数据总线,向所述发送模块层发送所述业务数据,以及确定出的模块标识和端口标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,并发送至所述数据总线中的端口标识对应的物理端口。
2.根据权利要求1所述的方法,其特征在于,在所述数据调度模块确定待发送的业务数据对应的逻辑通道之前,所述方法还包括:
所述发送模块层中的数据发送模块,按照当前的工作模式,通过所述数据总线向所述数据调度模块发送自身的每一物理端口的写使能信号;
所述数据调度模块,基于预设的物理端口与逻辑通道的映射关系,在确定与所述逻辑通道对应的物理端口的写使能信号表示请求数据的情况下,获取所述逻辑通道对应的业务数据,作为待发送的业务数据。
3.根据权利要求2所述的方法,其特征在于,所述多个数据发送模块包括:灵活以太网Flexe模块、多个媒体访问控制MAC模块、多个Ilkn模块,以及多个复用模块;每一复用模块包含一个共用物理端口,当该共用物理端口的写使能信号为有效状态时,该复用模块表示Ilkn模块,且该复用模块中其他所有物理端口的写使能信号均为无效状态;当该共用物理端口的写使能信号为无效状态时,该复用模块表示MAC模块。
4.根据权利要求3所述的方法,其特征在于,所述通过所述数据总线,向所述发送模块层发送所述业务数据,以及确定出的模块标识和端口标识,包括:
若确定出的模块标识对应的数据发送模块为MAC模块或Flexe模块,则将所述业务数据对应的控制信号中的通道标识修改为确定出的端口标识;
通过所述数据总线,向所述发送模块层发送所述业务数据、修改后的控制信号,以及确定出的模块标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,并发送至所述数据总线中的端口标识对应的物理端口,包括:
所述发送模块层中与确定出的模块标识对应的数据发送模块,在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,以及对应的控制信号;
将所述业务数据发送至获取的控制信号中的端口标识对应的物理端口。
5.一种通信装置,其特征在于,所述通信装置包括数据调度模块和发送模块层;所述发送模块层包括多个数据发送模块;每一数据发送模块包含至少一个物理端口;所述数据调度模块和所述发送模块层之间通过数据总线连接;其中:
所述数据调度模块,用于确定待发送的业务数据对应的逻辑通道,当达到所述逻辑通道对应的数据发送时刻时,基于预设的通道标识、模块标识与端口标识的对应关系,确定所述逻辑通道的通道标识对应的模块标识和端口标识;通过所述数据总线,向所述发送模块层发送所述业务数据,以及确定出的模块标识和端口标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,用于在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,并发送至所述数据总线中的端口标识对应的物理端口。
6.根据权利要求5所述的通信装置,其特征在于,
所述发送模块层中的数据发送模块,用于按照当前的工作模式,通过所述数据总线向所述数据调度模块发送自身的每一物理端口的写使能信号;
所述数据调度模块,还用于基于预设的物理端口与逻辑通道的映射关系,在确定与所述逻辑通道对应的物理端口的写使能信号表示请求数据的情况下,获取所述逻辑通道对应的业务数据,作为待发送的业务数据。
7.根据权利要求6所述的通信装置,其特征在于,所述多个数据发送模块包括:灵活以太网Flexe模块、多个媒体访问控制MAC模块、多个Ilkn模块,以及多个复用模块;每一复用模块包含一个共用物理端口,当该共用物理端口的写使能信号为有效状态时,该复用模块表示Ilkn模块,且该复用模块中其他所有物理端口的写使能信号均为无效状态;当该共用物理端口的写使能信号为无效状态时,该复用模块表示MAC模块。
8.根据权利要求7所述的通信装置,其特征在于,
所述数据调度模块,用于若确定出的模块标识对应的数据发送模块为MAC模块或Flexe模块,则将所述业务数据对应的控制信号中的通道标识修改为确定出的端口标识;通过所述数据总线,向所述发送模块层发送所述业务数据、修改后的控制信号,以及确定出的模块标识;
所述发送模块层中与确定出的模块标识对应的数据发送模块,用于在确定所述数据总线中的模块标识为自身的标识时,获取所述业务数据,以及对应的控制信号;将所述业务数据发送至获取的控制信号中的端口标识对应的物理端口。
9.一种电子设备,其特征在于,包括如权利要求5-8任一所述的通信装置、通信接口和通信总线,其中,所述通信装置和所述通信接口通过所述通信总线完成相互间的通信;
所述通信装置通过所述通信接口,获取各逻辑通道对应的业务数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446090.3A CN114024796B (zh) | 2021-11-30 | 2021-11-30 | 一种数据发送方法、通信装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446090.3A CN114024796B (zh) | 2021-11-30 | 2021-11-30 | 一种数据发送方法、通信装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114024796A true CN114024796A (zh) | 2022-02-08 |
CN114024796B CN114024796B (zh) | 2023-02-21 |
Family
ID=80067211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111446090.3A Active CN114024796B (zh) | 2021-11-30 | 2021-11-30 | 一种数据发送方法、通信装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114024796B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118677A (zh) * | 2022-06-24 | 2022-09-27 | 无锡中微亿芯有限公司 | 一种fpga中的片上网络的路由节点调度方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1812315A (zh) * | 2005-01-25 | 2006-08-02 | 华为技术有限公司 | 一种多路数据信号处理方法和装置 |
CN1996998A (zh) * | 2006-12-26 | 2007-07-11 | 华为技术有限公司 | 一种实现高带宽数据传输的方法和装置 |
CN101018179A (zh) * | 2007-03-07 | 2007-08-15 | 今创集团有限公司 | 数据总线桥接器及其工作方法 |
US20070266179A1 (en) * | 2006-05-11 | 2007-11-15 | Emulex Communications Corporation | Intelligent network processor and method of using intelligent network processor |
CN101848162A (zh) * | 2010-06-02 | 2010-09-29 | 上海融亿信息技术有限公司 | 一种以太网数据发送装置及数据传输方法 |
US20120163374A1 (en) * | 2010-12-22 | 2012-06-28 | Juniper Networks, Inc. | Methods and apparatus for providing unique mac address to individual node for fibre channel over ethernet (fcoe) traffic |
CN103875205A (zh) * | 2013-09-13 | 2014-06-18 | 华为技术有限公司 | 传输数据的方法和装置 |
-
2021
- 2021-11-30 CN CN202111446090.3A patent/CN114024796B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1812315A (zh) * | 2005-01-25 | 2006-08-02 | 华为技术有限公司 | 一种多路数据信号处理方法和装置 |
US20070266179A1 (en) * | 2006-05-11 | 2007-11-15 | Emulex Communications Corporation | Intelligent network processor and method of using intelligent network processor |
CN1996998A (zh) * | 2006-12-26 | 2007-07-11 | 华为技术有限公司 | 一种实现高带宽数据传输的方法和装置 |
CN101018179A (zh) * | 2007-03-07 | 2007-08-15 | 今创集团有限公司 | 数据总线桥接器及其工作方法 |
CN101848162A (zh) * | 2010-06-02 | 2010-09-29 | 上海融亿信息技术有限公司 | 一种以太网数据发送装置及数据传输方法 |
US20120163374A1 (en) * | 2010-12-22 | 2012-06-28 | Juniper Networks, Inc. | Methods and apparatus for providing unique mac address to individual node for fibre channel over ethernet (fcoe) traffic |
CN103875205A (zh) * | 2013-09-13 | 2014-06-18 | 华为技术有限公司 | 传输数据的方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118677A (zh) * | 2022-06-24 | 2022-09-27 | 无锡中微亿芯有限公司 | 一种fpga中的片上网络的路由节点调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114024796B (zh) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9258171B2 (en) | Method and system for an OS virtualization-aware network interface card | |
CA1191641A (en) | Processor facilities for integrated packet and voice switching | |
US20090129392A1 (en) | Multiple queue pair access with a single doorbell | |
US20070070904A1 (en) | Feedback mechanism for flexible load balancing in a flow-based processor affinity scheme | |
CN103888337B (zh) | 多系统一体机的联网方法以及多系统一体机 | |
CN111092773A (zh) | 一种支持虚拟交换的pcie交换芯片端口配置系统和方法 | |
JPS59188293A (ja) | 通信システム | |
CN1779669B (zh) | 服务器、控制服务器的数据通信的方法 | |
CN103117929A (zh) | 一种基于PCIe数据交换的通信方法及系统 | |
JP3477600B2 (ja) | 無線lanシステム | |
US9596186B2 (en) | Multiple processes sharing a single infiniband connection | |
TW201832089A (zh) | 多點分支串列匯流排上的多埠多邊頻帶gpio合併技術 | |
CN114024796B (zh) | 一种数据发送方法、通信装置和电子设备 | |
US8352667B2 (en) | I/O connection system and I/O connection method | |
US20070016713A1 (en) | Method and system for multi-channel transfer of data and control | |
CN107852423A (zh) | 用于usb 2.0带宽保留的方法及系统 | |
JP3080076B2 (ja) | 一斉呼出信号送出システム及びそれに用いる送出方法並びにその制御プログラムを記録した記録媒体 | |
US20180365176A1 (en) | Shared processing of a packet flow by multiple cores | |
US20090077274A1 (en) | Multi-Priority Communication in a Differential Serial Communication Link | |
US7783810B2 (en) | Apparatus and method of processing information | |
JPH02252341A (ja) | ディジタル信号の統計的多重化方法 | |
KR20090045546A (ko) | 이동통신 시스템의 링크 이중화 장치 및 방법 | |
US5541853A (en) | Processor configurable for both virtual mode and protected mode | |
US20100281190A1 (en) | Packet processing apparatus | |
CN111722916A (zh) | 一种通过映射表处理msi-x中断的方法 |
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 |