根据动态分级存储器缓存认知执行数据读取的方法和系统的制作方法

上传人:ting****789 文档编号:310010774 上传时间:2022-06-14 格式:DOCX 页数:6 大小:24.63KB
返回 下载 相关 举报
根据动态分级存储器缓存认知执行数据读取的方法和系统的制作方法_第1页
第1页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《根据动态分级存储器缓存认知执行数据读取的方法和系统的制作方法》由会员分享,可在线阅读,更多相关《根据动态分级存储器缓存认知执行数据读取的方法和系统的制作方法(6页珍藏版)》请在金锄头文库上搜索。

1、根据动态分级存储器缓存认知执行数据读取的方法和系统的制作方法专利名称:根据动态分级存储器缓存认知执行数据读取的方法和系统的制作方法技术领域:本发明涉及根据动态分级存储器缓存认知(dynamic hierarchical memory cacheawareness )策略执行数据读操作的计算系统。背景技术:分级存储器系统包括多层的存储器,从而使层可以比另层更快且更小,所述另层可以更慢且更大。例如,已知随机存取存储器(RAM)具有寄存器寻址以便能够针对数据检索实现快速直接存储器存取。相比之下,硬盘驱动器(HDD)是电磁存储装置,它需要旋转盘以在盘上找到正确位置以检索数据。已知用于找到存储在硬盘驱动

2、器上的数据的查找时间远长于随机存取存储器的查找时间。 因此,避免在硬盘驱动器上执行查找的数据检索可改进总体存储系统响应时间。发明内容描述了种动态地形成用于分级存储器缓存存储系统的数据预取策略的本发明的实施例。例如,通过检查分级存储器缓存存储系统的至少层,系统形成未来读操作所需的数据的认知,由此通过使用合适的选择性数据预取方针避免从存储系统的可能较慢的存储装置的不必要的数据检索操作。根据数据预取策略能够确定这种方针。在示例性实施例中,一种用于分布式存储环境中的数据检索的计算装置实现的方法包括分配分级存储器缓存模块和海量存储模块的数据存储位置。该方法还包括由数据模块确定数据预取方针。数据模块还包括

3、用于确定数据是否存在于分级存储器缓存模块的第一存储器中的方法。另外,该方法包括确定数据是否存在于分级存储器缓存模块的第存储器中。最后,该方法包括如果数据不存在于第一存储器中,则选择由数据模块基于数据存在于第二存储器还是海量存储模块中确定的至少种数据预取方针。在存储系统的另一实施例中,该系统包括用于由数据模块确定数据预取方针的处理器和存储器。该存储器包括用于数据的分配的分级存储器缓存,从而分级存储器缓存还包括第一存储器和比第一存储器大的第二存储器。此外,该系统包括用于数据的分配的海量存储模块。数据模块在分级存储器缓存的数据检索操作期间确定数据预取方针。在用于执行动态读操作的计算机程序产品的另实施

4、例中,计算机程序产品包括存储有计算机可读程序代码部分的计算机可读存储介质。计算机可读程序代码部分包括第一可执行部分,用于通过确定数据是否存在于分级存储器缓存模块中确定执行存储装置的读操作的至少种数据预取方针。该实施例还包括第二可执行部分,用于通过使用当数据不存在于分级存储器模块中时由数据模块确定的所述至少种数据预取方针执行存储装置的读操作。应该理解,通过下面结合附图进行的详细描述,本发明的其它方面将会变得清楚,该详细描述作为示例示出了本发明的原理。图I是示出了根据本发明实施例执行数据操作的分布式存储环境的图;图2A是示出了根据本发明实施例的分布式存储环境的存储节点的图;图2B是示出了根据本发明

5、实施例的分布式存储环境的对存储节点的图; 图2C是示出了根据本发明实施例的存储节点的数据模块的示图。图3是示出了根据本发明实施例的存储节点内的动态分级缓存认知的操作的图;以及图4是根据本发明实施例能够在分布式存储环境内实现动态分级缓存认知的可执行代码部分的操作的流程图。具体实施例方式下面的实施例描述种用于在存储系统内实现动态分级存储器缓存认知的方法、系统和计算机程序产品。具体地讲,当在存储系统内执行动态读操作时,数据模块根据确定数据是否存在于分级存储器缓存中的策略评估数据预取方针并在之后修改数据预取方针(如果需要的话)。该系统随后使用数据预取方针执行存储装置的读操作以使存储装置的未来数据检索最

6、小化。通过根据需要经常动态改变数据预取方针(也称为选择性预取),系统能够学习如何预测未来的数据存取模式。另外,在包括进行协作以满足数据检索请求的多个存储节点的分布式存储环境中,能够针对每个存储节点执行动态分级存储器缓存认知而不会降低分布式存储环境的总体性能。然而,对于本领域技术人员而言显而易见的是,可以在没有这些特定细节中的些或全部细节的情况下实施本发明的实施例。在其它实例中,公知的处理操作未被详细描述以防止模糊本文描述的本发明的实施例。例如,图I是示出了根据本发明实施例执行数据操作的分布式存储环境的图。多个主机计算机(诸如,主机-A 102、主机-B 104和主机-C 106)在分布式存储环

7、境内与至少个存储节点140通信。每个主机计算机能够是服务器、客户机、膝上型计算机、平板计算机、控制台、交換机、路由器、移动装置(诸如,智能电话)或者向分布式存储环境的用户提供数据存储/检索/修改服务的其它计算装置。另外,每个存储节点140是包括至少个处理器、随机存取存储器等的计算装置。存储节点140的内部部件能够包括可商购获得的现成部件,或者能够根据规范而被制造。不管如何制造存储节点140,应该理解,它用作用于满足数据操作(诸如,读和写操作)的存储装置。产生这些读和写操作以满足对主机计算机的数据请求和来自主机计算机的数据请求。存储节点140从个或多个主机计算机接收输入/输出(I/O)请求,所述

8、I/O请求是用于在逻辑卷(未示出)上的逻辑地址读或写数据的命令。任何数量的主机计算机通过现有技术中已知的任何方式(例如,使用网络110)耦接到存储节点140。这里,仅作为示例,假设主机计算机和存储节点140耦接在一起以用作包括数据连接和主机总线适配器(HBA)(未示出)的存储区域网络(SAN)。逻辑地址指定SAN的逻辑卷内的数据块的范围,每个块的大小为例如512字节。在一个实施例中,主机-A 102上的数据处理应用中使用的IOKB数据记录可存储为20个块,主机计算机可指定这20个块存储在包括逻辑卷的块1000至1019的逻辑地址。应该理解,存储节点140也能够用作网络连接存储器(NAS)或者混

9、合SAN/NAS 系统。每个存储节点140包括分级存储器缓存(HMC)模块120和海量存储模块130。HMC模块120包括至少个高速存储器装置,诸如动态随机存取存储器、固态存储装置等。通过使用高速存储器装置,与其它物理存储装置(诸如,硬盘驱动器(HDD)、磁带等)相比能够更快地存储和检索数据。应该理解,存储节点140中使用的HMC模块120的数量可以是任何合适的数量。尽管存储节点140中的所有HMC模块120可以按照基本上相同的方式工作并包括基本上相似的元件,但在其它实施例中不要求如此。每个HMC模块120耦接到组物理存储装置(诸如,海量存储模块130)并且与所述组物理存储装置通信。海量存储模

10、块130能够包括任何类型的存储介质,诸如硬盘驱动器(HDD)、磁带、光驱等。本领域技术人员将能够使本文的HMC模块120和海量存储模块130的描述适应于不同的大小,诸如兆字节、吉字节(gigabyte)、太字节(terabyte)、艾字节(exabyte)等。每组物理存储装置可包括不同的慢和/或快存取时间。例如,个物理存储装置可以是高速HDD,而另一物理存储装置可以是低速HDD,因此也许具有比高速HDD低的成本。响应于I/O命令,HMC模块120可在海量存储模块130的每个物理存储装置的可寻址物理位置读或写数据。如稍后參照图2B的实施例所述,HMC模块120可在物理存储装置上施加某些控制功能。

11、这些控制功能(诸如,访问哪个HDD以执行数据查找操作)可替代地由诸 如盘控制器(未示出)的硬件装置实现,所述硬件装置能够链接到HMC模块120或者与HMC模块120通信。具有连续逻辑地址的数据通常分布在海量存储模块130的物理存储装置之间。或者,数据能够使用其它算法(例如,字节或者块交织)分布。通常,这例如通过允许一次从超过个盘对SAN中的卷或者网络连接存储器中的文件进行读或写而增加了带宽。然而,这种技术需要各种HDD之间的协作,并且在实践中可能需要针对盘故障的复杂規定。另外,该技术可能需要用于处理错误校验信息的策略,例如用于存储与分布的数据相关的奇偶校验信息的技木。实际上,当逻辑单元分区以足

12、够小的粒度分布时,与单个逻辑单元关联的数据可跨越所有的物理存储装置。图2A是示出了根据本发明实施例的分布式存储环境的存储节点140的图。在个实施例中,HMC模块120能够包括高级存储器缓存204和低级存储器缓存206。在另外的实施例中,可存在更多或更少级别的存储器缓存。与海量存储模块130的物理存储装置的存取时间相比,这些存储器缓存中的每个能够具有更快的用于数据检索的存取时间。例如,高级存储器缓存204可以是易失性动态随机存取存储器(DRAM)并且低级存储器缓存206可以是非易失性固态驱动器(SSD)。应该理解,这些仅是例子,并且这两种存储器缓存可以都是非易失性的或者易失性的并且能够容易地互换

13、以提供例如非易失性高级存储器缓存204和易失性低级存储器缓存206。如上所述,海量存储模块130包括组存储介质,诸如HDD、磁带等。应该理解,海量存储模块130的物理存储装置也可以是SSD,但为了简单,对于以下描述的实施例的例子将会描述HDD。因此,作为示例,高级存储器缓存204可以具有比低级存储器缓存206快的数据存取时间。进而,低级存储器缓存206具有比海量存储模块130快的数据存取时间。其它实施例可在各级的存储器缓存和海量存储模块130之间具有近乎同时的数据存取时间,但在那些实施例中,HMC模块120和海量存储模块130之间的数据带宽可能有限,因此与仅对HMC模块120的数据存取请求相比

14、更慢地响应数据存取请求。因此,以下情况将是有益的能够预测数据存取模式以满足从高速存储装置的数据读操作而不必访问低速存储装置。现在參照图2B,图2B是示出了根据本发明实施例的分布式存储环境的一对存储节点的图。在具有两个存储节点的例子中,第一存储节点242与第二存储节点244 起用作分布式存储环境。特别地,主机-A 102能够通过在网络110上通信请求存储在第一存储节点242上的数据。具体地讲,如果要存取的数据存储在第一存储节点242的海量存储模块(未示出)上,则数据存取请求由接模块212接收并被发送给数据模块222,数据模块222在本地搜索该数据。或者,如果数据请求源自主机-C 106,则第一存

15、储节点242可接收该请求并与第二存储节点244的数据模块224通信以满足该数据请求。因此,在一些实施例中,应该理解,任何存储节点的任何接模块能够与任何其它存储节点的数据模块通信以找到数据。具体地讲,一旦任何存储节点的任何数据模块从接模块接收数据查找操作请求,该数据模块就与该数据模块所在的存储节点的海量存储模块通信以寻找数据。另外,第一存储节点242和第二存储节点244均包括操作系统。操作系统能够为任何类型,诸如任何Unix或者类似于Unix的操作系统或者专有/非专有操作系统。任何存 储节点的每个操作系统的功能在于管理任何存储节点的所有硬件和软件资源。应该理解,能够实现接模块和数据模块的功能的一

16、些或者全部功能能够在操作系统内工作。然而,为了由图2B显示的例子的目的,接模块和数据模块在操作系统的外部工作。特别地,图2C是示出了根据本发明实施例的存储节点的数据模块222的图。数据模块222包括提取模块250和至少个方针270。提取模块250确定是否改变数据预取方针,诸如方针270。另外,提取模块250能够根据能够由用户、系统管理员等确定的数据预取策略执行这些方针改变。具体地讲,管理员可建立方针,诸如执行数据块读,包括查找到的数据连同该数据周围的100KB的块。随着时间过去,通过执行本发明的实施例,方针也许能够改变以读取查找到的数据块周围的更多或更少的数据。或者,通过监测多久一次从特定卷检索数据的历史,能够由数据模块222改变方针270。例如,该历史可保存在由数据模块222在存储器中保持的日志或数据库中。具体地讲,在一个实施例中,日志能够是代表已在读操作期间访问的数据块的页的位图。这些页能够是存储在HMC中的页并且是已满足的数据读操作的记录。纯粹作为例子,位图至少为DRAM的大小。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号