针对计算机系统中组件的整个网络中的写事务限制带宽的制作方法

文档序号:8269396阅读:298来源:国知局
针对计算机系统中组件的整个网络中的写事务限制带宽的制作方法
【专利说明】
【背景技术】
技术领域
[0001]本发明所公开的实施例涉及计算机系统中的组件的网络。更具体地,本发明所公开的实施例涉及用于对整个网络的组件所传输的写事务限制带宽的技术。
[0002]相关领域
[0003]现代计算机系统通常包括包含处理器和存储器的母板,以及通过多种接口连接至母板的一组外围组件。例如,串行高级技术附件(SATA)接口可有利于存储设备(例如硬盘驱动器、光盘驱动器、固态驱动器、混合硬盘驱动器等)和母板之间的数据传输,而外围组件快速互连(PCIe)总线可允许母板和多个集成的和/或扩展的外围组件之间的通信。
[0004]此外,接口的吞吐量和/或延时可能影响数据在计算机系统中组件之间的传输速率。例如,PCIe接口可对应于利用一组交换机来连接计算机系统中的一组组件的网络。这些交换机可融合从外围组件到计算机系统的根组件或芯片组的事务。因此,从主动进取型外围组件到根组件的事务可能消耗该外围组件与该根组件之间的交换机上的可用带宽,从而导致连接到相同交换机的其他外围组件经历在该网络上的延时增加,并继而经历性能降低。
[0005]因此,需要一种机制来对于计算机系统中组件的整个网络中传输的事务限制带宽和/或执行负载平衡。

【发明内容】

[0006]本发明所公开的实施例提供了一种有利于使用计算机系统中的组件的网络的系统。该系统包括用于提供针对网络上的组件的写事务限制的带宽分配设备。该系统还包括事务管理设备,其在检测到从该组件到该网络的写事务时将写事务限制与该组件的未完成写事务集进行比较。如果写事务导致未完成写事务集超过写事务限制,则事务管理设备限制该写事务在网络上的传输。
[0007]在一些实施例中,如果写事务不导致未完成写事务集超过写事务限制,则事务管理设备在网络上传输该写事务,并且将该写事务添加到未完成写事务集。然后,带宽分配设备在检测到该写事务完成时提供该写事务的完成通知。最后,事务管理设备在接收到该完成通知时,将该写事务从未完成写事务集中移除。
[0008]在一些实施例中,带宽管理设备通过利用来自写事务的与组件相关联的信息生成完成通知并将完成通知传输到组件来提供写事务的完成通知,其中完成通知由事务管理设备接收。
[0009]在一些实施例中,在网络上传输写事务之前,事务管理设备添加信息到写事务。所述信息可包括组件的组件标识符、写事务的有效载荷大小和/或将写事务与写事务限制相关联的与事务限制标识符。
[0010]在一些实施例中,写事务限制指定组件的未完成写事务的最大数量和/或针对未完成与事务的存储器限制O
[0011]在一些实施例中,带宽分配设备由处理器和/或网络中的交换机来提供。例如,带宽分配设备可由网络中的根节点(例如根组件)来实现。或者,如果根节点不能指定写事务限制和/或提供完成通知,则带宽分配设备可由连接到根节点的交换机来实现。
[0012]在一些实施例中,事务管理设备由所述组件和/或网络中的另一交换机来提供。例如,事务管理设备可由网络的端点(例如磁盘控制器、输入/输出(I/o)设备)来提供。另一方面,如果端点不能使用写事务限制来限制用于来自该端点的写事务的带宽,则事务管理设备可由连接到该端点的交换机来提供。
【附图说明】
[0013]图1示出了根据本发明所公开的实施例的系统的示意图。
[0014]图2示出了根据本发明所公开的实施例的一种用于管理写事务在计算机系统中的组件的网络上的传输的系统。
[0015]图3示出了根据本发明所公开的实施例的一种用于管理写事务在计算机系统中的组件的网络上的传输的系统。
[0016]图4示出了例示根据本发明所公开的实施例的有利于使用计算机系统中的组件的网络的过程的流程图。
[0017]图5示出了例示根据本发明所公开的实施例的管理写事务在计算机系统中的组件的网络上的传输的过程的流程图。
[0018]图6示出了根据本发明所公开的实施例的计算机系统。
[0019]在附图中,类似的附图标号是指相同的附图元件。
【具体实施方式】
[0020]给出以下描述是为了使本领域的任何技术人员能够做出并使用实施例,并且以下描述是在特定应用及其要求的语境中提供的。对于本领域的技术人员而言,对本发明所公开的实施例的各种修改将是显而易见的,并且可以将本文定义的一般原理应用于其他实施例和应用而不脱离本公开的实质和范围。因此,本发明不限于所示的实施例,但要符合根据本文公开的原理和特征的最广泛范围。
[0021]此【具体实施方式】中描述的数据结构和代码通常存储在计算机可读存储介质上,其可以是能够存储供计算机系统使用的代码和/或数据的任何设备或介质。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、磁性和光学存储设备,例如磁盘驱动器、磁带、CD (光盘)、DVD (数字多功能光盘或数字视频光盘)、或现在已知或以后开发的能够存储代码和/或数据的其他介质。
[0022]可以将【具体实施方式】部分描述的方法和过程具体化为代码和/或数据,该代码和/或数据可存储在如上所述的计算机可读存储介质中。当计算机系统读取并执行计算机可读存储介质上存储的代码和/或数据时,计算机系统执行具体化为数据结构和代码并存储于计算机可读存储介质内的方法和过程。
[0023]此外,可以将本文描述的方法和过程包括在硬件模块或装置中。这些模块或装置可以包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、在特定时间执行特定软件模块或一段代码的专用或共享处理器和/或其他现在已知或以后开发的可编程逻辑设备。当激活硬件模块或装置时,它们执行包括在其中的方法和过程。
[0024]本发明所公开的实施例提供了一种用于在计算机系统(诸如个人计算机、膝上型计算机、便携式电子设备、工作站和/或其他包含互连组件的电子设备)内传输数据的方法和系统。如图1中所示,计算机系统可包括包含处理器110(例如中央处理单元(CPU))和存储器120的主机100以及通过网络122相互连接且连接到主机100的一组组件132-140。
[0025]例如,网络122可对应于将一组外围组件(例如组件132-140)(诸如存储设备、显卡、网卡和/或声卡)连接到与处理器I1相关联和/或包含处理器110的外围组件快速互连(PCIe)根组件的PCIe网络。为了使得连接到网络122的组件(例如组件132-140、处理器110、根组件等)之间能够进行通信,来自组件的PCIe事务可按照先到先服务的方式通过网络122中的交换机分级结构被路由到与事务相关联的目的地。这些事务中一些或所有事务的PCIe完成然后可被从目的地传输,并且通过这些交换机被路由回组件。
[0026]本领域的技术人员将会知道,网络122上的带宽可能被组件132-140不均等地消耗,从而导致较不主动进取的组件的延时增加和/或性能降低。例如,网络122中每一跳可指定一组限定该跳可接受的事务数量的流控制信用(例如被投寄的事务层分组(TLP)流控制信用)。此外,跳可形成将来自组件132-140的事务合并到主机100上单个端口中的一个或多个扇出交换机。因此,主动进取型的外围组件(例如组件132-140)可投寄耗尽到目的地的一些或所有跳的流控制信用的事务,从而使连接到这些跳的其他外围组件忍受资源匮乏并且使这些其他外围组件经历在网络122上的延时增加和/或性能降低。
[0027]在一个或多个实施例中,图1所示的系统包括通过限制写(例如被投寄的)事务从组件132-140到网络122的传输来有利于网络122的使用的功能。如下文中更详细地所述,该系统可包括带宽分配设备,其提供针对网络122上的组件(例如组件132-140、处理器110)的写事务限制。该系统还可包括事务管理设备,其在检测到从组件到网络122的写事务时将写事务限制与该组件的未完成写事务集进行比较。如果该写事务导致未完成写事务集超过写事
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1