CN112534418A - 通过固定pcie物理传输网络的逻辑传输 - Google Patents

通过固定pcie物理传输网络的逻辑传输 Download PDF

Info

Publication number
CN112534418A
CN112534418A CN201980051670.7A CN201980051670A CN112534418A CN 112534418 A CN112534418 A CN 112534418A CN 201980051670 A CN201980051670 A CN 201980051670A CN 112534418 A CN112534418 A CN 112534418A
Authority
CN
China
Prior art keywords
transaction layer
packet
network
logical
layer
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
CN201980051670.7A
Other languages
English (en)
Other versions
CN112534418B (zh
Inventor
M·米塔尔
K·S·普兰尼克
J·达斯蒂达
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.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Publication of CN112534418A publication Critical patent/CN112534418A/zh
Application granted granted Critical
Publication of CN112534418B publication Critical patent/CN112534418B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • H04L2012/566Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM layer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种用于在现有物理传输网络上透明地叠加逻辑传输网络的方法和系统。该系统指定位于符合第一网络协议的网络的第一事务层中的虚拟通道。该系统在第二网络协议的第二逻辑事务层中组装事务层分组,其也可以被第一事务层识别。系统将事务层分组从第二事务层传送到虚拟通道。该系统使用网络的指定的虚拟通道通过第一事务层上传输事务层分组。

Description

通过固定PCIE物理传输网络的逻辑传输
发明领域
本公开的示例总体上涉及计算系统的总线架构,并且特别地,涉及在现有物理传输网络上透明地叠加逻辑传输网络。
背景技术
个人计算机和服务器架构已经采用了随着时间而变得越来越复杂的总线系统。与以前的总线实施相比,外围组件互连(PCI)总线具有许多优势。其中最重要的是处理器独立性、缓冲隔离、总线主控和真正的即插即用操作。缓冲隔离本质上在电气方面和时钟域方面都将中央处理器(CPU)本地总线与PCI总线隔离。即插即用操作允许自动检测和配置设备,消除了手动设置用于基址和直接内存访问(DMA)中断的开关和跳转的麻烦,这些手动设置使基于工业标准架构(ISA)的电路板用户感到麻烦。
尽管PCI取得了巨大的成功,但它面临一系列挑战,包括带宽限制、主机引脚数限制、缺少实时数据传输服务(如同步数据传输)、以及缺少满足下一代输入/输出(I/O)需求,例如服务质量、电源管理、缓存一致性和I/O虚拟化的功能。诸如服务质量测量和电源管理之类的下一代I/O需求提高了数据完整性,并允许有选择地关闭系统设备的电源——随着现代PC所需的电量不断增长,这是一个重要的考虑因素。其中某些功能要求软件控制超出传统的PCI要求,并且只有在操作系统和设备驱动程序支持可用后才能使用。
外围组件互连高速总线(PCIe)填补了传统PCI实施中的许多空白,但是PCIe在命令功能、路由和缺乏缓存一致性方面存在某些限制。具有加载/存储或一致性语义的协议通常需要在操作/事件到该地址位置之间的相同地址顺序,而与执行加载/存储的设备的来源无关,以保持功能正确性。缓存一致性是存储在多个本地缓存中的共享资源数据的一致性。当系统中的客户端维护公用内存资源的缓存时,不一致的数据可能会出现问题,在多处理系统中的CPU尤其如此。
克服基于PCIe总线的体系结构中的加载/存储或高速缓存一致性语义缺乏的一种选择是用具有与PCIe总线相同或附加优点的高速缓存一致性总线体系结构代替与PCIe总线有关的所有硬件和软件。但是,完全替代硬件非常昂贵、耗时且容易出错。
因此,期望提供一种高速缓存一致性总线架构,其可以部分地叠加在现有总线架构上,而不需要替换基础的总线结构的所有物理层硬件。
发明内容
本申请公开了用于在现有物理传输网络上透明地叠加逻辑传输网络的技术。一个示例中的方法包括:指定位于符合第一网络协议的网络的第一事务层中的虚拟通道;在第二网络协议的第二逻辑事务层中组装事务层分组;以及将事务层分组从第二个事务层传送到虚拟通道。该方法还包括:使用网络的虚拟通道通过第一事务层传输事务层分组。
在一些实施例中,事务层分组包括第一事务层可识别的第三方标识符以及第二逻辑事务层可识别的第三方报文类型和第三方报文头。
在一些实施例中,第一事务层在符合第一网络协议的数据链路层和物理层上传输事务层分组。
在一些实施例中,第二事务层利用物理层的现有属性,但是采用第二逻辑事务层特有的服务等级(COS)属性。
在一些实施例中,COS属性是低延迟时间属性和协议属性中的至少一项。
在一些实施例中,包含在事务层分组中的至少一项属性是第一事务层不可识别的,但是该分组的其余字段可由第一事务层识别。
在一些实施例中,分组的其余字段是第二逻辑事务层特有的。
在一些实施例中,第二网络协议包含加载/存储语义。
在一些实施例中,第一网络协议是PCIe协议,第二网络协议是CCIX协议。
在一些实施例中,第二逻辑事务层规定依序的分组分发。
另一示例中的方法包括接收位于符合第一网络协议的网络的第一事务层中的事务层分组以及从位于第一事务层中的虚拟通道中提取事务层分组,该虚拟通道被指定用于由符合第二网络协议的第二逻辑事务层使用。该方法还包括组装符合第二逻辑事务层可识别的第二网络协议的事务层分组,以及将事务层分组从虚拟通道传送到第二事务层。
在另一个示例中,系统在现有物理传输网络上透明地叠加逻辑事务网络。该系统包括计算机处理器和耦接到该计算机处理器的存储器。所述计算机处理器被配置为执行位于所述存储器中的代码以指定位于符合第一网络协议的网络的第一事务层中的虚拟通道,在第二网络协议的第二逻辑事务层中组装事务层分组,并将事务层分组从第二事务层传送至虚拟通道。该计算机处理器还被配置为使用网络的虚拟通道通过第一事务层传输事务层分组。
可以参考以下详细描述来理解这些和其他方面。
附图说明
为了可以详细地理解上述特征的方式,可以通过参考示例实施方式来获得上面简要概述的更具体的描述,其中一些示例在附图中示出。但是,应注意,附图仅示出了典型的示例性实施方式,因此不应视为对其范围的限制。
图1是描述根据示例的用于在现有物理传输网络上透明地叠加传输网络的系统的框图。
图2显示了具有CCIX功能的PCIe设备,该功能允许PCIe设备在PCIe上具有加载/存储和一致性语义。
图3示出了PCIe分组的布局。
图4是具有树形拓扑的PCIe网络的框图。
图5是描述根据示例的用于在现有物理传输网络上透明地叠加逻辑传输网络的第一方法的流程图。
图6是描绘根据示例的用于在现有物理传输网络上透明地叠加逻辑传输网络的方法的流程图。
图7是示出根据示例的可编程IC的框图。
图8是描绘根据示例的可编程IC的片上系统(SoC)实施例的框图。
图9示出了根据示例的可编程IC的现场可编程门阵列(FPGA)实施例。
为了便于理解,在可能的情况下使用了相同的附图标记来指代附图共有的相同元件。可以预期,一个示例的元件可以有益地并入其他示例中。
具体实施方式
这里参考附图描述了各种特征。应当注意,附图可以按比例绘制,也可以不按比例绘制,并且在整个附图中,相似结构或功能的元件由相似的附图标记表示。应当注意,附图仅旨在有助于特征的描述。它们不旨在作为所要求保护的发明的详尽描述或对所要求保护的发明的范围的限制。另外,示出的示例不必具有所示的所有方面或优点。结合特定示例描述的方面或优点不必限于该示例,并且可以在任何其他示例中实践,即使未如此示出或未明确描述。
本申请公开了用于在现有物理传输网络上透明地叠加逻辑传输网络的技术。组合的逻辑/物理传输网络利用了物理传输的现有属性,但还包括该逻辑传输网络特有的服务等级(COS)属性,该属性在物理传输网络上本身不可用。在一个示例中,物理传输网络和协议可以是但不限于外围组件互连快速(PCIe)网络。PCIe协议栈包括嵌入式物理层和数据链路层。在一个示例中,逻辑传输网络可以包括但不限于加速器高速缓存一致性互连(CCIX)协议的传输层。本文描述的技术指定用于CCIX报文的逻辑传输的PCIe虚拟通道(VC)。该技术通过称为供应商定义的报文(VDM)的PCIe第三方报文,为透明地承载于PCIe物理传输层上的逻辑传输网络创建服务等级属性。该技术创建了与PCle标准事务层分组(TLP)不同的、仅在指定的VC上传输的优化的TLP。优化的TLP包含特定于叠加的逻辑传输网络的低延迟和协议属性。
本公开的示例充分利用了满足CCIX逻辑传输要求的可用PCIe机制。CCIX逻辑传输属性叠加在PCIe定义的机制上,这些机制位于其物理电气和物理逻辑层、其数据链路层以及其具有VDM的事务层中。与PCIe TLP分组定义不同的CCIX分组定义被叠加到事务层的PCIe VDM上,依序的分组分发的CCIX属性也通过VDM的依序分发的PCIe TLP属性实现。
当逻辑传输需要某些机制但该机制在本机的物理传输上不可用时,本公开的示例定义了这些新的机制。此机制涉及指定PCIe虚拟通道(VC),其中该VC上的PCIe VDM包含CCIX逻辑传输所特有的属性。这些属性包括服务等级属性和在指定的PCIe虚拟通道内传输的CCIX虚拟通道。从这些属性派生的CCIX功能在通过PCIe事务层连接的设备上普遍可用,因为这些VDM是通过PCIe透明地承载的。
本公开的示例还允许创建不同于PCIe标准的优化事务层分组(TLP)的TLP,其仅从具有指定VC的一个设备携带到具有相同指定VC的另一设备。优化的TLP包含CCIX特有的低延迟和协议属性。
图1是描绘根据示例的用于在现有物理传输网络上透明地叠加逻辑传输网络的系统100的框图。系统100包括计算机系统102。计算机系统102包括硬件平台(“硬件104”)和在硬件104上执行的软件平台(“软件106”)。硬件104包括处理系统110、系统存储器116、存储设备(“存储118”)和外围设备122。软件106包括操作系统(OS)144、设备驱动程序146和应用程序150。OS 144配置为实施组合的CCIX/PCIe协议栈152,协议栈152被配置为在根据实施例的PCIe数据链路层和物理层上实施CCIX事务层。
处理系统110还包括微处理器112、支持电路114和外围总线115。微处理器112可以是任何类型的通用中央处理单元(CPU),例如基于x86的处理器、基于
Figure BDA0002929789320000051
的处理器等。微处理器112可以包括一个或多个处理器核和相关的电路(例如,高速缓冲存储器、存储器管理单元(MMU)、中断控制器等)。微处理器112被配置为执行程序代码,该程序代码执行本文描述的一个或多个操作,并且可以被存储在系统存储器116和/或存储器118中。支持电路114包括与微处理器112协作以管理微处理器112、系统存储器116、存储器118、外围设备122或任何其他外围设备之间的数据流的各种设备。例如,支持电路114可以包括芯片组(例如,北桥、南桥、平台主机控制器等)、电压调节器、固件(例如,BIOS)等。支持电路114管理在微处理器112和外围总线115之间的数据流,诸如外围设备122之类的各种外围设备连接到外围总线115。在一些示例中,微处理器112可以是系统级封装(SiP)、片上系统(SoC)等,其包含了芯片组(例如北桥、南桥等)的全部或大部分功能。外围总线可以实施扩展总线标准,例如外围组件互连高速总线(PCIe)。在该示例中,处理系统110被示为与外围设备122分开。在下文进一步讨论的其他示例中,处理系统110和外围设备122可以在同一集成电路(IC)上实施。
系统存储器116是允许存储和检索诸如可执行指令和数据之类的信息的设备。系统存储器116可以包括例如一个或多个随机存取存储器(RAM)模块,诸如双倍数据速率(DDR)动态RAM(DRAM)。存储器118包括本地存储设备(例如,一个或多个硬盘、闪存模块、固态盘和光盘)和/或使计算机系统102能够与一个或多个网络数据存储系统通信的存储接口。硬件104可以包括计算系统的各种其他常规设备和的外围设备,诸如图形卡、通用串行总线(USB)接口等。
外围设备122包括可编程IC 128、非易失性存储器124和RAM 126。可编程IC 128可以是现场可编程门阵列(FPGA)等或具有FPGA等的SoC。NVM 124可以包括任何类型的非易失性存储器,诸如闪存等。RAM 126可以包括DDR DRAM等。可编程IC128被耦接到NVM 124和RAM126。可编程IC 128还被耦接到处理系统110的外围总线115。可编程IC 128还可以包括实施外围总线115的物理层的PCIe电路逻辑130A、并包括用于实现特定于支持CCIX传输协议的设备(例如外围设备122)的硬件功能的CCIX定制逻辑130B、以及用于实现CCIX的固件119。
OS 144可以是本领域中已知的任何商用操作系统。驱动程序146包括为外围设备122提供应用编程接口(API)以对其进行命令和控制的驱动程序和库。应用程序150包括在微处理器112上执行的软件,该软件通过组合的CCIX/PCIe协议栈152调用外围设备122以发送CCIX/PCIe属性和事务层分组(TLP)。应用程序150可以包括神经网络、视频处理、网络处理或类似类型的应用程序,这些应用程序将一些功能转移到外围设备122。
CCIX体系结构规范包括五个离散的逻辑层。这些包括CCIX协议层、CCIX链路层和CCIX事务层。CCIX事务层、数据链路和物理层一起称为CCIX传输。CCIX体系结构规范还包括PCIe事务层、PCIe数据链路层和PCIe物理层。这些层中的每一层都分为两部分:一部分处理出站(待发送)信息,另一部分处理入站(接收)信息。
图2示出了具有CCIX功能的PCIe设备200,该CCIX功能允许PCIe设备200具有基于PCIe的加载/存储和一致性语义。PCIe设备200耦合到一个或多个千兆收发器(GT)202。PCIe设备200保留PCIe物理层204和PCIe数据链路层206,但是允许PCIe事务层210与CCIX事务层208并存,以使得支持CCIX的设备可以使用CCIX传输的功能。CCIX规范不修改PCIe事务层210。PCIe事务层210的主要职责是事务层分组(TLP)的组装和分解。TLP用于通信事务(例如,读取、写入)以及某些类型的事件。PCIe事务层210还负责管理TLP的基于信用的流量控制。CCIX规范不修改PCIe数据链路层206和PCIe物理层204,而是直接使用它。PCIe数据链路层206用作PCIe事务层210和CCIX事务层208之间的中间阶段。PCIe数据链路层206的主要职责包括链路管理和数据完整性,数据完整性包括错误检测和纠错。
将逻辑传输网络透明地叠加在现有物理传输(例如PCIe)上的技术定义了新的事务层,例如CCIX事务层208。CCIX事务层208替换了PCIe事务层210中多VC实施中的一个PCIe虚拟通道(VC)。CCIX事务层208是简化的PCIe事务层,其支持优化的CCIX兼容的TLP和PCIe兼容的TLP。
CCIX事务层的主要责任是CCIX事务层分组(TLP)的组装和分解。在接收路径上,CCIX事务层208在将TLP转发到PCIe数据链路层206之前检查CCIX TLP完整性。对于与PCIe兼容的TLP,PCIe基本规范中指定的PCIe事务层210检查是适用的。对于优化的TLP,指定了一组新的CCIX事务层检查。
CCIX事务层208还负责管理CCIX TLP的基于信用的流量控制。在接收路径上,为通过数据完整性检查的CCIX TLP返回转发(posted)的流量控制信用,并将其发送到CCIX事务层208。在发送路径中,基于可用的转发的信用,实现信用门以控制CCIX TLP的流量。这些转发的信用是在整个链接范围内定义的。
CCIX使用事务层分组(TLP)在PCIE数据链路层206和物理层204上传递信息。随着传输的分组向下游经过CCIX事务层208、PCIE数据链路层206、和PCIe物理层204,CCIX分组被扩展以具有在前述各层处处理分组所需的附加信息。在接收侧,发生相反的过程,分组从PCIe物理层204表示转换为PCIE数据链路层206表示,最后(对于事务层分组)转换为可以由接收设备的CCIX事务层208处理的形式。
CCIX传输是通过指定的PCIe虚拟通道进行的。指定的VC可以实现与其他PCle流量的性能隔离,还可以防止与其他PCle流量的资源依赖性死锁。CCIX协议报文是通过第三方PCIe供应商定义的报文(VDM)传输的。PCIe VDM充分利用了VDM的排序属性,并且VDM的性能属性是转发的(即发即弃的)事务。发送方不需要等待分组被确认,还可以依赖PCIe排序的网络以时间依序分发多个VDM。利用用于CCIX流量的指定虚拟通道,可以指定CCIX事务层208。出现在PCle传输上的流量根据该流量在CCIX还是在非CCIX VC上,分流到CCIX事务层208或PCle事务层208。这提供了延迟和带宽优势,这通常对于加载/存储和一致性协议很重要。而且,独立于PCle的CCIX事务层208还通过允许PCIe事务层中不可用的功能——这包括CCIX请求链接和CCIX消息打包来提供延迟和性能优势。
图3示出了PCIe/TLP分组300的布局。PCIe/TLP分组300至少包括有效载荷302,供应商ID(供应商特定标识符)字段304和报文代码字段306。OS 144创建并采用PCIe虚拟通道,用于处理设备之间的分组流量。一旦由OS 144检测到CCIX供应商定义的VDM,CCIX固件119将启用PCIe事务层210未知的CCIX事务层208中的PCIe虚拟通道。一旦CCIX定制逻辑130B发现了CCIX指定的PCIe虚拟通道的启用,CCIX定制逻辑130B继续发现位于组合CCIX/PCIe协议栈152中的PCIe分组中是否包含基于CCIX的设备可识别的供应商定义报文。PCIe被配置为在其协议中识别现有的第三方供应商标识符(ID)和第三方分组类型,其被称为供应商定义的报文。CCIX使用供应商定义的报文,任何来自CCIX的供应商的每个基于CCIX的设备都可以识别并使用该报文。PCIe事务层210识别CCIX虚拟通道上的PCIe属性,并且不知道这些属性被指定为扩展PCIe功能的CCIX属性。
图3示出了PCIe/TLP分组300的布局。PCIe/TPL分组300包括报文头301和有效载荷302。参照图1和图3,支持CCIX的固件119检测到PCIE兼容的TLP分组300在报文头301中具有被称为供应商ID 304的供应商专用标识符。CCIX固件119然后检查报文头301中的报文代码字段306,该报文代码字段306将分组识别为供应商定义的报文。响应于检测到包含与CCIX通信相关联的VDM的CCIX报文头301,支持CCIX的固件219检查嵌入在TLP分组300中的CCIXTLP的基于CCIX的报文头301的内容,以确定如何处理CCIX分组。然后,CCIX固件219通知支持CCIX的OS 144VDM中包含的信息与支持CCIX的应用程序相关联,并且支持CCIX的OS 144应该期望处理通过CCIX事务层208接收到的一个或多个CCIX类型TLP。
CCIX还采用了软件数据结构,该软件数据结构是与供应商定义的报文相对应的,称为指定的供应商特定的扩展功能(DVSEC)。DVSEC软件数据结构是特定于设备供应商的。当OS 144识别出DVSEC供应商定义的报文标识符时,OS 144识别出伴随的DVSEC分组具有PCIe无法识别的附加属性。然后,OS 144查询支持CCIX的固件119以解释DVSEC属性和分组。因此,使OS 144的PCIe部分知道它需要处理CCIX分组,但仍不知道如何解释分组的嵌入式属性。然后,OS 144将DVSEC报文转发到组合的CCIX/PCIe协议栈152和CCIX固件119的CCIX事务层208,以进行进一步解释。
图4是具有树形拓扑的PCIe网络400的框图。PCIe网络400包括主机/服务器402,该主机/服务器402包括连接到PCIe交换机406的PCIe根端口404,PCIe交换机406与一组PCIe设备408a-408n和多个支持CCIX的设备410a-410n通信。在虚拟通道上使用VDM从一个CCIX设备(例如410a)传输到另一CCIX设备(例如410n)的流量在传输到要求的目的端之前,需要先行贯穿PCIe交换机406。
在PCIe设备408a-408n之间发送的报文实质上是点对点报文。但是,支持CCIX的设备410a-410n具有许多在传统PCIe设备中不具备的扩展功能。例如,设备410a可以发送具有VDM的TLP,该VDM具有设备410n的地址。一旦TLP消息通过PCIe交换机406被传送到目的地设备410n,设备410n就可以进一步解释具有增强功能的接收到的VDM。一种增强的功能是VDM可以包含将接收到的消息传输到网络400中其他支持CCIX的设备(未显示)的指令。PCIe事务层210不知道该进一步的传输。
图5是描述根据示例的用于在现有物理传输网络上透明地叠加逻辑传输网络的第一方法500的流程图。可以参考图1至图4来理解方法500的各方面。方法500开始于方框502,在方框502中,计算机系统102指定位于符合第一网络协议的网络的第一事务层中的虚拟通道。在框504处,计算机系统102在第二网络协议的第二逻辑事务层中组装事务层分组,该第二网络协议也可以被第一事务层识别。事务层分组中包含的至少一项属性不能被第一事务层识别,但是分组的其余字段可以被第一事务层识别。分组的其余字段是第二逻辑事务层特有的。
在示例中,事务层分组包括可被第一事务层识别的第三方标识符,以及可被第二逻辑事务层识别的第三方报文类型和第三方报文头。在框506中,计算机系统102将事务层分组从第二事务层传送到虚拟通道。在框508中,计算机系统102使用网络的指定的虚拟通道通过第一事务层传输事务层分组。在一个示例中,第一事务层在符合第一网络协议的数据链路层和物理层上传输事务层分组。
在示例中,第二事务层利用物理层的现有属性,但是采用第二逻辑事务层所特有的服务等级(COS)属性。COS属性是低延迟属性和协议属性中的至少一项。
在示例中,第二网络协议是高速缓存一致的。在示例中,第一网络协议是PCIe协议,第二网络协议是CCIX协议。
图6是描绘根据示例的用于在现有物理传输网络上透明地叠加逻辑传输网络的第二方法600的流程图。可以参考图1至图4来理解方法600的各方面。方法600开始于框602,在框602中,计算机系统102接收位于符合第一网络协议的网络的第一事务层中的事务层分组。在框604处,计算机系统102从位于第一事务层中的虚拟通道中提取事务层分组,该虚拟通道被指定供符合第二网络协议的第二逻辑事务层使用。事务层分组中包含的至少一项属性不能被第一事务层识别,但是分组的其余字段可以被第一事务层识别。分组的其余字段是第二逻辑事务层特有的。
在示例中,事务层分组包括可被第一事务层识别的第三方标识符,以及可被第二逻辑事务层识别的第三方报文类型和第三方报文头。在框606处,计算机系统102组装符合第二逻辑事务层可识别的第二网络协议的事务层分组。在框608处,计算机系统102将事务层分组从虚拟通道传送到第二事务层。
在示例中,事务层分组包括可被第一事务层识别的第三方标识符,以及可被第二逻辑事务层识别的第三方报文类型和第三方报文头。在框610,计算机系统102的第二逻辑事务层基于第三方报文类型从事务层分组中提取并处理第三方报文头。
在示例中,第二事务层利用物理层的现有属性,但是采用第二逻辑事务层所特有的服务等级(COS)属性。COS属性是低延迟属性和协议属性中的至少一项。
在示例中,第二网络协议是高速缓存一致的。在示例中,第一网络协议是PCIe协议,第二网络协议是CCIX协议。
图7是示出根据示例的可编程IC 1的框图。可编程IC 1包括可编程逻辑3、配置逻辑25和配置存储器26。可编程IC 1可以被耦接到诸如非易失性存储器27、DRAM 28和其他电路29之类的外部电路。可编程逻辑3包括逻辑单元30、支持电路31和可编程互连32。逻辑单元30包括可配置为实施多个输入的通用逻辑功能的电路。支持电路31包括专用电路,例如收发器、输入/输出块、数字信号处理器、存储器等。逻辑单元和支持电路31可以使用可编程互连32互连。用于对逻辑单元30进行编程、用于设置支持电路31的参数以及用于对可编程互连32进行编程的信息由配置逻辑25存储在配置存储器26中。配置逻辑25可以从非易失性存储器27或任何其他来源(例如,DRAM 28或从其他电路29)获得配置数据。在一些示例中,可编程IC 1包括处理系统2。处理系统2可以包括微处理器、存储器、支持电路、IO电路等。
图8是示出根据示例的可编程IC 1的片上系统(SoC)实施的框图。在该示例中,可编程IC 1包括处理系统2和可编程逻辑3。处理系统2包括各种处理单元,例如实时处理单元(RPU)4、应用处理单元(APU)5、图形处理单元(GPU)6、配置和安全单元(CSU)12,平台管理单元(PMU)122等。处理系统2还包括各种支持电路,例如片上存储器(OCM)14、收发器7、外围设备8、互连16、DMA电路9、存储器控制器10、外围设备15和多路复用IO(MIO)电路13。处理单元和支持电路通过互连件16互连。PL 3也被耦接到互连16。收发器7被耦接到外部引脚24。PL3被耦接到外部引脚23。存储控制器10被耦接到外部引脚22。MIO 13被耦接到外部引脚20。PS 2通常被耦接到外部引脚21。APU 5可以包括CPU 17、存储器18、和支持电路19。
在图8的示例中,可编程IC 1可以在外围设备122中使用并且可以如上文所述地起作用。PCIe电路逻辑130A和CCIX定制逻辑130B可以在PL 3中被编程并且如上所述地起作用。在另一个示例中,可以使用PS 2而不是通过计算系统的硬件来实施上述硬件104的功能。在这种情况下,软件106在PS 2上执行并且如上所述地起作用。
参照PS 2,每个处理单元包括一个或多个中央处理单元(CPU)和相关电路,例如存储器、中断控制器、直接存储器访问(DMA)控制器、存储器管理单元(MMU)、浮点单元(FPU)等。互连16包括被配置为互连处理单元以及将PS 2中的其他组件互连至处理单元的各种开关、总线、通信链路等。
OCM 14包括一个或多个RAM模块,其可以分布在整个PS 2中。例如,OCM 14可以包括电池备用RAM(BBRAM)、紧耦合存储器(TCM)等。存储器控制器10可以包括用于访问外部DRAM的DRAM接口。外围设备8、15可以包括一个或多个向PS 2提供接口的组件。例如,外围设备15可以包括图形处理单元(GPU)、显示接口(例如DisplayPort,高清多媒体接口(HDMI)端口等)、通用串行总线(USB)端口、以太网端口、通用异步收发器(UART)端口、串行外围设备接口(SPI)端口、通用IO(GPIO)端口、串行高级技术附件(SATA)端口、PCIe端口等。外围设备15可以被耦接到MIO 13。外围设备8可以被耦接到收发器7。收发器7可以包括串行器/解串器(SERDES)电路、MGT等。
图9图示了可编程IC 1的现场可编程门阵列(FPGA)实施,其包括大量不同的可编程片,可编程片包括收发器37、可配置逻辑块(“CLB”)33、随机存取存储器块(“BRAM”)34、输入/输出块(“IOB”)36、配置和时钟逻辑(“CONFIG/CLOCKS”)42、数字信号处理块(“DSP”)35,专用输入/输出块(“I/O”)41(例如,配置端口和时钟端口)以及其他可编程逻辑39,例如数字时钟管理器、模数转换器、系统监视逻辑等。FPGA还可以包括PCIe接口40、模数转换器(ADC)38等。
在一些FPGA中,每个可编程片可以包括至少一个可编程互连元件(“INT”)43,其具有到相同片内可编程逻辑元件的输入和输出端48的连接,如在图8的顶部包括的示例所示。每个可编程互连元件43还可以包括到同一片或其他片中的相邻可编程互连元件的互连段49的连接。每个可编程互连元件43还可以包括到逻辑块(未示出)之间的通用布线资源的互连段50的连接。通用布线资源可包括逻辑块(未示出)之间的布线通道,逻辑块包括互连段(例如,互连段50)的走线和用于连接互连段的开关块(未示出)。通用布线资源的互连段(例如,互连段50)可以跨越一个或多个逻辑块。可编程互连元件43与通用布线资源一起实施了用于所示FPGA的可编程互连结构(“可编程互连”)。
在示例实施中,CLB 33可以包括可配置逻辑元件(“CLE”)44,其可以被编程为实施用户逻辑以及单个可编程互连元件(“INT”)43。BRAM 34可以包括:一个或多个可编程互连元件之外和BRAM逻辑元件(“BRL”)45。通常,片中包括的互连元件的数量取决于片的高度。在图示的示例中,BRAM片具有与五个CLB相同的高度,但是也可以使用其他数目(例如四个)。除了适当数量的可编程互连元件之外,DSP片35还可包括DSP逻辑元件(“DSPL”)46。除了可编程互连元件43的一个实例之外,IOB 36还可以包括例如输入/输出逻辑元件(“IOL”)47的两个实例。如本领域技术人员将清楚的,例如连接到I/O逻辑元件47的实际的I/O焊盘通常不限于输入/输出逻辑元件47的区域。
在图示的示例中,靠近裸片中心的水平区域(如图10所示)用于配置、时钟和其他控制逻辑。从该水平区域或列延伸的垂直柱51用于在FPGA的整个宽度上分配时钟和配置信号。
利用图8所示的架构的一些FPGA包括附加的逻辑块,其破坏了构成FPGA很大一部分的常规柱状结构。附加逻辑块可以是可编程块和/或专用逻辑。
注意,图9仅旨在示出示例性FPGA架构。例如,包括在图9的顶部的行中逻辑块的数量、行的相对宽度、行的数量和顺序、行中包含的逻辑块的类型、逻辑块的相对大小以及互连/逻辑实施仅是示例性的。例如,在实际的FPGA中,无论CLB出现在何处,通常都包括一个以上的相邻CLB行,以促进用户逻辑的有效实施,但是相邻CLB行的数量随着FPGA的整体尺寸而变化。
尽管前述内容针对特定示例,但是在不脱离其基本范围的情况下可以设计其他和进一步的示例,并且其范围由所附权利要求书确定。

Claims (15)

1.一种在现有物理传输网络上透明地叠加逻辑事务网络的方法,其特征在于,所述方法包括:
指定位于符合第一网络协议的网络的第一事务层中的虚拟通道;
在第二网络协议的第二逻辑事务层中组装事务层分组;
将所述事务层分组从第二事务层传送到所述虚拟通道;以及
使用网络的所述虚拟通道通过所述第一事务层传输所述事务层分组。
2.根据权利要求1所述的方法,其特征在于,所述事务层分组包括:可被所述第一事务层识别的第三方标识符;以及可被所述第二逻辑事务层识别的第三方报文类型和第三方报文头。
3.根据权利要求1所述的方法,其特征在于,所述第一事务层通过数据链路层和符合所述第一网络协议的物理层传输所述事务层分组。
4.根据权利要求1所述的方法,其特征在于,第二事务层利用物理层的现有属性,但是采用第二逻辑事务层特有的服务等级(COS)属性。
5.根据权利要求4所述的方法,其特征在于,COS属性是低延迟时间属性和协议属性中的至少一项。
6.根据权利要求1所述的方法,其特征在于,包含在所述事务层分组中的至少一个属性是所述第一事务层不可识别的,但是分组的其余字段可被所述第一事务层识别。
7.根据权利要求1所述的方法,其特征在于,分组的其余字段是所述第二逻辑事务层特有的。
8.根据权利要求1所述的方法,其特征在于,所述第二网络协议包含加载/存储语义。
9.根据权利要求1所述的方法,其特征在于,所述第一网络协议是PCIe协议,并且所述第二网络协议是CCIX协议。
10.如权利要求1所述的方法,其特征在于,所述第二逻辑事务层规定依序的分组分发。
11.一种在现有物理传输网络上透明地叠加逻辑事务网络的方法,其特征在于,所述方法包括:
接收位于符合第一网络协议的网络的第一事务层中的事务层分组;
从位于所述第一事务层中的虚拟通道中提取事务层分组,所述虚拟通道被指定由符合第二网络协议的第二逻辑事务层使用;
组装符合可被所述第二逻辑事务层识别的第二网络协议的事务层分组;以及
将所述事务层分组从所述虚拟通道传送到第二事务层。
12.根据权利要求11所述的方法,其特征在于,所述事务层分组包括可被所述第一事务层识别的第三方标识符,以及可被所述第二逻辑事务层识别的第三方报文类型和第三方报文头。
13.根据权利要求11所述的方法,其特征在于,第二事务层利用物理层的现有属性,但是采用第二逻辑事务层特有的服务等级(COS)属性。
14.根据权利要求11所述的方法,其特征在于,包含在所述事务层分组中的至少一个属性是所述第一事务层不可识别的,但是分组的其余字段可被所述第一事务层识别。
15.一种在现有物理传输网络上透明地叠加逻辑事务网络的系统,其特征在于,所述系统包括:
计算机处理器;以及
存储器,所述存储器耦接至所述计算机处理器,所述计算机处理器被配置为执行位于所述存储器中的代码,以用于:
指定位于符合第一网络协议的网络的第一事务层中的虚拟通道;
在第二网络协议的第二逻辑事务层中组装事务层分组;
将所述事务层分组从第二事务层传送到所述虚拟通道;以及
使用网络的所述虚拟通道通过所述第一事务层传输所述事务层分组。
CN201980051670.7A 2018-08-02 2019-07-29 通过固定pcie物理传输网络的逻辑传输 Active CN112534418B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/053,384 2018-08-02
US16/053,384 US11477049B2 (en) 2018-08-02 2018-08-02 Logical transport over a fixed PCIE physical transport network
PCT/US2019/043912 WO2020028249A1 (en) 2018-08-02 2019-07-29 Logical transport over a fixed pcie physical transport network

Publications (2)

Publication Number Publication Date
CN112534418A true CN112534418A (zh) 2021-03-19
CN112534418B CN112534418B (zh) 2024-06-21

Family

ID=67551745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980051670.7A Active CN112534418B (zh) 2018-08-02 2019-07-29 通过固定pcie物理传输网络的逻辑传输

Country Status (6)

Country Link
US (1) US11477049B2 (zh)
EP (1) EP3830708B1 (zh)
JP (1) JP7411633B2 (zh)
KR (1) KR20210038560A (zh)
CN (1) CN112534418B (zh)
WO (1) WO2020028249A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190004990A1 (en) 2017-07-01 2019-01-03 Stephen R. Van Doren Techniques to support mulitple interconnect protocols for an interconnect
US10853296B2 (en) * 2018-12-28 2020-12-01 Intel Corporation Technologies for establishing communication channel between accelerator device kernels
US10817455B1 (en) * 2019-04-10 2020-10-27 Xilinx, Inc. Peripheral I/O device with assignable I/O and coherent domains
US10817462B1 (en) 2019-04-26 2020-10-27 Xilinx, Inc. Machine learning model updates to ML accelerators
US11586369B2 (en) 2019-05-29 2023-02-21 Xilinx, Inc. Hybrid hardware-software coherent framework
US11074208B1 (en) 2019-07-24 2021-07-27 Xilinx, Inc. Routing network using global address map with adaptive main memory expansion for a plurality of home agents
US11474871B1 (en) 2019-09-25 2022-10-18 Xilinx, Inc. Cache coherent acceleration function virtualization
US11556344B2 (en) 2020-09-28 2023-01-17 Xilinx, Inc. Hardware coherent computational expansion memory
CN114579490A (zh) * 2020-11-30 2022-06-03 深圳市中兴微电子技术有限公司 一种数据传输方法、装置、电子设备和存储介质
US11886372B1 (en) * 2021-07-14 2024-01-30 Cadence Design Systems, Inc. Systems and methods for packing of transaction layer (TL) packets
US11722436B2 (en) 2021-08-24 2023-08-08 International Business Machines Corporation Transport control word architecture for physical port mirroring
US20220108649A1 (en) * 2021-12-17 2022-04-07 Intel Corporation Asynchronous display pixel data streaming over i/o connections

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082708A1 (en) * 2006-09-29 2008-04-03 Kar Leong Wong Token hold off for chipset communication
CN101901205A (zh) * 2009-05-29 2010-12-01 英特尔公司 在PCIExpress上启用基于ID的流的方法和装置
CN104303174A (zh) * 2012-06-25 2015-01-21 英特尔公司 通过处理器间互连来隧道传输平台管理消息
US20170068637A1 (en) * 2015-09-09 2017-03-09 International Business Machines Corporation Peripheral component interconnect express (pcie) pseudo-virtual channels using vendor defined messages
CN107924380A (zh) * 2015-09-26 2018-04-17 英特尔公司 使用业务类别分配高速缓存的方法、装置和系统
CN107992436A (zh) * 2016-10-26 2018-05-04 杭州华为数字技术有限公司 一种NVMe数据读写方法及NVMe设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144339A1 (en) * 2003-12-24 2005-06-30 Wagh Mahesh U. Speculative processing of transaction layer packets
TWI273420B (en) * 2005-07-21 2007-02-11 Via Tech Inc Data processing method and system based on a serial transmission interface
JP5108261B2 (ja) 2006-07-11 2012-12-26 株式会社リコー 情報処理装置およびデータ通信装置
US8234458B2 (en) 2008-12-09 2012-07-31 Nvidia Corporation System and method for maintaining cache coherency across a serial interface bus using a snoop request and complete message
US8291146B2 (en) 2010-07-15 2012-10-16 Ati Technologies Ulc System and method for accessing resources of a PCI express compliant device
KR101895763B1 (ko) 2013-12-26 2018-09-07 인텔 코포레이션 노드들 사이의 i/o 서비스 및 메모리 공유
KR102173089B1 (ko) 2014-08-08 2020-11-04 삼성전자주식회사 인터페이스 회로 및 그것의 패킷 전송 방법
US11281618B2 (en) 2014-10-31 2022-03-22 Xlnx, Inc. Methods and circuits for deadlock avoidance
US9841902B2 (en) * 2014-11-20 2017-12-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Peripheral component interconnect express controllers configured with non-volatile memory express interfaces
US10587534B2 (en) * 2017-04-04 2020-03-10 Gray Research LLC Composing cores and FPGAS at massive scale with directional, two dimensional routers and interconnection networks
US20190004990A1 (en) * 2017-07-01 2019-01-03 Stephen R. Van Doren Techniques to support mulitple interconnect protocols for an interconnect
US11204867B2 (en) * 2017-09-29 2021-12-21 Intel Corporation PCIe controller with extensions to provide coherent memory mapping between accelerator memory and host memory
US10606785B2 (en) * 2018-05-04 2020-03-31 Intel Corporation Flex bus protocol negotiation and enabling sequence
US20190042455A1 (en) * 2018-05-04 2019-02-07 Intel Corporation Globally addressable memory for devices linked to hosts
CN110519004B (zh) * 2018-05-21 2021-12-14 华为技术有限公司 一种编码方法及相关设备
US20190042511A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Non volatile memory module for rack implementations
US11025544B2 (en) * 2019-06-07 2021-06-01 Intel Corporation Network interface for data transport in heterogeneous computing environments

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082708A1 (en) * 2006-09-29 2008-04-03 Kar Leong Wong Token hold off for chipset communication
CN101901205A (zh) * 2009-05-29 2010-12-01 英特尔公司 在PCIExpress上启用基于ID的流的方法和装置
CN104303174A (zh) * 2012-06-25 2015-01-21 英特尔公司 通过处理器间互连来隧道传输平台管理消息
US20170068637A1 (en) * 2015-09-09 2017-03-09 International Business Machines Corporation Peripheral component interconnect express (pcie) pseudo-virtual channels using vendor defined messages
CN107924380A (zh) * 2015-09-26 2018-04-17 英特尔公司 使用业务类别分配高速缓存的方法、装置和系统
CN107992436A (zh) * 2016-10-26 2018-05-04 杭州华为数字技术有限公司 一种NVMe数据读写方法及NVMe设备

Also Published As

Publication number Publication date
EP3830708A1 (en) 2021-06-09
EP3830708B1 (en) 2022-07-06
CN112534418B (zh) 2024-06-21
US20200044895A1 (en) 2020-02-06
US11477049B2 (en) 2022-10-18
JP7411633B2 (ja) 2024-01-11
WO2020028249A1 (en) 2020-02-06
KR20210038560A (ko) 2021-04-07
JP2021533481A (ja) 2021-12-02

Similar Documents

Publication Publication Date Title
CN112534418B (zh) 通过固定pcie物理传输网络的逻辑传输
CN107003955B (zh) 用于在根复合体中集成设备的方法、装置和系统
US8812758B2 (en) Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
US8831029B2 (en) Flexibly integrating endpoint logic into varied platforms
US10802995B2 (en) Unified address space for multiple hardware accelerators using dedicated low latency links
CN108139916B (zh) 可编程逻辑设备的多阶段引导映像加载和配置
CN115102780B (zh) 数据传输方法、相关装置、系统及计算机可读存储介质
US20140075063A1 (en) Smart device with no AP
CN114915499B (zh) 数据传输方法、相关装置、系统及计算机可读存储介质
CN114925386B (zh) 数据处理方法、计算机设备、数据处理系统及存储介质
US11563639B1 (en) Logical transport overlayed over a physical transport having a tree topology
CN117971135B (zh) 存储设备的访问方法、装置、存储介质和电子设备
EP4231132A1 (en) Memory system for tailoring data, host system for controlling the memory system, and operation method of the memory system
US20230350824A1 (en) Peripheral component interconnect express device and operating method thereof

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