数据传输方法、装置、设备及介质与流程

未命名 07-14 阅读:74 评论:0


1.本公开涉及信息技术领域,尤其涉及一种数据传输方法、装置、设备及介质。


背景技术:

2.随着信息技术的领域发展,现阶段往往需要利用多个芯片协同进行数据处理,比如可以应用于车载环境中解决大数据交互的问题。
3.然而,因现阶段仅可以实现两个芯片之间的高速互传,当涉及到三个以上(即芯片数量大于或等于3)的多芯片的协同数据处理时,无法直接在多个芯片间进行数据互传,影响多芯片间的数据传输效率。


技术实现要素:

4.为了解决上述技术问题,本公开提供了一种数据传输方法、装置、设备及介质。
5.第一方面,本公开提供了一种数据传输方法,包括:
6.接收待传输数据包,待传输数据包包括待传输数据和芯片标识信息;
7.在多个第一pcie物理层端口中,确定芯片标识信息对应的目标第一pcie物理层端口,多个第一pcie物理层端口与多个芯片一一对应互联;
8.将待传输数据包分发至目标第一pcie物理层端口;
9.通过目标第一pcie物理层端口向接收芯片发送待传输数据包,接收芯片为与目标第一pcie物理层端口互联的芯片。
10.第二方面,本公开提供了一种数据传输方法,包括:
11.通过目标第二pcie物理层端口接收待传输数据包,目标第二pcie物理层端口是多个第二pcie物理层端口中与发送芯片互联的端口,多个第二pcie物理层端口与多个芯片一一对应互联,待传输数据包包括待传输数据和芯片标识信息;
12.在确定芯片标识信息与本地芯片标识信息相同的情况下,将待传输数据包发送至本地的用户层。
13.第三方面,本公开提供了数据传输装置,包括:
14.数据包接收模块,用于接收待传输数据包,待传输数据包包括待传输数据和芯片标识信息;
15.第一端口确定模块,用于在多个第一pcie物理层端口中,确定芯片标识信息对应的目标第一pcie物理层端口,多个第一pcie物理层端口与多个芯片一一对应互联;
16.数据包分发模块,用将待传输数据包分发至目标第一pcie物理层端口;
17.数据包发送模块,用于通过目标第一pcie物理层端口向接收芯片发送待传输数据包,接收芯片为与目标第一pcie物理层端口互联的芯片。
18.第四方面,本公开提供了一种数据传输装置,包括:
19.数据包发送模块,用于通过目标第二pcie物理层端口接收待传输数据包,目标第二pcie物理层端口是多个第二pcie物理层端口中与发送芯片互联的端口,多个第二pcie物
理层端口与多个芯片一一对应互联,待传输数据包包括待传输数据和芯片标识信息;
20.数据包接收模块,用于在确定芯片标识信息与本地芯片标识信息相同的情况下,将待传输数据包发送至本地的用户层。
21.第五方面,本公开提供了一种数据传输设备,包括:
22.处理器;
23.存储器,用于存储可执行指令;
24.其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现第一方面或第二方面的数据传输方法。
25.第六方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面或第二方面的数据传输方法。
26.本公开实施例提供的技术方案与现有技术相比具有如下优点:
27.本公开实施例的数据传输方法、装置、设备及介质,能够通过多个第一pcie物理层端口与多个芯片一一对应互联,在进行数据传输时,确定与待传输数据包中的芯片标识信息对应的目标第一pcie物理层端口,进而通过该目标第一pcie物理层端口即可将数据传输至接收芯片。由于与多个芯片一一对应互联的第一pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率。
附图说明
28.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
29.图1示出了本公开实施例提供的一种数据传输架构的示意图;
30.图2示出了本公开实施例提供的另一种数据传输架构的示意图;
31.图3示出了本公开实施例提供的一种数据传输方法的流程示意图;
32.图4示出了本公开实施例提供的另一种数据传输方法的流程示意图;
33.图5示出了本公开实施例提供的又一种数据传输方法的流程示意图;
34.图6示出了本公开实施例提供的再一种数据传输方法的流程示意图;
35.图7示出了本公开实施例提供的一种数据传输装置的结构示意图;
36.图8示出了本公开实施例提供的另一种数据传输装置的结构示意图;
37.图9为本公开实施例提供的一种数据传输设备的结构示意图。
具体实施方式
38.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
39.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
40.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
41.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
42.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
43.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
44.为了解决上述的问题,本公开实施例提供了一种数据传输方法、装置、设备和介质,可以利用多个芯片一一对应互联的pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率,例如在多芯片大数据交互场景下的数据高速传输。以及,可以基于以太网的交换机思想以及pcie协议的高速数据传输思想,实现了多芯片的高速串行器/解串器(serializer/deserializer,serder)技术。
45.下面,首先对本公开实施例提供的数据传输方法进行说明。
46.为了便于整体上理解本公开实施例提供的数据传输方案,本公开实施例在开始介绍数据传输方法、装置、设备和介质之前,先结合附图对数据传输架构展开具体说明。
47.图1示出了本公开实施例提供的一种数据传输架构的示意图。如图1所示,在多芯片数据交互场景下,每个芯片的数据传输架构可以包括用户层(user layer)110、协议层120以及多个pcie物理层端口。示例性地,以4芯片c1-c4间数据交互为例,每一芯片可以包括3个pcie物理层端口。3个pcie物理层端口可以与剩余3个芯片一一对应互联。比如,对于芯片c1,其pcie物理层端口131可以与芯片c2的pcie物理层端口131互联,其pcie物理层端口132可以与芯片c2的pcie物理层端口131互联,其pcie物理层端口133可以与芯片c3的pcie物理层端口131互联。相应地,任意两个芯片可以通过二者间互联的pcie物理层端口进行数据的双向交互。比如,芯片c1和芯片c2间可以通过各自的pcie物理层端口131进行信息互传。需要说明的是,互联的芯片的个数不限于4个,还可以是3个或者大于4个,可以根据实际场景和具体需求设置互联芯片的个数,对此不作具体限定。
48.例如,需要由芯片c1向芯片c4传输数据时,芯片c1的用户层110可以基于用户输入的待传输数据以及芯片c4的芯片标识信息生成待传输数据包。然后芯片c1的用户层110将待传输数据包发送给芯片c1的协议层120。芯片c1的协议层120通过待传输数据包中芯片c4的芯片标识信息,在芯片c1的多个pcie物理层端口中确定与芯片c4互联的pcie物理层端口,即芯片c1的pcie物理层端口133。然后通过芯片c1的pcie物理层端口133将待传输数据包发送至芯片c4的pcie物理层端口131,从而通过与多个芯片一一对应互联的pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率。
49.又例如,在芯片c1通过自身的pcie物理层端口133向芯片c4的pcie物理层端口131发送待传输数据包之后,芯片c4的pcie物理层端口131将所接收的待传输数据包上传至协议层120,芯片c4的协议层120判断待传输数据包中的芯片标识信息与芯片c4的芯片标识信息是否相同,如果相同,则芯片c4的协议层12继续将待传输数据包发送至芯片c4的用户层,
从而通过与多个芯片一一对应互联的pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率。
50.可选地,继续上一示例,如果芯片c4的协议层120确定待传输数据包中的芯片标识信息与芯片c4的芯片标识信息不同,比如待传输数据包中的芯片标识信息为芯片c3的芯片标识信息,则可以芯片c4的协议层120可以将待传输数据包分发至芯片c4的pcie物理层端口133(即与芯片c3互联的物理层端口),从而可以通过芯片c4的pcie物理层端口133将待传输数据包发送至芯片c3的pcie物理层端口132,从而可以实现数据的高速转发。
51.需要说明的是,本公开实施例中的pcie物理层端口131至133可以是封装有pcie物理层的端口,从而可以实现高速serder的数据传输。
52.需要说明的是,对于上述用户层,用户可以在该层定义待传输数据,以及定义待传输数据的接收芯片的芯片标识信息。
53.在一些实施例中,pcie物理层端口可以包括两个物理层。比如,图2示出了本公开实施例提供的另一种数据传输架构的示意图。如图2所示,每一pcie物理层端口包括第一物理层(phy层)以及第二物理层(physical层)。比如,pcie物理层端口131可以包括phy层1311以及physical层1312,pcie物理层端口132可以包括phy层1321以及physical层1322,pcie物理层端口133可以包括phy层1331以及physical层1332。
54.需要说明的是,phy层以及physical层主要可以实现物理编码子层(physical coding sublayer,pcs)子层、物理媒介附加(physical medium attachment,pma)子层以及物理介质相关(physical medium dependent,pmd)子层的功能在数字信号与模拟信号之间进行编码和传输。
55.需要说明的是,pmd子层可以是负责串行信号传输的电气块。pma子层可以负责串化/解串化,pcs子层可以负责数据流的编码/解码。
56.在一些实施例中,协议层120可以包括数据链接层(data link layer)以及传输层(transaction layer)。其中,数据链接层可以与一个或者多个pcie物理层端口进行数据交互。比如,可以是与多个pcie物理层端口一一对应的多个数据链接层。又或者,可以是与多个pcie物理层端口进行数据传输的一个数据链接层,对此不作限定。
57.在一个示例中,继续参见图2,协议层120包括3个数据链接层1211至1213以及传输层122。其中,每一数据链接层对应一个pcie物理层端口。比如,数据链接层1211对应于pcie物理层端口131的phy层1311以及physical层1312。
58.例如,数据链接层1211可以接收pcie物理层端口131发送的待传输数据包,以及对该待传输数据包进行数据对齐后,将对齐后的待传输数据包发送至传输层122,从而可以加强物理层端口传输的原始比特流的功能。同理地,其他数据链接层可以对与其对应的物理层端口进行数据对齐,对此不再赘述。
59.又例如,数据链接层1211可以接收传输层122发送的待传输数据包,以及对该待传输数据包进行数据对齐后,将对齐后的待传输数据包发送至与芯片标识信息对应的pcie物理层端口,从而可以加强物理层端口传输的原始比特流的功能。同理地,其他数据链接层可以对传输层进行数据对齐,对此不再赘述。
60.又例如,数据链接层1212可以对pcie物理层端口132进行差错监控,具体地,将pcie物理层端口提供的可能差错的物理链接修改为逻辑上无差错的数据链接,从而可以提
高数据传输的稳定性。同理地,其他数据链接层可以对与其对应的pcie物理层端口进行差错监控,对此不再赘述。
61.需要说明的是,上述数据链接层可以用于与其他芯片建立数据链接,以及在pcie物理层端口和传输层之间进行数据传输。
62.需要说明的是,上述传输层主要处理传输的事务。比如,对特定数据包进行组包或者拆包等以使其上层或者下层能够对数据包进行进一步处理,以及在多个pcie物理层端口与用户层之间进行数据的交织和分发等。
63.图3示出了本公开实施例提供的一种数据传输方法的流程示意图。
64.在本公开一些实施例中,图3所示的数据传输方法可以应用于多个芯片中需要进行数据传输的芯片,即发送芯片,对此不作具体限定。在一个示例中,多个芯片可以是车辆的一个驾驶控制器中的多个控制芯片或者不同驾驶控制器中的芯片,对此不作具体限定。
65.如图3所示,该数据传输方法可以包括如下步骤。
66.s310,接收待传输数据包。其中,待传输数据包包括待传输数据和芯片标识信息。
67.在本公开实施例中,可以通过发送芯片自身的用户层接收待传输数据包。其中,发送芯片可以为发送待传输数据包的芯片,
68.在一些实施例中,待传输数据可以是用户自定义的需要传输到接收芯片的数据。
69.可选地,从数据类型上,待传输数据可以包括接收芯片的芯片配置数据,针对接收芯片的控制指令,需要向接收芯片传输的业务数据等。相应地,芯片配置数据对应的待传输数据包可以称之为配置数据包,控制指令对应的待传输数据包可以称之为控制数据包,业务数据对应的待传输数据包可以称之为消息数据包。
70.对于芯片配置数据,其可以是接收芯片的开机配置数据等,以及接收芯片的芯片类型的配置数据。其中,芯片类型的配置数据用于配置接收芯片为工作芯片或者备份芯片等。
71.对于控制指令,其用于对接收芯片进行控制。比如,接收芯片的降温控制指令、启动指令或者停止运行指令等。
72.对于业务数据,其可以是发送芯片在向接收芯片进行数据迁移的过程中待迁移的业务数据。
73.需要说明的是,通过上述不同类型的待传输数据,可以利用多个芯片实现数据的共同处理,以及利用部分芯片对其他芯片进行容灾处理,或者多个芯片之间的主从控制等。
74.在一些实施例中,芯片标识信息用于在多个芯片中唯一表征待传输数据包的接收芯片。比如,接收芯片的目标pcie物理层端口的端口标识,或者是接收芯片的芯片身份标识,对此不作限定。其中,目标第一pcie物理层端口可以是接收芯片的多个第一pcie物理层端口中、与发送芯片所互联的端口。
75.s320,在多个第一pcie物理层端口中,确定芯片标识信息对应的目标第一pcie物理层端口。在本公开实施例中,可以通过发送芯片的协议层在发送芯片的多个第一pcie物理层端口中确定目标第一pcie物理层端口。
76.其中,多个第一pcie物理层端口与多个芯片一一对应互联。需要说明的是,多个第一pcie物理层端口与多个芯片的互联关系可以参见本公开实施例上述部分结合图1的相关说明,在此不再赘述。
77.可选地,若芯片标识信息为接收芯片的目标pcie物理层端口的端口标识,则可以根据端口标识确定与目标pcie物理层端口对应的目标第一pcie物理层端口。
78.可选地,若芯片标识信息为芯片身份标识,可以预先设置多个第一pcie物理层端口与芯片身份标识的对应关系,从而基于该对应关系,即可确定与芯片标识信息对应的pcie物理层端口。比如,继续以图1为例,在协议层120中预先设置的对应关系可以包括:芯片c2的芯片身份标识与pcie物理层端口131的第一子关系、芯片c3的芯片身份标识与pcie物理层端口132的第二子关系、芯片c4的芯片身份标识与pcie物理层端口133的第三子关系。
79.s330,将待传输数据包分发至目标第一pcie物理层端口。
80.在本公开实施例中,可以通过发送芯片的协议层将待传输数据包发送至发送芯片的目标第一pcie物理层端口。
81.示例性地,继续以图1为例,芯片c1在确定pcie物理层端口133为目标第一pcie物理层端口之后,可以将待传输数据包分发至pcie物理层端口133。
82.在一些实施例中,协议层还可以对pcie物理层端口的物理链接进行差错监控,以将错误的物理链接修改为逻辑上无错误的数据链接。
83.s340,通过目标第一pcie物理层端口向接收芯片发送待传输数据包,接收芯片为与目标第一pcie物理层端口互联的芯片。
84.在本公开实施例中,可以通过发送芯片的目标第一pcie物理层端口向接收芯片的目标pcie物理层端口发送待传输数据包。目标pcie物理层端口可以是接收芯片的多个第一pcie物理层端口中与发送芯片的目标第一pcie物理层端口相连接的端口。
85.示例性地,继续以图1为例,若发送芯片为芯片c3,接收芯片为芯片c2,则可以通过芯片c3的pcie物理层端口133向芯片c2的pcie物理层端口132发送待传输数据包。
86.在一些实施例中,若发送芯片无法成功向接收芯片发送待传输数据包,则发送芯片可以通过其他芯片向接收芯片转发待传输数据包。
87.通过本实施例,可以在发送芯片的目标第一pcie物理层端口故障、接收芯片的目标pcie物理层端口故障、目标第一pcie物理层端口与目标pcie物理层端之间的传输线路异常等原因导致发送芯片无法成功向接收芯片发送待传输数据包时通过数据包转发的方式实现待传输数据包的传输,提高了数据传输的稳定性。
88.又或者,当待传输数据包发送至错误的pcie物理层端口时,比如传输到除接收芯片之外的其他芯片的pcie物理层端口时,能够通过转发的方式,正确传输至接收芯片,提高了数据传输的正确率。
89.在本公开实施例中,能够通过多个第一pcie物理层端口与多个芯片一一对应互联,在进行数据传输时,确定与待传输数据包中的芯片标识信息对应的pcie物理层端口,进而通过该pcie物理层端口即可将数据传输至接收芯片。由于与多个芯片一一对应互联的pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率。
90.另外,通过与多个芯片一一对应互联的pcie物理层端口,能够将数据直接发送到目标芯片中,可以极大的提高数据传输效率,降低芯片的中央处理器(central processing unit,cpu)资源的使用率,可以实现芯片的高速互联。
91.此外,通过本公开实施例,即使多个芯片中某个芯片出现问题,也不会影响到其他芯片之间的数据互传,提高了数据传输的稳定性。
92.在一些实施例中,在s330之前,数据传输方法还包括步骤a1和步骤a2。
93.步骤a1,确定待传输数据包的数据类型。
94.在步骤a1中,可以通过发送芯片的协议层来确定待传输数据包的数据类型。
95.可选地,数据类型可以参见s310中对于数据类型的相关说明。
96.步骤a2,按照数据类型对应的封包格式,对待传输数据进行封包,得到封包后的待传输数据包。
97.在步骤a1中,可以通过发送芯片的协议层来进行封包处理。
98.相应地,s330可以具体包括将封包后的待传输数据包分发至目标第一pcie物理层端口。具体地,可以通过发送芯片的协议层将封包后的待传输数据包分发至目标第一pcie物理层端口。
99.可选地,若协议层包括传输层以及与多个第一pcie物理层端口一一对应的多个数据链接层时,可以通过传输层实现步骤a1和步骤a2。以及通过传输层将封包后的待传输数据包分发给与目标第一pcie物理层端口对应的目标数据链接层之后,目标数据链接层将封包后的待传输数据包分继续向下传输至目标第一pcie物理层端口。
100.通过本实施例,可以对不同类型的待传输数据包进行特定格式的封包,从而可以实现对各类数据包的格式重定义。
101.图4示出了本公开实施例提供的另一种数据传输方法的流程示意图。本公开实施例在上述实施例的基础上进行优化,本公开实施例可以与上述一个或者多个实施例中各个可选方案结合。
102.在本公开一些实施例中,图4所示的方法可以应用于多个芯片中需要进行数据传输的芯片,即发送芯片,对此不作具体限定。在一个示例中,多个芯片可以是车辆的一个驾驶控制器中的多个控制芯片或者不同驾驶控制器中的芯片,对此不作具体限定。
103.如图4所示,该数据传输可以包括如下步骤。
104.s410,接收待传输数据包,待传输数据包包括待传输数据和芯片标识信息。
105.其中,s410可以参见s310的具体内容,在此不再赘述。
106.s420,在多个第一pcie物理层端口中,确定芯片标识信息对应的目标第一pcie物理层端口,多个第一pcie物理层端口与多个芯片一一对应互联。
107.在本公开实施例中,可以通过发送芯片的传输层确定与芯片标识信息对应的目标第一pcie物理层端口。
108.其中,s420可以参见s320的具体内容,在此不再赘述。
109.s430,基于芯片标识信息将待传输数据包分发至目标第一pcie物理层端口。
110.在本公开实施例中,可以通过传输层和目标数据链路层将待传输数据分发至目标第一pcie物理层端口。具体地,可以通过发送芯片的传输层基于芯片标识信息将待传输数据包分发至目标第一pcie物理层端口对应的目标数据链接层。以及通过发送芯片的目标数据链接层将将待传输数据包传输至目标第一pcie物理层端口。
111.示例性地,以图2为例,若发送芯片为芯片c1,接收芯片为芯片c3,则可以通过芯片c1的传输层122将待传输数据包分发至芯片c1的数据链接层1212。
112.芯片c1的数据链接层1212接收到待传输数据包之后,可以将其发送至芯片c1的pcie物理层端口132的physical层1322。
113.s440,通过目标第一pcie物理层端口向接收芯片发送待传输数据包。其中,接收芯片为与目标第一pcie物理层端口互联的芯片。
114.需要说明的是,s440与s340类似,可以参见s340的相关内容,在此不再赘述。
115.在本公开实施例中,能够通过多个第一pcie物理层端口与多个芯片一一对应互联,在进行数据传输时,确定与待传输数据包中的芯片标识信息对应的pcie物理层端口,进而通过该pcie物理层端口即可将数据传输至接收芯片。由于与多个芯片一一对应互联的pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率。
116.在一些实施例中,s430之前,数据传输方法还包括步骤b1。
117.步骤b1,将待传输数据包的数据位宽与目标第一pcie物理层端口的数据位宽对齐,得到对齐后的待传输数据包。
118.在本公开实施例中,可以通过发送芯片的目标数据链接层对待传输数据包进行数据位宽对齐。其中,对齐后的待传输数据包的数据位宽与目标第一pcie物理层端口的数据位宽相同。
119.相应地,s430可以具体包括:将对齐后的待传输数据包传输至目标第一pcie物理层端口。具体地,可以通过发送芯片的目标数据链接层将对齐后的待传输数据包传输至目标第一pcie物理层端口。
120.通过本实施例,可以在传输层与pcie物理层的数据位宽不同时,通过数据位宽对齐的方式,使对齐后的待传输数据包能够被pcie物理层端口进行数据处理。
121.在一些实施例中,数据传输方法还包括步骤c1和步骤c2。
122.步骤c1,分别对多个第一pcie物理层端口的物理链接进行差错监控。
123.在步骤c1中,若协议层包括多个数据链路层,每个所述数据链路层对应一个所述pcie物理层端口,则可以利用多个数据链接层对各自对应的pcie物理层端口的物理链接进行差错监控。
124.步骤c2,在监控到任意pcie物理层端口的物理链接有差错时,将有差错的物理链接修改为无差错的数据链接。
125.在步骤c2中,可以在任意数据链接层监控到对应的pcie物理层端口的物理链接有差错时,通过任意数据链接层将有差错的物理链接修改为无差错的数据链接。
126.通过本实施例,通过差错监控进行误差纠正,可以使各pcie物理层提供的链路对传输层表现为无差错的链路。
127.图5示出了本公开实施例提供的又一种数据传输方法的流程示意图。
128.在本公开一些实施例中,图5所示的数据传输方法可以应用于多个芯片中接收到待传输数据的目标芯片,对此不作具体限定。在一个示例中,多个芯片可以是车辆的一个驾驶控制器中的多个控制芯片或者不同驾驶控制器中的芯片,对此不作具体限定。
129.如图5所示,该数据传输方法可以包括如下步骤。
130.s510,通过目标第二pcie物理层端口接收待传输数据包。目标第二pcie物理层端口是多个第二pcie物理层端口中与发送芯片互联的端口,多个第二pcie物理层端口与多个
芯片一一对应互联,待传输数据包包括待传输数据和芯片标识信息。
131.在本公开实施例,目标芯片可以通过自身的目标第二pcie物理层端口接收待传输数据包。
132.需要说明的是,s510可以参见本公开实施例上述部分的相关说明,在此不再赘述。
133.示例性地,继续以图1为例,若发送芯片为芯片c2,接收芯片为芯片c1,则接收芯片c1通过自身的pcie物理层端口131即可接收到发送芯片c2的pcie物理层端口131发送的待传输数据包。
134.s520,在确定芯片标识信息与本地芯片标识信息相同的情况下,将待传输数据包发送至本地的用户层。
135.在本公开实施例中,可以通过目标芯片自身的协议层在确定芯片标识信息与本地芯片标识信息相同的情况下,将待传输数据包发送至目标芯片本地的用户层。
136.其中,芯片标识信息可以参见上述实施例对芯片标识信息的具体描述,在此不再赘述。
137.可选地,若芯片标识信息为接收芯片的芯片身份标识,本地芯片标识信息可以是目标芯片的芯片身份标识,若本地芯片标识信息与芯片身份标识一致,则可以确定目标芯片即是待传输数据包的接收芯片。其中,接收芯片时用户通过发送芯片的用户层指定的待传输数据的目标接收方。
138.可选地,若芯片标识信息为目标pcie物理层端口的端口标识,则可以确定目标芯片的多个第二pcie物理层端口的端口标识中是否存在与目标第二pcie物理层端口的端口标识相同的端口标识,若存在,即确定芯片标识信息与本地芯片标识信息相同,相应地确定目标芯片即是待传输数据包的接收芯片。
139.在一些实施例中,可以在通过协议层在确定芯片标识信息与本地芯片标识信息相同的情况下,可以将待传输数据包发送至目标芯片本地的用户层。进而可以将待传输数据包传输至目标芯片的内存中。
140.在本公开实施例中,能够通过多个第二pcie物理层端口与多个芯片一一对应互联,在进行数据传输时,能够通过与发送芯片直接互联的pcie物理层端口即可直接获取发送芯片传输的数据。由于与多个芯片一一对应互联的pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率。
141.在一些实施例中,若协议层包括传输层以及多个数据链接层,每个数据链接层对应一个pcie物理层端口,则s520之前,数据传输方法还包括步骤d1和步骤d2。
142.步骤d1,通过目标第二pcie物理层端口对应的数据链接层,将待传输数据包发送至传输层。
143.步骤d2,通过传输层判断芯片标识信息与本地芯片标识信息是否相同。
144.可选地,步骤d2可以参加s520的具体内容,在此不再赘述。
145.通过本实施例,能够通过判断芯片标识信息与本地芯片标识信息是否相同的方式,正确的将待传输信息传输至接收芯片,提高了数据传输的正确率。
146.在一些实施例中,在步骤s520之前,数据传输方法还包括步骤d3。
147.步骤d3,将待传输数据包的数据位宽与传输层的数据位宽对齐,得到对齐后的待传输数据。
148.在步骤d3中,可以通过目标第二pcie物理层端口对应的数据链接层,将待传输数据包的数据位宽与传输层的数据位宽对齐,得到对齐后的待传输数据。
149.需要说明的是,对齐后的待传输数据的数据位宽可以与目标芯片的传输层的数据位宽相同。
150.相应地,步骤s520可以具体包括:在确定芯片标识信息与本地芯片标识信息相同的情况下,将对齐后的待传输数据包发送至传输层。
151.具体地,可以通过目标第二pcie物理层端口对应的数据链接层,将对齐后的待传输数据包发送至传输层。然后传输层在判断芯片标识信息与本地芯片标识信息相同的情况下,通过传输层将对齐后的待传输数据包传输至目标芯片本地的用户层。
152.通过本实施例,可以在传输层与pcie物理层的数据位宽不同时,通过数据位宽对齐的方式,使对齐后的待传输数据包能够被传输层进行数据处理。
153.在一些实施例中,在s520之前,数据传输方法还包括步骤e1和步骤e2。
154.步骤e1,确定待传输数据包的数据类型。
155.在步骤e1中,可以通过目标芯片的协议层确定待传输数据包的数据类型。
156.步骤e2,按照数据类型对应的拆包格式,对待传输数据进行拆包,得到拆包后的待传输数据。
157.在步骤e1中,可以通过目标芯片的协议层进行拆包处理。
158.需要说明的是,步骤e1和步骤e2可以参见步骤a1和步骤a2的相关说明,对此不再赘述。
159.其中,将待传输数据包发送至用户层,包括
160.将拆包后的待传输数据包分发至本地的用户层。具体地,可以通过目标芯片的协议层将待传输数据包发送至目标芯片本地的用户层。
161.通过本实施例,可以对不同类型的待传输数据包进行特定格式的拆包,从而可以实现对各类数据包的格式重定义。
162.图6示出了本公开实施例提供的再一种数据传输方法的流程示意图。本公开实施例在上述实施例的基础上进行优化,本公开实施例可以与上述一个或者多个实施例中各个可选方案结合。
163.在本公开一些实施例中,图6所示的数据传输方法可以应用于多个芯片中接收到待传输数据包的目标芯片,对此不作具体限定。在一个示例中,多个芯片可以是车辆的一个驾驶控制器中的多个控制芯片或者不同驾驶控制器中的芯片,对此不作具体限定。
164.如图6所示,该数据传输方法可以包括如下步骤。
165.s610,通过目标第二pcie物理层端口接收待传输数据包。目标第二pcie物理层端口是多个第二pcie物理层端口中与发送芯片互联的端口,多个第二pcie物理层端口与多个芯片一一对应互联,待传输数据包包括待传输数据和芯片标识信息。
166.其中,s610与s510类似,可以参见s510的具体内容,在此不再赘述。
167.s620,在确定芯片标识信息与本地芯片标识信息相同的情况下,将待传输数据包发送至本地的用户层。
168.其中,s620与s520类似,可以参见s520的具体内容,在此不再赘述。
169.s630,在标识信息与本地芯片标识信息不相同的情况下,在多个第二pcie物理层
端口中确定与芯片标识信息对应的第三pcie物理层端口。
170.在本公开实施例中,可以通过目标芯片的协议层在多个第二pcie物理层端口中确定与芯片标识信息对应的第三pcie物理层端口。
171.可选地,若确定芯片标识信息对应于除目标芯片之外的其他芯片时,可以确定与其他芯片互联的第三pcie物理层端口。
172.s640,将待传输数据包发送至第三pcie物理层端口。
173.在本公开实施例中,可以通过目标芯片的协议层将待传输数据包发送至第三pcie物理层端口。
174.继续以图1为例,若发送芯片为芯片c3,目标芯片为芯片c1,接收芯片为芯片c2,则芯片c1通过pcie物理层端口132接收到待传输数据包之后,若发现接收芯片为芯片c2,则可以将传输数据包分发至芯片c1的pcie物理层端口131,以将待传输数据包转发至芯片c2。
175.s650,通过第三pcie物理层端口将待传输数据包发送至接收芯片,接收芯片为与第三pcie物理层端口互联的芯片。
176.s650与s340类似,可参见s340的相关内容,在此不再赘述。
177.本公开实施例的数据传输方法、装置、设备及介质,能够通过多个第二pcie物理层端口与多个芯片一一对应互联,在进行数据传输时,能够通过与发送芯片直接互联的pcie物理层端口即可直接获取发送芯片传输的数据。由于与多个芯片一一对应互联的pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率。
178.图7示出了本公开实施例提供的一种数据传输装置的结构示意图。
179.在本公开一些实施例中,图7所示的数据传输装置可以应用于多个互联芯片中的发送芯片,对此不作具体限定。
180.如图7所示,该数据传输装置700可以包括第一数据包接收模块710、第一端口确定模块720、数据包分发模块730和第一数据包发送模块740。
181.该第一数据包接收模块710可以用于接收待传输数据包,待传输数据包包括待传输数据和芯片标识信息;
182.该第一端口确定模块720可以用于在多个第一pcie物理层端口中,确定芯片标识信息对应的目标第一pcie物理层端口,多个第一pcie物理层端口与多个芯片一一对应互联;
183.该数据包分发模块730可以用于将待传输数据包分发至目标第一pcie物理层端口;
184.该第一数据包发送模块740可以用于通过目标第一pcie物理层端口向接收芯片发送待传输数据包,接收芯片为与目标第一pcie物理层端口互联的芯片。
185.在本公开实施例中,能够通过多个第一pcie物理层端口与多个芯片一一对应互联,在进行数据传输时,确定与待传输数据包中的芯片标识信息对应的pcie物理层端口,进而通过该pcie物理层端口即可将数据传输至接收芯片。由于与多个芯片一一对应互联的pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率。
186.在一些实施例中,第一端口确定模块720可以具体用于:在多个第一pcie物理层端口中,确定芯片标识信息对应的目标第一pcie物理层端口;
187.数据包分发模块730可以具体用于基于芯片标识信息将待传输数据包分发至目标第一pcie物理层端口。
188.在一些实施例中,数据传输装置700还可以包括数据对齐模块。
189.该数据对齐模块可以用于将待传输数据包的数据位宽与目标第一pcie物理层端口的数据位宽对齐,得到对齐后的待传输数据包;
190.其中,上述数据传输单元可以具体用于:
191.将对齐后的待传输数据包传输至目标第一pcie物理层端口。
192.在一些实施例中,数据传输装置700还可以包括数据类型确定模块和封包模块。
193.该数据类型确定模块可以用于确定待传输数据包的数据类型;
194.该封包模块可以用于按照数据类型对应的封包格式,对待传输数据进行封包,得到封包后的待传输数据包;
195.其中,数据包分发模块730可以具体用于:将封包后的待传输数据包分发至目标第一pcie物理层端口。
196.在一些实施例中,
197.其中,数据传输装置700还可以包括差错监控模块以及差错修正模块。
198.该差错监控模块可以用于分别对多个第一pcie物理层端口的物理链接进行差错监控;
199.该差错修正模块可以用于在监控到任意pcie物理层端口的物理链接有差错时,将有差错的物理链接修改为无差错的数据链接。
200.需要说明的是,图7所示的数据传输装置700可以执行图3至图4所示的方法实施例中的各个步骤,并且实现图3至图4所示的方法实施例中的各个过程和效果,在此不做赘述。
201.图8示出了本公开实施例提供的另一种数据传输装置的结构示意图。
202.在本公开一些实施例中,图8所示的数据传输装置可以应用于多个互联芯片中的目标芯片,对此不作具体限定。
203.如图8所示,该数据传输装置800可以包括第二数据包发送模块810和第二数据包接收模块820。
204.第二数据包发送模块810,用于通过目标第二pcie物理层端口接收待传输数据包,目标第二pcie物理层端口是多个第二pcie物理层端口中与发送芯片互联的端口,多个第二pcie物理层端口与多个芯片一一对应互联,待传输数据包包括待传输数据和芯片标识信息;
205.第二数据包接收模块820,用于在确定芯片标识信息与本地芯片标识信息相同的情况下,将待传输数据包发送至本地的用户层。
206.在本公开实施例中,能够通过多个第二pcie物理层端口与多个芯片一一对应互联,在进行数据传输时,能够通过与发送芯片直接互联的pcie物理层端口即可直接获取发送芯片传输的数据。由于与多个芯片一一对应互联的pcie物理层端口能够实现多芯片间信息直接的、高带宽的互传,提高了多芯片间的数据传输效率。
207.在一些实施例中,该数据传输装置800还可以包括第二端口确定模块、数据包传输模块和第三数据包发送模块。
208.该第二端口确定模块可以用于在标识信息与本地芯片标识信息不相同的情况下,
industry standard architecture,eisa)总线、前端总线(front side bus,fsb)、超传输(hyper transport,ht)互连、工业标准架构(industrial standard architecture,isa)总线、无限带宽互连、低引脚数(low pin count,lpc)总线、存储器总线、微信道架构(micro channel architecture,mca)总线、外围控件互连(peripheral component interconnect,pci)总线、pci-express(pci-x)总线、串行高级技术附件(serial advanced technology attachment,sata)总线、视频电子标准协会局部(video electronics standards association local bus,vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线904可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
226.本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的数据传输方法。
227.上述的存储介质可以例如包括计算机程序指令的存储器902,上述指令可由数据传输设备的处理器901执行以完成本公开实施例所提供的数据传输方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是rom、随机存取存储器(random access memory,ram)、光盘只读存储器(compact discrom,cd-rom)、磁带、软盘和光数据存储设备等。
228.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
229.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种数据传输方法,其特征在于,所述方法包括:接收待传输数据包,所述待传输数据包包括待传输数据和芯片标识信息;在多个第一高速串行计算机扩展总线标准pcie物理层端口中,确定所述芯片标识信息对应的目标第一pcie物理层端口,所述多个第一pcie物理层端口与多个芯片一一对应互联;将所述待传输数据包分发至所述目标第一pcie物理层端口;通过所述目标第一pcie物理层端口向接收芯片发送所述待传输数据包,所述接收芯片为与所述目标第一pcie物理层端口互联的芯片。2.根据权利要求1所述的方法,其特征在于,其中,所述在多个高速串行计算机扩展总线标准pcie物理层端口中,确定所述芯片标识信息对应的目标第一pcie物理层端口,包括:在所述多个第一pcie物理层端口中,确定所述芯片标识信息对应的目标第一pcie物理层端口;所述将所述待传输数据包分发至所述目标第一pcie物理层端口,包括:基于所述芯片标识信息将所述待传输数据包分发至所述目标第一pcie物理层端口。3.根据权利要求2所述的方法,其特征在于,所述基于所述芯片标识信息将所述待传输数据包分发至所述目标第一pcie物理层端口之前,所述方法还包括:将所述待传输数据包的数据位宽与所述目标第一pcie物理层端口的数据位宽对齐,得到对齐后的待传输数据包;其中,所述基于所述芯片标识信息将所述待传输数据包分发至所述目标第一pcie物理层端口,包括:将所述对齐后的待传输数据包传输至所述目标第一pcie物理层端口。4.根据权利要求1所述的方法,其特征在于,所述将所述待传输数据包分发至所述目标第一pcie物理层端口之前,所述方法还包括:确定所述待传输数据包的数据类型;按照所述数据类型对应的封包格式,对所述待传输数据进行封包,得到封包后的待传输数据包;其中,所述将所述待传输数据包分发至所述目标第一pcie物理层端口,包括:将所述封包后的待传输数据包分发至所述目标第一pcie物理层端口。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:分别对多个第一pcie物理层端口的物理链接进行差错监控;在监控到任意pcie物理层端口的物理链接有差错时,利将所述有差错的物理链接修改为无差错的数据链接。6.一种数据传输方法,其特征在于,所述方法包括:通过目标第二pcie物理层端口接收待传输数据包,所述目标第二pcie物理层端口是多个第二pcie物理层端口中与发送芯片互联的端口,所述多个第二pcie物理层端口与多个芯片一一对应互联,所述待传输数据包包括待传输数据和芯片标识信息;在确定所述芯片标识信息与本地芯片标识信息相同的情况下,将所述待传输数据包发送至本地的用户层。
7.根据权利要求6所述的方法,其特征在于,所述通过目标第二pcie物理层端口接收待传输数据包之后,所述方法还包括:在所述标识信息与所述本地芯片标识信息不相同的情况下,在所述多个第二pcie物理层端口中确定与所述芯片标识信息对应的第三pcie物理层端口;将所述待传输数据包发送至所述第三pcie物理层端口;通过所述第三pcie物理层端口将所述待传输数据包发送至接收芯片,所述接收芯片为与所述第三pcie物理层端口互联的芯片。8.根据权利要求7所述的方法,其特征在于,所述将所述待传输数据包发送至本地的用户层之前,所述方法还包括:将所述待传输数据包的数据位宽与传输层的数据位宽对齐,得到对齐后的待传输数据;其中,所述在确定所述芯片标识信息与本地芯片标识信息相同的情况下,将所述待传输数据包发送至本地的用户层,包括:在确定所述芯片标识信息与本地芯片标识信息相同的情况下,将所述对齐后的待传输数据包发送至所述传输层。9.根据权利要求6所述的方法,其特征在于,所述将所述待传输数据包发送至本地的用户层之前,所述方法还包括:确定所述待传输数据包的数据类型;按照所述数据类型对应的拆包格式,对所述待传输数据进行拆包,得到拆包后的待传输数据;其中,所述将所述待传输数据包发送至用户层,包括:将所述拆包后的待传输数据包分发至所述本地的用户层。10.一种数据传输装置,其特征在于,包括:第一数据包接收模块,用于接收待传输数据包,所述待传输数据包包括待传输数据和芯片标识信息;第一端口确定模块,用于在多个第一pcie物理层端口中,确定所述芯片标识信息对应的目标第一pcie物理层端口,所述多个第一pcie物理层端口与多个芯片一一对应互联;数据包分发模块,用于将所述待传输数据包分发至所述目标第一pcie物理层端口;第一数据包发送模块,用于通过所述目标第一pcie物理层端口向接收芯片发送所述待传输数据包,所述接收芯片为与所述目标第一pcie物理层端口互联的芯片。11.一种数据传输装置,其特征在于,包括:第二数据包发送模块,用于通过目标第二pcie物理层端口接收待传输数据包,所述目标第二pcie物理层端口是多个第二pcie物理层端口中与发送芯片互联的端口,所述多个第二pcie物理层端口与多个芯片一一对应互联,所述待传输数据包包括待传输数据和芯片标识信息;第二数据包接收模块,用于在确定所述芯片标识信息与本地芯片标识信息相同的情况下,将所述待传输数据包发送至本地的用户层。12.一种数据传输设备,其特征在于,包括:处理器;
存储器,用于存储可执行指令;其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-9中任一项所述的数据传输方法。13.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现用上述权利要求1-9中任一项所述的数据传输方法。

技术总结
本公开涉及一种数据传输方法、装置、设备及介质。其中,数据传输方法包括:接收待传输数据包,待传输数据包包括待传输数据和芯片标识信息;在多个第一PCIE物理层端口中,确定芯片标识信息对应的目标第一PCIE物理层端口,多个第一PCIE物理层端口与多个芯片一一对应互联;将待传输数据包分发至目标第一PCIE物理层端口;通过目标第一PCIE物理层端口向接收芯片发送待传输数据包,接收芯片为与目标第一PCIE物理层端口互联的芯片。根据本公开实施例,能够提高多芯片间的数据传输效率。提高多芯片间的数据传输效率。提高多芯片间的数据传输效率。


技术研发人员:刘家甫 许迎春
受保护的技术使用者:北京罗克维尔斯科技有限公司
技术研发日:2021.12.29
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐