不同粒度的分层缓存和迁移的制作方法
【技术领域】
[0001] 本发明一般涉及计算机,更具体地涉及用于在计算存储环境中迀移和缓存数据段 (datasegments)的机制。
【背景技术】
[0002] 在当今社会,计算机系统是常见的。计算机系统可以用于计算领域中,其中"高速 缓存器(cache) "通常指用于存储最近被访问过的、经常被访问的或者很可能在将来被访问 的数据或指令的、小的闪存或者存储设备。从缓存读取或者向缓存写入通常比访问其他存 储器或存储设备更便宜(就访问时间和/或资源利用率而言)。一旦数据被存储在缓存器 中,就可以在缓存器访问数据,而不要重新取得和/或重新计算数据,节省了时间和资源。
【发明内容】
[0003] 可以以多级高速缓存器的方式提供高速缓存器。例如,高速缓存系统可以包括"初 级"和"次级"高速缓存器两者。当读取数据时,计算系统或设备可以首先在初级高速缓存 器中查找该数据,并且如果该数据不存在,则在次级高速缓存器中查找该数据。如果任一 高速缓存器中都不存在该数据,则计算系统或设备可以从盘驱动器或者其他存储设备取回 数据。当写数据时,计算系统或设备可以将数据写到初级高速缓存器。该数据最终被降级 (destage)到次级高速缓存器或者存储设备以在初级高速缓存器中让出空间。
[0004] 计算机系统中的存储环境可以包括所谓的分层(tiered)存储架构,其可以包括 各种存储介质,比如企业硬盘驱动器(HDD)、串行高级技术附件(SATA)盘驱动器、固态驱动 器(SSD)、带驱动器和其他设备。数据可以在这样的设备之间迀移。在适当的介质中放置某 些种类的数据可以极大地增强存储环境的整体性能。
[0005] 在这样的分层存储架构中,可以实现改进使得可以使用分层存储机制迀移某些数 据段,而其他数据段可以利用次级超高速缓存器,或反之亦然,或二者兼有。以此方式,可以 进一步增强存储环境的整体性能。
[0006] 在这种利用上述的"混合"迀移和缓存机制的分层存储架构中,需要有适应缓存和 分层存储架构之间的各种存储组织(卷(volume)、池、等等)的有效手段,以便在大的数据 "块(clumps) "变"热"时实现最优性能。
[0007] 因而,鉴于以上情况,提供了用于处理器设备在计算存储环境中的数据处理的各 种示例方法、系统和计算机程序产品实施例,该计算存储环境至少含有高速的和较低速的 高速缓存器以及分层的存储级。在一个实施例中,仅作为举例,以这样的方式在所述分层的 存储级之间迀移成组的数据段,即迀移各组数据段中均匀地热的数据段以使用所述分层的 存储级中的固态驱动器(SSD)部分,迀移各组数据段中成块地热的数据段以使用所述SSD 部分,与此同时将较低速的高速缓存器用于所述成块地热的数据段的剩余部分;迀移各组 数据段中稀疏地热的数据段以使用所述较低速的高速缓存器,与此同时将所述分层的存储 级中较低级的存储器用于所述稀疏地热的数据段的剩余部分。
[0008] 除了上述的示例实施例之外,提供了各种其他的系统和计算机程序产品实施例, 并且它们带来了相关的优点。提供以上概要来以简化的形式有选择地介绍一些以下在具体 实施方式中进一步描述的概念。该概要不意图确定要求保护的主题的关键特征或重要特 征,也不意图被用来帮助确定要求保护的主题的范围。要求保护的主题不限于解决了在背 景中所述任何或所有缺点的实现方式。
【附图说明】
[0009] 为了使本发明的优点容易理解,将参考在附图中例示的具体实施例而呈现对以上 简要描述的本发明的更具体的描述。可以理解,这些附图绘出了本发明的实施例,并不因此 被认为是对其范围的限制,将通过使用附图以另外的特性和细节描述和说明本发明,附图 中:
[0010] 图1是示出其中可以实现根据本发明的机制的示例的分层存储环境的高级框图;
[0011] 图2是示出其中可以实现根据本发明的机制的示例的存储系统的高级框图;
[0012] 图3是示出根据本发明的多级高速缓存的一个实施例的高级框图;
[0013]图4是示出根据本发明的一个实施例的稀疏地提供用于快闪缓存的存储空间同 时在快闪缓存和分层存储架构之间共享扩展池(extentpool)以改进存储迀移性能的示例 方法的流程图;
[0014]图5是示出也是根据本发明的一个实施例的与快闪缓存和分层存储架构组合使 用不同粒度热地图来改进存储迀移性能的示例方法的流程图;以及
[0015] 图6是示出结合先前在图4和图5中所示的示例方法释放快闪高速缓存空间 (space) /垃圾收集的示例方法的流程图。
【具体实施方式】
[0016] 在一个示例的分层存储环境中,数据段的迀移通常可以以大的粒度操作。为此,至 少部分地基于经过大的间隔收集的统计而迀移大的(例如1吉字节(GB))的数据块。在这 样的分层系统中,如果确定一个数据段的范围(extent)是"热的"(例如由于对数据段的读 或写而引起的大量命中(hit)),则可以迀移该数据段。
[0017]或者,与分层机制进行的大粒度操作相反,次级高速缓存器或者"快闪缓存"可以 以较小的粒度(例如64千字节(KB)的轨迹(track))对数据段操作,并且当轨迹从初级 (即动态只读存储器ORAM))缓存器降级时将轨迹缓存在闪存上。
[0018] 分层存储可能有益于缓存均匀地热的数据,"快闪缓存"可能有益于缓存稀疏地热 的数据,;然而有些情况可能会出现,在这些情况中数据段的大块可能是热的。存在对一种 得以有效地适应这种情况的机制的需要。
[0019] 为了实现这种适应,示例性的实施例提供了增加用于高速缓存数据段的额外存储 层以及在分层存储(大粒度)、分层存储(中粒度)和快闪缓存(小粒度)之间迀移和共享 数据段的机制。
[0020] 另外,如将进一步描述的,所示的实施例提供了用于用作用于这些不同的粒度的 热地图(heatmaps)来提供计算存储环境中的数据段的迀移和缓存的确定媒介以提供最佳 性能的机制。如将进一步例示的,在这个热地图的语境下,检查各数据段,以确定它们是"均 匀地"、"成块地"还是"稀疏地"热。然后对被确定为均匀地热的那些数据段、被确定为"成 块地"热的那些数据段和被确定为稀疏地热的那些数据段应用不同的缓存和迀移机制。
[0021] 现在转向图1,该图例示了根据某些实施例的分层计算存储环境的框图。计算存储 环境100包括诸如存储系统102的第一计算设备,其耦接到诸如客户端104的一个或多个 计算设备。在某些实施例中,存储系统102和客户端104可以包括任何适当的计算设备,包 括目前本领域中已知的那些设备,比如个人计算机、工作站、主机、中等计算机、网络设施、 掌上计算机、电话设备、刀片计算机、手持计算机等。
[0022] 在一些实施例中,根据本发明的若干方面,存储管理器106,诸如国际商业机器 (IBM?)公司销售的Tivoli?存储管理器? (TSM),可以用于安全地存储和管理数据段。 存储管理器106可以在诸如TSM服务器102存储管理服务器中或别处执行。在一个实施例 中,存储管理器可由所示的处理器设备105操作和/或与处理器设备105共同操作。本领 域普通技术人员将认识到,可以设想处理器105、存储管理器106和相关的另外的处理和/ 或存储器组件的各种其他配置。IBM、Tivoli和Tivoli存储管理器是IBM公司的商标或者 注册商标。
[0023]TSM可以向诸如TSM客户端104a的客户端提供数据存储服务,用于数据的管理。 TSM服务器102可以存储由一个或多个TSM客户端104a、104b发往TSM服务器102的文件。 存储管理器106和/或处理器设备105可以允许系统管理员配置存储池,其中存储池包括 用于存储从TSM客户端104a、104b接收的数据的一组设备。存储池被用作来自TSM客户端 104a、104b的存储操作的目标,在TSM服务器策略和其他构成中有用于处理的附注。
[0024] 如图所示,可以把各种存储设备组织成为存储层级。因此存储层级内的存储媒体 可以被分组为在此称为存储池的数据结构。存储层级可以被组织得对应一个或多个度量, 诸如包括写速度或读速度的性能度量。所示的存储层级108可以被组织为使得该层级的顶 部可以包括高速缓存池110,该高速缓存池110具有最高数量或质量的特定性能的度量。在 高速缓存池110以下,可以按相同、类似或其他度量把多个固态驱动器(SSD)类设备划归各 个SSD池(例如SSD池112和114)。
[0025] 根据所示的实施例的机制,可以将特定性能度量绑定所谓的"热地图"(为了方便 没有示出),后者指示小粒度、中等粒度或大粒度的数据段是否具有某个特性,如将进一