具有硬件控制缓冲区的共享缓冲器制造技术

技术编号:3521819 阅读:224 留言:0更新日期:2012-04-11 18:40
具有硬件控制的缓冲空间区域的缓冲存储器,其中所述硬件控制多个缓冲空间区域的尺寸,以满足特定系统的需求。所述硬件监视缓冲数据区域随时间的使用情况,并且根据这些缓冲区的使用情况,相应地自动调整缓冲空间区域的尺寸。

【技术实现步骤摘要】

一般地讲,本专利技术的实施方式涉及缓冲存储器。更具体地讲,本专利技术涉及具有对于缓冲区的基于硬件的自我调整的共享缓冲器。
技术介绍
在处理器与输入/输出设备之间传送数据一般通过根据预定的规格(例如PCI(外围组件互连)总线体系结构)并行传送数据来进行。然而,因为市场对于提高的数据传送速度的需求,并行数据传送的速度限制已经变得很明显。由于这些限制,所以在诸如高端服务器等应用中使用串行数据传送,例如Infiniband体系结构,已经开始替代并行数据传送体系结构。在原理上,串行数据传送逐比特地串行发送数据。然而,高性能串行数据传送体系结构,例如Infiniband,一般使用允许高速传送速度的多个数据虚拟通路(通道)。通过将主机通道适配器(HCA)以及目标通道适配器(TCA)通过Infiniband交换机连接在一起,形成Infiniband虚拟通路,其中主机通道适配器为服务器内的I/O引擎,目标通道适配器为外部I/O引擎。每个HCA与TCA都支持多达16个虚拟通路(VL)。Infiniband互连方案被称为构造(fabric)。由于其速度与多个VL,Infiniband体系结构在单独一个子网中可以在铜线上(长达17米)以及在光缆上(长达10公里)以2.5GBps以上的传送速度支持成千上万的节点。Infiniband规格要求充足的缓冲空间,以使每个虚拟通路存储完整的最大发送单元(MTU),其中MTU为Infiniband构造中的最大数据包大小。然而,该缓冲空间要求表示了最小值,并且附加的缓冲空间可以提高系统性能。因此,大缓冲空间是有利的。因为与许多较小存储器相比,大存储器具有性能与成本优势,所以在Infiniband通道适配器(HCA或TCA)中使用数目减少了的、理想为1个的缓冲存储器设备是非常有利的。因此,形成具有至少包含对于每个虚拟通路所需最小缓冲空间的尺寸的大型共享缓冲存储器是有利的。为了提高性能,希望有对于虚拟通路的附加缓冲空间。简单地为每个VL添加附加存储器可能大大提高共享缓冲存储器的大小与成本。因为有些虚拟通路很少使用多于其最小所需的缓冲空间,所以给这些虚拟通路分配更多的缓冲空间是一种浪费。然而,其他虚拟通路可以从增加了的缓冲空间中得到很大的好处。因此,一种动态增大对于能够从增大了的缓冲空间获益的虚拟通路的缓冲空间的大小的方法将是有用的。共享缓冲存储器是公知的。对于缓冲空间尺寸的软件控制已经使许多应用受益。不幸的是,不容易设计并实现允许如在Infiniband构造中所发生的不同并且变化的流量负载的软件配置的缓冲空间。常见的是,即使软件配置的缓冲空间可用,这些软件空间也是或者没有被配置或者配置不良,这是因为控制软件没有很好地理解系统的性质、其特定应用以及缓冲空间要求的变化来分配适当的缓冲空间大小。相同的缓冲存储器芯片可能以非常不同的方式用于非常不同的应用,这使软件控制缓冲空间的问题复杂化。考虑到对于大型缓冲存储器在经济上与性能上的需要以及软件控制的缓冲空间的局限性,具有硬件控制的缓冲空间尺寸、并且该硬件调整缓冲空间尺寸以满足特定系统需求的缓冲存储器将是有用的。
技术实现思路
本专利技术提供了具有硬件控制的缓冲空间区域的共享缓冲存储器,其中所述硬件根据特定应用的要求控制缓冲空间区域的尺寸。所述硬件监视一段时间上多个缓冲区的使用情况,并且根据各个缓冲区的使用情况,相应地自动调整多个缓冲区的尺寸。根据本专利技术,由至少两个不同的数据类别所共享的大型缓冲存储器内的边界由硬件分配。数据类别为只与一个网络相关联的数据。该边界将缓冲存储器分为两个部分,每个数据类别占一个部分。每个数据类别可以被存储到数据缓冲存储器空间其自己的部分中。该硬件监视这两个部分的使用情况,以确定在一时间段内哪个数据类别使用其部分更多。如果一个数据类别使用其部分比另一个多,则该硬件动态地重新调整所述边界,以为更多需要的数据类别提供较大的部分,并为较少需要的数据类别提供较小的部分。确定哪个数据类别使用其部分更多的一种方法是对给定时间段内每个部分被填满的次数进行计数。可替换地,大型缓冲存储器可以被多个数据类别共享,如在Infiniband虚拟通路中。给每个数据类别分配缓冲存储器的一个区域供其使用。硬件监视各种区域以确定在给定时间段内各个区域如何频繁地被充分利用。如果一个区域比其他区域利用得更多,则该硬件动态地调整区域边界,使得最经常填满其区域的数据类别分配较大的区域,其中从较少充分使用其区域的数据类别取得附加的存储器。在某些应用中,每个数据类别都保留了最小大小。在这种情况下,最经常填满其区域的数据类别分配较大的区域,其中从较不经常充分使用其区域、但大于所保留的最小大小的数据类别取得附加的存储器。在Infiniband体系结构的特定情况下,如果与特定VL相关联的一个数据类别需要较大的存储区,则该VL的区域被硬件动态调整,以满足该特定VL的需要。所有VL的数据缓冲器使用情况由中央单元监视,该中央单元对可配置时间段内每个缓冲区的总充满状态计数。在该时间段结束时,比较各计数值,并且调整VL缓冲区,通过减少与最不经常使用的VL缓冲区相关联的缓冲区的尺寸,使得最经常被使用的VL缓冲区可以使用较大的缓冲区。然后,清除计数,并且再次开始计数过程。一旦VL的缓冲区被减少到预定的最小大小,则不再减少该缓冲区的尺寸,但是下一个最不忙的缓冲区被重新确定尺寸,以具有较小的缓冲区。附图说明为了详细地理解上述本专利技术的特征,通过参照实施方式(其中的某些部分在附图中示出),具体描述上面所概括的本专利技术。然而,应该注意附图只是显示了本专利技术的典型实施方式,因此不能被认为是对本专利技术范围的限制,因为本专利技术可允许其他等效的实施方式。图1显示Infiniband构造。图2显示主机通道适配器与相关主机设备之间Infiniband连接,并且还显示了多个虚拟通路;图3显示存储器控制器以及被分为多个缓冲区的大型缓冲存储器,其中在启动时每个虚拟通路占一个缓冲区;以及图4显示重新配置之后的存储器控制器与缓冲存储器。为了帮助理解,在可能时,使用相同标号来表示这些附图所共有的相同元素。具体实施例方式本专利技术提供了缓冲存储器及其应用,其具有硬件控制的缓冲区,其中硬件控制缓冲区的尺寸以满足特定系统的需求。该硬件在一段时间上监视缓冲空间的使用情况,然后根据缓冲区的使用情况自动调整缓冲区的尺寸。本专利技术尤其适用于具有相当恒定、定义完备的数据流量模式(data traffic pattern)的应用。在这些情况下,数据缓冲空间将保持非常高的利用率,同时具有非常少的缓冲管理花费。图1显示一般的Infiniband构造。通过铜线或光缆网络,多个交换网络102、104以及106串行互连。在有些应用中,这些交换网络可以在控制上连接到可以(例如)连接到互连网的网络链接。互连与交换网络从和/或向一个或多个节点110传送信息包,这些节点可以是CPU、网络链接、打印机、和/或其他类型的I/O驱动器。图2显示一般交换网络198,其被显示分为交换机200、主机卡适配器(HCA)202、存储器控制器204以及缓冲存储器206。缓冲存储器206包含以地址组织并可寻址的多个存储器寄存器。图2还显示多个节点210,其被显示为与交换网络198交互的CPU本文档来自技高网
...

【技术保护点】
一种存储设备,包括:缓冲存储器,其具有多个可寻址的存储器寄存器;计数器,其具有多个存储寄存器;逻辑网络,用来将数据写入所述缓冲存储器和从所述缓冲存储器读取数据,所述逻辑网络用来将所述缓冲存储器分区为多个缓冲区,其中所述逻辑网络写入和读取来自多个数据类别的数据到所述多个缓冲区,使得每个数据类别被写入不同的缓冲区和从不同的缓冲区中读取,并且每次缓冲区达到预定使用水平时,所述逻辑网络递增与该缓冲区相关联的存储寄存器;以及定时器,用来定期发送定时信号给所述逻辑网络;其中,作为所述定时信号的响应,所述逻辑网络从所述计数器寄存器中调出数据,并且重新分区所述缓冲存储器,以使得被更充分利用的缓冲区被分配更多的可寻址存储器寄存器。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:罗伯特A希勒
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1