一种兼容多种芯粒互连接口的层次化链路管理方法及芯片
- 国知局
- 2024-07-31 22:47:32
本发明涉及芯粒(chiplet)间高速互连接口领域,具体涉及一种兼容多种芯粒互连接口的层次化链路管理方法及芯片。
背景技术:
1、芯粒技术是片上系统集成(system on chip, soc)发展到当今时代,摩尔定律逐渐放缓的情况下,持续提高集成度和芯片算力的重要途径。近年来工业界已经有多个基于芯粒的产品面市,芯粒技术已经是芯片厂商比较依赖的技术手段。
2、与传统单片集成电路技术(monolithic integrated circuit)不同的是,芯粒技术需要混合来自多家芯片厂商或多个工艺节点的裸片,如果不建立统一的d2d(die-to-die)接口互连协议,不同厂商的ip/芯粒将无法互连。因此,行业亟需一个统一的d2d接口互连协议来规范芯粒生态的发展。
3、高兼容性是芯粒接口互连协议的一大关键优势。兼容多种协议带来了更自由、更多样的数据传输方式,兼容多种数据通信场景,并支持更广泛的使用模式。同时,广泛兼容主流通信协议能够被现有支持主流通信协议的应用场景(如通用cpu、gpu 和 fpga等)所接纳,融入主流互连接口协议生态系统,加速生态系统的构建和发展,避免与主流互连接口协议发生市场竞争。目前主流互连接口协议有pcie,cxl,ucie等。上述主流协议占据了高速计算机互连接口标准的大部分市场,并且已经构建良好的、成熟的互连生态系统。自主研发互连接口协议基本要考虑兼容上述协议,否则难以在市场中占据一席之地。
4、通常来说,芯粒互连接口被定义成三层,分别是协议层,适配层以及物理层。一般来说,协议层主要负责具体协议流程、虚通道管理和流量控制等,适配层则主要负责检错和纠错、重传、链路和电源管理。物理层负责报文在链路上的传输,一般分为逻辑物理层(media access layer,mac)和电气物理层(physical media attachment layer,pma)。逻辑物理层主要负责与适配层之间的数据交互,不同互连接口协议的逻辑物理层在单lane大小、lane数量配置、加解扰方式、数据通道结构(主带边带)存在较大差异;电气物理层是物理层的模拟接口,包括了差分信号驱动等模拟电路,不同互连接口协议的电气物理层在端口信号线数量、串并行结构、封装类型上有着显著差别。因此,芯粒间互连接口物理层的报文传输通道一般来说不能相互兼容。然而,物理层的链路管理机制则表现出统一性和可兼容性的特点,具体体现在,报文在物理层传输过程中具有公共、统一的管理流程:1、上电后,都需要进行链路初始化,进行参数配置和链路训练,保证发送端和接收端握手成功,能够正常发送和接收报文;2、链路不会每时每刻都在传输报文,面对无报文传输的实际场景,都需要进行电源管理,设置多级低功耗模式,以降低功耗开销;3、面对链路可能出现的链路错误、链路关闭等异常工作情况,都需要进行链路管理,以处理上述异常工作情况,保证链路正常工作。因此,兼容不同协议物理层的报文传输通道难以实现,但是兼容物理层的链路管理机制具有可行性,并且也具有一定的优势:兼容共同的链路管理机制,其实就是复用了相同功能的硬件电路;相比于完全独立、隔离的两套链路管理机制的实现方案,兼容共同的链路管理机制节约了重复功能的硬件开销,降低了能耗,同时又能保证两套链路管理机制能够正常工作。然而,目前已经出台的芯粒接口互连协议的主要工作集中在接口报文格式定义、层次定义、各层接口信号定义等报文传输通道结构细节上的探讨与制定,并未对链路管理机制的实现进行深入考量。部分芯粒接口互连协议在链路管理机制方面存在定义不完备、形式不统一、细节不清晰等问题,自身不仅需要考虑链路管理机制的进一步完善以及具体细节问题,还需考虑兼容其他协议时,与其他协议的链路管理机制的兼容问题。
5、pcie物理层的链路管理机制由一套第一链路训练状态机ltssm(link trainingand status state machine)实现。如图1所示,第一链路训练状态机ltssm由检测detect、轮询polling、配置configuration、链路禁用disabled、热重置hot reset、回环测试loopback、l0、l0s、l1、l2和恢复recovery共11个状态组成,其中l0、l0s、l1、l2为四种级别的能耗状态,其中l0为正常工作状态,l0s为一级低功耗状态,l1为二级低功耗状态,l2为三级低功耗状态,这些11个状态分别与pcie的链路训练、链路重训练、主动电源管理(activestate power management,aspm)和系统软件的电源管理等相关。cxl协议基于pcie规范物理和电气接口,直接使用pcie的物理层,因此物理层的链路管理机制与pcie完全相同。ucie物理层的链路管理机制由一套第二链路训练状态机ltsm(link training state machine)实现,如图2所示,第二链路训练状态机ltsm由复位状态reset、边带初始化状态sbinit、主带初始化状态mbinit、主带训练状态mbtrain、链路初始化linkinit、激活active、物理层重训练phyretrain、l1、l2和训练错误trainerror共10个状态组成。这些状态分别与ucie的主带边带训练、链路错误管理、电源管理等相关。其中l1状态与l2状态在一定条件下可以合并为一个状态。因此,不同芯粒互连接口协议的链路管理机制的兼容问题,关键是如何实现物理层的链路管理状态机的兼容。如何实现不同芯粒互连接口协议的物理层的链路管理状态机的兼容,已成为一项亟待解决的关键技术问题。
技术实现思路
1、本发明要解决的技术问题:针对现有技术的上述问题,提供一种兼容多种芯粒互连接口的层次化链路管理方法及芯片,本发明旨在实现一种可兼容多种芯粒互连接口协议的状态机的链路训练状态机,使得进行多种芯粒互连接口协议兼容时可兼容不同芯粒互连接口协议的物理层的链路管理。
2、为了解决上述技术问题,本发明采用的技术方案为:
3、一种兼容多种芯粒互连接口的层次化链路管理方法,包括:
4、s101,建立由主层次和子层次状态构成的层次化的通用型链路训练状态机;
5、s102,根据物理层所采用的芯粒互连接口的协议配置通用型链路训练状态机,使得通用型链路训练状态机在主层次上兼容物理层所采用的芯粒互连接口协议对应的链路训练状态机、在主层次以下的子层次上实现物理层所采用的芯粒互连接口协议对应的链路训练状态机的差异化实现,以用于链路初始化时的链路训练使得发送端和接收端握手成功并正常发送和接收报文。
6、可选地,步骤s101中建立的层次化的通用型链路训练状态机包括复位状态reset、初始化训练状态init、正常工作状态l0、一级低功耗状态l0s、二级低功耗状态l1、三级低功耗状态l2、重训练状态retrain、链路管理状态manage八个主状态,主状态的名字和功能固定,主状态的部分状态转换条件为功能实现必需且不可配置,部分状态转换条件为根据不同芯粒互连接口协议灵活实现且可配置;每一个主状态下包含可配置的一个或多个子状态,所述子状态的全部参数可配置,所述全部参数包括个数、名字、功能、进入条件、退出条件和状态转换条件。
7、可选地,功能实现必需且不可配置的状态转换条件包括:状态转换条件1:链路复位完成,则从复位状态reset进入初始化训练状态init;状态转换条件2:链路初始化配置和链路训练完成,则从初始化训练状态init进入正常工作状态l0;状态转换条件3:在正常工作状态l0下,如果检测到二级低功耗状态进入的电源管理请求,则从正常工作状态l0进入二级低功耗状态l1;状态转换条件4:在正常工作状态l0下,如果检测到三级低功耗状态l2进入的电源管理请求,则从正常工作状态l0进入三级低功耗状态l2;状态转换条件5:在三级低功耗状态l2下,如果检测到三级低功耗状态退出的链路唤醒请求,则从三级低功耗状态l2进入复位状态reset,三级低功耗状态l2下只保留电源,链路被关闭,如果链路需要从三级低功耗状态l2恢复到正常工作状态l0,首先需要进入复位状态reset进行链路复位,再进入初始化训练状态init进行链路初始化配置和训练,以上完成后才能进入正常工作状态l0;状态转换条件6:在正常工作状态l0下,如果检测到发生链路错误或远程发送来的物理层重训练请求,则从正常工作状态l0进入重训练状态retrain; 状态转换条件7:在重训练状态retrain下,如果完成了链路的重训练,则从重训练状态进入初始化训练状态init;状态转换条件8:在链路管理状态manage下,如果完成了对非正常工作情况的处理,则从链路管理状态manage进入复位状态reset;根据不同芯粒互连接口协议灵活实现且可配置的状态转换条件包括:初始化训练状态init进入链路管理状态manage、重训练状态retrain的状态转换条件,重训练状态retrain进入正常工作状态l0和链路管理状态manage的状态转换条件,正常工作状态l0进入一级低功耗状态l0s的状态转换条件,一级低功耗状态l0s进入正常工作状态l0以及重训练状态retrain的状态转换条件,二级低功耗状态l1进入初始化训练状态init以及重训练状态retrain的状态转换条件,以及链路管理状态manage进入重训练状态retrain的状态转换条件。
8、可选地,步骤s102中根据物理层所采用的芯粒互连接口的协议配置通用型链路训练状态机包括:
9、s201,配置通用型链路训练状态机的主状态及其可配置的部分状态转换条件,使得主状态及其状态转换条件兼容物理层所采用的芯粒互连接口协议对应的链路训练状态机;
10、s202,配置通用型链路训练状态机的主状态下的子状态及其可配置的参数,使得主状态下的子状态及其可配置的参数兼容物理层所采用的芯粒互连接口协议对应的链路训练状态机。
11、可选地,步骤s102中物理层所采用的芯粒互连接口的协议为pcie协议,物理层所采用的芯粒互连接口协议对应的链路训练状态机为第一链路训练状态机ltssm时,步骤s201中配置通用型链路训练状态机的主状态及其可配置的部分状态转换条件时,包括将重训练状态retrain视为第一链路训练状态机ltssm的链路恢复状态recovery,并针对根据不同芯粒互连接口协议灵活实现且可配置的状态转换条件,将二级低功耗状态l1进入初始化训练状态init的状态转换条件配置为不支持,其余可配置的状态转换条件配置为支持。
12、可选地,步骤s102中物理层所采用的芯粒互连接口的协议为pcie协议,物理层所采用的芯粒互连接口协议对应的链路训练状态机为第一链路训练状态机ltssm时,步骤s202中配置通用型链路训练状态机的主状态下的子状态及其可配置的参数时,包括针对初始化训练状态init建立第一链路训练状态机ltssm的检测detect、轮询polling、配置configuration对应的三个子状态,且状态转换条件1从复位状态reset进入初始化训练状态init的检测detect子状态,配置检测detect、轮询polling两者双向转换的状态转换条件,轮询polling向配置configuration单向转换的状态转换条件,配置configuration向检测detect单向转换的状态转换条件,且配置configuration子状态作为初始化训练状态init和除复位状态reset以外的其他主状态的交互状态;针对链路管理状态manage建立第一链路训练状态机ltssm的回环测试loopback、热复位hot reset和链路禁用disabled对应的三个子状态,配置回环测试loopback、热复位hot reset和链路禁用disabled三个子状态到复位状态reset的状态转换条件,初始化训练状态init到回环测试loopback、链路禁用disabled两个子状态的状态转换条件,重训练状态retrain到回环测试loopback、热复位hot reset和链路禁用disabled三个子状态的状态转换条件。
13、可选地,步骤s102中物理层所采用的芯粒互连接口的协议为ucie协议,物理层所采用的芯粒互连接口协议对应的链路训练状态机为第二链路训练状态机ltsm时,步骤s201中配置通用型链路训练状态机的主状态及其可配置的部分状态转换条件时,包括将重训练状态retrain视为第二链路训练状态机ltsm的物理层重训练状态phyretrain,正常工作状态l0视为第二链路训练状态机ltsm的激活状态acitive,将一级低功耗状态l0s禁用,并针对根据不同芯粒互连接口协议灵活实现且可配置的状态转换条件,将一级低功耗状态l0s相关的所有状态转换条件配置为不支持,将二级低功耗状态l1进入重训练状态retrain的状态转换条件配置为不支持,将初始化训练状态init进入链路管理状态manage、重训练状态retrain的状态转换条件配置为不支持,将链路管理状态manage、重训练状态retrain两者相互转换的状态转换条件配置为不支持,将重训练状态retrain进入正常工作状态l0的状态转换条件配置为不支持,其余可配置的状态转换条件配置为支持。
14、可选地,步骤s102中物理层所采用的芯粒互连接口的协议为ucie协议,物理层所采用的芯粒互连接口协议对应的链路训练状态机为第二链路训练状态机ltsm时,步骤s202中配置通用型链路训练状态机的主状态下的子状态及其可配置的参数时包括针对初始化训练状态init建立第二链路训练状态机ltsm的边带初始化状态sbinit、主带初始化状态mbinit、主带训练状态mbtrain和链路初始化linkinit对应的四个子状态,并依次配置边带初始化状态sbinit进入主带初始化状态mbinit的状态转换条件,主带初始化状态mbinit进入主带训练状态mbtrain的状态转换条件,主带训练状态mbtrain进入链路初始化linkinit的状态转换条件,且状态转换条件1从复位状态reset进入初始化训练状态init的边带初始化状态sbinit子状态,链路初始化linkinit在状态转换条件满足时进入正常工作状态l0,二级低功耗状态l1和重训练状态retrain在状态转换条件满足时进入初始化训练状态init为进入主带训练状态mbtrain子状态;并针对链路管理状态manage建立第二链路训练状态机ltsm的训练错误状态trainerror建立对应的子状态,并配置训练错误状态trainerror到复位状态reset的状态转换条件。
15、此外,本发明还提供一种芯片,包括采用芯粒互连接口相连的多种芯粒,以及用于实现多种芯粒之间通信的链路管理模块,所述链路管理被编程或配置以执行所述兼容多种芯粒互连接口的层次化链路管理方法。
16、和现有技术相比,本发明主要具有下述优点:
17、1、灵活性。层次化的链路管理架构只要求在主层次上进行兼容,无需考虑子层次上子状态的兼容问题,兼容方法灵活,子状态设计灵活。层次化的方法使得不同状态、不同状态转换条件的链路训练状态机之间的兼容成为可能。
18、2、可拓展性。层次化的链路管理架构使得链路训练状态机之间的兼容不再局限于特定的某两个链路训练状态机,而是可以拓展到多种不同协议和不同链路。拓展到其他链路时,只需将实现链路管理、电源管理、链路训练功能的状态作为主状态,其他状态作为子状态,调整链路训练状态机的层次关系,即可实现多种链路训练状态机之间的兼容。
19、3、高兼容性。经过配置,本发明能够完全兼容包括pcie协议物理层的第一链路训练状态机ltssm和ucie协议物理层的第二链路训练状态机ltsm在内的各种芯粒互连接口协议对应的链路训练状态机,解决了主流芯粒互连接口协议(pcie、ucie、cxl)物理层的兼容问题,为兼容主流芯粒互连接口协议提供可实现的方案。
20、4、完备性。本发明提供了一个完整的物理层链路训练状态机框架,涵盖了所有处理链路事务所需的状态,能够实现报文在物理层传输过程中全部的管理流程,为自主研发芯粒间高速互连接口协议提供详细方案参考;并且,该链路训练状态机同时实现了兼容主流芯粒互连接口协议链路训练状态机的功能,避免了重复的代码开发,节省了代码开发的成本。
本文地址:https://www.jishuxx.com/zhuanli/20240730/194633.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。