一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

比特块的发送方法及装置与流程

2022-02-25 18:41:38 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种比特块的发送方法及装置。


背景技术:

2.为了保证数据报文能够被准确无误的接收,通信装置一般会采用流量控制(flow control)机制。如采用流量控制机制,可以保证发送端不会发送接收端不能接收的报文。
3.图1a示出的是基于信用的流量控制的流程示意图,如图1a所示,接收端可以向发送端发送信用更新报文,该信用更新报文中包括信用数量。发送端接收到该信用更新报文后,可以根据该信用更新报文中包括的信用数量向接收端发送报文。
4.图1b示出的是基于优先级的流量控制的流程示意图,如图1b所示,接收端可以根据8个队列的缓存情况,向发送端发送基于优先级的流量控制(priority-based flow control,pfc)报文。发送端接收到该pfc报文后,可以根据该pfc报文停止或延迟对应队列发送报文。
5.一般的,报文的典型长度可以为256字节,甚至报文的长度可能会更长,其中,报文包括信用更新报文或pfc报文。由此,可能会导致报文阻塞等问题,使得发送端无法及时接收到接收端的信用更新报文或pfc报文。


技术实现要素:

6.本技术提供一种比特块的发送方法及装置,可保证通信装置及时反馈流量控制信息,避免报文阻塞等问题。
7.第一方面,本技术实施例提供一种比特块的发送方法,该方法可以应用于通信装置,该方法包括:生成至少一个第一比特块,该至少一个第一比特块中包括指示字段,该指示字段用于承载流量控制信息,该流量控制信息根据通信装置的缓存情况得到;发送该至少一个第一比特块。
8.本技术实施例中,通信装置通过以第一比特块的形式向对端反馈流量控制信息,使得该至少一个第一比特块被及时发送出去的可能性更高,且反馈方式更灵活。由于至少一个第一比特块被及时发送出去的可能性被增加,因此减少了对端获取该第一比特块的时延,减少了业务流完成时间(flow completion time,fct)的时延,提高了网络利用率。另外,该至少一个第一比特块的长度尽可能小于或等于报文的长度,示例性的,该至少一个第一比特块的长度可以为64比特、128比特、256比特等,由此,尽可能减少该第一比特块的传输时延,避免该至少一个第一比特块的传输时间过长,而导致其他报文被阻塞。
9.在一种可能的实现方式中,第一比特块为非报文比特块。
10.本技术实施例中,该第一比特块为非报文比特块,该非报文比特块包括非报文开始比特块。如非报文开始比特块中预设字段承载的数值与报文开始比特块中预设字段承载的数值不同。由此,该非报文开始比特块和报文开始比特块能够被区分;或者,当至少一个第一比特块包括至少一个o比特块时,通过该o比特块预设字段承载的数值,该o比特块与其
他o比特块也能够被区分。而且该至少一个第一比特块还能够被插入该通信装置当前正在发送的第一报文的比特流中。避免该至少一个第一比特块等待第一报文被发送完毕,才能被发送出去,从而减少了该至少一个第一比特块的等待时延,减少fct的时延,提高了网络利用率。
11.在一种可能的实现方式中,第一比特块为报文比特块。
12.本技术实施例中,该第一比特块为报文比特块,如在该通信装置需要反馈流量控制信息时,正好需要发送第一报文。该情况下,通信装置可以在该第一报文中反馈流量控制信息。
13.在一种可能的实现方式中,报文比特块为报文开始比特块、该报文开始比特块对应的数据比特块、该报文开始比特块对应的结束比特块、报文结束比特块、该报文结束比特块对应的开始比特块或该报文结束比特块对应的数据比特块中的至少一个。
14.本技术实施例中,不仅可以通过预设字段区分报文开始比特块和非报文开始比特块,还可以通过该预设字段区分报文开始比特块对应的报文结束比特块,和非报文开始比特块对应的非报文结束比特块。或者,还可以通过预设字段区分报文开始比特块对应的报文数据比特块,和非报文开始比特块对应的非报文数据比特块。
15.在一种可能的实现方式中,所述方法还包括:发送第一报文,该第一报文由报文比特块组成。
16.本技术实施例中,示例性的,第一报文可以包括报文开始比特块和该报文开始比特块对应的数据比特块;或者,该第一报文包括报文开始比特块、该报文开始比特块对应的数据比特块和该报文开始比特块对应的结束比特块。
17.在一种可能的实现方式中,发送至少一个第一比特块包括:在发送第一报文的报文开始比特块之后,且未发送完毕第一报文的情况下,发送至少一个第一比特块。
18.本技术实施例中,由于第一比特块是非报文比特块,而第一报文由报文比特块组成,因此即使将该第一比特块插入到第一报文中,对端也能够从该第一报文中区分出该第一比特块。从而,对端可以根据至少一个第一比特块获得通信装置反馈的信息。同时,将该第一比特块插入到第一报文中被发送出去,进一步减少了该至少一个第一比特块的等待时延,减少fct的时延,提高了网络利用率。
19.在一种可能的实现方式中,至少一个第一比特块中包括非报文开始比特块,该非报文开始比特块中的预设字段承载第一数值。
20.在一种可能的实现方式中,报文开始比特块中的预设字段承载第三数值。
21.在一种可能的实现方式中,至少一个第一比特块中包括至少一个序列(sequence ordered set,o)比特块,该至少一个o比特块中每个o比特块中的预设字段承载第二数值。
22.本技术实施例中,通信装置可以通过至少一个o比特块反馈流量控制信息。可选的,该至少一个o比特块还可以被插入到通信装置正在发送的第二报文的比特流中。示例性的,该至少一个o比特块可以包括一个o比特块、两个o比特块或三个o比特块等,本技术实施例不作限定。
23.在一种可能的实现方式中,至少一个第一比特块中还包括:非报文开始比特块对应的至少一个数据比特块;或者非报文开始比特块对应的结束比特块;或者非报文开始比特块对应的至少一个数据比特块和该非报文开始比特块对应的结束比特块。
24.本技术实施例中,非报文开始比特块对应的数据比特块还可以称为非报文数据比特块,非报文开始比特块对应的结束比特块还可以称为非报文结束比特块。
25.在一种可能的实现方式中,在至少一个第一比特块包括非报文开始比特块和非报文结束比特块的情况下,发送至少一个第一比特块包括:依次发送非报文开始比特块和非报文结束比特块;或者依次发送非报文结束比特块和非报文开始比特块。
26.在一种可能的实现方式中,非报文比特块还可以包括非报文结束比特块、非报文结束比特块对应的数据比特块或非报文结束比特块对应的开始比特块中的至少一个。
27.本技术实施例中,非报文结束比特块对应的数据比特块还可以称为非报文数据比特块,非报文结束比特块对应的开始比特块还可以称为非报文开始比特块。
28.在一种可能的实现方式中,流量控制信息包括信用数量或至少一个队列被停止发送报文的时长信息。
29.在一种可能的实现方式中,至少一个第一比特块还包括循环冗余校验(cyclic redundancy check,crc)字段。
30.本技术实施例中,该crc字段可以用于承载crc信息,该crc信息可以用于保护该至少一个第一比特块中的流量控制信息等。
31.在一种可能的实现方式中,第一比特块为p1 b/p2 b比特块,p1表示该第一比特块的净荷比特数,p2表示该第一比特块的总比特数,p2-p1表示该第一比特块的同步头比特数。
32.在一种可能的实现方式中,p1的取值为以下任一个:64、128、256或512;p2-p1的取值为以下任一个:1、2或3。
33.本技术第一方面所提供的方法,可应用于通信装置,且该通信装置可以包括接收端。
34.第二方面,本技术实施例提供一种比特块的接收方法,该方法包括:接收至少一个第一比特块,该至少一个第一比特块中包括指示字段,该指示字段用于承载流量控制信息,该流量控制信息根据接收端的缓存情况得到;根据该流量控制信息调整第二报文的发送情况。
35.本技术实施例中,通信装置还可以获取至少一个第一比特块的块类型域(block type field),根据该类型域、预设字段承载的数值以及指示字段,调整第二报文的发送情况。示例性的,至少一个第一比特块的块类型域为0x4b,且预设字段承载0x06,则说明获取到的至少一个第一比特块为o比特块,且该o比特块的作用是用于反馈流量控制信息,则通信装置可以根据该o比特块中的指示字段调整第二报文的发送情况。示例性的,至少一个第一比特块的块类型域为0x78,且预设字段承载0xf5,则通信装置可以根据该非报文开始比特块中的指示字段调整第二报文的发送情况。
36.在一种可能的实现方式中,至少一个第一比特块中还包括crc字段,该crc字段用于承载crc信息。
37.在一种可能的实现方式中,根据流量控制信息调整第二报文的发送情况包括:根据信用数量调整第二报文的发送数据量;或者,根据至少一个队列被停止发送报文的时长信息调整对应队列停止发送第二报文。
38.在一种可能的实现方式中,根据流量控制信息调整第二报文的发送情况包括:在
对至少一个第一比特块中的crc信息校验成功的情况下,根据流量控制信息调整第二报文的发送情况。
39.本技术实施例中,关于第一比特块、指示字段、报文比特块或非报文比特块等的描述,可参考第一方面的介绍,这里不再详述。
40.本技术第二方面所提供的方法,可应用于通信装置,且该通信装置可以包括发送端。
41.第二方面的有益效果可参见第一方面的有益效果,在此不赘述。
42.第三方面,本技术提供一种通信装置,用于执行第一方面或第一方面的任意可能的实现方式中的方法。该通信装置包括具有执行第一方面或第一方面的任意可能的实现方式中的方法的相应单元。
43.例如,该通信装置可以包括收发单元和处理单元。可理解,对于收发单元和处理单元的具体实现方式,可参考下文具体实施例,这里先不详述。
44.第四方面,本技术提供一种通信装置,用于执行第二方面或第二方面的任意可能的实现方式中的方法。该通信装置包括具有执行第二方面或第二方面的任意可能的实现方式中的方法的相应单元。
45.例如,该通信装置可以包括收发单元和处理单元。可理解,对于收发单元和处理单元的具体实现方式,可参考下文具体实施例,这里先不详述。
46.第五方面,本技术提供一种通信装置,该通信装置包括处理器,该处理器可以用于执行上述第一方面或第一方面的任意可能的实现方式所示的方法。
47.本技术实施例中,在执行上述方法的过程中,上述方法中有关发送报文、接收报文或发送至少一个第一比特块(以下统称为信息)的过程,可以理解为由处理器输出信息的过程,以及处理器接收输入的信息的过程。在输出信息时,处理器将该信息输出给收发器,以便由收发器进行发射。该信息在由处理器输出之后,还可能需要进行其他的处理,然后到达收发器。类似的,处理器接收输入的信息时,收发器接收该信息,并将其输入处理器。更进一步的,在收发器收到该信息之后,该信息可能需要进行其他的处理,然后才输入处理器。
48.基于上述原理,示例性的,例如,发送至少一个第一比特块可以理解为处理器输出该至少一个第一比特块。又例如,发送第一报文可以理解为处理器输出该第一报文等。
49.对于处理器所涉及的发送和/或接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,则可以一般性的理解为处理器输出和接收、输入等操作。
50.在实现过程中,上述处理器可以是专门用于执行这些方法的处理器,也可以是执行存储器中的计算机指令来执行这些方法的处理器,例如通用处理器等。例如,处理器还可以用于执行存储器中存储的程序,当该程序被执行时,使得该通信装置执行如上述第一方面或第一方面的任意可能的实现方式所示的方法。
51.在一种可能的实现方式中,存储器位于上述通信装置之外。
52.在一种可能的实现方式中,存储器位于上述通信装置之内。
53.本技术实施例中,处理器和存储器还可能集成于一个器件中,即处理器和存储器还可能被集成于一起。
54.在一种可能的实现方式中,通信装置还包括收发器,该收发器,用于接收报文或发
送报文等。
55.本技术实施例中,示例性的,处理器,可以用于生成至少一个第一比特块;收发器可以用于发送至少一个第一比特块;或者,发送第一报文;或者,接收第二报文等。
56.第六方面,本技术提供一种通信装置,该通信装置包括处理器,该处理器可以用于执行上述第二方面或第二方面的任意可能的实现方式所示的方法。
57.本技术实施例中,关于处理器的具体说明可参考上述第五方面的描述,这里不再详述。示例性的,例如,接收至少一个第一比特块可以理解为处理器接收输入的至少一个第一比特块。又例如,发送第二报文可以理解为处理器输出第二报文等。
58.在实现过程中,上述处理器可以是专门用于执行这些方法的处理器,也可以是执行存储器中的计算机指令来执行这些方法的处理器,例如通用处理器等。例如,处理器还可以用于执行存储器中存储的程序,当该程序被执行时,使得该通信装置执行如上述第二方面或第二方面的任意可能的实现方式所示的方法。
59.在一种可能的实现方式中,存储器位于上述通信装置之外。
60.在一种可能的实现方式中,存储器位于上述通信装置之内。
61.本技术实施例中,处理器和存储器还可能集成于一个器件中,即处理器和存储器还可能被集成于一起。
62.在一种可能的实现方式中,通信装置还包括收发器,该收发器,用于接收报文或发送报文。
63.本技术实施例中,示例性的,处理器,可以用于根据至少一个第一比特块中包括的流量控制信息调整第二报文的发送情况;或者,处理器还可以用于对至少一个第一比特块中的crc信息进行校验等。收发器可以用于接收至少一个第一比特块;或者,接收第一报文;或者,发送第二报文等。
64.第七方面,本技术提供一种通信装置,该通信装置包括逻辑电路和接口,该逻辑电路,用于生成至少一个第一比特块,该接口,用于输出该至少一个第一比特块。
65.在一种可能的实现方式中,该接口还可以用于输出第一报文,和/或,输入第二报文。
66.第八方面,本技术提供一种通信装置,该通信装置包括逻辑电路和接口,该接口用于输入至少一个第一比特块,该逻辑电路可以用于根据流量控制信息调整第一报文的发送情况。
67.在一种可能的实现方式中,该逻辑电路还可以用于对至少一个第一比特块中的crc信息进行校验。
68.在一种可能的实现方式中,该接口还可以用于输入第一报文,和/或,输出第二报文。
69.第九方面,本技术提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,当其在计算机上运行时,使得上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
70.第十方面,本技术提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,当其在计算机上运行时,使得上述第二方面或第二方面的任意可能的实现方式所示的方法被执行。
71.第十一方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机代码,当其在计算机上运行时,使得上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
72.第十二方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机代码,当其在计算机上运行时,使得上述第二方面或第二方面的任意可能的实现方式所示的方法被执行。
73.第十三方面,本技术提供一种计算机程序,该计算机程序在计算机上运行时,上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
74.第十四方面,本技术提供一种计算机程序,该计算机程序在计算机上运行时,上述第二方面或第二方面的任意可能的实现方式所示的方法被执行。
75.第十五方面,本技术提供一种通信系统,该通信系统包括发送端和接收端,该接收端可以用于执行上述第一方面或第一方面的任意可能的实现方式所示的方法,该发送端可以用于执行上述第二方面或第二方面的任意可能的实现方式所示的方法。
附图说明
76.图1a示出的是本技术实施例提供的一种基于信用的流量控制的流程示意图;
77.图1b示出的是本技术实施例提供的一种基于优先级的流量控制的流程示意图;
78.图2a是本技术实施例提供的一种比特块的格式示意图;
79.图2b是本技术实施例提供的另一种比特块的格式示意图;
80.图3a是本技术实施例提供的一种o比特块的格式示意图;
81.图3b至图3d是本技术实施例提供的报文比特块和非报文比特块的区分方法示意图;
82.图4是本技术实施例提供的一种40g/100g以太网的分层架构示意图;
83.图5是本技术实施例提供的一种比特块的发送方法的流程示意图;
84.图6a至图6d是本技术实施例提供的报文比特块和非报文比特块的对比示意图;
85.图7a和图7b是本技术实施例提供的一种o比特块的格式示意图;
86.图7c是本技术实施例提供的一种o比特块的传输示意图;
87.图7d是本技术实施例提供的报文长度与链路利用率的变化示意图;
88.图8a是本技术实施例提供的至少一个第一比特块的格式示意图;
89.图8b和图8c是本技术实施例提供的非报文开始比特块和非报文结束比特块的传输示意图;
90.图9a和图9b是本技术实施例提供的至少一个第一比特块的格式示意图;
91.图9c是本技术实施例提供的一种至少一个第一比特块的传输示意图;
92.图10a和图10b是本技术实施例提供的至少一个第一比特块的格式示意图;
93.图10c是本技术实施例提供的一种至少一个第一比特块的传输示意图;
94.图11是本技术实施例提供的一种通信装置的结构示意图;
95.图12是本技术实施例提供的另一种通信装置的结构示意图;
96.图13是本技术实施例提供的又一种通信装置的结构示意图。
具体实施方式
97.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地描述。
98.本技术的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
99.在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
100.在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
101.以下详细介绍本技术涉及的术语。
102.1、基于信用(credit)的流量控制
103.如图1a所示,接收端向发送端发送信用更新报文,该信用更新报文中包括信用数量,该信用数量可以根据接收端的接收缓存确定。发送端接收到该信用更新报文后,可以根据该信用更新报文中包括的信用数量向接收端发送报文。可选的,在信用数量足够的情况下,发送端可以立即发送报文;而在信用数量不足的情况下,发送端可以缓存报文,累计信用数量。换句话说,接收端发送的信用数量可以用于指示发送端发送对应数据量的报文。例如,一个信用数量可以表示16字节的报文,若信用数量为5,则该发送端可以发送小于或等于80(16*5=80)字节的报文。
104.2、基于优先级的流量控制(priority-based flow control,pfc)
105.在ieee802.1qbb标准中,允许在一条以太网链路上创建8个虚通道,并为每个虚通道指定一个ieee802.1p优先级,即8个具有优先级的队列。如图1b所示,发送端和接收端中可以分别包括8个队列。示例性的,当接收端中队列5的缓存超过缓存阈值,则该接收端可以向发送端发送pfc报文,该pfc报文(或也可以称为pfc帧)包括队列停止发送报文的时间和对应队列的标识。由此,发送端接收到该pfc报文后,根据该pfc报文停止或延迟通过对应队列发送报文,对于接收端来说,该接收端停止或延迟通过对应队列接收报文。
106.3、报文
107.报文(message)是网络中交换与传输的数据单元。示例性的,报文中可以包括目的mac地址(destination address)信息、源mac地址(source address)信息、长度/类型(length/type)信息、数据信息和帧校验序列(frame check sequence,fcs)等。或者,报文中还可以包括前导(preamble)和帧起始定界符(startofframedelimiter,sfd)等。
108.图4示出的是40g/100g以太网中的一种分层架构示意图。其中,媒体接入控制(media access control,mac)层的功能在于对以报文进行校验;协调子层(reconciliation sublayer,rs)的功能是提供一种媒体独立接口(some kind of media independent interface,xmii)和mac层之间的信号映射机制;物理编码子层(physical coding sublayer,pcs)的功能是对从xmii接收到的信号进行编码;物理媒介接入子层(physical media attachment,pma)的功能是负责信号的并串、串并转换等;物理媒介依赖层(physical media dependent,pmd)的功能是完成pma产生的高速模拟信号和外围介质之间的交互。可理解,本技术介绍的功能仅为示例,在具体实现中,每个层可能还包括其他功能等,本技术不作限定。
109.一般的,以8比特为单位,报文的每8比特被依次映射到xmii接口的通道0至通道7上。然后,pcs基于从xmii接口接收到的信号进行64b/66b编码,如增加2比特的同步头,形成64b/66b比特块。示例性,7个字节的前导和1个字节的sfd可以被编码为开始比特块;6字节的目的mac地址和2字节的部分源mac地址被编码为第一个数据比特块,依次类推,形成若干个数据比特块。可选的,为标识报文的结束,pcs会在报文的末端增加一个结束比特块。可选的,该结束比特块中可能会包含fcs。
110.本技术中,在pcs进行64b/66b编码时,开始比特块的预设字段的取值可以被设置为第一数值或第三数值。其中,若开始比特块的预设字段的取值为第一数值时,该开始比特块还可以被称为非报文开始比特块,而该开始比特块的预设字段的取值为第三数值时,该开始比特块还可以被称为报文开始比特块。可选的,pcs进行64b/66b编码时,还可以将结束比特块的预设字段的取值设置为不同数值,区分报文结束比特块和非报文结束比特块。
111.可选的,操作管理和维护等信息经过pcs,进行64b/66b编码时,可能会被编码为o比特块。可选的,该o比特块的预设字段的取值可以为第二数值。
112.可理解,以上示出的仅为一种编码方式,对于其他类型的编码方式,本技术同样适用。
113.4、第一比特块(bit block)
114.本技术中,第一比特块可以为p1 b/p2 b比特块,或者也可以称为p1 b/p2 b码块,或者也可以称为p1 b/p2 b块,或者也可以称为p1 b/p2 b编码块,或者也可以称为p1 b/p2 b比特流等。其中,p1表示该第一比特块的净荷比特数,p2表示该第一比特块的总比特数,p2-p1表示该第一比特块的同步头比特数,p1、p2为正整数,且p2大于p1。
115.在本技术中,该p1 b/p2 b比特块可以为64b/66b比特块;128b/129b比特块;或者,或者,128b/130b比特块;或者,128b/131b比特块;或者,256b/257b比特块;或者,256b/258b比特块;或者,512b/513b比特块;或者,512b/514b比特块;或者,512b/515b比特块等。
116.作为示例,图2a示出的是64b/66b比特块的不同类型。如图2a所示,首部的2个比特“10”或“01”为同步头比特,后64比特即为净荷比特,可以用于承载净荷数据等。图2a中每一行代表一种码型定义,其中,d0~d7代表数据字节,c0~c7代表控制字节,s0代表mac帧的开始,t0~t7代表mac帧的结束。
117.作为示例,图2b示出的是128b/131b比特块,或者也可以称为流控单元(flow control unit,flit),下文将以flit为例说明本技术提供的各个实施例。如图2b所示,h(header)表示该flit的同步头,且h的不同取值用于表示该flit是控制比特块(也可以称为
控制flit)或数据比特块(也可以称为负载flit(payload flit)),该h的长度可以为1比特、2比特或3比特等。类型(type)字段的不同取值用于识别控制比特块的类型如为报文开始比特块(也可以称为报文开始flit)或o比特块(也可以称为反馈flit或oflit等)等。该type的长度至少可以为2比特。可选的,type字段的不同取值还可以用于识别控制比特块的类型为报文开始flit、信用更新flit或pfc flit(信用更新flit或pfc flit统称为o flit)等。
118.可选的,图2b(一)所示的flit一般可以用于承载请求类、控制或管理类信息,图2b(二)至图2b(四)示出的是多个flit承载一个报文的情况,它们之间的区别主要在于不同crc的保护方式,图2b(二)是每个flit都被crc-x保护(比如x=16,即crc-16),图2b(三)是报文开始flit被crc-x保护,负载flit0~n被crc-y保护(比如y=32,即crc-32),图2b(四)是报文开始flit和负载flit都被crc-y保护。
119.可理解,以上示出的示例,是以type字段的不同取值用于识别报文开始比特块或o比特块为例示出的,在具体实现中,该type字段的不同取值还可以用于识别报文开始比特块、报文结束比特块或o比特块等,这里不再一一详述。或者,也可以通过type字段识别开始比特块和结束比特块然后通过其他字段区分开始比特块为报文开始比特块或非报文开始比特块,或者,通过其他字段区分结束比特块为报文结束比特块或非报文结束比特块。
120.本技术中,对第一比特块的生成位置不做限定,通信装置既可以在xmii接口生成至少一个第一比特块;或者,也可以在pcs层生成至少一个第一比特块。换句话说,至少第一比特块可以是在pcs产生的p1b/p2b比特块;或者,该至少一个第一比特块也可以是经过xmii接口生成的包括控制字符或数据字符的比特块,该比特块经过pcs子层后会被编码为p1b/p2b比特块。
121.5、报文比特块和非报文比特块
122.本技术中,报文比特块可以包括边界比特块和数据比特块,该边界比特块可以是开始比特块和结束比特块中的至少一个。因此一个报文对应的比特块可以是:a、开始比特块 数据比特块;b、开始比特块 数据比特块 结束比特块;c、数据比特块 结束比特块。示例性的,如报文比特块为报文开始比特块、该报文开始比特块对应的数据比特块、该报文开始比特块对应的结束比特块、报文结束比特块、该报文结束比特块对应的开始比特块或该报文结束比特块对应的数据比特块中的至少一个。
123.在一种可能的实现方式中,非报文比特块可以为报文比特块之外的其它比特块,例如可以是报文之间传输的o比特块。
124.在另一种可能的实现方式中,非报文比特块还可以使用边界比特块来实现,当然,非报文比特块也可以使用边界比特块和数据比特块一起来实现。该情况下,为了区分报文比特块和非报文比特块,非报文比特块中的边界比特块的预设字段可以使用预设取值(如第一数值),通过该预设字段来区分报文边界比特块和非报文边界比特块。如可以使用开始比特块的预设字段来区分,即区分为报文开始比特块和非报文开始比特块,或者,也可以使用结束比特块的预设字段来区分,即区分为报文结束比特块和非报文结束比特块。
125.下面针对非报文比特块是否包括边界比特块分为两方面具体说明:
126.方式一、非报文比特块不包括边界比特块。
127.报文比特块包括边界比特块和该边界比特块对应的数据比特块;
128.非报文比特块为报文比特块之外的其它比特块,例如可以是o比特块。
129.方式二、非报文比特块包括边界比特块。
130.报文比特块包括报文边界比特块和报文边界比特块对应的数据比特块;
131.非报文比特块为报文比特块之外的其它比特块,例如可以是o比特块、非报文边界比特块、非报文边界比特块对应的数据比特块、非报文边界比特块对应的边界比特块等。具体的,非报文比特块包括可以是o比特块、非报文开始比特块、非报文开始比特块对应的数据比特块、非报文开始比特块对应的结束比特块、非报文结束比特块、非报文结束比特块对应的数据比特块、非报文结束比特块对应的开始比特块等。例如可以是:
132.a、非报文开始比特块;
133.b、非报文开始比特块 非报文开始比特块对应的数据比特块;
134.c、非报文开始比特块 非报文开始比特块对应的数据比特块 非报文开始比特块对应的结束比特块;
135.d、非报文开始比特块 非报文开始比特块对应的结束比特块;
136.e、非报文结束比特块;
137.f、非报文结束比特块对应的数据比特块 非报文结束比特块;
138.g、非报文结束比特块对应的开始比特块 非报文结束比特块对应的数据比特块 非报文结束比特块;
139.h、非报文结束比特块对应的开始比特块 非报文结束比特块;
140.i、非报文开始比特块 非报文结束比特块;
141.j、非报文开始比特块 非报文开始比特块对应的数据比特块 非报文结束比特块;
142.这里,非报文开始比特块对应的数据比特块也可以称为非报文数据比特块,非报文开始比特块对应的结束比特块也可以称为非报文结束比特块,非报文结束比特块对应的开始比特块也可以称为非报文开始比特块,非报文结束比特块对应的数据比特块也可以称为非报文数据比特块等。
143.以上仅为举例,还可以采用其它形式来实现,在此不再赘述。此外需要说明的是,比特块之间的发送顺序也可以调整,例如可以先发送结束比特块,再发送开始比特块,也可以先发送结束比特块,再发送开始比特块。
144.换句话说,预设字段可以用于识别报文结束比特块或非报文结束比特块。如报文比特块中包括预设字段,非报文比特块中包括预设字段,且该预设字段承载的数值可以用于识别报文开始比特块或非报文开始比特块;或者,该预设字段承载的数值可以用于识别报文结束比特块或非报文结束比特块。示例性的,预设字段承载的数值可以包括第一数值或第三数值,该第一数值对应非报文比特块,该第三数值对应报文比特块。
145.对应本技术提供的各个实施例,至少一个第一比特块中包括预设字段,该预设字段可以用于识别该至少一个第一比特块为报文比特块或非报文比特块。示例性的,预设字段承载的数值可以用于识别报文开始比特块或非报文开始比特块;或者,该预设字段承载的数值可以用于识别报文结束比特块或非报文结束比特块。或者,预设字段可以用于识别o比特块的作用为承载流量控制信息或其他信息等。
146.本技术中,预设字段可以理解为比特块中的预设区域或预设位置等,在该预设区域或预设位置承载有数值。本技术对于该预设字段具体在比特块中的哪个区域或位置等,不作限定。该预设字段可以位于开始比特块、结束比特块或数据比特块中的至少一个中。
147.为更形象的理解报文比特块和非报文比特块的区别,如图3b至图3d所示。
148.图3b和图3c示出的是非报文开始比特块中的预设字段的不同取值,图3b中预设字段可以承载于d1区域,图3c中预设字段可以承载于d7区域,或者,也可以称为图3b中预设字段位于d1区域,图3c中预设字段位于d7区域。如图3b所示,非报文开始比特块中预设字段承载0xe5,报文开始比特块中预设字段承载0x55。如图3c所示,非报文开始比特块中预设字段承载0xc5,报文开始比特块中预设字段承载0xd5(比特传输顺序为1010 1011)。其中,0xe5和0xc5可以理解为第一数值,0x55和0xd5可以理解为第三数值。
149.可理解,图3a至图3c仅为一种示例,在具体实现中,预设字段还可以位于其他区域,如图3b中的预设字段还可以为d2至d6中的任一区域或多个区域等,以及对于非报文比特块预设字段承载的第一数值的具体取值,本技术也不作限定。
150.可理解,图3b和图3c示出的对比示意图是以预设字段位于开始比特块为例示出的,但是,本技术中预设字段还可以位于结束比特块,即通过结束比特块中的预设字段的不同取值区分报文结束比特块和非报文结束比特块。对于预设字段位于结束比特块的具体描述,可参考图3b和图3c,这里不再详述。不失一般性,下文将以预设字段位于开始比特块为例示出本技术提供的各个实施例。
151.图3d示出的是flit中预设字段的不同取值。示例性的,当预设字段承载00001时,则表示该flit为报文开始flit。预设字段承载01000时,则表示该flit为oflit。换句话说,通信装置在反馈其缓存情况时,可能不会同时反馈信用数量和至少一个队列被停止发送报文的时长信息,因此,预设字段可以通过两个不同数值,区分报文开始flit和oflit即可。可理解,对于该说明,同样适用于下文示出的各个实施例中的信用更新比特块和pfc比特块。对于flit的具体说明,还可以参考图10a,这里不再详述。表1示出的是区分非报文比特块和报文比特块的方法示例。
152.表1
153.比特块名称预设字段的位置预设字段的取值报文比特块非报文比特块s0比特块d1区域0x55(即第三数值)是否s0比特块d1区域0xe5即第一数值)否是flit比特块type区域00001(即第三数值)是否flit比特块type区域01000即第二数值)否是(o比特块)
154.本技术中,预设字段不仅可以用于识别报文比特块和非报文比特块。可选的,该预设字段的不同取值可以用于识别报文比特块、信用更新比特块和pfc比特块。其中,信用更新比特块和pfc比特块可以理解为非报文比特块。示例性的,当预设字段承载00001时,则表示该flit为报文开始flit。当预设字段承载00101时,则表示该flit为信用更新flit,也可以称为非报文比特块或o比特块等;当预设字段承载00110时,则表示该flit为pfc flit,也可以称为非报文比特块或o比特块等。如表2示出的是区分报文比特块、信用更新比特块和pfc比特块的方法示例。
155.表2
156.比特块名称预设字段的位置预设字段的取值报文比特块非报文比特块flit比特块type区域00001(即第三数值)是否flit比特块type区域00101(即第二数值)否是(信用更新flit)
flit比特块type区域00110(即第二数值)否是(pfc flit)
157.可理解,以上示出的预设字段的取值仅为示例,在具体实现中,区分非报文开始比特块和报文开始比特块的预设字段还可以位于其他区域,或者还可以用于承载其他数值等,本技术不作限定。只要在同一个字段能够通过取不同的数值区分非报文比特块和报文比特块即可。
158.7、o比特块
159.上文示出的预设字段主要是用于识别报文比特块和非报文比特块,然而,对于控制比特块如o比特块来说,该预设字段可以用于识别该o比特块所承载的信息。可选的,该o比特块中预设字段承载的不同数值用于识别该o比特块用于承载流量控制信息或重传控制信息等。换句话说,预设字段承载的不同数值对应不同的信息,且一个数值对应一种信息。例如,o比特块中预设字段承载第二数值时,该o比特块用于承载流量控制信息。该o比特块中预设字段承载第四数值时,该o比特块可以用于承载重传控制信息等(仅为示例)。
160.图3a中o比特块中的预设字段可以承载于o0区域,或者也可以称为o比特块中的预设字段位于o0区域,或者也可以称为预设字段的具体位置位于o0区域。且本技术中,该预设字段可以承载第二数值,如0x06。即当o比特块中预设字段承载0x06时,则表示该o比特块用于反馈流量控制信息。
161.可理解,图3a仅示出了与图2a对应的o比特块,对于图2b对应的o flit的具体说明,这里不再详述。
162.可理解,本技术所描述的某个字段承载某个数值,也可以理解为该某个字段的取值为某个数值,对于该说明,下文各个实施例同样适用。
163.7、比特位置(bit position)
164.示例性的,如图2a所示,对于数据比特块(图2a中的第一行)来说,比特位置2至9之间的8个比特为d0区域,比特位置为10至17之间的8个比特为d1区域。对于s0比特块来说,比特位置2至9之间的8个比特为0x78(即块类型域为0x78),比特位置为10至17之间的8个比特为d1区域。对于t7比特块来说,比特位置2至9之间的8个比特为0xff(即块类型域为0xff),比特位置为10至17之间的8个比特为d0区域。可理解,本技术所示的比特块的起始比特位置均为0。如果起始比特位置为1,则s0比特块的0x78占用的比特位置则可以为比特位置3至10之间的8个比特。换句话说,本技术对于起始比特位置为多少不作限定。
165.这里仅示出了比特位置的说明,但是对于比特位置与比特传输顺序之间的关系,本技术不作限定。示例性的,如图2b所示的s0比特块来说,比特位置2至9之间的8个比特为0x78,但是对于其对应的8个比特“0111 1000”的具体比特位置,本技术不作限定。例如,该s0比特块中比特位置为2至9之间的8个比特可以依次为0111 1000,或者依次为0001 1110等,本技术对此不作限定。
166.在接收端向发送端发送信用更新报文或pfc报文时,由于报文的长度一般较长,因此接收端发送的信用更新报文或pfc报文可能会出现报文阻塞。尤其是接收端正在发送其他报文(如第一报文)时,该情况下,接收端则需要等待报文被发送完,才能发送该信用更新报文或该pfc报文。示例性的,报文的长度为256字节,即信用更新报文或pfc报文需要等待256字节的报文发送时间。最差情况(worst case)下,pfc报文可能需要等待一个最长以太网报文的长度如1518字节的报文发送时间,才能将该信用更新报文或pfc报文发送出去。另
外,信用更新报文本身的长度,也会增加接收端发送该信用更新报文的时延。即信用更新报文一旦延迟,发送端就无法及时发送报文,由此业务流完成的时间(flow completion time,fct)将延长,导致网络利用率低下。
167.鉴于此,本技术提供一种比特块的发送方法及装置,接收端不仅能够向发送端指示其缓存情况,还能够以比特块的方式反馈流量控制信息,使得该流量控制信息能够被及时发送出去的可能性更高,且流量控制信息的反馈方式更灵活。进一步的,以比特块的方式反馈流量控制信息,还能够打断接收端当前正在发送的第一报文,减少该流量控制信息的时延,以及减少fct的时延,提高网络利用率。
168.本技术提供的方法不仅可以应用于基于高速串行计算机扩展总线标准(peripheral component interconnect express,pcie)或基于flit的信息技术(information technology,it)网络,还可以应用于以太网、互联网协议(internet protocol,ip)网络、分组传送网(packet transport network,ptn)、灵活传送网(agile transport network,atn)、切片分组网(slicing packet network,spn)等,对于本技术提供的方法可以应用到的网络不作限定。具体的,本技术提供的方法可以应用于通信装置,该通信装置可以为支持pcie、flit或以太网技术的装置等。示例性的,该通信装置可以为任意形态的计算机、服务器、交换机(或者称为交换设备、交换芯片等)、路由器、网卡等,本技术对于该通信装置的具体形态不作限定。
169.可选的,本技术提供的方法可以应用于两个通信装置,如该两个通信装置中可以包括发送端和接收端。可选的,该发送端和该接收端的具体形态可以参考上述通信装置的形态。可选的,该发送端和该接收端还可以理解为任意两个接口。换句话说,本技术提供的方法可以应用于链路级(也可以称为点到点(point-to-point))场景下,该链路级场景中可以包括发送端和接收端,且在报文(如第一报文或第二报文或至少一个第一比特块等)传输过程中,该报文不会出现丢包的现象,但是可能会出现传输错误等问题。
170.本技术实施例中,该发送端可以理解为发送第二报文的通信装置,该接收端可以理解为接收该第二报文的通信装置。或者,本技术中,该发送端可以理解为接收第一报文的通信装置,该接收端可以理解为发送第一报文的通信装置。可理解,本技术示出的报文还可以称为包或帧等,本技术实施例对于报文的其他名称不作限定。
171.图5是本技术实施例提供的一种比特块的发送方法的流程示意图,如图5所示,该方法包括:
172.501、接收端生成至少一个第一比特块,该至少一个第一比特块中包括指示字段,该指示字段用于承载流量控制信息,该流量控制信息根据接收端的缓存情况得到。
173.本技术实施例中,接收端的缓存情况包括该接收端的缓存大小,或者该接收端的缓存队列的缓存大小等。或者,该接收端的缓存队列的缓存大小包括该接收端的缓存队列的缓存大小是否超过缓存阈值等。由此,根据接收端的缓存情况,该接收端可以得到流量控制信息。如流量控制信息可以包括信用数量或至少一个队列被停止发送报文的时长信息。可选的,信用数量可以根据该接收端的缓存大小确定,一个信用(credit)可以对应一定数据量的报文。例如,一个信用可以对应16字节的报文等,本技术实施例对此不作限定。可选的,至少一个队列被停止发送报文的时长信息可以根据该接收端的缓存队列的缓存大小确定。该缓存队列的描述可参考上文中图1b的介绍,这里不再详述。该时长信息的时间单位可
以为物理层芯片发送512比特数据所需的时间。换句话说,时长信息的一个时间单位表示接收端的对应队列暂停接收报文的时间为该发送端的物理层芯片发送512比特数据所需的时间。本技术实施例中,该时长信息的最大时间可以为0xffff。
174.本技术实施例中,流量控制信息除了可以包括至少一个队列被停止发送报文的时长信息,还包括该至少一个队列的标识。例如,该流量控制信息可以包括一个队列被停止发送报文的时长信息和该一个队列的标识,该一个队列的标识如可以为0至7中的任一个,或者还可以为其他方式的标识等,本技术实施例不作限定。又例如,该流量控制信息可以包括两个队列被停止发送报文的时长信息和该两个队列中每个队列的标识。又例如,该流量控制信息中可以包括八个队列中每个队列被停止发送报文的时长信息,还可以包括该八个队列中每个队列的标识。换句话说,指示字段中不仅包括时长信息,还可以包括与时长信息对应的队列标识。
175.在一种可能的实现方式中,至少一个第一比特块中还包括循环冗余校验crc字段,该crc字段用于承载该至少一个第一比特块的crc信息,即该crc字段可以用于校验该至少一个第一比特块。示例性的,crc信息可以用于保护该至少一个第一比特块中的流量控制信息。且该crc字段的长度可以为4比特、8比特、16比特或32比特等,该crc的长度可以根据crc校验方式确定等,本技术实施例对于该crc字段的长度不作限定。
176.502、接收端向发送端发送至少一个第一比特块,相应的,发送端接收该至少一个第一比特块。
177.在一种可能的实现方式中,图5所示的方法还可以包括步骤503。
178.503、接收端向发送端发送第一报文,该第一报文由报文比特块组成。相应的,发送端接收该第一报文。
179.可选的,该第一报文可以包括报文开始比特块、该报文开始比特块对应的数据比特块以及该报文开始比特块对应的结束比特块(仅为示例)。作为示例,该第一报文可以包括如图2a所示的报文开始比特块(如s0)、报文数据比特块(如d0~d7)以及报文结束比特块(如t0~t7)。可选的,该第一报文可以包括报文开始比特块和该报文开始比特块对应的数据比特块。作为示例,该第一报文可以包括如图2b(二)所示的报文开始比特块和报文数据比特块。至于报文开始比特块中预设字段的具体取值可参考上文描述,这里不再详述。
180.本技术实施例中,第一比特块可以为非报文比特块,或者,该第一比特块为报文比特块。以下分别示出该第一比特块的具体形式。
181.实现方式一、第一比特块为非报文比特块。
182.即该第一比特块与组成报文的比特块(如组成报文的比特块可以称为第二比特块)不同,如非报文开始比特块中预设字段的取值与报文开始比特块中预设字段的取值不同。对于该预设字段的具体描述,可参考图3a至图3d的相关说明,这里不再详述。该第一比特块为非报文比特块,如至少一个第一比特块包括非报文开始比特块,分别如图6a至图6d的第二个图所示。可选的,该至少一个第一比特块还可以包括非报文结束比特块等,对于该至少一个第一比特块的其他说明,还可以参考下文示出的实施例一至实施例四。
183.在本技术的一些实现方式中,若接收端在发送该至少一个第一比特块时,未发送有第一报文,则该接收端可以单独发送该至少一个第一比特块。作为示例,接收端在发送完该至少一个第一比特块的情况下,发送第一报文;或者,接收端在发送完毕该第一报文的情
况下,发送该至少一个第一比特块。
184.在本技术的另一些实现方式中,若接收端在发送该至少一个第一比特块时,正在发送第一报文,则该接收端可以将该至少一个第一比特块插入到第一报文中发送。即接收端可以打断当前正在发送的第一报文,将该至少一个第一比特块插入到该第一报文中。该情况下,上述步骤503还可以替换为:在发送第一报文的报文开始比特块之后,且未发送完毕该第一报文的情况下,接收端向发送端发送至少一个第一比特块。
185.对于不同类型的比特块来说,由于预设字段位于不同区域。因此,在实现方式一中,发送端接收到该至少一个第一比特块后,可以根据该至少一个第一比特块中的crc字段承载的crc信息对该至少一个比特块进行校验。在对该至少一个第一比特块的crc信息校验成功的情况下,发送端可以根据该至少一个第一比特块的块类型域获取预设字段中承载的数值。若该至少一个第一比特块中预设字段承载的数值为第一数值,则根据该至少一个第一比特块中的流量控制信息调整第二报文的发送情况。示例性的,若至少一个第一比特块包括非报文开始比特块,则该非报文开始比特块的块类型域为比特位置为2至9之间的8比特,且该块类型域的取值为0x78。可选的,当第一比特块为flit时,由于不同类型的比特块的预设字段可以位于同一区域,根据发送端可以通过获取预设字段承载的数值,以及指示字段调整第二报文的发送情况。或者,若至少一个第一比特块为至少一个o比特块,则该至少一个o比特块的块类型域为比特位置为2至9之间的8比特,且该块类型域的取值为0x4b。然后根据该至少一个o比特块的预设字段承载的数值如第二数值,以及指示字段调整第二报文的发送情况。
186.实现方式二、第一比特块为报文比特块。
187.接收端向发送端反馈流量控制信息时,接收端可能正好需要发送第一报文,但是该第一报文还没被发送出去。该情况下,接收端便可以在该第一报文中反馈该流量控制信息。换句话说,接收端可以将该信用数量或时长信息等承载于报文开始比特块中,随第一报文一起被发送出去。
188.该实现方式中,第一比特块中预设字段承载的数值为第三数值,分别如图6a至图6d的第一个图所示。步骤502中的至少一个第一比特块被承载于第一报文中,随第一报文被一起发送出去。这里所示的第一报文与步骤503中的第一报文可以理解为不同的第一报文(即可以理解为不是同一个报文)。
189.该情况下,发送端接收到至少一个第一比特块后,可以根据第一报文的crc字段(也可以称为帧校验序列(frame check sequence,fcs)字段)承载的crc信息对该第一报文进行校验。换句话说,尽管该至少一个第一比特块中包括crc字段,但是该crc字段用于对该至少一个第一比特块中包括的流量控制信息等进行crc校验。但是对于第一报文来说,发送端还需要对保护该第一报文的crc信息进行校验。本技术实施例中,只要至少一个第一比特块中的crc信息被校验成功,则发送端便可以执行步骤505。若第一报文的另一个crc信息(如fcs)被校验失败,则发送端可以通知接收端重传该第一报文。
190.示例性的,图6a和图6c示出的是接收端反馈信用数量时,至少一个第一比特块的格式示意图。图6b和图6d示出的是接收端反馈时长信息时,至少一个第一比特块的格式示意图。图6a和图6b示出的是接收端以64b/66b的形式反馈流量控制信息时,至少一个第一比特块的格式示意图,而图6c和图6d示出的是接收端以flit的形式反馈流量控制信息时,至
少一个第一比特块的格式示意图。可理解,图6a至图6d中示出的第一报文中尽管包括流量控制信息,但是该流量控制信息被承载于报文比特块中如报文开始比特块中。该报文开始比特块中包括用于承载流量控制信息的字段和crc字段。可理解,图6c和图6d中,预设字段承载01000时,还可以通过该预设字段之后的2比特识别该flit中是否包括流量控制信息。或者,还可以通过预设字段之后的1比特识别该flit中是否包括流量控制信息等,本技术实施例对此不作限定。示例性的,接收端发送的第一报文的开始flit中除了包括上述示出的指示字段、crc字段、预设字段之外,还可以包括类型字段,该类型字段可以用于识别该开始flit中是否包括流量控制信息。本技术实施例对于该类型字段的具体位置或长度等不作限定。
191.可理解,图6a至图6d所示的各个字段的具体位置仅为示例,在具体实现中,上述各个字段还可能在其他位置。同时,上述各个字段的长度还可以依据第一报文所包括的报文比特块的长度而定,以上所示的各个字段的长度和具体取值,本技术实施例也不作限定。对于该非报文比特块的具体描述,还可以参考下文示出的实施例一至实施例四。
192.在一种可能的实现方式中,图5所示的方法还可以包括步骤504和步骤505。
193.504、发送端对至少一个第一比特块进行crc校验。
194.本技术实施例中,步骤504还可以理解为发送端对至少一个第一比特块中的crc信息进行校验。
195.505、在crc校验通过的情况下,发送端根据至少一个第一比特块中的流量控制信息调整第二报文的发送情况。
196.本技术实施例中,若发送端对至少一个第一比特块中的crc信息校验失败,则可以直接丢弃该至少一个第一比特块。
197.本技术实施例中,发送端可以通过预设字段承载的数值,区分报文比特块和非报文比特块。若预设字段承载第一数值,则可以从指示字段获取流量控制信息。或者,发送端可以通过比特块的块类型域的不同,获取该比特块是否为o比特块,若为o比特块,则可以通过预设字段获取该o比特块的作用,如预设字段承载第二数值,则从该o比特块指示字段获取流量控制信息。对于步骤505的具体说明,还可以参考下文示出的实施例一至实施例四。
198.本技术实施例中,发送端可以根据流量控制信息调整第二报文的发送数据量,或者调整对应队列停止发送第二报文等,本技术实施例对此不作限定。示例性的,发送端根据至少一个第一比特块中的信用数量调整第二报文的数据量。如待发送的至少一个第二报文的数据量小于或等于信用数量对应的数据量,则该发送端可以直接发送该至少一个第二报文。又如待发送的第二报文的数据量大于信用数量对应的数据量,则该发送端先缓存该第二报文,累计信用数量,直到该信用数量对应的数据量大于或等于第二报文的数据量,发送该第二报文。示例性的,发送端还可以根据至少一个第一比特块中的时长信息调整对应队列的发送速率。
199.本技术实施例中,接收端可以通过第一比特块的形式,而非报文的形式向发送端反馈流量控制信息,一方面可使得接收端能够及时将至少一个第一比特块发送出去,尽可能减少该至少一个第一比特块的传输时延,避免该至少一个第一比特块的传输时间过长,而导致其他报文被阻塞。另一方面,该第一比特块为非报文比特块时,如非报文开始比特块预设字段承载的数值与报文开始比特块预设字段承载的数值不同,由此该非报文比特块和
报文比特块能够被接收端或发送端区分。或者,至少一个o比特块预设字段承载的数值不同于其他o比特块预设字段承载的数值,由此发送端或接收端能够根据该预设字段的取值区分至少一个o比特块的作用。另外,该至少一个第一比特块还能够被插入到第一报文中被发送出去,进一步减少了该至少一个第一比特块的等待时延,减少fct的时延,提高了网络利用率。
200.为更形象理解图5所示的方法,以下将以至少一个第一比特块的不同形式示出具体的实施例。可理解,以下示出的各个实施例中的预设字段的具体说明可参考上文描述,下文对于预设字段不再一一详述。
201.实施例一、
202.至少一个第一比特块包括至少一个o比特块,且每个o比特块中的预设字段承载第二数值。
203.本技术实施例中,指示字段和crc字段可以分别位于o比特块中比特块位置为10至33,以及38至65之间,且该指示字段和该crc字段可以分别位于不同的比特位置。同时,该指示字段的长度至少可以为8比特,如该指示字段可以为8比特、16比特、24比特、128比特等,本技术实施例对于该指示字段的具体长度不作限定。该crc字段的长度可以为4比特、8比特、16比特或32比特等。关于该指示字段和该crc字段的长度等,下文示出的各个实施例同样适用,下文不再详述。
204.作为示例,o比特块中指示字段、crc字段和预设字段的位置和长度可以如图7a所示。如图7a中的第一个图所示,当流量控制信息为信用数量时,指示字段可以位于o比特块中比特位置为10至17之间的8比特,crc字段可以位于o比特块中比特位置为18至25之间的8比特。如图7a中的第二个图所示,当流量控制信息为时长信息时,指示字段可以位于o比特块中比特位置为10至29之间的20比特,即该指示字段的一部分承载一个队列被停止发送报文的时长,该指示字段的另一部分承载该一个队列的标识。crc字段位于o比特块中比特位置为30至33之间的4比特。
205.可理解,图7a所示的指示字段和crc字段的位置和长度仅为示例,在具体实现中,该指示字段和该crc字段还可以位于该o比特块的其他区域等,本技术实施例对此不作限定。在本技术实施例中,将o比特块中的其他位置记为保留(reserved,rsvd),但是并不代表该其他位置未被占用,对于图7a中rsvd的区域的作用,本技术实施例不作限定。对于该说明,本技术示出的其他实施例同样适用。
206.以下将以一个信用对应16字节,信用数量为20,且以图7a示出的示意图为例,说明本技术实施例提供的比特块的发送方法的具体场景。
207.其中,o比特块的格式可如图7b的第一个图所示,指示字段占用8个比特,则信用数量的取值范围为0至255(包括0和255)。当信用数量等于0时,则表示接收端无接收能力,即该接收端的缓存情况已饱和,无法再缓存报文。当信用数量等于266时,则表示接收端的缓存空间最大可能缓存255*16=4080字节。
208.在接收端需要发送该至少一个o比特块的情况下,该接收端正在向发送端发送第一报文。从64b/66b编解码层看,该第一报文可以理解为s(报文开始比特块)ddd

d(即报文开始比特块对应的数据比特块)t(即报文开始比特块对应的结束比特块)的报文比特块流。如图7c所示,接收端可以在未发送完该第一报文的报文比特块流的情况下,直接发送该至
少一个o比特块,且图7c中示出的是一个o比特块。即接收端可以打断当前正在发送的第一报文的报文比特块流,将至少一个o比特块插入到该第一报文的报文比特块流中,从而将该至少一个o比特块发送出去。
209.发送端接收来自接收端的第一报文,当发送端在未接收完毕该第一报文的报文比特块流的情况下,该发送端接收控制比特块,并获取该控制比特块的块类型域(block type field)为0x4b,且预设字段承载0x06。若发送端计算的crc结果与该控制比特块中的crc结果一致,则从该o比特块的d1区域(即指示字段)提取信用数量为20。如果发送端有小于或等于20*16=320字节的第二报文要发送,则该发送端可以立即发送该第二报文。
210.以下将以接收端需要停止编号为7的优先级队列发送报文,且以图7a示出的示意图为例,说明本技术实施例提供的比特块的发送方法的具体场景。
211.其中,o比特块的格式可如图7b的第二个图所示,指示字段承载0xffff,表示编号为7的优先级队列需要暂停发送报文的最大时间,指示字段还承载0x7,表示暂停发送报文的队列编号为7。接收端发送至少一个o比特块的具体说明,可参考上述关于图7c的描述,这里不再详述。
212.可选的,若接收端需要重启编号为7的优先级队列发送报文,则该接收端还可以生成至少一个o比特块,且该o比特块的格式如图7b的第三个图所示。对于图7b的第三个图的具体说明,接收端发送该至少一个o比特块以及发送端接收该至少一个o比特块的方法,可参考上述描述,这里不再详述。
213.针对实施例一以下根据公式简单分析本技术实施例的有益效果。
214.示例性的,如以链路利用率模型为例,如链路利用率可以满足如下如公式。
[0215][0216]
其中,tlp
len
用于表示第一报文的负载长度,即第一报文的最大净荷长度;h
len
用于表示第一报文的头长度;ack
len
用于表示接收端接收到第二报文后反馈的确认应答(acknowledge,ack)报文的长度;fc
len
用于表示至少一个第一比特块的长度;fc
updatefactor
用于表示至少一个第一比特块的发送因子;ack
updatefactor
用于表示pcie标准规范的ack报文的发送因子;p
bw
用于表示阻塞程度,如接收端发送至少一个第一比特块时的时延。示例性的,接收端发送至少一个第一比特块时,当前没有发送第一报文,即最好情况(best case)时,p
bw
=0。而在接收端发送至少一个第一比特块时,若接收端当前正在发送第二报文,如在最差情况(worst case)时,p
bw
=(tlp
len
h
len
) fc
len

[0217]
本技术实施例中,在最好情况时,p
bw
=0;在最差情况时,p
bw
=8 8=16字节,即阻塞一个比特块的大小(按照100gbps的以太网接口,传送100g业务,考虑64b/66b编码,实际接口速率是100*66/64gbps。如果只考虑100g速率,则一个比特块可以折算为64比特,即8字节)。且其他参数的取值如tlp
len
=256,头长度为20字节,再考虑8个字节的前导以及12字节帧间隙(即h
len
=20 8 12=40)。fc
updatefactor
=2.5、ack
updatefactor
=2.5,ack
len
=8,fc
len
=8。
[0218]
则应用本技术实施例提供的方法,在最好情况时,u
linkutilization
=0.979;在最差情况时,u
linkutilization
=0.959;在平均值(middle case)时,u
linkutilization
=(0.979 0.959)/2=0.969。从中可以看出,应用本技术实施例提供的方法,接收端向发送端发送至少一个第
一比特块的链路的利用率接近1。
[0219]
图7d示出的是根据报文长度(如上述tlp
len
)的不同,而导致链路利用率的变化情况。其中,“1”、“2”或“3”分别表示最好情况时、平均值时或最差情况时,报文长度与链路利用率的变化示意。从图7d可以看出,本技术实施例提供的方法,不仅能够及时将至少一个第一比特块发送出去,还能够改善链路利用率。
[0220]
以下简单分析本技术实施例提供的方法中,接收端需要增加的缓存大小。
[0221]
假设链路速率为r,接收端的发送速率为r1≤r,承载流量控制信息的至少一个第一比特块长度为l1,被该至少一个第一比特块打断的第一报文已经发送的比特块长度为l2,则接收端需要增加的缓存大小如下所示:
[0222][0223]
因此若至少一个第一比特块的长度l1=8字节,被打断的第一报文如果发送了报文开始比特块如l2=8字节,那么接收端需要增加的缓存大小仅为16字节。
[0224]
可理解,本技术实施例示出的各个公式或关于公式的说明等,同样适用于下文示出的实施例二至实施例四,下文不再详述。
[0225]
实施例二、
[0226]
至少一个第一比特块包括非报文开始比特块和非报文结束比特块,且该非报文开始比特块中的预设字段承载第一数值。
[0227]
本技术实施例中,指示字段、crc字段和预设字段可以位于非报文开始比特块中比特位置为10至65之间,以及非报文结束比特块中比特位置为10至65之间。
[0228]
作为示例,预设字段、指示字段和crc字段的比特位置可以如图8a所示。如图8a的第二个图所示,指示字段可以位于非报文结束比特块中比特位置为10至17的8比特,crc字段位于该非报文结束比特块中比特位置为18至25之间的8比特。或者,如图8c的第三个图所示,指示字段可以位于非报文结束比特块中比特位置为10至49之间的5个字节,crc字段位于该非报文结束比特块中比特位置为50至65之间的16比特。
[0229]
如仍以图7c中的相关描述为例,如图8b所示,在接收端需要反馈流量控制信息的情况下,且当前接收端正在发送第一报文的报文比特块流。该情况下,接收端可以将非报文开始比特块和非报文结束比特块插入到当前正在发送的报文比特块流中。由此,发送端在获取到该非报文开始比特块(如块类型域为0x78)之后,可以根据该非报文开始比特块中预设字段承载的0xe5获知该非报文开始比特块不是报文开始比特块。同时,当发送端获取到非报文结束比特块后,从该非报文结束比特块的指示字段获取信用数量或时长信息等。然后发送端调整第二报文的发送情况。
[0230]
可选的,图8b示出的是接收端在第一报文的报文比特块流中依次插入非报文开始比特块和非报文结束比特块。如图8c所示,接收端还可以在该第一报文的报文比特块流中依次插入非报文结束比特块和非报文开始比特块。换句话说,本技术实施例中,接收端可以依次发送非报文开始比特块和非报文结束比特块;或者,接收端还可以依次发送非报文结束比特块和非报文开始比特块。
[0231]
图8a中的m和n可以表示不同队列的标识(或编号等)。可理解,关于图8a至图8c的具体说明,可参考图5至图7c,这里不再详述。
[0232]
实施例三、
[0233]
至少一个第一比特块包括非报文开始比特块、该非报文开始比特块对应的至少一个非报文数据比特块和该非报文开始比特块对应的非报文结束比特块,且该非报文开始比特块中的预设字段承载第一数值。
[0234]
本技术实施例中,指示字段和crc字段可以分别位于非报文数据比特块中,且分别占用不同的比特位置。
[0235]
作为示例,至少一个第一比特块可以包括一个非报文开始比特块、一个非报文数据比特块和一个非报文结束比特块。其中,预设字段包含于该非报文开始比特块中,指示字段和crc字段可以包含于该非报文数据比特块中,至于该指示字段和该crc字段的具体位置,本技术实施例不作限定。
[0236]
作为示例,至少一个第一比特块还可以包括一个非报文开始比特块、至少两个非报文数据比特块和一个非报文结束比特块。其中,预设字段包含于该非报文开始比特块中,指示字段和crc字段可以包含于同一个非报文数据比特块中,或者分别包含于不同的报文数据比特块中等。例如,指示字段可以包含于同一非报文数据比特块中,或者,该指示字段可以包含于不同的非报文数据比特块中等。该情况下,如图9a和图9b所示,图9a中,指示字段和crc字段可以包含于不同的非报文数据比特块中,图9b中,指示字段包含于至少三个非报文数据比特块中。
[0237]
作为示例,至少一个第一比特块还可以包括一个非报文开始比特块、八个非报文数据比特块和一个非报文结束比特块。如图9a和图9b所示,包含crc字段的可以理解为第八个非报文数据比特块,而对于信用数量和时长信息等,本技术实施例不作限定。图9b中8个比特长度的队列标识信息如e[0:7]可以用于表示8个队列分别对应的时长信息的有效性。如e[0x11](0001 0001)可以表示队列0和队列4的时长信息是有效的。可理解,这里所示的e[0:7]对队列之间的对应关系仅为示例。
[0238]
图9c示出的是接收端发送至少一个第一比特块,发送端接收该至少一个第一比特块的方法,对于图9c所示的方法可参考上文介绍的各个实施例,这里不再详述。
[0239]
实施例四、
[0240]
至少一个第一比特块包括至少一个o比特块,且每个o比特块中的预设字段承载第二数值。
[0241]
以上示出的实施例一至实施例三是以图2a所示的比特块为例示出的,本技术实施例将以图2b所示的比特块为例说明本技术实施例提供的方法。
[0242]
作为示例,如图10a或图10b所示,h的长度可以为3个比特,如h承载100时,表示该flit为control flit;h承载001时,表示该flit为payload flit。预设字段的长度为5个比特,预设字段承载00001表示该flit的类型为报文开始flit,预设字段承载00101表示该flit的类型为信用更新flit,预设字段承载00110表示该flit的类型为pfc flit。换句话说,当h承载100时,预设字段承载00101时,该flit为信用更新flit;而当h承载100,且预设字段承载00110时,该flit为pfc flit。
[0243]
图10b中的0x81即为e[0:7]的一种表述形式。示例性的,e[0:7]可以表示对应队列的有效性,如0x81的二进制为1000 0001,由此可以表示time[0]和time[7]是有效值。
[0244]
如仍以图8a中的相关描述为例,第一比特块的格式可以如图10a的第三个图所示,
或者如图10b的第三个图所示。接收端可以将至少一个第一比特块插入到比特块流中,将该至少一个第一比特块发送给发送端。可理解,图10c示出的o flit即为本技术实施例中示出的至少一个第一比特块。
[0245]
可理解,图10b示出的sflit(即报文开始比特块)中的同步头(如h字段)承载100,数据flit(d flit)的同步头承载001。相对于只有s flit中包括同步头,且d flit中不包括同步头的方案来说,本技术实施例中的每个flit中均包括同步头,由此保证了至少一个第一比特块即使被插入到flit的比特块流中,发送端也能够从d flit中识别出该至少一个第一比特块。示例性的,如果d flit中不包括同步头,则若该d flit中某些字段的取值正好与o flit的取值相同,则发送端可能无法识别接收到的flit是d flit还是o flit。
[0246]
可理解,本技术示出的不同实施例的侧重点不同,其中一个实施例中未详尽描述的实现方式,还可以参考其他实施例等,这里不再详述。
[0247]
以下将介绍本技术实施例提供的装置。
[0248]
图11是本技术实施例提供的一种通信装置的结构示意图,该通信装置包括处理单元1101和收发单元1102。
[0249]
在本技术的一些实施例中,图11所示的通信装置可以用于执行上述实施例中由接收端执行的操作(功能或步骤等)。示例性的,该通信装置可以用于执行图5所示的步骤501和步骤502等。
[0250]
本技术实施例中,处理单元1101,可用于生成至少一个第一比特块,收发单元1102,用于输出该至少一个第一比特块。
[0251]
在一种可能的实现方式中,收发单元1102,还用于输出第一报文。
[0252]
在一种可能的实现方式中,收发单元1102,具体用于在输出第一报文的报文开始比特块之后,且未输出完毕该第一报文的情况下,输出至少一个第一比特块。
[0253]
在一种可能的实现方式中,收发单元1102,还可以用于获取(或称为输入)第二报文。
[0254]
可理解,对于第一比特块、报文比特块、非报文比特块、第一报文或第二报文等的描述可参考上述实施例,这里不再一一详述。示例性的,对于报文比特块和非报文比特块的区别可以参考图3a至图3d,或者,也可以参考图6a至图6d等。对于至少一个第一比特块的描述可参考图7a至图10c等。
[0255]
在本技术的另一些实施例中,图11所示的通信装置可以用于执行上述实施例中由发送端执行的操作(或功能或步骤等)。示例性的,该通信装置可以用于执行图5所示的步骤504和步骤505等。
[0256]
本技术实施例中,收发单元1102,用于获取(或称为输入)至少一个第一比特块;处理单元1101,根据该至少一个第一比特块中的流量控制信息调整第二报文的发送情况。
[0257]
在一种可能的实现方式中,收发单元1102,用于输出根据第二报文的发送情况输出该第二报文。
[0258]
在一种可能的实现方式中,处理单元1101,还用于对该至少一个第一比特块进行crc校验。
[0259]
本技术实施例中,根据至少一个第一比特块为非报文比特块或报文比特块的不同,处理单元对至少一个第一比特块进行crc校验的方式也可以不同。示例性的,若至少一
个第一比特块为非报文比特块,则处理单元可以对该至少一个第一比特块中的crc字段承载的crc信息进行校验。若至少一个第一比特块为报文比特块,则处理单元不仅对该至少一个第一比特块中的crc字段承载的crc信息进行校验,还需要对第一报文的另一个crc字段(如fcs字段)中承载的crc信息进行校验。
[0260]
可理解,对于第一比特块、报文比特块、非报文比特块、第一报文或第二报文等的描述可参考上述实施例,这里不再一一详述。示例性的,对于报文比特块和非报文比特块的区别可以参考图3a至图3d,或者,也可以参考图6a至图6d等。对于至少一个第一比特块的描述可参考图7a至图10c等。
[0261]
本技术实施例的各个实施例中示出的收发单元和处理单元的说明仅为示例,对于收发单元和处理单元的具体实现方式,还可以参考本技术示出的各个方法实施例,这里不再一一详述。
[0262]
本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本技术各个实施例中的各功能模块或单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块或单元集成在一个模块或单元中。上述集成的模块或单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0263]
在一种可能的实现方式中,当图11所示的通信装置是任意形态的计算机、服务器、交换机、路由器或网卡等;或者是任意形态的计算机、服务器、交换机、路由器或网卡等中的装置,或者是与任意形态的计算机、服务器、交换机、路由器或网卡等匹配使用的装置时,处理单元1101可以是一个或多个处理器,收发单元1102可以是收发器,或者收发单元1102还可以是发送单元和接收单元,发送单元可以是发送器,接收单元可以是接收器,该发送单元和接收单元集成于一个器件,例如收发器。本技术实施例中,处理器和收发器可以被耦合等,对于处理器和收发器的连接方式,本技术实施例不作限定。
[0264]
如图12所示,该通信装置120包括一个或多个处理器1220和收发器1212。
[0265]
可选的,该处理器和收发器可用于执行上述通信装置作为接收端时所执行的功能或操作等。示例性的,如处理器用于生成至少一个第一比特块;收发器用于发送该至少一个第一比特块。又如,收发器用于发送第一报文。又如,收发器用于在发送第一报文的报文开始比特块之后,且未发送完毕第一报文的情况下,发送该至少一个第一比特块。又如,收发器还用于接收第二报文。
[0266]
可选的,该处理器和收发器可用于执行上述通信装置作为发送端时所执行的功能或操作等。示例性的,如收发器用于接收至少一个第一比特块;处理器,用于根据该至少一个第一比特块中的流量控制信息调整第二报文的发送情况。又如,收发器,还用于根据第二报文的发送情况发送该第二报文。又如,处理器,还用于对该至少一个第一比特块进行crc校验。
[0267]
可理解,对于收发器和/或处理器执行的功能或操作等,可以参考图11示出的各个实施例,或者,还可以参考图5所示的方法实施例等,这里不再一一详述。可理解,对于第一比特块、报文比特块、非报文比特块、第一报文或第二报文等的描述可参考上述实施例,这里不再一一详述。示例性的,对于报文比特块和非报文比特块的区别可以参考图3a至图3d,或者,也可以参考图6a至图6d等。对于至少一个第一比特块的描述可参考图7a至图10c等。
[0268]
在图12所示的通信装置的各个实现方式中,收发器可以包括接收机和发射机,该接收机用于执行接收的功能(或操作),该发射机用于执行发射的功能(或操作)。以及收发器用于通过传输介质和其他设备/装置进行通信。
[0269]
可选的,通信装置120还可以包括一个或多个存储器1230,用于存储程序指令和/或数据。存储器1230和处理器1220耦合。本技术实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器1220可能和存储器1230协同操作。处理器1220可可以执行存储器1230中存储的程序指令。可选的,上述一个或多个存储器中的至少一个可以包括于处理器中。
[0270]
本技术实施例中不限定上述收发器1212、处理器1220以及存储器1230之间的具体连接介质。本技术实施例在图12中以存储器1230、处理器1220以及收发器1212之间通过总线1240连接,总线在图12中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0271]
在本技术实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成等。
[0272]
本技术实施例中,存储器可包括但不限于硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等非易失性存储器,随机存储记忆体(random access memory,ram)、可擦除可编程只读存储器(erasable programmable rom,eprom)、只读存储器(read-only memory,rom)或便携式只读存储器(compact disc read-only memory,cd-rom)等等。存储器是能够用于携带或存储具有指令或数据结构形式的程序代码,并能够由计算机(如本技术示出的通信装置等)读和/或写的任何存储介质,但不限于此。本技术实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0273]
可理解,本技术实施例示出的通信装置还可以具有比图12更多的元器件等,本技术实施例对此不作限定。
[0274]
可理解,以上所示的处理器和收发器所执行的方法仅为示例,对于该处理器和收发器具体所执行的步骤可参照上文介绍的方法。
[0275]
在另一种可能的实现方式中,当上述通信装置是芯片系统,如服务器、接入设备、交换机、路由器或网卡等中的芯片系统时,处理单元1101可以是一个或多个逻辑电路,收发单元1102可以是输入输出接口,又或者称为通信接口,或者接口电路,或接口等等。或者收发单元1102还可以是发送单元和接收单元,发送单元可以是输出接口,接收单元可以是输入接口,该发送单元和接收单元集成于一个单元,例如输入输出接口。
[0276]
其中,该逻辑电路1301可以为芯片、处理电路、集成电路或片上系统(system on chip,soc)芯片等,接口1302可以为通信接口、输入输出接口等。本技术实施例中,逻辑电路和接口还可以相互耦合。对于逻辑电路和接口的具体连接方式,本技术实施例不作限定。
[0277]
如图13所示,图13所示的通信装置包括逻辑电路1301和接口1302。即上述处理单
元1101可以用逻辑电路1301实现,收发单元1102可以用接口1302实现。
[0278]
可选的,该逻辑电路和接口可以用于执行上述通信装置作为接收端时所执行的功能或操作等。示例性的,如逻辑电路用于生成至少一个第一比特块;接口用于输出该至少一个第一比特块。又如,接口用于输出第一报文。又如,接口用于在输出第一报文的报文开始比特块之后,且未输出完毕第一报文的情况下,输出该至少一个第一比特块。又如,接口还用于输入第二报文。
[0279]
可选的,该逻辑电路和接口可用于执行上述通信装置作为发送端时所执行的功能或操作等。示例性的,如接口用于输入至少一个第一比特块;逻辑电路,用于根据该至少一个第一比特块中的流量控制信息调整第二报文的输出情况。又如,接口,还用于根据第二报文的输出情况输出该第二报文。又如,逻辑电路,还用于对该至少一个第一比特块进行crc校验。
[0280]
可理解,对于接口和/或逻辑电路执行的功能或操作等,可以参考图11示出的各个实施例,或者,还可以参考图5所示的方法实施例等,这里不再一一详述。可理解,对于第一比特块、报文比特块、非报文比特块、第一报文或第二报文等的描述可参考上述实施例,这里不再一一详述。示例性的,对于报文比特块和非报文比特块的区别可以参考图3a至图3d,或者,也可以参考图6a至图6d等。对于至少一个第一比特块的描述可参考图7a至图10c等。
[0281]
此外,本技术还提供一种计算机程序,该计算机程序用于实现本技术提供的方法中由接收端执行的操作和/或处理。
[0282]
本技术还提供一种计算机程序,该计算机程序用于实现本技术提供的方法中由发送端执行的操作和/或处理。
[0283]
本技术还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本技术提供的方法中由接收端执行的操作和/或处理。
[0284]
本技术还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本技术提供的方法中由发送端执行的操作和/或处理。
[0285]
本技术还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本技术提供的方法中由接收端执行的操作和/或处理被执行。
[0286]
本技术还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本技术提供的方法中由发送端执行的操作和/或处理被执行。
[0287]
本技术实施例还提供了一种通信系统,该通信系统包括发送端和接收端,该接收端可以用于执行图5所示的步骤501和步骤502(发送步骤)等,该发送端可以用于执行图5所示的步骤502和步骤503中的接收步骤,以及步骤504和步骤505等。可理解,这里所示的发送端和接收端执行的步骤仅为示例,对于该接收端和发送端执行的其他步骤,还可以参考上述各个实施例,这里不再一一详述。
[0288]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,所述单元的划
分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0289]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本技术实施例提供的方案的技术效果。
[0290]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0291]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0292]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献