使得离台冲突最小化的方法和系统的制作方法

文档序号:6547028阅读:175来源:国知局
使得离台冲突最小化的方法和系统的制作方法
【专利摘要】本发明的实施方式涉及用于通过计算环境中的处理器设备来使得离台冲突最小化的方法和系统。轨道的离台分组被限制于最近最少使用(LRU)列表的底部部分,而不对LRU列表中最近最多使用端的轨道进行分组以避免离台冲突。轨道的离台分组从LRU列表的底部进行离台。
【专利说明】使得离台冲突最小化的方法和系统

【技术领域】
[0001]本发明总体上涉及计算系统,并且更具体地涉及用于使得离台冲突最小化的系统和方法。

【背景技术】
[0002]在当今社会中,计算机系统是常见的。计算机系统可以出现在工作场所、家中或学校中。计算机系统可以包括数据存储系统或者磁盘存储系统已处理并存储数据。已知当前的计算机存储系统使得存储轨道从高速缓存离台(destage)至长期存储设备已使得高速缓存中有足够空间供数据写入。当使得存储轨道离台时,当前的存储系统在高速缓存变满或者全局压力因数高时,使得存储轨道从高速缓存中的每个逻辑存储组(rank)离台。也就是说,即使高速缓存中的一些逻辑存储组可能关于被分配给这些逻辑存储组的存储空间量仅存储了少量存储轨道,存储轨道仍然在全局压力因数高时从每个逻辑存储组离台。此外,离台任务帮助开始存储轨道向存储系统的离台。


【发明内容】

[0003]在一个实施例中,提供了一种用于使用计算环境中的至少一个处理器设备而使得离台冲突最小化的方法。在一个实施例中,仅作为示例,将轨道的离台分组限制于最近最少使用(LRU)列表的底部部分,而不对LRU列表中最近最多使用端的轨道进行分组,以避免离台冲突。轨道的离台分组从LRU列表的底部部分进行离台。
[0004]在另一个实施例中,提供了一种用于使用计算环境中的至少一个处理器设备而使得离台冲突最小化的计算机系统。该计算机系统包括计算机可读介质以及与该计算机可读介质可操作通信的处理器。在一个实施例中,仅作为示例,该处理器将轨道的离台分组限制于最近最少使用(LRU)列表的底部部分,而不对LRU列表中最近最多使用端的轨道进行分组以避免离台冲突。轨道的离台分组从LRU列表的底部部分进行离台。
[0005]在另外的实施例中,提供了一种用于使用计算环境中的至少一个处理器设备而使得离台冲突最小化的计算机程序产品。计算机可读存储介质具有存储于其上的计算机可读程序代码部分。该计算机可读程序代码部分包括第一可执行部分,其将轨道的离台分组限制于最近最少使用(LRU)列表的底部部分,而不对LRU列表中最近最多使用端的轨道进行分组,以避免离台冲突。轨道的离台分组从LRU列表的底部部分进行离台。
[0006]除了以上示例性方法实施例之外,其它的示例性系统和计算机产品实施例也得以被提供并且表现出相关优势。已经提供了以上
【发明内容】
而以简化形式对以下【具体实施方式】中进一步描述的概念选择进行介绍。该
【发明内容】
并非旨在标识出所请求保护主题的关键特征或必要特征,也并非旨在确定所请求保护主题的范围时作为辅助。所请求保护的主题并不局限于解决了【背景技术】中所提到的任意或全部缺陷的实施方式。

【专利附图】

【附图说明】
[0007]为了本发明的优势将轻易得到理解,将参考附图中所图示的具体实施例对以上简要描述的本发明进行更为特定的描述。要理解的是,这些附图进描绘了本发明的典型实施例,因此并非被要认为对其范围有所限制,本发明将通过使用附图而利用附加的特性和细节被加以描述和解释,其中:
[0008]图1是示出可以在其中实现本发明各方面的用于对离台任务进行平滑的示例性硬件结构的框图;
[0009]图2是示出根据本发明的可以在其中实现本发明各方面的计算机系统中的数据存储系统的示例性硬件结构的框图;
[0010]图3是图示可以在其中实现本发明各方面的用于使得离台冲突最小化的示例性方法的流程图;
[0011]图4是图示可以在其中实现本发明各方面的用于向最近最少使用列表中的轨道添加顺序编号的示例性方法的流程图;以及
[0012]图5是图示可以在其中实现本发明各方面的用于对来自最近最少使用列表的轨道进行分组和离台的示例性方法的流程图。

【具体实施方式】
[0013]如之前所提到的,已知当前的计算机存储系统使得存储轨道从高速缓存离台至长期存储设备已使得高速缓存中有足够空间供数据写入。在一个实施例中,最优排序写(WiseOrdering for Writes, WOW)增加了离台任务控制模块(TCB),或者简单地一次一个地“令任务离台”,该WOW是被用于根据相关联任务或请求所针对的存储位置而对列表进行排序来利用时间和空间局部性的列表。在一个实施例中,离台任务被用来管理数据存储和检索系统内以及主机计算机和数据存储和检索系统之间的数据移动。换句话说,离台TCB是使得轨道从高速缓存离台至存储(例如,磁盘驱动器)的任务。离台TCB可以是用于启动存储轨道的离台的命令。
[0014]然而,为了进行有效离台,离台分组对于防止RAID惩罚(RAID-5和RAID-6)而言是重要的,例如,针对RAID-5逻辑存储组的单轨道离台可能导致4个驱动操作(例如,读取奇偶性、读取旧数据、离台新数据以及离台新奇偶性)。如果使得整个带离台,则RAID控制器并不需要取出旧奇偶性和旧数据,并且离台仅需要一个驱动操作。甚至在无法对整个带进行分组的情况下,使得带中具有尽可能多的轨道也是有利的,因为仅需要为N个轨道付出一次RAID惩罚而不是对每个轨道离台都付出惩罚。例如,带是在其上计算奇偶性的轨道的集合。例如,在6+p的RAID-5阵列中,具有6个数据盘以及一个奇偶性盘。从每个盘取得一些固定数量的轨道并且通过对这些轨道间的数据进行XOR而计算奇偶性。当带的所有轨道都处于高速缓存中时,则能够简单地通过在该带的轨道之间对数据进行XOR来计算奇偶性。但是如果带中仅有几个轨道处于高速缓存中,则无法仅从高速缓存中的那些轨道计算奇偶性。为了计算新的奇偶性,使得旧数据(对于已经修改的轨道而言)和旧的奇偶性入台(stage)。现在能够通过观看旧数据和新数据之间的差异并且查看旧奇偶性来计算新奇偶性。由于旧数据入台并且旧奇偶性要使得修改的数据离台,所以存在着几个更多的驱动操作。着被称作RAID惩罚。例如,如果高速缓存中存在有一跨距(stride)的N个轨道,并且如果决定使得每个轨道单独离台,则每次离台都将必须付出RAID惩罚。相反地,如果在一次离台中令所有轨道离台,则仅付出一次RAID惩罚。
[0015]当数据以LRU(最近最少使用)的方式进行布置,并且有若干任务尝试在一次离台时,分组会变得复杂,这是因为这些任务会针对相同的轨道集合而互相竞争,从而致使离台分组为次优。因此,需要使用计算环境中的至少一个处理器设备来使得离台冲突最小化。在一个实施例中,通过从高速缓存中修改磁带最近最少使用端拣取(例如,选择)轨道来执行离台分组。随后,与该磁带处于相同跨距的所有轨道被分组在一起并被离台。这些被分组轨道中的一些能够在LRU列表中被升高(例如,更为接近最近最多使用的“MRU”端)。由于MRU端上的轨道被重新访问的概率更高,所以对轨道进行分组可能会导致更多的离台冲突(即,轨道在主机试图再次对该轨道进行写入的同时正被离台)。一种解决方案提供了为这样的轨道提供副文件(sidef i Ie)而使得当轨道被选择离台时,那些轨道被移动到副文件并且随后允许在高速缓存中的另一个时隙中进行新的写入。然而,实施副文件的解决方案是十分麻烦的并且需要额外的算法软件代码。因此,需要一种更为有效地使得离台冲突最小化的处理。在一个实施例中,仅作为示例,将轨道的离台分组限制为最近最少使用(LRU)列表的底部部分,而不对LRU列表中最近最多使用端的轨道进行分组以避免离台冲突。轨道的离台分组从LRU列表的底部部分进行离台。在一个实施例中,在最近最少使用(LRU)列表中维护和使用轨道的顺序编号。使用顺序编号来定位和/或找出经修改轨道在LRU列表中的相对位置。仅处于底部百分之n(例如,“X”%)的那些轨道被选择并分组以便进行宦A同D ο
[0016]为了解决这些低效性,本发明提供了一种用于使用计算环境中的处理器设备对轨道进行分组以便离台的解决方案。在一个实施例中,仅作为示例,从最近最少使用(LRU)列表中选择用于离台的轨道。在一个实施例中,LRU列表时以最近最少使用的方式进行排序的轨道列表。LRU具有最近最多使用端(列表的顶部)以及底部端部分。所选择的轨道从LUR列表的底部进行分组并离台。换句话说,本发明进从LRU列表的底部拣取某些轨道(例如,该跨距的第一轨道)以便离台。换句话说,从LRU列表的底部拣取该跨距的至少一个轨道并且允许离台TCB执行分组。换句话说,在对轨道进行分组以便离台至RAID存储时,本发明将离台分组限制在LRU列表的底部部分,而不对处于该列表的MRU端顶部的轨道进行分组以避免冲突。
[0017]转向图1,用于对离台任务进行平滑的系统100的一个实施例的框图。至少在所图是的实施例中,系统100包括经由总线140 (例如,有线和/或无线总线)耦合至高速缓存120和处理器130的存储器110。
[0018]存储器110可以是本领域已知或者未来研发的任意类型的存储器设备。存储器110的示例包括但并不局限于具有一个或多个连线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、可擦除可编程只读存储器(EPR0M或闪存)、光纤、便携式紧致盘只读存储器(⑶-ROM)、光学存储设备、磁性存储设备,或者以上的任意适当组合。在存储器110的各个实施例中,存储轨道能够被存储在存储器110中。此外,每个存储轨道能够在向该存储轨道写入数据时从高速缓存120离台至存储器110。
[0019]在一个实施例中,高速缓存120包括被划分为一个或多个逻辑存储组1210的写高速缓存,其中每个逻辑存储组1210包括一个或多个存储轨道。高速缓存120可以是本领域已知或未来研发的任意高速缓存。
[0020]在操作期间,在存储轨道已经被写入之后,每个逻辑存储组1210中的存储轨道在前台离台过程中被离台至存储器110。也就是说,前台离台处理将存储轨道从(多个)逻辑存储组1210离台至存储器110,同时主机(未示出)向高速缓存120的逻辑存储组1210中的各个存储轨道主动进行写入。理想情况下,特定存储轨道在一个或多个主机期望对该特定存储轨道进行写入时不会正在进行离台,这被称作离台冲突。
[0021]在各个实施例中,处理器130包括离台管理模块1310或者对其进行访问,后者包括计算机可读代码,当被处理器130执行时,该计算机可读代码使得处理器130执行本发明。在各个实施例中,处理器130被配置为根据标准时间间隔或者可变的重复计算的离台任务间隔来计算离台任务的数量。
[0022]在各个其它实施例中,处理器130被配置为将离台任务以及离台任务的当前数量加大和/或降低。
[0023]在各个其它实施例中,处理器130被配置为在离台任务的当前数量比所期望的离台任务数量大的情况下将离台任务的当前数量递减值1,和/或在离台任务的当前数量小于所期望的离台任务数量的情况下将离台任务的当前数量递减值I。在递增或递增之后,处理器130被配置为在达到标准时间间隔、或达到针对计算所选择的可变的重新计算离台任务间隔时,重新计算离台任务的当前数量。
[0024]在一个实施例中,每个逻辑存储组1210在高速缓存120中被分配以相同的预定量的存储空间。在另一个实施例中,至少两个逻辑存储组1210在高速缓存120中被分配以不同的预定量的存储空间。在又一实施例中,每个逻辑存储组1210被分配以高速缓存120中的不同预定量的存储空间。在这些实施例中的每一个中,高速缓存120中的每个预定量的存储空间不会超过预定的最大量的存储空间。
[0025]在各个实施例中,处理器130被配置为按百分比基础来分配预定的最大量的存储空间。在一个实施例中,分配给相应逻辑存储组1210的预定的最大量的存储空间处于高速缓存120的总体存储容量的大约百分之一到大约百分之二十五的范围之内(1% -50% )。在另一个实施例中,分配给相应逻辑存储组1210的预定最大数量的存储空间是高速缓存120的总体存储容量的百分之二十五(25% )。
[0026]在各个其它实施例中,处理器130被配置为按存储轨道来分配预定最大数量的存储空间。也就是说,每个逻辑存储组1210被限制为预定的最大数量的存储轨道,这可以根据不同的逻辑存储组而有所变化。
[0027]在各个实施例中,处理器130被配置为对高速缓存120中的每个逻辑存储组1210进行监视,并且确定每个相应逻辑存储组1210的存储轨道的数量关于其在高速缓存120中所分配的存储空间的数量而进行存储。在一个实施例中,处理器130被配置为按百分比来确定每个相应逻辑存储组1210中存储轨道的数量。也就是说,处理器130被配置为对每个逻辑存储组1210进行监视,并且确定每个相应逻辑存储组1210被用来关于高速缓存120中的总存储空间的单个分配而对存储轨道进行存储的百分比。
[0028]另一个实施例中,处理器130被配置为确定每个相应逻辑存储组1210中存储轨道的数量。具体而言,处理器130被配置为对每个相应逻辑存储组1210进行监视,并且确定每个相应逻辑存储组1210被用来关于高速缓存120中的总体存储空间的单个分配而对存储轨道进行存储的存储轨道的数量。
[0029]在各个实施例中,处理器130被配置为从每个相应逻辑存储组1210对存储轨道进行离台直至每个相应逻辑存储组1210中关于其在高速缓存120中的预定分配的存储空间数量保留了预定最小数量的存储空间,并且随后停止或不再从使用少于或等于预定最小数量的存储空间的逻辑存储组1210中离台存储轨道。在一个实施例中,处理器130被配置为从每个逻辑存储组1210中离台存储轨道直至达到高速缓存120中预定数量的存储空间的预定百分比(例如,百分之三十(30%))。在另一个实施例中,处理器130被配置为从每个逻辑存储组1210离台存储轨道直至达到预定最小数量的存储轨道。
[0030]例如,在包括十个(10)逻辑存储组1210的实施例中,其中每个逻辑存储组1210被分配以高速缓存120的总存储空间的百分之10(10% )并且预定的最小存储轨道数量为百分之三十(30% ),处理器130将继续从包括多于高速缓存120的总体存储容量的百分之三(3% ) ( BP,10% X30%= 3% )的每个逻辑存储组1210中使得存储轨道离台。一旦特定逻辑存储组1210已经达到了百分之三的阈值,处理器130就将停止或不再从该特定存储轨道使得存储轨道离台直至该特定逻辑存储组1210使用多于预定数量的存储轨道(即,在该示例中为高速缓存的总存储容量的百分之三)。
[0031]在各个实施例中,处理器130被配置为利用公式来确定要在从每个相应逻辑存储组1210中使得存储轨道离台时所利用的离台任务的数量。在各个实施例中,该公式基于高速缓存120的全局压力因数,因为其涉及到每个相应逻辑存储组1210。也就是说,用来使得存储轨道从每个相应逻辑存储组1210离台的离台任务的数量与其所分配的存储空间的数量成比例,每个相应逻辑存储组1210被乘以该全局压力因数,全局压力因数是高速缓存120的总量中被逻辑存储组1210所利用的存储空间的总计百分比所确定的因数。
[0032]在一个实施例中,该公式包括在特定逻辑存储组1210利用其所分配的存储空间的较大数量并且全局压力因数高时所利用的预定最大数量的离台任务(例如,四十(40)个离台任务)。在另一个实施例中,当特定逻辑存储组1210利用小于或等于有关其在高速缓存120中所分配的存储空间数量的预定最小数量的存储空间数量时,该公式包括所利用的缺省为零(O)的离台任务。
[0033]在各个实施例中,处理器130被配置为选择轨道以便从最近最少使用(LRU)列表中离台,并且将所选择的轨道移动至离台等待列表。经由处理器130所选择的轨道被分组并且从离台等待列表中进行离台。
[0034]图2是示出根据本发明的计算机系统中的数据存储系统的硬件结构的示例性框图200。示出了主机计算机210、220、225,它们均作为数据存储系统200的一部分而用作执行数据处理的中央处理单元。主机(物理或虚拟设备)210、220和225可以是用来在数据存储系统200中实现本发明的用途的一个或多个新的物理设备或逻辑设备。在一个实施例中,仅作为示例,数据存储系统200可以被实施为IBM? System Storage?DS8000?o网络连接260可以是光纤信道结构、光纤信道点对点链路、通过以太网结构或点对点链路的光纤通道、FICON或ESCON I/O接口、任意其它I/O接口类型、无线网络、有线网络、LAN、WAN、异类的、同类的、公有的(即,互联网)、私有的,或者其任意组合。主机210、220和225可以处于本地或者在一个或多个位置间进行分布,并且可以被配以任意类型的结构(或结构信道)(图2中未示出)或者针对存储控制器240的网络适配器260,诸如光纤信道、FIC0N、ESC0N、以太网、光纤、无线或同轴适配器。数据存储系统200因此配备有适当结构(图2中未示出)或网络适配器260以进行通信。数据存储系统200在图2中被描绘为包括存储控制器240和存储230。在一个实施例中,这里所描述的实施例可被应用于各种类型的计算架构,诸如在使用这里所描述的各个实施例的虚拟集群管理环境中应用。
[0035]为了有助于对这里所描述的方法更为清楚的理解,存储控制器240在图2中被示为单个处理单元,包括微处理器242、系统存储器243和非易失性存储(NVS) 216,这将在以下更为详细地描述。注意到,在一些实施例中,存储控制器240由多个处理单元组成,其中每个具有其自己的处理器联合体和系统存储器,并且在数据存储系统内通过专用网络进行互连。存储230可以包括一个或多个诸如存储阵列的存储设备,它们通过存储网络而连接至存储控制器240。
[0036]在一些实施例中,存储230中所包括的设备可以以环形架构进行连接。存储控制器240对存储230进行管理并且有助于对即定于存储230的写入和读取请求的处理。存储控制器240的系统存储器243存储操作软件250、程序指令和数据,处理器242可以对它们进行访问以便执行与管理存储230相关联的功能和方法步骤,并且执行本发明的步骤和方法。如图2所示,系统存储器243还可以包括用于存储230的高速缓存245或者与其进行通信,用于存储230的高速缓存在这里还被称作“高速缓冲存储器”,其用于缓存“写入数据”和“读取数据”,它们分别是指写入/读取请求及其相关联的数据。在一个实施例中,高速缓存245在系统存储器243之外的设备中进行分配,仍然能够由微处理器242所访问,并且除了执行如这里所描述的操作之外还可以用来针对数据损失提供附加的安全性。
[0037]在一些实施例中,为了提升数据存储系统200的性能,高速缓存245利用易失性存储器和非易失性存储器来实施,并且经由本地总线(图2中未示出)耦合至微处理器242。数据存储控制器中所包括的NVS216可由微处理器242访问并且用来为其它附图中所描述的本发明的操作和执行提供附加的支持。NVS216还可以被称作“持久性”高速缓存或“高速缓存存储器”,并且利用可能采用外部电力来保持存储于其中的数据的非易失性存储器来实施。NVS可以出于适合实现本发明的目标的任何目的而存储在高速缓存245中并且随其进行存储。在一些实施例中,在数据存储系统200失去电力的情况下,诸如电池的备用电源(图2中未示出)为NVS216提供充分电力以保存存储在其中的数据。在某些实施例中,NVS216的容量小于或等于高速缓存245的总体容量。
[0038]存储230在物理上可以包括一个或多个诸如存储阵列的存储设备。存储阵列是诸如硬盘的个体存储设备的逻辑分组。在某些实施例中,存储230包括JBOD (完全磁盘束)阵列或RAID(独立冗余磁盘阵列)阵列。物理存储阵列的集合可以进一步被组合以形成逻辑存储组,其将物理存储与逻辑配置脱离关联。逻辑存储组中的存储空间可以被分配给逻辑卷,该逻辑卷定义了写入/读取请求中所指定的存储位置。
[0039]在一个实施例中,如图2所示的存储系统可以包括逻辑全或者简单地称为“卷”,其可能具有不同类型的分配。存储230a、230b和230η被示为数据存储系统200中的逻辑存储组,并且在这里被称作逻辑存储组230a、230b和230η。逻辑存储组可以处于数据存储系统200本地,或者可以位于物理上远程的位置。换句话说,本地存储控制器可以与远程存储控制器相连接并且对在远程位置的存储进行管理。逻辑存储组230a被示为配置有两个完整卷234和236以及一个部分卷232a。逻辑存储组230被被示为具有另一个部分卷232b。因此,卷232跨逻辑存储组230a和230b进行分配。逻辑存储组230η被示为完全分配给卷238—也就是说,逻辑存储组230η是指卷238的整个物理存储。从以上示例将会意识到,卷可以被配置为包括一个或多个部分和/或完整卷。卷和逻辑存储组可以被进一步划分为所谓的“轨道”,其表示固定的存储分块。轨道因此与给定卷相关联并且可以被给予给定逻辑存储组。
[0040]存储控制器240可以包括离台管理模块255、选择模块257(例如,轨道选择模块)、最近最少使用(LRU)列表模块258和顺序编号模块259。离台管理模块255、选择模块257,LRU列表模块258和顺序编号模块259可以是同时工作的一个完整模块或者是单独模块。离台管理模块255、选择模块257、LRU列表模块258和顺序编号模块259可以具有一些内部存储器(未示出)并且可以存储未处理、已处理或“半处理”数据。离台管理模块255、选择模块257、LRU列表模块258和顺序编号模块259可以彼此结合地进行工作,并且与存储控制器240、主机210、220、225的各个组件以及可以经由存储结构260远程连接的其它存储控制器240和主机210、220、225相结合地进行工作。离台管理模块255、选择模块257、LRU列表模块258和顺序编号模块259在结构上都可以是一个完整模块,或者可以与其它个体模块相关联和/或连同其被包括。离台管理模块255、选择模块257、LRU列表模块258和顺序编号模块259也可以位于高速缓存245或者存储控制器240的其它组件中。
[0041]存储控制器240包括用于控制针对主机计算机210、220、225的光纤信道协议的控制开关241,用于控制所有存储控制器240的微处理器242,用于存储控制存储控制器240的操作的微程序(操作软件)250的非易失性控制存储器243,用于临时存储(缓存)数据的高速缓存245,以及用于辅助高速缓存245读取和写入数据的缓冲器244,用于控制协议以便控制往来于离台管理模块255的数据传输的控制开关241、选择模块257、LRU列表模块258和可以在其中进行信息设置的顺序编号模块259。可以实施多个缓冲器244以对这里所描述的方法和步骤进行辅助。
[0042]在一个实施例中,主机计算机与一个或多个物理或虚拟设备210、220、225以及存储控制器240通过作为接口网络适配器(这可以是光纤信道)260进行连接,即经由被称作“结构”交换机进行连接。微处理器242可以对存储器243进行控制以存储来自集群主机/节点设备(物理或虚拟)210的命令信息以及用于识别主机/节点设备(物理或虚拟)210的信息。控制开关241、缓冲器244、高速缓存245、操作软件250、微处理器242、存储器243、NVS216、离台管理模块255、选择模块257、LRU列表模块258和顺序编号模块259互相通信并且可以是单独组件或者是一个(或多个)个体组件。而且,如果并非全部组件,可以随存储器243包括诸如操作软件250的若干组件。出于适于本发明的目的,所示出设备内的每个组件可以链接在一起并且可以互相通信。
[0043]转向图3,描绘了图示使得离台冲突最小化的示例性方法300的流程图。方法300开始(步骤302)。方法300将轨道的离台分组(例如,被选择进行离台的轨道的分组)限制至最近最少使用(LRU)列表的底部部分,而不对LRU列表的最近最多使用(MRU)端的轨道进行分组以避免离台冲突(步骤304)。方法300从LRU列表的底部部分使得轨道的离台分组进行离台(步骤306)。方法300结束(步骤308)。
[0044]向LRU列表中的轨道添加顺序编号
[0045]在一个实施例中,当轨道被添加到列表的MRU端时,该轨道被更新以顺序编号。顺序编号可以通过使用当前时间戳获得,和/或顺序编号可以是单递增编号。对于前一情况而言,顺序编号仅是时间戳的函数。对于后一情况而言,维护用于顺序编号的计数器。当轨道被添加到MRU端时轨道被分配以该计数器并且该计数器随后递增。
[0046]转向图4,描绘了图不用于向最近最少使用列表添加顺序编号的不例性方法400的流程图。方法400开始(步骤402)。方法400将轨道添加至最近最少使用(LRU)列表(步骤404)的最近最多使用(MRU)端(步骤404)。方法400获得顺序编号(例如,使用当前时间戳和/或单递增编号)(步骤406)。该方法为轨道添加和/或更新以顺序编号(步骤 408)。
[0047]离台分组
[0048]在一个实施例中,仅作为示例,离台TCB将从最近最少使用(LRU)列表拣取轨道并且开始离台分组。在一个实施例中,为了对轨道(例如,元数据轨道)执行离台分组而执行以下步骤。首先,离台TCB将从最近最少使用(LRU)列表的底部端取得轨道并且开始离台分组。接下来,对从最近最少使用(LRU)中所选择的轨道的分组中的第一轨道和最后轨道进行定位。接下来,从分组中的第一轨道开始进行离台所选择的轨道。然而,如果轨道处于高速缓存中、被修改以及处于最近最少使用(LRU)列表底部的百分之(%)n之中,则该轨道被添加至离台分组。如果轨道并非处于高速缓存中且并未被修改,则本发明移动至离台分组中的下一个轨道。如果轨道的顺序编号小于(O最近最多使用的顺序编号减去最近最少使用的顺序编号并随后乘以(X/100)(例如,轨道的顺序编号小于(〈)((MRU顺序编号-LRU顺序编号)*(X/100)),则该轨道处于LRU列表底部的百分之n(例如,“X” % )中。最后,如果这是分组中最后的轨道,则该处理结束对分组的离台。换句话说,本发明保持进行直至轨道被添加至离台任务。一旦离台任务已经处理了所有轨道并且构建了分组,本发明就对整个分组进行离台。
[0049]转向图5,描绘了图示用于从最近最少使用(LRU)列表对轨道进行分组和离台的示例性方法500的流程图。方法500开始(步骤502)。方法500通过从最近最少使用(LRU)列表选择轨道而开始,并且开始离台分组(步骤504)。方法500定位离台分组中的第一轨道和最后轨道(步骤506)。可以使用顺序编号来定位第一轨道和最后轨道的相对位置。方法500从离台分组中的第一轨道开始离台(步骤508)。方法500随后确定该轨道是否位于高速缓存中、被修改以及处于LRU列表的底部(步骤510)。如果是,则方法500将该轨道添加至离台分组(步骤512)。如果否,则方法500移动至离台分组中的下一个轨道(步骤514)。方法500随后确定该轨道是否为离台分组中最后的轨道(步骤516)。如果是,则方法500结束(步骤518)。如果否,则方法在对该轨道离台之后返回510。
[0050]如本领域技术人员将会意识到的,本发明的各方面可以被实现为系统、方法或计算机程序产品、因此,本发明的各方面可以采用完全硬件的实施例、完全软件的实施例(包括固件、驻留软件、微代码等)或者采用结合软件和硬件方面的实施例,它们全部都可以在这里被统称为“电路”、“模块”或“系统”。此外,本发明的各方面可以采取在具有记录于其上的计算机可读程序代码的一个或多个计算机可读介质上实现的计算机程序产品的形式。
[0051]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或物理的计算机可读存储介质。物理的计算机可读存储介质例如可以是电子、磁性、光纤、晶体、聚合物、电磁、红外或半导体系统、装置或设备,或者以上的任意适当组合,但是并不局限于此。物理的计算机可读存储介质的示例包括但并不局限于具有一个或多个线路的电连接、便携式计算机磁盘、硬盘、RAM、ROM和EPROM、闪存、光纤、CD-ROM、光学存储设备、磁性存储设备,或者以上的任意组合。在本文的上下文中,计算机可读存储介质可以是能够包含或存储供指令执行系统、装置或设备使用或者结合它们使用的程序或数据的任意有形介质。
[0052]记录于计算机可读介质上的计算机代码可以使用任意适当介质进行传送,包括但并不局限于无线、有线、光线、射频(RF)等,或者以上的任意适当组合。用于执行本发明各方面的操作的计算机代码可以以诸如“C”编程语言或其它类似编程语言的任意静态语言进行编写。计算机代码可以作为独立软件包完全在用户的计算机上执行,部分在用户的计算机上执行,部分在用户计算机上且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后者的情况下,远程计算机可以通过任意类型的网络或通信系统连接至用户的计算机,该网络或通信系统包括但并不局限于局域网(LAN)或广域网(WAN)、聚合网络,或者可以形成到外部计算机的连接(例如,使用互联网提供商而通过互联网)。
[0053]以上参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图对本发明的各方面进行了描述。将要理解的是,流程图和/或框图中的每个框以及流程图和/或框图中框的组合能够通过计算机程序指令来实施。这些计算机程序指令可以被提供至通用计算机、专用计算机或者其它可编程数据处理装置的处理器以产生机器,而使得经由计算机或其它可编程数据处理装置的处理器执行的指令形成用于实施流程图和/或框图中的一个或多个框中所指定的功能/动作的手段。
[0054]这些计算机程序指令还可以存储在计算机可读介质中,其能够对计算机、其它可编程数据处理装置或以特定方式工作的其它设备进行指示而使得存储在计算机可读介质中的指令产生包括实施流程图和/或框图中的一个或多个框中所指定的功能/动作的指令的制造商品。计算机程序指令还可以被加载到计算机、其它可编程数据后处理装置或者其它设备上而使得一系列操作步骤得以在该计算机、其它可编程数据后处理装置或者其它设备上得以执行以产生计算机实施的过程,而使得在计算机或其它可编程装置上执行的指令提供用于实施流程图和/或框图中的一个或多个框中所指定的功能/动作的过程。
[0055]以上附图中的流程图和框图示出了根据本发明各个实施例的系统、方法和计算机程序产品的架构、功能和执行操作。在这方面,流程图或框图的个体框能够示出包括用于实施(多个)所指定逻辑功能的一个或多个可执行指令的模块、分段或代码部分。还应当注意的是,在可替换的实施方式示例中,框中所指示的功能有时是以与图中所示有所不同的顺序来执行。例如,根据所涉及的功能,顺序示出的两个框实际上可以基本上同时执行,或者有事可以以逆向顺序执行。还要注意到的是,框图和/或流程图中的框以及框图和/或流程图中的框的组合可以由执行所指定的功能和动作的专用的基于硬件的系统来执行,或者由专用硬件和计算机指令的组合来执行。
[0056]虽然已经对本发明的一个或多个实施例进行了详细描述,但是本领域技术人员将会意识到,可以针对那些实施例进行修改和调试而并不背离如以下权利要求中所给出的本发明的范围。
【权利要求】
1.一种用于通过计算环境中的处理器设备来使得离台冲突最小化的方法,所述方法包括: 将轨道的离台分组限制于最近最少使用LRU列表的底部部分,而不对所述LRU列表中最近最多使用端的轨道进行分组,以避免所述离台冲突;以及 从所述LRU列表的所述底部部分对轨道的所述离台分组进行离台。
2.根据权利要求1所述的方法,进一步包括执行以下之一: 向所述LRU列表中的所述轨道添加顺序编号,以及 针对所述LRU列表中的所述轨道维护所述顺序编号。
3.根据权利要求2所述的方法,进一步包括使用所述顺序编号来定位所述LRU列表中经修改的轨道的位置,其中所述顺序编号是当前获得的时间戳和单递增编号中的一种。
4.根据权利要求3所述的方法,进一步包括当一轨道被添加到所述LRU列表的最近最多使用端时,向所述一轨道添加所述顺序编号之一。
5.根据权利要求1所述的方法,进一步包括将所述轨道的所述离台分组限制于所述LRU列表的底部百分之N的部分。
6.根据权利要求5所述的方法,进一步包括从所述LRU列表的所述底部百分之N的部分选择所述轨道之一,并且将选择的所述轨道之一进行分组以用于离台。
7.根据权利要求1所述的方法,进一步包括执行以下之一: 从所述LRU列表的所述底部部分选择用于离台的轨道, 定位从所述LRU列表中选择的轨道的所述离台分组中的第一轨道和最后轨道二者, 从轨道的所述离台分组中的所述第一轨道开始所述离台, 如果一轨道被修改、位于高速缓存中以及位于所述LRU列表的所述底部百分之N的部分中,则将所述一轨道添加至轨道的所述离台分组,否则: 移动至轨道的所述离台分组中的下一选择的所述轨道,以及 在所述最后轨道之后终止对所述轨道的所述离台分组进行的所述分组。
8.一种用于在计算环境中使得离台冲突最小化的系统,所述系统包括: 可在所述计算环境中进行操作的至少一个处理器设备,其中处理器设备: 将轨道的离台分组限制于最近最少使用LRU列表的底部部分,而不对所述LRU列表中最近最多使用端的轨道进行分组,以避免所述离台冲突;以及 从所述LRU列表的所述底部部分对轨道的所述离台分组进行离台。
9.根据权利要求8所述的系统,其中所述至少一个处理器设备执行以下之一: 向所述LRU列表中的所述轨道添加顺序编号,以及 针对所述LRU列表中的所述轨道维护所述顺序编号。
10.根据权利要求9所述的系统,其中所述至少一个处理器设备使用所述顺序编号来定位所述LRU列表中经修改的轨道的位置,其中所述顺序编号是当前获得的时间戳和单递增编号中的一种。
11.根据权利要求10所述的系统,其中所述至少一个处理器设备当一轨道被添加到所述LRU列表的最近最多使用端时,向所述一轨道添加所述顺序编号之一。
12.根据权利要求8所述的系统,其中所述至少一个处理器设备将所述轨道的所述离台分组限制于所述LRU列表的底部百分之N的部分。
13.根据权利要求12所述的系统,其中所述至少一个处理器设备从所述LRU列表的所述底部百分之N的部分选择所述轨道之一,并且将选择的所述轨道之一进行分组以用于离台。
14.根据权利要求8所述的系统,其中所述至少一个处理器设备执行以下之一: 从所述LRU列表的所述底部部分选择用于离台的轨道, 定位从所述LRU列表中选择的所述轨道的所述离台分组中的第一轨道和最后轨道二者, 从轨道的所述离台分组中的所述第一轨道开始所述离台, 如果一轨道被修改、位于高速缓存中以及位于所述LRU列表的所述底部百分之N的部分中,则将所述一轨道添加至轨道的所述离台分组,否则: 移动至轨道的所述离台分组中的下一选择的所述轨道,以及 在所述最后轨道之后终止对所述轨道的所述离台分组进行的所述分组。
【文档编号】G06F12/08GK104182179SQ201410214000
【公开日】2014年12月3日 申请日期:2014年5月20日 优先权日:2013年5月23日
【发明者】M·T·本哈斯, L·M·古普塔, M·J·卡洛斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1