CN116685959A - 支持pcie 6.0、cxl 3.0和upi 3.0协议的逻辑物理层接口规范 - Google Patents

支持pcie 6.0、cxl 3.0和upi 3.0协议的逻辑物理层接口规范 Download PDF

Info

Publication number
CN116685959A
CN116685959A CN202180083826.7A CN202180083826A CN116685959A CN 116685959 A CN116685959 A CN 116685959A CN 202180083826 A CN202180083826 A CN 202180083826A CN 116685959 A CN116685959 A CN 116685959A
Authority
CN
China
Prior art keywords
flit
link layer
circuitry
logphy
circuit
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.)
Pending
Application number
CN202180083826.7A
Other languages
English (en)
Inventor
S·乔德里
M·韦格
D·达斯夏尔马
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.)
Intel Corp
Original Assignee
Intel Corp
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
Priority claimed from US17/231,152 external-priority patent/US20210232520A1/en
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN116685959A publication Critical patent/CN116685959A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/40Spoof detection, e.g. liveness detection
    • G06V40/45Detection of the body part being alive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1382Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Communication Control (AREA)

Abstract

在一个实施例中,一种设备包括:用于对第一通信协议执行链路层功能的第一链路层电路;以及经由逻辑PHY接口(LPIF)链路耦合到所述第一链路层电路的逻辑物理(logPHY)电路,该logPHY电路按照flit模式与第一链路层电路通信并且按照非flit模式与另一链路层电路通信,在flit模式中,按照固定宽度尺寸传送第一信息。还描述并要求了其他实施例。

Description

支持PCIE 6.0、CXL 3.0和UPI 3.0协议的逻辑物理层接口 规范
技术领域
本公开的实施例总体涉及计算领域,具体而言涉及支持各协议的逻辑物理层接口规范。
背景技术
逻辑物理层(PHY)接口规范用于针对协议定义接口,以促进装置互操作性。
附图说明
图1是根据各种实施例的逻辑PHY接口(LPIF)规范的功能划分的示意图表示。
图2是根据实施例的logPHY电路的框图。
图3是示出了根据各种实施例的8位字和接收方向上的延迟优化的相关联特性的图示。
图4是根据实施例的方法的流程图。
图5是根据另一实施例的方法的流程图。
图6A-6F是示出了根据各种实施例的示例性flit格式的图示。
图7是根据实施例的接口电路的框图。
图8是根据实施例的***的框图。
图9是根据本发明的另一实施例的***的框图。
图10是根据本发明的另一实施例的***的框图。
图11是根据实施例的网络架构的框图。
具体实施方式
在各种实施例中,可以提供公共媒体接入控制(MAC)层,其可以与不同通信协议的协议栈接合。换言之,可以在集成电路内提供单个MAC单元,其可以与经由不同通信协议进行通信的电路***接合。因此,实施例提供了一种用于链路层接合的标准机制,其允许连接至MAC单元的一个或多个链路层具有灵活性。
此外,单个MAC单元可以用于在不同操作模式中传送信息。在本文中更具体地,在第一模式中,可以在所谓的flit(流量控制单元)模式中传送信息,其中,flit是信息的流量控制单元,其对于给定通信协议定义而言具有固定宽度。此外,在第二模式中,可以在非flit模式中传送信息,其中,对于给定通信协议定义而言,信息可以具有可变宽度。
在本文的特定实施例中,该MAC可以与上层接合,并且更具体地,可以经由公共接口与多个不同链路层接合。在实施例中,该接口可以根据逻辑PHY接口(LPIF)规范,例如,该规范的给定版本,例如,可以在具有对原始LPIF规范版本1.1(2020年九月公布)的增强或者该规范的未来版本或修订的***中实施。
本文描述的实施例可以涉及对LPIF规范的增强,包括改变,以支持包括下述协议在内的协议:***部件互连快速(PCIe)版本6.0(即将发行)、计算快速链路(CXL)版本3.0(即将发行)和超路径互连(UPI)版本3.0。本文描述的实施例可以用于定义和支持逻辑物理层(逻辑PHY或logPHY)接口,该接口涵盖对多种协议的支持,所述多种协议跨越这些协议的所有规范版本,并且允许跨越不同物理层的公共协议层堆栈,例如,装置对装置(d2d)或者PCIe PHY。
本文描述的实施例可以包括对在接口层级具有几种机制的旧式LPIF的增强,并且概述了功能划分,以提供改善的延迟和区域特性,同时保持与协议的先前版本的向后兼容性。这些实施例可以提供用于支持PCIe 6.0、CXL 3.0和/或UPI 3.0flit模式的栈的公共循环冗余校验(CRC)和/或重试逻辑,提供用于flit的延后取消(late cancel)的低延迟机制,提供用于对协议栈的有效率的动态时钟门控的机制,提供从逻辑PHY到协议层的性能调节指示,并且提供与先前修订的向后兼容性。
在下文的描述中,将使用本领域技术人员常用的术语描述例示性实施方式的各个方面,从而将其工作的实质传达给本领域其他技术人员。但是,对于本领域技术人员而言,显然可以只借助于所描述的方面中的一些方面来实践本公开的实施例。出于解释的目的,阐述了具体的数量、材料和配置,以便提供对例示性实施方式的透彻理解。对本领域的技术人员将显而易见的是可以在没有这些具体细节的情况下实践本公开的实施例。在其他情况下,省略或简化了公知的特征,以免使例示性实施方式难以理解。
在下面的具体实施方式部分中,将参考构成其部分的附图,在附图中,始终以类似的附图标记表示类似的部分,并且在附图中以举例说明的方式示出了可以实践本公开的主题的例示性实施例。应当理解,可以采用其他实施例,并且可以做出结构和逻辑上的改变,而不脱离本公开的范围。因此,不应从限定的意义上理解下文的详细描述,并且实施例的范围由所附权利要求及其等同物限定。
出于本公开的目的,短语“A和/或B”是指(A)、(B)或者(A和B)。出于本公开的目的,短语“A、B和/或C”是指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或者(A、B和C)。
所述描述可以使用基于透视的描述,例如,顶部/底部、内/外、之上/之下等。这样的描述只是用于促进论述,而非意在使本文描述的实施例的应用局限于任何特定取向。
所述描述使用了短语“在实施例中”,其可以指相同或不同实施例中的一个或多个实施例。此外,联系本公开的实施例使用的术语“包括”、“包含”、“具有”等是同义的。
本文可以使用术语“与……耦合”连同其派生词。“耦合”可以表示下述含义中的一者或多者。“耦合”可以指两个或更多元件直接物理或电接触。然而,“耦合”也可以指两个或更多元件间接相互接触,但是仍然相互协作或相互作用,并且可以指一个或多个其他元件耦合或者连接于被说成相互耦合的元件之间。术语“直接耦合”可以指两个或更多元件直接接触。
如本文所用,术语“模块”可以指代、包括以下各项,或者是以下各项的部分:执行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、处理器(共享、专用或群组)和/或存储器(共享、专用或群组)、组合逻辑电路、和/或提供所描述的功能的其他适当部件。
图1是根据各种实施例的逻辑PHY接口(LPIF)规范的功能划分的示意图表示。逻辑PHY接口(LPIF)规范定义了链路层与逻辑物理层(logPHY)之间的公共接口,以促进链路层与物理层之间的互操作性、设计和验证重复使用。支持两种不同模式:flit模式和非flit模式。
如图1中所示,设备100可以包括一个或多个集成电路,以执行给定***内的各种功能。为了经由链路(图1中未示出)提供通信,可以提供不同协议栈的多个上层。具体地,如图1所示,这些上层可以包括事务和链路层。事务层和链路层的每个组合可以实现对将要传送到可以执行应用等的电路***的信息和将要从所述电路***传送的信息的处理。
在图1的实施方式中,可以提供多个事务和链路层110,它们每者可以用于实现根据一种或多种通信协议的通信。具体地,如图1所示,事务和链路层1101可以用于PCIe/CXL.I/O业务(traffic)的通信,而事务和链路层1102相应地可以用于CXL.cache/mem业务的通信。应当理解,尽管仅示出了2个单独的事务和链路层,但是在特定实施例中可以存在更多的事务和链路层。
接下来,事务和链路层110可以通过链路1151-2(其可以是根据实施例的LPIF接口)耦合到仲裁器/复用器120。仲裁器/复用器120可以充当选择电路,以选择性地将通信路由到这些上层以及路由来自这些上层的通信,并且继而选择性地路由与logPHY电路130的通信,logPHY电路130在实施例中可以被实施为Flexbus logPHY电路。
一般而言,logPHY电路130可以被认为是媒体接入控制(MAC)层电路***,因为其执行包括链路控制、数据编码、扰码等在内的功能。并且如本文所使用的,术语“MAC”和“logPHY”可以互换使用,从而更一般地指代MAC层电路***。
如图1中所示,仲裁器/复用器120经由另一LPIF接口1153耦合到logPHY电路130。接着,logPHY电路130可以根据用于PCIe的PHY接口(PIPE)通信协议(例如,根据PIPE规范版本5.0(2017年11月公布的)或者其另一版本)与可以提供模拟前端的PHY电路140通信。在实施例中,这样的通信可以是根据串行化/解串行化(SERDES)架构发生的。在一些实施方式中,多协议实施方式中的每一块可以通过单独的LPIF接口与另一块接合。
尽管在图1的高层次上未示出,但是应当理解,PHY电路140可以经由链路与一个或多个远程链路伙伴通信,该链路可以是管芯对管芯链路,例如,作为示例,被实施在电路板上。
在实施例中,事务和链路层110可以执行包括提供协议事务层、数据链路层和flit封包/解包在内的功能。
注意,某些功能可以是在不同位置上实施的,具体取决于选择的通信协议。例如,对于非flit操作模式而言,例如,对于CXL 1.1、2.0和PCIe非flit模式而言,可以在事务和链路层1101内实施错误检测和重放功能。而且,在针对PCIe的flit模式中,可以在事务和链路层1101内实施无操作(NOP)flit***。可以在事务和链路层1102中执行类似功能。
在实施例中,logPHY电路130可以执行包括下述功能在内的功能:链路训练状态机、抗扭斜和状态***、通道翻转和通道降级、扰码/解扰、在适用并且提供弹性缓冲时向某些编码(例如,8b/10b、128b/130b)的格式化。此外,对于flit模式操作而言,例如,对于PCIeflit模式和CXL 3.0而言,logPHY电路130可以实施错误校正检测和校正(例如,通过循环冗余校验和以及前向错误校正)以及重放功能。
在实施例中,PHY电路140可以执行包括下述功能的功能:提供模拟缓冲器、接收器检测、供电排序和SERDES通信。
在flit模式中,跨越LPIF接口的传递总是固定flit尺寸。flit可以采取多个时钟周期的数据传递(取决于flit尺寸和数据总线带宽)。这样的协议的示例是PCie 6.0Flit模式、CXL 1.1及后续版本、管芯对管芯传递、以及UPI 3.0。flit定义是根据协议所特定的,并且允许在flit内具有由logPHY填充的保留位——在链路层中这些保留位被驱动至逻辑零。允许协议具有多种flit类型,这些类型是由链路层和logPHY所预先定义并理解的。在实施例中,logPHY电路130可以使用格式指示信号pl_protocol_flitfmt上的编码来指示链路层将使用哪种flit格式。
在非flit模式中,跨越LPIF接口的传递不总是固定flit尺寸。PCIe 1.0到5.0(非flit模式)是这样的协议的示例。取决于预期用法,允许应用程序在设计编译时间仅支持单一模式(例如,管芯对管芯传递),或者该模式可以是由logPHY在pl_protocol_flitmode信号上指示的协商设置(就像PCie的情况一样)。在运行多种协议时,在链路层和物理层之间可以存在额外的仲裁和复用器层。多协议实施方式的每一实例具有其独立的LPIF接口。在支持分叉的情况下,每个分叉端口具有其自己的独立LPIF接口。
尽管联系基于CXL的***描述了实施例,但是实施例不受此限制。此外,尽管一个示例性用例是针对基于云的架构的且该架构可以使用根据CXL规范或者任何将来的版本、修改、变化或替代物的互连和交换机进行通信,但是其他实施方式也是可能的。例如,可以将实施例用于其他相干互连技术,例如IBM XBus协议、Nvidia NVLink协议、AMD无限矩阵(Infinity Fabric)协议、用于加速器的缓存相干互连(CCIX)协议或相干加速器处理器接口(OpenCAPI)。
在CXL实施方式中,沿CXL互连发送不同通信协议的业务流。例如,可以有包括所谓的CXL.cache、CXL.io和CXL.mem通信协议的单独业务流,经由这些通信协议传送不同通信协议的业务。更一般地,互连可以支持各种互连协议,包括非相干互连协议、相干互连协议和存储器互连协议。所支持的互连协议的非限制性示例可以包括PCI、PCIe、USB、IDI、IOSF、SMI、SMI3、SATA、CXL.io、CXL.cache和CXL.mem等。
尽管本文论述的示例可以参考基于LPIF的链路层-逻辑PHY接口的使用,但是应当认识到本文论述的细节和原理可以同样适用于非LPIF接口。类似地,尽管一些示例可以参考使用公共链路层-逻辑PHY接口将PHY耦合到实施CXL或PCIe的控制器,但其他链路层协议也可以利用这样的接口。类似地,尽管可以参考Flex Bus物理层,但在一些实施方式中其他物理层逻辑可以被类似地采用并且可以利用公共链路层-逻辑PHY接口(例如,本文所论述的),连同在本公开范围内的其他示例性变化。
随着多芯片封装(MCP)技术的进步,可以将多个硅管芯包括在同一封装内。针对短距离优化的高密度低延迟管芯对管芯互连能够实现非常低的误码率(BER),使得这些互连通常省略串行器/解串器(SERDES)电路***的开销以及与封装迹线传输有关的同步化,并且还省略了逻辑PHY中的复杂链路训练状态机的开销。
各种不同的协议(例如,CXL、PCIe、UPI及其他)可以受益于类属逻辑PHY接口,从而能够使用管芯对管芯互连,其中类属逻辑PHY接口(或适配器)充当传输机构,其提取用于初始化、电力管理和链路训练的握手。
借助于实施例,可以提供logPHY电路130以实施类属逻辑PHY,其允许通过各种各样的不同的管芯对管芯组构(fabric)块传输上方协议层(例如,链路层)。适配器可以使得能够通过使用公共链路层对PHY接口协议(例如,LPIF)的子集的管芯对管芯接口来传输原始位流。潜在地,任何管芯对管芯电接口都可以通过此类适配器的提供来利用这样的接口。在一些实施方式中,适配器可以利用现有链路层电路可以耦合到的所定义的公共链路层对PHY接口(例如,LPIF)的子集。
图1示出了功能划分的表示。下文给出了通过LPIF的优化和/或机制的额外实施例。尤其是在操作处于flit模式中时,各种延迟优化都可以成为可能。为此,根据实施例的logPHY电路可以执行用于优化延迟的操作,其可以改进通信机制,并且可以进一步降低例如上层中的功耗。
现在参考图2,其示出了根据实施例的logPHY电路的框图。应当理解,图2中所示的logPHY电路200是高层次的,从而例示用于控制其配置的各种部件,以及在与远程链路伙伴和上层进行协商以便针对特定通信协议在选定模式中进行操作时所涉及的部件。此外,在logPHY电路200中提供了用于各种优化以及用于处理包括重放等在内的协议活动的电路***。
具体地,如图2中所示,logPHY电路200包括配置电路210。部分地,偏置电路210可以基于与远程链路伙伴的协商期间的通信来确定要激活的通信协议以及识别出通信是要根据flit模式还是根据非flit模式。在图2所示的实施例中,配置电路210包括各种其他模式控制电路***,包括PCIe模式控制电路212、CXL模式控制电路214和UPI模式控制电路216。
如图进一步所示,logPHY电路200还包括延迟优化电路220,其可以提供用于各种优化的功能。这样的优化可以包括通过flit取消电路222的flit取消过程,本文将进一步描述该过程的细节。此外,可以通过动态时钟门电路224将提早唤醒指示发送给链路层。
此外,logPHY电路200还可以被配置为处理重放操作。为此,logPHY电路200包括重试电路230,其可以包括重放缓冲器236。这样的重放缓冲器236可以存储传入的信息,从而提供用于重放的资源。此外,重试电路230还包括至少一个错误检测电路232,其可以被配置为对传入的通信执行错误检测。作为示例,传入的通信可以是纠错码(ECC),使得错误检测电路232可以执行错误检查,例如,循环冗余校验和(CRC)过程。如果在传入的通信中检测到错误,那么错误校正电路234可以尝试使用(例如)前向错误校正(FEC)过程来校正错误。在本文的实施方式中,如果检测到错误,那么重试电路230可以与延迟优化电路220通信,从而flit取消电路222可以向上层发送信号,以取消检测到错误的一个或多个flit。如果能够校正所检测到的错误,那么可以将经校正的flit提供给上层。相反,如果不能校正错误,那么可以例如以无确认(NAK)的形式向远程链路伙伴发送重试请求。
仍然参考图2,还存在flit格式电路240。注意,flit格式电路240包括控制电路242,其被配置为针对给定通信协议识别出适当的flit格式。在一些情况下,可以有针对给定通信协议的多个flit格式,使得能够基于协商选择给定格式。相应地,控制电路242可以适当地控制格式器244,其对用于通信的flit进行格式化。
在本文的实施例中,上层可以保留用于logPHY电路200的flit的某些部分(例如,一个或多个循环中的给定字节),以***各种信息,例如,从数据链路层分组(DLLP)获得的信息,如图所示,该信息可以被从上层经由边带路径提供给主路径。应当理解,尽管在图2的实施例中是以这种高层次示出的,但是很多变化和替代都是可能的。
表1是示出了根据各种实施例的作为对解决发送方向上的延迟优化的补充的示例性LPIF规范的图示。对于发送方向(链路层到logPHY)而言,针对支持flit模式并且支持协议层NOP flit的协议,可以要求链路层在状态情况为活跃(Active)而不是Active.L0p时支持NOP flit***。这样做可以允许链路层执行延迟优化并且在flit的中间开始flit标头(只要flit成帧规则允许)。其意图在于,logPHY应当不必知道任何有关协议特有的flit成帧的事项。在状态情况为Active.L0p时,可以允许logPHY***NOP flit,从而允许有更多的机会进行链路层动态时钟门控。对于协议CXL1.1和CXL2.0而言,没有NOP flit并且可以由logPHY***空闲flit。
表1示出了来自链路层的指示的信号描述的示例。
表1
图3是示出了根据各种实施例的8位字和接收方向上的延迟优化的相关联特性的图示。相对于接收方向(logPHY到链路层):对于接收路径而言,可以有任选的机制允许logPHY通过给出取消先前已经发送的flit的指示而执行延迟优化。在非限制性示例中,这一操作可以发生在将执行CRC和错误校正(FEC)检查的情况下,其中,logPHY可以在执行CRC计算的同时将flit转发给链路层,但是如果CRC失败,则取消flit。可以由logPHY在单个时钟周期内使flit取消信号pl_flit_cancel生效,以取消特定的所传递的flit。其可以具有相对于flit传递的最后周期的固定关系(在设计编译时间上选择的,使得logPHY和链路层两者预期相同的关系)。其可以是在flit传递的最后周期之后的1个周期或2个周期。这暗示了,如果采用多个周期在该接口上传递flit,那么pl_flit_cancel不能在连续时钟周期内生效。
图3示出了对于该取消在flit结束之后一个周期生效的情况而言取消2个背靠背flit(在64字节(B)数据宽度之上发送的128B)的示例。如果在时钟周期7上pl_flit_cancel尚未生效,那么链路层消耗Flit 1。在受到支持时,链路层支持针对该协议的所有flit格式释放flit。logPHY的责任是确保最终按照校正顺序在该接口上重放被取消的flit。
现在参考图4,其示出了根据实施例的方法的流程图。如图4中所示,方法400是一种当在传入的flit中检测到错误时执行flit取消的方法。在实施例中,方法400可以由logPHY电路内的电路***执行,所述电路***例如是本文描述的重试电路***和优化电路***。更一般地,实施例可以使用硬件电路***、固件、软件和/或其组合来实施。
如所例示的,方法400开始于在logPHY电路中接收来自远程链路伙伴的通信(块410)。假设这一通信处于flit模式。在正常操作期间,传入的flit被一直传递至上层,例如,与给定通信协议相关联的链路层。可以与这一传入的flit的处理和向链路层电路***的传送并行地执行错误检查,从而减少向上层转发传入的flit的延迟。因而,如在块420所示,可以与ECG检查并行地向链路层电路发送flit。确定是否检测到错误(菱形430)。如果没有,那么控制返回至块410,从而进一步处理传入的通信。
否则,如果确定检测到错误,在块440,可以向链路层电路发送flit取消信号。此外,应当理解,可以执行错误校正过程,以判断是否能够在logPHY电路内恢复经校正的数据。作为示例,可以执行FEC操作。之后,在菱形450处判断错误是否被校正。如果是,那么在块460,可以将经校正的flit发送给链路层电路。否则,如果错误不可校正,那么控制进行至块470,在该块中,logPHY电路可以向远程链路伙伴发送重试请求,以请求错误信息的重新递送。
注意,可以在能够针对单个序列号执行重试的PCIe模式中使用这种单flit取消机制。应当理解,尽管在图4的实施例中是以这种高层次示出的,但是很多变化和替代都是可能的。
表2是示出了根据各种实施例的作为对解决flit取消的补充的示例性LPIF规范的图示。表2示出了PL_flit_cancel的信号描述。
表2
表3是示出了根据各种实施例的作为对解决L0p中的动态时钟门控的补充的示例性LPIF规范的图示。在实施例中,L0p被定义为LPIF中的活跃(Active)的子状态。为了允许由上层进行积极的动态时钟门控,定义了接收路径中的提早有效指示——这是对在LPIF1.0中已经存在的时钟门控机制的补充(参考表3)。
表3
借助于这一动态时钟设置,可以向链路层提供指示,以实现更大的电力节约。之所以如此是因为在实施例中,LPIF数据宽度不随着动态链路调制而变化,因为LPIF数据宽度在链路细分上可以是固定的。照此,对于logPHY电路而言要采用一定数量的周期来累积值得一个flit的数据,以传送到上层。例如,假定x16的原始链路宽度,其中,LPIF数据宽度为64字节。如果处于L0p子状态中,那么使链路宽度下降至(例如)x1宽度,LPIF接口仍然按照64字节通信,使得可能发生若干周期来累积64字节。通过这一提早有效信号,可以实现减少的电力,使得上层可以在已经积累了64个字节并且准备好通信时是活跃的。
表4是示出了根据各种实施例的作为对在存在单一flit重试的情况下解决性能调节的补充的示例性LPIF规范的图示。Flit模式重试位于logPHY中。在支持单一flit重试的情况下,logPHY可以对此进行监测并且请求协议层***给定数量的无操作(NOP)flit,从而防止远程链路伙伴上的Rx重放缓冲器的溢出(参考PCie规范来获得接收(Rx)重放缓冲器细节)。
表4
表5是示出了根据各种实施例的作为对处理用于从协议层到逻辑PHY的DLLP传递的直接信号的示例性LPIF规范的补充的图示。关于从协议层到logPHY的DLLP传递,这是一种优化,其允许logPHY向远程链路伙伴呈现最新可得的DLLP,即使在flit重试的情况下也是如此。DLLP是与主数据路径分开传递的,并且logPHY将其封包成flit。就重放而言,其将使用最新可得的DLLP信息来覆写重放的flit中的DLLP字节(只要协议允许——例如,pcie/cxl.io)并且重新生成CRC/FEC。照此,logPHY可以在要发送重试flit时***最新的DLLP信息,从而覆盖在最初发送flit时可能已经存在的DLLP信息。尽管实施例不受这一方面的限制,但是这样的DLLP信息可以包括信用信息、数据链路层初始化分组、特征交换信息和电力管理相关交换。在某些情形中(例如,L0p),logPHY也可以生成其自己的DLLP分组,从而与远程链路伙伴协商信息。
表5示出了信号描述。
表5
L0p增强:(a)实施例可以包括链路层到logPHY的机制和/或信号,以指示在处于L0p中时要求多少条通道(lane)是活跃的;(b)用于logPHY的机制/信号向链路层指示与远程链路伙伴的协商结果以及在处于L0p中时活跃通道的数量的当前状态(除了端口分叉和原始训练的链路宽度之外)。
实施例包括指示协商的协议(PCie/CXL类型1vs 2vs 3/UPI)、协议版本(例如,CXL1.1/2.0/3.0)、是否处于flit模式以及将使用哪一flit类型的机制/信号。此外,在用于切换协议和模式的动态热插拔支持的实施例中,使用以下规则:预期在通过固件启用时钟门控之前存在pl_portmode和pl_portmode_vld,或者pl_portmode和pl_portmode_vld的采样基于自由运行时钟。
在实施例中,用于链路层的规则可以包括:
1.在pl_protocol_vld=1并且pl_state_sts=RESET并且pl_inband_pres=1时可以采样并且存储pl_protocol*。可以将这一保存值作为协商的协议来对待,直到pl_state_sts=RESET并且pl_inband_pres=0为止。
2.允许链路层使lp_exit_cg_ack和/或lp_state_req=ACTIVE延迟,直到使pl_protocol_vld生效为止,但是这两者必须在lp_exit_cg_req=1并且pl_protocol_vld=1之后的合理时间内生效。
3.在pl_state_sts=RESET并且pl_inband_pres=0时允许链路层对其自身进行时钟门控(在这种情况下其将不要求ACTIVE)。在受到支持时,如果pl_inband_pres在pl_state_sts=RESET时从1O开始,那么链路层可以使pl_state_req从ACTIVE移至NOP并且返回时钟门控的状态。
在实施例中,用于logPHY电路的规则可以包括确保如果pl_inband_pres=1并且pl_protocol_vid=1并且pl_state_sts=RESET,那么pl_protocol是供链路层进行采样的正确协议。
对于flit模式中的数据传递而言,使用固定flit尺寸和格式将数据从链路层传递至logPHY。依据flit尺寸和数据宽度,有可能在单个时钟周期上传递整个flit,或者可以采用多个时钟周期进行flit传递。例如,如果没有链路细分并且协议是CXL 1.1(来自CXL.$mem链路层的64B+2B CRC的flit尺寸),那么有可能跨越64B数据总线(CRC字节在lp_crc上行进)在1个周期内传递整个flit。或者对于较窄数据宽度而言可能要用多个周期。在所有情况下,必须在Tx上遵循关于lp_irdy和pl_trdy的规则。如果flit传递采用多个周期,那么要求链路层不在flit传递的中间使lp_irdy或lp_valid失效(即使pl_trdy失效)——即,在flit的中间不允许出现气泡。
在Rx路径上,允许logPHY在flit传递的中间***气泡。对于Rx而言,logPHY将从该链路接收到的flit照原样转发(在任何错误校正之后),并且链路层的责任是抽取出相关信息(例如,在PCie中,链路层将必须从flit中抽取出DLLP字节并且对其进行单独处理)。对于一些协议,比如CXL和UPI而言,在适用时,logPHY被允许在Rx上丢掉NOP flit。
协议可以定义flit格式,从而使flit中存在将仅由logPHY填充的保留位(就像PCie 6.0或CXL 3.0或UPI 3.0的情况一样)。在这种情况下,链路层将逻辑零驱动到Tx上的flit内的这些位的位置上。Flit格式可以由这些协议定义,但是被添加到LPIF中,以指示哪些位由链路层(对比于物理层)驱动。这与常规实施方式形成了对照,在常规实施方式中,链路层通常发送固定字节宽度的信息,例如,64字节。
现在参考图5,其示出了根据另一实施例的方法的流程图。如图5中所示,方法500可以在logPHY电路内(例如,在flit格式电路中)实施,从而在logPHY电路处向接收自上层的flit信息中***某些信息。照此,可以由logPHY电路内的电路***(例如,如本文所述的格式化电路***)执行方法500。更一般地,实施例可以使用硬件电路***、固件、软件和/或其组合来实施。
如上文所描述的,可以保留flit的某些部分,从而使上层不填充这些保留部分(例如,而是以逻辑0值填充),使得logPHY电路能够***某些信息,例如,关于flit等的元数据。照此,能够简化硬件,因为不需要在执行CRC或其他计算时可能会需要的复杂的复用、移位、进位和其他操作,因为这些保留位已知为零。
如图5中所示,方法500开始于块510,与远程链路伙伴协商选定的通信协议内的flit模式。接下来,在块520,logPHY电路可以向链路层电路发送flit格式指示,以标示出操作将处于flit模式中。照此,在这一点上,相应地配置各种部件,从而使通信以给定的flit格式在flit模式中发生。
如图进一步所示,在这样的flit操作模式中,在块530,logPHY电路可以接收来自链路层电路的flit,该flit保留了至少某些位(例如,flit内的一个或多个字段)。这些保留位可以用于logPHY电路内的信息的***。因而,在块540,某些信息可以被填充到这些保留位中,这些保留位可以被实施成一个或多个字段,这些字段的每者具有一个或多个字节宽度。作为一个示例,将由logPHY电路填充的信息可以是来自在logPHY电路内从链路层电路接收到的最近更新的DLLP的信息,并且可以包括由协议定义的信息。例如,在PCIe实施方式中,这一信息可以包括序列号、确认、NAK、错误校正和检测信息、状态信息等。
仍然参考图5,最终在块550,logPHY电路可以将具有填充的信息的这种flit发送至远程链路伙伴。应当理解,尽管在图5的实施例中是以这种高层次示出的,但是很多变化和替代都是可能的。
图6A是示出了根据各种实施例的示例性flit格式的图示。flit格式是由协议定义的,但是被添加到LPIF中,以指示哪些位将由链路层(对比于物理层)驱动。例如,图6A中给出的UPI flit格式对应于pl_protocol_flitfmt=2'b00。图6B是示出了图6B中的对应于pl_protocol_flitfmt=2'b01的另一示例性UPI flit格式的图示。
flit模式的其他示例性应用可以是针对其他协议的,包括用于PCIe 6.0的格式。PCIe 6.0快速基本规范(Express Base Specification)版本6.0定义了详细的flit格式。支持单flit格式,其对应于pl_protocol_flitfmt=2'b00。lp_dllp字段用于这一协议。DLLP flit的定义与PCI快速基本规范的版本6.0的数据链路层章节中定义的32位flit模式格式相同。图6C示出了在128B的数据宽度上展开的flit格式。标有DLP的字节遵循在PCI快速基本规范的版本6.0中给出的定义,并且保留给logPHY,只有一种例外;只要flit需要携带flit状态字段,链路层就将DLLP有效载荷的类型和Flit_Marker位设置到1'b1,并且将适当的flit状态驱动到Flit_Status位上。如果flit不携带flit状态字段,那么链路层将0驱动到DLLP有效载荷的类型和Flit_Marker位以及Flit_Status字段上。这些字段的位的位置是在PCI快速基本规范的版本6.0中定义的。
图6D示出了在64B的数据宽度上展开的flit格式。从该格式可以看出,其采取四个组块传递(在上升时钟沿,lp_irdy=1,lp_valid=1,pl_trdy=1)来完成flit传递,并且预期链路层将0驱动到为logPHY保留的位上。
对于CXL 1.1和CXL 2.0,对应于pl_protocol_flitfmt=2'b00的只有一种类型的flit。该flit的全部由链路层填充并且跨越LPIF传输。
对于CXL 3.0,flit格式如图6E和图6F中所示,其采取64B宽的数据路径。对于两种格式,CXL.IO链路层均使用lp_dllp信号。
实施例可以包括增添重新训练到重置的状态转换,以允许链路训练状态机(LTSSM)超时具有向LPIF状态的自然映射。
实施例包括对下游端口遏制、错误隔离/热复位以及Sx流的支持连同对信号转变的示例性说明。在实施例中,Sx流可以是平台级电力管理流。在实施例中,LPIF可以例示片上***(SoC)和互连栈能够如何握手以确保物理链路处于适当的电力管理状态(例如,就PCIe而言的L2)的示例。
现在参考图7,其示出了根据实施例的接口电路的框图。更具体而言,如图7中所示,接口电路700用于使诸如发射器和/或接收器的给定装置与链路接合。在图7所示的实施例中,接口电路700是CXL接口电路。如图所示,CXL接口电路700包括事务层710、链路层720和物理层740。参考CXL事务层710,包括各种部件来实现对PCIe/CXL.io通信以及CXL.cache和CXL.memory事务的事务层处理。更具体而言,PCIe/CXL.io事务层1015包括控制电路712,其可以执行各种事务层控制操作。此外,事务层710进一步包括PCIe事务层716,并且包括额外电路***718,其用于处理对PCIe事务层716的增强,以处理CXL.io事务。再者,CXL.cache和CXL.memory事务层719可以执行对这些协议的事务层处理。
参考CXL链路层720,包括各种部件以实现对PCIe/CXL.io通信以及CXL.cache和CXL.memory事务的链路层处理。更具体而言,PCIe/CXL.io链路层725包括PCIe数据链路层726,并且包括额外电路***728,其用于处理对PCIe数据链路层726的增强,以处理CXL.io事务。
再者,CXL.cache和CXL.memory链路层729可以执行用于这些协议的链路层处理,包括处理flit或非flit模式中的选定一者中的信息。为此,控制电路722可以至少部分地基于与logPHY电路的通信来配置链路层729内的处理电路***,如本文所述。在实施例中,控制电路722可以包括或者可以耦合到一个或多个配置寄存器727。这样的配置寄存器可以包括一个或多个字段,以控制这样的处理电路***,例如,从而以给定的flit格式和保留字节发送信息,如本文所述。
进一步参考图7,链路层720耦合到仲裁器/复用器730,其将接收来自链路层720的传入数据流,并且选择用于通往物理层740的通信的数据流(或其部分)。
在实施例中,物理层740可以是对传入数据分组做进一步处理以用于物理链路(其在实施例中可以是flex总线)上的通信的物理层。如所例示的,物理层740包括PCIe/CXLlogPHY逻辑电路742和PCIe/CXL电路746。可以看出,这些电路包括相应的控制电路745、748,以控制物理层740内的处理。在完成所有此类处理之后,可以在该链路上传送传出的事务层数据分组。类似地,可以在物理层740内接收传入的事务层数据分组,并且可以在接口电路700的通信栈内对其进行处理。应当理解,尽管在图7的实施例中是以这种高层次示出的,但是很多变化和替代都是可能的。
图8是根据实施例的***的框图。如图8所示,装置805可以是经由互连889耦合到主机处理器845的加速器或处理器装置,该互连可以是单个互连、总线、迹线等。装置805和主机处理器845可以通过链路889通信,以使得数据和消息能够在其间传递。在一些实施例中,链路889可以操作用于支持多种协议和经由多种互连协议(包括CXL协议)的数据和消息的传送,如本文所述。例如,链路889可以支持各种互连协议,包括非相干互连协议、相干互连协议和存储器互连协议。所支持的互连协议的非限制性示例可以包括PCI、PCIe、USB、IDI、IOSF、SMI、SMI3、SATA、CXL.io、CXL.cache和/或CXL.mem等。
在实施例中,装置805可以包括加速器逻辑单元825,该加速器逻辑单元包括电路***829。在一些情况下,加速器逻辑单元825和电路***829可以提供处理和存储能力。装置805的示例可以包括生产者-消费者装置,例如图形加速器或其他专用加速器、生产者-消费者加(plus)装置、软件辅助装置存储器装置、自主装置存储器装置和巨型高速缓存装置。在一些情况下,加速器逻辑单元825可以耦合到任选的加速器存储器830。加速器逻辑单元825和电路***829可以提供基于装置的处理和存储能力。例如,加速器逻辑单元825和电路***829可以使用(例如)用于各种功能的相干互连协议来通信,例如,经由接口逻辑单元813和电路***827与主机处理器845进行相干请求和存储器流的通信。
接口逻辑单元813和电路***827可以基于要传送的消息和数据确定互连协议。应当理解,借助于本文的实施例,电路***827可以包括用以处理协议增强(包括本文所述的对flit和非flit模式的控制)的电路***。在一些实施例中,接口逻辑单元813可以耦合到具有一个或多个协议队列812的多协议复用器810,以与主机处理器845发送和接收消息和数据。协议队列812可以是协议所特有的,使得每个互连协议可以与特定协议队列相关联。复用器810还可以实施仲裁电路***以在不同协议的通信之间进行仲裁,并向物理层815提供选定的通信。
在各实施例中,主机处理器845可以是主处理器,例如CPU。主机处理器845可以耦合到主机存储器840,并且可以包括相干逻辑单元(或者相干和高速缓存逻辑单元)855,其可以包括高速缓存层次结构。相干逻辑单元855可以采用各种互连与包括电路***861的接口逻辑单元863以及一个或多个核心865a-n通信。在一些实施例中,相干逻辑单元855可以经由相干互连协议和存储器互连协议中的一种或多种实现通信。
在各实施例中,主机处理器840可以包括装置870以通过互连与总线逻辑单元860通信。在一些实施例中,装置870可以是I/O装置,例如,PCIe I/O装置。在其他情况下,一个或多个外部装置(例如PCIe装置)可以耦合到总线逻辑单元860。
在实施例中,主机处理器845可以包括接口逻辑单元863和电路***861,以在主机处理器845的部件和装置805之间实现多协议通信。接口逻辑单元863和电路***861可以根据一种或多种互连协议(例如,非相干互连协议、相干互连协议和存储器互连协议)动态地处理和实现主机处理器845和装置805之间的消息和数据的通信。例如,接口逻辑单元863和电路***861可以针对每个消息确定消息类型,并且确定多种互连协议中的哪种互连协议用以处理所述消息中的每个消息。可以利用不同的互连协议处理消息。此外,电路***1161可以包括选择电路***,以经由多个逻辑端口中的选定的一个来引导(例如)CXL.cache和CXL.memory协议业务,如本文所述。
在一些实施例中,接口逻辑单元863可以耦合到具有一个或多个协议队列852的多协议复用器850,以与装置805发送和接收消息和数据。协议队列852可以是协议所特有的,使得每个互连协议可以与特定协议队列相关联。复用器850还可以实施仲裁电路***以在不同协议的通信之间进行仲裁,并向物理层854提供选定的通信。
现在参考图9,其示出了根据本发明的另一实施例的***的框图。如图9中所示,***900可以是任何类型的计算装置,并且在一个实施例中可以是服务器***,例如,边缘平台。在图9的实施例中,***900包括多个CPU 910a、910b,它们接着耦合到相应的***存储器920a、920b,其在实施例中可以被实施成双倍数据速率(DDR)存储器。注意,CPU 910可以经由互连***915(例如,超路径互连或其他处理器互连技术)耦合到一起。
为了使相干加速器装置和/或智能适配器装置能够利用潜在的多种通信协议耦合到CPU 910,可以存在多种互连930a1-b2。在实施例中,每个互连930可以是CXL链路的给定实例。
在所示的实施例中,相应的CPU 910耦合到对应的现场可编程门阵列(FPGA)/加速器装置950a、950b(其在一个实施例中可以包括图形处理单元(GPU))。此外,CPU 910还耦合到智能网络接口电路(NIC)装置960a、960b。接下来,智能NIC装置960a、960b耦合到交换机980a、980b(例如,根据实施例的CXL交换机),这些交换机又耦合到池聚存储器990a、990b,例如,永久性存储器。借助于如图9中所示的布置,CPU 910可以将多种通信协议的信息(例如,CXL.cache和CXL.memory协议业务)经由如本文所述的flit模式或非flit模式中的选定的一者引导至装置950。如图所示,信息可以被存储在池聚存储器990中。接着,CPU 910或其他实体可以访问并进一步处理来自池聚存储器990的该信息。
现在参考图10,其示出了根据另一实施例的***(例如,边缘平台)的框图。如图10所示,多处理器***1000包括经由点对点互连1050耦合的第一处理器1070和第二处理器1080。如图10所示,处理器1070和1080中的每者可以是多核处理器,其包括代表性的第一和第二处理器核(即,处理器核1074a和1074b以及处理器核1084a和1084b)。在图10的实施例中,处理器1070和1080进一步包括点对点互连1077和1087,它们经由互连1042和1044(其可以是CXL总线)耦合到交换机1059和1060。这样的业务可以是根据多种协议的,包括经由flit模式或非flit模式中的选定的一者的CXL.cache和CXL.memory协议业务,如本文所述。接着,交换机1059、1060耦合到池聚存储器1055和1065。
仍然参考图10,第一处理器1070进一步包括存储器控制器集线器(MCH)1072和点对点(P-P)接口1076和1078。类似地,第二处理器1080包括MCH 1082以及P-P接口1086和1088。如图10所示,MCH 1072和1082将处理器耦合到相应存储器,即存储器1032和存储器1034,它们可以是本地附接至相应处理器的***存储器(例如,DRAM)的部分。第一处理器1070和第二处理器1080可以分别经由P-P互连1076和1086耦合到芯片组1090。如图10所示,芯片组1090包括P-P接口1094和1098。
此外,芯片组1090包括接口1092,以通过P-P互连1039将芯片组1090与高性能图形引擎1038耦合。如图10所示,各种输入/输出(I/O)装置1014可以连同总线桥1018一起耦合到第一总线1016,总线桥1018将第一总线1016耦合到第二总线1020。在一个实施例中,各种装置可以耦合到第二总线1020,例如,包括键盘/鼠标1022、通信装置1026以及数据存储单元1028,例如,硬盘驱动器或者其他可以包括代码1030的大容量存储装置。此外,音频I/O824可以耦合到第二总线1020。
本文描述的实施例可以被用到很宽范围的各种网络架构中。为此,耦合在给定边缘装置和数据中心之间的处于联网架构中的很多不同类型的计算平台可以按照本文所述的flit模式或非flit模式通信。现在参考图11,其示出了根据本发明的另一实施例的网络架构的框图。如图11中所示,网络架构1100包括各种计算平台,这些计算平台可以位于很宽的区域中,并且在与不同装置的通信中可以具有不同延迟。
在图11的高层次视图中,网络架构1100包括代表性装置1111,例如,智能手机。这一装置可以经由不同无线电接入网(RAN)(包括RAN 1120和RAN 1130)通信。RAN 1120接着可以耦合到平台1125,该平台可以是边缘平台,例如,雾/远/近边缘平台,并且可以利用本文的实施例。可以由耦合到RAN 1130的远边缘平台1135处理其他请求,RAN 1130也可以利用实施例。
如图11中进一步所示,另一近边缘平台1140可以耦合到RAN 1120、1130。注意,这一近边缘平台可以位于离具有大量计算资源的数据中心1150更近的位置上。通过向那些更远的平台推送消息,在代表边缘装置1111的请求的处理中招致了更大的延迟。应当理解,图11中所示的所有平台都可以并入本文描述的实施例,从而按照本文所述的flit模式和/或非flit模式传送(例如)PCIe、CXL.cache和CXL.memory协议业务。
下面的示例涉及其他实施例。
在一个示例中,一种设备包括:用于对第一通信协议执行链路层功能的第一链路层电路;用于对第二通信协议执行链路层功能的第二链路层电路;以及选择电路,其经由第一LPIF链路耦合到第一链路层电路并且经由第二LPIF链路耦合到第二链路层电路,从而从第一链路层电路向logPHY电路提供第一信息并且从第二链路层电路向logPHY电路提供第二信息。该设备可以进一步包括经由第三LPIF链路耦合到选择电路的logPHY电路,其中,logPHY电路用于按照flit模式与第一链路层电路通信并且按照非flit模式与第二链路层电路通信,在flit模式中,按照固定宽度尺寸传送第一信息,在非flit模式中,按照可变宽度尺寸传送第二信息。
在示例中,logPHY电路用于将flit模式信号传送到第一链路层电路,以使第一链路层电路按照flit模式传送所述第一信息。
在示例中,该设备进一步包括MAC电路,MAC电路包括logPHY电路,以按照flit模式与第一链路层电路通信并且按照非flit模式与第二链路层电路通信。
在示例中,logPHY电路用于接收来自第一链路层电路的第一指示,所述第一指示为第一flit是NOP flit,其中,响应于该第一指示,logPHY电路不在重放缓冲器中存储该NOP flit。
在示例中,第一链路层电路用于在flit的中间开始flit标头并且将具有该flit标头的flit发送至logPHY电路。
在示例中,logPHY电路包括错误检测电路,并且响应于在传入的flit中检测到错误,logPHY电路用于向第一链路层电路发送取消消息,以使第一链路层电路丢掉该传入的flit。
在示例中,logPHY电路用于在logPHY将传入的flit发送至第一链路层电路之后的预定数量的时钟周期内发送取消消息。
在示例中,logPHY电路进一步包括错误校正电路,以校正传入的flit中的错误,logPHY电路将经校正的传入的flit发送至第一链路层电路。
在示例中,在链路处于部分宽度模式中时,logPHY电路用于向第一链路层电路发送提早有效指示,以使第一链路层电路能够在从logPHY电路接收到flit之前上电。
在示例中,logPHY电路用于接收来自远程链路伙伴的对第一flit的重试请求,并且响应于重试请求向第一链路层电路发送指示,以使第一链路层电路向logPHY电路发送一个或多个NOP flit。
在示例中,该设备进一步包括耦合在第一链路层电路和logPHY电路之间以发送DLLP信息的边带接口,其中,logPHY电路用于将DLLP信息的至少部分***到重放flit中,并且将具有DLLP信息的至少部分的重放flit发送至远程链路伙伴。
在另一示例中,一种方法包括:在logPHY电路中接收flit;将该flit发送到耦合到logPHY电路的链路层电路;在logPHY电路中检测flit中的错误;以及将flit取消信号发送到链路层电路以使链路层电路丢掉该flit。
在示例中,该方法进一步包括:在logPHY电路中校正该flit中的错误;以及将经校正的flit发送至链路层电路。
在示例中,该方法进一步包括响应于确定错误不能被校正而向远程链路伙伴发送重试请求,以重新发送该flit。
在示例中,该方法进一步包括在检查该flit的错误的同时并行地向链路层电路发送该flit。
在示例中,该方法进一步包括在将该flit发送至链路层电路之后的预定数量的周期内发送flit取消信号。
在另一示例中,一种包括数据的计算机可读介质将被至少一个机器用来制作至少一个用以执行根据上述示例中的任何示例所述的方法的集成电路。
在另一示例中,一种设备包括用于执行根据上述示例中的任何示例所述的方法的模块。
在又一示例中,一种***包括第一集成电路,该第一集成电路包括:识别flit格式并且将flit格式指示发送到链路层电路的MAC电路;以及耦合到该MAC电路的链路层电路,其中,链路层电路用于对传入的信息执行链路层功能并且将传入的信息格式化成该flit格式,其中,响应于该flit格式指示,链路层电路将flit发送到MAC电路,该flit具有将由MAC电路填充的至少一个保留字节。该***进一步包括经由链路耦合到第一集成电路的远程链路伙伴。
在示例中,MAC电路用于将第二信息填充到所述至少一个保留字节中。
在示例中,MAC电路用于填充包括数据链路层信息的所述第二信息,所述数据链路层信息包括错误检测信息和错误校正信息中的一者或多者。
在示例中,MAC电路用于响应于与远程链路伙伴针对所协商的通信协议的flit模式进行协商而向所述链路层电路发送flit格式指示,所协商的通信协议还具有非flit模式。
应当理解,上述示例的各种组合都是可能的。
各种实施例可以包括上文描述的实施例的任何适当组合,包括上文以合取形式(和)描述的实施例的择取(或)实施例(例如,“和”可以是“和/或”)。此外,一些实施例可以包括一件或多件具有存储于其上的指令的制品(例如,非暂态计算机可读介质),所述指令在受到执行时产生上文描述的实施例中的任何实施例的动作。此外,一些实施例可以包括具有用于实施上文描述的实施例的各种操作的任何适当模块的设备或***。
上文对所例示的实施方式的描述(包括摘要中描述的内容)并非意在穷举或者使本公开的实施例局限于所公开的确切形式。尽管文中出于举例说明的目的描述了具体的实施方式和示例,但是在本公开的范围内可能存在各种等价修改,这是相关领域技术人员将认识到的。
根据上文的详细描述可以对本公开的实施例做出这些修改。不应将下述权利要求中使用的术语解释为使本公开的各实施例局限于说明书和权利要求书中公开的具体实施方式。相反,范围将完全由下述权利要求决定,应当根据权利要求解释所确立的原则对权利要求加以解释。
注意,本文中术语“电路”和“电路***”可互换使用。如本文所用,这些术语和术语“逻辑单元”用于单独地或者以任何组合的形式来指代模拟电路***、数字电路***、硬布线电路***、可编程电路***、处理器电路***、微控制器电路***、硬件逻辑电路***、状态机电路***、和/或任何其他类型的物理硬件部件。实施例可以用到很多不同类型的***中。例如,在一个实施例中,通信装置可以被布置为执行本文描述的各种方法和技术。当然,本发明的范围不限于通信装置,相反其他实施例可能涉及其他类型的用于处理指令的设备或者一种或多种包括指令的机器可读介质,所述指令响应于在计算装置上的执行而使得所述装置实施本文描述的方法和技术中的一者或多者。
实施例可以被实施成代码并且可以被存储在具有存储于其上的指令的非暂态存储介质上,所述指令可以用于将***编程为执行所述指令。实施例还可以被实施成数据,并且可以被存储在非暂态存储介质上,该存储介质如果被至少一个机器使用,则将使至少一个机器制作至少一个集成电路,以执行一项或多项操作。又一些实施例可以被实施在包括信息的计算机可读存储介质中,所述信息在被制造到SoC或其他处理器中时将SoC或其他处理器配置为执行一项或多项操作。存储介质可以包括但不限于:任何类型的盘,包括软盘、光盘、固态驱动器(SSD)、紧致盘只读存储器(CD-ROM)、可重写紧致盘(CD-RW)和磁光盘;半导体器件,例如,只读存储器(ROM)、随机存取存储器(RAM)(例如,动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM))、可擦可编程只读存储器(EPROM)、闪存、电可擦可编程只读存储器(EEPROM)、磁或光卡;或者任何其他类型的适于存储电子指令的介质。
尽管已经联系有限数量的实施例描述了本发明,但是本领域技术人员将由其认识到很多修改和变化。意在使所附权利要求涵盖落在本发明的实质和范围内的所有此类修改和变化。

Claims (26)

1.一种设备,包括:
用于对第一通信协议执行链路层功能的第一链路层电路;
用于对第二通信协议执行链路层功能的第二链路层电路;
选择电路,所述选择电路经由第一逻辑PHY接口(LPIF)链路耦合到所述第一链路层电路并且经由第二LPIF链路耦合到所述第二链路层电路,以从所述第一链路层电路向逻辑物理(logPHY)电路提供第一信息并且从所述第二链路层电路向所述logPHY电路提供第二信息;以及
经由第三LPIF链路耦合到所述选择电路的所述logPHY电路,其中,所述logPHY电路用于按照flit模式与所述第一链路层电路通信并且按照非flit模式与所述第二链路层电路通信,在所述flit模式中,按照固定宽度尺寸传送所述第一信息,在所述非flit模式中,按照可变宽度尺寸传送所述第二信息。
2.根据权利要求1所述的设备,其中,所述logPHY电路将flit模式信号传送到所述第一链路层电路,以使所述第一链路层电路按照所述flit模式传送所述第一信息。
3.根据权利要求1所述的设备,还包括媒体接入控制(MAC)电路,所述媒体接入控制(MAC)电路包括所述logPHY电路,以按照所述flit模式与所述第一链路层电路通信并且按照所述非flit模式与所述第二链路层电路通信。
4.根据权利要求1所述的设备,其中,所述logPHY电路接收来自所述第一链路层电路的第一指示,所述第一指示为第一flit是无操作(NOP)flit,其中,响应于所述第一指示,所述logPHY电路不在重放缓冲器中存储所述NOP flit。
5.根据权利要求1所述的设备,其中,所述第一链路层电路在flit的中间开始flit标头并且将具有所述flit标头的所述flit发送到所述logPHY电路。
6.根据权利要求1所述的设备,其中,所述logPHY电路包括错误检测电路,并且其中,响应于在传入的flit中检测到错误,所述logPHY电路向所述第一链路层电路发送取消消息,以使所述第一链路层电路丢掉所述传入的flit。
7.根据权利要求6所述的设备,其中,所述logPHY电路在所述logPHY电路将所述传入的flit发送至所述第一链路层电路之后的预定数量的时钟周期内发送所述取消消息。
8.根据权利要求6所述的设备,其中,所述logPHY电路还包括错误校正电路,以校正所述传入的flit中的所述错误,所述logPHY电路将经校正的传入的flit发送到所述第一链路层电路。
9.根据权利要求1所述的设备,其中,在链路处于部分宽度模式中时,所述logPHY电路将提早有效指示发送到所述第一链路层电路,以使所述第一链路层电路能够在从所述logPHY电路接收到flit之前上电。
10.根据权利要求1所述的设备,其中,所述logPHY电路接收来自远程链路伙伴的对第一flit的重试请求,并且响应于所述重试请求将指示发送到所述第一链路层电路,以使所述第一链路层电路将一个或多个无操作(NOP)flit发送到所述logPHY电路。
11.根据权利要求1所述的设备,还包括耦合在所述第一链路层电路和所述logPHY电路之间以发送数据链路层分组(DLLP)信息的边带接口,其中,所述logPHY电路将所述DLLP信息的至少部分***到重放flit中,并且将具有所述DLLP信息的所述至少部分的所述重放flit发送到远程链路伙伴。
12.一种方法,包括:
在逻辑物理(logPHY)电路中接收flit;
将所述flit发送到耦合到所述logPHY电路的链路层电路;
在所述logPHY电路中检测所述flit中的错误;以及
将flit取消信号发送到所述链路层电路,以使所述链路层电路丢掉所述flit。
13.根据权利要求12所述的方法,其中,所述方法还包括:
在所述logPHY电路中校正所述flit中的所述错误;以及
将经校正的flit发送至所述链路层电路。
14.根据权利要求12所述的方法,其中,所述方法还包括响应于确定所述错误不能被校正而将重试请求发送到远程链路伙伴,以重新发送所述flit。
15.根据权利要求12所述的方法,其中,所述方法还包括在检查所述flit的所述错误的同时并行地将所述flit发送到所述链路层电路。
16.根据权利要求15所述的方法,其中,所述方法还包括在将所述flit发送到所述链路层电路之后的预定数量的周期内发送所述flit取消信号。
17.至少一种计算机可读存储介质,具有存储于其上的指令,所述指令如果由机器执行,使得所述机器执行根据权利要求12到16中的任何一项所述的方法。
18.一种设备,包括用于执行根据权利要求12到16中的任何一项所述的方法的模块。
19.一种***,包括:
第一集成电路,其包括:
媒体接入控制(AMC)电路,其识别flit格式并且将flit格式指示发送到链路层电路;以及
耦合到所述MAC电路的所述链路层电路,其中,所述链路层电路对传入的信息执行链路层功能并且将所述传入的信息格式化成所述flit格式,其中,响应于所述flit格式指示,所述链路层电路将flit发送到所述MAC电路,所述flit具有要由所述MAC电路填充的至少一个保留字节;以及
经由链路耦合到所述第一集成电路的远程链路伙伴。
20.根据权利要求19所述的***,其中,所述MAC电路将第二信息填充到所述至少一个保留字节中。
21.根据权利要求20所述的***,其中,所述MAC电路填充包括数据链路层信息的所述第二信息,所述数据链路层信息包括错误检测信息和错误校正信息中的一者或多者。
22.根据权利要求19所述的***,其中,所述MAC电路响应于与所述远程链路伙伴对协商的通信协议的flit模式进行协商而将所述flit格式指示发送到所述链路层电路,所述协商的通信协议还具有非flit模式。
23.一种设备,包括:
用于对第一通信协议执行链路层功能的第一链路层模块;
用于对第二通信协议执行链路层功能的第二链路层模块;
选择模块,其经由第一逻辑PHY接口(LPIF)链路模块耦合到所述第一链路层模块并且经由第二LPIF链路模块耦合到所述第二链路层模块,以从所述第一链路层模块向逻辑物理(logPHY)模块提供第一信息并且从所述第二链路层模块向所述logPHY模块提供第二信息;以及
经由第三LPIF链路模块耦合到所述选择模块的所述logPHY模块,其中,所述logPHY模块用于按照flit模式与所述第一链路层模块通信并且按照非flit模式与所述第二链路层模块通信,在所述flit模式中,按照固定宽度尺寸传送所述第一信息,在所述非flit模式中,按照可变宽度尺寸传送所述第二信息。
24.根据权利要求23所述的设备,其中,所述logPHY模块用于将flit模式信号传送到所述第一链路层模块,以使所述第一链路层模块按照所述flit模式传送所述第一信息。
25.根据权利要求23所述的设备,还包括媒体接入控制(MAC)模块,所述媒体接入控制(MAC)模块包括所述logPHY模块,以按照所述flit模式与所述第一链路层模块通信并且按照所述非flit模式与所述第二链路层模块通信。
26.根据权利要求23所述的设备,其中,所述logPHY模块接收来自所述第一链路层模块的第一指示,所述第一指示为第一flit是无操作(NOP)flit,其中,响应于所述第一指示,所述logPHY模块不在重放缓冲器中存储所述NOP flit。
CN202180083826.7A 2019-12-06 2021-09-17 支持pcie 6.0、cxl 3.0和upi 3.0协议的逻辑物理层接口规范 Pending CN116685959A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962944729P 2019-12-06 2019-12-06
US63/137,045 2021-01-13
US17/231,152 2021-04-15
US17/231,152 US20210232520A1 (en) 2021-01-13 2021-04-15 Logical physical layer interface specification support for pcie 6.0, cxl 3.0, and upi 3.0 protocols
PCT/US2021/050772 WO2022154831A1 (en) 2021-01-13 2021-09-17 Logical physical layer interface specification support for pcie 6.0, cxl 3.0, and upi 3.0 protocols

Publications (1)

Publication Number Publication Date
CN116685959A true CN116685959A (zh) 2023-09-01

Family

ID=81385532

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202180083826.7A Pending CN116685959A (zh) 2019-12-06 2021-09-17 支持pcie 6.0、cxl 3.0和upi 3.0协议的逻辑物理层接口规范
CN202180081438.5A Pending CN116686254A (zh) 2019-12-06 2021-10-06 使用生物统计一次性密码的活力验证的***、方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202180081438.5A Pending CN116686254A (zh) 2019-12-06 2021-10-06 使用生物统计一次性密码的活力验证的***、方法和设备

Country Status (4)

Country Link
US (1) US11323261B1 (zh)
EP (1) EP4256446A1 (zh)
CN (2) CN116685959A (zh)
WO (1) WO2022119633A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117556404A (zh) * 2023-12-11 2024-02-13 广西远方创客数据咨询有限公司 一种基于SaaS的业务管理***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7597250B2 (en) * 2003-11-17 2009-10-06 Dpd Patent Trust Ltd. RFID reader with multiple interfaces
KR101084697B1 (ko) * 2009-10-13 2011-11-22 용인송담대학 산학협력단 간섭 제거 중계기의 자동 이득 보상 방법
EP3269082B1 (en) * 2015-03-12 2020-09-09 Eyelock Llc Methods and systems for managing network activity using biometrics
US20170024554A1 (en) * 2015-07-20 2017-01-26 Asher Segal Self-powered, portable fingerprint-activated device for audibly outputting personal data
KR20180114775A (ko) * 2017-04-11 2018-10-19 에이피에스 에스.에이. 일회성 비밀번호 기반 개인 식별 카드
CA3022109A1 (en) * 2018-10-25 2020-04-25 Nymi Inc. Digital certificate enrolment system and method, and challenge password management system and method therefor
US10693872B1 (en) * 2019-05-17 2020-06-23 Q5ID, Inc. Identity verification system

Also Published As

Publication number Publication date
WO2022119633A1 (en) 2022-06-09
CN116686254A (zh) 2023-09-01
EP4256446A1 (en) 2023-10-11
US11323261B1 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
US20240160585A1 (en) Sharing memory and i/o services between nodes
US11675003B2 (en) Interconnect retimer enhancements
US20230073807A1 (en) Extending multichip package link off package
EP3913489A1 (en) Link layer-phy interface adapter
US11663154B2 (en) Virtualized link states of multiple protocol layer package interconnects
EP1433067B1 (en) An enhanced general input/output architecture and related methods for establishing virtual channels therein
US9749448B2 (en) Header parity error handling
US10282341B2 (en) Method, apparatus and system for configuring a protocol stack of an integrated circuit chip
EP1442548B1 (en) A general input/output inteface and related method to manage data integrity
US7793030B2 (en) Association of multiple PCI express links with a single PCI express port
US20210232520A1 (en) Logical physical layer interface specification support for pcie 6.0, cxl 3.0, and upi 3.0 protocols
US20160283303A1 (en) Reliability, availability, and serviceability in multi-node systems with disaggregated memory
US20210119730A1 (en) Forward error correction and cyclic redundancy check mechanisms for latency-critical coherency and memory interconnects
US20220342841A1 (en) Die-to-die adapter
US20160285624A1 (en) Pseudorandom bit sequences in an interconnect
WO2016153660A1 (en) Multichip package link
US9910814B2 (en) Method, apparatus and system for single-ended communication of transaction layer packets
US20240152417A1 (en) Mechanism of Enabling Fault Handling with PCIe Re-timer
EP1433279A2 (en) Error forwarding in an enhanced general input/output architecture and related methods
CN116685959A (zh) 支持pcie 6.0、cxl 3.0和upi 3.0协议的逻辑物理层接口规范
NL2029960B1 (en) Logical physical layer interface specification support for pcie 6.0, cxl 3.0, and upi 3.0 protocols
US20060015774A1 (en) System and method for transmitting data in storage controllers
US20200244397A1 (en) Stream identifier lane protection
US20230342323A1 (en) Streaming fabric interface

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