CN113227991A - 替代协议选择 - Google Patents
替代协议选择 Download PDFInfo
- Publication number
- CN113227991A CN113227991A CN201980084418.6A CN201980084418A CN113227991A CN 113227991 A CN113227991 A CN 113227991A CN 201980084418 A CN201980084418 A CN 201980084418A CN 113227991 A CN113227991 A CN 113227991A
- Authority
- CN
- China
- Prior art keywords
- protocol
- controller
- link
- data
- pcie
- 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
Links
- 238000012549 training Methods 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000004891 communication Methods 0.000 claims abstract description 27
- 230000009977 dual effect Effects 0.000 claims abstract description 26
- 230000004044 response Effects 0.000 claims abstract description 13
- 230000002093 peripheral effect Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/376—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
提供了具有双协议能力的一种链路控制器、方法和数据处理平台。所述链路控制器包括用于通过通信链路提供数据通道的物理层电路、根据第一协议进行操作的第一数据链路层控制器以及根据第二协议进行操作的第二数据链路层控制器。多路复用器/多路分用器将两个数据链路层控制器都选择性地连接到所述物理层电路。链路训练和状态机(LTSSM)选择性地控制所述物理层电路通过所述数据通道传输和接收第一训练有序集,并且在所述训练有序集内通过所述数据通道传输和接收替代协议协商信息。响应于接收到所述替代协议协商信息,所述LTSSM使所述多路复用器/多路分用器将所述物理层电路选择性地连接到所述第二数据链路层控制器。
Description
背景技术
系统互连总线标准提供了芯片上不同元件之间,或者具有多芯片模块、电路板、服务器节点或者在一些情况下整个服务器机架或联网系统的不同元件之间的通信。例如,流行的外围部件互连高速(PCIe或PCI Express)是提供母板上各元件之间的互连并连接到扩展卡的高速串行扩展总线。对于多处理器系统,并且尤其是其中不同芯片上的多个处理器互连并共享存储器的系统,需要改进的系统互连标准。
多处理器计算资源和相关联的存储器的互连带来了一些挑战。通常,随着互连处理器和加速器数量的增加,对存储器容量的要求也增加。此外,新的互连标准可能与较旧的标准(诸如PCIe)不兼容,并且因此使采用较旧标准的各种系统部件和扩展装置变得过时。
附图说明
图1以框图形式示出了根据现有技术的具有PCIe存储器模块的数据处理平台。
图2以框图形式示出了根据一些实施方案的数据处理平台。
图3以框图形式示出了根据一些实施方案的另一数据处理平台。
图4以流程图形式示出了用于操作现有技术的链路训练和状态机(link trainingand status state machine,LTSSM)的状态图。
图5以流程图形式示出了根据一些实施方案的用于使用增强的LTSSM选择替代协议的示例过程。
图6以符号序列图形式示出了根据一些实施方案的未修改的有序训练集。
图7以符号序列图形式示出了根据一些实施方案的已修改的有序训练集。
在以下描述中,在不同附图中使用相同的附图标记来指示类似或相同的项目。除非另有说明,术语“耦接的”及其相关联的动词形式包括通过本领域已知的方法的直接连接和间接电气连接,并且除非另有说明,直接连接的任何描述意味着使用合适的间接电气连接形式的替代实施方案。
具体实施方案
链路控制器包括物理层电路、第一和第二数据链路层控制器、多路复用器(multiplexer)/多路分用器(demultiplexer)以及链路训练和状态机(LTSSM)。链路控制器连接到通信链路,并通过通信链路提供数据通道。第一数据链路层控制器根据第一协议进行操作,并且第二数据链路层控制器根据第二协议进行操作。多路复用器/多路分用器耦接到第一数据链路层控制器、第二数据链路层控制器和物理层电路。LTSSM选择性地控制物理层电路通过数据通道传输和接收第一训练有序集,并且在训练有序集内通过数据通道传输和接收替代协议协商信息。LTSSM还控制物理层通过数据通道传输和接收数据速率信息和链路宽度信息。响应于接收到替代协议协商信息,LTSSM使多路复用器/多路分用器将物理层电路选择性地连接到第二数据链路层控制器。
一种方法包括使用连接到PCIe通信链路的链路控制器电路来传输和接收第一训练有序集,以建立用于外围部件互连高速(PCIe)通信链路的位锁定和符号锁定。使用连接到PCIe通信链路的链路控制器电路来传输和接收已修改的训练有序集。在已修改的训练有序集内,通过数据通道传输和接收替代协议协商信息。也使用链路控制器电路传输数据速率信息和链路宽度信息。响应于没接收到替代协议协商信息,所述方法针对第一协议使多路复用器/多路分用器将物理层电路选择性地连接到第一数据链路层控制器。响应于接收到替代协议协商信息,所述方法针对第二协议使多路复用器/多路分用器将物理层电路选择性地连接到第二数据链路层控制器。随后操作PCIe通信链路。
数据处理平台包括中央处理单元和连接到中央处理单元的双协议链路控制器。双协议链路控制器包括连接到外围部件互连高速(PCIe)通信链路的物理层电路、根据第一协议进行操作的第一数据链路层控制器、根据第二协议进行操作的第二数据链路层控制器、以及耦接到第一数据链路层控制器、第二数据链路层控制器和物理层电路的多路复用器/多路分用器。链路训练和状态机(LTSSM)控制物理层电路以:(a)通过PCIe通信链路传输和接收训练有序集;(b)在训练有序集内,通过PCIe通信链路传输和接收替代协议协商信息;以及(c)响应于接收到替代协议协商信息,使多路复用器/多路分用器将物理层电路连接到第二数据链路层控制器。
图1以框图形式示出了根据现有技术的具有PCIe存储器模块120的数据处理平台100。数据处理平台100包括处理器110,所述处理器具有存储器控制器112和连接到PCIe总线150的PCIe端口114。用于数据处理平台100的扩展存储器由连接到PCIe总线150的PCIe存储器模块120提供。PCIe存储器模块120包括与PCIe总线150通信的存储器控制器122,以及存储类存储器(SCM)124,所述存储类存储器包括提供永久性存储器存储的多个存储器芯片。
图2以框图形式示出了根据一些实施方案的数据处理平台200。处理器210使用Gen-Z协议与存储器模块230通信,Gen-Z协议是用于增强现有和新兴存储器技术的存储器解决方案的数据访问技术。Gen-Z协议是在Gen-Z Consortium公司发布的Gen-Z核心规范1.0中以及在所述标准的更高版本中找到的。Gen-Z提供了一种抽象装置接口,所述抽象装置接口支持各种存储器类型,包括多种可字节寻址的持久性存储类存储器技术。Gen-Z提供了用于结构附接存储器的平台,从点对点连接扩展到通过本地高速总线和交换总线扩展的本地存储器,再到机架规模的解决方案。为了支持各种当前和将来的存储器子系统,Gen-Z在处理器与其存储器子系统之间提供了通用接口。使用该接口,部件使用存储器语义请求与应用特定的语义覆盖进行通信,以导出含义并驱动类型特定的动作。通常,主机处理器210通过PCIe总线220与存储器模块230通信,但是能够识别出Gen-Z装置已连接并且将双协议链路控制器209配置为使用Gen-Z协议作为替代协议进行通信。
主机处理器210包括由片上互连网络204互连的四个处理器核心202。该数量的处理器核心202仅是示例,并且用于各种数据处理平台的处理器核心通常将包括更多的处理器核心,诸如全部与片上互连网络连接的32或64个核心。如图所示,片上互连网络204将每个处理器核心连结到双协议链路控制器209的PCIe输入以用于PCIe流量,并且链接到Gen-Z存储器控制器212以进行对存储器模块230的存储器访问。在该实施方案中,双协议链路控制器209包括Gen-Z/PCIe外部端口,其包括被增强以包括Gen-Z替代协议能力的PCIe硬件。通过虚拟Gen-Z端口208、Gen-Z事务层控制器211、Gen-Z数据链路层控制器213和PCIe物理层电路216提供该能力。双协议链路控制器209提供与存储器模块230的Gen-Z协议互连,所述存储器模块覆盖在PCIe总线220上的PCIe物理链路上。
Gen-Z存储器控制器212通常包括处理器存储器管理逻辑,并且可以包括其他逻辑电路,诸如请求队列或存储器目录。Gen-Z存储器控制器212通过到Gen-Z协议层206的连接发送和接收存储器请求和响应,所述Gen-Z协议层根据Gen-Z协议准备和格式化消息。Gen-Z协议层206连接到Gen-Z端口208,所述Gen-Z端口连接到双协议链路控制器209的Gen-Z事务层控制器211。
双协议链路控制器209包括Gen-Z事务层控制器211,所述Gen-Z事务层控制器连接到Gen-Z端口208,用于在上游方向上通过Gen-Z端口208传送存储器访问请求。Gen-Z事务层控制器211连接到Gen-Z数据链路层控制器213,用于在下游方向上提供和接收Gen-Z数据包。Gen-Z数据链路层控制器213通常通过PCIe总线220管理Gen-Z通信链路,从而执行链路设置、对数据包进行排序并且通过链路控制数据流。
多路复用器/多路分用器215选择性地将PCIe物理层电路216连接到Gen-Z数据链路层控制器213或PCIe数据链路层控制器214,从而允许通过PCIe物理层电路216完成Gen-Z链路或PCIe链路。PCIe物理层电路216连接到多路复用器/多路分用器215,并且进行操作以创建用于通过PCIe总线220通过标记为“TX”的单向传输端口进行传输的信号,并且通过标记为“RX”的单向接收端口来接收信号。多路复用器/多路分用器215的操作由通过链路训练和状态机(LTSSM)217在双协议链路控制器209的初始化期间提供的设置控制,如下面进一步描述的。
片上互连204包括处理器202通过与PCIe事务层控制器212的连接使用PCIe协议通过双协议链路控制器209进行通信的另一条路径。为正常的PCIe流量提供该路径,从而允许将支持PCIe的装置连接到PCIe总线220,以作为对用Gen-Z协议进行操作的存储器模块230的替代或补充。PCIe装置可以连接到PCIe总线220的与存储器模块230所使用的那些不同的PCIe通道。PCIe事务层控制器212连接到PCIe数据链路层控制器214,所述PCIe数据链路层控制器通过多路复用器/多路分用器215选择性地连接到PCIe物理层电路216,如下面进一步描述的。PCIe事务层控制器212和PCIe数据链路层控制器214如本领域中已知的那样操作。
可以用硬件、固件和软件的各种组合来实现双协议链路控制器209的框。在该实施方案中,双协议链路控制器209完全以硬件实现。在另一示例性实现方式中,PCIe物理层电路216以硬件实现,PCIe事务层控制器212以软件实现,而PCIe数据链路层控制器214部分以硬件实现,部分以软件实现。Gen-Z协议层206以软件实现,Gen-Z事务层控制器211部分以硬件实现,部分以软件实现,而Gen-Z数据链路层控制器213以硬件实现。
存储器模块230可以是具有PCIe连接器的扩展卡类型模块,或者可以采用其他扩展模块的形式和/或内置于承载主机处理器210的母板中。存储器模块230包括存储器234,所述存储器具有通过高速本地总线连接到接口控制器231的一个或多个存储器芯片。接口控制器231包括媒体控制器232、Gen-Z协议层206、虚拟Gen-Z端口208和链路控制器233。媒体控制器通常执行对存储器234的存储器访问请求。Gen-Z协议层206连接到媒体控制器232,并根据Gen-Z协议准备和格式化消息。Gen-Z协议层206在下游方向上连接到虚拟Gen-Z端口208。虚拟Gen-Z端口208用作来自媒体控制器232的Gen-Z通信的逻辑端口,并连接到链路控制器233的Gen-Z事务层控制器211。
链路控制器233包括Gen-Z事务层控制器211、Gen-Z数据链路层控制器213、PCIe物理层电路216和LTSSM 217,它们的操作类似于链路控制器209中的那些元件。然而,在链路控制器233中,未采用PCIe事务层、数据链路层或多路复用器,从而允许链路控制器233仅与Gen-Z协议进行通信。链路控制器233的PCIe物理层电路216连接到PCIe总线220的传输介质,并通过PCIe总线220传输和接收Gen-Z协议通信。在通过PCIe总线320的多个通道运行的连接中可以使用多个信道或单个信道。链路控制器233的LTSSM 217执行PCIe LTSSM的功能,并协商Gen-Z协议的使用,如下所述。
存储器模块230可以用在以存储器为中心的架构或传统的以处理器为中心的架构中,因为每个架构由Gen-Z支持。在该示例中,存储器234是存储类存储器(SCM)并且是非易失性存储器(NVM)。然而,这些示例不是限制性的,并且许多类型的存储器模块可以采用本文描述的技术。例如,可以使用RAM存储器或具有混合的NVM和RAM的存储器,诸如高容量闪存或具有RAM缓冲器的3D交叉点存储器。
媒体控制器232可以与双协议链路控制器209的一些或全部端口电路集成在接口控制器芯片(231)上。两个LTSSM 217在链路初始化期间相互协商以向主机处理器210通知PCIe总线220上存在Gen-Z装置,并且协商主机处理器210与存储器模块230之间的连接协议。优选地,该协商作为LTSSM训练过程的补充而发生,所述LTSSM训练过程是PCIe链路控制器的一部分,如下面进一步描述的。
图3以框图形式示出了数据处理平台300。通常,主机处理器310通过PCIe总线320连接到存储器模块330,识别出Gen-Z装置已连接,并且相应地配置主机处理器310和存储器模块330的双协议链路控制器309。主机处理器310与图2的主机处理器210相同,对应元件的附图标记以“3”而不是“2”开头。
存储器模块330可以是具有PCIe连接器的扩展卡类型模块,或者可以采用其他扩展模块的形式和/或内置于承载主机处理器310的母板中。存储器模块330包括具有一个或多个存储器芯片的存储器334和接口控制器331。接口控制器331包括媒体控制器332和连接到PCIe总线320的传输介质的双协议链路控制器309。在通过PCIe总线320的多个通道运行的连接中可以使用多个信道或单个信道。
媒体控制器332及其相关联的Gen-Z协议层306进行操作以实现并响应以Gen-Z协议提供的存储器语义形式格式化的存储器请求。存储器模块330可以用在以存储器为中心的架构或传统的以处理器为中心的架构中,因为每个架构由Gen-Z支持。在该示例中,存储器334是类似于存储器模块230的存储类非易失性存储器。
媒体控制器332可以与双协议链路控制器309的一些或全部端口电路集成在接口控制器芯片(331)上。双协议链路控制器309与主机处理器310的双协议链路控制器309一样,具有元件311、313、315、316、317、312和314,不同之处在于处理器310可以在其双协议链路控制器309中包括完整的PCIe根联合体。两个LTSSM 317在链路初始化期间相互协商以向主机处理器310通知PCIe总线320上存在Gen-Z装置,并协商主机处理器310与存储器模块330之间的连接协议,如下面进一步相对于图5描述的。通常可以通过寄存器设置将双协议链路控制器309配置为协商对Gen-Z协议或PCIe协议的使用。优选地,该协商作为LTSSM训练过程的补充而发生,所述LTSSM训练过程是PCIe链路控制器的一部分。
图4以流程图形式示出了用于操作现有技术的PCIe LTSSM的状态图400。如PCIe标准所述,LTSSM通常提供物理层控制过程,所述物理层控制过程配置并初始化每个链路以进行操作。LTSSM执行以下功能:配置和初始化PCIe链路,支持数据包传输,从链路错误中恢复以及从低功耗状态重新启动PCIe端口。在配置和初始化PCIe链路时,LTSSM首先进入检测状态,在所述检测状态中,它通常响应于物理层电路被初始化或由链路层所命令(如图所示)而检测到通道上存在链路伙伴。LTSSM从检测状态进入轮询状态,在所述轮询状态中,随着链路伙伴交换符号的预定有序集(称为训练集1、“TS1”和训练集2、“TS2”)而建立位和符号锁定以及通道极性。这些有序集包含位模式,所述位模式允许发送器和接收器通过每个通道的特定传输介质测量和调整发送器和接收器的性能。
然后LTSSM进入配置状态,在所述配置状态中再次交换TS1和TS2有序集,并且建立诸如数据速率、通道排序和链路宽度之类的参数。然后,LTSSM进入L0,这是正常的工作状态,在所述状态中数据在链路上传输。配置过程中的各种错误可能使LTSSM进入恢复状态。LTSSM也可能进入电空闲或待机状态(L0s)、较低功耗待机/休眠状态(L1)、低功耗睡眠状态(L2)或链路关闭状态(L3)。
图5以流程图形式示出了根据一些实施方案的用于使用增强的LTSSM 317选择替代协议的示例过程500。通常,过程500由增强的LTSSM 317控制PCIe总线320的通道的每一端处的PCIe物理层电路316(图3)来进行。过程500开始于过程框502,在所述过程框中,通常当数据处理平台根据任何合适的过程(例如,冷重置或热重置)被加电或重置时启动增强的LTSSM 317。增强的LTSSM 317也可以响应于来自主机处理器的命令(诸如离开链路待机状态的命令)而重新启动。在框504处,增强的LTSSM 317完成检测状态以检测物理层电路发送器或接收器在通道的相对端处的存在。然后在框506处,增强的LTSSM 317检查在所附接的装置上启用的替代协议。通常使用引导ROM、设置为特定值的引脚或某种其他合适的技术来初始化设置,以在Gen-Z装置寄存器中设置指定的值。然后,Gen-Z装置检查寄存器以查看启用了替代协议,诸如Gen-Z事务层协议。检查是在链路的Gen-Z装置端执行的以确定与之通信的首选协议,并且也可以在主机处理器端独立执行以确定是否支持或允许替代协议。在主机处理器处,设置可以存储在由PCIe根联合体检查的寄存器中。
如果没有启用替代协议,则过程500在框508处进入正常的PCIe LTSSM过程,在所述过程中,它在框516处完成轮询状态,在框518处完成配置状态,并且在框520处完成链路配置之后,在框522处退出到L0操作状态。框518可以在链路的任一端处配置两个I/O端口控制器309的多路复用器/多路分用器315以将PCIe数据链路层控制器314连接到PCIe物理层电路316,或者此类连接可能已设置为默认状态。如果未默认启用PCIe协议,则框518还可包括以与在框510处交换替代协议协商信息的方式相同的方式传输标识PCIe协议的PCIe协议协商信息。
如果启用了替代协议,则参考框508,过程500转到框510,在所述框中,它通过传输已修改的TS1和TS2有序集来协商对替代协议的使用。对有序集进行修改以将信息插入到链路的Gen-Z装置端处的TS1或TS2集中,指示支持替代协议。增强的LTSSM 317在已修改的TS1和TS2有序集内通过数据通道传输和接收替代协议协商信息。通过将确认信息插入传输回Gen-Z装置330的TS1或TS2有序集中,链路的主机处理器300端类似地确认替代协议的接受。
在框512处,过程500在链路的任一端处配置两个I/O端口控制器309的多路复用器/多路分用器315,以将Gen-Z数据链路层控制器连接到PCIe物理层电路316。通常,如果在链路的两端、主机处理器300和Gen-Z装置330都支持Gen-Z协议,则使用Gen-Z数据链路层控制器。如果链路的任一端仅支持PCIe协议,则使用PCIe数据链路层控制器314。在框514处,通过协商链路速度、链路宽度和其他相关参数来完成通道的配置。
该方案使得能够以对系统的应用层透明的方式使用PCIe或Gen-Z通信。它还允许两个协议使用相同的物理传输介质,即PCIe总线320的通道(通常16或32个通道)。由于替代协议协商是在逐个通道的基础上完成的,因此许多通道可用于Gen-Z协议(例如,存储器模块),而其他通道用于PCIe协议(例如,用于外围装置)。由于较旧的PCIe装置不会干扰特定于Gen-Z的硬件,因此本文的技术还允许向后兼容。此外,在数据结构内使用这些技术允许处理元件多条路径到达其选择的端口并选择其选择的协议。
图6以符号序列图形式示出了根据一些实施方案的未修改的有序训练集602。未修改的训练集通常包括两个集,每个集具有16个符号,所述符号由LTSSM用于在LTSSM的轮询和配置状态期间建立对齐和其他链路参数。
图7以符号序列图形式示出了根据一些实施方案的已修改的有序训练集702。已修改的有序训练集702可以是由LTSSM使用的TS1或TS2有序训练集之一或两者的已修改版本。已修改的数据704包括替代链路协商参数,其标识要采用的协议,诸如Gen-Z协议。已修改的数据包括从原始TS1或TS2有序集改变的至少一位。增强的LTSSM 317检查已修改位的位置是否有改变后的数据,以确定是否接收到已修改的有序训练集。
在各种实施方案中,本文的技术可以与采用存储器模块或受益于高速通信链路的其他外围装置的任何合适的产品(例如,服务器、数据处理计算机、数据库主机)一起使用。此外,所述技术广泛适用于使用以GPU和CPU架构或ASIC架构以及可编程逻辑架构实现的数据处理器。
尽管已经描述了特定实施方案,但是对这些实施方案的各种修改对于本领域技术人员将是显而易见的。例如,多个替代协议可以由链路控制器启用并且如本文所述进行协商。
因此,所附权利要求旨在涵盖落入所公开的实施方案的范围内的所公开的实施方案的所有修改。
Claims (22)
1.一种链路控制器,其包括:
物理层电路,其适于耦接到通信链路并且通过所述通信链路提供数据通道;
第一数据链路层控制器,其根据第一协议进行操作;
第二数据链路层控制器,其根据第二协议进行操作;
多路复用器/多路分用器,其耦接到所述第一数据链路层控制器、所述第二数据链路层控制器和所述物理层电路;
链路训练和状态机(LTSSM),其选择性地控制所述物理层电路以:
通过所述数据通道传输和接收训练有序集;
在所述训练有序集内,通过所述数据通道传输和接收替代协议协商信息;
通过所述数据通道传输和接收数据速率信息和链路宽度信息;以及
响应于接收到所述替代协议协商信息,使所述多路复用器/多路分用器将所述物理层电路选择性地耦接到所述第二数据链路层控制器。
2.如权利要求1所述的链路控制器,其中所述第一协议是外围部件互连高速(PCIe)协议,并且所述第二协议是Gen-Z协议。
3.如权利要求2所述的链路控制器,其中:
所述替代协议协商信息被包括在已修改的训练有序集中。
4.如权利要求3所述的链路控制器,其中所述LTSSM还选择性地控制所述物理层电路以:
响应于接收到未修改的训练有序集,使所述多路复用器/多路分用器将所述物理层电路选择性地耦接到所述第一数据链路层控制器。
5.如权利要求2所述的链路控制器,其还包括:
Gen-Z事务层控制器,其耦接到所述第二数据链路层控制器;以及
PCIe事务层控制器,其耦接到所述第一数据链路层控制器。
6.如权利要求1所述的链路控制器,其中所述LTSSM基于控制寄存器的状态传输和接收所述替代协议协商信息。
7.一种方法,其包括:
使用适于耦接到外围部件互连高速(PCIe)通信链路的链路控制器电路传输和接收已修改的训练有序集;
在所述已修改的训练有序集内,通过数据通道传输和接收替代协议协商信息;
使用所述链路控制器电路传输和接收数据速率信息和链路宽度信息;
响应于没接收到所述替代协议协商信息,针对第一协议选择性地使多路复用器/多路分用器将物理层电路连接到第一数据链路层控制器;
响应于接收到所述替代协议协商信息,针对第二协议选择性地使所述多路复用器/多路分用器将所述物理层电路选择性地耦接到第二数据链路层控制器;以及
随后操作所述PCIe通信链路。
8.如权利要求7所述的方法,其中所述第一协议是PCIe协议,并且所述第二协议是Gen-Z协议。
9.如权利要求7所述的方法,其还包括:在针对所述第二协议选择性地使所述多路复用器/多路分用器将所述物理层电路选择性地耦接到所述第二数据链路层控制器之后,用Gen-Z协议操作所述通信链路。
10.如权利要求7所述的方法,其中传输和接收替代协议协商信息是在链路训练和状态机(LTSSM)的控制下通过所述物理层电路执行的。
11.如权利要求7所述的方法,其中传输和接收替代协议协商信息是基于控制寄存器的预定状态完成的。
12.一种数据处理平台,其包括:
中央处理单元;
双协议链路控制器,所述双协议链路控制器耦接到所述中央处理单元并且包括:
物理层电路,其耦接到外围部件互连高速(PCIe)通信链路;
第一数据链路层控制器,其适于根据第一协议进行操作;
第二数据链路层控制器,其适于根据第二协议进行操作;
多路复用器/多路分用器,其耦接到所述第一数据链路层控制器、所述第二数据链路层控制器和所述物理层电路;
链路训练和状态机(LTSSM),其适于控制所述物理层电路以:(a)通过所述PCIe通信链路传输和接收训练有序集;(b)在所述训练有序集内,通过所述PCIe通信链路传输和接收替代协议协商信息;以及(c)响应于接收到所述替代协议协商信息,使所述多路复用器/多路分用器将所述物理层电路连接到所述第二数据链路层控制器。
13.如权利要求12所述的数据处理平台,其中所述第一协议是外围部件互连高速(PCIe)协议,并且所述第二协议是Gen-Z协议。
14.如权利要求13所述的数据处理平台,其还包括:
Gen-Z事务层控制器,其耦接到所述第二数据链路层控制器;以及
PCIe事务层控制器,其耦接到所述第一数据链路层控制器。
15.如权利要求12所述的数据处理平台,其还包括:
存储器模块,所述存储器模块包括存储器、耦接到所述存储器的媒体控制器以及耦接到所述媒体控制器和所述PCIe通信链路的接口控制器,所述接口控制器包括第二LTSSM,所述第二LTSSM能够操作以通过所述PCIe通信链路传输和接收训练有序集并且在所述训练有序集内通过所述PCIe通信链路传输和接收替代协议协商信息。
16.如权利要求15所述的数据处理平台,其中所述第二LTSSM是第二双协议链路控制器的一部分。
17.如权利要求15所述的数据处理平台,其中所述第二LTSSM是第二双协议链路控制器的一部分。
18.如权利要求15所述的数据处理平台,其中所述第二LTSSM是第二双协议链路控制器的一部分。
19.如权利要求15所述的数据处理平台,其中所述第二LTSSM是用所述Gen-Z协议进行操作的单协议链路控制器的一部分。
20.如权利要求15所述的数据处理平台,其还包括:
Gen-Z存储器控制器,其耦接在所述中央处理单元与所述双协议链路控制器之间,并且能够操作以使用Gen-Z协议存储器请求访问所述存储器模块。
21.如权利要求15所述的数据处理平台,其还包括外围装置,所述外围装置耦接到所述中央处理单元,并且用PCIe协议与所述中央处理单元通信。
22.如权利要求12所述的数据处理平台,其中所述LTSSM基于控制寄存器的预定状态传输和接收所述替代协议协商信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/223,873 | 2018-12-18 | ||
US16/223,873 US10698856B1 (en) | 2018-12-18 | 2018-12-18 | Alternative protocol selection |
PCT/US2019/038531 WO2020131160A1 (en) | 2018-12-18 | 2019-06-21 | Alternative protocol selection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113227991A true CN113227991A (zh) | 2021-08-06 |
CN113227991B CN113227991B (zh) | 2023-11-03 |
Family
ID=71071665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980084418.6A Active CN113227991B (zh) | 2018-12-18 | 2019-06-21 | 替代协议选择 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10698856B1 (zh) |
EP (1) | EP3899740A4 (zh) |
JP (1) | JP2022507935A (zh) |
KR (1) | KR102420530B1 (zh) |
CN (1) | CN113227991B (zh) |
WO (1) | WO2020131160A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11314460B2 (en) * | 2019-09-13 | 2022-04-26 | Kioxia Corporation | Solid state drive supporting both byte addressable protocol and block addressable protocol |
US11960367B2 (en) | 2021-05-24 | 2024-04-16 | SK Hynix Inc. | Peripheral component interconnect express device and operating method thereof |
KR102635457B1 (ko) * | 2021-05-24 | 2024-02-13 | 에스케이하이닉스 주식회사 | PCIe 장치 및 이를 포함하는 컴퓨팅 시스템 |
KR102669923B1 (ko) | 2021-06-01 | 2024-05-29 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
US11921657B2 (en) | 2021-05-26 | 2024-03-05 | SK Hynix Inc. | Peripheral component interconnect express (PCIE) device for supporting separate reference clock(s) operating between host and direct memory access (DMA) controller |
KR102635450B1 (ko) * | 2021-05-26 | 2024-02-13 | 에스케이하이닉스 주식회사 | PCIe 장치 및 그 동작 방법 |
CN117751355A (zh) * | 2021-08-06 | 2024-03-22 | 微芯片技术股份有限公司 | 确定外围组件快速互连端口的通道到链路的分配 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8446903B1 (en) * | 2012-05-22 | 2013-05-21 | Intel Corporation | Providing a load/store communication protocol with a low power physical unit |
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 |
CN104063290A (zh) * | 2013-03-15 | 2014-09-24 | 英特尔公司 | 处理超时的系统、方法和装置 |
US20170083475A1 (en) * | 2013-12-26 | 2017-03-23 | Intel Corporation | Multichip package link |
US20180095920A1 (en) * | 2016-10-05 | 2018-04-05 | Samsung Electronics Co., Ltd. | Semiconductor device, method of operating semiconductor device and system incorporating same |
US20180329855A1 (en) * | 2017-05-12 | 2018-11-15 | Intel Corporation | Alternate protocol negotiation in a high performance interconnect |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706944B2 (en) | 2010-12-22 | 2014-04-22 | Intel Corporation | Dual bus standard switching bus controller |
US9396152B2 (en) | 2013-03-15 | 2016-07-19 | Intel Corporation | Device, system and method for communication with heterogenous physical layers |
US11289137B2 (en) * | 2017-11-16 | 2022-03-29 | Micron Technology, Inc. | Multi-port storage-class memory interface |
US10817443B2 (en) | 2018-03-28 | 2020-10-27 | SK Hynix Inc. | Configurable interface card |
US10601425B2 (en) * | 2018-05-30 | 2020-03-24 | Intel Corporation | Width and frequency conversion with PHY layer devices in PCI-express |
-
2018
- 2018-12-18 US US16/223,873 patent/US10698856B1/en active Active
-
2019
- 2019-06-21 WO PCT/US2019/038531 patent/WO2020131160A1/en unknown
- 2019-06-21 EP EP19901249.3A patent/EP3899740A4/en not_active Withdrawn
- 2019-06-21 KR KR1020217020325A patent/KR102420530B1/ko active IP Right Grant
- 2019-06-21 JP JP2021529037A patent/JP2022507935A/ja active Pending
- 2019-06-21 CN CN201980084418.6A patent/CN113227991B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8446903B1 (en) * | 2012-05-22 | 2013-05-21 | Intel Corporation | Providing a load/store communication protocol with a low power physical unit |
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 |
CN104063290A (zh) * | 2013-03-15 | 2014-09-24 | 英特尔公司 | 处理超时的系统、方法和装置 |
US20170083475A1 (en) * | 2013-12-26 | 2017-03-23 | Intel Corporation | Multichip package link |
US20180095920A1 (en) * | 2016-10-05 | 2018-04-05 | Samsung Electronics Co., Ltd. | Semiconductor device, method of operating semiconductor device and system incorporating same |
US20180329855A1 (en) * | 2017-05-12 | 2018-11-15 | Intel Corporation | Alternate protocol negotiation in a high performance interconnect |
Also Published As
Publication number | Publication date |
---|---|
US10698856B1 (en) | 2020-06-30 |
KR20210094069A (ko) | 2021-07-28 |
WO2020131160A1 (en) | 2020-06-25 |
KR102420530B1 (ko) | 2022-07-13 |
EP3899740A4 (en) | 2022-09-07 |
JP2022507935A (ja) | 2022-01-18 |
EP3899740A1 (en) | 2021-10-27 |
CN113227991B (zh) | 2023-11-03 |
US20200192850A1 (en) | 2020-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113227991B (zh) | 替代协议选择 | |
US7757020B2 (en) | Point-to-point link negotiation method and apparatus | |
US10180927B2 (en) | Device, system and method for communication with heterogeneous physical layers | |
US8127059B1 (en) | Apparatus for interconnecting hosts with storage devices | |
US8296469B2 (en) | Scalable method and apparatus for link with reconfigurable ports | |
US8812758B2 (en) | Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports | |
US7756123B1 (en) | Apparatus, system, and method for swizzling of a PCIe link | |
US10282341B2 (en) | Method, apparatus and system for configuring a protocol stack of an integrated circuit chip | |
US20050270988A1 (en) | Mechanism of dynamic upstream port selection in a PCI express switch | |
US11693813B2 (en) | Alternative protocol over physical layer | |
US9910814B2 (en) | Method, apparatus and system for single-ended communication of transaction layer packets | |
KR102669923B1 (ko) | PCIe 인터페이스 장치 및 그 동작 방법 | |
US20230342325A1 (en) | Alternative protocol over physical layer | |
US20230315591A1 (en) | PCIe DEVICE AND COMPUTING SYSTEM INCLUDING THE SAME | |
CN116680224A (zh) | 不对称PCIe总线设计方法、装置、总线装置及系统 |
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 |