CN101634970A - 预取长度调整方法、装置和存储系统 - Google Patents

预取长度调整方法、装置和存储系统 Download PDF

Info

Publication number
CN101634970A
CN101634970A CN200910167148A CN200910167148A CN101634970A CN 101634970 A CN101634970 A CN 101634970A CN 200910167148 A CN200910167148 A CN 200910167148A CN 200910167148 A CN200910167148 A CN 200910167148A CN 101634970 A CN101634970 A CN 101634970A
Authority
CN
China
Prior art keywords
prefetch
data cache
hit rate
adjusting
read request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910167148A
Other languages
English (en)
Other versions
CN101634970B (zh
Inventor
杜小华
陈静
王雪松
周立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2009101671483A priority Critical patent/CN101634970B/zh
Publication of CN101634970A publication Critical patent/CN101634970A/zh
Application granted granted Critical
Publication of CN101634970B publication Critical patent/CN101634970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例公开了一种预取长度调整方法、装置和存储系统,本发明实施流提供的预取长度调整方法包括:获得第一轮读请求在高速数据缓存中的命中率R1;根据命中率R1调整高速数据缓存的预取长度;获得第二轮读请求在高速数据缓存中的命中率R2;在R2大于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整预取长度;在R2小于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,反向地调整预取长度。本发明方法实施例可以使用在存储系统中,本发明实施例可以根据当前的应用环境提供合适的预取长度,使得存储系统的读性能始终处于最佳状态。

Description

预取长度调整方法、装置和存储系统
技术领域
本发明涉及存储技术领域,具体涉及一种预取长度调整方法和预取长度调整装置以及存储系统。
背景技术
高速数据缓存(cache)被广泛应用于各种存储系统中,以提升存储系统的性能。预取(Prefetch)的作用是将可能被访问的数据提前从较慢的存储介质中读取到高速数据缓存中,使主机的读请求直接在高速数据缓存中完成,从而提升读请求执行的速度。主机发送的读请求所请求的数据直接在高速数据缓存中获取,称为读请求在高速数据缓存中命中。
主机的读请求在高速数据缓存中的命中率决定了存储系统的性能,命中率越高,性能越好,反之性能越差。由于存储系统的缓存大小有限,预取长度太大可能导致高速数据缓存中的数据溢出和读请求的响应时间过长,从而影响存储系统的性能,反之预取长度过小则会使主机访问存储介质的次数增加,同样影响存储系统的性能。
现有技术中提出了一种根据主机读请求数据的长度来调整预取长度的方法,该方法主要包括:获取主机读请求数据的长度,将读请求数据的长度乘以预置的预取倍数得到预取长度。该方法根据主机读请求数据的长度动态地调整高速数据缓存的预取长度。
发明人在研究现有技术的过程中发现,现有的预取长度调整方法只能针对部分读请求数据的长度提供合适的预取长度,而在实际使用过程中,主机的读请求数据的长度可以随时间变化,并且变化范围可以较大,此时现有技术中使用固定的预取倍数将无法提供合适的预取长度,即无法使存储系统的性能达到最佳。
发明内容
本发明提供一种可以在多种应用环境中对存储系统提供合适的预取长度的方法、装置以及存储系统。
本发明实施例提供的预取长度调整方法,包括:获得第一轮读请求在高速数据缓存中的命中率R1;根据命中率R1调整高速数据缓存的预取长度;获得第二轮读请求在高速数据缓存中的命中率R2;在R2大于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整预取长度;在R2小于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,反向地调整预取长度。
本发明实施例还提供一种预取长度调整装置,包括:第一获得单元,用于获得第一轮读请求在高速数据缓存中的命中率R1;第一调整单元,用于根据命中率R1调整高速数据缓存的预取长度;第二获得单元,用于获得第二轮读请求在高速数据缓存中的命中率R2;第二调整单元,用于在R2大于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整预取长度;第三调整单元,用于在R2小于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,反向地调整预取长度。
本发明实施例还提供一种存储系统,该存储系统包括:主存储器和高速数据缓存,高速数据缓存包括:随机存储器,预取长度调整装置和预取执行单元,
其中,预取执行单元用于根据预取长度调整装置调整的预取长度将数据从主存储器中预取到随机存储器中;
预取长度调整装置包括:第一获得单元,用于获得第一轮读请求在随机存储器中的命中率R1;第一调整单元,用于根据命中率R1调整随机存储器的预取长度;第二获得单元,用于获得第二轮读请求在随机存储器中的命中率R2;第二调整单元,用于在R2大于R1时,按照根据命中率R1调整随机存储器的预取长度的调整方向,同向地调整预取长度;第三调整单元,用于在R2小于R1时,按照根据命中率R1调整随机存储器的预取长度的调整方向,反向地调整预取长度。
在本发明实施例中,在获得第二轮读请求在高速数据缓存中的命中率之后,与上一轮读请求在高速数据缓存中的命中率相比较,在本次获得的命中率高于上次获得的命中率的情况下,按照与上一次调整预取长度相同的方向调整预取长度。反之,则按照与上一次调整预取长度相反的方向来调整预取长度,本发明实施例可以重复执行上述过程,从而使得读请求在高速数据缓存中的命中率始终处于最大值或者在最大值附近波动。与现有技术相比,本发明实施例可以根据当前的应用环境提供合适的预取长度,使得存储系统的读性能始终处于最佳状态,提高存储系统的执行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的预取长度调整方法第一实施例的流程图;
图2是本发明实施例提供的预取长度调整方法第二实施例的流程图;
图3是本发明实施例提供的预取长度调整装置实施例的示意图;
图4是本发明预取长度调整装置实施例中的第二获得单元的示意图;
图5是本发明实施例提供的存储系统实施例的示意图。
具体实施方式
本发明提供了一种预取长度调整方法、预取长度调整装置和存储系统。为了更好的理解本发明的技术方案,下面结合附图对本发明提供的实施例进行详细地描述。
参见图1,图1是本发明实施例提供的预取长度调整方法第一实施例的流程图。
步骤A1、获得第一轮读请求在高速数据缓存中的命中率R1。
在本发明实施例中,预取长度调整装置可以获得第一轮读请求在高速数据缓存中的命中率R1。其中,第一轮读请求可以为预置时间内接收到的读请求。
步骤A2、根据命中率R1调整高速数据缓存的预取长度。
在本发明实施例中,预取长度调整装置可以根据第一次获得的命中率R1来调整高速数据缓存的预取长度。例如,在R1小于100%时,预取长度调整装置可以增大预取长度,即预取更多的数据,以便于获得更高的命中率,当然,预取长度调整装置还可以减小预取长度。
步骤A3、获得第二轮读请求在高速数据缓存中的命中率R2。
在本发明实施例中,在调整高速数据缓存的预取长度之后,预取长度调整装置可以获得第二轮读请求在高速数据缓存中的命中率R2。其中,第二轮读请求也可以为预置时间内接收到的读请求。
在本发明实施例中,为保证第二轮读请求在高速数据缓存中的命中率R2.相对于R1发生改变是上次调整预取长度所产生的效果,预取长度调整装置可以在第一次调整预取长度之后,间隔预置时间T1后,获得第二轮读请求在高速数据缓存中的命中率R2。其中,预置时间T1可以根据存储介质的存储速度来设定。
预取长度调整装置还可以在第一轮读请求在高速数据缓存中执行完毕,即第一轮读请求从高速数据缓存返回后,获得第二轮读请求在高速数据缓存中的命中率R2,可以避免调整预取长度之前的第一轮读请求对第二次获得的命中率R2产生影响。
步骤A4、在R2大于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整预取长度。
在本发明实施例中,如果R2大于R1,则说明上一次调整预取长度取得了好的效果,读请求在高速数据缓存中的命中率得到了提升,因此,本次调整预取长度时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整预取长度,以便于读请求在高速数据缓存中达到更高的命中率,从而提高存储系统的性能。
本发明实施例在执行步骤A4之后,还可以开始执行步骤A3,即再次获得下一轮读请求在高速数据缓存的中的命中率,然后进行下一次的调整预取长度的过程,本发明实施例可以循环执行该流程。
步骤A5、在R2小于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,反向地调整预取长度。
在本发明实施例中,如果R2小于R1,则说明上次调整预取长度没有取得好的效果,读请求在高速数据缓存中的命中率下降了,因此,本次调整预取长度时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,反向地调整预取长度,以便于提高读请求在高速数据缓存中的命中率,从而提高存储系统的性能。
本发明实施例在执行步骤A5之后,还可以开始执行步骤A3,即再次获得下一轮读请求在高速数据缓存的中的命中率,然后进行下一次的调整预取长度的过程,本发明实施例可以循环执行该流程。
在本发明实施例中,在获得第二轮读请求在高速数据缓存中的命中率之后,与上一轮读请求在高速数据缓存中的命中率相比较,在本次获得的命中率高于上次获得的命中率的情况下,按照与上一次调整预取长度相同的方向调整预取长度。反之,则按照与上一次调整预取长度相反的方向来调整预取长度,本发明实施例重复可以执行上述过程,从而使得读请求在高速数据缓存中的命中率始终处于最大值或者在最大值附近波动。与现有技术相比,本发明实施例可以根据当前的应用环境提供合适的预取长度,使得存储系统的读性能始终处于最佳状态,提高存储系统的执行效率。
在本发明实施例中,预取长度调整装置可以通过如下方式来获得读请求在高速数据缓存中的命中率(上述步骤A1、A3):
预取长度调整装置可以在预置时间T2内,统计读请求在高速数据缓存中的命中次数N1,然后根据N1来计算得到命中率R1或R2,此时第一轮读请求或第二轮读请求可以为预置时间T2内接收到的读请求。另外,预取长度调整装置还可以统计预置次数的读请求在高速数据缓存中的命中次数N2,然后根据该命中次数N2来计算得到命中率R1或R2,例如预置次数可以为5000,此时第一轮读请求或第二轮读请求可以为预置次数的读请求。在本发明实施例中,可以在获得命中率后清空统计结果。需要指出的是,本发明实施例获得读请求在高速数据缓存中的命中率的方法不限于此,还可以有其它的获得方式。
在本发明实施例中,在第一次获得读请求在高速数据缓存中的命中率R1之后,在R1小于100%时,预取长度调整装置可以增大预取长度,以便于获得更高的命中率,本发明实施例也可以减小预取长度。如果R1等于100%,则表明当前的命中率已达到最大值,则不需要调整预取长度。
在本发明实施例中,在第一次获得命中率R1和第二次获得的命中率R2.相等时,可以按照根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整预取长度,从而使得下一次获得的读请求命中率发生改变,进而对预取长度进一步调整,最终获得合适的预取长度,使得存储系统的读性能始终处于最佳状态。
在本发明实施例中,在本次获得的命中率R2大于上一次获得的命中率R1时,本次调整预取长度时按照根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整预取长度。即如果根据命中率R1调整高速数据缓存的预取长度时增大预取长度,则本次调整时继续增大预取长度;如果根据命中率R1调整高速数据缓存的预取长度时减小预取长度,则本次调整时继续减小预取长度,以便于进一步提高读请求在高速数据缓存中的命中率。
在本发明实施例中,在本次获得的命中率R2小于上一次获得的命中率R1时,则需要改变调整方向,本次调整预取长度时按照与上一次调整预取长度相反的方向进行调整。即如果根据命中率R1调整高速数据缓存的预取长度时增大预取长度,则本次调整时应该减小预取长度;如果根据命中率R1调整高速数据缓存的预取长度时减小预取长度,则本次调整时应该增大预取长度,以便于提高读请求在高速数据缓存中的命中率。
参见图2,图2是本发明实施例提供的预取长度调整方法第二实施例的流程图。调整预取长度的方法可以包括以下步骤:
步骤B1、获得预置时间T2内的读请求在高速数据缓存中的命中率R1。
在本发明实施例中,预取长度调整装置可以获得预置时间T2内的主机发出的读请求在高速数据缓存中的命中率R1,即获得第一轮读请求在高速数据缓存中的命中率R1。其中,预置时间例如可以为3秒。
步骤B2、判断命中率R1是否等于100%。
在本发明实施例中,预取长度调整装置判断命中率R1是否等于100%,若是,则执行步骤B4,若否,则执行步骤B3。
步骤B3、增大预取长度,保存本次调整的方向。
在本发明实施例中,R1小于100%则说明存储系统的性能还没有达到最佳状态,因此可以将预取长度增大一个调节粒度,同时保存本次的调整方向,即增大预取长度。其中,调节粒度可以为一固定值,可以根据存储系统接收到的读请求数据的平均大小来设定。
在本发明实施例中,在每间隔预置时间T1之后,开始执行步骤B4。
步骤B4,获得预置时间T2内的读请求在高速数据缓存中的命中率R2。
在本发明实施例中,预取长度调整装置可以再次获得预置时间T2内的主机发出的读请求在高速数据缓存中的命中率,即获得第二轮读请求在高速数据缓存中的命中率R2,然后执行步骤B5。
步骤B5、判断命中率R2是否大于命中率R1。
在本发明实施例中,预取长度调整装置判断命中率R2是否大于命中率R1,若是,则执行步骤B3,否则,执行步骤B6。
在本发明实施例中,命中率R2大于命中率R1则说明上次调整预取长度取得了好的效果,提高了读请求在高速数据缓存中的命中率,则本次按照与上次调整预取长度相同的方向继续调整预取长度,同时保存本次的调整方向,即增大预取长度。在本发明实施例中,上次调整预取长度时增大了预取长度,则本次调整预取长度时继续将预取长度增大一个调节粒度。
步骤B6、判断命中率R2是否等于100%。
在本发明实施例中,在命中率R2小于或等于命中率R1时,判断命中率R2是否等于100%,若是,则表明当前不需要调整预取长度,执行步骤B4,即获得下一轮读请求在高速数据缓存中的命中率,否则执行步骤B7。
步骤B7、减小预取长度,保存本次调整的方向。
在本发明实施例中,命中率R2小于100%,并且命中率R2小于命中率R1,则说明上次调整预取长度没有取得好的效果,反而降低了读请求在高速数据缓存中的命中率,则本次按照与上次调整预取长度相反的方向调整预取长度,同时保存本次的调整方向,即减小预取长度。在本发明实施例中,上次调整预取长度时增大了预取长度,则本次调整预取长度时将预取长度减小一个调节粒度。
在本发明实施例中,在每间隔预置时间T1之后,开始执行步骤B4,本发明实施例可以循环执行上述流程。
在本发明实施例中,在每次获得读请求在高速数据缓存中的命中率后,与前一次获得的命中率相比较,在本次的命中率增加时,按照前一次的调整方向同向调整预取长度。在本次的命中率下降时,按照前一次的调整方向反向调整预取长度。本发明实施例的调整预取长度的过程可以使命中率维持在最大值或者在最大值附近波动,在经过一段时间的调整之后,可以获得一个最佳的预取长度值,从而使得存储系统的性能达到最佳,提高存储系统的执行效率。
本发明实施例提供的预取长度调整方法可以使用在存储系统中,预取长度的调整过程不需要人工参与,并且经过一段时间的调整后,存储系统自动适应为最佳的预取方式,性能得到最佳。在存储系统的用户业务发生变化后,经过短时间的调整,预取数据的长度可以适应变化后的业务,使读性能达到最佳值。另外,本发明实施例还可以在存储系统接收到多种类型的顺序读请求的情况下,可以获得一个针对每种读请求的折中的预取数据长度,从而使存储系统的性能达到最佳值。
参见图3,图3是本发明实施例提供的预取长度调整装置的示意图。
在本发明实施例中,预取长度调整装置主要由第一获得单元110、第一调整单元120、第二获得单元130、第二调整单元140和第三调整单元150组成。其中,
第一获得单元110,用于获得第一轮读请求在高速数据缓存中的命中率R1;
第一调整单元120,用于根据命中率R1调整高速数据缓存的预取长度;
第二获得单元130,用于获得读请求在高速数据缓存中的命中率R2;
第二调整单元140,用于在R2大于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整预取长度;
第三调整单元150,用于在R2小于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,反向地调整预取长度。
在本发明实施例中,第二调整单元140还用于在R2等于R1时,按照根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整预取长度。
本发明预取长度调整装置可以使用在前述相对应的预取长度调整方法第一实施例中。
参见图4,图4是本发明预取长度调整装置实施例中的第二获得单元的示意图。
在本发明实施例中,第二获得单元130可以包括:
触发模块131,用于在第一调整单元120调整高速数据缓存之后,触发统计模块统计第二轮读请求在高速数据缓存中的命中次数;
统计模块132,用于在预置时间T2内,统计第二轮读请求在高速数据缓存中的命中次数N1;以及
计算模块133,用于根据上述统计模块132获得的命中次数N1来计算第二轮读请求在高速数据缓存中的命中率R2。
在本发明实施例中,触发模块131可以在第一调整单元120根据命中率R1调整高速数据缓存的预取长度之后间隔预置时间T1后,触发统计模块132统计第二轮读请求在高速数据缓存中的命中次数;触发模块131还可以在第一轮读请求在高速数据缓存中执行完毕后,触发统计模块132统计第二轮读请求在高速数据缓存中的命中次数。
参见图5,图5是本发明实施例提供的存储系统实施例的示意图。
在发明存储系统实施例主要由高速数据缓存100和主存储器200组成,其中,主存储器可以为磁盘阵列、单个磁盘、磁带、固态硬盘(SSD,Solid StateDisk)或者固态硬盘阵列等。高速数据缓存100主要由随机存储器(RAM,Random Access Memory)20,预取长度调整装置10和预取执行单元30组成。
预取执行单元30用于根据预取长度调整装置10调整的预取长度将数据从主存储器200中预取到随机存储器20中;
预取长度调整装置10可以包括:第一获得单元,用于获得第一轮读请求在随机存储器中的命中率R1;第一调整单元,用于根据命中率R1调整随机存储器的预取长度;第二获得单元,用于获得第二轮读请求在随机存储器中的命中率R2;第二调整单元,用于在R2大于R1时,按照根据命中率R1调整随机存储器的预取长度的调整方向,同向地调整预取长度;以及第三调整单元,用于在R2小于R1时,按照根据命中率R1调整随机存储器的预取长度的调整方向,反向地调整预取长度。
本发明实施例提供的存储系统可以使用多种场合下,预取长度的调整过程不需要人工参与,并且经过一段时间的调整后,存储系统自动适应为最佳的预取方式,性能得到最佳。在存储系统的用户业务发生变化后,经过短时间的调整,预取数据的长度可以适应变化后的业务,使读性能达到最佳值。另外,本发明存储系统实施例还可以在存储系统接收到多种类型的顺序读请求的情况下,可以获得一个针对每种读请求的折中的预取数据长度,从而使存储系统的性能达到最佳值。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
以上对本发明所预取长度调整方法、预取长度调整装置和存储系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,本说明书内容不应理解为对本发明的限制。

Claims (12)

1、一种预取长度调整方法,其特征在于,包括:
获得第一轮读请求在高速数据缓存中的命中率R1;
根据所述命中率R1调整所述高速数据缓存的预取长度;
获得第二轮读请求在所述高速数据缓存中的命中率R2;
在所述R2大于所述R1时,按照所述根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整所述预取长度;
在所述R2小于所述R1时,按照所述根据命中率R1调整高速数据缓存的预取长度的调整方向,反向地调整所述预取长度。
2、根据权利要求1所述的方法,其特征在于,还包括:
在所述R2等于所述R1时,按照所述根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整所述预取长度。
3、根据权利要求1所述的方法,其特征在于,所述获得第二轮读请求在高速数据缓存中的命中率R2,包括:
在间隔预置时间T1后,获得第二轮读请求在所述高速数据缓存中的命中率R2;或者,
在所述第一轮读请求在高速数据缓存中执行完毕后,获得第二轮读请求在所述高速数据缓存中的命中率R2。
4、根据权利要求1或2所述的方法,其特征在于,所述获得第一轮读请求在高速数据缓存中的命中率R1,包括:
统计预置时间T2内的第一轮读请求在高速数据缓存中的命中次数N1,根据所述N1计算得到命中率R1,或者
统计预置次数的第一轮读请求在高速数据缓存中的命中次数N2,根据所述命中次数N2计算得到命中率R1;
所述获得第二轮读请求在高速数据缓存中的命中率R2,包括:
统计预置时间T2内的第二轮读请求在高速数据缓存中的命中次数N1,根据所述N1计算得到命中率R2,或者
统计预置次数的第二轮读请求在高速数据缓存中的命中次数N2,根据所述命中次数N2计算得到命中率R2。
5、根据权利要求1所述的方法,其特征在于,所述根据所述命中率R1调整高速数据缓存的预取长度,包括:
在所述命中率R1小于100%时,增大所述高速数据缓存的预取长度。
6、根据权利要求1所述的方法,其特征在于,所述根据所述命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整所述预取长度,包括:
若所述根据命中率R1调整高速数据缓存的预取长度时是增大预取长度,则继续增大所述预取长度;
若所述根据命中率R1调整高速数据缓存的预取长度时是减小预取长度,则继续减小所述预取长度。
7、根据权利要求1所述的方法,其特征在于,所述根据所述命中率R1调整高速数据缓存的预取长度的调整方向,反向地调整所述预取长度,包括:
若所述根据命中率R1调整高速数据缓存的预取长度时是增大预取长度,则减小所述预取长度;
若所述根据命中率R1调整高速数据缓存的预取长度时是减小预取长度,则增大所述预取长度。
8、一种预取长度调整装置,其特征在于,包括:
第一获得单元,用于获得第一轮读请求在高速数据缓存中的命中率R1;
第一调整单元,用于根据所述命中率R1调整所述高速数据缓存的预取长度;
第二获得单元,用于获得第二轮读请求在所述高速数据缓存中的命中率R2;
第二调整单元,用于在所述R2大于所述R1时,按照所述根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整所述预取长度;
第三调整单元,用于在所述R2小于所述R1时,按照所述根据命中率R1调整高速数据缓存的预取长度的调整方向,反向地调整所述预取长度。
9、根据权利要求8所述的预取长度调整装置,其特征在于,
所述第二调整单元还用于在所述R2等于所述R1时,按照所述根据命中率R1调整高速数据缓存的预取长度的调整方向,同向地调整所述预取长度。
10、根据权利要求8所述的预取长度调整装置,其特征在于,所述第二获得单元包括:
触发模块,用于在所述第一调整单元调整高速数据缓存之后,触发统计模块统计第二轮读请求在高速数据缓存中的命中次数;
统计模块,用于在预置时间T2内,统计第二轮读请求在高速数据缓存中的命中次数N1;
计算模块,用于根据所述统计模块获得的命中次数N1来计算第二轮读请求在高速数据缓存中的命中率R2。
11、根据权利要求10所述的预取长度调整装置,其特征在于,所述触发模块触发统计模块统计读请求在高速数据缓存中的命中次数,包括:
触发模块在所述第一调整单元根据所述命中率R1调整高速数据缓存的预取长度之后间隔预置时间T1后,触发统计模块统计第二轮读请求在高速数据缓存中的命中次数,或者
触发模块在所述第一轮读请求在高速数据缓存中执行完毕后,触发统计模块统计所述第二轮读请求在高速数据缓存中的命中次数。
12、一种存储系统,包括主存储器、高速数据缓存,其特征在于,所述高速数据缓存包括:随机存储器,预取长度调整装置和预取执行单元,
所述预取执行单元用于根据所述预取长度调整装置调整的预取长度将数据从主存储器中预取到所述随机存储器中;
所述预取长度调整装置包括:
第一获得单元,用于获得第一轮读请求在随机存储器中的命中率R1;
第一调整单元,用于根据所述命中率R1调整随机存储器的预取长度;
第二获得单元,用于获得第二轮读请求在所述随机存储器中的命中率R2;
第二调整单元,用于在所述R2大于所述R1时,按照所述根据命中率R1调整随机存储器的预取长度的调整方向,同向地调整所述预取长度;
第三调整单元,用于在所述R2小于所述R1时,按照所述根据命中率R1调整随机存储器的预取长度的调整方向,反向地调整所述预取长度。
CN2009101671483A 2009-08-26 2009-08-26 预取长度调整方法、装置和存储系统 Active CN101634970B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101671483A CN101634970B (zh) 2009-08-26 2009-08-26 预取长度调整方法、装置和存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101671483A CN101634970B (zh) 2009-08-26 2009-08-26 预取长度调整方法、装置和存储系统

Publications (2)

Publication Number Publication Date
CN101634970A true CN101634970A (zh) 2010-01-27
CN101634970B CN101634970B (zh) 2011-09-07

Family

ID=41594164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101671483A Active CN101634970B (zh) 2009-08-26 2009-08-26 预取长度调整方法、装置和存储系统

Country Status (1)

Country Link
CN (1) CN101634970B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853218A (zh) * 2010-05-12 2010-10-06 中兴通讯股份有限公司 用于磁盘阵列的读取方法和系统
CN102298556A (zh) * 2011-08-26 2011-12-28 成都市华为赛门铁克科技有限公司 数据流识别方法及装置
CN102779098A (zh) * 2012-06-14 2012-11-14 国家超级计算深圳中心(深圳云计算中心) 混合缓存的协同式自适应预取方法、中间件和系统
CN102799390A (zh) * 2012-06-14 2012-11-28 国家超级计算深圳中心(深圳云计算中心) 能耗感知的协同式自适应预取方法和中间件
CN104636270A (zh) * 2013-11-14 2015-05-20 Arm有限公司 数据处理装置中的自适应预取
CN104715020A (zh) * 2015-02-13 2015-06-17 腾讯科技(深圳)有限公司 缓存数据的删除方法及服务器
CN104769560A (zh) * 2012-11-06 2015-07-08 先进微装置公司 基于缓冲器充满度而向高速缓存进行预取
CN105897815A (zh) * 2015-08-12 2016-08-24 乐视云计算有限公司 一种读取数据的方法及读取数据的网络侧设备
CN106250067A (zh) * 2016-09-28 2016-12-21 深圳市金泰克半导体有限公司 一种基于数据特征的固态硬盘ssd加速系统的实现方法
CN108701079A (zh) * 2015-10-30 2018-10-23 高通股份有限公司 具有自适应预取的闪存读取高速缓存的系统和方法
CN113296692A (zh) * 2020-09-29 2021-08-24 阿里云计算有限公司 数据读取方法及装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853218A (zh) * 2010-05-12 2010-10-06 中兴通讯股份有限公司 用于磁盘阵列的读取方法和系统
CN101853218B (zh) * 2010-05-12 2015-05-20 中兴通讯股份有限公司 用于磁盘阵列的读取方法和系统
CN102298556A (zh) * 2011-08-26 2011-12-28 成都市华为赛门铁克科技有限公司 数据流识别方法及装置
CN102298556B (zh) * 2011-08-26 2013-10-02 华为数字技术(成都)有限公司 数据流识别方法及装置
CN102779098A (zh) * 2012-06-14 2012-11-14 国家超级计算深圳中心(深圳云计算中心) 混合缓存的协同式自适应预取方法、中间件和系统
CN102799390A (zh) * 2012-06-14 2012-11-28 国家超级计算深圳中心(深圳云计算中心) 能耗感知的协同式自适应预取方法和中间件
CN102779098B (zh) * 2012-06-14 2016-04-20 国家超级计算深圳中心(深圳云计算中心) 混合缓存的协同式自适应预取方法、装置和系统
CN104769560A (zh) * 2012-11-06 2015-07-08 先进微装置公司 基于缓冲器充满度而向高速缓存进行预取
CN104769560B (zh) * 2012-11-06 2017-04-12 先进微装置公司 基于缓冲器充满度而向高速缓存进行预取
CN104636270A (zh) * 2013-11-14 2015-05-20 Arm有限公司 数据处理装置中的自适应预取
CN104715020A (zh) * 2015-02-13 2015-06-17 腾讯科技(深圳)有限公司 缓存数据的删除方法及服务器
CN105897815A (zh) * 2015-08-12 2016-08-24 乐视云计算有限公司 一种读取数据的方法及读取数据的网络侧设备
CN108701079A (zh) * 2015-10-30 2018-10-23 高通股份有限公司 具有自适应预取的闪存读取高速缓存的系统和方法
CN106250067A (zh) * 2016-09-28 2016-12-21 深圳市金泰克半导体有限公司 一种基于数据特征的固态硬盘ssd加速系统的实现方法
CN113296692A (zh) * 2020-09-29 2021-08-24 阿里云计算有限公司 数据读取方法及装置
CN113296692B (zh) * 2020-09-29 2022-08-16 阿里云计算有限公司 数据读取方法及装置

Also Published As

Publication number Publication date
CN101634970B (zh) 2011-09-07

Similar Documents

Publication Publication Date Title
CN101634970B (zh) 预取长度调整方法、装置和存储系统
US10866897B2 (en) Byte-addressable flash-based memory module with prefetch mode that is adjusted based on feedback from prefetch accuracy that is calculated by comparing first decoded address and second decoded address, where the first decoded address is sent to memory controller, and the second decoded address is sent to prefetch buffer
US9069489B1 (en) Dynamic random access memory front end
CN111258497A (zh) 基于队列深度阈值绕过储存级存储器读取缓存
US9146867B2 (en) Methods and apparatus to access memory using runtime characteristics
WO2018188083A1 (zh) 内存刷新技术及计算机系统
CN101872288A (zh) 固态硬盘驱动器以及操作频率控制方法
CN110546707B (zh) 内存刷新技术及计算机系统
US8543759B2 (en) Method for scheduling memory refresh operations including power states
WO2016065902A1 (zh) 在存储设备中配置缓存的方法、装置及控制器
CN107274926A (zh) 具有自适应预充电策略的dram控制器
CN109814811B (zh) 一种减小NVMe SSD响应延迟影响高速数据存储设备写入速度的方法
KR101598828B1 (ko) 메모리 장치의 페이지 오픈 시간 조절 방법 및 이를 이용한메모리 시스템
CN104185083A (zh) 一种自适应丢帧方法与装置
US11188245B2 (en) Data storage device, system, and data writing method
US10509743B2 (en) Transferring data between memory system and buffer of a master device
US10509742B2 (en) Logical memory buffers for a media controller
US10176124B2 (en) Scoreboard approach to managing idle page close timeout duration in memory
CN106463164A (zh) 用于动态调整记录比特率以适应存储装置的写入速度的系统和方法
US9405720B2 (en) Managing wait states for memory access
EP2911062A1 (en) Method and device for adjusting cache block length of cache memory
KR101689458B1 (ko) 반도체 메모리 장치 및 반도체 메모리 장치 제어 방법
CN109062513B (zh) 一种控制处理写操作的方法及装置
CN105446659B (zh) 一种通过压缩磁盘板载缓存以提高磁盘性能的方法
CN204496485U (zh) 一种基于高速数据采集存储系统的i/o加速存取装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220829

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.