一种晶片到晶片接口互联的方法、设备及介质与流程
未命名
10-21
阅读:69
评论:0
1.本技术涉及芯片设计技术领域,尤其涉及一种晶片到晶片接口互联的方法、设备及介质。
背景技术:
2.随着半导体工艺的进步和芯片设计规模的增长,芯片的面积也越来越大,系统级芯片(system on chip,soc)也即片上系统的性能提升变得更加困难,并且同时还面对漏电流增大、散热处理难度增加以及芯片时钟主频增长缓慢等问题。半导体工艺制程上的突破也很难让soc做到最优的性能和极低的功耗,并且还面对上升的芯片制造成本和制造良率下降的问题。为了利用现有工艺技术制造出性能和功耗符合要求的芯片,将soc拆分成多个晶片(die),利用封装和互联技术来构建芯片组或者多芯片模块。例如,通过芯粒(chiplet)技术,将原本集成于同一个系统单晶片中的各个功能块拆分,分开制造后通过封装和互联技术来最终集成封装为一个系统芯片组。经过封装后的多个晶片之间的数据互联要确保正确性,晶片到晶片(die to die)接口互联也需要具有高数据带宽、低延时和高可靠性的特性,才能满足如网络、大规模数据中心和人工智能等领域的应用需求。但是,现有技术中的晶片到晶片接口互联的方式难以满足数据传输速率高和数据传输可靠性高的需求。
3.为此,本技术提供了一种晶片到晶片接口互联的方法、设备及介质,用于解决现有技术中的技术难题。
技术实现要素:
4.第一方面,本技术提供了一种晶片到晶片接口互联的方法。多个晶片中的每一个晶片包括晶片到晶片接口用于该晶片和所述多个晶片中相对于该晶片的另一晶片之间的数据互联,所述方法应用于第一晶片,所述第一晶片是所述多个晶片中的任一晶片,所述第一晶片的晶片到晶片接口包括接口缓存、协议处理单元和传输接口,所述方法包括:响应于所述第一晶片的数据发送,输入待发送第一数据到所述接口缓存;通过所述协议处理单元,对所述待发送第一数据进行数据切割得到切割后数据,对所述切割后数据进行循环冗余校验计算生成循环冗余计算结果,将所述循环冗余计算结果添加到所述切割后数据中从而进行组装和条带化分发得到分发后数据,对所述分发后数据进行编码操作得到编码后数据,对所述编码后数据进行扰码和组帧得到待发送第二数据;通过所述传输接口,发送所述待发送第二数据,响应于所述第一晶片的数据接收,通过所述传输接口获取待接收第一数据;通过所述协议处理单元,对所述待接收第一数据进行定帧和解扰后再进行解码操作得到解码后数据,对所述解码后数据进行数据聚合处理得到聚合后数据,对所述聚合后数据进行循环冗余校验和数据组合得到待接收第二数据;输入所述待接收第二数据到所述接口缓存。
5.通过本技术的第一方面,可以满足数据传输速率高和数据传输可靠性高的需求,还可以灵活地适配各种协议、规则、策略等在如数据传输、流量控制、调度功能、带宽、数据
通道等方面的要求。
6.在本技术的第一方面的一种可能的实现方式中,所述编码操作基于第一编码方案,所述解码操作基于第一解码方案,所述第一编码方案对应所述第一解码方案。
7.在本技术的第一方面的一种可能的实现方式中,所述第一编码方案是64/67编码,所述第一解码方案是64/67解码。
8.在本技术的第一方面的一种可能的实现方式中,所述待发送第一数据来自与所述第一晶片相关联的用户数据接口,所述待接收第二数据被发送给所述用户数据接口。
9.在本技术的第一方面的一种可能的实现方式中,所述待接收第二数据在被发送给所述用户数据接口之前进行速率适配处理。
10.在本技术的第一方面的一种可能的实现方式中,所述待发送第二数据被发送到相对于所述第一晶片的第二晶片的晶片到晶片接口的传输接口。
11.在本技术的第一方面的一种可能的实现方式中,通过所述协议处理单元,将所述循环冗余计算结果添加到所述切割后数据中从而进行组装和条带化分发得到所述分发后数据,包括:通过所述协议处理单元,将所述循环冗余计算结果添加到所述切割后数据中从而按照突发长度的设置进行组装和条带化分发得到所述分发后数据。
12.在本技术的第一方面的一种可能的实现方式中,所述传输接口是串行器解串器接口。
13.在本技术的第一方面的一种可能的实现方式中,所述协议处理单元是interlaken协议处理单元。
14.在本技术的第一方面的一种可能的实现方式中,通过所述协议处理单元,至少在对所述待发送第一数据进行数据切割得到切割后数据之前,对所述接口缓存中的所述待发送第一数据进行速率适配处理。
15.在本技术的第一方面的一种可能的实现方式中,通过所述协议处理单元,在对所述切割后数据进行循环冗余校验计算生成所述循环冗余计算结果的过程中同步生成控制字段用于记录所述切割后数据的描述信息。
16.在本技术的第一方面的一种可能的实现方式中,所述多个晶片是同质晶片或者异质晶片。
17.在本技术的第一方面的一种可能的实现方式中,所述多个晶片对应同一系统单晶片中的功能块,所述多个晶片通过各自的晶片到晶片接口被封装到一起从而构成与所述系统单晶片对应的系统芯片组。
18.在本技术的第一方面的一种可能的实现方式中,所述多个晶片通过芯粒技术被封装到一起。
19.在本技术的第一方面的一种可能的实现方式中,所述编码操作基于第一编码方案,所述编码后数据包括多个压缩前数据,所述多个压缩前数据的大小均为第一数值的比特位,所述第一数值是基于所述第一编码方案,其中,对所述编码后数据进行扰码和组帧得到所述待发送第二数据,包括:对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的多个压缩后数据,并且对所述多个压缩前数据进行前向纠错计算生成冗余纠错码,将所述冗余纠错码加入所述多个压缩后数据从而更新所述编码后数据,对更新后的所述编码后数据进行扰码和组帧得到所述待发送第二数据。
20.在本技术的第一方面的一种可能的实现方式中,所述第一编码方案是64/67编码,所述第一数值是67。
21.在本技术的第一方面的一种可能的实现方式中,更新前的所述编码后数据的大小和所述更新后的所述编码后数据的大小一致,所述多个压缩后数据对应所述多个压缩前数据中的数据域,对所述多个压缩前数据进行前向纠错计算生成的所述冗余纠错码对应所述多个压缩前数据中的用于同步的比特域。
22.在本技术的第一方面的一种可能的实现方式中,所述解码操作基于第一解码方案,所述第一编码方案对应所述第一解码方案,其中,对所述解码后数据进行数据聚合处理得到聚合后数据,包括:对所述解码后数据进行解压缩和反向转码后再进行前向纠错检验,然后进行数据聚合处理得到所述聚合后数据。
23.在本技术的第一方面的一种可能的实现方式中,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的所述多个压缩后数据,包括:压缩所述多个压缩前数据中的用于同步的比特域从而用于传输所述冗余纠错码,以及保持所述多个压缩前数据中的数据域。
24.在本技术的第一方面的一种可能的实现方式中,所述传输接口的与所述多个压缩前数据相关联的链路传输带宽等于所述传输接口的与所述多个压缩后数据相关联的链路传输带宽。
25.在本技术的第一方面的一种可能的实现方式中,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的所述多个压缩后数据是基于所述第一编码方案,所述第一编码方案是基于与所述协议处理单元相关联的晶片到晶片接口互联协议。
26.第二方面,本技术实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
27.第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
28.第四方面,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
附图说明
29.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1为本技术实施例提供的一种通过多个彼此互联的晶片集成得到系统芯片组的示意图;
31.图2为本技术实施例提供的一种通过晶片到晶片接口互联的多个晶片的示意图;
32.图3为本技术实施例提供的另一种通过晶片到晶片接口互联的多个晶片的示意
图;
33.图4为本技术实施例提供的一种晶片到晶片接口互联的方法的流程示意图;
34.图5为本技术实施例提供的一种通过晶片到晶片接口且基于第一编码方案进行数据发送过程的流程示意图;
35.图6为本技术实施例提供的一种通过晶片到晶片接口且基于第一解码方案进行数据接收过程的流程示意图。
具体实施方式
36.下面将结合附图对本技术实施例作进一步地详细描述。
37.应当理解的是,在本技术的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
38.图1为本技术实施例提供的一种通过多个彼此互联的晶片集成得到系统芯片组的示意图。如图1所示,系统芯片组110包括四个晶片,分别为晶片a 102、晶片b 104、晶片c 106和晶片d 108。其中,图1中所示的系统芯片组110所包括的四个晶片,也就是晶片a 102、晶片b 104、晶片c 106和晶片d 108,都属于晶片(die)。晶片也叫裸晶或裸片,是以半导体材料制作而成未经封装的一小块集成电路的本体。晶片可以理解为芯片未封装前的晶粒,是从硅晶元(wafer)上用激光切割而成的小片,每一个晶片就是一个独立的功能芯片。将一个晶片作为一个单位封装起来成为芯片。晶片是不能直接使用的,因为晶片未经过封装没有引脚也没有散热片。系统单晶片指的是在单个晶片上实现整个系统的功能,也叫做片上系统或者系统级芯片(system on chip,soc)。随着芯片设计规模的迅速增长,系统功能变得更加丰富也更加复杂,单个晶片的面积也迅速增长,要在单个晶片上实现整个系统的功能也就是制备系统单晶片面临越来越大的挑战,例如性能提升变得更难、散热处理难度更大、漏电流增大、芯片时钟主频率增长更慢等。而且晶片面积增长和芯片设计复杂度的增加也带来了制造良率下降的问题。为了能在提升性能同时还做到控制成本和功耗,将原本在系统单晶片上实现的整个系统的功能拆分后通过多个晶片来实现,利用封装和互联技术来构建芯片组或者多芯片模块。例如,通过芯粒(chiplet)技术,将原本集成于同一个系统单晶片中的各个功能块拆分,分开制造后通过封装和互联技术来最终集成封装为一个系统芯片组。
39.继续参阅图1,图1所示的系统芯片组110可以对应整个系统的功能。系统芯片组110所实现的系统的功能可以原本是在单个晶片上实现的也就是可以通过系统单晶片实现,而在图1中将系统芯片组110的功能拆分后,通过四个晶片也即晶片a 102、晶片b 104、晶片c 106和晶片d 108来实现。晶片a 102、晶片b 104、晶片c 106和晶片d 108彼此之间通过晶片到晶片(die to die)接口互联来实现数据互联。从图1中可以看出,晶片a 102、晶片b 104、晶片c 106和晶片d 108中的任一个晶片与其它三个晶片分别地存在晶片到晶片接口互联关系(图1中用一个双向箭头示出一个晶片到晶片接口互联关系)。晶片之间的互联接口用于晶片之间的数据互联,也对应了晶片到晶片接口互联,必须满足高数据带宽、低延时和高可靠性等特性,才能用于集成封装多个晶片进而满足芯片在网络、超大规模数据中心和人工智能等领域的应用。这里,晶片到晶片接口互联意味着将一个晶片与另一个晶片
216以及晶片f 220所包括的高带宽存储器接口f 226都用于连接高带宽存储器(high bandwidth memory,hbm)从而可用于如网络交换、网络报文转发及图形处理器等业务场景。晶片e 210所包括的以太网接口e 218和晶片f 220所包括的以太网接口f 228均用于提供与以太网(ethernet)有关的功能,例如接入以太网网卡等。图2所示的晶片e 210与晶片f 220,各自包括多种不同功能的接口,从而可以用于各种业务场景,例如可以通过晶片e 210所包括的快速外围组件互联接口e 214接入pcie总线或者通过晶片f 220所包括的高带宽存储器接口f 226接入hbm等。而在晶片e 210与晶片f 220之间通过晶片e 210所包括的晶片到晶片接口e 212与晶片f 220所包括的晶片到晶片接口f 222的物理连接实现了晶片之间数据互联,从而使得晶片e 210与晶片f 220对外表现得像一个晶片,这样在提升性能同时还做到控制成本和功耗。晶片e 210与晶片f 220之间的晶片到晶片接口互联,也就是晶片e 210所包括的晶片到晶片接口e 212与晶片f 220所包括的晶片到晶片接口f 222的之间的数据互联,需要满足特定的协议、规则、策略等提出的输出传输方面的要求,也可能需要在流量控制、调度功能、带宽、数据通道等方面满足要求。
41.图3为本技术实施例提供的另一种通过晶片到晶片接口互联的多个晶片的示意图。如图3所示,晶片g 310包括第一晶片到晶片接口g 312,第二晶片到晶片接口g 313,高带宽存储器接口g 316,以及以太网接口g 318。晶片h 320包括第一晶片到晶片接口h 322,第二晶片到晶片接口h 323,高带宽存储器接口h 326,以及以太网接口h 328。晶片g 310和晶片h320之间通过晶片g 310所包括第一晶片到晶片接口g 312与晶片h 320所包括的第一晶片到晶片接口h 322的物理连接实现了晶片之间数据互联,从而使得晶片g 310与晶片h 320对外表现得像一个晶片,这样在提升性能同时还做到控制成本和功耗。另外,晶片g 310还通过第二晶片到晶片接口g 313可以与另一晶片连接,晶片h 320还通过第二晶片到晶片接口h 323可以与另一晶片连接。晶片g 310与晶片h 320之间的晶片到晶片接口互联,需要满足特定的协议、规则、策略等提出的输出传输方面的要求,也可能需要在流量控制、调度功能、带宽、数据通道等方面满足要求。
42.参阅图1、图2和图3,晶片到晶片接口互联意味着将一个晶片与另一个晶片互联后用于封装在一起,每个晶片都包括至少一个带有物理接口的模块。具有公共接口的一个晶片可以通过短距离导线与另一个晶片进行通信。根据多个晶片集成封装成一个芯片组的方式,也根据多个晶片的功能划分和接口布置,一个晶片可能有一个或者多个晶片到晶片接口,每个晶片到晶片接口也可能采用特定的协议、规则、策略等,用于满足在数据传输、流量控制、调度功能、带宽、数据通道等有关方面的要求。而这些协议、规则、策略等,可能也会对晶片到晶片接口互联的具体细节提出要求,例如通信通道数量、控制字结构、数据编码和数据解码、流量控制选项等。为此,需要提供一种晶片到晶片接口互联的方法,可以满足数据传输速率高和数据传输可靠性高的需求,还可以灵活地适配各种协议、规则、策略等在如数据传输、流量控制、调度功能、带宽、数据通道等方面的要求。下面结合图4详细说明。
43.图4为本技术实施例提供的一种晶片到晶片接口互联的方法的流程示意图。其中,图4所示晶片到晶片接口互联的方法适用于多个晶片,多个晶片中的每一个晶片包括晶片到晶片接口用于该晶片和所述多个晶片中相对于该晶片的另一晶片之间的数据互联。所述方法应用于第一晶片,所述第一晶片是所述多个晶片中的任一晶片,所述第一晶片的晶片到晶片接口包括接口缓存、协议处理单元和传输接口。如图4所示,方法包括以下步骤。
44.步骤s402:响应于所述第一晶片的数据发送,输入待发送第一数据到所述接口缓存。
45.步骤s404:通过所述协议处理单元,对所述待发送第一数据进行数据切割得到切割后数据,对所述切割后数据进行循环冗余校验计算生成循环冗余计算结果,将所述循环冗余计算结果添加到所述切割后数据中从而进行组装和条带化分发得到分发后数据,对所述分发后数据进行编码操作得到编码后数据,对所述编码后数据进行扰码和组帧得到待发送第二数据。
46.步骤s406:通过所述传输接口,发送所述待发送第二数据。
47.步骤s408:响应于所述第一晶片的数据接收,通过所述传输接口获取待接收第一数据。
48.步骤s410:通过所述协议处理单元,对所述待接收第一数据进行定帧和解扰后再进行解码操作得到解码后数据,对所述解码后数据进行数据聚合处理得到聚合后数据,对所述聚合后数据进行循环冗余校验和数据组合得到待接收第二数据。
49.步骤s412:输入所述待接收第二数据到所述接口缓存。
50.图4所示的晶片到晶片接口互联的方法适用于多个晶片,多个晶片中的每一个晶片包括晶片到晶片接口用于该晶片和所述多个晶片中相对于该晶片的另一晶片之间的数据互联。所述方法应用于第一晶片,所述第一晶片是所述多个晶片中的任一晶片,所述第一晶片的晶片到晶片接口包括接口缓存、协议处理单元和传输接口。多个晶片对应了将多个功能块组合在一起组成一块芯片,每个功能块之间的接口是晶片到晶片接口。第一晶片是所述多个晶片中的任一晶片,第一晶片的晶片到晶片接口提供了第一晶片与另一晶片之间的数据互联。参阅上述的各个步骤,在步骤s402,响应于所述第一晶片的数据发送,输入待发送第一数据到所述接口缓存。这里所述第一晶片可以从用户侧接收数据并将用户侧的数据输入到所述接口缓存。在一些实施例中,可以通过所述接口缓存进行速率适配处理,这样有助于整体上数据传输的稳定性和可靠性。接着,在步骤s404,通过所述协议处理单元,对所述待发送第一数据进行数据切割得到切割后数据。所述第一晶片的晶片到晶片接口可能采用特定的协议、规则、策略等,用于满足在数据传输、流量控制、调度功能、带宽、数据通道等有关方面的要求。而这些协议、规则、策略等,可能也会对晶片到晶片接口互联的具体细节提出要求,例如通信通道数量、控制字结构、数据编码和数据解码、流量控制选项等。这里,所述协议处理单元主要用于提供必要的处理功能以满足所述第一晶片的晶片到晶片接口所采用的协议、规则、或者策略等在数据传输、流量控制、调度功能、带宽、数据通道等方面的要求。在步骤s404中通过所述协议处理单元对所述待发送第一数据进行数据切割得到切割后数据。这里意味着在协议层进行数据切割,这是考虑到后续流程中突发长度的设置和控制字组装需要,一次传输的数据长度称为突发长度。一般来说,进行数据切割是以固定比特位(例如64比特位)为单位切割数据。对所述切割后数据进行循环冗余校验计算生成循环冗余计算结果。进行循环冗余校验计算以生成循环冗余计算结果,是为了后续流程的循环冗余校验(cyclic redundancy check,crc)。crc利用了能根据数据包或文件等数据生成简短的固定位数校验码的散列函数,用来校验数据传输或者保存后可能出现的错误。可以在数据传输或者保存之前计算校验码并将校验码附加到数据后面,这样接收方可以进行校验以确定数据是否发生变化。在步骤s404,将所述循环冗余计算结果添加到所述切割后数
据中从而进行组装和条带化分发得到分发后数据。这里,组装意味着数据切割和控制字组装。在一些实施例中,在数据切割的基础上将协议控制字与代表了要传输的数据的数据字一起结合突发长度的设置进行组装。条带化意味着根据数据通道和通道化数据传输方面的要求,使得分发后数据可以通过多个通道发送,例如每个通道可以对应一个serdes物理链路。因此,响应于所述第一晶片的数据发送,待发送第一数据被输入到所述接口缓存,然后被数据切割得到切割后数据,再然后将所述循环冗余计算结果添加到所述切割后数据中从而进行组装和条带化分发得到分发后数据。如此完成了从待发送第一数据到分发后数据的转换,也体现了在协议层进行控制的细节,可以用于满足例如通信通道数量、控制字结构等要求。接着,在步骤s404,对所述分发后数据进行编码操作得到编码后数据,对所述编码后数据进行扰码和组帧得到待发送第二数据。进行编码操作意味着进行帧层控制字组装,其中包括添加同步字作为元帧同步头用于确定元帧位置。应当理解的是,进行编码操作一般是基于所述第一晶片的晶片到晶片接口所采用的特定的协议、规则、策略等,例如协议可能规定了特定的编码格式,要求将原来的数据按照一定的规则编写成特定的编码格式下的数据。在一些实施例中,进行编码操作意味着将64比特位的数据编码成67比特位的数据。在进行编码操作得到编码后数据之后,对所述编码后数据进行扰码和组帧得到待发送第二数据。这样有助于增强数据完整性和链路稳定性。最后,在步骤s406,通过所述传输接口,发送所述待发送第二数据。在一些实施例中,传输接口与多个serdes通道连接,待发送第二数据可以经过对齐后经多个serdes通道发送出去。
51.继续参阅图4及上述各个步骤,在步骤s408,响应于所述第一晶片的数据接收,通过所述传输接口获取待接收第一数据。接着,在步骤s410,通过所述协议处理单元,对所述待接收第一数据进行定帧和解扰后再进行解码操作得到解码后数据,对所述解码后数据进行数据聚合处理得到聚合后数据,对所述聚合后数据进行循环冗余校验和数据组合得到待接收第二数据。如此,从所述传输接口接收的待接收第一数据,例如通过serdes接口接收到的数据,经过定帧和解扰后,也就是完成了帧定位和解扰码。接着,进行解码操作,解码后的数据进行数据聚合处理,最后再经过循环冗余校验和数据组合,恢复出用户数据,最后写入数据缓存。可以经过速率适配调整后再发送到用户侧接口。
52.如此,图4所示的一种晶片到晶片接口互联的方法,可以满足数据传输速率高和数据传输可靠性高的需求,还可以灵活地适配各种协议、规则、策略等在如数据传输、流量控制、调度功能、带宽、数据通道等方面的要求。图4所示的晶片到晶片接口互联的方法,其中的编码操作和解码操作可以是基于所述第一晶片的晶片到晶片接口所采用的具体协议,例如按照其中规定的编码格式和规则进行编码和解码。一般情况下,晶片之间接口需要较大的数据传输带宽,并且还具有流量控制及通道化传输特性。在网络芯片的业务场景下,为了实现高速数字通信传输,可以在晶片之间接口采用特定通信协议的接口与serdes的组合。
53.在一种可能的实施方式中,所述编码操作基于第一编码方案,所述解码操作基于第一解码方案,所述第一编码方案对应所述第一解码方案。在一些实施例中,所述第一编码方案是64/67编码,所述第一解码方案是64/67解码。如此,通过彼此对应的第一编码方案和第一解码方案,可以实现所述第一晶片的晶片到晶片接口的数据发送和数据接收。其中,64/67编码意味着将原来的数据按照一定的规则编写成特定的编码格式下的数据,也就是将64比特位的数据编码成67比特位的数据。64/67解码意味着将67比特位的数据解码成64
比特位的数据。
54.在一种可能的实施方式中,所述待发送第一数据来自与所述第一晶片相关联的用户数据接口,所述待接收第二数据被发送给所述用户数据接口。在一些实施例中,所述待接收第二数据在被发送给所述用户数据接口之前进行速率适配处理。如此,通过速率适配处理,有助于整体上数据传输的稳定性和可靠性。
55.在一种可能的实施方式中,所述待发送第二数据被发送到相对于所述第一晶片的第二晶片的晶片到晶片接口的传输接口。如此,实现了第一晶片和第二晶片之间的数据互联。
56.在一种可能的实施方式中,通过所述协议处理单元,将所述循环冗余计算结果添加到所述切割后数据中从而进行组装和条带化分发得到所述分发后数据,包括:通过所述协议处理单元,将所述循环冗余计算结果添加到所述切割后数据中从而按照突发长度的设置进行组装和条带化分发得到所述分发后数据。如此,在数据切割的基础上将协议控制字与代表了要传输的数据的数据字一起结合突发长度的设置进行组装。条带化意味着根据数据通道和通道化数据传输方面的要求,使得分发后数据可以通过多个通道发送,例如每个通道可以对应一个serdes物理链路。因此,将所述循环冗余计算结果添加到所述切割后数据中从而按照突发长度的设置进行组装和条带化分发得到所述分发后数据,意味着结合了突发长度的设置也就是一次传输的数据长度的设置,这样有助于后续通过多个通道如多个serdes通道进行数据传输。
57.在一种可能的实施方式中,所述传输接口是串行器解串器接口。在一种可能的实施方式中,所述协议处理单元是interlaken协议处理单元。一般情况下,晶片之间接口需要较大的数据传输带宽,并且还具有流量控制及通道化传输特性。在网络芯片的业务场景下,为了实现高速数字通信传输,可以在晶片之间接口采用特定通信协议的接口与serdes的组合。上面提到,图4所示的晶片到晶片接口互联的方法,其中的编码操作和解码操作可以是基于所述第一晶片的晶片到晶片接口所采用的具体协议,例如按照其中规定的编码格式和规则进行编码和解码。例如,interlaken协议规定了64/67编码这一特定编码格式,也就是意味着,当所述协议处理单元是interlaken协议处理单元时,所述第一晶片的晶片到晶片接口是基于interlaken协议进行晶片之间数据互联,因此需要将原来的数据按照一定的规则编写成特定的编码格式下的数据,也就是将64比特位的数据编码成67比特位的数据。应当理解的是,interlaken协议处理单元是针对interlaken协议做出优化设计。所述协议处理单元还可能适配其它的芯片之间通信协议,例如xaui协议和pcie协议等。取决于具体采用的协议,还有传输接口的设置等,可以采用相应的编码方案和解码方案,从而可以灵活地适配各种协议、规则、策略等在如数据传输、流量控制、调度功能、带宽、数据通道等方面的要求。
58.在一种可能的实施方式中,通过所述协议处理单元,至少在对所述待发送第一数据进行数据切割得到切割后数据之前,对所述接口缓存中的所述待发送第一数据进行速率适配处理。如此,通过速率适配处理,有助于整体上数据传输的稳定性和可靠性。
59.在一种可能的实施方式中,通过所述协议处理单元,在对所述切割后数据进行循环冗余校验计算生成所述循环冗余计算结果的过程中同步生成控制字段用于记录所述切割后数据的描述信息。如此,生成的控制字段可以用于数据切割和控制字组装。例如,控制
字段可以记录所述切割后数据的描述信息以体现协议层控制细节,如控制字结构等。
60.在一种可能的实施方式中,所述多个晶片是同质晶片或者异质晶片。在一种可能的实施方式中,所述多个晶片对应同一系统单晶片中的功能块,所述多个晶片通过各自的晶片到晶片接口被封装到一起从而构成与所述系统单晶片对应的系统芯片组。在一种可能的实施方式中,所述多个晶片通过芯粒技术被封装到一起。应当理解的是,不同的半导体制备工艺,不同的集成封装方式,这些可能影响晶片到晶片接口互联的有关细节。例如,晶片到晶片接口互联可能用于同质晶片如一个中央处理器的晶片与另一个中央处理器的晶片之间的数据互联,也可能用于异质晶片如一个中央处理器的晶片与神经网络处理器的晶片之间的数据互联。
61.继续参阅图4,图4所示的一种晶片到晶片接口互联的方法,可以满足数据传输速率高和数据传输可靠性高的需求,还可以灵活地适配各种协议、规则、策略等在如数据传输、流量控制、调度功能、带宽、数据通道等方面的要求。图4所示的晶片到晶片接口互联的方法,其中的编码操作和解码操作可以是基于所述第一晶片的晶片到晶片接口所采用的具体协议,例如按照其中规定的编码格式和规则进行编码和解码。随着对数据传输带宽和数据传输速率提出了更高的要求,也在数据传输可靠性和数据纠错方面带来了更大的挑战。并且,还需要考虑到具体采用的编码方案和解码方案,可能因晶片到晶片接口所采用的协议、规则、策略等而有所变化,因此有必要在协议层处理部分提供一种通用的数据保护机制,能够灵活地根据具体的通信协议的要求以及具体的编码解码方案来增强数据保护,包括能增强对链路数据的错误检测和提供误码纠正机制,进而可以提高晶片之间互联接口高速数据传输的可靠性,满足如网络、大规模数据中心和人工智能等领域的应用需求。下面详细说明这些改进。
62.在一种可能的实施方式中,所述编码操作基于第一编码方案,所述编码后数据包括多个压缩前数据,所述多个压缩前数据的大小均为第一数值的比特位,所述第一数值是基于所述第一编码方案,其中,对所述编码后数据进行扰码和组帧得到所述待发送第二数据,包括:对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的多个压缩后数据,并且对所述多个压缩前数据进行前向纠错计算生成冗余纠错码,将所述冗余纠错码加入所述多个压缩后数据从而更新所述编码后数据,对更新后的所述编码后数据进行扰码和组帧得到所述待发送第二数据。如此,利用前向纠错(forward error correction,fec)技术,实现在通信系统中控制传输错误并且对连同数据发送额外的信息进行错误恢复从而降低比特误码率。具体地,利用fec技术,通过增强要发送的数据加上一定的冗余纠错码后一起发送,这样接收方可以根据纠错码对接收到的数据进行差错检测以及进行纠错。这样,在所述编码后数据所包括的多个压缩前数据的基础上,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的多个压缩后数据,并且对所述多个压缩前数据进行前向纠错计算生成冗余纠错码,将所述冗余纠错码加入所述多个压缩后数据从而更新所述编码后数据。如此,通过利用fec技术来生成冗余纠错码,从而加强了数据保护,能够降低晶片之间接口数据传输的误码率,并且还对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的多个压缩后数据,这样就降低了数据规模,从而后续可以将所述冗余纠错码加入所述多个压缩后数据从而更新所述编码后数据,例如可以在待发送的数据尾部添加冗余数据域,从而降低对数据传输带宽的影响。最
后,对更新后的所述编码后数据进行扰码和组帧得到所述待发送第二数据,在增强数据保护的同时也降低了对数据传输带宽的影响。应当注意的是,所述编码操作基于第一编码方案,所述多个压缩前数据的大小均为第一数值的比特位,所述第一数值是基于所述第一编码方案。因此,上述增强的数据保护机制可以适配通信协议具体规定的第一编码方案,因此能够灵活地根据具体的通信协议的要求以及具体的编码解码方案来增强数据保护。在一些实施例中,所述第一编码方案是64/67编码,所述第一数值是67。也就是说,所述多个压缩前数据的大小均为67个比特位。
63.进一步地,在一些实施例中,更新前的所述编码后数据的大小和所述更新后的所述编码后数据的大小一致,所述多个压缩后数据对应所述多个压缩前数据中的数据域,对所述多个压缩前数据进行前向纠错计算生成的所述冗余纠错码对应所述多个压缩前数据中的用于同步的比特域。如此,在基于第一编码方案进行编码操作得到所述编码后数据所包括的多个压缩前数据之后,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的多个压缩后数据。并且,更新前的所述编码后数据的大小和所述更新后的所述编码后数据的大小一致。这意味着,在利用fec技术来生成冗余纠错码并且将所述冗余纠错码加入所述多个压缩后数据从而更新所述编码后数据,没有改变数据的大小,而是通过压缩转码来获得了压缩的数据空间用于传输fec算法的冗余数据域也就是fec纠错码。并且,所述多个压缩后数据对应所述多个压缩前数据中的数据域,这意味着在保持数据域不变的前提下,用冗余部分来存储纠错码,因此整体上的编码后数据在更新前后的大小保持不变。例如,设多个压缩前数据是四个大小均为67比特位的数据(例如所述第一数值为67),在压缩后这四个大小均为67比特位的数据变成了261比特位,然后纠错码占据7个比特。这意味着,更新前的所述编码后数据的大小是四个大小均为67比特位的数据也就是268比特位,而所述更新后的所述编码后数据的大小是261比特位加上被纠错码占据的7个比特位因此仍为268比特位。这样在不改变链路传输带宽的情况下引入了fec纠错机制,通过在接收端增加相应的反向转码和fec解码操作,就可以增强数据保护。在一些实施例中,fec算法可以是rs(536,522)算法,相应的冗余纠错码为140比特,可以保护5220比特的数据。也就是说,在发送端根据输入的数据块(大小为5220比特)计算出冗余纠错码(大小为140比特),将冗余纠错码合并在数据块的尾部后一并传输。在接收端根据帧定界后的fec数据块及逆行fec校验计算,如果发现数据域的数据有错,则可以根据纠错码进行纠错从而恢复出正确的数据。采用这种fec算法的数据保护方案可以纠正数据域最多70个比特的错误。
64.进一步地,在一种可能的实施方式中,所述解码操作基于第一解码方案,所述第一编码方案对应所述第一解码方案,其中,对所述解码后数据进行数据聚合处理得到聚合后数据,包括:对所述解码后数据进行解压缩和反向转码后再进行前向纠错检验,然后进行数据聚合处理得到所述聚合后数据。如此,在发送端利用fec技术来加强数据保护的基础上,也在接收端相应的反向转码和fec解码操作(例如可以在接收端将压缩掉的用于同步的同步头比特恢复添加到对应的数据块位置),这样建立起了晶片之间数据互联的通用的数据保护机制,一方面利用fec技术来生成冗余纠错码并且将所述冗余纠错码加入所述多个压缩后数据从而更新所述编码后数据,这样可以通过fec算法生成的冗余纠错码来纠正数据域内的错误和提供数据传输可靠性,另一方面通过压缩转码以确保整体上的编码后数据在更新前后的大小保持不变,这样避免了因为引入冗余纠错码而增加链路传输带宽,而且是
利用了冗余数据域也就不影响数据域本身(对所述多个压缩前数据进行前向纠错计算生成的所述冗余纠错码对应所述多个压缩前数据中的用于同步的比特域),在保持链路传输带宽不变的前提下实现了fec保护。另外,编码操作和解码操作都可以结合具体的通信协议的要求。例如,interlaken协议规定了第一编码方案是64/67编码这种特定编码格式,则可以进行相应的压缩转码,例如将四个大小均为67比特位的数据进行压缩转码得到261比特位,从而提供7个比特位给冗余纠错码。换句话说,可以灵活地根据具体的通信协议的要求以及具体的编码解码方案来采用合适的fec算法,从而可以适配通信协议具体规定的第一编码方案,因此能够灵活地根据具体的通信协议的要求以及具体的编码解码方案来增强数据保护。另外,通过选择与第一编码方案对应的第一解码方案,在发送端利用fec技术来加强数据保护的基础上,也在接收端相应的反向转码和fec解码操作,这样建立起了晶片之间数据互联的通用的数据保护机制,能够灵活地根据具体的通信协议的要求以及具体的编码解码方案来增强数据保护,包括能增强对链路数据的错误检测和提供误码纠正机制,进而可以提高晶片之间互联接口高速数据传输的可靠性,满足如网络、大规模数据中心和人工智能等领域的应用需求。
65.进一步地,在一种可能的实施方式中,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的所述多个压缩后数据,包括:压缩所述多个压缩前数据中的用于同步的比特域从而用于传输所述冗余纠错码,以及保持所述多个压缩前数据中的数据域。在一些实施例中,所述传输接口的与所述多个压缩前数据相关联的链路传输带宽等于所述传输接口的与所述多个压缩后数据相关联的链路传输带宽。在一些实施例中,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的所述多个压缩后数据是基于所述第一编码方案,所述第一编码方案是基于与所述协议处理单元相关联的晶片到晶片接口互联协议。在一些实施例中,所述第一解码方案也是基于与所述协议处理单元相关联的晶片到晶片接口互联协议。如此,实现了灵活地根据具体的通信协议的要求以及具体的编码解码方案来采用合适的fec算法,从而可以适配通信协议具体规定的第一编码方案,因此能够灵活地根据具体的通信协议的要求以及具体的编码解码方案来增强数据保护。另外,通过选择与第一编码方案对应的第一解码方案,在发送端利用fec技术来加强数据保护的基础上,也在接收端相应的反向转码和fec解码操作,这样建立起了晶片之间数据互联的通用的数据保护机制,能够灵活地根据具体的通信协议的要求以及具体的编码解码方案来增强数据保护,包括能增强对链路数据的错误检测和提供误码纠正机制,进而可以提高晶片之间互联接口高速数据传输的可靠性,满足如网络、大规模数据中心和人工智能等领域的应用需求。
66.图5为本技术实施例提供的一种通过晶片到晶片接口且基于第一编码方案进行数据发送过程的流程示意图。如图5所示,通过晶片到晶片接口且基于第一编码方案进行数据发送过程由以下步骤组成。
67.步骤s502:数据缓存。
68.步骤s504:数据切割。
69.步骤s506:循环冗余校验计算和生成控制字。
70.步骤s508:组装和条带化处理。
71.步骤s510:基于第一编码方案编码。
72.步骤s512:基于第一编码方案压缩转码。
73.步骤s514:前向纠错计算。
74.步骤s516:扰码和组帧。
75.图5所示的通过晶片到晶片接口且基于第一编码方案进行数据发送过程,可以参考在图4所示的晶片到晶片接口互联的方法,因此可以满足数据传输速率高和数据传输可靠性高的需求,还可以灵活地适配各种协议、规则、策略等在如数据传输、流量控制、调度功能、带宽、数据通道等方面的要求。进一步地,图5所示的通过晶片到晶片接口且基于第一编码方案进行数据发送过程,还在步骤s512基于第一编码方案压缩转码以及在步骤s514前向纠错计算,因此在协议层处理部分引入了基于fec技术的通用的数据保护机制,能够灵活地根据具体的通信协议的要求以及具体的编码解码方案来增强数据保护,包括能增强对链路数据的错误检测和提供误码纠正机制,进而可以提高晶片之间互联接口高速数据传输的可靠性,满足如网络、大规模数据中心和人工智能等领域的应用需求。
76.图6为本技术实施例提供的一种通过晶片到晶片接口且基于第一解码方案进行数据接收过程的流程示意图。如图6所示,通过晶片到晶片接口且基于第一解码方案进行数据接收过程由以下步骤组成。
77.步骤s602:定帧和解扰。
78.步骤s604:基于第一解码方案进行解码。
79.步骤s606:基于第一解码方案解压缩和反向转码。
80.步骤s608:前向纠错校验。
81.步骤s610:数据聚合处理。
82.步骤s612:循环冗余校验。
83.步骤s614:数据组合。
84.步骤s616:数据缓存。
85.图6所示的通过晶片到晶片接口且基于第一解码方案进行数据接收过程,可以参考在图4所示的晶片到晶片接口互联的方法,体现了在接收端采取的相应操作。并且进一步地,图6所示的通过晶片到晶片接口且基于第一解码方案进行数据接收过程,在步骤s606基于第一解码方案解压缩和反向转码以及在步骤s608前向纠错校验,因此在协议层处理部分,在发送端利用fec技术来加强数据保护的基础上,也在接收端相应的反向转码和fec解码操作,这样建立起了晶片之间数据互联的通用的数据保护机制。
86.参阅图5和图6,图5所示的通过晶片到晶片接口且基于第一编码方案进行数据发送过程,在步骤s512基于第一编码方案压缩转码以及在步骤s514前向纠错计算,图6所示的通过晶片到晶片接口且基于第一解码方案进行数据接收过程,在步骤s606基于第一解码方案解压缩和反向转码以及在步骤s608前向纠错校验,因此,实现了灵活地根据具体的通信协议的要求以及具体的编码解码方案来采用合适的fec算法,从而可以适配通信协议具体规定的第一编码方案,因此能够灵活地根据具体的通信协议的要求以及具体的编码解码方案来增强数据保护。通过选择与第一编码方案对应的第一解码方案,在发送端利用fec技术来加强数据保护的基础上,也在接收端相应的反向转码和fec解码操作,这样建立起了晶片之间数据互联的通用的数据保护机制,能够灵活地根据具体的通信协议的要求以及具体的编码解码方案来增强数据保护,包括能增强对链路数据的错误检测和提供误码纠正机制,
进而可以提高晶片之间互联接口高速数据传输的可靠性,满足如网络、大规模数据中心和人工智能等领域的应用需求。
87.参阅图1至图6,本技术实施例提供了一种晶片到晶片接口互联的方法。多个晶片中的每一个晶片包括晶片到晶片接口用于该晶片和所述多个晶片中相对于该晶片的另一晶片之间的数据互联,所述方法应用于第一晶片,所述第一晶片是所述多个晶片中的任一晶片,所述第一晶片的晶片到晶片接口包括接口缓存、协议处理单元和传输接口,所述方法包括:响应于所述第一晶片的数据发送,输入待发送第一数据到所述接口缓存;通过所述协议处理单元,对所述待发送第一数据进行数据切割得到切割后数据,对所述切割后数据进行循环冗余校验计算生成循环冗余计算结果,将所述循环冗余计算结果添加到所述切割后数据中从而进行组装和条带化分发得到分发后数据,对所述分发后数据基于第一编码方案进行编码操作得到包括多个压缩前数据的编码后数据,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的多个压缩后数据,并且对所述多个压缩前数据进行前向纠错计算生成冗余纠错码,将所述冗余纠错码加入所述多个压缩后数据从而更新所述编码后数据,对更新后的所述编码后数据进行扰码和组帧得到所述待发送第二数据,其中,更新前的所述编码后数据的大小和所述更新后的所述编码后数据的大小一致;通过所述传输接口,发送所述待发送第二数据,响应于所述第一晶片的数据接收,通过所述传输接口获取待接收第一数据;通过所述协议处理单元,对所述待接收第一数据进行定帧和解扰后再基于第一解码方案进行解码操作得到解码后数据,对所述解码后数据进行数据聚合处理得到聚合后数据,对所述聚合后数据进行循环冗余校验和数据组合得到待接收第二数据,所述第一编码方案对应所述第一解码方案;输入所述待接收第二数据到所述接口缓存。
88.本技术实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。本技术实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述所描述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。
89.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。
90.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本技术实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述
计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
91.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
92.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本技术实施例进行各种改动和变型而不脱离本技术实施例的精神和范围。本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本技术实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本技术实施例的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种晶片到晶片接口互联的方法,其特征在于,多个晶片中的每一个晶片包括晶片到晶片接口用于该晶片和所述多个晶片中相对于该晶片的另一晶片之间的数据互联,所述方法应用于第一晶片,所述第一晶片是所述多个晶片中的任一晶片,所述第一晶片的晶片到晶片接口包括接口缓存、协议处理单元和传输接口,所述方法包括:响应于所述第一晶片的数据发送,输入待发送第一数据到所述接口缓存;通过所述协议处理单元,对所述待发送第一数据进行数据切割得到切割后数据,对所述切割后数据进行循环冗余校验计算生成循环冗余计算结果,将所述循环冗余计算结果添加到所述切割后数据中从而进行组装和条带化分发得到分发后数据,对所述分发后数据基于第一编码方案进行编码操作得到包括多个压缩前数据的编码后数据,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的多个压缩后数据,并且对所述多个压缩前数据进行前向纠错计算生成冗余纠错码,将所述冗余纠错码加入所述多个压缩后数据从而更新所述编码后数据,对更新后的所述编码后数据进行扰码和组帧得到所述待发送第二数据,其中,更新前的所述编码后数据的大小和所述更新后的所述编码后数据的大小一致;通过所述传输接口,发送所述待发送第二数据,响应于所述第一晶片的数据接收,通过所述传输接口获取待接收第一数据;通过所述协议处理单元,对所述待接收第一数据进行定帧和解扰后再基于第一解码方案进行解码操作得到解码后数据,对所述解码后数据进行数据聚合处理得到聚合后数据,对所述聚合后数据进行循环冗余校验和数据组合得到待接收第二数据,所述第一编码方案对应所述第一解码方案;输入所述待接收第二数据到所述接口缓存。2.根据权利要求1所述的方法,其特征在于,通过所述协议处理单元,将所述循环冗余计算结果添加到所述切割后数据中从而进行组装和条带化分发得到所述分发后数据,包括:通过所述协议处理单元,将所述循环冗余计算结果添加到所述切割后数据中从而按照突发长度的设置进行组装和条带化分发得到所述分发后数据。3.根据权利要求1所述的方法,其特征在于,所述传输接口是串行器解串器接口。4.根据权利要求1所述的方法,其特征在于,所述协议处理单元是interlaken协议处理单元。5.根据权利要求1所述的方法,其特征在于,所述多个晶片是同质晶片或者异质晶片。6.根据权利要求1所述的方法,其特征在于,所述多个晶片对应同一系统单晶片中的功能块,所述多个晶片通过各自的晶片到晶片接口被封装到一起从而构成与所述系统单晶片对应的系统芯片组。7.根据权利要求1所述的方法,其特征在于,所述多个晶片通过芯粒技术被封装到一起。8.根据权利要求1所述的方法,其特征在于,所述多个压缩前数据的大小均为第一数值的比特位,所述第一数值是基于所述第一编码方案。9.根据权利要求8所述的方法,其特征在于,所述多个压缩后数据对应所述多个压缩前数据中的数据域,对所述多个压缩前数据进行前向纠错计算生成的所述冗余纠错码对应所述多个压缩前数据中的用于同步的比特域。
10.根据权利要求8所述的方法,其特征在于,对所述解码后数据进行数据聚合处理得到聚合后数据,包括:对所述解码后数据进行解压缩和反向转码后再进行前向纠错检验,然后进行数据聚合处理得到所述聚合后数据。11.根据权利要求9所述的方法,其特征在于,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的所述多个压缩后数据,包括:压缩所述多个压缩前数据中的用于同步的比特域从而用于传输所述冗余纠错码,以及保持所述多个压缩前数据中的数据域。12.根据权利要求11所述的方法,其特征在于,所述传输接口的与所述多个压缩前数据相关联的链路传输带宽等于所述传输接口的与所述多个压缩后数据相关联的链路传输带宽。13.根据权利要求12所述的方法,其特征在于,对所述多个压缩前数据分别进行压缩转码得到与所述多个压缩前数据一一对应的所述多个压缩后数据是基于所述第一编码方案,所述第一编码方案是基于与所述协议处理单元相关联的晶片到晶片接口互联协议。14.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至13中任一项所述的方法。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至13中任一项所述的方法。
技术总结
本申请提供一种晶片到晶片接口互联的方法、设备及介质。可以满足数据传输速率高和数据传输可靠性高的需求,还可以灵活地适配各种协议、规则、策略等在如数据传输、流量控制、调度功能、带宽、数据通道等方面的要求。数据通道等方面的要求。数据通道等方面的要求。
技术研发人员:李剑峰
受保护的技术使用者:芯耀辉科技有限公司
技术研发日:2023.05.15
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/