本发明专利技术涉及根据动态分级存储器缓存认知执行数据读取的方法和系统。描述了一种用于在存储系统内实现动态分级存储器缓存(HMC)认知的方法、系统和计算机程序产品。具体地讲,当在存储系统内执行动态读操作时,数据模块根据确定数据是否存在于分级存储器缓存中的策略评估数据预取方针并在之后在需要的情况下修改数据预取方针。该系统随后使用该数据预取方针执行存储装置的读操作以使存储装置的未来数据检索最小化。另外,在包括进行协作以满足数据检索请求的多个存储节点的分布式存储环境中,能够针对每个存储节点执行动态分级存储器缓存认知而不会降低分布式存储环境的总体性能。
【技术实现步骤摘要】
本专利技术涉及根据动态分级存储器缓存认知(dynamic hierarchical memory cacheawareness )策略执行数据读操作的计算系统。
技术介绍
分级存储器系统包括多层的存储器,从而使ー层可以比另ー层更快且更小,所述另ー层可以更慢且更大。例如,已知随机存取存储器(RAM)具有寄存器寻址以便能够针对数据检索实现快速直接存储器存取。相比之下,硬盘驱动器(HDD)是电磁存储装置,它需要旋转盘以在盘上找到正确位置以检索数据。已知用于找到存储在硬盘驱动器上的数据的查找时间远长于随机存取存储器的查找时间。 因此,避免在硬盘驱动器上执行查找的数据检索可改进总体存储系统响应时间。
技术实现思路
描述了ー种动态地形成用于分级存储器缓存存储系统的数据预取策略的本专利技术的实施例。例如,通过检查分级存储器缓存存储系统的至少ー层,系统形成未来读操作所需的数据的认知,由此通过使用合适的选择性数据预取方针避免从存储系统的可能较慢的存储装置的不必要的数据检索操作。根据数据预取策略能够确定这种方针。在示例性实施例中,一种用于分布式存储环境中的数据检索的计算装置实现的方法包括分配分级存储器缓存模块和海量存储模块的数据存储位置。该方法还包括由数据模块确定数据预取方针。数据模块还包括用于确定数据是否存在于分级存储器缓存模块的第一存储器中的方法。另外,该方法包括确定数据是否存在于分级存储器缓存模块的第ニ存储器中。最后,该方法包括如果数据不存在于第一存储器中,则选择由数据模块基于数据存在于第二存储器还是海量存储模块中确定的至少ー种数据预取方针。在存储系统的另一实施例中,该系统包括用于由数据模块确定数据预取方针的处理器和存储器。该存储器包括用于数据的分配的分级存储器缓存,从而分级存储器缓存还包括第一存储器和比第一存储器大的第二存储器。此外,该系统包括用于数据的分配的海量存储模块。数据模块在分级存储器缓存的数据检索操作期间确定数据预取方针。在用于执行动态读操作的计算机程序产品的另ー实施例中,计算机程序产品包括存储有计算机可读程序代码部分的计算机可读存储介质。计算机可读程序代码部分包括第一可执行部分,用于通过确定数据是否存在于分级存储器缓存模块中确定执行存储装置的读操作的至少ー种数据预取方针。该实施例还包括第二可执行部分,用于通过使用当数据不存在于分级存储器模块中时由数据模块确定的所述至少ー种数据预取方针执行存储装置的读操作。应该理解,通过下面结合附图进行的详细描述,本专利技术的其它方面将会变得清楚,该详细描述作为示例示出了本专利技术的原理。附图说明图I是示出了根据本专利技术实施例执行数据操作的分布式存储环境的图;图2A是示出了根据本专利技术实施例的分布式存储环境的存储节点的图;图2B是示出了根据本专利技术实施例的分布式存储环境的ー对存储节点的图; 图2C是示出了根据本专利技术实施例的存储节点的数据模块的示图。图3是示出了根据本专利技术实施例的存储节点内的动态分级缓存认知的操作的图;以及图4是根据本专利技术实施例能够在分布式存储环境内实现动态分级缓存认知的可执行代码部分的操作的流程图。具体实施例方式下面的实施例描述ー种用于在存储系统内实现动态分级存储器缓存认知的方法、系统和计算机程序产品。具体地讲,当在存储系统内执行动态读操作时,数据模块根据确定数据是否存在于分级存储器缓存中的策略评估数据预取方针并在之后修改数据预取方针(如果需要的话)。该系统随后使用数据预取方针执行存储装置的读操作以使存储装置的未来数据检索最小化。通过根据需要经常动态改变数据预取方针(也称为选择性预取),系统能够学习如何预测未来的数据存取模式。另外,在包括进行协作以满足数据检索请求的多个存储节点的分布式存储环境中,能够针对每个存储节点执行动态分级存储器缓存认知而不会降低分布式存储环境的总体性能。然而,对于本领域技术人员而言显而易见的是,可以在没有这些特定细节中的ー些或全部细节的情况下实施本专利技术的实施例。在其它实例中,公知的处理操作未被详细描述以防止模糊本文描述的本专利技术的实施例。例如,图I是示出了根据本专利技术实施例执行数据操作的分布式存储环境的图。多个主机计算机(诸如,主机-A 102、主机-B 104和主机-C 106)在分布式存储环境内与至少ー个存储节点140通信。每个主机计算机能够是服务器、客户机、膝上型计算机、平板计算机、控制台、交換机、路由器、移动装置(诸如,智能电话)或者向分布式存储环境的用户提供数据存储/检索/修改服务的其它计算装置。另外,每个存储节点140是包括至少ー个处理器、随机存取存储器等的计算装置。存储节点140的内部部件能够包括可商购获得的现成部件,或者能够根据规范而被制造。不管如何制造存储节点140,应该理解,它用作用于满足数据操作(诸如,读和写操作)的存储装置。产生这些读和写操作以满足对主机计算机的数据请求和来自主机计算机的数据请求。存储节点140从ー个或多个主机计算机接收输入/输出(I/O)请求,所述I/O请求是用于在逻辑卷(未示出)上的逻辑地址读或写数据的命令。任何数量的主机计算机通过现有技术中已知的任何方式(例如,使用网络110)耦接到存储节点140。这里,仅作为示例,假设主机计算机和存储节点140耦接在一起以用作包括数据连接和主机总线适配器(HBA)(未示出)的存储区域网络(SAN)。逻辑地址指定SAN的逻辑卷内的数据块的范围,每个块的大小为例如512字节。在一个实施例中,主机-A 102上的数据处理应用中使用的IOKB数据记录可存储为20个块,主机计算机可指定这20个块存储在包括逻辑卷的块1000至1019的逻辑地址。应该理解,存储节点140也能够用作网络连接存储器(NAS)或者混合SAN/NAS 系统。每个存储节点140包括分级存储器缓存(HMC)模块120和海量存储模块130。HMC模块120包括至少ー个高速存储器装置,诸如动态随机存取存储器、固态存储装置等。通过使用高速存储器装置,与其它物理存储装置(诸如,硬盘驱动器(HDD)、磁带等)相比能够更快地存储和检索数据。应该理解,存储节点140中使用的HMC模块120的数量可以是任何合适的数量。尽管存储节点140中的所有HMC模块120可以按照基本上相同的方式工作并包括基本上相似的元件,但在其它实施例中不要求如此。每个HMC模块120耦接到ー组物理存储装置(诸如,海量存储模块130)并且与所述ー组物理存储装置通信。海量存储模块130能够包括任何类型的存储介质,诸如硬盘驱动器(HDD)、磁带、光驱等。本领域技术人员将能够使本文的HMC模块120和海量存储模块130的描述适应于不同的大小,诸如兆字节、吉字节(gigabyte)、太字节(terabyte)、艾字节(exabyte)等。每组物理存储装置可包括不同的慢和/或快存取时间。例如,ー个物理存储装置可以是高速HDD,而另一物理存储装置可以是低速HDD,因此也许具有比高速HDD低的成本。响应于I/O命令,HMC模块120可在海量存储模块130的每个物理存储装置的可寻址物理位置读或写数据。如稍后參照图2B的实施例所述,HMC模块120可在物理存储装置上施加某些控制功能。这些控制功能(诸如,访问哪个HDD以执行数据查找操作)可替代地由诸 如盘控制器(未示本文档来自技高网...
【技术保护点】
一种用于分布式存储环境中的数据检索的计算装置实现的方法,包括:分配分级存储器缓存模块和海量存储模块的数据存储位置;由数据模块确定数据预取方针,其中数据模块还包括,确定数据是否存在于分级存储器缓存模块的第一存储器中,确定数据是否存在于分级存储器缓存模块的第二存储器中;以及如果数据不存在于第一存储器中,则选择由数据模块基于数据存在于第二存储器还是海量存储模块中而确定的至少一种数据预取方针。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:B·S·吉尔,H·海尔曼,E·什姆里,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。