从盘的内径和外径周期性降级以改善读响应时间的制作方法

文档序号:6497135阅读:162来源:国知局
从盘的内径和外径周期性降级以改善读响应时间的制作方法
【专利摘要】包括高速缓存(108)的存储控制器(102)从主机(104a、104b、...、104n)接收命令,其中必须满足对应于用于执行该命令的读响应时间的标准集合(402)。执行至少基于使用新近性和轨道的空间位置来使轨道降级的降级应用,其中轨道的空间排序被保持在数据结构中,并且降级应用遍历轨道的空间排序(404)。在遍历轨道的空间排序的同时,轨道以周期性间隔从至少盘内径或外径被降级,其中满足对应于用于执行命令的读响应时间的标准集合(406)。
【专利说明】从盘的内径和外径周期性降级以改善读响应时间
【技术领域】
[0001]本公开涉及用于从盘的内径和外径周期性降级以改善读响应时间的方法、系统以及制品。
【背景技术】
[0002]存储控制器可以控制可包括盘、磁带等的多个存储设备。高速缓存也可由存储控制器维护,其中,高速缓存可包括与诸如硬盘、磁带等某些其他存储设备相比可更快速地存取的高速储存器。然而,高速缓存的存储容量的总量与由存储控制器控制的诸如硬盘等某些其他存储设备的存储容量相比是相对小的。高速缓存可包括可以以不同方式彼此互操作的随机存取存储器(RAM)、非易失性存储设备(NVS)、读高速缓存、写高速缓存等中的一个或多个。NVS可包括电池备份随机存取存储器,并且可允许以高速度执行写操作。存储控制器可管理来自联网主机的对多个存储设备的输入/输出(I/O)请求。
[0003]由存储控制器实现的高速缓存技术帮助隐藏I/O等待时间。高速缓存可包括用来减少从低速存储器或设备读数据或向该低速存储器或设备写数据所需的有效时间的高速存储器或存储设备。高速缓存被用于从外部储存器进行的快速数据存取,以服务于读数据存取请求,并用以提供对已修改数据的缓存。写请求被写至高速缓存且然后被写(即,降级)至外部存储设备。
[0004]引入了用于允许快速写入的NVS。一般地,在不存在NVS的情况下,数据写可能必须被同时直接地写(即,降级)到存储设备以确保一致性、正确性以及持续性。否则,服务器的故障可造成存储在高速缓存中的数据丢失。一般地,主机写入的速率超过存储设备的速度,因此在没有NVS的情况下,到存储设备的数据传输速率可能是缓慢的。NVS使得能够实现到高速缓存的快速写入,其中,写入被镜像到并被安全地存储在NVS中,直至能够将写入传输到外部存储设备为止。数据稍后以异步方式从高速缓存被降级(并从NVS被丢弃),因此隐藏存储设备的写等待时间。高速缓存和NVS通常存储意图用于多个存储设备的更新。为了确保用于写入的持续低等待时间,可能必须将NVS中的数据排空,从而确保始终存在用于即将来临的写入的某些空空间;否则,随后的写入可有效地变成同步的,其可负面地影响用于主机写入的响应时间。另一方面,如果写入被过于激进地排空,则写高速缓存的益处可能被完全利用,因为所利用的NVS高速缓存的平均量可能是低的。
[0005]可经由多种高速缓存管理机制来执行从辅助储存器升级至高速缓存和从高速缓存降级至辅助储存器。例如,诸如基于最近最少使用(LRU)机制的临时机制可基于哪些轨道是最近最少使用(LRU)的而使轨道降级。轨道的空间排序可由某些高速缓存管理机制来执行,其中,读出和写入按照逻辑地址的升序或降序而被存储在有序列表中,并且该有序列表被遍历以进行降级。此类空间降级可有利于使一起最接近地位于盘上的数据段降级。

【发明内容】

[0006]提供了一种方法、系统以及计算机程序产品,其中包括高速缓存的存储控制器从主机接收命令,其中必须满足对应于用于执行命令的读响应时间的标准集合。执行至少基于使用新近性和轨道的空间位置来使轨道降级的降级应用,其中轨道的空间排序被保持在数据结构中,并且降级应用遍历轨道的空间排序。在遍历轨道的空间排序的同时,轨道被以周期性间隔从至少盘内径或外径降级,其中满足对应于用于执行命令的读响应时间的标准
口 O
[0007]在其他实施方式中,通过以周期性间隔使轨道从盘的内径和外径降级,通过违背空间排序来服务于相对远离磁头的当前位置的读轨道。
[0008]在其他实施方式中,标准集合指定:平均读响应时间将小于第一阈值,并且将在小于第二阈值的时间内执行预定百分比的读取。
[0009]在附加实施方式中,将定时器设置成预定时间间隔并将降级计数器设置成零。在遍历包括数据结构的轨道的分类二叉树的同时拾取光标位置处的轨道以用于降级。响应于确定定时器已到期,并且响应于确定降级计数器是零,找到在分类二叉树的开头处的第一轨道,在不改变光标位置的情况下,并将第一轨道而不是光标位置处的轨道降级。
[0010]将降级计数器递增至一,并且降级应用继续拾取轨道以从光标开始执行降级。
[0011]在附加实施方式中,响应于确定定时器已到期,并且响应于确定降级计数器不是零,找到在分类二叉树的结尾处的最后轨道,在不改变光标位置的情况下,将该最后轨道而不是光标位置处的轨道降级。将降级计数器设置成零并将定时器设置成预定时间间隔。降级应用继续拾取轨道以从光标位置开始执行降级。
[0012]在某些实施方式中,周期性间隔是固定预定时间段,其中通过仿真对应于存储控制器处的来自严格读要求应用的至少读请求的工作负荷来确定固定预定时间段。
【专利附图】

【附图说明】
[0013]现在将仅以示例的方式并参考附图来描述本发明的优选实施方式,在所述附图中:
[0014]图1图示出根据某些实施方式的包括被耦合到多个主机和多个存储设备的存储控制器的计算环境的框图;
[0015]图2图示出示出了根据某些实施方式的对读响应时间的示例性要求的框图;
[0016]图3图示出示出了根据某些实施方式的用于在遍历按照分类空间顺序来存储轨道的数据结构的同时、从盘的内径和外径执行周期性降级的第一操作的流程图;
[0017]图4图示出示出了根据某些实施方式的用于在遍历按照分类空间顺序来存储轨道的数据结构的同时从盘的内径和/或外径执行周期性降级的第二操作的流程图;以及
[0018]图5图示出示出了根据某些实施方式的可包括在图1的存储控制器中的某些元件的计算系统的框图。
【具体实施方式】
[0019]在以下说明书中,对构成说明书一部分的附图并图示出多个实施方式的附图进行参考。应理解的是可利用其他实施方式,并且可进行结构和操作变更。
[0020]基于空间局部性(locality)的降级和读响应时间要求
[0021]智能高速缓存写(IWC)是称为CLOCK和CSCAN的两个其他高速缓存管理机制的混合。CLOCK是基于最近最少使用(LRU)的机制,其基于哪些轨道是LRU或最近最少使用的来使轨道降级。为了模拟(emulate) CLOCK性质,IWC保持每个轨道的时间位。该时间位在主机对轨道进行写入时被设定。时间位在降级扫描遇到具有被设定的时间位的轨道时被重置。如果降级扫描发现不具有被设定的时间位的轨道的步幅,则降级扫描能够选择该步幅以用于降级。CSCAN基于空间位置使轨道降级。为了模拟CSCAN性质,IWC使用平衡树来保持轨道的分类列表。寻找要降级的轨道的降级扫描可按照从最低至最高的轨道位置顺序来遍历平衡树。
[0022]诸如任务关键性应用、实时应用或医学领域中的某些应用之类的一些应用可对读响应时间具有严格要求。此类应用可称为严格读要求应用。例如,在某些应用中,平均读响应时间必须小于15毫秒,读取的99.99%必须在小于600毫秒内完成,读取的99.9%必须在小于200毫秒内完成,并且读取的99%必须在小于60毫秒内完成。例如,在每10000次读取中,至少9900次读取中的每一个必须在小于60毫秒内完成,至少9990次读取中的每一个必须在小于200毫秒内完成,并且至少9999次读取中的每一个必须在小于600毫秒内完成,其中,每次读取的平均时间应小于15毫秒。换言之,10000次读取之中的不超过一次读取可以花费600毫秒或更多的时间,10000之中的不超过10次读取可以花费200毫秒或更多的时间,并且10000之中的不超过100次读取可以花费60毫秒或更多的时间。
[0023]在某些情况下,通过使用IWC,按照空间顺序来执行降级,并且读取性能可能受损。当IWC按照数据位置的分类顺序降级时,可存在遍及所有设备的设备上读取。盘驱动器能够忽视该读取以便避免对服务于远离磁头的读取的长期寻求。可存在具有500毫秒的示例性默认值的CAL(命令老化极限)定时器。当CAL定时器到期时,盘驱动器被迫服务于尚未达到大于CAL定时器的默认值的持续时间的读请求。严格读要求应用可发现500毫秒的读服务时间对于它们而言过高。
[0024]在某些实施方 式中,应用增强的IWC高速缓存管理机制。在增强的IWC高速缓存管理机制中,通过遍历轨道的分类空间有序列表来执行降级。然而,在从轨道的分类空间有序列表执行降级的同时,增强的IWC高速缓存管理机制时常执行盘驱动器的ID(内径)处的一个降级和/或OD (外径)处的一个降级。这迫使盘驱动器服务于远离磁头的当前位置的命令。结果,能够服务于远离降级位置的读取,从而满足严格读要求应用的读要求。
[0025]图1图示根据某些实施方式的包括被耦合到多个主机104a、104b、...、104n以及多个存储设备106的存储控制器102的计算环境100的框图。与包括在存储控制器102中的高速缓存108相反,多个存储设备106可称为辅助存储设备。
[0026]存储控制器102和主机104a...104η可包括任何适当的计算设备,包括目前在本领域中已知的那些,诸如个人计算机、工作站、服务器、主机、手持式计算机、掌上计算机、电话服务、网络设备、刀片计算机、服务器等。存储控制器102、主机104a...104η以及多个存储设备106可通过网络进行通信,该网络诸如因特网、存储区域网、广域网、局域网等。
[0027]多个存储设备106可包括本领域中已知的任何适当存储设备,诸如物理硬盘、固态磁盘等。存储设备106被配置成卷。在某些实施方式中,存储设备106可以是被配置为独立磁盘冗余阵列(RAID)等级的磁盘。在图1中,示出了多个RAID等级IlOa…110m。
[0028]高速缓存108可包括不同类型的存储器中的一个或多个,诸如RAM、写高速缓存、读高速缓存、NVS等。包括高速缓存的不同类型的存储器可彼此互操作。来自主机104a...104n的写入最初可被写到高速缓存108,并且稍后降级到存储设备106。如果相应信息在高速缓存108中可用,则可从高速缓存108满足来自主机104a...104η的读请求,否则将信息从存储设备106升级到高速缓存108,并且然后提供给主机104a...104η。
[0029]存储控制器102执行也称为增强的智能写高速缓存应用的降级应用114。增强的智能写高速缓存应用114保持按照轨道在盘上的发生的空间顺序布置的轨道116的分类二叉树。增强的智能写高速缓存应用114还保持到分类二叉树116的光标118,其中,光标118在遍历分类二叉树116的同时示出要降级的轨道的位置。
[0030]降级应用114进一步保持也称为定时器或IDOD定时器的内径(ID)外径(OD)定时器120。最初可将定时器120设置成预定持续时间,诸如10毫秒。降级应用114还保持称为降级计数器或IDOD降级计数器的计数器122。
[0031]在某些实施方式中,增强的智能写高速缓存应用114遍历轨道的分类二叉树116以执行降级,使得满足用于某些示例性应用的读要求标准集合124(例如,示例性主机104a中所示的严格读要求应用126)。
[0032]在某些实施方式中,具有读响应时间要求124的严格读要求应用126可从主机104a向存储控制器102发送命令。该命令可包括读或写请求或某个其他命令。通过遍历轨道的分类二叉树116,增强的智能写高速缓存应用114处理该命令以至少满足读要求标准集合124所指示的标准。
[0033]图2图示出示出了根据某些实施方式的对用于示例性严格读要求应用126的读响应时间202的示例性要求的框图200。
[0034]在某些实施方式中,读响应时间的示例性要求可如下:
[0035]I)平均读响应时间将小于15.0毫秒(经由附图标记204示出);
[0036]2)四个九要求:99.99%的读取将在600毫秒(经由附图标记206示出)内的时间内完成;
[0037]3)三个九要求:99.9%的读取将在200毫秒内(经由附图标记208示出)的时间内完成;以及
[0038]4)两个九要求:99%的读取将在60毫秒内(经由附图标记210示出)的时间内完成。
[0039]在某些实施方式中,如果用于读取的等待时间大于500毫秒,则即使不存在任何待决写入,也执行读取。500毫秒时间是命令老化极限(CAL)时间。在此类实施方式中,四个九要求可容易满足,但是三个九要求和两个九要求可能难以满足,除非在使在分类二叉树116中指示的轨道降级的同时,为远离盘驱动的磁头位置的待决读取提供优于待决降级(即,从高速缓存到盘的写入)的某些附加优先权。
[0040]图3图示出示出了根据某些实施方式的用于在遍历按照分类空间顺序来存储轨道的数据结构116的同时从盘的内径和外径执行周期性降级的第一操作的流程图300。图3中所示的操作可由在存储控制器102中实现的增强的智能写高速缓存应用114来执行。
[0041]控制在其中将定时器120 (例如,IDOD定时器)设置成预定时间间隔(例如,10毫秒)的方框302处开始,并且然后控制前进至其中将降级计数器122 (例如,IDOD降级计数器)设置成零的方框304。
[0042]控制前进至其中增强的智能写高速缓存应用114开始遍历轨道的分类二叉树116(即扫描)的方框306。增强的智能写高速缓存应用114在遍历分类二叉树116的同时确定(在方框308处)光标位置处的轨道是否已被拾取。如果是这样,则进行(在方框310处)关于定时器120是否已到期(即,已超过预定时间间隔)的确定。如果定时器120已到期,则进行(在方框312处)关于降级计数器122是否是零的确定。
[0043]如果在方框312处,确定降级计数器122是零(来自方框312的“是”分支),则在不改变光标位置的情况下,找到在分类二叉树的开头处的第一轨道(在方框314处)并将其而不是光标位置处的轨道降级(在方框316处)。结果,下一组降级将再次地从光标位置开始。将降级计数器122递增(在方框318处)至一。控制返回到方框306,并且增强的智能写高速缓存应用114继续拾取轨道以从光标开始执行降级。
[0044]如果在方框312处,确定降级计数器122不是零(来自方框312的“否”分支),则在不改变光标位置的情况下,找到在分类二叉树的结尾处的最后轨道(在方框320处)并将其而不是光标位置处的轨道降级(在方框322处)。结果,下一组降级将再次地从光标位置开始。将降级计数器122设置(在方框324处)成零,并将定时器120设置(在方框326处)成预定时间间隔。控制返回到方框306,并且增强的智能写高速缓存应用114继续拾取轨道以从光标开始执行降级。当后面是“否”分支时,控制也从方框308和310返回到方框306。
[0045]因此,图4图示出改善对读取的响应时间的某些实施方式,其通过使用定时器120和降级计数器122、增强的智能写高速缓存应用114,通过在遍历空间排序轨道的分类二叉树116的同时周期性地移动磁头以用于从盘的内径和/或外径降级来实现。读响应时间的增加至少足够用于满足读要求标准集合124。如果读响应时间不足以满足读要求标准集合124,则可将定时器120设置成较低预定值,并且可以较小的时间间隔来执行从内径和外径的降级。在某些实施方式中,可执行工作负荷模拟以确定定时器120的什么预定值足以用于满足由读要求标准124提供的读响应时间。
[0046]应注意的是在某些实施方式中,分类二叉树的开头处的第一轨道可对应于盘的内径处的轨道或接近于盘内径的某个轨道,并且分类二叉树的结尾处的最后轨道可对应于盘的外径处的轨道或接近于盘的外径的某个轨道。在替换实施方式中,分类二叉树的开头处的第一轨道可对应于盘的外径处的轨道或接近于盘外径的某个轨道,并且分类二叉树的结尾处的最后轨道可对应于盘的内径处的轨道或接近于盘的内径的某个轨道。在分类二叉树中,存在于盘的内径和外径内的轨道是空间排序的。在替换实施方式中,除分类二叉树之外的其他数据结构可表示轨道的排序。
[0047]图4图示出示出了根据某些实施方式的用于在遍历按照分类空间顺序来存储轨道的数据结构的同时从盘的内径和/或外径执行周期性降级的第二操作的流程图400。图4中所示的操作可由在存储控制器102中实现的增强的智能写高速缓存应用114来执行。
[0048]控制开始于在其中包括高速缓存108的存储控制器102从主机104a接收命令的方框402,其中,必须满足对应于用于执行命令的读响应时间的标准集合124。执行至少基于使用的新近性(recency)和轨道的空间位置来使轨道降级的降级应用114(在方框440处),其中,轨道的空间排序被保持在数据结构116中,并且降级应用114遍历轨道的空间排序。在某些实施方式中,降级应用114是增强的智能写高速缓存应用。
[0049]控制前进至方框406,其中在遍历轨道的空间排序的同时,轨道以周期性间隔从至少盘内径和/或外径被降级,其中,满足对应于用于执行命令的读响应时间的标准集合124。在某些实施方式中,通过以周期性间隔使轨道从盘的内径和/或外径降级,通过违背空间排序来服务于相对远离磁头的当前位置的读轨道。
[0050]因此,图1-4图示出其中增强的智能写高速缓存应用114增强的作为CLOCK和CSCAN降级机制的混合的智能写高速缓存应用的某些实施方式。通过违背来自空间分类列表的将被降级的当前轨道,增强的智能写高速缓存应用在遍历用于降级的轨道的空间分类列表的同时,周期性地使轨道从盘的内径和/或外径降级。结果,相比于其中不从盘的内径和/或外径执行处在预定时间间隔的周期性降级,可用更快的响应时间来执行读取。
[0051]可使用标准编程和/或工程技术将所述操作实现为方法、装置或计算机程序产品以产生软件、固件、硬件或其任何组合。相应地,实施方式的各方面可采取全硬件实施方式、全软件实施方式(包括固件、常驻软件、微代码等)或将软件和硬件方面组合的实施方式的形式,所述硬件方面在本文中一般地可称为“电路”、“模块”或“系统”。此外,在一些实施方式中,实施方式的各方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0052]可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或设备,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者设备使用或者与其结合使用。
[0053]计算机可读信号介质可以包括具有在其中体现(例如在基带中或作为载波的一部分)的计算机可读程序代码的传播数据信号。此类传播信号可以采取多种形式中的任何一个,包括但不限于电磁、光或其任意适当的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者设备使用或者与其结合使用的程序。
[0054]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0055]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言-诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0056]下面将参照根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各方面。将理解的是可以由计算机程序指令来实现流程图和/或方框图的每个方框以及流程图和/或方框图中的方框的组合。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0057]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其他可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
[0058]也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0059]图5图示出示出了根据某些实施方式的可包括在存储控制器102或主机104a...104η中的某些元件的框图。系统500可包括存储控制器102或主机104a...104η,并且可包括电路502,其在某些实施方式中可包括至少处理器504。系统500还可包括存储器506 (例如,易失性存储设备)和储存器508。储存器508可包括非易失性存储设备(例如,EEPROM, ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程序逻辑等)、盘驱动、光盘驱动、磁带驱动等。储存器508可包括内部存储设备、附接存储设备和/或网络可访问存储设备。系统500可包括程序逻辑510,其包括可加载到存储器506中且可由处理器504或电路502执行的代码512。在某些实施方式中,可将包括代码512的程序逻辑510存储在储存器508中。在某些其他实施方式中,可在电路502中实现程序逻辑510。因此,虽然图5与其他元件分开地示出了程序逻辑510,但可在存储器506和/或电路502中实现程序逻辑510。
[0060]某些实施方式可针对用于由人或自动化处理集成计算机可读代码来将计算指令部署到计算系统中的方法,其中,使得与计算系统组合的代码能够执行所述实施方式的操作。
[0061]除非另外明确地指明,术语“一实施方式”、“实施方式”、“多个实施方式”、“该实施方式”、“一个或多个实施方式”、“某些实施方式”以及“一个实施方式”意指“本发明的一个或多个(但并非全部)实施方式”。
[0062]除非另外明确地指定,术语“包括”、“包含”、“具有”及其变体意指“包括但不限于”。
[0063]项目的枚举列表并不意味着任何或所有项目是相互排他性的,除非另外明确地指明。
[0064]术语“一”、“一个”和“该”意指“一个或多个”,除非另外明确地指明。
[0065]除非另外明确地指明,相互通信的设备不需要连续地相互通信。另外,相互通信的设备可以通过一个或多个中介来直接地或间接地进行通信。
[0066]具有相互通信的多个部件的实施方式的描述并不意味着要求所有此类部件。相反,描述多种可选部件是为了举例说明本发明的可能实施方式的宽泛种类而描述的。
[0067]此外,虽然可以按照相继顺序来描述过程步骤、方法步骤、算法等,但此类过程、方法和算法可以被配置成按照备选顺序来工作。换言之,可以描述的步骤的任何序列或顺序不一定指示按照该顺序来执行步骤的要求。可以按照任何实际的顺序来执行本文所述的过程步骤。此外,可以同时地执行某些步骤。
[0068]当在本文中描述单个设备/物品(无论其是否合作)时,将很容易显而易见的是可以使用不止一个设备或物品来代替单个设备/物品。同样地,在本文中描述超过一个设备或物品(无论其是否合作)的情况下,将显而易见的是可使用单个设备/物品来代替超过一个设备或物品,或者可使用不同数目的设备/物品而不是所示数目的设备或程序。可以替换地用一个或多个其他设备来体现设备的功能和/或特征,其未被明确地描述为具有此类功能/特征。因此,本发明的其他实施方式不需要包括设备本身。
[0069]在图中可能已举例说明的至少某些操作示出了按照某个顺序发生的某些事件。在替换实施方式中,某些操作可按照不同顺序执行、修改或去除。此外,可向上述逻辑添加步骤且其仍符合所述实施方式。此外,本文所述的操作可顺序地发生,或者可并行地执行某些操作。此外,可由单个处理单元或由分布式处理单元来执行操作。
[0070]本发明的各种实施方式的先前描述是出于举例说明和描述的目的提出的。鉴于上述教导,可以有许多修改和变更。
[0071]_
[0072]*Java是Oracle和/或其分支机构的商标或注册商标。
【权利要求】
1.一种方法,包括: 由包 括高速缓存的存储控制器从主机接收命令,其中必须满足对应于用于执行所述命令的读响应时间的标准集合; 执行至少基于使用新近性和轨道的空间位置来使所述轨道降级的降级应用,其中所述轨道的空间排序被保持在数据结构中,并且所述降级应用遍历所述轨道的所述空间排序;以及 在遍历所述轨道的所述空间排序的同时,以周期性间隔使轨道从至少盘的内径或外径降级,其中满足对应于用于执行所述命令的所述读响应时间的所述标准集合。
2.根据权利要求1所述的方法,其中通过以周期性间隔使轨道从盘的所述内径和所述外径降级,通过违背所述空间排序来服务于相对远离磁头的当前位置的读轨道。
3.根据权利要求1所述的方法,其中所述标准集合指定: 平均读响应时间将小于第一阈值;以及 预定百分比的读取将在小于第二阈值的时间内执行。
4.根据权利要求1所述的方法,所述方法还包括: 将定时器设置成预定时间间隔并将降级计数器设置成零; 在遍历包括所述数据结构的轨道的分类二叉树的同时,拾取光标位置处的轨道以进行降级;以及 响应于确定所述定时器已到期并且响应于确定所述降级计数器是零,执行: 找到在所述分类二叉树的开头处的第一轨道; 在不改变所述光标位置的情况下,将所述第一轨道而不是所述光标位置处的轨道降级; 将所述降级计数器递增至一;以及 继续拾取轨道以从所述光标位置处执行降级。
5.根据权利要求4所述的方法,所述方法还包括: 响应于确定所述定时器已到期并且响应于确定所述降级计数器不是零,执行: 找到在所述分类二叉树的结尾处的最后轨道; 在不改变所述光标位置的情况下,将所述最后轨道而不是所述光标位置处的轨道降级; 将所述降级计数器设置成零; 将所述定时器设置成所述预定时间间隔;以及 继续拾取轨道以从所述光标位置处执行降级。
6.根据权利要求1所述的方法,其中所述周期性间隔是固定的预定时间段,其中所述固定的预定时间段是通过仿真对应于从严格读要求应用到达所述存储控制器处的至少读请求的工作负荷而确定的。
7.一种系统,包括: 存储器;以及 处理器,被耦合到所述存储器,其中所述处理器执行操作,所述操作包括: 从主机接收命令,其中必须满足对应于用于执行所述命令的读响应时间的标准集合; 执行至少基于使用新近性和轨道的空间位置来使所述轨道降级的降级应用,其中所述轨道的空间排序被保持在数据结构中,并且所述降级应用遍历所述轨道的所述空间排序;以及 在遍历所述轨道的所述空间排序的同时,以周期性间隔使所述轨道从至少盘的内径或外径降级,其中满足对应于用于执行所述命令的所述读响应时间的所述标准集合。
8.根据权利要求7所述的系统,其中通过以所述周期性间隔使所述轨道从盘的所述内径和所述外径降级,通过违背所述空间排序来服务于相对远离磁头的当前位置的读轨道。
9.根据权利要求7所述的系统,其中所述标准集合指定: 平均读响应时间将小于第一阈值;以及 预定百分比的读取将在小于第二阈值的时间内执行。
10.根据权利要求7所述的系统,所述操作还包括: 将定时器设置成预定时间间隔并将降级计数器设置成零; 在遍历包括所述数据结构的轨道的分类二叉树的同时,拾取光标位置处的轨道以进行降级;以及 响应于确定所述定时器已到期并且响应于确定所述降级计数器是零,执行: 找到在所述分类二叉树的开头处的第一轨道; 在不改变所述光标位置的情况下,将所述第一轨道而不是所述光标位置处的轨道降级; 将所述降级计数器递增至一;以及 继续拾取轨道以从所述光标位置处执行降级。
11.根据权利要求10所述的系统,所述操作还包括: 响应于确定所述定时器已到期并且响应于确定所述降级计数器不是零,执行: 找到在所述分类二叉树的结尾处的最后轨道; 在不改变所述光标位置的情况下,将所述最后轨道而不是所述光标位置处的轨道降级; 将所述降级计数器设置成零; 将所述定时器设置成所述预定时间间隔;以及 继续拾取轨道以从所述光标位置处执行降级。
12.根据权利要求7所述的系统,其中所述周期性间隔是固定的预定时间段,其中所述固定的预定时间段是通过仿真对应于从严格读要求应用到达所述存储控制器处的至少读请求的工作负荷而确定的。
13.一种计算机程序产品,所述计算机程序产品包括: 计算机可读存储介质,具有用其体现的计算机可读程序代码,所述计算机可读程序代码被配置成执行操作,所述操作包括: 由包括高速缓存的存储控制器从主机接收命令,其中必须满足对应于用于执行所述命令的读响应时间的标准集合;
执行至少基于使用新近性和轨道的空间位置来使所述轨道降级的降级应用,其中所述轨道的空间排序被保持在数据结构中,并且所述降级应用遍历所述轨道的空间排序;以及在遍历所述轨道的所述空间排序的同时,以周期性间隔使所述轨道从至少盘的内径或外径降级,其中满足对应于用于执行所述命令的所述读响应时间的标准集合。
14.根据权利要求13所述的计算机程序产品,其中通过以所述周期性间隔使所述轨道从盘的所述内径和所述外径降级,通过违背所述空间排序来服务于相对远离磁头的当前位置的读轨道。
15.根据权利要求13所述的计算机程序产品,其中所述标准集合指定: 平均读响应时间将小于第一阈值;以及 预定百分比的读取将在小于第二阈值的时间内执行。
16.根据权利要求13所述的计算机程序产品,所述操作还包括: 将定时器设置成预定时间间隔并将降级计数器设置成零; 在遍历包括所述数据结构的轨道的分类二叉树的同时,拾取光标位置处的轨道以进行降级;以及 响应于确定所述定时器已到期并且响应于确定所述降级计数器是零,执行: 找到在所述分类二叉树的开头处的第一轨道; 在不改变所述光标位置的情况下,将所述第一轨道而不是所述光标位置处的轨道降级; 将所述降级计数器递增至一;以及 继续拾取轨道以从所述光标位置处执行降级。
17.根据权利要求16所述的计算机程序产品,所述操作还包括: 响应于确定所述定时器已到期并且响应于确定所述降级计数器不是零,执行: 找到在所述分类二叉树的结尾处的最后轨道; 在不改变所述光标位置的情况下,将所述最后轨道而不是所述光标位置处的轨道降级; 将所述降级计数器设置成零; 将所述定时器设置成所述预定时间间隔;以及 继续拾取轨道以从所述光标位置处执行降级。
18.根据权利要求13所述的计算机程序产品,其中所述周期性间隔是固定的预定时间段,其中所述固定的预定时间段是通过仿真对应于从严格读要求应用到达所述存储控制器处的至少读请求的工作负荷而确定的。
19.一种与主机和多个卷通信的存储控制器,所述存储控制器包括: 处理器;以及 高速缓存,被耦合到所述处理器,其中所述存储控制器执行: 从所述主机接收命令,其中必须满足对应于用于执行所述命令的读响应时间的标准集合; 执行至少基于使用新近性和轨道的空间位置来使所述轨道降级的降级应用,其中所述轨道的所述空间排序被保持在数据结构中,并且所述降级应用遍历所述轨道的所述空间排序;以及 在遍历所述轨道的所述空间排序的同时,以周期性间隔使所述轨道从至少盘的内径或外径降级,其中满足对应于用于执行所述命令的所述读响应时间的所述标准集合。
20.根据权利要求19所述的存储控制器,其中通过以所述周期性间隔使所述轨道从盘的所述内径和所述外径降级,通过违背所述空间排序来服务于相对远离磁头的当前位置的读轨 道。
【文档编号】G06F12/08GK103946820SQ201280056470
【公开日】2014年7月23日 申请日期:2012年11月5日 优先权日:2011年11月17日
【发明者】M·T·本哈斯, L·M·古普塔, C·斯特劳斯, W·A·赖特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1