CN117834755A - 面向芯粒互连接口的协议层与适配器层间接口电路及芯片 - Google Patents

面向芯粒互连接口的协议层与适配器层间接口电路及芯片 Download PDF

Info

Publication number
CN117834755A
CN117834755A CN202410241558.2A CN202410241558A CN117834755A CN 117834755 A CN117834755 A CN 117834755A CN 202410241558 A CN202410241558 A CN 202410241558A CN 117834755 A CN117834755 A CN 117834755A
Authority
CN
China
Prior art keywords
layer
micro
packet
adapter
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202410241558.2A
Other languages
English (en)
Other versions
CN117834755B (zh
Inventor
周宏伟
何星洋
黎梦金
孙星语
陈志强
孙玉波
曾坤
王永文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202410241558.2A priority Critical patent/CN117834755B/zh
Publication of CN117834755A publication Critical patent/CN117834755A/zh
Application granted granted Critical
Publication of CN117834755B publication Critical patent/CN117834755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Communication Control (AREA)

Abstract

本发明公开了一种面向芯粒互连接口的协议层与适配器层间接口电路及芯片,包括发送端接口电路和接收端接口电路,发送端接口电路包括信用管理模块、数据微包产生模块、链路管理模块、电源管理模块和多路仲裁器,其中信用管理模块、数据微包产生模块位于协议层,链路管理模块、电源管理模块和多路仲裁器位于适配器层;接收端接口电路包括译码器、信用管理模块、数据微包解析模块、链路管理模块和电源管理模块,其中译码器、链路管理模块和电源管理模块位于适配器层,信用管理模块、数据微包解析模块位于协议层。本发明旨在促进芯粒互连接口适配器层和物理层的更加彻底的标准化,实现更好兼容性、更强解耦性和更高复用度的协议层与适配器层间接口。

Description

面向芯粒互连接口的协议层与适配器层间接口电路及芯片
技术领域
本发明属于芯粒(Chiplet)间高速互连接口领域,具体涉及一种面向芯粒互连接口的协议层与适配器层间接口电路及芯片。
背景技术
随着算力需求的不断扩大而晶体管工艺逼近物理极限,以往通过增加晶体管数量来提升整个片上***(System on Chip, SoC)性能的方式,由于裸芯(Die)大小不断扩大,面临掩模版尺寸受限和良率降低等问题。同时,由于工艺提升带来的芯片制造成本和研发成本显著增加,封装内集成多个较小的芯粒成为业界趋势。这种方式可以把采用不同工艺的具有标准互连接口的裸芯(称之为芯粒)封装到一起,芯粒间通过裸芯到裸芯(Die toDie,D2D)互连接口进行通信,一方面丰富了芯片的设计空间,使得设计人员可以根据需求调整各芯粒采用的工艺,从而降低定制和优化的成本,使得先进工艺高昂的设计成本被均摊;另一方面,由于设计好的芯粒可以方便地在封装内重复使用,既可以降低整个芯片的设计时间,又可以减少芯片研发过程中的NRE费用。但在同一封装内集成大量芯粒的前提是芯粒与芯粒之间的互连带宽要足够高以满足整个芯粒间的高速通信,否则无法达到与传统SoC相比相当的性能。因此,芯粒间互连技术是芯粒架构大范围应用的关键技术之一。而其中芯粒间互连接口标准的兼容性和高效性,是芯粒间互连技术中的重要组成部分。目前芯片设计行业的重要公司、团体单位纷纷推出芯粒互连接口标准,拟在互连接口生态中占据优势地位。例如行业巨头Intel推出的UCIe标准、开放组织OCP推出的BoW标准,中国计算机互连技术联盟推出的《小芯片接口总线技术要求》团体标准以及中国Chiplet产业联盟推出的《芯粒互联接口标准》等。
通常来说,芯粒间互连接口被定义成三层,分别是协议层,适配层以及物理层。一般来说,协议层主要负责具体协议流程、虚通道管理和流量控制等,适配层则主要负责检错和纠错、重传、链路和功耗管理。物理层负责信号在链路上传输,通常会根据封装类型、电路实现方式有比较显著的区别。协议层中虚通道管理在发送端主要是将来自不同虚通道的报文(Package)汇聚打包,生成适配器层能够识别和传输的基本单位——微包(Flit),在接收端将微包解包后分发给对应的虚通道,实现发送端的各虚通道到接收端各虚通道一一对应的报文传输。协议层的流量控制要是为匹配发送端各个虚通道中报文的发送速率与接收方各个虚通道中报文的接收速率,防止接收端报文缓冲区溢出和尽可能提高发送端带宽利用率。适配器层的检错和纠错机制是为了维护数据包在传输过程中的正确性,常用的方式为在数据微包结尾加入CRC校验码和ECC校验码等。纠错机制一般将错误分为两种类型,分别是可被检测但不能被纠正的错误与可被检测且可被纠正的错误。对于前者,接收端往往会将数据包直接丢弃。为保证数据完整性,发送端需要将未被接收端接收的微包重传。重传一般采取Ack/Nak机制,即发送端维护一块微包缓冲区,该缓冲区收到接收端发送的Ack报文就将缓冲区中对应的微包清空,收到Nak报文就重发对应的微包。适配器层还会有专门的链路管理和功耗管理逻辑,产生链路管理微包(Link Management Flit,LMF)和功耗管理微包(Power Management Flit,PMF),这些管理微包将和来自协议层的数据微包(Data Flit,DF)一起,共享物理链路。LMF主要用于链路初始化、链路状态切换、链路重传信息传递;PMF主要用于功耗状态初始化、功耗状态切换。目前在芯片间互连总线协议,如PCIE、CXL协议层中,片间互连接口的层次被分为协议层(Protocol Layer,PL)、事务层(TransactionLayer,TL)、数据链路层(Data Link Layer,DLL)和物理层。芯粒互连接口中的协议层包含了芯片互连接口中PL和TL的功能,适配器层对应的是DLL。
图1为目前传统的芯粒互连接口电路的电路结构图。如图1所示,协议层将来自不同虚通道的协议层报文(Protocol Layer Package,PLP)打包为微包格式,并在微包格式中添加报文类型域以区分来自不同虚通道以及不同类型的PLP。协议层报文被打包为数据微包(DF)之后,在适配器层会通过“信用和管理信息附加逻辑”对微包中为适配器层保留的“信用和管理信息保留域”进行填充,信用信息来自协议层的“信用管理逻辑”,链路和功耗管理信息来自适配器层的“链路管理”和“功耗管理”逻辑。在“信用和管理信息保留域”中填充了信用和管理信息的数据微包(DF)将进入多路仲裁器,与来自“链路管理”和“功耗管理”的独立的链路管理微包(LMF)以及功耗管理微包(PMF)进行仲裁。如果有LMF或PMF等待发送,则需要在一个完整的DF发送完毕后,停止DF的发送,***LMF或PMF。LMF或者PMF的发送优先级高于DF的发送优先级。由于LMF和PMF的发送会占用正常的链路带宽,导致DF的发送效率下降。为解决发送效率问题,适配器层通常都会支持将链路管理信息携带于数据微包中进行传送的机制。只要有数据微包在发送方和接收方相互传送,就不需要为这些信息的传送单独产生LMF和PMF微包,而是在发送端将信用和管理信息附加在数据微包中。在接收端,适配器层收到来自物理层的微包后,将根据微包类型解析出“管理微包”(管理Flit)和“数据微包”(数据Flit)。独立的“管理Flit”被送入“链路管理”和“功耗管理”逻辑,用于链路和功耗状态管理。“数据Flit”将继续被送入“信用和管理信息提取逻辑”,在该逻辑中将“信用和管理信息保留域”中的“信用信息”和“链路和功耗管理信息”提取出来,前者被送入协议层的“信用管理”逻辑,后者被送入“链路管理”和“功耗管理”逻辑。以上传统方式存在如下问题:需要在数据微包格式中为传送信用以及链路管理信息预留位置,这些预留的位置不能被协议层的报文占用。由于不同的协议对于协议层的报文产生和解析的规则定义不同,因此协议层与适配器层间的微包格式很难统一。特别是不同协议对于微包格式中采用哪些域用于保存信用及管理信息的规定各不相同,适配器层的“信用和管理信息附加逻辑”以及“信用和管理信息提取逻辑”需要根据不同的微包格式定义进行适配才能工作,导致适配器层兼容不同协议的代价显著增加,一旦逻辑固化则不能修改及扩展。而且,这种机制对未来的自定协议中不符合当前微包格式定义的微包及协议进行扩展性时会遇到障碍,降低了自定义协议设计的灵活性以及适配器层的可重用性。
传统的芯粒互连接口标准中对于协议层和适配器间接口的微包格式的定义各不相同,对于在数据微包格式中为传送链路管理信息而预留位置的定义也有差异。例如,在UCIe协议标准和《小芯片接口总线技术要求》(以下简称《小芯片》)协议标准中对于微包格式的定义中,协议标准都规定了用于链路管理的域,但是这些域在微包格式中的位置定义不同。
如图2所示,UCIe协议定义的256位微包格式,协议层需要将微包的后20字节(第236到255字节)预留给适配层,协议层预先填充为0,适配器层负责填充新的数据,包括微包头(FlitHdr)域、数据链路微包(DLP)、保留域(10B Reserved)与CRC校验域。
图3为PCIe 6.0的256位微包格式,虽然同样将微包的后20字节(第236到255字节)预留给适配层,但是预留的20字节的内部域包括数据链路层微包域(DLLP)域和CRC校验域,其在微包中的位置和内容定义与在UCIe协议微包中的定义不同。当需要同时兼容UCIe和PCIe 6.0微包格式时,适配器层需要识别不同的协议微包,且在微包的后20字节填充不同的内容。
图4为UCIe协议规定的256位微包格式中微包头(Flit Hdr)域的具体格式。微包头域总共16位,包含适配器层需要填充的若干域,例如序列号(Sequence Number)、应答或者非应答信息(Ack or Nack)。
图5为PCIe 6.0协议规定的256位微包格式中数据链路管理报文头(DLLP Hdr)域的具体格式。数据链路管理报文头头域总共16位,包含适配器层需要填充的用于链路管理的回复命令(Reply Command)域和序列号(Sequence Number)域。
图4中的Flit Hdr和图5中DLLP Hdr虽然都占用了16位(2个字节)且在微包中的同一位置(第236到237字节),但是内部格式完全不同。
图6为《小芯片接口总线技术要求》协议(简称《小芯片》协议)中定义的微包格式。该协议中将第240到245字节用于保存数据链路层信息(DLLP[0:5]),同时在第0到第3字节的4个字节的ID域中定义了若干用于携带适配器层链路管理信息的域。这4字节的ID域中部分需要协议层填充,而在UCIe和PCIe协议对于第0-3字节的定义是用于传输协议层的数据。因此,《小芯片》协议标准与UCIe标准不能完全兼容,芯粒互连接口的适配器层电路无法重用。
UCIe为了提供对不同协议的更高的兼容性,提出原始(RAW)微包格式的概念。RAW微包对与微包的格式不做任何定义,微包中所有的内容都由协议层决定,由于协议层不再为适配器层保留用于保存链路管理和功耗管理信息的域,同时也没有相关域保存用于识别协议层微包和适配器层管理微包的微包类型信息,因此适配器层无法解析微包格式,即不能在DF中***管理信息,也不能将LMF或者PMF与DF共享物理链路。Intel规定使用RAW微包格式时,适配器层被配置为旁路(Bypass)模式,适配器层所有功能都被旁路,协议层到适配器层的RAW格式微包直接进入物理层。为了使用RAW微包格式,需要协议层实现额外的数据链路层功能,替代适配器层,即在该模式下,用户需要提供额外的数据链路层,实现适配器层所有功能。如图7中的(a)所示,在RAW微包格式下,UCIe为了实现芯粒互连接口兼容早期的PCIe1.0-4.0协议或者自定义协议,需要将适配器层设置为旁路模式,适配器之上必需实现完整的PCIe的TL和DLL两个层次。DLL和适配器层的接口微包为“微包相关的芯粒间接口(Flit-aware Die-to-Die Interface,FDI)”格式,适配器层与物理层的接口为“原始模式芯粒间接口(RAW Die-to-Die Interface,RDI)”格式。FDI和RDI的格式完全相同,因此UCIe在FDI接口使用RAW微包格式时,FDI格式的微包将直接旁路产生RDI格式的微包,适配器层的全部功能被旁路,PCIe的DLL层实现链路管理。如图7中的(b)所示,UCIe采用标准微包格式兼容CXL协议时,UCIe适配器层实现链路管理功能。虽然UCIe提出的原始(RAW)微包格式提供了一定程度上的协议兼容性,但是以牺牲UCIe的适配器层的功能为代价,用户必需额外设计数据链路层以实现基本的链路管理功能。
由此可见,目前芯粒互连接口要么由于微包格式定义不同导致对不同协议的兼容性不高、要么为提高兼容性而牺牲适配器层复用度且需要额外提供数据链路层的两类问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种具有更好兼容性、更强解耦性和更高复用度的面向芯粒互连接口的协议层与适配器层间接口电路及芯片,以促进芯粒互连接口适配器层和物理层的更加彻底的标准化,实现更好兼容性、更强解耦性和更高复用度的协议层与适配器层间接口。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向芯粒互连接口的协议层与适配器层间接口电路,包括发送端接口电路,所述发送端接口电路包括:
信用管理模块,位于协议层,用于生成信用信息;
数据微包产生模块,位于协议层,用于接收N个通道的报文,以及信用管理模块的信用信息,以及来自适配器层的链路管理信息和功耗管理信息,按照设定的报文打包规则将来自多个通道的报文打包产生数据微包,且在有信用信息、链路管理信息和功耗管理信息需要附加于数据微包时将其填充到数据微包中预留的字段域中,并通知信息发送方;
链路管理模块,位于适配器层,用于产生链路管理信息以对链路进行初始化和链路状态管理,所述链路管理信息包括重传控制信息以用于控制数据微包在发送端与接收端之间可靠性传输,且在数据微包产生模块无法附带链路管理信息时将链路管理信息生成独立的管理微包输出;
电源管理模块,位于适配器层,用于产生功耗管理信息以对链路的功耗状态进行管理,且在数据微包产生模块无法附带功耗管理信息时将功耗管理信息生成独立的管理微包输出;
多路仲裁器,位于适配器层,其输入端分别与数据微包产生模块、链路管理模块以及电源管理模块的输出端相连,用于将数据微包产生模块、链路管理模块以及电源管理模块输出的数据微包进行仲裁后共享物理链路传输。
可选地,所述重传控制信息包括在发送端为每一个微包分配一个请求序列号ReqNo,在接收端根据微包是否被正确接收产生应答序列号AckNo或者非应答序列号NAckNo,应答序列号AckNo表示已正确接收标识为请求序列号ReqNo的微包;非应答序列号NAckNo表示已收到标识为请求序列号ReqNo的微包,但是数据校验错误,该微包需要被重传。
可选地,所述功耗管理信息包括PM_ADP_TX和PM_ADP_RX两种类型,PM_ADP_TX类型为适配器层需要发送到对端的电源管理信息,包括请求进入某功耗状态请求信息和返回处于某功耗状态的应答信息;PM_ADP_RX类型为适配器层接收到来自对端的电源管理信息。
可选地,所述协议层与适配器层间接口电路还包括接收端接口电路,所述接收端接口电路包括:
译码器,位于适配器层,用于将来自物理链路的微包进行解析以确定其类型为管理微包还是数据微包,若类型为管理微包,则送入接收端的电源管理模块和链路管理模块,若类型为数据微包,则送入数据微包解析模块;
信用管理模块,位于协议层,用于实现发送端到接收端各个通道的流控;
数据微包解析模块,位于协议层,用于对数据微包进行解析,并将解析得到的N个通道的报文并别送入对应的通道,若数据微包中包含信用信息,则将信用信息发送给信用管理模块,若数据微包中包含链路管理信息,则将链路管理信息发送给链路管理模块,若数据微包中包含功耗管理信息,则将功耗管理信息发送给电源管理模块;
链路管理模块,位于适配器层,用于根据收到的链路管理信息进行链路状态管理;
电源管理模块,位于适配器层,用于根据收到的功耗管理信息以对链路的功耗状态进行管理;
所述译码器的输出端分别与数据微包解析模块、链路管理模块、电源管理模块相连,所述数据微包解析模块的输出端分别与信用管理模块、链路管理模块、电源管理模块相连。
可选地,所述发送端接口电路以及接收端接口电路的协议层与适配层间的数据传输格式包括下述字段域:
微包类型域,用于对协议层的数据微包、适配器层的链路管理微包LMF和功耗管理微包PMF进行统一编码,以在协议层和适配器层区分不同类型的微包,其中链路管理微包LMF用于传输链路管理消息,功耗管理微包PMF用于传输功耗管理微消息;
微包数据域,用于存放发送端的协议层对需要传输的各个通道的报文按照给定规则打包后产生的数据,接收方协议层从该域获得微包数据,并解包回到各个通道的报文;在发送端,适配器层会将附加到协议层数据微包中的链路管理信息和功耗管理信息通过层次间的接口传递到协议层,在接收端,协议层会将从数据微包中解析出链路管理信息和功耗管理信息通过层次间的接口传递到适配器层;
链路与电源管理信息域,用于在发送方和接收方分别用于保存来自不同方向的链路管理信息和电源管理信息;
其他接口信号域,用于协议层与适配器层之间的时钟、时钟门控请求与应答、层间微包流控和错误状态的传输。
此外,本发明还提供一种芯片,包括通过芯粒互连接口的多个芯粒,所述芯粒互连接口中包含所述面向芯粒互连接口的协议层与适配器层间接口电路。
可选地,所述芯粒互连接口为兼容PCIe1.0-4.0协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层电路、上层依次连接PCIe1.0-4.0协议的事务层电路PCI TL、PCIe1.0-4.0协议的协议层电路PCI PL以支持PCIe1.0-4.0协议以及兼容PCIe1.0-4.0协议的自定义协议。或者,所述芯粒互连接口为兼容PCIe5.0-6.0协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层电路、上层连接PCIe5.0-6.0协议的UCIe协议层电路以支持PCIe5.0-6.0协议。或者,所述芯粒互连接口为兼容CXL.io协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层电路、上层连接CXL.io协议的UCIe协议层电路以支持CXL.io协议。或者,所述芯粒互连接口为兼容给定的自定义协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层、上层连接给定的自定义协议的自定义协议层电路以支持给定的自定义协议。
和现有技术相比,本发明主要具有下述优点:
1)以更优的方式实现对不同协议的兼容。首先,将链路管理信息和功耗管理信息附加到协议层数据微包的电路从适配器层移动到协议层,给与协议层打包和解包逻辑更大的自由度,支持微包格式对管理信息域位置的各种不同定义,提升了对已有协议的支持度,同时为未来协议的支持提供更灵活的选择。其次,解决了Intel在UCIe协议标准中利用RAW模式实现兼容性时需要用户额外设计数据链路层以替代适配器层全部功能的问题,减轻了不同协议利用芯粒互连接口电路的设计复杂度。
2)实现了协议层与适配器层更深层次的解耦。本发明可以实现适配层不必关心来自协议层的数据微包的除了微包类型外的其他域如何定义以及位于什么位置,而更关注适配器层本身的功能设计,如可靠性传输(数据校验码的编码与解码、出错重传)、链路管理和功耗管理。协议层在设计时,也不需要按照固定的规则对链路管理和功耗管理信息在数据微包中的位置进行预留,能够基于所要兼容的目标协议对这些域的定义进行预留,实现对目标协议的兼容,也能够按照自定义的方式进行预留,实现自定义的协议。协议层与适配器在微包格式中的管理信息位置方面实现了完全解耦。
3)实现了适配器层的完全复用。Intel的UCIe为了实现对第三方(除了CXL、PCIe的其他方)协议或者自定义协议的兼容性,通过对适配器层完全旁路,仅仅复用物理层的方式实现对多协议支持。本发明改进了UCIe的多协议兼容方案,能够在进一步复用适配器层的情况下实现对多协议的支持。本发明的适配器层能够支持不同协议以及自定义协议的协议层,不需要用户额外设计数据链路层以代替和实现适配层的全部功能,实现了芯粒互连接口对多协议支持时对适配器层的完全复用。
以上优点能够促进芯粒互连接口中适配器层和物理层的更加彻底的标准化,具有更好兼容性、更强解耦性和更高复用度。其中兼容性是指不仅能支持主流的协议标准,还具备对未来可能出现的新的协议的支持;解耦性是指协议层与适配层的设计可以相互分离、独立开发。适配器层的正常工作不需要关注协议层和适配器层之间的微包格式,协议层对来自适配器层的管理信息在报文格式中进行位置预留时也可以灵活选择、不受约束;复用度是指适配器层能够支持不同协议的协议层,且在在支持已有协议和未来协议的时候能够被复用,不需要用户额外设计数据链路层以代替和实现适配层的全部功能。
附图说明
图1为现有技术中的芯粒互连接口的电路结构图。
图2为现有技术中UCIe协议定义的256位微包格式。
图3为现有技术中PCIe6.0协议定义的256位微包格式。
图4为现有技术中UCIe协议的256位微包格式中FlitHdr域的具体格式。
图5为现有技术中PCIe6.0的的256位微包格式中DLLPHdr域的具体格式。
图6为现有技术中《小芯片》协议定义的256位微包格式。
图7为现有技术中UCIe物理层兼容PCIe1.0-4.0协议层和采用CXL/CIe5.0-6.0协议的UCIe协议层的层间链路通信原理示意图。
图8为本发明实施例中协议层与适配器层间接口电路示意图。
图9为本发明实施例中协议层与适配器层间接口格式示意图。
图10为本发明实施例中链路管理信息和电源管理信息示意图。
图11为本发明实施例中接口格式及电路后兼容各协议时的接口层次结构优化示意图。
具体实施方式
如图8所示,本实施例面向芯粒互连(Die to Die 简称D2D)接口的协议层与适配器层间接口电路包括发送端接口电路,所述发送端接口电路包括:
信用管理模块,位于协议层,用于生成信用信息;
数据微包(Flit)产生模块,位于协议层,用于接收N(N为自然数)个通道的报文,以及信用管理模块的信用信息,以及来自适配器层的链路管理信息和功耗管理信息,按照设定的报文打包规则将来自多个通道的报文打包产生数据微包,且在有信用信息、链路管理信息和功耗管理信息需要附加于数据微包时将其填充到数据微包中预留的字段域中,并通知信息发送方;需要说明的是,数据微包的格式中具体哪些位需要被预留,由协议层根据所要兼容的协议的规范决定,若不需要兼容已有协议,也可以按照自定义的规范确定;在发送端的协议层,若链路和功耗管理信息被数据微包携带发送,则通知适配器层的链路管理模块和电源管理模块(发送方)信息已经被发送;
链路管理模块,位于适配器层,用于产生链路管理信息以对链路进行初始化和链路状态管理,所述链路管理信息包括重传控制信息以用于控制数据微包在发送端与接收端之间可靠性传输,且在数据微包产生模块无法附带链路管理信息时将链路管理信息生成独立的管理微包输出;
电源管理模块,位于适配器层,用于产生功耗管理信息以对链路的功耗状态进行管理,且在数据微包产生模块无法附带功耗管理信息时将功耗管理信息生成独立的管理微包输出;
多路仲裁器,位于适配器层,其输入端分别与数据微包产生模块、链路管理模块以及电源管理模块的输出端相连,用于将数据微包产生模块、链路管理模块以及电源管理模块输出的数据微包进行仲裁后共享物理链路传输。
如图10所示,本实施例中重传控制信息包括在发送端为每一个微包分配一个请求序列号ReqNo,在接收端根据微包是否被正确接收产生应答序列号AckNo或者非应答序列号NAckNo,应答序列号AckNo表示已正确接收标识为请求序列号ReqNo的微包;非应答序列号NAckNo表示已收到标识为请求序列号ReqNo的微包,但是数据校验错误,该微包需要被重传。
如图10所示,本实施例中功耗管理信息包括PM_ADP_TX和PM_ADP_RX两种类型,PM_ADP_TX类型为适配器层需要发送到对端的电源管理信息,包括请求进入某功耗状态请求信息和返回处于某功耗状态的应答信息;PM_ADP_RX类型为适配器层接收到来自对端的电源管理信息。
在发送端的适配器层,链路管理信息和功耗管理信息一方面被送到协议层,通过数据微包产生模块附加在数据微包中传递到接收方;另一方面会产生独立的管理微包(管理Flit),与数据微包通过多路仲裁器进行仲裁后共享物理链路传输。在当协议层由于缺少数据微包而在一定时间内无法携带链路管理信息和功耗管理信息发送时,链路管理信息和功耗管理信息将按照一定的规则产生管理微包独立发送。
如图8所示,协议层与适配器层间接口电路还包括接收端接口电路,所述接收端接口电路包括:
译码器,位于适配器层,用于将来自物理链路的微包进行解析以确定其类型为管理微包还是数据微包,若类型为管理微包,则送入接收端的电源管理模块和链路管理模块,若类型为数据微包,则送入数据微包解析模块;
信用管理模块,位于协议层,用于实现发送端到接收端各个通道的流控;
数据微包解析模块,位于协议层,用于对数据微包进行解析,并将解析得到的N个通道的报文并别送入对应的通道,若数据微包中包含信用信息,则将信用信息发送给信用管理模块,若数据微包中包含链路管理信息,则将链路管理信息发送给链路管理模块,若数据微包中包含功耗管理信息,则将功耗管理信息发送给电源管理模块;
链路管理模块,位于适配器层,用于根据收到的链路管理信息进行链路状态管理;
电源管理模块,位于适配器层,用于根据收到的功耗管理信息以对链路的功耗状态进行管理;
所述译码器的输出端分别与数据微包解析模块、链路管理模块、电源管理模块相连,所述数据微包解析模块的输出端分别与信用管理模块、链路管理模块、电源管理模块相连。
在接收方的适配器层,译码器模块负责来自物理链路的微包根据微包中的微包类型域解析出管理微包和数据微包两类。管理微包被送入链路管理模块和功耗管理模块,进一步解析获得所需的链路和功耗管理信息。在接收方的协议层,数据微包解析模块负责从数据微包中获得附加在其中的链路管理信息与功耗管理信息,这些信息被从协议层送入适配器层的链路管理模块与电源管理模块。数据微包解析模块也将解析出到各个通道的报文,送入对应的接收通道中。数据微包解析模块还将解析出负载在数据微包中的信用信息,送入信用管理模块。信用管理模块实现发送端到接收端各个通道的流控。
如图9所示,本实施例中发送端接口电路以及接收端接口电路的协议层与适配层间的数据传输格式包括下述字段域:
微包类型域,用于对协议层的数据微包(Data Flit,DF)、适配器层的链路管理微包LMF(Link Management Flit,LMF)和功耗管理微包PMF(Power Management Flit,PMF)进行统一编码,以在协议层和适配器层区分不同类型的微包,其中链路管理微包LMF用于传输链路管理消息,功耗管理微包PMF用于传输功耗管理微消息;
微包数据域,用于存放发送端的协议层对需要传输的各个通道的报文按照给定规则打包后产生的数据,接收方协议层从该域获得微包数据,并解包回到各个通道的报文;在发送端,适配器层会将附加到协议层数据微包中的链路管理信息和功耗管理信息通过层次间的接口传递到协议层,在接收端,协议层会将从数据微包中解析出链路管理信息和功耗管理信息通过层次间的接口传递到适配器层;
链路与电源管理信息域,用于在发送方和接收方分别用于保存来自不同方向的链路管理信息和电源管理信息;
其他接口信号域,用于协议层与适配器层之间的时钟、时钟门控请求与应答、层间微包流控和错误状态的传输。
上述字段域为协议层与适配器层间接口格式,也是指芯粒间互连(D2D)接口中协议层与适配器层的数据组织格式,接口格式除了包含无任何域定义的数据微包,还包括从适配器层到协议层的需要打包到待发送数据微包中的链路管理信息和功耗管理信息,以及从协议层到适配器的从接收到的数据微包中解析出的链路管理信息和功耗管理信息。协议层与适配器层间电路是指芯粒间互连(D2D)接口中协议层的报文打包和解包电路、协议层与适配器层之间的数据通路、适配器层的链路管理微包与功耗管理微包的产生和解析电路。在发送方,将链路管理信息和功耗管理信息附加到协议层数据微包的电路从适配器层移动到协议层,与协议层打包电路融合在一起。在接收方,将从数据微包中解析出链路管理信息和功耗管理信息的电路从适配器层移动到协议层,与协议层解包电路融合在一起。
如图10所示,协议层与适配器层之间接口中包含链路管理信息和电源管理信息。链路管理信息包括链路重传协议相关的信号,包括请求序列号(ReqNo)、应答序列号(AckNo)和非应答序列号(NAckNo)。电源管理相关的信号包括PM_ADP_TX和PM_ADP_RX。其中,PM_ADP_TX为适配器层需要发送到对端的电源管理信息(通过协议层打包发送),包括请求进入某功耗状态请求信息和返回处于某功耗状态的应答信息;PM_ADP_RX为适配器层接收到来自对端的电源管理信息(通过协议层解包获得)。
此外,本实施例还提供一种芯片,包括通过芯粒互连接口的多个芯粒,芯粒互连接口中包含所述面向芯粒互连接口的协议层与适配器层间接口电路。
图11中的(a)所示为UCIe协议为了实现芯粒互连接口兼容早期的PCIe1.0-4.0协议或者自定义协议,需要将适配器层设置为旁路模式,适配器之上必需实现完整的PCIe的TL和DLL两个层次。
如图11中的(b)所示,作为一种可选的实施方式,本实施例芯粒互连接口为兼容PCIe1.0-4.0协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层电路、上层依次连接PCIe1.0-4.0协议的事务层电路PCI TL、PCIe1.0-4.0协议的协议层电路PCI PL以支持PCIe1.0-4.0协议以及兼容PCIe1.0-4.0协议的自定义协议。采用本实施例的面向芯粒互连接口的协议层与适配器层间接口电路后,兼容PCIe1.0-4.0或自定义协议时,可以复用本发明提出的适配器层,不再需要额外增加用于链路管理的DLL层。
如图11中的(c)所示,作为一种可选的实施方式,芯粒互连接口为兼容PCIe5.0-6.0协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层电路、上层连接PCIe5.0-6.0协议的UCIe协议层电路以支持PCIe5.0-6.0协议。采用本实施例的面向芯粒互连接口的协议层与适配器层间接口电路后,通过复用本发明提出的适配器层,实现对UCIe协议中规定的PCIe5.0-6.0协议的兼容。
如图11中的(c)所示,作为一种可选的实施方式,所述芯粒互连接口为兼容CXL.io协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层电路、上层连接CXL.io协议的UCIe协议层电路以支持CXL.io协议。采用本实施例的面向芯粒互连接口的协议层与适配器层间接口电路后,通过复用本发明提出的适配器层,实现对UCIe协议中规定的CXL.io协议的兼容。
如图11中的(d)所示,作为一种可选的实施方式,所述芯粒互连接口为兼容给定的自定义协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层、上层连接给定的自定义协议的自定义协议层电路以支持给定的自定义协议。采用本实施例的面向芯粒互连接口的协议层与适配器层间接口电路后,通过复用本发明提出的适配器层,能够实现对自定义协议的支持,提高了适配器层的可复用性,降低了需要增加额外的数据链路层的复杂度,促进了芯粒互连接口中适配器层和物理层的更加彻底的标准化。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种面向芯粒互连接口的协议层与适配器层间接口电路,其特征在于,包括发送端接口电路,所述发送端接口电路包括:
信用管理模块,位于协议层,用于生成信用信息;
数据微包产生模块,位于协议层,用于接收N个通道的报文,以及信用管理模块的信用信息,以及来自适配器层的链路管理信息和功耗管理信息,按照设定的报文打包规则将来自多个通道的报文打包产生数据微包,且在有信用信息、链路管理信息和功耗管理信息需要附加于数据微包时将其填充到数据微包中预留的字段域中,并通知信息发送方;
链路管理模块,位于适配器层,用于产生链路管理信息以对链路进行初始化和链路状态管理,所述链路管理信息包括重传控制信息以用于控制数据微包在发送端与接收端之间可靠性传输,且在数据微包产生模块无法附带链路管理信息时将链路管理信息生成独立的管理微包输出;
电源管理模块,位于适配器层,用于产生功耗管理信息以对链路的功耗状态进行管理,且在数据微包产生模块无法附带功耗管理信息时将功耗管理信息生成独立的管理微包输出;
多路仲裁器,位于适配器层,其输入端分别与数据微包产生模块、链路管理模块以及电源管理模块的输出端相连,用于将数据微包产生模块、链路管理模块以及电源管理模块输出的数据微包进行仲裁后共享物理链路传输。
2.根据权利要求1所述的面向芯粒互连接口的协议层与适配器层间接口电路,其特征在于,所述重传控制信息包括在发送端为每一个微包分配一个请求序列号ReqNo,在接收端根据微包是否被正确接收产生应答序列号AckNo或者非应答序列号NAckNo,应答序列号AckNo表示已正确接收标识为请求序列号ReqNo的微包;非应答序列号NAckNo表示已收到标识为请求序列号ReqNo的微包,但是数据校验错误,该微包需要被重传。
3.根据权利要求2所述的面向芯粒互连接口的协议层与适配器层间接口电路,其特征在于,所述功耗管理信息包括PM_ADP_TX和PM_ADP_RX两种类型,PM_ADP_TX类型为适配器层需要发送到对端的电源管理信息,包括请求进入某功耗状态请求信息和返回处于某功耗状态的应答信息;PM_ADP_RX类型为适配器层接收到来自对端的电源管理信息。
4.根据权利要求3所述的面向芯粒互连接口的协议层与适配器层间接口电路,其特征在于,所述协议层与适配器层间接口电路还包括接收端接口电路,所述接收端接口电路包括:
译码器,位于适配器层,用于将来自物理链路的微包进行解析以确定其类型为管理微包还是数据微包,若类型为管理微包,则送入接收端的电源管理模块和链路管理模块,若类型为数据微包,则送入数据微包解析模块;
信用管理模块,位于协议层,用于实现发送端到接收端各个通道的流控;
数据微包解析模块,位于协议层,用于对数据微包进行解析,并将解析得到的N个通道的报文并别送入对应的通道,若数据微包中包含信用信息,则将信用信息发送给信用管理模块,若数据微包中包含链路管理信息,则将链路管理信息发送给链路管理模块,若数据微包中包含功耗管理信息,则将功耗管理信息发送给电源管理模块;
链路管理模块,位于适配器层,用于根据收到的链路管理信息进行链路状态管理;
电源管理模块,位于适配器层,用于根据收到的功耗管理信息以对链路的功耗状态进行管理;
所述译码器的输出端分别与数据微包解析模块、链路管理模块、电源管理模块相连,所述数据微包解析模块的输出端分别与信用管理模块、链路管理模块、电源管理模块相连。
5.根据权利要求4所述的面向芯粒互连接口的协议层与适配器层间接口电路,其特征在于,所述发送端接口电路以及接收端接口电路的协议层与适配层间的数据传输格式包括下述字段域:
微包类型域,用于对协议层的数据微包、适配器层的链路管理微包LMF和功耗管理微包PMF进行统一编码,以在协议层和适配器层区分不同类型的微包,其中链路管理微包LMF用于传输链路管理消息,功耗管理微包PMF用于传输功耗管理微消息;
微包数据域,用于存放发送端的协议层对需要传输的各个通道的报文按照给定规则打包后产生的数据,接收方协议层从该域获得微包数据,并解包回到各个通道的报文;在发送端,适配器层会将附加到协议层数据微包中的链路管理信息和功耗管理信息通过层次间的接口传递到协议层,在接收端,协议层会将从数据微包中解析出链路管理信息和功耗管理信息通过层次间的接口传递到适配器层;
链路与电源管理信息域,用于在发送方和接收方分别用于保存来自不同方向的链路管理信息和电源管理信息;
其他接口信号域,用于协议层与适配器层之间的时钟、时钟门控请求与应答、层间微包流控和错误状态的传输。
6.一种芯片,包括通过芯粒互连接口的多个芯粒,其特征在于,所述芯粒互连接口中包含权利要求1~5中任意一项所述面向芯粒互连接口的协议层与适配器层间接口电路。
7. 根据权利要求6所述的芯片,其特征在于,所述芯粒互连接口为兼容PCIe1.0-4.0协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层电路、上层依次连接PCIe1.0-4.0协议的事务层电路PCI TL、PCIe1.0-4.0协议的协议层电路PCI PL以支持PCIe1.0-4.0协议以及兼容PCIe1.0-4.0协议的自定义协议。
8.根据权利要求6所述的芯片,其特征在于,所述芯粒互连接口为兼容PCIe5.0-6.0协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层电路、上层连接PCIe5.0-6.0协议的UCIe协议层电路以支持PCIe5.0-6.0协议。
9.根据权利要求6所述的芯片,其特征在于,所述芯粒互连接口为兼容CXL.io协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层电路、上层连接CXL.io协议的UCIe协议层电路以支持CXL.io协议。
10.根据权利要求6所述的芯片,其特征在于,所述芯粒互连接口为兼容给定的自定义协议的芯粒互连接口,所述芯粒互连接口复用了所述面向芯粒互连接口的协议层与适配器层间接口电路的适配器层,且所述适配器层下层连接物理层、上层连接给定的自定义协议的自定义协议层电路以支持给定的自定义协议。
CN202410241558.2A 2024-03-04 2024-03-04 面向芯粒互连接口的协议层与适配器层间接口电路及芯片 Active CN117834755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410241558.2A CN117834755B (zh) 2024-03-04 2024-03-04 面向芯粒互连接口的协议层与适配器层间接口电路及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410241558.2A CN117834755B (zh) 2024-03-04 2024-03-04 面向芯粒互连接口的协议层与适配器层间接口电路及芯片

Publications (2)

Publication Number Publication Date
CN117834755A true CN117834755A (zh) 2024-04-05
CN117834755B CN117834755B (zh) 2024-05-10

Family

ID=90521311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410241558.2A Active CN117834755B (zh) 2024-03-04 2024-03-04 面向芯粒互连接口的协议层与适配器层间接口电路及芯片

Country Status (1)

Country Link
CN (1) CN117834755B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007022694A1 (fr) * 2005-08-26 2007-03-01 Huawei Technologies Co., Ltd. Pile de protocoles utilisateur et procede de transfert sans perte
US7346707B1 (en) * 2002-01-16 2008-03-18 Advanced Micro Devices, Inc. Arrangement in an infiniband channel adapter for sharing memory space for work queue entries using multiply-linked lists
CN102394732A (zh) * 2011-09-06 2012-03-28 中国人民解放军国防科学技术大学 一种多微包并行处理结构
US20140006670A1 (en) * 2012-06-27 2014-01-02 Mahesh Wagh Controlling A Physical Link Of A First Protocol Using An Extended Capability Structure Of A Second Protocol
CN111104775A (zh) * 2019-11-22 2020-05-05 核芯互联科技(青岛)有限公司 一种片上网络拓扑结构及其实现方法
WO2020125839A1 (de) * 2018-12-18 2020-06-25 GRID INVENT gGmbH Elektronisches element und elektrisch angesteuertes anzeigeelement
US20220222198A1 (en) * 2021-12-22 2022-07-14 Narasimha Lanka Sideband interface for die-to-die interconnects
US20220342841A1 (en) * 2021-12-22 2022-10-27 Swadesh Choudhary Die-to-die adapter
CN115563046A (zh) * 2022-09-29 2023-01-03 奇异摩尔(上海)集成电路设计有限公司 适用于Chiplet小芯片互联的高速接口、方法及***
CN115794731A (zh) * 2023-01-29 2023-03-14 北京超摩科技有限公司 一种用于芯粒间多通道数据链路传输的解耦控制方法
CN116325706A (zh) * 2020-08-31 2023-06-23 美光科技公司 网络信用返回机制
CN117331881A (zh) * 2023-10-07 2024-01-02 北京微电子技术研究所 一种适用于宇航chiplet互联协议的数据传输***
CN117544433A (zh) * 2023-10-24 2024-02-09 海光信息技术股份有限公司 一种芯粒、低功耗控制方法、芯片及计算机设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346707B1 (en) * 2002-01-16 2008-03-18 Advanced Micro Devices, Inc. Arrangement in an infiniband channel adapter for sharing memory space for work queue entries using multiply-linked lists
WO2007022694A1 (fr) * 2005-08-26 2007-03-01 Huawei Technologies Co., Ltd. Pile de protocoles utilisateur et procede de transfert sans perte
CN102394732A (zh) * 2011-09-06 2012-03-28 中国人民解放军国防科学技术大学 一种多微包并行处理结构
US20140006670A1 (en) * 2012-06-27 2014-01-02 Mahesh Wagh Controlling A Physical Link Of A First Protocol Using An Extended Capability Structure Of A Second Protocol
WO2020125839A1 (de) * 2018-12-18 2020-06-25 GRID INVENT gGmbH Elektronisches element und elektrisch angesteuertes anzeigeelement
CN111104775A (zh) * 2019-11-22 2020-05-05 核芯互联科技(青岛)有限公司 一种片上网络拓扑结构及其实现方法
CN116325706A (zh) * 2020-08-31 2023-06-23 美光科技公司 网络信用返回机制
US20220222198A1 (en) * 2021-12-22 2022-07-14 Narasimha Lanka Sideband interface for die-to-die interconnects
US20220342841A1 (en) * 2021-12-22 2022-10-27 Swadesh Choudhary Die-to-die adapter
CN115563046A (zh) * 2022-09-29 2023-01-03 奇异摩尔(上海)集成电路设计有限公司 适用于Chiplet小芯片互联的高速接口、方法及***
CN115794731A (zh) * 2023-01-29 2023-03-14 北京超摩科技有限公司 一种用于芯粒间多通道数据链路传输的解耦控制方法
CN117331881A (zh) * 2023-10-07 2024-01-02 北京微电子技术研究所 一种适用于宇航chiplet互联协议的数据传输***
CN117544433A (zh) * 2023-10-24 2024-02-09 海光信息技术股份有限公司 一种芯粒、低功耗控制方法、芯片及计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHIQIANG CHEN等: "Traversal Packets: Opportunistic Bypass Packets for Deadlock Recovery", 《 IEEE DESIGN & TEST 》, 12 September 2022 (2022-09-12) *
熊国杰等: "一种面向Chiplet互连的高效传输协议设计与实现", 《计算机工程与科学》, vol. 45, no. 8, 15 August 2023 (2023-08-15) *

Also Published As

Publication number Publication date
CN117834755B (zh) 2024-05-10

Similar Documents

Publication Publication Date Title
US8352628B2 (en) Method for transferring data from a source target to a destination target, and corresponding network interface
US9264368B2 (en) Chip-to-chip communications
CN102449614B (zh) 用于耦合代理的分组化接口
US11061850B2 (en) Multiple transaction data flow control unit for high-speed interconnect
US8208470B2 (en) Connectionless packet data transport over a connection-based point-to-point link
US10282341B2 (en) Method, apparatus and system for configuring a protocol stack of an integrated circuit chip
CN105357147B (zh) 一种高速高可靠的片上网络适配单元
CN111131091A (zh) 一种面向片上网络的片间互连方法和***
WO2021208734A1 (zh) 一种串行总线的数据传输方法及通信装置
KR101679333B1 (ko) 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템
US20120030380A1 (en) Transmission device, transmission method, and control program for transmission device
US20210232520A1 (en) Logical physical layer interface specification support for pcie 6.0, cxl 3.0, and upi 3.0 protocols
CN112148651B (zh) 一种增强型rapidio互联装置及设备
CN116795763B (zh) 基于axi协议的数据分组传输的方法、片上***和芯片
US8260994B2 (en) Interface for prototyping integrated systems
CN104598430B (zh) 一种cpu互联扩展***的网络接口互联设计与控制***
CN117834755B (zh) 面向芯粒互连接口的协议层与适配器层间接口电路及芯片
CN117331881A (zh) 一种适用于宇航chiplet互联协议的数据传输***
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
US7346078B2 (en) Processing of received data within a multiple processor device
US12001375B2 (en) Interconnect system
CN116685959A (zh) 支持pcie 6.0、cxl 3.0和upi 3.0协议的逻辑物理层接口规范
CN117692535B (zh) 一种PCIe协议报文保序装置
CN118210749A (zh) 基于SerDes的AXI3总线片间桥接方法及***
NL2029960A (en) Logical physical layer interface specification support for pcie 6.0, cxl 3.0, and upi 3.0 protocols

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