当前位置: 首页 > 专利查询>英特尔公司专利>正文

改善有效链路带宽的完成组合制造技术

技术编号:10434616 阅读:136 留言:0更新日期:2014-09-17 12:01
公开一种接合打算供单个目标(请求者)使用的不相关的完成操作以改善可达到的数据带宽的装置和方法。在传输期间,完成操作被收集以及压缩到单个分组中并沿着链路被传输。在链路的接收端,单个分组被解压缩,并且之前不相关的分组在被请求者接收之前返回到它们的初始状态。在PCIe实现的情况下,该方法可被实施在根复合体、端点和/或交换机中,但是除了PCIe还可以应用于其它协议。

【技术实现步骤摘要】
改善有效链路带宽的完成组合
本申请涉及分组处理。
技术介绍
在串行链路中,每一个分组都有与其相关的开销。PCIe中的完成事务有五个双字(DW)的开销:一个DW用于组帧,三个DW用做报头,以及一个DW专用于循环冗余校验(CRC)。该开销的呈现不考虑事务所包含的数据有效载荷。(PCIe是外围部件互连快速的简称,其是许多计算机系统使用的高速串行总线标准。)例如,如果读请求为32字节(32B),那么对应的完成包含八个双字(DW)(32字节)的数据,结果效率为61.5%(8个DW比上13个DW)。因此,在x16第三代PCIe链路中,使用32B的请求大小,可以取得每秒9.84千兆字节(GB/s)的可用数据带宽,而不是16GB/s。如果请求大小是64B,则带宽效率增加到76.2%。如果请求大小增加到256B,则效率增加到93%。许多带宽敏感型应用,比如图形和高性能计算(HPC)联网,具有小的请求大小。由于以上讨论的协议开销,这必然限制了可达到的带宽量。一个解决方案是提供过量带宽和/或频率水平,这从成本以及功率的角度来说是昂贵的。因此,对于致力于克服现有技术的缺陷的方案有持续的需要。附图说明当结合附图时,通过参考下面的详细描述,本文件的前述各方面以及许多伴随的优点将变得更易于领会以及变得更好理解,除非另有说明,否则附图中相同的附图标记表示不同视图的相同部分。图1是根据一些实施例的完成组合装置的简化框图,以压缩部分为特征;图2是根据一些实施例的完成组合装置的简化框图,以解压缩部分为特征;图3是根据一些实施例的在PCIe标准下发生的不公告(non-posted)和公告操作的简化框图;图4是根据一些实施例的以事务和它们的完成为特征的框图,以展示通过组合完成所获得的效率,如图1和图2的完成组合装置所执行的;图5A-5C是根据一些实施例的示例PCIe拓扑的简化图,用于展示图1和图2的完成组合装置的两种可能的实现;图6是根据一些实施例的在PCIe下的逻辑层的简化图,用于展示图1和图2的完成组合装置的两种可能布置;图7是根据一些实施例的以由图1的完成组合装置的压缩部分所执行的操作为特征的流程图;以及图8是根据一些实施例的以由图2的完成组合装置的解压缩部分所执行的操作为特征的流程图;以及图9是根据一些实施例的片上系统的高层框图,其可以支持图1和图2的完成组合装置。具体实施方式根据这里描述的实施例,公开一种装置和方法,其中,接合打算供单个目标(请求者)使用的不相关的完成操作以改善可达到的数据带宽。在传输期间,完成操作被收集以及压缩为单个分组并沿着链路传输。在链路的接收端,单个分组被解压缩,并且之前不相关的分组在被请求者接收之前返回到它们的初始状态。在PCIe实现的情况下,该方法可被实施在根复合体、端点和/或交换机中,但是除了PCIe还可以应用于其它协议。在下面的详细描述中,参考附图,其通过示意的方式显示了特定的实施例,其中可以实践这里描述的主题。然而,需要知晓的是,本领域技术人员一旦读了该公开内容,其它实施例将变得显而易见。因此,下面的描述不被解释为限制的意思,因为主题的范围由权利要求书定义。图1和2是根据一些实施例的完成组合装置的简化框图。完成组合装置可以是基于处理器的系统、片上系统、服务器系统或任意的其它基于处理器的系统的变型的一部分。下面,在本公开中举例说明一些示例系统。现在,在描述装置100时,操作环境仅仅被称为“系统”。完成组合装置具有两个不同的功能:组合分组以更有效地通过系统传输;以及在一些接收点处对组合的分组进行解组装,从而将分组恢复为它们的原始形态。因此,装置100被描述为两部分:压缩装置100A和解压缩装置100B(统称为,“完成组合装置100”)。在压缩侧100A,其在一些实施例中发生在链路的发送器部分,该装置包括收集引擎30和组合引擎40;然而,在解压缩侧100B,其在一些实施例中发生在链路的接收器部分,该装置包括报头去除引擎110、匹配引擎120和报头增加引擎130。尽管图1和图2的操作被称为“压缩”和“解压缩”,但操作还可以被认为是组合和解组合、组装和解组装、结合和解结合、接合和解接合,等等。这里所使用的术语“压缩”和“解压缩”意在覆盖广泛的含义,不意味着暗示除了这里所公开和示意的操作之外的操作。虽然这两部分100A和100B看起来相互不同,但是除非100A和100B两部分都呈现,否则它们所在的系统是不受益的。因此,压缩装置100A和解压缩装置100B可以被认为是整个装置100的两个部分而不是分离的实体。在另一方面,压缩装置100A可以位于发送器上,而解压缩装置100B位于分离的接收器上。在这样的配置下,这里所描述的“系统”意味着包含发送器和接收器二者。在压缩侧100A,装置连接到某一类型的存储器缓冲器,比如先进先出(FIFO)50。FIFO50存储已在系统某处被处理过的分组20A、20B、……、20N(统称为“分组20”)。每一分组20包括报头60和有效载荷70。报头60进一步包括至少一个请求者标识符(RID)22和完成状态字段26,以及报头的剩余部分28,其内容对于装置100的操作是不重要的。在系统的通常操作期间,分组20从FIFO流入分组处理实体。然而,在一些实施例中,当装置100存在于系统中时,分组流由收集引擎30监视。在一些实施例中,收集引擎30观察从FIFO流入分组处理的分组20,并基于每一分组的报头特性,将一些分组从流中移除以供进一步处理。在一些实施例中,完成组合装置100参与完成操作。完成操作是遵守不公告操作的那些操作。图3是显示了在PCIe标准下发生的一些不公告操作以及公告操作的简化框图。首先,不公告读事务可以包括存储器读(MRd)、I/O读(IORd)或配置读(CfgRd)。代理A随着代理A所请求的代理B的地址一起发布MRd、IORd或CfgRd命令。代理B发送具有所期望的数据(CplD)的完成命令,除非事务不成功,在该情况下代理B发送错误完成命令(Cpl)。不公告读事务因此发生在代理A和B之间。不公告写事务可以包括I/O写(IOWr)或配置写(CfgWr)命令。和不公告读操作一样,完成操作(Cpl)是发布实体所期望的。因此,代理A随着待进行写入的代理B的地址一起发布IOWr或CfgWr操作。这是发生在代理A和B之间的不公告写事务的例子。最后,公告写事务或存储器写(MWr)操作可以发生在代理A和B之间。在该情况下,代理A随着待进行写入的代理B的地址一起发布WMr。然而,与不公告操作相反,代理A不期望来自代理B的完成操作。替代地,代理A假定操作是成功的。完成组合装置100仅关心不公告事务和它们对应的完成。所有不公告事务的一个特性是事务的请求者(例如,图3中的代理A)被识别为在每一分组的报头60的RID22中(图1)。因此,在一些实施例中,在监视从FIFO50到分组处理的分组20的流的同时,收集引擎30能够识别每一分组的请求者。在一些实施例中,除了知道分组20的请求者,完成组合装置100还监视完成状态字段26。完成状态字段26公告完成组合装置100被发起的事务是否成功。在一些实施例中,除了成功外,完成状态字段26还指示不同的失败状态,是否发生了重试,是否应该尝试重试,等等。事本文档来自技高网...
改善有效链路带宽的完成组合

【技术保护点】
一种装置,包括:收集引擎,其布置在两端链路的一端处,所述收集引擎用于收集将被传输的完成分组,所述完成分组用于提供识别请求者的对不公告事务的响应,所述完成分组包括报头,其中所述报头包括:预定请求者标识符;以及指示成功的完成状态;以及组合引擎,用于:将所述收集引擎待收集的完成分组与多个其它完成分组进行组合以形成最终的完成分组;以及将新的报头附到所述最终的完成分组以形成新的分组。

【技术特征摘要】
2013.03.15 US 13/843,6111.一种用于处理分组的装置,包括:收集引擎,其布置在两端链路的一端处,所述收集引擎用于收集将被传输的多个完成分组,每个完成分组用于提供识别请求者的对不公告事务的响应,并且所述每个完成分组包括报头,所述收集引擎被配置为仅收集具有包括以下内容的报头的完成分组:预定请求者标识符;以及指示成功的完成状态;以及组合引擎,用于:将所述收集引擎待收集的所述多个完成分组进行组合以形成最终的完成分组;以及将新的报头附到所述最终的完成分组以形成新的分组。2.如权利要求1所述的装置,所述收集引擎进一步用于:获得所述收集引擎待收集的完成分组的有效载荷大小;将所述有效载荷大小与所述完成引擎待收集的多个其它完成分组的第二有效载荷大小相加,从而生成结果大小;以及如果所述结果大小超过所述链路的最大有效载荷大小,则不向所述组合引擎发送所述收集引擎待收集的完成分组。3.如权利要求1所述的装置,进一步包括:布置在所述两端链路的一端处的队列,所述收集引擎从所述队列收集完成分组。4.如权利要求1所述的装置,进一步包括:报头去除引擎,其布置在所述两端链路的第二端处,所述报头去除引擎用于:从所述两端链路收集新的分组;以及从所述新的分组移除新的报头,产生无报头完成分组,所述无报头完成分组包括多个分组部分。5.如权利要求4所述的装置,进一步包括:匹配引擎,其布置在所述两端链路的所述第二端处,所述匹配引擎用于接收所述无报头完成分组;以及未完成请求队列,包括所述请求者做出的未完成不公告事务的登记;其中所述匹配引擎:将所述多个分组部分之一与所述未完成不公告事务之一进行匹配,产生匹配的部分;以及将来自所述未完成请求队列的所述未完成不公告事务之一标记为匹配的。6.如权利要求5所述的装置,进一步包括:报头增加引擎,用于:向所述多个分组部分之一增加新的报头,产生恢复的分组;以及将所恢复的分组传输给所述请求者。7.如权利要求1所述的装置,所述两端链路根据高速串行总线标准来操作。8.如权利要求7所述的装置,其中所述高速串行总线标准将根据外围部件互连快速(PCIe)标准来操作。9.如权利要求7所述的装置,其中所述高速串行总线标准将根据通用串行总线标准来操作。10.如权利要求1所述的装置,其中所述两端链路将根据快速通道互连(QPI)TM标准来操作。11.一种用于处理分组的系统,包括:根复合体,其耦合到中央处理器单元和存储器;交换机,其将所述根复合体耦合到多个端点,其中在所述根复合体和所述多个端点的一个端点之间形成传输链路;压缩装置,其布置在所述根复合体中,所述压缩装置用于:截获打算供所述端点使用的多个完成事务分组,将响应先前通过所述传输链路传输的不公告事务来提供完成事务;将所述多个完成事务分组组合成新的完成事务分组,新的完成分组包括不超过所述传输链路的最大有效载荷大小的大小;以及将所述新的完成分组通过所述传输链路传输给所述端点,其中,仅截获具有包括以下内容的报头的完成事务分组:预定请求者标识符;以及指示成功的完成状态。12.如权利要求11所述的系统,进一步包括:解压缩装置,其布置在所述端点中,所述解压缩装置用于:截获所述新的完成分组;将所述压缩装置将要增加到所述新的完成分组的报头移除;以及恢复所述多个完成事务分组。13.如权利要求12所述的系统,进一步包括:第二压缩装置,其布置在所述端点中,所述第二压缩装置用于:截获打算供...

【专利技术属性】
技术研发人员:D·达斯夏尔马
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1