用于减少存储器访问时延的方法和设备以及数据处理系统技术方案

技术编号:2827849 阅读:208 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种用于减少存储器访问时延的计算机实现的方法、数据处理系统,以及计算机可用程序代码。存储控制器接收存储器访问请求并且确定与所述存储器访问请求关联的地址是否落在多个成对的存储器地址范围寄存器的地址范围之内。响应于所述地址落在所述地址范围之一内,所述存储控制器确定与所述地址范围关联的使能位是否被设置成1。响应于所述使能位被设置成1,所述存储控制器将所述存储器访问请求标记为高优先级请求并且将所述高优先级请求置于请求队列上。调度器接收对于存储体空闲的指示。所述调度器确定高优先级请求是否出现在所述请求队列中,并且如果出现的话,则向所述空闲存储体发送最早的高优先级请求。

【技术实现步骤摘要】

本申请一般涉及存储器访问。更具体而言,本申请一般涉及一种计算机实现的方法、数据处理系统和计算机可用程序代码,用于为管理体(hypervisor)或监管器(supervisor)发起的存储器访问请求减少存储器访问时延。
技术介绍
日益增大的对称多处理器数据处理系统并没有被用作单个的大型数据处理系统。相反,这些类型的数据处理系统正在被分区并且被当作较小的系统来使用。这些系统也被称为逻辑分区(LPAR)数据处理系统。数据处理系统内的逻辑分区功能性允许单个操作系统的多个副本或多个异构操作系统在单个数据处理系统平台上同时运行。在其内运行操作系统映像的分区被分派了平台资源的非重叠子集。这些平台可分配资源包括一个或多个结构不同的处理器,及其中断管理区、系统存储器的区域以及输入/输出(I/O)适配器总线槽。这些分区的资源是由操作系统映像的平台固件来表示的。每个不同的操作系统,或者运行在平台内的操作系统的映像,彼此间都受到保护,从而使得在一个逻辑分区上的软件错误不能影响任何其它分区的正确操作。该保护是通过以下方式来提供的,即通过分配不相交的平台资源集来由每个操作系统映像直接管理,以及通过提供用于确保各种映像不能控制还未被分配给该映像的任何资源的机制。此外,防止在控制操作映像的被分配资源中的软件错误影响任何其它映像的资源。因而,操作系统的每个映像或每个不同的操作系统直接控制平台内可分配资源的不同集合。-->关于逻辑分区数据处理系统中的硬件资源,在各种分区之间不相交地共享这些资源。这些资源可以包括,例如,输入/输出(I/O)适配器、存储器双列直插式存储器模块(DIMMs)、非易失性随机访问存储器(NVRAM),以及硬盘驱动器。可以反复引导和关闭LPAR数据处理系统内的每个分区,而不需要对整个数据处理系统重开电源(power-cycle)。当具有多个处理器的系统访问共享存储器时,通过来自若干处理器的并行访问而可能不时地使该存储器忙碌。在这样的忙碌情况下,由处于监管器或管理体状态下的处理器所发起的对共享存储器的读或写访问可能排在处于队列前面的其它应用请求之后。任何读或写请求所经历的排队时延均将取决于存储系统队列中在读或写请求前面的请求数。由于管理体或监管器根据用户指定的规则最大效率地一起管理系统资源,它们对存储器的读请求通常对实现最优系统性能是至关重要的。因此,需要一种有用的方法,通过该方法可以减少对于管理体或监管器发起的读或写请求的存储器时延。
技术实现思路
不同的说明性实施例提供了一种用于减少存储器访问时延的计算机实现的方法、数据处理系统,以及计算机可用程序代码。说明性实施例在存储控制器处接收包括了地址的存储器访问请求。说明性实施例确定所述地址是否落在多个成对的存储器地址范围寄存器的地址范围之内。响应于所述地址落在所述多个成对的存储器地址范围寄存器的地址范围之一内,说明性实施例确定使能位(enable bit)是否被设置为1,其中所述使能位与所述地址所落入的地址范围相关联。响应于所述使能位被设置为1,说明性实施例将所述存储器访问请求标记为高优先级请求并且将所述高优先级请求置于请求队列上。附图说明在所附权利要求中阐述了被认为是说明性实施例的特色的新颖性特-->征。然而,当结合附图阅读时,参照下面对说明性实施例的详细描述将最好地理解说明性实施例本身以及优选的使用模式、其进一步的目的和优点,在附图中:图1是可以在其中实现说明性实施例的数据处理系统的框图;图2是可以在其中实现说明性实施例的示例性逻辑分区平台的框图;图3依照说明性实施例描绘了存储控制器的功能框图;图4依照说明性实施例描绘了用于确定高优先级请求的操作的流程图;图5依照说明性实施例描绘了用于调度高优先级请求的操作的流程图;以及图6依照说明性实施例描绘了随调度高优先级请求而使用的倒计数间隔计时器的操作的流程图。具体实施方式说明性实施例提供用于为管理体或监管器发起的存储器访问请求减少存储器访问时延。现参照附图,并且特别参照图1,其描绘了可以在其中实现说明性实施例的数据处理系统的框图。数据处理系统100可以是包括多个处理器/高速缓存101、102、103和104的对称多处理器(SMP)系统,其连接至系统总线106。举例来说,数据处理系统100可以是在网络内实现为服务器的IBM eServer(其是纽约Armonk的国际商业机器公司的产品)。可选地,可以采用单处理器系统。还连接至系统总线106的是存储控制器108,其提供到多个局部存储器160-163的接口。I/O总线桥110连接至系统总线106并且提供到I/O总线112的接口。可以如所描绘的那样集成存储控制器108和I/O总线桥110。数据处理系统100是逻辑分区(LPAR)数据处理系统。因而,数据处理系统100可以使多个异构操作系统(或单个操作系统的多个实例)同时运行。这多个操作系统中的每一个均具有在其内执行的任意数目的软件程序。数据处理系统100是逻辑分区的,从而使得不同的PCI I/O适配器-->120-121、128-129和136、图形适配器148,以及硬盘适配器149可以被分派给不同的逻辑分区。在这种情况下,图形适配器148连接用于显示设备(未示出),而硬盘适配器149连接至并且控制硬盘150。因而,举例来说,假设将数据处理系统100分成三个逻辑分区P1、P2和P3。PCI I/O适配器120-121、128-129、136中的每一个、图形适配器148、硬盘适配器149,主处理器/高速缓存101-104中的每一个,以及来自局部存储器160-163的存储器均被分派给这三个分区之一。在这些例子中,存储器160-163可以采用双列直插式存储器模块(DIMMs)的形式。通常并不基于每DIMM而将DIMMs分派给分区。相反,一分区将得到平台所看到的整个存储器的一部分。例如,可以将处理器/高速缓存101、来自局部存储器160-163的存储器的某部分,以及I/O适配器120、128和129分派给逻辑分区P1;可以将处理器102-103、来自局部存储器160-163的存储器的某一其它部分,以及PCI I/O适配器121和136分派给分区P2;以及可以将处理器104、来自局部存储器160-163的存储器的另一部分、图形适配器148,以及硬盘适配器149分派给逻辑分区P3。将数据处理系统100内执行的每个操作系统分派给不同的逻辑分区。因而,在数据处理系统100内执行的每个操作系统仅可以访问在其逻辑分区内的那些I/O单元。因而,举例来说,高级交互执行(AIX)操作系统的一个实例可以在分区P1内执行,AIX操作系统的第二实例(映像)可以在分区P2内执行,并且Linux或OS/400操作系统可以在逻辑分区P3内操作。连接至I/O总线112的外设部件互连(PCI)主桥114提供了到PCI局部总线115的接口。多个PCI输入/输出适配器120-121通过PCI到PCI桥116、PCI总线118、PCI总线119、I/O槽170以及I/O槽171连接至PCI总线115。PCI到PCI桥116提供了到PCI总线118和PCI总线119的接口。PCI I/O适配器120和121被分别置于I/O槽本文档来自技高网
...

【技术保护点】
一种用于减少存储器访问时延的计算机实现的方法,所述方法包括:    在存储控制器处接收存储器访问请求,其中所述存储器访问请求包括地址;    确定所述地址是否落在多个成对的存储器地址范围寄存器的地址范围之内;    响应于所述地址落在所述多个成对的存储器地址范围寄存器的地址范围之一内,确定使能位是否被设置成1,其中所述使能位与所述地址所落入的地址范围相关联;    响应于所述使能位被设置成1,将所述存储器访问请求标记为高优先级请求;以及    将所述高优先级请求置于请求队列上。

【技术特征摘要】
US 2007-1-9 11/621,1891.一种用于减少存储器访问时延的计算机实现的方法,所述方法包括:在存储控制器处接收存储器访问请求,其中所述存储器访问请求包括地址;确定所述地址是否落在多个成对的存储器地址范围寄存器的地址范围之内;响应于所述地址落在所述多个成对的存储器地址范围寄存器的地址范围之一内,确定使能位是否被设置成1,其中所述使能位与所述地址所落入的地址范围相关联;响应于所述使能位被设置成1,将所述存储器访问请求标记为高优先级请求;以及将所述高优先级请求置于请求队列上。2.根据权利要求1的方法,其进一步包括:响应于所述地址落在所述多个成对的存储器地址范围寄存器的所有地址范围之外,将所述存储器访问请求标记为低优先级请求;以及将所述低优先级请求置于所述请求队列上。3.根据权利要求1的方法,其进一步包括:响应于所述使能位被设置成0,将所述存储器访问请求标记为低优先级请求;以及将所述低优先级请求置于所述请求队列上。4.根据权利要求1的方法,其进一步包括:在所述存储控制器中的调度器处接收对于一组存储体中的存储体空闲而形成空闲存储体的指示;确定一组高优先级请求是否出现在所述请求队列中;以及响应于存在所述一组高优先级请求,向所述空闲存储体发送来自所述一组高优先级请求的最早的高优先级请求。5.根据权利要求4的方法,其进一步包括:对于预定的时间间隔,启动倒计数间隔计时器;以及每次调度所述一组高优先级请求时,增加高优先级调度计数器。6.根据权利要求5的方法,其进一步包括:确定在所述预定的时间间隔中是否已经调度了由所述高优先级调度计数器所指示的最大数目的高优先级请求;响应于在所述预定的时间间隔中正在调度所述最大数目的高优先级请求,优先向所述空闲存储体发送所述一组高优先级请求中的任何更多的高优先级请求;以及向所述空闲存储体发送所述请求队列中第一出现的请求。7.根据权利要求6的方法,其进一步包括:响应于所述预定的时间间隔到期,重置所述倒计数间隔计时器。8.根据权利要求1的方法,其中所述存储控制器处于以下中的至少一个中:单处理器系统、同类多处理器系统、异构多处理器系统、单分区系统,或者多分区系统。9.一种数据处理系统,其包括:总线系统;连接至所述总线系统的通信系统;连接至所述总线系统的存储器,其中所述存储器包括一组指令;以及连接至所述总线系统的存储控制器,其中所述存储控制器执行所述一组指令,以便接收存储器访问请求,其中所述存储器访问请求包括地址;确定所述地址是否落在多个成对的存储器地址范围寄存器的地址范围之内;响应于所述地址落在所述多个成对的存储器地址范围寄存器的地址范围之一内,确定使能位是否被设置成1,其中所述使能位与所述地址所落入的地址范围相关联;响应于所述使能位被设置成1,将所述存储器访问请求标记为高优先级请求;以及将所述高优先级请求置于请求队列上。10.根据权利要求9的数据处理系统,其中所述存储控制器执行所述一组指令,以便响应于所述地址落在所述多个成对的存储器地址范围寄存器的所有地址范围之外,将所述存储器访问请求标记为低优先级请求;以及将所述低优先级请求置于所述请求队列上。11.根据权利要求9的数据处理系统,其中所述存储控制器执行所述一组指令,以便响...

【专利技术属性】
技术研发人员:R莱格哈文
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利