CN103119908A - 在PCIe接口上实现快速通路互连协议 - Google Patents
在PCIe接口上实现快速通路互连协议 Download PDFInfo
- Publication number
- CN103119908A CN103119908A CN2011800459252A CN201180045925A CN103119908A CN 103119908 A CN103119908 A CN 103119908A CN 2011800459252 A CN2011800459252 A CN 2011800459252A CN 201180045925 A CN201180045925 A CN 201180045925A CN 103119908 A CN103119908 A CN 103119908A
- Authority
- CN
- China
- Prior art keywords
- pcie
- qpi
- link
- interface
- control unit
- 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
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000001427 coherent effect Effects 0.000 claims abstract description 5
- 238000012544 monitoring process Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 8
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000005055 memory storage Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 abstract description 12
- 239000003795 chemical substances by application Substances 0.000 description 23
- 230000005540 biological transmission Effects 0.000 description 14
- 230000006399 behavior Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000009432 framing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Communication Control (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
发明领域
背景信息
计算机***常见地采用一个或多个互连以利于***组件之间(例如处理器和存储器之间)的通信。互连和/或扩充接口也可用于支持内建和附加设备,例如IO(输入/输出)设备和扩充卡等。在个人计算机引入后的许多年里,主要形式的互连是并行总线。并行总线结构用于内部数据传输和扩充总线两者,例如ISA(工业标准架构)、MCA(微通道架构)、EISA(扩展的工业标准架构)以及VESA局部总线。在1990年代早期英特尔公司引入了PCI(***组件互连)计算机总线。PCI在较早期总线技术上的改进不仅在于提高了总线速度,还在于使用共享地址和数据线引入自动配置和基于事务的数据传输。
随着时间推移,计算机处理器时钟速率以比并行总线时钟速率更快的步伐增加。结果,计算机工作负荷经常受互连瓶颈而不是处理器速度限制。尽管并行总线支持每循环大数据量(例如在PCI-X下32位或甚至64位)的传递,它们的时钟速率受定时失真因素限制,由此导致对最大总线速率的实际限制。为了克服这个问题,研发出高速串行互连。早期串行互连的例子包括串行ATA、USB(通用串行总线)、火线和RapidIO。
另一广泛使用的标准串行互连是PCI Express,也称PCIe,它是在PCIe1.0标准下在2004年引入的。PCIe被设计成代替旧的PCI和PCI-X标准,同时提供旧有***支持。PCIe利用点对点串行链路,而不是共享的并行总线架构。每个链路使用一个或多个快线(lane)支持两个PCIe端口之间的点对点通信信道,其中每个快线包括双向串行链路。快线使用纵横开关架构物理地路由,所述纵横开关架构同时支持多个设备之间的通信。因其固有优势,PCIe在今日的个人计算机中已取代PCI成为最盛行的互连。PCIe是由PCI-SIG(特殊兴趣小组)管理的工业标准。因此,PCIe片可从许多ASIC和硅卖方获得。
附图说明
当结合附图参照下面的详细描述,本发明前述方面和许多伴随的优势将变得更为易懂并更容易理解,在附图中,相同的附图标记在各个图中表示相同的部件,除非另有规定:
图1示出QPI协议栈的层;
图2是示出QPI链路的结构的示意图;
图3示出PCIe协议栈的层;
图4是示出PCIex16链路结构的示意图;
图5是示出PCIex8链路结构的示意图;
图6是示出PCIex4链路结构的示意图;
图7示出由在PCIe接口上实现QPI协议的一个实施例采用的协议层;
图8示出当工作在利用20个快线的全宽度模式时根据QPI流控制单元(flit)的数据位的映射;
图9示出根据一个实施例80位QPI流控制单元的位在PCIe x16接口上的映射;
图10示出根据一个实施例80位QPI流控制单元的位在PCIe x8接口上的映射;
图11示出根据一个实施例80位QPI流控制单元的位在PCIe x4接口上的映射;
图12示出根据一个实施例QPI位在使用128b/130b编码的PCIe x16接口上的映射;
图13示出根据一个实施例用于将QPI链路层实现在PCIe物理层接口的信号;
图14是示出根据一个实施例用于将QPI链路层实现在PCIe物理层接口的逻辑和物理块的方框图;
图15示出根据一个实施例两个80位QPI流控制单元在PCIe x16接口上的映射;
图16是示出根据一个实施例配置成在PCIe接口上实现QPI协议的刀片服务器的一对刀片的示意图;
图17是示出使用图16的刀片服务器根据QPI协议支持本地监听(homesnoop)的发消息操作的消息流程图;以及
图18是示出使用图16的刀片服务器根据QPI协议支持源监听(sourcesnoop)的发消息操作的消息流程图。
具体实施方式
本文描述了在PCIe接口上实现QPI协议的方法和装置的实施例。在以下描述中,陈述许多具体细节以提供对本发明的实施例的透彻理解。然而,相关领域内技术人员将理解本发明可省去一个或多个特定细节而实现,或通过其它方法、组件、材料等实现。在其它例子中,公知的结构、材料或操作不被示出或详细说明以避免对本发明某些方面产生混淆。
贯穿本说明书,对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在本说明书通篇的多个位置中的短语“在一个实施例中”或“在一实施例中”的出现不一定全部指向同一实施例。而且,具体特征、结构、或特性可以任何合适的方式在一个或多个实施例中组合。
快速通路互连总览
QPI事务是藉由在多层协议上传输的分组消息来促成的。如图1所示,这些层包括物理层、链路层、传输层和协议层。在物理层,数据以20位phit(物理单元)交换。在链路层,phit被聚集成80位的flit(流控制单元)。在协议层,使用基于分组的传输在代理之间传递消息。
物理层定义互连的物理结构并负责应对在两代理之间特定链路上的信号的运作细节。该层管理信号线上的数据传输,包括电平、定时方面以及涉及在并行快线两侧发送和接收信息的每个位的逻辑结果。如图2所示,每个互连链路的物理连通性由20个差分信号对加上差分前进时钟来构成。每个端口支持由两个单向链路构成的一链路对,以完成两组件之间的连接。这同时支持两个方向上的话务。
具有QPI端口的组件使用一对单向点对点链路通信,这对链路被定义为链路对,如图2所示。每个端口包括发送(Tx)链路接口和接收(Rx)链路接口。对于所示例子,组件A具有连接至组件B Rx端口的Tx端口。一个单向链路从组件A向组件B发送,而另一链路从组件B向组件A发送。“发送”链路和“接收”链路是对于特定QPI代理而定义的。组件A发送链路将数据从组件A Tx端口发送至组件B Rx端口。该相同的组件A发送链路是端口B接收链路。
协议栈向上的第二层是链路层,它负责可靠数据传输和流控制。链路层也提供将物理信道虚拟化成多个虚拟信道和消息类。在物理层初始化和训练结束后,其逻辑子块在链路层指引下工作,该链路层负责流控制。从该链路工作点向前,逻辑子块以流控制单元粒度(80位)与链路层通信并以物理单元粒度(20位)横跨链路地传输流控制单元。流控制单元由整数个物理单元构成,其中物理单元被定义为在一个单元间隔(UI)上传输的位数。例如,全宽度QPI链路使用四个物理单元发送和接收一完整的流控制单元。每个流控制单元包括72位的负载和8位CRC。
路由层负责确保消息被送至其正确的目的地,并提供通过互连结构引导分组的构架。如果从链路层递交的消息去往另一设备中的代理,则路由层将其提交给正确的链路以在该链路上发送。去往该本地设备上的代理的所有消息被向上传递给协议层。
协议层发挥多种功能。它使用回写协议管理接口的高速缓存一致性。它也具有用于管理非一致性发消息的一组规则。消息是使用分组在协议层上的代理之间传递的。协议层管理跨多个链路的消息传递,这牵涉到多个设备中的多个代理。跨分布式高速缓存和存储器控制器的***高速缓存一致性是通过参与一致性存储器空间事务的分布式代理维持的,它受由协议层定义的规则作用。QPI一致性协议既支持本地监听行为又支持源监听行为,如下文中进一步详细描述的那样。
PCI Express的简介
和QPI一样,PCIe支持点对点互连,该点对点互连使用由用于发送和接收中的每一个的一个或多个快线构成的串行链路。PCIe链路具有至少一个快线——每个快线代表一组差分信号对(一个对用于传输,一个对用于接收)。为了缩放带宽,链路可集合多个快线,这由xN表示,其中N可以是所支持的链路宽度中的任何一个。例如,在PCIe3.0规范上,PCIe链路包括对xl、x2、x4、x8、xl2、xl6和x32快线宽度的操作。在硬件初始化过程中,在快线宽度与链路每端的两个代理的工作频率的协商之后建立每个PCI Express链路。
如图3所示,PCI Express使用分层的协议,包括物理层、数据链路层和事务层。物理层进一步包括逻辑子块和电气子块。PCI Express使用分组在各组件之间传达信息。分组被形成在事务层和数据链路层中以将信息从发送组件携带至接收组件。随着发送的分组流过其它层,它们被扩充以具有在那些层处理分组所需的附加信息。在接收侧,逆过程发生并且分组从其物理层表现转变为数据链路层表现,并最终(对于事务层分组)转变为可由接收设备的事务层处理的形式。图3示出事务层分组信息通过各个层的概念流。
尽管QPI PHY和PCIe PHY之间具有某些相似,但也存在区别。这些区别的其中一些是链路配置和数据编码。图4示出PCIe x16链路的物理连通性。如通过“x16”标识的那样,该链路采用16个快线,每个快线包括一差分信号对。与其采用独立的时钟信号,PCIe下的时钟数据却是被嵌入到数据传输中并经由链路末端点处的物理层恢复。
具有支持x16链路的电路的PCIe互连也可被配置成两个x8链路。另外,响应于检测到错误,x16链路的宽度可自动地减小至x8链路,或甚至减小至x4链路。图5示出采用快线0-7的PCIe x8链路的一个例子,而图6示出采用快线0-3的PCIe x4链路的一个例子。
PCIe上的QPI
根据本发明的某些方面,披露了在PCIe接口上实现QPI协议的技术。如图7所示,QPI协议的协议层、路由层和链路层被实现在PCIe物理层(PHY)上,这里对PCIe逻辑PHY作了一些修改以支持QPI链路层接口。这允许在PCIe接口(和相应的硬件电路)上使用QPI而不需要对电气架构作任何修改。结果,可使用已有的PCIe设计(包括已有的PCI片)实现QPI。
PCIe上的QPI实现支持链路分叉和链路降级,还有快线逆反。在一个实施例中,x16链路可分叉成两个独立的x8链路。另外,存在错误时x16链路可降级成x8或x4链路。降级的x8可以是物理快线0……7或8……15,而降级的x4可以是物理快线0……3、4……7、8……11、12……15。x8链路可或者在快线0……3或者在4……7降级成x4的。在降级模式下,快线可以是逆反的。
在一个实施例中,当针对QPI协议配置时,PCIe PHY根据遵循PCIe3.0的物理层,该物理层使用128b/130b编码而没有物理层组帧(例如STP、END)。PCIe上的QPI链路可工作在遵循PCIe的速率(例如8GT/s)以及其它能由链路两端的设备支持的速率下。QPI协议栈保持其链路层,包括流控制单元、分组格式、CRC和重试机制。
如前所述,在链路层的转移单元是80位流控制单元。因此,为了维持在PCIe PHY上使用QPI链路层,执行传输的数据位格式的映射。当使用QPI链路的全宽度时,80位流控制单元由四个20位物理单元构成,这些物理单元依次在四个UI上被接收。这示出于图8,其中标注为C0……C7的数据对应于8个CRC位,而标注为I0……I71的数据对应于负载数据的72个位(信息位)。另外,CRC和负载数据被图示为编组成若干个8位字节。
在各实施例中,80位流控制单元数据从4个20位物理单元被重新映射到x16、x8和x4PCIe链路上。例如,在一个实施例中,在使用4个UI的20位物理单元中的80位流控制单元数据从20个快线被重映射到使用5个UI的PCIex16PHY的PCIe的16个快线上。这示出于图9,图9示出在每个UI期间传递的数据位以及根据图7的最初80位流控制单元的8位字节的编组。在图10的实施例中,80位流控制单元数据被映射到使用10个UI的PCIe x8配置的8个快线上。在图11的实施例中,80位流控制单元数据被映射到使用20个UI的PCIe x4配置的4个快线上。
在前面的实施例中,选择CRC位和信息位的位置以确保脉冲串长度错误被检测到。下面的错误检测特性被确保:(i)随机的单倍、双倍和三倍位错误,(ⅱ)长度达到8的脉冲串错误以及(ⅲ)对于x16链路的线错误检测。在一个实施例中,当传输QPI流控制单元时采用相同的QPI CRC多项式。由于该链路是x16(或x8或x4)PCIe链路,因此位的布局与QPI不同。用于CRC计算的QPI流控制单元级多项式可表示如下:
I71x79+I70x78+I69x77++IOx8+C7x7+C0x0
在初始化后,在一个实施例中当发送QPI流控制单元时,PXIe PHY工作在128b/130b编码之下,128b/130b编码具有如PCIe3.0规范定义的相同扰码规则和块对准规则。在初始化期间,PXIe PHY将从8b/10b编码开始,8b/10b编码在2.5GT/s数据率下以进行最初链路训练,并在发送任何QPI流控制单元前通过速度改变操作切换至128b/130b编码。图12中示出根据一个实施例的128/130b编码的一个例子。
在128/130b编码中,携带QPI流控制单元的数据块略为不同于PCIe数据块。与同步报头一直为10b的PCIe数据块不同,QPI数据块分别在奇数和偶数快线中使用01b和10b的同步报头位,如图12所示。
QPI数据流开始于第一QPI数据块并在接收到除SKP有序集以外的有序集时或者在由接收机检测到组帧错误时结束。如果同步报头位在奇数和偶数快线中分别为01b和10b,则块是QPI数据块,并且它也遵从另一QPI数据块或仅具有逻辑IDL或有效的有序集的PCIe数据块。对于QPI数据流,没有其它任何一种PCIe3.0发射机组帧规则需要被遵守。
由于每个流控制单元是80位,具有QPI流控制单元的数据块不携带128b/130b编码的任一组帧令牌。组帧逻辑由于其固定的大小可望勾画出流控制单元边界。流控制单元可跨骑在两数据块之间,如图12所示。
如前所述,在PCIe上的QPI协议下,QPI协议的上层保持相同。这些层的最低层是QPI链路层。因此,利用QPI链路层和PCIe物理层之间的接口。用于促成这种接口的信号的一个实施例示出于图13。
16位-20位转换
当使用工作在正常全宽度模式的PCIx16链路时,来自16个快线的数据被映射到20位的物理单元。PCIe逻辑物理层每个时钟对x16链路传递8UI价值的数据(8x16=128)。QPI链路层工作在8UI时钟,但在2流控制单元(160b)接口之上。每个流控制单元具有其本身的流控制单元有效信号(即它可能在一个时钟上传输单个流控制单元)。X16至x20转换逻辑本质上是128b-160b转换。在一个实施例中,流控制单元被尽可能快地传递至QPI链路层(即在传递流控制单元前不等待累加160b)。该逻辑部分也提供在PCIe物理层的8UI时钟和PCIe数据链路层的16UI时钟之间进行转换的接口。图14示出一方框图,该方框图示出用于执行这种转换的接口的一个实施例。
图15示出根据一个实施例在160b和128b之间的位映射。左侧的数据位方框示出通过PCIe逻辑物理层(128b接口)传递的8UI时钟域(PCIe)的数据。它示出40UI时钟周期(时间向下递增;408UIx5UI/流控制单元)。右侧的数据位方框示出对于QPI链路层对各个流控制单元的映射。实线表示流控制单元边界,而虚线表示8UI时钟边界。
除了将QPI流控制单元映射到PCIe x16、x8和x4链路外,该理念可延伸至使用本文公开的类似原理到PCIe x2和x1链路的映射。通常,利用较高宽度的链路是优选的,因为这减少了每个事务的循环次数(并因此减少了等待时间),但也可利用较窄宽度的链路。
还要注意,传统PCIe链路(即利用PCIe协议的PCIe链路)和在其上实现QPI链路的PCIe链路两者可存在于同一***中。PCIe链路不需要具有相同的宽度,或利用相同的时钟速率(即速度)。此外,在同一***中,在PCIe上的QPI链路可采用不同的链路宽度和时钟速率。
在PCIe上维持高速缓存一致性的示例性实现
QPI的固有特征之一是支持一致性内存事务。这是经由与存储器事务相关的相应消息实现的,这些消息由QPI协议的高层处理。如由QPI协议层定义的那样,使用分组将消息传达至可应用代理。下面的消息类由QPI协议利用。
名称 | 简称 | 有序 | 数据负载 |
监听 | SNP | 无 | 否 |
本地 | HOM | 根据地址需要 | 否 |
非数据响应 | NDR | 无 | 否 |
数据响应 | DRS | 无 | 是 |
非一致性标准 | NCS | 无 | 否 |
非一致性旁路 | NCB | 无 | 是 |
表1
请求和响应消息或者影响一致性***存储器空间或者被用于非一致性事务(例如配置、存储器映射的I/O、中断以及代理之间的消息)。
跨分布式高速缓存和集成式存储器控制器的***高速缓存一致性是通过参与一致性存储器空间事务的分布式代理维持的,受由协议层定义的规则作用。QPI一致性协议允许本地监听和源监听行为。本地监听行为优选针对较大的可扩展性,而源监听优选针对较低的等待时间。后者主要用在较小规模的***中,其中较少数量的代理创建相对少量的监听话务。具有更多监听代理的较大***可开发大量的监听话务并因此将从本地监听工作模式中获益。作为一致性机制的一部分,QPI协议实现公知的MESI(修改的、独占的、共享的和无效的)协议,并可选择地引入新的F(转递)状态。
在一个实施例中,QPI协议实现MESI一致性协议的经修改格式。标准MESI协议将每个高速缓存行维持在下面四种状态之一:修改的、独占的、共享的或无效的。新的只读转递状态也已被引入以允许高速缓存-高速缓存干净行转递。这些状态的特性被概括在下面的表2中。在任何给定时间只有一个代理可具有处于该F状态下的行,其它代理可具有S状态副本。即使当高速缓存行在这种状态下已被转递,本地代理仍然需要对结束作出响应以使追踪该事务的资源退出。然而,高速缓存-高速缓存转移提供低等待时间路径以使来自本地代理存储器以外的数据返回。
状态 | 干净/脏 | 可写? | 可转递? | 可过渡至? |
M-修改的 | 脏 | 是 | 是 | - |
E-独占的 | 干净 | 是 | 是 | MSIF |
S-共享的 | 干净 | 否 | 否 | I |
I-无效的 | - | 否 | 否 | - |
F-转递 | 干净 | 否 | 是 | SI |
表2
QPI一致性协议由两个不同类型的代理构成:高速缓存代理和本地代理。处理器通常具有这两种类型的代理并且每种类型可以有多个代理。
高速缓存代理代表一实体,该实体可发起交易到一致性存储器中并可在其本身的高速缓存结构中保留副本。根据在高速缓存一致性协议中定义的行为,高速缓存代理由其作为宿接收和作为源发送的消息所定义。高速缓存代理也可将一致性存储器内容的副本提供给其它高速缓存代理。
本地代理代表为一致性事务提供服务的实体,包括必要时与高速缓存代理的握手。本地代理监督一致性存储器的一部分。本地代理逻辑并非专门是主存储器的存储器控制电路,而是维持给定地址空间的一致性的附加QPI逻辑。它负责管理在不同的高速缓存代理间可能发生的冲突。它根据给定的事务流的需要提供适宜的数据和所有权响应。
根据一个实施例,一致性存储器事务是藉由刀片服务器中的PCIe上的QPI协议的使用来支持的。例如,图16中的刀片服务器***1600包括多个刀片,如图所示的刀片1和刀片2。每个刀片包括各种处理资源和存储器资源,它们通过相应的电路可操作地耦合在一起。尽管相同地在图16中作了描述,然而要理解刀片服务器中的每个刀片可具有更多或更少的处理资源和存储器资源。
更详细地,刀片1包括一对处理器1、2,每个处理器代表具有一个或多个处理器核的处理器或CPU。此外,处理器1、2也可包括芯片上的***。处理器1包括本地高速缓存1602,而处理器2包括本地高速缓存1604。处理器1、2中的每一个连接于相应的存储器存储1606和1608,其中每个存储器存储包括一个或多个存储器模块或存储器芯片排,如DRAM块1610所示。类似地,刀片2包括一对处理器3、4,这些处理器包括相应的本地高速缓存1612、1614以及存储器存储1616、1618。
存储器模块1606、1608、1612和1614经由相应的存储器控制器(未示出)可操作地耦合至其相应的处理器,所述存储器控制器可包含在处理器1-4的每一个中或可包括独立的芯片集组件。为简化起见,存储器接口在图16中以标注为“DDR3”的双箭头表示,DDR3表示双倍数据率3存储器接口。DDR3仅是示例性的,因为也可采用其它存储器接口标准。
处理器1、2经由QPI接口可通信地耦合,所述QPI接口由标注为“QPI”的双箭头表示。类似地,处理器3、4经由QPI接口可通信地耦合。另外,刀片1、2中的每一个包括一个或多个PCIe接口,该PCIe接口由标注为“PCIe”的双箭头表示。一般来说,这些接口可以是任何类型的PCIe接口,包括PCIe xl、x2、x4、x8、xl6和x32。PCIe接口可用来促成与各种输入/输出(IO)设备(为简明起见不予示出)的通信。
刀片1、2中的每一个包括PCIe x16或x8接口,所述接口可操作地耦合于底板接口或边缘连接器(取决于刀片配置)。可将刀片1、2安装在内的刀片服务器包括适宜的互连电路以利于在PCIe x16和/或PCIe x8接口上在刀片1、2之间通信。此外,根据本文描述的实施例,如图16中标示PCIe上的QPI的双箭头所示,刀片1、2被配置成支持PCIe接口上的一个或多个QPI。
本地监听例子
本地监听一致性行为将本地代理定义为负责其它高速缓存代理的监听。消息的基本流涉及多达四种操作,如图17的例子所示,其中图示的处理器对应于图16的刀片服务器的处理器1、2、3和4。在该例中,由远程代理管理的对一地址的简化读请求被执行,其中处理器1是作出请求的高速缓存代理,处理器2、3是对等的高速缓存代理,而处理器4是高速缓存行的本地代理。另外,处理器3具有或者是M、E状态或者是F状态的高速缓存行的副本。
在第一操作中,高速缓存代理(处理器1)将一请求发布至管理所讨论的存储器的本地代理(处理器4)。总地来说,每个处理器典型地经由地址范围映射等管理共享存储器的相应部分。同时,每个本地代理维持一目录结构,该目录结构用于追踪哪些代理保有与本地代理管理的存储器对应的高速缓存行。
接着,在第二操作中,本地代理(处理器4)检查其目录结构以使监听指向被标识为保有与请求中的存储器地址对应的高速缓存行的高速缓存代理。在该例中,目录结构指示处理器3保有高速缓存行,并因此处理器4将监听请求送至处理器3。
响应于监听请求,高速缓存代理在第三操作中将一响应送回给具有该地址状态的本地代理。在该例中,处理器3具有处于适宜状态的高速缓存行的副本,因此处理器3将高速缓存行数据的副本传递至处理器1。处理器3也对处理器4作出响应,该响应指示处理器3已将数据送至处理器1。本地代理解决任何冲突,并在需要时将数据返回给最初作出请求的高速缓存代理(在第一次检查之后以观察是否数据由另一高速缓存代理传递,在本例中就是如此),然后事务结束。这示出于第四操作中,其中处理器4将指示事务结束的消息提供给处理器1。
QPI本地监听行为实现常见地包括一目录结构,用以使监听指向可能具有数据副本的特定高速缓存代理。其效果是减少了本地代理在互连构架上必须处理的监听和监听响应的数量。这在具有大量代理的***中是非常有用的,尽管它是以等待时间和复杂度为代价的。因此,本地监听面向针对大量代理优化的***。
源监听例子
源监听一致性行为通过允许请求源既发布该请求又发布任何需要的监听消息而使事务的结束变得流畅。消息的基本流动仅涉及三个操作,由于数据可在第二操作中被传递,有时被称为二级跳监听。参见图18,在本地监听例中前述的同一存储器读请求如下地进行。
在第一操作期间,高速缓存代理(处理器1)将一请求发布至管理所讨论的存储器的本地代理(处理器4),并对所有其它高速缓存代理(处理器2、3)发布监听以观察它们是否具有所讨论存储器的副本。
在第二操作中,高速缓存代理对具有地址状态的本地代理作出响应。在该例中,处理器3具有处于适宜状态的行的副本,因此数据被直接传送至发出请求的高速缓存代理(处理器1)。处理器2、3也将相应的状态请求提供回给本地代理。
在第三操作中,本地代理解决任何冲突并通过将相应的消息提供给发出请求的高速缓存代理(处理器1)而结束事务。
源监听行为节省了“跳数”,因此提供较低的等待时间。这样做的代价是,需要代理维持低等待时间路径以接收监听请求和对其作出响应;这也相对于本地监听方法给予互连构架额外的带宽压力。
根据本文描述的实施例,QPI协议的特征和功能可延伸至PCIe硬件而不需要对物理接口(即接口电路)作任何改变。因此,QPI协议可使用已有的PCIe电路设计来实现。结果,例如一致性存储器事务的QPI协议特征可延伸至PCIe接口。
本发明所示实施例的前面说明——包括在摘要中描述的内容——不旨在是穷尽性的或将本发明限定在所公开的准确形式。尽管在本文中出于说明性目的描述了本发明的具体实施例和示例,但在本发明的范围内可作出各种等效修改,如本领域技术人员将认识到的那样。
鉴于以上详细描述,可对本发明作出这些修改。所附权利要求书中所使用的术语不应当被解释成将本发明限于说明书和附图所公开的具体实施例。相反,本发明的范围是由下面权利要求书整体确定的,它应当根据权利要求书解释的建立教条予以解释。
Claims (20)
1.一种方法,包括:
在具有共享存储器资源并包括可访问所述共享存储器资源的多个设备的计算机***中实现高速缓存一致性协议,所述多个设备包括具有本地高速缓存的至少一个处理器,其中所述计算机***包括***组件互连快速(PCIe)接口电路,在所述PCIe接口电路上允许通过使用所述高速缓存一致性协议来实现一致性存储器事务。
2.如权利要求1所述的方法,其特征在于,所述高速缓存一致性协议是快速通路互连(QPI)协议,所述方法还包括使用在所述PCIe接口电路上传送的QPI消息来实现一致性存储器事务。
3.如权利要求2所述的方法,其特征在于,还包括:
将QPI flit(流控制单元)映射到工作在采用16个快线的全宽度下的PCIex16接口。
4.如权利要求2所述的方法,其特征在于,还包括:
将QPI flit(流控制单元)映射到采用8个快线或工作在采用4个快线的四分之一宽度下的PCIe x16接口上。
5.如权利要求2所述的方法,其特征在于,还包括:
将QPI flit(流控制单元)映射到采用8个快线的PCIe x8接口上。
6.如权利要求2所述的方法,其特征在于,还包括:
将QPI flit(流控制单元)映射到工作在采用4个快线的半宽度下的PCIex8接口。
7.如权利要求2所述的方法,其特征在于,还包括在PCIe物理层采用128b/130b编码。
8.如权利要求2所述的方法,其特征在于,还包括在PCIe物理层上实现QPI链路层、路由层和协议层。
9.如权利要求1所述的方法,其特征在于,所述***利用经由所述PCIe接口电路通信地耦合的多个处理器,其中每个处理器通信地耦合至至少一个共享存储器资源并包括本地高速缓存,此外每个处理器被允许访问与另一处理器通信耦合的存储器资源并同时保持存储器一致性。
10.一种方法,包括:
在***组件互连快速(PCIe)接口电路上实现快速通路互连(QPI)协议。
11.如权利要求10所述的方法,其特征在于,所述QPI协议是通过将QPIflit(流控制单元)映射到16个快线上在利用所述16个快线的PCIe x16接口上实现的。
12.如权利要求10所述的方法,其特征在于,所述QPI协议是通过将QPIflit(流控制单元)映射到8个快线上在利用所述8个快线的PCIe x16接口上实现的。
13.如权利要求10所述的方法,其特征在于,所述QPI协议是通过将QPIflit(流控制单元)映射到4个快线上在利用所述4个快线的PCIe x16或PCIex8接口之一上实现的。
14.如权利要求10所述的方法,其特征在于,还包括在所述PCIe接口的物理层采用128b/130b编码。
15.一种***,包括:
多个处理器,所述多个处理器中的每一个具有本地高速缓存并可操作地耦合至具有针对所述***的一部分共享存储器的相应存储器存储;以及
可操作地耦合至少两个处理器的***组件互连快速(PCIe)接口电路,
其中所述至少两个处理器被配置成使用在PCIe接口电路上传送的相应QPI消息实现快速通路互连(QPI)协议以支持所述***中的一致性存储器事务。
16.如权利要求15所述的***,其特征在于,所述***包括具有多个刀片的刀片服务器,所述刀片包括被配置成经由相应的底板或边缘连接器通信地耦合刀片组件的PCIe接口电路。
17.如权利要求15所述的***,其特征在于,所述处理器被配置成与经由使用在PCIe接口电路上传送的QPI消息执行一致性存储器事务相结合地实现本地监听和源监听中的至少一个。
18.如权利要求15所述的***,其特征在于,在其上传送QPI消息的PCIe接口电路包括PCIe x16接口、PCIe x8或PCIe x4接口中的至少一个。
19.如权利要求15所述的***,其特征在于,在其上传送QPI消息的PCIe接口电路包括从PCIe x16链路、PCIe x8和PCIe x4链路构成的组中选取的两个或更多个PCIe链路。
20.如权利要求15所述的***,其特征在于,在其上QPI发消息的PCIe接口电路利用至少两个独立的PCIe链路,所述PCIe链路利用不同链路宽度或不同时钟速率中的至少一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/889,777 US8751714B2 (en) | 2010-09-24 | 2010-09-24 | Implementing quickpath interconnect protocol over a PCIe interface |
US12/889,777 | 2010-09-24 | ||
PCT/US2011/053128 WO2012040648A2 (en) | 2010-09-24 | 2011-09-23 | IMPLEMENTING QUICKPATH INTERCONNECT PROTOCOL OVER A PCIe INTERFACE |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103119908A true CN103119908A (zh) | 2013-05-22 |
CN103119908B CN103119908B (zh) | 2015-10-21 |
Family
ID=45871817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180045925.2A Active CN103119908B (zh) | 2010-09-24 | 2011-09-23 | 在PCIe接口上实现快速通路互连协议 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8751714B2 (zh) |
CN (1) | CN103119908B (zh) |
BR (1) | BR112013006259A2 (zh) |
DE (1) | DE112011103207T5 (zh) |
TW (1) | TWI587146B (zh) |
WO (1) | WO2012040648A2 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105359468A (zh) * | 2013-12-06 | 2016-02-24 | 英特尔公司 | 使用与链路结构分组异步的微片捆包的链路传送、位错误检测以及链路重试 |
CN105389288A (zh) * | 2015-12-30 | 2016-03-09 | 山东海量信息技术研究院 | 一种支持多分区计算机***中的数据交互方法 |
CN105718390A (zh) * | 2014-12-18 | 2016-06-29 | 英特尔公司 | 共享存储器链路中的低功率进入 |
CN108268413A (zh) * | 2018-02-28 | 2018-07-10 | 郑州云海信息技术有限公司 | 扩展pcie接口数量的***、方法、服务器及整机*** |
CN109416677A (zh) * | 2016-07-22 | 2019-03-01 | 英特尔公司 | 支持用于一组公共互连连接器的多种互连协议的技术 |
CN109643297A (zh) * | 2016-09-30 | 2019-04-16 | 英特尔公司 | 电压调制的控制通路 |
CN109669897A (zh) * | 2017-10-13 | 2019-04-23 | 华为技术有限公司 | 数据传输方法和装置 |
CN113792006A (zh) * | 2020-08-14 | 2021-12-14 | 阿里巴巴集团控股有限公司 | 具有高速缓存一致性的设备间处理*** |
CN113886304A (zh) * | 2021-09-06 | 2022-01-04 | 浪潮集团有限公司 | 一种PXIe的测控背板 |
WO2024082944A1 (zh) * | 2022-10-21 | 2024-04-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多处理器数据交互方法、装置、设备及存储介质 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751714B2 (en) | 2010-09-24 | 2014-06-10 | Intel Corporation | Implementing quickpath interconnect protocol over a PCIe interface |
WO2012103712A1 (zh) * | 2011-06-27 | 2012-08-09 | 华为技术有限公司 | Cpu互联装置 |
US8437343B1 (en) * | 2012-05-22 | 2013-05-07 | Intel Corporation | Optimized link training and management mechanism |
US9043526B2 (en) * | 2012-06-20 | 2015-05-26 | International Business Machines Corporation | Versatile lane configuration using a PCIe PIe-8 interface |
MY169964A (en) | 2012-06-29 | 2019-06-19 | Intel Corp | An architected protocol for changing link operating mode |
WO2014005261A1 (zh) * | 2012-07-02 | 2014-01-09 | 杭州华为数字技术有限公司 | 存储扩展装置及服务器 |
US9507746B2 (en) | 2012-10-22 | 2016-11-29 | Intel Corporation | Control messaging in multislot link layer flit |
US9280507B2 (en) * | 2012-10-22 | 2016-03-08 | Intel Corporation | High performance interconnect physical layer |
US9355058B2 (en) * | 2012-10-22 | 2016-05-31 | Intel Corporation | High performance interconnect physical layer |
WO2014065879A1 (en) | 2012-10-22 | 2014-05-01 | Venkatraman Iyer | High performance interconnect physical layer |
US9244872B2 (en) * | 2012-12-21 | 2016-01-26 | Ati Technologies Ulc | Configurable communications controller |
TWI506443B (zh) * | 2012-12-27 | 2015-11-01 | Mediatek Inc | 處理器與週邊裝置之間的媒介週邊介面及其通信方法 |
US20140281071A1 (en) * | 2013-03-15 | 2014-09-18 | Jianping Jane Xu | Optical memory extension architecture |
EP2997482A4 (en) | 2013-05-16 | 2016-11-16 | Hewlett Packard Development Co | AGENT WITH MULTIPLE MODES |
CN103546386A (zh) * | 2013-10-24 | 2014-01-29 | 迈普通信技术股份有限公司 | 路由器中数据报文发送的流控方法及*** |
KR101541349B1 (ko) * | 2013-11-19 | 2015-08-05 | 주식회사 윈스 | 고성능 네트워크 장비의 패킷 전달 시스템 및 그 전달 방법 |
US9397792B2 (en) | 2013-12-06 | 2016-07-19 | Intel Corporation | Efficient link layer retry protocol utilizing implicit acknowledgements |
US9325449B2 (en) | 2013-12-06 | 2016-04-26 | Intel Corporation | Lane error detection and lane removal mechanism to reduce the probability of data corruption |
JP6461959B2 (ja) | 2013-12-26 | 2019-01-30 | インテル コーポレイション | マルチチップパッケージリンク |
CN105793830B (zh) * | 2013-12-26 | 2019-12-24 | 英特尔公司 | 一种在节点之间共享存储器和i/o服务的装置、方法、*** |
US9628382B2 (en) | 2014-02-05 | 2017-04-18 | Intel Corporation | Reliable transport of ethernet packet data with wire-speed and packet data rate match |
US9710406B2 (en) | 2014-12-15 | 2017-07-18 | Intel Corporation | Data transmission using PCIe protocol via USB port |
US9785556B2 (en) * | 2014-12-23 | 2017-10-10 | Intel Corporation | Cross-die interface snoop or global observation message ordering |
US9779053B2 (en) * | 2014-12-23 | 2017-10-03 | Intel Corporation | Physical interface for a serial interconnect |
CN104615564A (zh) * | 2015-02-05 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种基于qpi总线的数据传输方法及计算机*** |
US9720838B2 (en) * | 2015-03-27 | 2017-08-01 | Intel Corporation | Shared buffered memory routing |
US9940287B2 (en) * | 2015-03-27 | 2018-04-10 | Intel Corporation | Pooled memory address translation |
WO2017012096A1 (zh) | 2015-07-22 | 2017-01-26 | 华为技术有限公司 | 计算机设备和计算机设备数据读写的方法 |
US9858161B2 (en) * | 2015-10-27 | 2018-01-02 | International Business Machines Corporation | Implementing cable failover in multiple cable PCI express IO interconnections |
CN107209725A (zh) * | 2015-12-17 | 2017-09-26 | 华为技术有限公司 | 处理写请求的方法、处理器和计算机 |
CN106055436A (zh) * | 2016-05-19 | 2016-10-26 | 浪潮电子信息产业股份有限公司 | 一种测试QPI data lane Degrade功能的方法 |
TWI616754B (zh) * | 2016-07-29 | 2018-03-01 | 百利通亞陶科技股份有限公司 | 快捷外設互聯標準(PCIe)資料交換裝置及傳輸系統 |
KR20180044095A (ko) | 2016-10-21 | 2018-05-02 | 삼성전자주식회사 | 전자 시스템 및 그것의 동작 방법 |
US10509759B2 (en) | 2017-03-31 | 2019-12-17 | Intel Corporation | Multiple storage devices implemented using a common connector |
US10601425B2 (en) * | 2018-05-30 | 2020-03-24 | Intel Corporation | Width and frequency conversion with PHY layer devices in PCI-express |
US11467999B2 (en) | 2018-06-29 | 2022-10-11 | Intel Corporation | Negotiating asymmetric link widths dynamically in a multi-lane link |
US11563639B1 (en) * | 2018-07-02 | 2023-01-24 | Xilinx, Inc. | Logical transport overlayed over a physical transport having a tree topology |
US10846247B2 (en) | 2019-03-05 | 2020-11-24 | Intel Corporation | Controlling partial link width states for multilane links |
US11444829B2 (en) * | 2019-09-09 | 2022-09-13 | Intel Corporation | Link layer communication by multiple link layer encodings for computer buses |
US11836101B2 (en) | 2019-11-27 | 2023-12-05 | Intel Corporation | Partial link width states for bidirectional multilane links |
US11132321B2 (en) * | 2020-02-26 | 2021-09-28 | Quanta Computer Inc. | Method and system for automatic bifurcation of PCIe in BIOS |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101273340A (zh) * | 2005-09-26 | 2008-09-24 | 英特尔公司 | 低等待时间消息传递机制优先级信息 |
CN101482858A (zh) * | 2007-12-27 | 2009-07-15 | 英特尔公司 | 互连体系结构状态覆盖测量方法 |
CN101593159A (zh) * | 2008-05-30 | 2009-12-02 | 英特尔公司 | 使用关键度信息来路由高速缓存一致性通信 |
US20100077197A1 (en) * | 2004-05-03 | 2010-03-25 | Microsoft Corporation | Non-volatile memory cache performance improvement |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7062610B2 (en) * | 2002-09-30 | 2006-06-13 | Advanced Micro Devices, Inc. | Method and apparatus for reducing overhead in a data processing system with a cache |
JP4110964B2 (ja) * | 2002-12-25 | 2008-07-02 | 日本電気株式会社 | 伝送システムおよびデータ転送方法 |
US7783842B2 (en) * | 2003-01-09 | 2010-08-24 | International Business Machines Corporation | Cache coherent I/O communication |
US7155572B2 (en) * | 2003-01-27 | 2006-12-26 | Advanced Micro Devices, Inc. | Method and apparatus for injecting write data into a cache |
US7096305B2 (en) * | 2003-05-15 | 2006-08-22 | Broadcom Corporation | Peripheral bus switch having virtual peripheral bus and configurable host bridge |
US7174430B1 (en) * | 2004-07-13 | 2007-02-06 | Sun Microsystems, Inc. | Bandwidth reduction technique using cache-to-cache transfer prediction in a snooping-based cache-coherent cluster of multiprocessing nodes |
WO2009076324A2 (en) * | 2007-12-10 | 2009-06-18 | Strandera Corporation | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system |
CN101449250B (zh) * | 2006-05-30 | 2011-11-16 | 英特尔公司 | 用于高速缓存一致性协议的方法、装置及*** |
US7982742B2 (en) * | 2007-09-06 | 2011-07-19 | Dell Products L.P. | System and method for an information handling system having an external graphics processor system for operating multiple monitors |
US8082418B2 (en) | 2007-12-17 | 2011-12-20 | Intel Corporation | Method and apparatus for coherent device initialization and access |
US8151081B2 (en) | 2007-12-20 | 2012-04-03 | Intel Corporation | Method, system and apparatus for memory address mapping for sub-socket partitioning |
US8078862B2 (en) * | 2008-04-25 | 2011-12-13 | Intel Corporation | Method for assigning physical data address range in multiprocessor system |
US8031731B2 (en) * | 2008-06-09 | 2011-10-04 | Oracle America, Inc. | System for sharing a network port of a network interface including a link for connection to another shared network interface |
US20090327564A1 (en) | 2008-06-30 | 2009-12-31 | Nagabhushan Chitlur | Method and apparatus of implementing control and status registers using coherent system memory |
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 |
EP2236744A3 (en) * | 2009-03-30 | 2013-09-18 | Services Pétroliers Schlumberger | Digital signal processing recievers, systems and methods for identifying decoded signals |
US8180981B2 (en) * | 2009-05-15 | 2012-05-15 | Oracle America, Inc. | Cache coherent support for flash in a memory hierarchy |
US8085801B2 (en) * | 2009-08-08 | 2011-12-27 | Hewlett-Packard Development Company, L.P. | Resource arbitration |
US8291175B2 (en) * | 2009-10-16 | 2012-10-16 | Oracle America, Inc. | Processor-bus attached flash main-memory module |
US8751714B2 (en) | 2010-09-24 | 2014-06-10 | Intel Corporation | Implementing quickpath interconnect protocol over a PCIe interface |
-
2010
- 2010-09-24 US US12/889,777 patent/US8751714B2/en not_active Expired - Fee Related
-
2011
- 2011-09-23 DE DE112011103207T patent/DE112011103207T5/de active Pending
- 2011-09-23 WO PCT/US2011/053128 patent/WO2012040648A2/en active Application Filing
- 2011-09-23 CN CN201180045925.2A patent/CN103119908B/zh active Active
- 2011-09-23 TW TW100134350A patent/TWI587146B/zh active
- 2011-09-23 BR BR112013006259A patent/BR112013006259A2/pt not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077197A1 (en) * | 2004-05-03 | 2010-03-25 | Microsoft Corporation | Non-volatile memory cache performance improvement |
CN101273340A (zh) * | 2005-09-26 | 2008-09-24 | 英特尔公司 | 低等待时间消息传递机制优先级信息 |
CN101482858A (zh) * | 2007-12-27 | 2009-07-15 | 英特尔公司 | 互连体系结构状态覆盖测量方法 |
CN101593159A (zh) * | 2008-05-30 | 2009-12-02 | 英特尔公司 | 使用关键度信息来路由高速缓存一致性通信 |
Non-Patent Citations (1)
Title |
---|
DIMITRIOS ZIAKAS等: "Intel® QuickPath Interconnect Architectural Features Supporting Scalable System Architectures", 《HIGH PERFORMANCE INTERCONNECTS (HOTI) 2010 IEEE 18TH ANNUAL SYMPOSIUM ON》, 20 August 2010 (2010-08-20) * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105359468A (zh) * | 2013-12-06 | 2016-02-24 | 英特尔公司 | 使用与链路结构分组异步的微片捆包的链路传送、位错误检测以及链路重试 |
CN105718390A (zh) * | 2014-12-18 | 2016-06-29 | 英特尔公司 | 共享存储器链路中的低功率进入 |
CN105718390B (zh) * | 2014-12-18 | 2018-12-18 | 英特尔公司 | 共享存储器链路中的低功率进入 |
CN105389288A (zh) * | 2015-12-30 | 2016-03-09 | 山东海量信息技术研究院 | 一种支持多分区计算机***中的数据交互方法 |
CN109416677A (zh) * | 2016-07-22 | 2019-03-01 | 英特尔公司 | 支持用于一组公共互连连接器的多种互连协议的技术 |
CN109416677B (zh) * | 2016-07-22 | 2024-03-01 | 英特尔公司 | 支持用于一组公共互连连接器的多种互连协议的技术 |
CN109643297B (zh) * | 2016-09-30 | 2023-09-05 | 英特尔公司 | 电压调制的控制通路 |
CN109643297A (zh) * | 2016-09-30 | 2019-04-16 | 英特尔公司 | 电压调制的控制通路 |
CN109669897A (zh) * | 2017-10-13 | 2019-04-23 | 华为技术有限公司 | 数据传输方法和装置 |
CN108268413A (zh) * | 2018-02-28 | 2018-07-10 | 郑州云海信息技术有限公司 | 扩展pcie接口数量的***、方法、服务器及整机*** |
CN113792006A (zh) * | 2020-08-14 | 2021-12-14 | 阿里巴巴集团控股有限公司 | 具有高速缓存一致性的设备间处理*** |
CN113886304A (zh) * | 2021-09-06 | 2022-01-04 | 浪潮集团有限公司 | 一种PXIe的测控背板 |
WO2024082944A1 (zh) * | 2022-10-21 | 2024-04-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多处理器数据交互方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
BR112013006259A2 (pt) | 2019-09-24 |
TWI587146B (zh) | 2017-06-11 |
DE112011103207T5 (de) | 2013-08-14 |
TW201220064A (en) | 2012-05-16 |
CN103119908B (zh) | 2015-10-21 |
US20120079156A1 (en) | 2012-03-29 |
WO2012040648A2 (en) | 2012-03-29 |
US8751714B2 (en) | 2014-06-10 |
WO2012040648A3 (en) | 2012-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103119908B (zh) | 在PCIe接口上实现快速通路互连协议 | |
US20210109879A1 (en) | Pooled memory address translation | |
US11061850B2 (en) | Multiple transaction data flow control unit for high-speed interconnect | |
EP3410304B1 (en) | Multislot link layer flit | |
JP4928732B2 (ja) | データ転送システム及び電子機器 | |
US11366773B2 (en) | High bandwidth link layer for coherent messages | |
US7424567B2 (en) | Method, system, and apparatus for a dynamic retry buffer that holds a packet for transmission | |
JP2006195871A (ja) | 通信装置、電子機器、及び画像形成装置 | |
US20140115208A1 (en) | Control messaging in multislot link layer flit | |
JP2006201909A (ja) | データ転送システム及び電子機器 | |
WO2013081580A1 (en) | Raw memory transaction support | |
WO2004031964A2 (en) | Method and apparatus for reducing overhead in a data processing system with a cache | |
CN101194242A (zh) | 存储器控制器和用于连接网络和存储器的方法 | |
JPWO2010123143A1 (ja) | 送信装置、送信方法及び送信装置の制御プログラム | |
JP2006211532A (ja) | 通信デバイス、データ転送システム及び電子機器 | |
WO2023129772A1 (en) | Die-to-die interconnect | |
JP5151176B2 (ja) | データ通信装置、画像処理システムおよびデータ通信方法 | |
WO2015099676A1 (en) | Input output data alignment | |
JP4287325B2 (ja) | 画像システム | |
US20070112992A1 (en) | Apparatus and method for implementing a communications port | |
CN101261615B (zh) | 计算机点对点直接内存通信方法及其网卡 | |
JP2005332316A (ja) | データ分配装置、データ転送装置及び画像処理装置 | |
Khan et al. | High performance scalable on-chip interconnects: Unleashing system performance | |
Duato | HyperTransport™ technology tutorial. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |